@oceanprotocol/lib 6.1.2 → 7.0.0-next.1

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,4 @@
1
- import e from"@oceanprotocol/contracts/addresses/address.json";import t from"fs";import{parseUnits as r,formatUnits as n,ethers as o,EventLog as i,toUtf8Bytes as s,keccak256 as a,hexlify as c,toUtf8String as u,getAddress as l,parseEther as m,getBytes as h,toBeHex as d}from"ethers";import*as f from"@oasisprotocol/sapphire-paratime";import v from"bignumber.js";import g from"decimal.js";import p from"@oceanprotocol/contracts/artifacts/contracts/pools/dispenser/Dispenser.sol/Dispenser.json";import P from"@oceanprotocol/contracts/artifacts/contracts/pools/fixedRate/FixedRateExchange.sol/FixedRateExchange.json";import y from"@oceanprotocol/contracts/artifacts/contracts/pools/FactoryRouter.sol/FactoryRouter.json";import w from"@oceanprotocol/contracts/artifacts/contracts/templates/ERC20Template.sol/ERC20Template.json";import T from"@oceanprotocol/contracts/artifacts/contracts/templates/ERC20TemplateEnterprise.sol/ERC20TemplateEnterprise.json";import b from"@oceanprotocol/contracts/artifacts/contracts/templates/ERC721Template.sol/ERC721Template.json";import k from"@oceanprotocol/contracts/artifacts/contracts/ERC721Factory.sol/ERC721Factory.json";import E from"@oceanprotocol/contracts/artifacts/contracts/interfaces/IERC20Template.sol/IERC20Template.json";import S from"@oceanprotocol/contracts/artifacts/contracts/templates/ERC20Template4.sol/ERC20Template4.json";import A from"@oceanprotocol/contracts/artifacts/contracts/accesslists/AccessList.sol/AccessList.json";import C from"@oceanprotocol/contracts/artifacts/contracts/accesslists/AccessListFactory.sol/AccessListFactory.json";import F from"@oceanprotocol/contracts/artifacts/contracts/escrow/Escrow.sol/Escrow.json";import j from"@oceanprotocol/contracts/artifacts/contracts/communityFee/EnterpriseFeeCollector.sol/EnterpriseFeeCollector.json";import D from"cross-fetch";import{DDOManager as x}from"@oceanprotocol/ddo-js";import O from"jsonwebtoken";import{PublicKey as M,encrypt as N}from"eciesjs";import R from"crypto-js/sha256.js";import{createHash as U}from"crypto";var I;!function(e){e.AES="AES",e.ECIES="ECIES"}(I||(I={}));var L,_={DOWNLOAD:"download",ENCRYPT:"encrypt",ENCRYPT_FILE:"encryptFile",DECRYPT_DDO:"decryptDDO",GET_DDO:"getDDO",QUERY:"query",NONCE:"nonce",STATUS:"status",DETAILED_STATUS:"detailedStatus",FIND_DDO:"findDDO",GET_FEES:"getFees",FILE_INFO:"fileInfo",VALIDATE_DDO:"validateDDO",COMPUTE_GET_ENVIRONMENTS:"getComputeEnvironments",COMPUTE_START:"startCompute",FREE_COMPUTE_START:"freeStartCompute",COMPUTE_STOP:"stopCompute",COMPUTE_GET_STATUS:"getComputeStatus",COMPUTE_GET_STREAMABLE_LOGS:"getComputeStreamableLogs",COMPUTE_GET_RESULT:"getComputeResult",COMPUTE_INITIALIZE:"initializeCompute",STOP_NODE:"stopNode",REINDEX_TX:"reindexTx",REINDEX_CHAIN:"reindexChain",HANDLE_INDEXING_THREAD:"handleIndexingThread",COLLECT_FEES:"collectFees",POLICY_SERVER_PASSTHROUGH:"PolicyServerPassthrough",GET_P2P_PEER:"getP2PPeer",GET_P2P_PEERS:"getP2PPeers",GET_P2P_NETWORK_STATS:"getP2PNetworkStats",FIND_PEER:"findPeer",CREATE_AUTH_TOKEN:"createAuthToken",INVALIDATE_AUTH_TOKEN:"invalidateAuthToken",FETCH_CONFIG:"fetchConfig",PUSH_CONFIG:"pushConfig",GET_LOGS:"getLogs",JOBS:"jobs"},G=function(){this.nodeUri=void 0,this.providerAddress=void 0,this.oceanNodeUri=void 0,this.web3Provider=void 0,this.oceanTokenAddress=void 0,this.nftFactoryAddress=void 0,this.routerFactoryAddress=void 0,this.datatokensABI=void 0,this.fixedRateExchangeAddress=void 0,this.fixedRateExchangeAddressABI=void 0,this.dispenserAddress=void 0,this.dispenserABI=void 0,this.opfCommunityFeeCollector=void 0,this.EnterpriseFeeCollector=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.explorerUri=void 0,this.oceanTokenSymbol=void 0,this.transactionBlockTimeout=void 0,this.transactionConfirmationBlocks=void 0,this.transactionPollingTimeout=void 0,this.gasFeeMultiplier=void 0,this.sdk=void 0,this.accessListFactory=void 0,this.escrow=void 0};function B(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function z(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={}.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.")}function J(){return J=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)({}).hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},J.apply(null,arguments)}function q(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,W(e,t)}function W(e,t){return W=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},W(e,t)}!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"}(L||(L={}));var H=/*#__PURE__*/function(){function e(e){this.logLevel=void 0,this.logLevel=e,this.logLevel=e||L.Error}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",L.Verbose].concat([].slice.call(arguments)))},t.log=function(){this.dispatch.apply(this,["log",L.Log].concat([].slice.call(arguments)))},t.warn=function(){this.dispatch.apply(this,["warn",L.Warn].concat([].slice.call(arguments)))},t.error=function(){this.dispatch.apply(this,["error",L.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}(),V=new H,K={chainId:null,network:"unknown",nodeUri:"http://127.0.0.1:8545",oceanNodeUri:"http://127.0.0.1:8001",explorerUri:null,oceanTokenAddress:null,oceanTokenSymbol:"OCEAN",fixedRateExchangeAddress:null,dispenserAddress:null,startBlock:0,transactionBlockTimeout:50,transactionConfirmationBlocks:1,transactionPollingTimeout:750,gasFeeMultiplier:1},Z=[J({},K),J({},K,{chainId:8996,network:"development",oceanNodeUri:"http://127.0.0.1:8001",sdk:"evm"}),J({},K,{chainId:11155111,network:"sepolia",nodeUri:"https://sepolia.infura.io/v3",explorerUri:"https://sepolia.etherscan.io",gasFeeMultiplier:1.1,sdk:"evm"}),J({},K,{chainId:1,network:"mainnet",nodeUri:"https://mainnet.infura.io/v3",explorerUri:"https://etherscan.io",startBlock:11105459,transactionBlockTimeout:150,transactionConfirmationBlocks:5,transactionPollingTimeout:1750,gasFeeMultiplier:1.05,sdk:"evm"}),J({},K,{chainId:8453,network:"base",nodeUri:"https://mainnet.base.org",explorerUri:"https://etherscan.io",startBlock:30562198,transactionBlockTimeout:150,transactionConfirmationBlocks:5,transactionPollingTimeout:1750,gasFeeMultiplier:1.05,sdk:"evm"}),J({},K,{chainId:137,network:"polygon",nodeUri:"https://polygon-mainnet.infura.io/v3",explorerUri:"https://polygonscan.com",oceanTokenSymbol:"mOCEAN",gasFeeMultiplier:1.6,sdk:"evm"}),J({},K,{chainId:2021e3,network:"gaiaxtestnet",nodeUri:"https://rpc.gaiaxtestnet.oceanprotocol.com",explorerUri:"https://blockscout.gaiaxtestnet.oceanprotocol.com",sdk:"evm"}),J({},K,{chainId:80001,network:"mumbai",nodeUri:"https://polygon-mumbai.infura.io/v3",explorerUri:"https://mumbai.polygonscan.com",gasFeeMultiplier:1.1,sdk:"evm"}),J({},K,{chainId:56,network:"bsc",nodeUri:"https://bsc-dataseed.binance.org",explorerUri:"https://bscscan.com/",gasFeeMultiplier:1.05,sdk:"evm"}),J({},K,{chainId:246,network:"energyweb",nodeUri:"https://rpc.energyweb.org",explorerUri:"https://explorer.energyweb.org",gasFeeMultiplier:1.05,sdk:"evm"}),J({},K,{chainId:1285,network:"moonriver",nodeUri:"https://moonriver.api.onfinality.io/public",explorerUri:"https://moonriver.moonscan.io/",gasFeeMultiplier:1.05,sdk:"evm"}),J({},K,{chainId:100,network:"gen-x-testnet",nodeUri:"https://rpc.genx.minimal-gaia-x.eu",explorerUri:"https://explorer.genx.minimal-gaia-x.eu/",gasFeeMultiplier:1,sdk:"evm"}),J({},K,{chainId:10,network:"optimism",nodeUri:"https://mainnet.optimism.io",explorerUri:"https://optimistic.etherscan.io/",gasFeeMultiplier:1.1,sdk:"evm"}),J({},K,{chainId:11155420,network:"optimism_sepolia",nodeUri:"https://sepolia.optimism.io",explorerUri:"https://sepolia-optimism.etherscan.io/",gasFeeMultiplier:1.1,sdk:"evm"}),J({},K,{chainId:23294,network:"oasis_sapphire",nodeUri:"https://sapphire.oasis.io",explorerUri:"https://explorer.oasis.io/mainnet/sapphire/",gasFeeMultiplier:1,sdk:"oasis"}),J({},K,{chainId:23295,network:"oasis_sapphire_testnet",nodeUri:"https://testnet.sapphire.oasis.dev",explorerUri:"https://explorer.oasis.io/testnet/sapphire/",gasFeeMultiplier:1,sdk:"oasis"}),J({},K,{chainId:32456,network:"pontus-x-devnet",nodeUri:"https://rpc.dev.pontus-x.eu",explorerUri:"https://explorer.dev.pontus-x.eu/testnet/pontusx",sdk:"evm"})],X=[23294,23295],Y=/*#__PURE__*/function(){function r(){}var n=r.prototype;return n.getAddressesFromEnv=function(t,r){var n,o=function(){return process.env.NODE_URL?{oceanNodeUri:process.env.NODE_URL}:{}};if(r&&r[t]){var i=r[t];n=J({nftFactoryAddress:i.ERC721Factory,opfCommunityFeeCollector:i.OPFCommunityFeeCollector,fixedRateExchangeAddress:i.FixedPrice,dispenserAddress:i.Dispenser,oceanTokenAddress:i.Ocean,routerFactoryAddress:i.Router,chainId:i.chainId,startBlock:i.startBlock,accessListFactory:i.AccessListFactory,escrow:i.Escrow,EnterpriseFeeCollector:i.EnterpriseFeeCollector},o())}else if(e[t]){var s=e[t];n=J({nftFactoryAddress:s.ERC721Factory,opfCommunityFeeCollector:s.OPFCommunityFeeCollector,fixedRateExchangeAddress:s.FixedPrice,dispenserAddress:s.Dispenser,oceanTokenAddress:s.Ocean,routerFactoryAddress:s.Router,chainId:s.chainId,startBlock:s.startBlock,accessListFactory:s.AccessListFactory,escrow:s.Escrow,EnterpriseFeeCollector:s.EnterpriseFeeCollector},o())}return n},n.getConfig=function(e,r){var n,o="string"==typeof e?"network":"chainId",i=Z.find(function(t){return t[o]===e});if(!i)return V.error("No config found for given network '"+e+"'"),null;try{n=process.env.ADDRESS_FILE?JSON.parse(t.readFileSync(process.env.ADDRESS_FILE,"utf8")):null}catch(e){console.log(e),n=null}var s=this.getAddressesFromEnv(i.network,n);return!s&&X.includes(i.chainId)&&(s=this.getAddressesFromEnv(i.network.replace("sapph","saph"),n)),"sdk"in i&&null!==i.sdk||(i.sdk=X.includes(i.chainId)?"oasis":"evm"),s&&"accessListFactory"in s&&(i.accessListFactory=s.accessListFactory),i=J({},i,s),J({},i,{nodeUri:r?i.nodeUri+"/"+r:i.nodeUri})},r}(),$=[{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"}],Q=function(e,t,r,n){try{var o=arguments;return Promise.resolve(t.provider.getNetwork()).then(function(i){var s=i.chainId;return Promise.resolve(t.provider.getFeeData()).then(function(t){var i={};if(t.maxPriorityFeePerGas){var a=t.maxPriorityFeePerGas.toString(),c=t.maxFeePerGas.toString();r>1&&(a=Math.round(Number(t.maxPriorityFeePerGas)*r).toString(),c=Math.round(Number(t.maxFeePerGas)*r).toString()),i={maxPriorityFeePerGas:(Number(s)===ce||Number(s)===ae)&&Number(a)<oe?oe:Number(s)===ue&&Number(a)<ie?ie:X.includes(Number(s))&&Number(a)<se?se:Number(a),maxFeePerGas:(Number(s)===ce||Number(s)===ae)&&Number(c)<oe?oe:Number(s)===ue&&Number(c)<ie?ie:X.includes(Number(s))&&Number(c)<se?se:Number(c)}}else i={gasPrice:t.gasPrice};return i.gasLimit=BigInt(new v(e).plus(20000n).toString()),function(e,t){try{var r=Promise.resolve(n.apply(void 0,[].slice.call(o,4).concat([i]))).then(function(e){return Promise.resolve(e.wait()).then(function(){return e})})}catch(e){return t(e)}return r&&r.then?r.then(void 0,t):r}(0,function(e){return V.error("Send tx error: ",e),null})})})}catch(e){return Promise.reject(e)}},ee=function(e,t,n,o){try{var i=function(e){return"0"===e&&(e=18),r(n,e).toString()};return Promise.resolve(o?i(o):Promise.resolve(re(e,t)).then(i))}catch(e){return Promise.reject(e)}},te=function(e,t,r,o){try{var i=function(e){return"0"===e&&(e=18),n(r,e).toString()};return Promise.resolve(o?i(o):Promise.resolve(re(e,t)).then(i))}catch(e){return Promise.reject(e)}},re=function(e,t){try{var r=new o.Contract(t,$,e);return Promise.resolve(r.decimals())}catch(e){return Promise.reject(e)}},ne=function(e,t){try{return Promise.resolve(e.provider.getFeeData()).then(function(e){var r=BigInt(e.gasPrice.toString());return t?(r*BigInt(t)).toString(10):r.toString()})}catch(e){return Promise.reject(e)}},oe=3e10,ie=4e9,se=1e10,ae=137,ce=80001,ue=11155111;function le(e,t){return e}function me(e,t){if(e&&e.logs)return e.logs.filter(function(e){return e instanceof i&&e.eventName===t})[0]}var he=/*#__PURE__*/function(){function e(e,t,r,n){this.signer=void 0,this.config=void 0,this.abi=void 0,this.signer=e,this.config=r||(new Y).getConfig(t),this.abi=n||this.getDefaultAbi()}var t=e.prototype;return t.getSignerAccordingSdk=function(){return this.config&&"sdk"in this.config&&"oasis"===this.config.sdk?f.wrap(this.signer):this.signer},t.amountToUnits=function(e,t,r){try{return Promise.resolve(ee(this.signer,e,t,r))}catch(e){return Promise.reject(e)}},t.unitsToAmount=function(e,t,r){try{return Promise.resolve(te(this.signer,e,t,r))}catch(e){return Promise.reject(e)}},t.getFairGasPrice=function(){try{var e;return Promise.resolve(ne(this.signer,null==(e=this.config)?void 0:e.gasFeeMultiplier))}catch(e){return Promise.reject(e)}},t.getContract=function(e,t){if(!e)throw new Error("Contract address is required but not provided");return le(new o.Contract(e,new o.Interface(JSON.stringify(t||this.abi)),this.signer))},e}(),de=/*#__PURE__*/function(e){function t(t,r,n,o,i){var s;return(s=e.call(this,r,n,o,i)||this).address=void 0,s.contract=void 0,s.address=t,s.contract=s.getContract(s.address),s}return q(t,e),t}(he),fe=/*#__PURE__*/function(e){function t(){return e.apply(this,arguments)||this}q(t,e);var r=t.prototype;return r.getDefaultAbi=function(){return p.abi},r.status=function(e){try{var t=this;return Promise.resolve(t.contract.status(e)).then(function(e){if(!e)throw new Error("Np dispenser found for the given datatoken address");var r=e.isMinter,n=e.owner,o=e.active;return Promise.resolve(t.unitsToAmount(null,e.maxTokens,18)).then(function(i){return Promise.resolve(t.unitsToAmount(null,e.maxBalance,18)).then(function(s){return Promise.resolve(t.unitsToAmount(null,e.balance,18)).then(function(t){return{active:o,owner:n,isMinter:r,maxTokens:i,maxBalance:s,balance:t,allowedSwapper:e.allowedSwapper}})})})})}catch(e){return Promise.reject(e)}},r.create=function(e,t,r,n,o,i){try{var s=this;return Promise.resolve(s.contract.create.estimateGas(e,s.amountToUnits(null,r,18),s.amountToUnits(null,n,18),t,o)).then(function(a){var c;return i?a:Promise.resolve(Q(a,s.getSignerAccordingSdk(),null==(c=s.config)?void 0:c.gasFeeMultiplier,s.contract.create,e,s.amountToUnits(null,r,18),s.amountToUnits(null,n,18),t,o))})}catch(e){return Promise.reject(e)}},r.activate=function(e,t,r,n){try{var o=this;return Promise.resolve(o.contract.activate.estimateGas(e,o.amountToUnits(null,t,18),o.amountToUnits(null,r,18))).then(function(i){var s;return n?i:Promise.resolve(Q(i,o.getSignerAccordingSdk(),null==(s=o.config)?void 0:s.gasFeeMultiplier,o.contract.activate,e,o.amountToUnits(null,t,18),o.amountToUnits(null,r,18)))})}catch(e){return Promise.reject(e)}},r.deactivate=function(e,t){try{var r=this;return Promise.resolve(r.contract.deactivate.estimateGas(e)).then(function(n){var o;return t?n:Promise.resolve(Q(n,r.getSignerAccordingSdk(),null==(o=r.config)?void 0:o.gasFeeMultiplier,r.contract.deactivate,e))})}catch(e){return Promise.reject(e)}},r.setAllowedSwapper=function(e,t,r){try{var n=this;return Promise.resolve(n.contract.setAllowedSwapper.estimateGas(e,t)).then(function(o){var i;return r?o:Promise.resolve(Q(o,n.getSignerAccordingSdk(),null==(i=n.config)?void 0:i.gasFeeMultiplier,n.contract.setAllowedSwapper,e,t))})}catch(e){return Promise.reject(e)}},r.dispense=function(e,t,r,n){void 0===t&&(t="1");try{var o=this;return Promise.resolve(o.contract.dispense.estimateGas(e,o.amountToUnits(null,t,18),r)).then(function(i){var s;return n?i:Promise.resolve(Q(i,o.getSignerAccordingSdk(),null==(s=o.config)?void 0:s.gasFeeMultiplier,o.contract.dispense,e,o.amountToUnits(null,t,18),r))})}catch(e){return Promise.reject(e)}},r.ownerWithdraw=function(e,t){try{var r=this;return Promise.resolve(r.contract.ownerWithdraw.estimateGas(e)).then(function(n){var o;return t?n:Promise.resolve(Q(n,r.getSignerAccordingSdk(),null==(o=r.config)?void 0:o.gasFeeMultiplier,r.contract.ownerWithdraw,e))})}catch(e){return Promise.reject(e)}},r.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 g(e).greaterThanOrEqualTo(o.maxBalance)||new g(String(n)).greaterThan(o.maxTokens)||!new g(o.balance).greaterThanOrEqualTo(n)&&!0!==o.isMinter)})})}catch(e){return Promise.reject(e)}},t}(de),ve="0x0000000000000000000000000000000000000000",ge=1e6,pe="115792089237316195423570985008687907853269984665640564039457584007913129639934",Pe="Returned error: Method eth_feeHistory not supported.",ye=/*#__PURE__*/function(e){function t(){return e.apply(this,arguments)||this}q(t,e);var r=t.prototype;return r.getDefaultAbi=function(){return P.abi},r.generateExchangeId=function(e,t){try{return Promise.resolve(this.contract.generateExchangeId(e,t))}catch(e){return Promise.reject(e)}},r.buyDatatokens=function(e,t,r,n,o,i){void 0===n&&(n=ve),void 0===o&&(o="0");try{var s=this;return Promise.resolve(s.getExchange(e)).then(function(a){return Promise.resolve(s.amountToUnits(null,o,18)).then(function(o){return Promise.resolve(s.amountToUnits(a.datatoken,t,Number(a.dtDecimals))).then(function(t){return Promise.resolve(s.amountToUnits(a.baseToken,r,Number(a.btDecimals))).then(function(r){return Promise.resolve(s.contract.buyDT.estimateGas(e,t,r,n,o)).then(function(a){var c;return i?a:Promise.resolve(Q(a,s.getSignerAccordingSdk(),null==(c=s.config)?void 0:c.gasFeeMultiplier,s.contract.buyDT,e,t,r,n,o))})})})})})}catch(e){return Promise.reject(e)}},r.sellDatatokens=function(e,t,r,n,o,i){void 0===n&&(n=ve),void 0===o&&(o="0");try{var s=this;return Promise.resolve(s.getExchange(e)).then(function(a){return Promise.resolve(s.amountToUnits(null,o,18)).then(function(o){return Promise.resolve(s.amountToUnits(a.datatoken,t,Number(a.dtDecimals))).then(function(t){return Promise.resolve(s.amountToUnits(a.baseToken,r,Number(a.btDecimals))).then(function(r){return Promise.resolve(s.contract.sellDT.estimateGas(e,t,r,n,o)).then(function(a){var c;return i?a:Promise.resolve(Q(a,s.getSignerAccordingSdk(),null==(c=s.config)?void 0:c.gasFeeMultiplier,s.contract.sellDT,e,t,r,n,o))})})})})})}catch(e){return Promise.reject(e)}},r.getNumberOfExchanges=function(){try{return Promise.resolve(this.contract.getNumberOfExchanges()).then(Number)}catch(e){return Promise.reject(e)}},r.setRate=function(e,t,r){try{var n=this,o=n.contract.setRate,i=o.estimateGas;return Promise.resolve(n.amountToUnits(null,t,18)).then(function(s){return Promise.resolve(i.call(o,e,s)).then(function(o){var i;if(r)return o;var s=n.contract.setRate,a=null==(i=n.config)?void 0:i.gasFeeMultiplier,c=n.getSignerAccordingSdk();return Promise.resolve(n.amountToUnits(null,t,18)).then(function(t){return Promise.resolve(Q(o,c,a,s,e,t))})})})}catch(e){return Promise.reject(e)}},r.setAllowedSwapper=function(e,t,r){try{var n=this;return Promise.resolve(n.contract.setAllowedSwapper.estimateGas(e,t)).then(function(o){var i;return r?o:Promise.resolve(Q(o,n.getSignerAccordingSdk(),null==(i=n.config)?void 0:i.gasFeeMultiplier,n.contract.setAllowedSwapper,e,t))})}catch(e){return Promise.reject(e)}},r.activate=function(e,t){try{var r=this;return Promise.resolve(r.getExchange(e)).then(function(n){return n?!0===n.active?null:Promise.resolve(r.contract.toggleExchangeState.estimateGas(e)).then(function(n){var o;return t?n:Promise.resolve(Q(n,r.getSignerAccordingSdk(),null==(o=r.config)?void 0:o.gasFeeMultiplier,r.contract.toggleExchangeState,e))}):null})}catch(e){return Promise.reject(e)}},r.deactivate=function(e,t){try{var r=this;return Promise.resolve(r.getExchange(e)).then(function(n){return n?!1===n.active?null:Promise.resolve(r.contract.toggleExchangeState.estimateGas(e)).then(function(n){var o;return t?n:Promise.resolve(Q(n,r.getSignerAccordingSdk(),null==(o=r.config)?void 0:o.gasFeeMultiplier,r.contract.toggleExchangeState,e))}):null})}catch(e){return Promise.reject(e)}},r.getRate=function(e){try{var t=this;return Promise.resolve(t.contract.getRate(e)).then(function(e){return Promise.resolve(t.unitsToAmount(null,e,18))})}catch(e){return Promise.reject(e)}},r.getDatatokenSupply=function(e){try{var t=this;return Promise.resolve(t.contract.getDTSupply(e)).then(function(r){return Promise.resolve(t.getExchange(e)).then(function(e){return Promise.resolve(t.unitsToAmount(e.datatoken,r,Number(e.dtDecimals)))})})}catch(e){return Promise.reject(e)}},r.getBasetokenSupply=function(e){try{var t=this;return Promise.resolve(t.contract.getBTSupply(e)).then(function(r){return Promise.resolve(t.getExchange(e)).then(function(e){return Promise.resolve(t.unitsToAmount(e.baseToken,r,Number(e.btDecimals)))})})}catch(e){return Promise.reject(e)}},r.getAllowedSwapper=function(e){try{return Promise.resolve(this.contract.getAllowedSwapper(e))}catch(e){return Promise.reject(e)}},r.calcBaseInGivenDatatokensOut=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.contract,s=i.calcBaseInGivenOutDT;return Promise.resolve(n.amountToUnits(o.datatoken,t,Number(o.dtDecimals))).then(function(t){return Promise.resolve(n.amountToUnits(null,r,18)).then(function(r){return Promise.resolve(s.call(i,e,t,r)).then(function(e){return Promise.resolve(n.unitsToAmount(o.baseToken,e.baseTokenAmount,Number(o.btDecimals))).then(function(t){return Promise.resolve(n.unitsToAmount(o.baseToken,e.publishMarketFeeAmount,Number(o.btDecimals))).then(function(r){return Promise.resolve(n.unitsToAmount(o.baseToken,e.oceanFeeAmount,Number(o.btDecimals))).then(function(i){return Promise.resolve(n.unitsToAmount(o.baseToken,e.consumeMarketFeeAmount,Number(o.btDecimals))).then(function(e){return{baseTokenAmount:t,marketFeeAmount:r,oceanFeeAmount:i,consumeMarketFeeAmount:e}})})})})})})})})}catch(e){return Promise.reject(e)}},r.getAmountBasetokensOut=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.contract,s=i.calcBaseOutGivenInDT;return Promise.resolve(n.amountToUnits(o.datatoken,t,Number(o.dtDecimals))).then(function(t){return Promise.resolve(n.amountToUnits(null,r,18)).then(function(r){return Promise.resolve(s.call(i,e,t,r)).then(function(e){return Promise.resolve(n.unitsToAmount(o.baseToken,e[0],Number(o.btDecimals)))})})})})}catch(e){return Promise.reject(e)}},r.getExchange=function(e){try{var t=this;return Promise.resolve(t.contract.getExchange(e)).then(function(r){var n=r.btDecimals.toString(),o=r.dtDecimals.toString(),i=r.allowedSwapper,s=r.exchangeOwner,a=r.withMint,c=r.baseToken,u=r.datatoken,l=r.active;return Promise.resolve(t.unitsToAmount(r.datatoken,r.dtBalance,Number(r.dtDecimals))).then(function(m){return Promise.resolve(t.unitsToAmount(r.baseToken,r.btBalance,Number(r.btDecimals))).then(function(h){return Promise.resolve(t.unitsToAmount(r.datatoken,r.dtSupply,Number(r.dtDecimals))).then(function(d){return Promise.resolve(t.unitsToAmount(r.baseToken,r.btSupply,Number(r.btDecimals))).then(function(f){return Promise.resolve(t.unitsToAmount(null,r.fixedRate,18)).then(function(t){return{active:l,datatoken:u,baseToken:c,withMint:a,exchangeOwner:s,allowedSwapper:i,dtDecimals:o,btDecimals:n,dtBalance:m,btBalance:h,dtSupply:d,btSupply:f,fixedRate:t,exchangeId:e}})})})})})})}catch(e){return Promise.reject(e)}},r.getFeesInfo=function(e){try{var t=this;return Promise.resolve(t.contract.getFeesInfo(e)).then(function(r){return Promise.resolve(t.getExchange(e)).then(function(n){return Promise.resolve(t.unitsToAmount(null,r.opcFee.toString(),18)).then(function(o){return Promise.resolve(t.unitsToAmount(null,r.marketFee.toString(),18)).then(function(i){var s=r.marketFeeCollector;return Promise.resolve(t.unitsToAmount(n.baseToken,r.marketFeeAvailable,Number(n.btDecimals))).then(function(a){return Promise.resolve(t.unitsToAmount(n.baseToken,r.oceanFeeAvailable,Number(n.btDecimals))).then(function(t){return{opcFee:o,marketFee:i,marketFeeCollector:s,marketFeeAvailable:a,oceanFeeAvailable:t,exchangeId:e}})})})})})})}catch(e){return Promise.reject(e)}},r.getExchanges=function(){try{return Promise.resolve(this.contract.getExchanges())}catch(e){return Promise.reject(e)}},r.isActive=function(e){try{return Promise.resolve(this.contract.isActive(e))}catch(e){return Promise.reject(e)}},r.activateMint=function(e,t){try{var r=this;return Promise.resolve(r.getExchange(e)).then(function(n){return n?!0===n.withMint?null:Promise.resolve(r.contract.toggleMintState.estimateGas(e,!0)).then(function(n){var o;return t?n:Promise.resolve(Q(n,r.getSignerAccordingSdk(),null==(o=r.config)?void 0:o.gasFeeMultiplier,r.contract.toggleMintState,e,!0))}):null})}catch(e){return Promise.reject(e)}},r.deactivateMint=function(e,t){try{var r=this;return Promise.resolve(r.getExchange(e)).then(function(n){return n?!1===n.withMint?null:Promise.resolve(r.contract.toggleMintState.estimateGas(e,!1)).then(function(n){var o;return t?n:Promise.resolve(Q(n,r.getSignerAccordingSdk(),null==(o=r.config)?void 0:o.gasFeeMultiplier,r.contract.toggleMintState,e,!1))}):null})}catch(e){return Promise.reject(e)}},r.collectBasetokens=function(e,t,r){try{var n=this;return Promise.resolve(n.getExchange(e)).then(function(o){return o?Promise.resolve(n.contract.getExchange(e)).then(function(o){return Promise.resolve(n.amountToUnits(o.baseToken,t,Number(o.btDecimals))).then(function(t){return Promise.resolve(n.contract.collectBT.estimateGas(e,t)).then(function(o){var i;return r?o:Promise.resolve(Q(o,n.getSignerAccordingSdk(),null==(i=n.config)?void 0:i.gasFeeMultiplier,n.contract.collectBT,e,t))})})}):null})}catch(e){return Promise.reject(e)}},r.collectDatatokens=function(e,t,r){try{var n=this;return Promise.resolve(n.getExchange(e)).then(function(o){return o?Promise.resolve(n.contract.getExchange(e)).then(function(o){return Promise.resolve(n.amountToUnits(o.datatoken,t,Number(o.dtDecimals))).then(function(t){return Promise.resolve(n.contract.collectDT.estimateGas(e,t)).then(function(o){var i;return r?o:Promise.resolve(Q(o,n.getSignerAccordingSdk(),null==(i=n.config)?void 0:i.gasFeeMultiplier,n.contract.collectDT,e,t))})})}):null})}catch(e){return Promise.reject(e)}},r.collectMarketFee=function(e,t){try{var r=this;return Promise.resolve(r.getExchange(e)).then(function(n){return n?Promise.resolve(r.contract.collectMarketFee.estimateGas(e)).then(function(n){var o;return t?n:Promise.resolve(Q(n,r.getSignerAccordingSdk(),null==(o=r.config)?void 0:o.gasFeeMultiplier,r.contract.collectMarketFee,e))}):null})}catch(e){return Promise.reject(e)}},r.collectOceanFee=function(e,t){try{var r=this;return Promise.resolve(r.getExchange(e)).then(function(n){return n?Promise.resolve(r.contract.collectOceanFee.estimateGas(e)).then(function(n){var o;return t?n:Promise.resolve(Q(n,r.getSignerAccordingSdk(),null==(o=r.config)?void 0:o.gasFeeMultiplier,r.contract.collectOceanFee,e))}):null})}catch(e){return Promise.reject(e)}},r.getOPCCollector=function(){try{return Promise.resolve(this.contract.opcCollector())}catch(e){return Promise.reject(e)}},r.getRouter=function(){try{return Promise.resolve(this.contract.router())}catch(e){return Promise.reject(e)}},r.getExchangeOwner=function(e){try{return Promise.resolve(this.getExchange(e)).then(function(e){return e.exchangeOwner})}catch(e){return Promise.reject(e)}},r.updateMarketFee=function(e,t,r){try{var n=this,o=n.contract.updateMarketFee,i=o.estimateGas;return Promise.resolve(n.amountToUnits(null,t,18)).then(function(s){return Promise.resolve(i.call(o,e,s)).then(function(o){var i;if(r)return o;var s=n.contract.updateMarketFee,a=null==(i=n.config)?void 0:i.gasFeeMultiplier,c=n.getSignerAccordingSdk();return Promise.resolve(n.amountToUnits(null,t,18)).then(function(t){return Promise.resolve(Q(o,c,a,s,e,t))})})})}catch(e){return Promise.reject(e)}},r.updateMarketFeeCollector=function(e,t,r){try{var n=this;return Promise.resolve(n.contract.updateMarketFeeCollector.estimateGas(e,t)).then(function(o){var i;return r?o:Promise.resolve(Q(o,n.getSignerAccordingSdk(),null==(i=n.config)?void 0:i.gasFeeMultiplier,n.contract.updateMarketFeeCollector,e,t))})}catch(e){return Promise.reject(e)}},t}(de),we=/*#__PURE__*/function(e){function t(){return e.apply(this,arguments)||this}q(t,e);var r=t.prototype;return r.getDefaultAbi=function(){return y.abi},r.buyDatatokenBatch=function(e,t){try{var r=this;return Promise.resolve(r.contract.buyDTBatch.estimateGas(e)).then(function(n){var o;return t?n:Promise.resolve(Q(n,r.getSignerAccordingSdk(),null==(o=r.config)?void 0:o.gasFeeMultiplier,r.contract.buyDTBatch,e))})}catch(e){return Promise.reject(e)}},r.isApprovedToken=function(e){try{return Promise.resolve(this.contract.isApprovedToken(e))}catch(e){return Promise.reject(e)}},r.isFixedPrice=function(e){try{return Promise.resolve(this.contract.isFixedRateContract(e))}catch(e){return Promise.reject(e)}},r.getOwner=function(){try{return Promise.resolve(this.contract.routerOwner())}catch(e){return Promise.reject(e)}},r.getNFTFactory=function(){try{return Promise.resolve(this.contract.factory())}catch(e){return Promise.reject(e)}},r.addApprovedToken=function(e,t,r){try{var n=this;return Promise.resolve(n.getOwner()).then(function(o){if(o!==e)throw new Error("Caller is not Router Owner");return Promise.resolve(n.contract.addApprovedToken.estimateGas(t)).then(function(e){var o;return r?e:Promise.resolve(Q(e,n.getSignerAccordingSdk(),null==(o=n.config)?void 0:o.gasFeeMultiplier,n.contract.addApprovedToken,t))})})}catch(e){return Promise.reject(e)}},r.removeApprovedToken=function(e,t,r){try{var n=this;return Promise.resolve(n.getOwner()).then(function(o){if(o!==e)throw new Error("Caller is not Router Owner");return Promise.resolve(n.contract.removeApprovedToken.estimateGas(t)).then(function(e){var o;return r?e:Promise.resolve(Q(e,n.getSignerAccordingSdk(),null==(o=n.config)?void 0:o.gasFeeMultiplier,n.contract.removeApprovedToken,t))})})}catch(e){return Promise.reject(e)}},r.addFixedRateContract=function(e,t,r){try{var n=this;return Promise.resolve(n.getOwner()).then(function(o){if(o!==e)throw new Error("Caller is not Router Owner");return Promise.resolve(n.contract.addFixedRateContract.estimateGas(t)).then(function(e){var o;return r?e:Promise.resolve(Q(e,n.getSignerAccordingSdk(),null==(o=n.config)?void 0:o.gasFeeMultiplier,n.contract.addFixedRateContract,t))})})}catch(e){return Promise.reject(e)}},r.removeFixedRateContract=function(e,t,r){try{var n=this;return Promise.resolve(n.getOwner()).then(function(o){if(o!==e)throw new Error("Caller is not Router Owner");return Promise.resolve(n.contract.removeFixedRateContract.estimateGas(t)).then(function(e){var o;return r?e:Promise.resolve(Q(e,n.getSignerAccordingSdk(),null==(o=n.config)?void 0:o.gasFeeMultiplier,n.contract.removeFixedRateContract,t))})})}catch(e){return Promise.reject(e)}},r.addDispenserContract=function(e,t,r){try{var n=this;return Promise.resolve(n.getOwner()).then(function(o){if(o!==e)throw new Error("Caller is not Router Owner");return Promise.resolve(n.contract.addDispenserContract.estimateGas(t)).then(function(e){var o;return r?e:Promise.resolve(Q(e,n.getSignerAccordingSdk(),null==(o=n.config)?void 0:o.gasFeeMultiplier,n.contract.addDispenserContract,t))})})}catch(e){return Promise.reject(e)}},r.removeDispenserContract=function(e,t,r){try{var n=this;return Promise.resolve(n.getOwner()).then(function(o){if(o!==e)throw new Error("Caller is not Router Owner");return Promise.resolve(n.contract.removeDispenserContract.estimateGas(t)).then(function(e){var o;return r?e:Promise.resolve(Q(e,n.getSignerAccordingSdk(),null==(o=n.config)?void 0:o.gasFeeMultiplier,n.contract.removeDispenserContract,t))})})}catch(e){return Promise.reject(e)}},r.getOPCFee=function(e){try{return Promise.resolve(this.contract.getOPCFee(e)).then(Number)}catch(e){return Promise.reject(e)}},r.getCurrentOPCFee=function(){try{return Promise.resolve(this.contract.swapOceanFee()).then(Number)}catch(e){return Promise.reject(e)}},r.updateOPCFee=function(e,t,r,n,o,i){try{var s=this;return Promise.resolve(s.getOwner()).then(function(a){if(a!==e)throw new Error("Caller is not Router Owner");return Promise.resolve(s.contract.updateOPCFee.estimateGas(t,r,n,o)).then(function(e){var a;return i?e:Promise.resolve(Q(e,s.getSignerAccordingSdk(),null==(a=s.config)?void 0:a.gasFeeMultiplier,s.contract.updateOPCFee,t,r,n,o))})})}catch(e){return Promise.reject(e)}},t}(de),Te={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 be(e){var t=e||Te,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}}function ke(e,t){try{var r=e()}catch(e){return t(e)}return r&&r.then?r.then(void 0,t):r}var Ee=/*#__PURE__*/function(e){function t(){return e.apply(this,arguments)||this}q(t,e);var r=t.prototype;return r.getDefaultAbi=function(){return k.abi},r.createNFT=function(e,t){try{var r=this;if(e.templateIndex||(e.templateIndex=1),!e.name||!e.symbol){var n=be(),o=n.symbol;e.name=n.name,e.symbol=o}var i=e.templateIndex;return Promise.resolve(r.getCurrentNFTTemplateCount()).then(function(n){if(i>n)throw new Error("Template index doesnt exist");if(0===e.templateIndex)throw new Error("Template index cannot be ZERO");return Promise.resolve(r.getNFTTemplate(e.templateIndex)).then(function(n){if(!1===n.isActive)throw new Error("Template is not active");return Promise.resolve(r.contract.deployERC721Contract.estimateGas(e.name,e.symbol,e.templateIndex,ve,ve,e.tokenURI,e.transferable,e.owner)).then(function(n){return t?n:ke(function(){var t;return Promise.resolve(Q(n,r.getSignerAccordingSdk(),null==(t=r.config)?void 0:t.gasFeeMultiplier,r.contract.deployERC721Contract,e.name,e.symbol,e.templateIndex,ve,ve,e.tokenURI,e.transferable,e.owner)).then(function(e){if(!e){var t="Tx for deploying new NFT contract does not exist or status is not successful.";throw console.error(t),t}return Promise.resolve(e.wait()).then(function(e){return me(e,"NFTCreated").args[0]})})},function(e){console.error("Creation of NFT failed: "+e)})})})})}catch(e){return Promise.reject(e)}},r.getCurrentNFTCount=function(){try{return Promise.resolve(this.contract.getCurrentNFTCount()).then(Number)}catch(e){return Promise.reject(e)}},r.getCurrentTokenCount=function(){try{return Promise.resolve(this.contract.getCurrentTokenCount()).then(Number)}catch(e){return Promise.reject(e)}},r.getOwner=function(){try{return Promise.resolve(this.contract.owner())}catch(e){return Promise.reject(e)}},r.getCurrentNFTTemplateCount=function(){try{return Promise.resolve(this.contract.getCurrentNFTTemplateCount()).then(Number)}catch(e){return Promise.reject(e)}},r.getCurrentTokenTemplateCount=function(){try{return Promise.resolve(this.contract.getCurrentTemplateCount()).then(Number)}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.contract.getNFTTemplate(e))})}catch(e){return Promise.reject(e)}},r.getTokenTemplate=function(e){try{return Promise.resolve(this.contract.getTokenTemplate(e))}catch(e){return Promise.reject(e)}},r.checkDatatoken=function(e){try{return Promise.resolve(this.contract.erc20List(e))}catch(e){return Promise.reject(e)}},r.checkNFT=function(e){try{return Promise.resolve(this.contract.erc721List(e))}catch(e){return Promise.reject(e)}},r.addNFTTemplate=function(e,t,r){try{var n=this;return Promise.resolve(n.getOwner()).then(function(o){if(o!==e)throw new Error("Caller is not Factory Owner");if(t===ve)throw new Error("Template cannot be ZERO address");return Promise.resolve(n.contract.add721TokenTemplate.estimateGas(t)).then(function(e){var o;return r?e:Promise.resolve(Q(e,n.getSignerAccordingSdk(),null==(o=n.config)?void 0:o.gasFeeMultiplier,n.contract.add721TokenTemplate,t))})})}catch(e){return Promise.reject(e)}},r.disableNFTTemplate=function(e,t,r){try{var n=this;return Promise.resolve(n.getOwner()).then(function(o){if(o!==e)throw new Error("Caller is not Factory Owner");return Promise.resolve(n.getCurrentNFTTemplateCount()).then(function(e){if(t>e)throw new Error("Template index doesnt exist");if(0===t)throw new Error("Template index cannot be ZERO");return Promise.resolve(n.contract.disable721TokenTemplate.estimateGas(t)).then(function(e){var o;return r?e:Promise.resolve(Q(e,n.getSignerAccordingSdk(),null==(o=n.config)?void 0:o.gasFeeMultiplier,n.contract.disable721TokenTemplate,t))})})})}catch(e){return Promise.reject(e)}},r.reactivateNFTTemplate=function(e,t,r){try{var n=this;return Promise.resolve(n.getOwner()).then(function(o){if(o!==e)throw new Error("Caller is not Factory Owner");return Promise.resolve(n.getCurrentNFTTemplateCount()).then(function(e){if(t>e)throw new Error("Template index doesnt exist");if(0===t)throw new Error("Template index cannot be ZERO");return Promise.resolve(n.contract.reactivate721TokenTemplate.estimateGas(t)).then(function(e){var o;return r?e:Promise.resolve(Q(e,n.getSignerAccordingSdk(),null==(o=n.config)?void 0:o.gasFeeMultiplier,n.contract.reactivate721TokenTemplate,t))})})})}catch(e){return Promise.reject(e)}},r.addTokenTemplate=function(e,t,r){try{var n=this;return Promise.resolve(n.getOwner()).then(function(o){if(o!==e)throw new Error("Caller is not Factory Owner");if(t===ve)throw new Error("Template cannot be address ZERO");return Promise.resolve(n.contract.addTokenTemplate.estimateGas(t)).then(function(e){var o;return r?e:Promise.resolve(Q(e,n.getSignerAccordingSdk(),null==(o=n.config)?void 0:o.gasFeeMultiplier,n.contract.addTokenTemplate,t))})})}catch(e){return Promise.reject(e)}},r.disableTokenTemplate=function(e,t,r){try{var n=this;return Promise.resolve(n.getOwner()).then(function(o){if(o!==e)throw new Error("Caller is not Factory Owner");return Promise.resolve(n.getCurrentTokenTemplateCount()).then(function(e){if(t>e)throw new Error("Template index doesnt exist");if(0===t)throw new Error("Template index cannot be ZERO");return Promise.resolve(n.getTokenTemplate(t)).then(function(e){if(!1===e.isActive)throw new Error("Template is already disabled");return Promise.resolve(n.contract.disableTokenTemplate.estimateGas(t)).then(function(e){var o;return r?e:Promise.resolve(Q(e,n.getSignerAccordingSdk(),null==(o=n.config)?void 0:o.gasFeeMultiplier,n.contract.disableTokenTemplate,t))})})})})}catch(e){return Promise.reject(e)}},r.reactivateTokenTemplate=function(e,t,r){try{var n=this;return Promise.resolve(n.getOwner()).then(function(o){if(o!==e)throw new Error("Caller is not Factory Owner");return Promise.resolve(n.getCurrentTokenTemplateCount()).then(function(e){if(t>e)throw new Error("Template index doesnt exist");if(0===t)throw new Error("Template index cannot be ZERO");return Promise.resolve(n.getTokenTemplate(t)).then(function(e){if(!0===e.isActive)throw new Error("Template is already active");return Promise.resolve(n.contract.reactivateTokenTemplate.estimateGas(t)).then(function(e){var o;return r?e:Promise.resolve(Q(e,n.getSignerAccordingSdk(),null==(o=n.config)?void 0:o.gasFeeMultiplier,n.contract.reactivateTokenTemplate,t))})})})})}catch(e){return Promise.reject(e)}},r.startMultipleTokenOrder=function(e,t){try{var r=this;if(e.length>50)throw new Error("Too many orders");return Promise.resolve(r.contract.startMultipleTokenOrder.estimateGas(e)).then(function(n){var o;return t?n:Promise.resolve(Q(n,r.getSignerAccordingSdk(),null==(o=r.config)?void 0:o.gasFeeMultiplier,r.contract.startMultipleTokenOrder,e))})}catch(e){return Promise.reject(e)}},r.createNftWithDatatoken=function(e,t,r){try{var n=this;return Promise.resolve(n.getErcCreationParams(t)).then(function(t){return Promise.resolve(n.contract.createNftWithErc20.estimateGas(e,t)).then(function(o){var i;return r?o:Promise.resolve(Q(o,n.getSignerAccordingSdk(),null==(i=n.config)?void 0:i.gasFeeMultiplier,n.contract.createNftWithErc20,e,t))})})}catch(e){return Promise.reject(e)}},r.createNftWithDatatokenWithFixedRate=function(e,t,r,n){try{var o=this;return Promise.resolve(o.getErcCreationParams(t)).then(function(t){return Promise.resolve(o.getFreCreationParams(r)).then(function(r){return Promise.resolve(o.contract.createNftWithErc20WithFixedRate.estimateGas(e,t,r)).then(function(i){var s;return n?i:Promise.resolve(Q(i,o.getSignerAccordingSdk(),null==(s=o.config)?void 0:s.gasFeeMultiplier,o.contract.createNftWithErc20WithFixedRate,e,t,r))})})})}catch(e){return Promise.reject(e)}},r.createNftWithDatatokenWithDispenser=function(e,t,r,n){try{var o=this;return Promise.resolve(o.getErcCreationParams(t)).then(function(t){return Promise.resolve(o.amountToUnits(null,r.maxBalance,18)).then(function(i){return r.maxBalance=i,Promise.resolve(o.amountToUnits(null,r.maxTokens,18)).then(function(i){return r.maxTokens=i,Promise.resolve(o.contract.createNftWithErc20WithDispenser.estimateGas(e,t,r)).then(function(i){var s;return n?i:Promise.resolve(Q(i,o.getSignerAccordingSdk(),null==(s=o.config)?void 0:s.gasFeeMultiplier,o.contract.createNftWithErc20WithDispenser,e,t,r))})})})})}catch(e){return Promise.reject(e)}},r.getErcCreationParams=function(e){try{var t,r,n=function(){var n=[e.minter,e.paymentCollector,e.mpFeeAddress,e.feeToken];e.filesObject&&(e.accessListFactory&&n.push(e.accessListFactory),e.allowAccessList&&n.push(e.allowAccessList),e.denyAccessList&&n.push(e.denyAccessList));var i=[e.name||t,e.symbol||r],c=e.templateIndex;return Promise.resolve(o.amountToUnits(null,e.cap,18)).then(function(t){return Promise.resolve(o.amountToUnits(null,e.feeAmount,a)).then(function(r){return{templateIndex:c,strings:i,addresses:n,uints:[t,r],bytess:e.filesObject?[s(JSON.stringify(e.filesObject))]:[]}})})},o=this;if(!e.name||!e.symbol){var i=be();t=i.name,r=i.symbol}var a=18,c=function(){if(e.feeToken!==ve){var t=ke(function(){return Promise.resolve(re(o.signer,e.feeToken)).then(function(e){a=e})},function(e){V.error("getTokenDecimals error",e)});if(t&&t.then)return t.then(function(){})}}();return Promise.resolve(c&&c.then?c.then(n):n())}catch(e){return Promise.reject(e)}},r.getFreCreationParams=function(e){try{var t=this;e.allowedConsumer||(e.allowedConsumer=ve);var r=!1===e.withMint?0:1,n=[e.baseTokenAddress,e.owner,e.marketFeeCollector,e.allowedConsumer],o=e.fixedRateAddress,i=e.datatokenDecimals,s=e.baseTokenDecimals;return Promise.resolve(t.amountToUnits(null,e.fixedRate,e.datatokenDecimals)).then(function(a){return Promise.resolve(t.amountToUnits(null,e.marketFee,e.datatokenDecimals)).then(function(e){return{fixedPriceAddress:o,addresses:n,uints:[s,i,a,e,r]}})})}catch(e){return Promise.reject(e)}},t}(de);function Se(e,t,r){if(!e.s){if(r instanceof Ae){if(!r.s)return void(r.o=Se.bind(null,e,t));1&t&&(t=r.s),r=r.v}if(r&&r.then)return void r.then(Se.bind(null,e,t),Se.bind(null,e,2));e.s=t,e.v=r;const n=e.o;n&&n(e)}}var Ae=/*#__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{Se(n,1,i(this.v))}catch(e){Se(n,2,e)}return n}return this}return this.o=function(e){try{var o=e.v;1&e.s?Se(n,1,t?t(o):o):r?Se(n,1,r(o)):Se(n,2,o)}catch(e){Se(n,2,e)}},n},e}();function Ce(e){return e instanceof Ae&&1&e.s}var Fe=function(e,t,r,n){try{var i="number"==typeof r,s=new Ee(t,e,n);return Promise.resolve(s.getCurrentTokenTemplateCount()).then(function(t){var n;function a(e){return n?e:-1}var c=1,u=function(e,t,r){for(var n;;){var o=e();if(Ce(o)&&(o=o.v),!o)return i;if(o.then){n=0;break}var i=r();if(i&&i.then){if(!Ce(i)){n=1;break}i=i.s}if(t){var s=t();if(s&&s.then&&!Ce(s)){n=2;break}}}var a=new Ae,c=Se.bind(null,a,2);return(0===n?o.then(l):1===n?i.then(u):s.then(m)).then(void 0,c),a;function u(n){i=n;do{if(t&&(s=t())&&s.then&&!Ce(s))return void s.then(m).then(void 0,c);if(!(o=e())||Ce(o)&&!o.v)return void Se(a,1,i);if(o.then)return void o.then(l).then(void 0,c);Ce(i=r())&&(i=i.v)}while(!i||!i.then);i.then(u).then(void 0,c)}function l(e){e?(i=r())&&i.then?i.then(u).then(void 0,c):u(i):Se(a,1,i)}function m(){(o=e())?o.then?o.then(l).then(void 0,c):l(o):Se(a,1,i)}}(function(){return!n&&c<=t},function(){return c++},function(){return Promise.resolve(s.getTokenTemplate(c)).then(function(t){var s=new o.Contract(t.templateAddress,E.abi,e);return i?Promise.resolve(s.getId()).then(function(e){if(t.isActive&&e.toString()===r.toString())return n=1,c}):t.isActive&&t.templateAddress===r.toString()?(n=1,c):void 0})});return u&&u.then?u.then(a):a(u)})}catch(e){return Promise.reject(e)}};function je(){try{if(process.env.ADDRESS_FILE){var r=t.readFileSync(process.env.ADDRESS_FILE,"utf8");return JSON.parse(r)}return e}catch(t){return e}}function De(e){try{var t=je();if(t)for(var r=Object.keys(t),n=0,o=r;n<o.length;n++){var i=o[n];if(t[i].chainId===e)return t[i]}}catch(e){console.error(e)}return null}var xe=/*#__PURE__*/function(e){function t(){return e.apply(this,arguments)||this}q(t,e);var r=t.prototype;return r.getDefaultAbi=function(){return b.abi},r.createDatatoken=function(e,t,r,n,o,i,a,c,u,l,m,h,d,f,v,g){try{var p=this;return Promise.resolve(p.getNftPermissions(e,t)).then(function(t){if(!0!==t.deployERC20)throw new Error("Caller is not DatatokenDeployer");if(m||(m=1),!u||!l){var P=be();u=P.name,l=P.symbol}var y=p.getContract(e);if(!p.signer.provider)throw new Error("Provider is required but not available");return Promise.resolve(p.signer.provider.getNetwork()).then(function(e){var t=e.chainId;function P(){var e=y.createERC20,t=e.estimateGas,P=[u,l],w=m;return Promise.resolve(p.amountToUnits(null,c,18)).then(function(T){return Promise.resolve(p.amountToUnits(null,a,18)).then(function(b){return Promise.resolve(t.call(e,w,P,[r,n,o,i],[T,b],[])).then(function(e){var t;if(g)return e;var P=[r,n,o,i];d&&(P.push(d.toLowerCase()),P.push(f?f.toLowerCase():ve),P.push(v||ve));var w=[u,l],T=m,b=y.createERC20,k=null==(t=p.config)?void 0:t.gasFeeMultiplier,E=p.getSignerAccordingSdk();return Promise.resolve(p.amountToUnits(null,c,18)).then(function(t){return Promise.resolve(p.amountToUnits(null,a,18)).then(function(r){return Promise.resolve(Q(e,E,k,b,T,w,P,[t,r],h?[s(h)]:[])).then(function(e){return Promise.resolve(e.wait()).then(function(e){var t=me(e,"TokenCreated");return null==t?void 0:t.args[0]})})})})})})})}var w=De(Number(t)),T=function(){if(h)return Promise.resolve(Fe(p.signer,w.ERC721Factory,4,Number(t))).then(function(e){m=e})}();return T&&T.then?T.then(P):P()})})}catch(e){return Promise.reject(e)}},r.addManager=function(e,t,r,n){try{var o=this,i=o.getContract(e);return Promise.resolve(o.getNftOwner(e)).then(function(e){if(e!==t)throw new Error("Caller is not NFT Owner");return Promise.resolve(i.addManager.estimateGas(r)).then(function(e){var t;return n?e:Promise.resolve(Q(e,o.getSignerAccordingSdk(),null==(t=o.config)?void 0:t.gasFeeMultiplier,i.addManager,r))})})}catch(e){return Promise.reject(e)}},r.removeManager=function(e,t,r,n){try{var o=this,i=o.getContract(e);return Promise.resolve(o.getNftOwner(e)).then(function(e){if(e!==t)throw new Error("Caller is not NFT Owner");return Promise.resolve(i.removeManager.estimateGas(r)).then(function(e){var t;return n?e:Promise.resolve(Q(e,o.getSignerAccordingSdk(),null==(t=o.config)?void 0:t.gasFeeMultiplier,i.removeManager,r))})})}catch(e){return Promise.reject(e)}},r.addDatatokenDeployer=function(e,t,r,n){try{var o=this,i=o.getContract(e);return Promise.resolve(o.getNftPermissions(e,t)).then(function(e){if(!0!==e.manager)throw new Error("Caller is not Manager");return Promise.resolve(i.addToCreateERC20List.estimateGas(r)).then(function(e){var t;return n?e:Promise.resolve(Q(e,o.getSignerAccordingSdk(),null==(t=o.config)?void 0:t.gasFeeMultiplier,i.addToCreateERC20List,r))})})}catch(e){return Promise.reject(e)}},r.removeDatatokenDeployer=function(e,t,r,n){try{var o=this,i=o.getContract(e);return Promise.resolve(o.getNftPermissions(e,t)).then(function(s){function a(e){if(c||t===r&&!0!==e.deployERC20)throw new Error("Caller is not Manager nor DatatokenDeployer");return Promise.resolve(i.removeFromCreateERC20List.estimateGas(r)).then(function(e){var t;return n?e:Promise.resolve(Q(e,o.getSignerAccordingSdk(),null==(t=o.config)?void 0:t.gasFeeMultiplier,i.removeFromCreateERC20List,r))})}var c=!0!==s.manager;return c||t!==r?a(c||t===r&&o.getNftPermissions(e,t)):Promise.resolve(c||t===r&&o.getNftPermissions(e,t)).then(a)})}catch(e){return Promise.reject(e)}},r.addMetadataUpdater=function(e,t,r,n){try{var o=this,i=o.getContract(e);return Promise.resolve(o.getNftPermissions(e,t)).then(function(e){if(!0!==e.manager)throw new Error("Caller is not Manager");return Promise.resolve(i.addToMetadataList.estimateGas(r)).then(function(e){var t;return n?e:Promise.resolve(Q(e,o.getSignerAccordingSdk(),null==(t=o.config)?void 0:t.gasFeeMultiplier,i.addToMetadataList,r))})})}catch(e){return Promise.reject(e)}},r.removeMetadataUpdater=function(e,t,r,n){try{var o=this,i=o.getContract(e);return Promise.resolve(o.getNftPermissions(e,t)).then(function(s){function a(e){if(c||t!==r&&!0!==e.updateMetadata)throw new Error("Caller is not Manager nor Metadata Updater");return Promise.resolve(i.removeFromMetadataList.estimateGas(r)).then(function(e){var t;return n?e:Promise.resolve(Q(e,o.getSignerAccordingSdk(),null==(t=o.config)?void 0:t.gasFeeMultiplier,i.removeFromMetadataList,r))})}var c=!0!==s.manager;return c||t===r?a(c||t!==r&&o.getNftPermissions(e,t)):Promise.resolve(c||t!==r&&o.getNftPermissions(e,t)).then(a)})}catch(e){return Promise.reject(e)}},r.addStoreUpdater=function(e,t,r,n){try{var o=this,i=o.getContract(e);return Promise.resolve(o.getNftPermissions(e,t)).then(function(e){if(!0!==e.manager)throw new Error("Caller is not Manager");return Promise.resolve(i.addTo725StoreList.estimateGas(r)).then(function(e){var t;return n?e:Promise.resolve(Q(e,o.getSignerAccordingSdk(),null==(t=o.config)?void 0:t.gasFeeMultiplier,i.addTo725StoreList,r))})})}catch(e){return Promise.reject(e)}},r.removeStoreUpdater=function(e,t,r,n){try{var o=this,i=o.getContract(e);return Promise.resolve(o.getNftPermissions(e,t)).then(function(s){function a(e){if(c||t!==r&&!0!==e.store)throw new Error("Caller is not Manager nor storeUpdater");return Promise.resolve(i.removeFrom725StoreList.estimateGas(r)).then(function(e){var t;return n?e:Promise.resolve(Q(e,o.getSignerAccordingSdk(),null==(t=o.config)?void 0:t.gasFeeMultiplier,i.removeFrom725StoreList,r))})}var c=!0!==s.manager;return c||t===r?a(c||t!==r&&o.getNftPermissions(e,t)):Promise.resolve(c||t!==r&&o.getNftPermissions(e,t)).then(a)})}catch(e){return Promise.reject(e)}},r.cleanPermissions=function(e,t,r){try{var n=this,o=n.getContract(e);return Promise.resolve(n.getNftOwner(e)).then(function(e){if(e!==t)throw new Error("Caller is not NFT Owner");return Promise.resolve(o.cleanPermissions.estimateGas()).then(function(e){var t;return r?e:Promise.resolve(Q(e,n.getSignerAccordingSdk(),null==(t=n.config)?void 0:t.gasFeeMultiplier,o.cleanPermissions))})})}catch(e){return Promise.reject(e)}},r.transferNft=function(e,t,r,n,o){try{var i=this,s=i.getContract(e);return Promise.resolve(i.getNftOwner(e)).then(function(e){if(e!==t)throw new Error("Caller is not NFT Owner");var a=n||1;return Promise.resolve(s.transferFrom.estimateGas(t,r,a)).then(function(e){var n;return o?e:Promise.resolve(Q(e,i.getSignerAccordingSdk(),null==(n=i.config)?void 0:n.gasFeeMultiplier,s.transferFrom,t,r,a))})})}catch(e){return Promise.reject(e)}},r.safeTransferNft=function(e,t,r,n,o){try{var i=this,s=i.getContract(e);return Promise.resolve(i.getNftOwner(e)).then(function(e){if(e!==t)throw new Error("Caller is not NFT Owner");var a=n||1;return Promise.resolve(s.safeTransferFrom.estimateGas(t,r,a)).then(function(e){var n;return o?e:Promise.resolve(Q(e,i.getSignerAccordingSdk(),null==(n=i.config)?void 0:n.gasFeeMultiplier,s.safeTransferFrom,t,r,a))})})}catch(e){return Promise.reject(e)}},r.setMetadata=function(e,t,r,n,o,i,s,a,c,u){try{var l=this,m=l.getContract(e);return c||(c=[]),Promise.resolve(l.getNftPermissions(e,t)).then(function(e){if(!e.updateMetadata)throw new Error("Caller is not Metadata updater");return Promise.resolve(m.setMetaData.estimateGas(r,n,o,i,s,a,c)).then(function(e){var t;return u?e:Promise.resolve(Q(e,l.signer,null==(t=l.config)?void 0:t.gasFeeMultiplier,m.setMetaData,r,n,o,i,s,a,c))})})}catch(e){return Promise.reject(e)}},r.setMetadataAndTokenURI=function(e,t,r,n){try{var o=this,i=o.getContract(e);return Promise.resolve(o.getNftPermissions(e,t)).then(function(e){if(!e.updateMetadata)throw new Error("Caller is not Metadata updater");var t=J({},r,{metadataProofs:r.metadataProofs||[]});return Promise.resolve(i.setMetaDataAndTokenURI.estimateGas(t)).then(function(e){var r;return n?e:Promise.resolve(Q(e,o.signer,null==(r=o.config)?void 0:r.gasFeeMultiplier,i.setMetaDataAndTokenURI,t))})})}catch(e){return Promise.reject(e)}},r.setMetadataState=function(e,t,r,n){try{var o=this,i=o.getContract(e);return Promise.resolve(o.getNftPermissions(e,t)).then(function(e){if(!e.updateMetadata)throw new Error("Caller is not Metadata updater");return Promise.resolve(i.setMetaDataState.estimateGas(r)).then(function(e){var t;return n?e:Promise.resolve(Q(e,o.getSignerAccordingSdk(),null==(t=o.config)?void 0:t.gasFeeMultiplier,i.setMetaDataState,r))})})}catch(e){return Promise.reject(e)}},r.setTokenURI=function(e,t,r){try{var n=this,o=n.getContract(e);return Promise.resolve(o.setTokenURI.estimateGas("1",t)).then(function(e){var i;return r?e:Promise.resolve(Q(e,n.getSignerAccordingSdk(),null==(i=n.config)?void 0:i.gasFeeMultiplier,o.setTokenURI,"1",t))})}catch(e){return Promise.reject(e)}},r.getNftOwner=function(e){try{var t=this.getContract(e);return Promise.resolve(t.ownerOf(1))}catch(e){return Promise.reject(e)}},r.getNftPermissions=function(e,t){try{var r=this.getContract(e);return Promise.resolve(r.getPermissions(t))}catch(e){return Promise.reject(e)}},r.getMetadata=function(e){try{var t=this.getContract(e);return Promise.resolve(t.getMetaData())}catch(e){return Promise.reject(e)}},r.isDatatokenDeployer=function(e,t){try{var r=this.getContract(e);return Promise.resolve(r.isERC20Deployer(t))}catch(e){return Promise.reject(e)}},r.setData=function(e,t,r,n,o){try{var i=this;return Promise.resolve(i.getNftPermissions(e,t)).then(function(t){if(!0!==t.store)throw new Error("User is not ERC20 store updater");var u=i.getContract(e),l=a(r),m=c(s(n));return Promise.resolve(u.setNewData.estimateGas(l,m)).then(function(e){var t;return o?e:Promise.resolve(Q(e,i.getSignerAccordingSdk(),null==(t=i.config)?void 0:t.gasFeeMultiplier,u.setNewData,l,m))})})}catch(e){return Promise.reject(e)}},r.getData=function(e,t){try{var r=this.getContract(e),n=a(t);return Promise.resolve(r.getData(n)).then(function(e){return e?u(e):null})}catch(e){return Promise.reject(e)}},r.getTokenURI=function(e,t){try{var r=this.getContract(e);return Promise.resolve(r.tokenURI(t))}catch(e){return Promise.reject(e)}},r.isDatatokenDeployed=function(e,t){try{var r=this.getContract(e);return Promise.resolve(r.isDeployed(t))}catch(e){return Promise.reject(e)}},t}(he),Oe=/*#__PURE__*/function(e){function t(t,r,n,o,i){var s;return(s=e.call(this,t,r,n,o)||this).abiEnterprise=void 0,s.nft=void 0,s.abiEnterprise=i||T.abi,s.nft=new xe(s.signer,r),s}q(t,e);var r=t.prototype;return r.getDefaultAbi=function(){return w.abi},r.approve=function(e,t,r,n){try{var o=this,i=o.getContract(e);return Promise.resolve(i.approve.estimateGas(t,ee(null,null,r,18))).then(function(e){var s;return n?e:Promise.resolve(Q(e,o.getSignerAccordingSdk(),null==(s=o.config)?void 0:s.gasFeeMultiplier,i.approve,t,ee(null,null,r,18)))})}catch(e){return Promise.reject(e)}},r.createFixedRate=function(e,t,r,n){try{var o=this,i=o.getContract(e);return Promise.resolve(o.isDatatokenDeployer(e,t)).then(function(e){if(!e)throw new Error("User is not Datatoken Deployer");r.allowedConsumer||(r.allowedConsumer=ve);var t=!1===r.withMint?0:1;return Promise.resolve(i.createFixedRate.estimateGas(r.fixedRateAddress,[r.baseTokenAddress,r.owner,r.marketFeeCollector,r.allowedConsumer],[r.baseTokenDecimals,r.datatokenDecimals,r.fixedRate,r.marketFee,t])).then(function(e){var s;return n?e:Promise.resolve(Q(e,o.getSignerAccordingSdk(),null==(s=o.config)?void 0:s.gasFeeMultiplier,i.createFixedRate,r.fixedRateAddress,[r.baseTokenAddress,r.owner,r.marketFeeCollector,r.allowedConsumer],[r.baseTokenDecimals,r.datatokenDecimals,r.fixedRate,r.marketFee,t]))})})}catch(e){return Promise.reject(e)}},r.createDispenser=function(e,t,r,n,o){try{var i=this;return Promise.resolve(i.isDatatokenDeployer(e,t)).then(function(t){if(!t)throw new Error("User is not Datatoken Deployer");var s=i.getContract(e);return n.allowedSwapper||(n.allowedSwapper=ve),n.withMint=!1!==n.withMint,Promise.resolve(s.createDispenser.estimateGas(r,n.maxTokens,n.maxBalance,n.withMint,n.allowedSwapper)).then(function(e){var t;return o?e:Promise.resolve(Q(e,i.getSignerAccordingSdk(),null==(t=i.config)?void 0:t.gasFeeMultiplier,s.createDispenser,r,n.maxTokens,n.maxBalance,n.withMint,n.allowedSwapper))})})}catch(e){return Promise.reject(e)}},r.mint=function(e,t,r,n,o){try{var i=this,s=i.getContract(e);return Promise.resolve(i.getPermissions(e,t)).then(function(a){if(!0!==a.minter)throw new Error("Caller is not Minter");return Promise.resolve(i.getCap(e)).then(function(e){if(new g(e).gte(r))return Promise.resolve(s.mint.estimateGas(n||t,ee(null,null,r,18))).then(function(e){var a;return o?e:Promise.resolve(Q(e,i.getSignerAccordingSdk(),null==(a=i.config)?void 0:a.gasFeeMultiplier,s.mint,n||t,ee(null,null,r,18)))});throw new Error("Mint amount exceeds cap available")})})}catch(e){return Promise.reject(e)}},r.addMinter=function(e,t,r,n){try{var o=this,i=o.getContract(e);return Promise.resolve(o.isDatatokenDeployer(e,t)).then(function(e){if(!0!==e)throw new Error("Caller is not DatatokenDeployer");return Promise.resolve(i.addMinter.estimateGas(r)).then(function(e){var t;return n?e:Promise.resolve(Q(e,o.getSignerAccordingSdk(),null==(t=o.config)?void 0:t.gasFeeMultiplier,i.addMinter,r))})})}catch(e){return Promise.reject(e)}},r.removeMinter=function(e,t,r,n){try{var o=this,i=o.getContract(e);return Promise.resolve(o.isDatatokenDeployer(e,t)).then(function(e){if(!0!==e)throw new Error("Caller is not DatatokenDeployer");return Promise.resolve(i.removeMinter.estimateGas(r)).then(function(e){var t;return n?e:Promise.resolve(Q(e,o.getSignerAccordingSdk(),null==(t=o.config)?void 0:t.gasFeeMultiplier,i.removeMinter,r))})})}catch(e){return Promise.reject(e)}},r.addPaymentManager=function(e,t,r,n){try{var o=this,i=o.getContract(e);return Promise.resolve(o.isDatatokenDeployer(e,t)).then(function(e){if(!0!==e)throw new Error("Caller is not DatatokenDeployer");return Promise.resolve(i.addPaymentManager.estimateGas(r)).then(function(e){var t;return n?e:Promise.resolve(Q(e,o.getSignerAccordingSdk(),null==(t=o.config)?void 0:t.gasFeeMultiplier,i.addPaymentManager,r))})})}catch(e){return Promise.reject(e)}},r.removePaymentManager=function(e,t,r,n){try{var o=this,i=o.getContract(e);return Promise.resolve(o.isDatatokenDeployer(e,t)).then(function(e){if(!0!==e)throw new Error("Caller is not DatatokenDeployer");return Promise.resolve(i.removePaymentManager.estimateGas(r)).then(function(e){var t;return n?e:Promise.resolve(Q(e,o.getSignerAccordingSdk(),null==(t=o.config)?void 0:t.gasFeeMultiplier,i.removePaymentManager,r))})})}catch(e){return Promise.reject(e)}},r.setPaymentCollector=function(e,t,r,n){try{var o=this,i=o.getContract(e);return Promise.resolve(o.getPermissions(e,t)).then(function(s){function a(e){function s(s){function a(e){if(!c&&!u&&!(null==e?void 0:e.deployERC20))throw new Error("Caller is not Fee Manager, owner or Datatoken Deployer");return Promise.resolve(i.setPaymentCollector.estimateGas(r)).then(function(e){var t;return n?e:Promise.resolve(Q(e,o.getSignerAccordingSdk(),null==(t=o.config)?void 0:t.gasFeeMultiplier,i.setPaymentCollector,r))})}var u=e&&s===t;return e&&!u?Promise.resolve(e&&!u&&o.nft.getNftPermissions(e,t)).then(a):a(e&&!u&&o.nft.getNftPermissions(e,t))}return e?Promise.resolve(o.nft.getNftOwner(e)).then(s):s(e)}var c=s.paymentManager;return c?a(!c&&o.getNFTAddress(e)):Promise.resolve(!c&&o.getNFTAddress(e)).then(a)})}catch(e){return Promise.reject(e)}},r.getPaymentCollector=function(e){try{var t=this.getContract(e);return Promise.resolve(t.getPaymentCollector())}catch(e){return Promise.reject(e)}},r.transfer=function(e,t,r,n){try{var o=this,i=o.transferWei;return Promise.resolve(ee(null,null,r,18)).then(function(r){return i.call(o,e,t,r,n)})}catch(e){return Promise.reject(e)}},r.transferWei=function(e,t,r,n){try{var o=this,i=o.getContract(e);return Promise.resolve(i.transfer.estimateGas(t,r)).then(function(e){var s;return n?e:Promise.resolve(Q(e,o.getSignerAccordingSdk(),null==(s=o.config)?void 0:s.gasFeeMultiplier,i.transfer,t,r))})}catch(e){return Promise.reject(e)}},r.startOrder=function(e,t,r,n,o,i){try{var s=this,a=s.getContract(e,s.abi);return o||(o={consumeMarketFeeAddress:ve,consumeMarketFeeToken:ve,consumeMarketFeeAmount:"0"}),Promise.resolve(a.startOrder.estimateGas(t,r,n,o)).then(function(e){var c;return i?e:Promise.resolve(Q(e,s.getSignerAccordingSdk(),null==(c=s.config)?void 0:c.gasFeeMultiplier,a.startOrder,t,r,n,o))})}catch(e){return Promise.reject(e)}},r.reuseOrder=function(e,t,r,n){try{var o=this,i=o.getContract(e);return Promise.resolve(i.reuseOrder.estimateGas(t,r)).then(function(e){var s;return n?e:Promise.resolve(Q(e,o.getSignerAccordingSdk(),null==(s=o.config)?void 0:s.gasFeeMultiplier,i.reuseOrder,t,r))})}catch(e){return Promise.reject(e)}},r.buyFromFreAndOrder=function(e,t,r,n){try{var o=this,i=o.getContract(e,o.abiEnterprise);return Promise.resolve(o.getFreOrderParams(r)).then(function(e){return Promise.resolve(i.buyFromFreAndOrder.estimateGas(t,e)).then(function(r){var s;return n?r:Promise.resolve(Q(r,o.getSignerAccordingSdk(),null==(s=o.config)?void 0:s.gasFeeMultiplier,i.buyFromFreAndOrder,t,e))})})}catch(e){return Promise.reject(e)}},r.buyFromDispenserAndOrder=function(e,t,r,n){try{var o=this,i=o.getContract(e,o.abiEnterprise);return Promise.resolve(i.buyFromDispenserAndOrder.estimateGas(t,r)).then(function(e){var s;return n?e:Promise.resolve(Q(e,o.getSignerAccordingSdk(),null==(s=o.config)?void 0:s.gasFeeMultiplier,i.buyFromDispenserAndOrder,t,r))})}catch(e){return Promise.reject(e)}},r.setData=function(e,t,r,n){try{var o=this;return Promise.resolve(o.isDatatokenDeployer(e,t)).then(function(t){if(!t)throw new Error("User is not Datatoken Deployer");var i=o.getContract(e),a=c(s(r));return Promise.resolve(i.setData.estimateGas(a)).then(function(e){var t;return n?e:Promise.resolve(Q(e,o.getSignerAccordingSdk(),null==(t=o.config)?void 0:t.gasFeeMultiplier,i.setData,a))})})}catch(e){return Promise.reject(e)}},r.cleanPermissions=function(e,t,r){try{var n=this,o=n.nft,i=o.getNftOwner;return Promise.resolve(n.getNFTAddress(e)).then(function(s){return Promise.resolve(i.call(o,s)).then(function(o){if(o!==t)throw new Error("Caller is NOT Nft Owner");var i=n.getContract(e);return Promise.resolve(i.cleanPermissions.estimateGas()).then(function(e){var t;return r?e:Promise.resolve(Q(e,n.getSignerAccordingSdk(),null==(t=n.config)?void 0:t.gasFeeMultiplier,i.cleanPermissions))})})})}catch(e){return Promise.reject(e)}},r.getPermissions=function(e,t){try{var r=this.getContract(e);return Promise.resolve(r.permissions(t))}catch(e){return Promise.reject(e)}},r.getCap=function(e){try{var t=this,r=t.getContract(e);return Promise.resolve(r.cap()).then(function(e){return Promise.resolve(t.unitsToAmount(null,e,18))})}catch(e){return Promise.reject(e)}},r.getDecimals=function(e){try{var t=this.getContract(e);return Promise.resolve(t.decimals()).then(Number)}catch(e){return Promise.reject(e)}},r.getId=function(e){try{var t=this.getContract(e);return Promise.resolve(t.getId()).then(Number)}catch(e){return Promise.reject(e)}},r.getSymbol=function(e){try{var t=this.getContract(e);return Promise.resolve(t.symbol())}catch(e){return Promise.reject(e)}},r.getName=function(e){try{var t=this.getContract(e);return Promise.resolve(t.name())}catch(e){return Promise.reject(e)}},r.getNFTAddress=function(e){try{var t=this.getContract(e);return Promise.resolve(t.getERC721Address())}catch(e){return Promise.reject(e)}},r.getFixedRates=function(e){try{var t=this.getContract(e);return Promise.resolve(t.getFixedRates())}catch(e){return Promise.reject(e)}},r.getDispensers=function(e){try{var t=this.getContract(e);return Promise.resolve(t.getDispensers())}catch(e){return Promise.reject(e)}},r.isDatatokenDeployer=function(e,t){try{var r=this.getContract(e);return Promise.resolve(r.isERC20Deployer(t))}catch(e){return Promise.reject(e)}},r.balance=function(e,t){try{var r=this,n=r.getContract(e);return Promise.resolve(n.balanceOf(t)).then(function(e){return Promise.resolve(r.unitsToAmount(null,e,18))})}catch(e){return Promise.reject(e)}},r.allowance=function(e,t,r,n){void 0===n&&(n=18);try{var o=this,i=o.getContract(e);return Promise.resolve(i.allowance(t,r)).then(function(e){return Promise.resolve(o.unitsToAmount(null,e,n))})}catch(e){return Promise.reject(e)}},r.setPublishingMarketFee=function(e,t,r,n,o,i){try{var s=this,a=s.getContract(e);return Promise.resolve(a.getPublishingMarketFee()).then(function(e){if(e[0]!==o)throw new Error("Caller is not the Publishing Market Fee Address");return Promise.resolve(a.setPublishingMarketFee.estimateGas(t,r,n)).then(function(e){var o;return i?e:Promise.resolve(Q(e,s.getSignerAccordingSdk(),null==(o=s.config)?void 0:o.gasFeeMultiplier,a.setPublishingMarketFee,t,r,n))})})}catch(e){return Promise.reject(e)}},r.getPublishingMarketFee=function(e){try{var t=this.getContract(e);return Promise.resolve(t.getPublishingMarketFee()).then(function(e){return{publishMarketFeeAddress:e[0],publishMarketFeeToken:e[1],publishMarketFeeAmount:e[2].toString()}})}catch(e){return Promise.reject(e)}},r.getFreOrderParams=function(e){try{var t=this,r=e.exchangeId,n=e.exchangeContract;return Promise.resolve(ee(t.signer,e.baseTokenAddress,e.maxBaseTokenAmount,e.baseTokenDecimals)).then(function(o){return Promise.resolve(ee(t.signer,e.baseTokenAddress,e.swapMarketFee,e.baseTokenDecimals)).then(function(t){return{exchangeContract:n,exchangeId:r,maxBaseTokenAmount:o,swapMarketFee:t,marketFeeAddress:e.marketFeeAddress}})})}catch(e){return Promise.reject(e)}},t}(he),Me=/*#__PURE__*/function(e){function t(t,r,n,o,i){var s;return(s=e.call(this,t,n,o,i)||this).accessList=void 0,s.fileObject=void 0,s.abi=s.getDefaultAbi(),s.fileObject=r,s}q(t,e);var r=t.prototype;return r.getDefaultAbi=function(){return S.abi},r.setFileObj=function(e){this.fileObject=e},r.getAllowlistContract=function(e){try{var t=this.getContract(e,this.getDefaultAbi());return Promise.resolve(t.getAllowListContract())}catch(e){return Promise.reject(e)}},r.getDenylistContract=function(e){try{var t=this.getContract(e,this.getDefaultAbi());return Promise.resolve(t.getDenyListContract())}catch(e){return Promise.reject(e)}},r.setAllowListContract=function(e,t,r,n){try{var o=this;return Promise.resolve(o.isDatatokenDeployer(e,r)).then(function(r){if(!r)throw new Error("User is not Datatoken Deployer");var i=o.getContract(e);return Promise.resolve(i.setAllowListContract.estimateGas(t)).then(function(e){var r;return n?e:Promise.resolve(Q(e,o.getSignerAccordingSdk(),null==(r=o.config)?void 0:r.gasFeeMultiplier,i.setAllowListContract,t))})})}catch(e){return Promise.reject(e)}},r.setDenyListContract=function(e,t,r,n){try{var o=this;return Promise.resolve(o.isDatatokenDeployer(e,r)).then(function(r){if(!r)throw new Error("User is not Datatoken Deployer");var i=o.getContract(e);return Promise.resolve(i.setDenyListContract.estimateGas(t)).then(function(e){var r;return n?e:Promise.resolve(Q(e,o.getSignerAccordingSdk(),null==(r=o.config)?void 0:r.gasFeeMultiplier,i.setDenyListContract,t))})})}catch(e){return Promise.reject(e)}},r.setFileObject=function(e,t,r){try{var n=this;return Promise.resolve(n.isDatatokenDeployer(e,t)).then(function(t){if(!t)throw new Error("User is not Datatoken Deployer");var o=n.getContract(e);return Promise.resolve(o.setFilesObject.estimateGas(n.fileObject)).then(function(e){var t;return r?e:Promise.resolve(Q(e,n.getSignerAccordingSdk(),null==(t=n.config)?void 0:t.gasFeeMultiplier,o.setFilesObject,n.fileObject))})})}catch(e){return Promise.reject(e)}},r.getFileObject=function(e,t,r,n,o,i,s){try{var a=this.getContract(e,this.getDefaultAbi());return Promise.resolve(a.getFileObject(t,r,n,o,i,s))}catch(e){return Promise.reject(e)}},t}(Oe),Ne=/*#__PURE__*/function(e){function t(t,r,n,o,i){var s;return(s=e.call(this,t,r,n,o,i)||this).abiEnterprise=void 0,s.abi=i||s.getDefaultAbi(),s}q(t,e);var r=t.prototype;return r.getDefaultAbi=function(){return A.abi},r.getTokenUri=function(e){try{return Promise.resolve(this.contract.tokenURI(e))}catch(e){return Promise.reject(e)}},r.getOwner=function(){try{return Promise.resolve(this.contract.owner())}catch(e){return Promise.reject(e)}},r.getId=function(){try{return Promise.resolve(this.contract.getId()).then(Number)}catch(e){return Promise.reject(e)}},r.getName=function(){try{return Promise.resolve(this.contract.name())}catch(e){return Promise.reject(e)}},r.getSymbol=function(){try{return Promise.resolve(this.contract.symbol())}catch(e){return Promise.reject(e)}},r.balance=function(e){try{var t=this;return Promise.resolve(t.contract.balanceOf(e)).then(function(e){return Promise.resolve(t.unitsToAmount(null,e,18))})}catch(e){return Promise.reject(e)}},r.mint=function(e,t,r){try{var n=this;return Promise.resolve(n.contract.mint.estimateGas(e,t)).then(function(o){var i;return r?o:Promise.resolve(Q(o,n.getSignerAccordingSdk(),null==(i=n.config)?void 0:i.gasFeeMultiplier,n.contract.mint,e,t))})}catch(e){return Promise.reject(e)}},r.batchMint=function(e,t,r){try{var n=this;return Promise.resolve(n.contract.batchMint.estimateGas(e,t)).then(function(o){var i;return r?o:Promise.resolve(Q(o,n.getSignerAccordingSdk(),null==(i=n.config)?void 0:i.gasFeeMultiplier,n.contract.batchMint,e,t))})}catch(e){return Promise.reject(e)}},r.burn=function(e,t){try{var r=this;return Promise.resolve(r.contract.burn.estimateGas(e)).then(function(n){var o;return t?n:Promise.resolve(Q(n,r.getSignerAccordingSdk(),null==(o=r.config)?void 0:o.gasFeeMultiplier,r.contract.burn,e))})}catch(e){return Promise.reject(e)}},r.transferOwnership=function(e,t){try{var r=this;return Promise.resolve(r.contract.transferOwnership.estimateGas(e)).then(function(n){var o;return t?n:Promise.resolve(Q(n,r.getSignerAccordingSdk(),null==(o=r.config)?void 0:o.gasFeeMultiplier,r.contract.transferOwnership,e))})}catch(e){return Promise.reject(e)}},r.renounceOwnership=function(e){try{var t=this;return Promise.resolve(t.contract.renounceOwnership.estimateGas()).then(function(r){var n;return e?r:Promise.resolve(Q(r,t.getSignerAccordingSdk(),null==(n=t.config)?void 0:n.gasFeeMultiplier,t.contract.renounceOwnership))})}catch(e){return Promise.reject(e)}},t}(de),Re=/*#__PURE__*/function(e){function t(t,r,n,o,i){var s;return(s=e.call(this,t,r,n,o,i)||this).abi=i||s.getDefaultAbi(),s}q(t,e);var r=t.prototype;return r.getDefaultAbi=function(){return C.abi},r.deployAccessListContract=function(e,t,r,n,o,i,s){void 0===n&&(n=!1);try{var a=this;if(!e||!t){var c=be();e=c.name,t=c.symbol}return Promise.resolve(a.contract.deployAccessListContract.estimateGas(e,t,n,o,i,r)).then(function(c){return s?c:function(s,u){try{var l=Promise.resolve(Q(c,a.getSignerAccordingSdk(),null==(m=a.config)?void 0:m.gasFeeMultiplier,a.contract.deployAccessListContract,e,t,n,o,i,r)).then(function(e){if(!e){var t="Tx for deploying new access list was not processed on chain.";throw console.error(t),t}return Promise.resolve(e.wait()).then(function(e){return me(e,"NewAccessList").args[0]})})}catch(e){return u(e)}var m;return l&&l.then?l.then(void 0,u):l}(0,function(e){console.error("Creation of AccessList failed: "+e)})})}catch(e){return Promise.reject(e)}},r.getOwner=function(){try{return Promise.resolve(this.contract.owner())}catch(e){return Promise.reject(e)}},r.isSoulbound=function(e){try{return Promise.resolve(this.contract.isSoulBound(e))}catch(e){return Promise.reject(e)}},r.isDeployed=function(e){try{return Promise.resolve(this.contract.isDeployed(e))}catch(e){return Promise.reject(e)}},r.changeTemplateAddress=function(e,t,r){try{var n=this;return Promise.resolve(n.getOwner()).then(function(o){if(o!==e)throw new Error("Caller is not Factory Owner");if(t===ve)throw new Error("Template address cannot be ZERO address");return Promise.resolve(n.contract.changeTemplateAddress.estimateGas(t)).then(function(e){var o;return r?e:Promise.resolve(Q(e,n.getSignerAccordingSdk(),null==(o=n.config)?void 0:o.gasFeeMultiplier,n.contract.changeTemplateAddress,t))})})}catch(e){return Promise.reject(e)}},t}(de);function Ue(e,t,r){if(!e.s){if(r instanceof Ie){if(!r.s)return void(r.o=Ue.bind(null,e,t));1&t&&(t=r.s),r=r.v}if(r&&r.then)return void r.then(Ue.bind(null,e,t),Ue.bind(null,e,2));e.s=t,e.v=r;const n=e.o;n&&n(e)}}var Ie=/*#__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{Ue(n,1,i(this.v))}catch(e){Ue(n,2,e)}return n}return this}return this.o=function(e){try{var o=e.v;1&e.s?Ue(n,1,t?t(o):o):r?Ue(n,1,r(o)):Ue(n,2,o)}catch(e){Ue(n,2,e)}},n},e}(),Le=/*#__PURE__*/function(e){function t(t,r,n,o,i){var s;return(s=e.call(this,t,r,n,o,i)||this).abiEnterprise=void 0,s.abi=i||s.getDefaultAbi(),s}q(t,e);var r=t.prototype;return r.getDefaultAbi=function(){return F.abi},r.getFunds=function(e){try{return Promise.resolve(this.contract.getFunds(e))}catch(e){return Promise.reject(e)}},r.getUserFunds=function(e,t){try{return Promise.resolve(this.contract.getUserFunds(e,t))}catch(e){return Promise.reject(e)}},r.getUserTokens=function(e){try{return Promise.resolve(this.contract.getUserTokens(e))}catch(e){return Promise.reject(e)}},r.getLocks=function(e,t,r){try{return Promise.resolve(this.contract.getLocks(e,t,r))}catch(e){return Promise.reject(e)}},r.getAuthorizations=function(e,t,r){try{return Promise.resolve(this.contract.getAuthorizations(e,t,r))}catch(e){return Promise.reject(e)}},r.verifyFundsForEscrowPayment=function(e,t,r,n,o,i,s){try{var a,c=this;return Promise.resolve(null==(a=c.signer.provider)?void 0:a.getBalance(l(t))).then(function(a){if(new v(a).isZero())return{isValid:!1,message:"Native token balance is 0. Please add funds"};var u=new Oe(c.signer),h=u.allowance;return Promise.resolve(c.signer.getAddress()).then(function(a){return Promise.resolve(h.call(u,e,a,c.contract.target.toString(),s)).then(function(a){return Promise.resolve(c.amountToUnits(e,a,18)).then(function(a){function h(){var a=u.balance;return Promise.resolve(c.signer.getAddress()).then(function(h){return Promise.resolve(a.call(u,e,h)).then(function(a){if(new v(a).isZero())return{isValid:!1,message:"Payment token balance is 0. Please add funds"};var u=c.getAuthorizations;return Promise.resolve(c.signer.getAddress()).then(function(h){return Promise.resolve(u.call(c,e,h,t)).then(function(u){var h=c.getUserFunds;return Promise.resolve(c.signer.getAddress()).then(function(d){return Promise.resolve(h.call(c,d,e)).then(function(h){function d(){var r=function(){if(0===u.length)return Promise.resolve(c.authorize(l(e),l(t),(Number(n)/2).toString(),o,i)).then(function(){})}();return r&&r.then?r.then(function(){return{isValid:!0,message:""}}):{isValid:!0,message:""}}var f=function(){if(new v(h[0]).isZero()){var t=function(){if(r&&new v(m(a)).isLessThanOrEqualTo(new v(m(r)))&&new v(m(r)).isGreaterThan(new v(n)))return Promise.resolve(c.deposit(e,r,s)).then(function(){});var t=function(){if(new v(m(a)).isLessThanOrEqualTo(new v(m(n)))){var t=c.deposit;return Promise.resolve(c.unitsToAmount(e,n,s)).then(function(r){return Promise.resolve(t.call(c,e,r,s)).then(function(){})})}return Promise.resolve(c.deposit(e,a,s)).then(function(){})}();return t&&t.then?t.then(function(){}):void 0}();if(t&&t.then)return t.then(function(){})}}();return f&&f.then?f.then(d):d()})})})})})})}var d=function(){if(new v(a).isLessThan(new v(n)))return Promise.resolve(u.approve(l(e),l(c.contract.target.toString()),n)).then(function(){})}();return d&&d.then?d.then(h):h()})})})})}catch(e){return Promise.reject(e)}},r.deposit=function(e,t,r,n){try{var o=this;return Promise.resolve(o.amountToUnits(e,t,r)).then(function(t){return Promise.resolve(o.contract.deposit.estimateGas(e,t)).then(function(r){var i;return n?r:Promise.resolve(Q(r,o.getSignerAccordingSdk(),null==(i=o.config)?void 0:i.gasFeeMultiplier,o.contract.deposit,e,t))})})}catch(e){return Promise.reject(e)}},r.withdraw=function(e,t,r,n){try{var o=this,i=[],s=[];if(e.length!==t.length)throw new Error("Tokens and amounts arrays must have the same length");return Promise.resolve(o.signer.getAddress()).then(function(a){function c(){return Promise.resolve(Promise.all(s.map(function(e,t){return o.amountToUnits(i[t],e,r)}))).then(function(t){return Promise.resolve(o.contract.withdraw.estimateGas(e,t)).then(function(e){var r;return n?e:Promise.resolve(Q(e,o.getSignerAccordingSdk(),null==(r=o.config)?void 0:r.gasFeeMultiplier,o.contract.withdraw,i,t))})})}var u,l,m,h,d,f=(u=e,l=function(r){var n=e[r],c=new v(t[r]);return Promise.resolve(o.getUserFunds(a,n)).then(function(e){var o=new v(e[0]);c.isGreaterThan(0)&&c.isLessThanOrEqualTo(o)?(i.push(n),s.push(t[r])):console.log("Insufficient funds for token "+n)})},d=-1,function e(t){try{for(;++d<u.length;)if((t=l(d))&&t.then){if(!((r=t)instanceof Ie&&1&r.s))return void t.then(e,h||(h=Ue.bind(null,m=new Ie,2)));t=t.v}m?Ue(m,1,t):m=t}catch(e){Ue(m||(m=new Ie),2,e)}var r}(),m);return f&&f.then?f.then(c):c()})}catch(e){return Promise.reject(e)}},r.authorize=function(e,t,r,n,o,i,s){try{var a=this,c=a.getAuthorizations;return Promise.resolve(a.signer.getAddress()).then(function(u){return Promise.resolve(c.call(a,e,u,t)).then(function(c){return 0!==c.length?(console.log("Payee "+t+" already authorized"),null):Promise.resolve(a.amountToUnits(e,r,i)).then(function(r){return Promise.resolve(a.amountToUnits(e,n,i)).then(function(n){return Promise.resolve(a.amountToUnits(e,o,i)).then(function(o){return Promise.resolve(a.contract.authorize.estimateGas(e,t,r,n,o)).then(function(i){var c;return s?i:Promise.resolve(Q(i,a.getSignerAccordingSdk(),null==(c=a.config)?void 0:c.gasFeeMultiplier,a.contract.authorize,e,t,r,n,o))})})})})})})}catch(e){return Promise.reject(e)}},r.cancelExpiredLocks=function(e,t,r,n,o){try{var i=this;return Promise.resolve(i.contract.cancelExpiredLocks.estimateGas(e,t,r,n)).then(function(s){var a;return o?s:Promise.resolve(Q(s,i.getSignerAccordingSdk(),null==(a=i.config)?void 0:a.gasFeeMultiplier,i.contract.cancelExpiredLocks,e,t,r,n))})}catch(e){return Promise.reject(e)}},t}(de),_e=/*#__PURE__*/function(e){function t(t,r,n,o,i){var s;return(s=e.call(this,t,r,n,o,i)||this).abi=i||s.getDefaultAbi(),s}q(t,e);var r=t.prototype;return r.getDefaultAbi=function(){return j.abi},r.isTokenAllowed=function(e){try{return Promise.resolve(this.contract.isTokenAllowed(e))}catch(e){return Promise.reject(e)}},r.getToken=function(e){try{return Promise.resolve(this.contract.getToken(e))}catch(e){return Promise.reject(e)}},r.calculateFee=function(e,t,r){try{var n=this,o=n.amountToUnits(e,t.toString(),r);return Promise.resolve(n.contract.calculateFee(e,o)).then(function(t){return n.unitsToAmount(e,t,r)})}catch(e){return Promise.reject(e)}},t}(de),Ge=function(e){try{return Promise.resolve(new Promise(function(t){setTimeout(t,e)}))}catch(e){return Promise.reject(e)}};function Be(e){return null!=e}var ze=function(e,t){try{var r=o.solidityPackedKeccak256(["bytes"],[o.hexlify(o.toUtf8Bytes(t))]),n=o.toBeArray(r);return Promise.resolve(function(t,r){try{var o=Promise.resolve(e.signMessage(n))}catch(e){return r()}return o&&o.then?o.then(void 0,r):o}(0,function(){return Promise.resolve(e.provider.getNetwork()).then(function(t){var r=Number(t.chainId);return function(){if(8996===Number(r))return console.log("Signing message with _legacySignMessage"),Promise.resolve(e._legacySignMessage(n))}()})}))}catch(e){return Promise.reject(e)}},Je=function(e,t){try{var r=h(t);return Promise.resolve(e._legacySignMessage(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 qe(e,t){try{var r=e()}catch(e){return t(e)}return r&&r.then?r.then(void 0,t):r}function We(e,t,r){if(!e.s){if(r instanceof He){if(!r.s)return void(r.o=We.bind(null,e,t));1&t&&(t=r.s),r=r.v}if(r&&r.then)return void r.then(We.bind(null,e,t),We.bind(null,e,2));e.s=t,e.v=r;var n=e.o;n&&n(e)}}var He=/*#__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{We(n,1,i(this.v))}catch(e){We(n,2,e)}return n}return this}return this.o=function(e){try{var o=e.v;1&e.s?We(n,1,t?t(o):o):r?We(n,1,r(o)):We(n,2,o)}catch(e){We(n,2,e)}},n},e}();function Ve(e){return e instanceof He&&1&e.s}var Ke=/*#__PURE__*/function(){function e(e){this.aquariusURL=void 0,this.aquariusURL=e}var t=e.prototype;return t.getAuthorization=function(e){return"string"==typeof e?e:void 0},t.resolve=function(e,t,r){try{var n=this.aquariusURL+"/api/aquarius/assets/ddo/"+e;return Promise.resolve(qe(function(){return Promise.resolve(D(n,{method:"GET",headers:{"Content-Type":"application/json",Authorization:r},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 V.error(e),new Error("HTTP request failed")}))}catch(e){return Promise.reject(e)}},t.waitForIndexer=function(e,t,r,n,o,i){void 0===n&&(n=3e4),void 0===o&&(o=100);try{var s,a=this,c=0;o>500&&(V.warn("Max Limit exceeded, defaulting to 500 retries."),o=500);var u=function(e,t){var r;do{var n=e();if(n&&n.then){if(!Ve(n)){r=!0;break}n=n.v}var o=t();if(Ve(o)&&(o=o.v),!o)return n}while(!o.then);var i=new He,s=We.bind(null,i,2);return(r?n.then(a):o.then(c)).then(void 0,s),i;function a(r){for(n=r;Ve(o=t())&&(o=o.v),o;){if(o.then)return void o.then(c).then(void 0,s);if((n=e())&&n.then){if(!Ve(n))return void n.then(a).then(void 0,s);n=n.v}}We(i,1,n)}function c(r){if(r){do{if((n=e())&&n.then){if(!Ve(n))return void n.then(a).then(void 0,s);n=n.v}if(Ve(r=t())&&(r=r.v),!r)return void We(i,1,n)}while(!r.then);r.then(c).then(void 0,s)}else We(i,1,n)}}(function(){function o(e){return s?e:Promise.resolve(Ge(n)).then(function(){c++})}var u=qe(function(){return Promise.resolve(D(a.aquariusURL+"/api/aquarius/assets/ddo/"+e,{method:"GET",headers:{"Content-Type":"application/json",Authorization:i},signal:r})).then(function(e){return function(){if(e.ok)return Promise.resolve(e.json()).then(function(e){var r=x.getDDOClass(e).getAssetFields().indexedMetadata;return t?r.event&&r.event.txid===t?(s=1,e):void 0:(s=1,e)})}()})},function(){});return u&&u.then?u.then(o):o(u)},function(){return!s&&c<o});return Promise.resolve(u&&u.then?u.then(function(e){return s?e:null}):s?u:null)}catch(e){return Promise.reject(e)}},t.validate=function(e,t,r,n,o){try{var i=this,s=r+"/api/aquarius/assets/ddo/validate",a=r+"/api/services/nonce";return Promise.resolve(qe(function(){return Promise.resolve(t.getAddress()).then(function(r){return Promise.resolve(D(a+"?userAddress="+r,{method:"GET",headers:{"Content-Type":"application/json",Authorization:o},signal:n})).then(function(o){return Promise.resolve(o.json()).then(function(o){var a=o.nonce;console.log("[getNonce] Consumer: "+r+" nonce: "+a),a&&null!==a||(a="0");var c=(Number(a)+1).toString(),u=String,l=String;return Promise.resolve(t.getAddress()).then(function(o){var a=u(l(o)+String(c)+String(_.VALIDATE_DDO));return Promise.resolve(ze(t,a)).then(function(o){return Promise.resolve(D(s,{method:"POST",body:JSON.stringify({ddo:e,publisherAddress:r,nonce:c,signature:o}),headers:{"Content-Type":"application/json",Authorization:i.getAuthorization(t)},signal:n})).then(function(e){return Promise.resolve(e.json()).then(function(t){if(200!==e.status)throw new Error("Metadata validation failed");return{valid:!0,hash:t.hash,proof:{validatorAddress:t.publicKey,r:t.r[0],s:t.s[0],v:t.v}}})})})})})})})},function(e){V.error("Metadata validation failed",e.message)}))}catch(e){return Promise.reject(e)}},t.getAssetMetadata=function(e,t,r){try{var n=this.aquariusURL+"/api/aquarius/assets/metadata/"+e;return Promise.resolve(qe(function(){return Promise.resolve(D(n,{method:"GET",headers:{"Content-Type":"application/json",Authorization:r},signal:t})).then(function(e){if(e.ok)return e.json();throw new Error("getAssetMetadata failed: "+e.status+e.statusText)})},function(e){throw V.error("Error getting metadata: ",e),new Error("Error getting metadata: "+e)}))}catch(e){return Promise.reject(e)}},t.querySearch=function(e,t,r){try{var n=this.aquariusURL+"/api/aquarius/assets/query";return Promise.resolve(qe(function(){return Promise.resolve(D(n,{method:"POST",body:JSON.stringify(e),headers:{"Content-Type":"application/json",Authorization:r},signal:t})).then(function(e){if(e.ok)return e.json();throw new Error("querySearch failed: "+e.status+e.statusText)})},function(e){throw V.error("Error querying metadata: ",e),new Error("Error querying metadata: "+e)}))}catch(e){return Promise.reject(e)}},e}();function Ze(e,t){var r=M.fromHex(function(e){if("string"==typeof e)return e.startsWith("0x")?e:"0x"+e;var t=e instanceof Uint8Array?e:Array.isArray(e)?Uint8Array.from(e):Uint8Array.from(Object.keys(e).sort(function(e,t){return Number(e)-Number(t)}).map(function(t){return e[Number(t)]}));return"0x"+Buffer.from(t).toString("hex")}(e)),n=N(r.toHex(),Buffer.from(t));return Buffer.from(n).toString("hex")}function Xe(e,t){try{var r=e()}catch(e){return t(e)}return r&&r.then?r.then(void 0,t):r}var Ye=/*#__PURE__*/function(){function e(){}var t=e.prototype;return t.getConsumerAddress=function(e){try{return Promise.resolve("string"==typeof e?function(e){try{return O.decode(e,{json:!0})}catch(e){throw new Error("Error decoding JWT")}}(e).address:e.getAddress())}catch(e){return Promise.reject(e)}},t.getSignature=function(e,t,r){try{if("string"==typeof e)return Promise.resolve(null);var n=String,o=String;return Promise.resolve(e.getAddress()).then(function(i){var s=n(o(i)+String(t)+String(r));return ze(e,s)})}catch(e){return Promise.reject(e)}},t.getAuthorization=function(e){return"string"==typeof e?e:void 0},t.getEndpoints=function(e,t){try{var r=this;return Promise.resolve(Xe(function(){return Promise.resolve(r.getData(e,t)).then(function(e){return Promise.resolve(e.json())})},function(e){throw V.error("Finding the service endpoints failed:",e),new Error("HTTP request failed calling Provider")}))}catch(e){return Promise.reject(e)}},t.getNodePublicKey=function(e){try{return Promise.resolve(this.getEndpoints(e)).then(function(e){return e.nodePublicKey})}catch(e){return Promise.reject(e)}},t.getEndpointURL=function(e,t){return e?e.find(function(e){return e.serviceName.toLowerCase()===t.toLowerCase()}):null},t.getServiceEndpoints=function(e,t){try{var r=[];for(var n in t.serviceEndpoints){var o={serviceName:n,method:t.serviceEndpoints[n][0],urlPath:e.replace(/\/+$/,"")+"/"+t.serviceEndpoints[n][1].replace(/^\/+/,"")};r.push(o)}return Promise.resolve(r)}catch(e){return Promise.reject(e)}},t.getNonce=function(e,t,r,n,o){try{var i=function(){function i(){var e=s.getEndpointURL(o,"nonce")?s.getEndpointURL(o,"nonce").urlPath:null;return e?Xe(function(){return Promise.resolve(D(e+"?userAddress="+t,{method:"GET",headers:{"Content-Type":"application/json"},signal:r})).then(function(e){return Promise.resolve(e.json()).then(function(e){var r=e.nonce;return console.log("[getNonce] Consumer: "+t+" nonce: "+r),r&&null!==r?Number(r):0})})},function(e){throw V.error(e),new Error(e.message)}):null}var a=function(){if(!o)return Promise.resolve(s.getServiceEndpoints(e,n)).then(function(e){o=e})}();return a&&a.then?a.then(i):i()},s=this,a=function(){if(!n)return Promise.resolve(s.getEndpoints(e)).then(function(e){n=e})}();return Promise.resolve(a&&a.then?a.then(i):i())}catch(e){return Promise.reject(e)}},t.encrypt=function(e,t,r,n,o,i){try{var s=this;return Promise.resolve(s.getEndpoints(r)).then(function(o){return Promise.resolve(s.getServiceEndpoints(r,o)).then(function(a){return Promise.resolve(s.getConsumerAddress(n)).then(function(c){return Promise.resolve(s.getNonce(r,c,i,o,a)).then(function(r){var o=(r+1).toString();return Promise.resolve(s.getSignature(n,o,_.ENCRYPT)).then(function(r){var n=(s.getEndpointURL(a,"encrypt")?s.getEndpointURL(a,"encrypt").urlPath:null)+"?chainId="+t;return n?(n+="&nonce="+o,n+="&consumerAddress="+c,n+="&signature="+r,Xe(function(){return Promise.resolve(D(n,{method:"POST",body:JSON.stringify(e),headers:{"Content-Type":"application/octet-stream"},signal:i})).then(function(e){return Promise.resolve(e.text())})},function(e){throw V.error(e),new Error("HTTP request failed calling Provider")})):null})})})})})}catch(e){return Promise.reject(e)}},t.checkDidFiles=function(e,t,r,n,o){void 0===n&&(n=!1);try{var i=this;return Promise.resolve(i.getEndpoints(r)).then(function(s){return Promise.resolve(i.getServiceEndpoints(r,s)).then(function(r){function s(e){var t;function r(e){return t?e:Promise.resolve(a.json()).then(function(e){throw V.error("File info call failed: ",a.status,a.statusText,e),new Error(JSON.stringify(e))})}var n=function(e){if(null!=(e=a)&&e.ok)return Promise.resolve(a.json()).then(function(e){for(var r,n=z(e);!(r=n()).done;)u.push(r.value);return t=1,u})}();return n&&n.then?n.then(r):r(n)}var a,c={did:e,serviceId:t,checksum:n},u=[],l=i.getEndpointURL(r,"fileinfo")?i.getEndpointURL(r,"fileinfo").urlPath:null;if(!l)return null;var m=Xe(function(){return Promise.resolve(D(l,{method:"POST",body:JSON.stringify(c),headers:{"Content-Type":"application/json"},signal:o})).then(function(e){a=e})},function(e){throw V.error("File info call failed: "),V.error(e),new Error(e)});return m&&m.then?m.then(s):s()})})}catch(e){return Promise.reject(e)}},t.getFileInfo=function(e,t,r,n){void 0===r&&(r=!1);try{var o=this;return Promise.resolve(o.getEndpoints(t)).then(function(i){return Promise.resolve(o.getServiceEndpoints(t,i)).then(function(t){function i(e){var t;function r(e){return t?e:Promise.resolve(s.json()).then(function(e){throw V.error("File info call failed: ",s.status,s.statusText,e),new Error(JSON.stringify(e))})}var n=function(e){if(null!=(e=s)&&e.ok)return Promise.resolve(s.json()).then(function(e){for(var r,n=z(e);!(r=n()).done;)c.push(r.value);return t=1,c})}();return n&&n.then?n.then(r):r(n)}var s,a=J({},e,{checksum:r}),c=[],u=o.getEndpointURL(t,"fileinfo")?o.getEndpointURL(t,"fileinfo").urlPath:null;if(!u)return null;var l=Xe(function(){return Promise.resolve(D(u,{method:"POST",body:JSON.stringify(a),headers:{"Content-Type":"application/json"},signal:n})).then(function(e){s=e})},function(e){throw V.error("File info call failed: "),V.error(e),new Error(e)});return l&&l.then?l.then(i):i()})})}catch(e){return Promise.reject(e)}},t.getComputeEnvironments=function(e,t){try{var r=this;return Promise.resolve(r.getEndpoints(e)).then(function(n){return Promise.resolve(r.getServiceEndpoints(e,n)).then(function(e){var n;function o(e){var t;return null!=(t=i)&&t.ok?i.json():Promise.resolve(i.json()).then(function(e){throw V.error("Fetch compute env failed: ",i.status,i.statusText,e),new Error(JSON.stringify(e))})}var i,s=null==(n=r.getEndpointURL(e,"computeEnvironments"))?void 0:n.urlPath;if(!s)return null;var a=Xe(function(){return Promise.resolve(D(s,{method:"GET",headers:{"Content-Type":"application/json"},signal:t})).then(function(e){i=e})},function(e){throw V.error("Fetch compute env failed: "),V.error(e),new Error(e)});return a&&a.then?a.then(o):o()})})}catch(e){return Promise.reject(e)}},t.initialize=function(e,t,r,n,o,i,s,a,c){try{var u=this;return Promise.resolve(u.getEndpoints(o)).then(function(l){return Promise.resolve(u.getServiceEndpoints(o,l)).then(function(o){function l(e){var t;function r(e){return t?e:Promise.resolve(m.json()).then(function(e){throw V.error("Provider initialized failed: ",m.status,m.statusText,e),new Error(JSON.stringify(e))})}var n=function(e){if(200===(null==(e=m)?void 0:e.status))return Promise.resolve(m.json()).then(function(e){return t=1,e})}();return n&&n.then?n.then(r):r(n)}var m,h=u.getEndpointURL(o,"initialize")?u.getEndpointURL(o,"initialize").urlPath:null;if(!h)return null;h+="?documentId="+e,h+="&serviceId="+t,h+="&fileIndex="+r,h+="&consumerAddress="+n,s&&(h+="&userdata="+encodeURI(JSON.stringify(s))),a&&(h+="&environment="+encodeURI(a)),c&&(h+="&validUntil="+c);var d=Xe(function(){return Promise.resolve(D(h,{method:"GET",headers:{"Content-Type":"application/json"},signal:i})).then(function(e){m=e})},function(e){throw V.error("Provider initialized failed: "),V.error(e),new Error("Provider initialize failed url: "+h+" ")});return d&&d.then?d.then(l):l()})})}catch(e){return Promise.reject(e)}},t.initializeCompute=function(e,t,r,n,o,i,s,a,c,u,l,m,h){try{var d=this;return Promise.resolve(d.getEndpoints(i)).then(function(f){return Promise.resolve(d.getServiceEndpoints(i,f)).then(function(v){var g=d.getEndpointURL(v,"initializeCompute")?d.getEndpointURL(v,"initializeCompute").urlPath:null;return g?Promise.resolve(d.getConsumerAddress(s)).then(function(p){return Promise.resolve(d.getNonce(i,p,l,f,v)).then(function(f){function v(){function f(){function e(){var e;function t(t){var r;function n(t){return r?t:Promise.resolve(e.json()).then(function(t){throw V.error("Initialize compute failed: ",e.status,e.statusText,t),V.error("Payload was:",JSON.stringify(v)),new Error(JSON.stringify(t))})}var o=function(t){if(null!=(t=e)&&t.ok)return Promise.resolve(e.json()).then(function(e){return r=1,e})}();return o&&o.then?o.then(n):n(o)}var r=Xe(function(){return console.log("Initialize compute url:",g),Promise.resolve(D(g,{method:"POST",body:JSON.stringify(v),headers:{"Content-Type":"application/json",Authorization:d.getAuthorization(s)},signal:l})).then(function(t){return e=t,console.log("Raw response:",e),function(){if(!e.ok)return Promise.resolve(e.text()).then(function(e){throw new Error(""+e)})}()})},function(e){throw V.error("Initialize compute failed: "),V.error(e),new Error("ComputeJob cannot be initialized: "+e.message+".")});return r&&r.then?r.then(t):t()}u&&(v.policyServer=u);var t=function(){if(m)return Promise.resolve(d.getNodePublicKey(i)).then(function(e){e&&(v.output=Ze(e,JSON.stringify(m)))})}();return t&&t.then?t.then(e):e()}var v={datasets:e,algorithm:t,environment:r,payment:{chainId:c,token:n,resources:a},maxJobDuration:o,consumerAddress:p,signature:P},y=function(){if(h)return Promise.resolve(d.getNodePublicKey(i)).then(function(e){e&&(v.dockerRegistryAuth=Ze(e,JSON.stringify(h)))})}();return y&&y.then?y.then(f):f()}var P,y=(f+1).toString(),w="string"==typeof s,T=function(){if(!w){var t,r=p;return r+=null==(t=e[0])?void 0:t.documentId,r+=y,Promise.resolve(ze(s,r)).then(function(e){P=e})}}();return T&&T.then?T.then(v):v()})}):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(o)).then(function(u){return Promise.resolve(c.getServiceEndpoints(o,u)).then(function(l){var m=c.getEndpointURL(l,"download")?c.getEndpointURL(l,"download").urlPath:null;return m?Promise.resolve(c.getConsumerAddress(i)).then(function(h){return Promise.resolve(c.getNonce(o,h,null,u,l)).then(function(o){var u=(o+1).toString();return Promise.resolve(c.getSignature(i,u,_.DOWNLOAD)).then(function(o){var i=m;return i+="?fileIndex="+r,i+="&documentId="+e,i+="&transferTxId="+n,i+="&serviceId="+t,i+="&consumerAddress="+h,i+="&nonce="+u,s&&(i+="&policyServer="+encodeURI(JSON.stringify(s))),i+="&signature="+o,a&&(i+="&userdata="+encodeURI(JSON.stringify(a))),i})})}):null})})}catch(e){return Promise.reject(e)}},t.computeStart=function(e,t,r,n,o,i,s,a,c,u,l,m,h,d,f,v){try{var g=this;return console.log("called new compute start method..."),console.log("datasets: ",n),console.log("algorithm: ",o),Promise.resolve(g.getEndpoints(e)).then(function(p){return Promise.resolve(g.getServiceEndpoints(e,p)).then(function(P){var y=g.getEndpointURL(P,"computeStart")?g.getEndpointURL(P,"computeStart").urlPath:null;return y?Promise.resolve(g.getConsumerAddress(t)).then(function(w){return Promise.resolve(g.getNonce(e,w,d,p,P)).then(function(p){var P=(p+1).toString();return Promise.resolve(g.getSignature(t,P,_.COMPUTE_START)).then(function(p){function T(){function r(){var e;function r(t){var r;function n(t){return r?t:Promise.resolve(e.json()).then(function(t){throw V.error("Compute start failed: ",e.status,e.statusText,t),V.error("Payload was:",b),new Error(JSON.stringify(t))})}var o=function(t){if(null!=(t=e)&&t.ok)return Promise.resolve(e.json()).then(function(e){return r=1,e})}();return o&&o.then?o.then(n):n(o)}h&&(b.policyServer=h),f&&(b.queueMaxWaitTime=f);var n=Xe(function(){return Promise.resolve(D(y,{method:"POST",body:JSON.stringify(b),headers:{"Content-Type":"application/json",Authorization:g.getAuthorization(t)},signal:d})).then(function(t){e=t})},function(e){throw V.error("Compute start failed:"),V.error(e),V.error("Payload was:",b),new Error("HTTP request failed calling Provider")});return n&&n.then?n.then(r):r()}a&&(b.resources=a),u&&(b.metadata=u),l&&(b.additionalViewers=l);var n=function(){if(m)return Promise.resolve(g.getNodePublicKey(e)).then(function(e){e&&(b.output=Ze(e,JSON.stringify(m)))})}();return n&&n.then?n.then(r):r()}var b=Object();b.consumerAddress=w,b.signature=p,b.nonce=P,b.environment=r,b.maxJobDuration=i,b.resources=a,b.dataset=n[0],b.datasets=n,b.algorithm=o,b.chainId=c,b.payment={chainId:c,token:s,maxJobDuration:i};var k=function(){if(v)return Promise.resolve(g.getNodePublicKey(e)).then(function(e){e&&(b.dockerRegistryAuth=Ze(e,JSON.stringify(v)))})}();return k&&k.then?k.then(T):T()})})}):(V.error("Compute start failed: Cannot get proper computeStart route (perhaps not implemented on provider?)"),null)})})}catch(e){return Promise.reject(e)}},t.freeComputeStart=function(e,t,r,n,o,i,s,a,c,u,l,m,h){try{var d=this;return console.log("called new free compute start method..."),console.log("datasets: ",n),console.log("algorithm: ",o),Promise.resolve(d.getEndpoints(e)).then(function(f){return Promise.resolve(d.getServiceEndpoints(e,f)).then(function(v){var g=d.getEndpointURL(v,"freeCompute")?d.getEndpointURL(v,"freeCompute").urlPath:null;return g?Promise.resolve(d.getConsumerAddress(t)).then(function(p){return Promise.resolve(d.getNonce(e,p,l,f,v)).then(function(f){var v=(f+1).toString();return Promise.resolve(d.getSignature(t,v,_.FREE_COMPUTE_START)).then(function(f){function P(){function r(){var e;function r(t){var r;function n(t){return r?t:Promise.resolve(e.json()).then(function(t){throw V.error("Compute start failed: ",e.status,e.statusText,t),V.error("Payload was:",y),new Error(JSON.stringify(t))})}var o=function(t){if(null!=(t=e)&&t.ok)return Promise.resolve(e.json()).then(function(e){return r=1,e})}();return o&&o.then?o.then(n):n(o)}u&&(y.policyServer=u),m&&(y.queueMaxWaitTime=m);var n=Xe(function(){return Promise.resolve(D(g,{method:"POST",body:JSON.stringify(y),headers:{"Content-Type":"application/json",Authorization:d.getAuthorization(t)},signal:l})).then(function(t){e=t})},function(e){throw V.error("Compute start failed:"),V.error(e),V.error("Payload was:",y),new Error("HTTP request failed calling Provider")});return n&&n.then?n.then(r):r()}var n=function(){if(c)return Promise.resolve(d.getNodePublicKey(e)).then(function(e){e&&(y.output=Ze(e,JSON.stringify(c)))})}();return n&&n.then?n.then(r):r()}var y=Object();y.consumerAddress=p,y.signature=f,y.nonce=v,y.environment=r,y.resources=i,y.dataset=n[0],y.datasets=n,y.algorithm=o,s&&(y.metadata=s),a&&(y.additionalViewers=a);var w=function(){if(h)return Promise.resolve(d.getNodePublicKey(e)).then(function(e){e&&(y.dockerRegistryAuth=Ze(e,JSON.stringify(h)))})}();return w&&w.then?w.then(P):P()})})}):(V.error("Compute start failed: Cannot get proper computeStart route (perhaps not implemented on provider?)"),null)})})}catch(e){return Promise.reject(e)}},t.computeStreamableLogs=function(e,t,r,n){try{var o=this,i="string"==typeof t;return Promise.resolve(o.getEndpoints(e)).then(function(s){return Promise.resolve(o.getServiceEndpoints(e,s)).then(function(a){var c=o.getEndpointURL(a,"computeStreamableLogs")?o.getEndpointURL(a,"computeStreamableLogs").urlPath:null;return c?Promise.resolve(o.getConsumerAddress(t)).then(function(u){return Promise.resolve(o.getNonce(e,u,n,s,a)).then(function(e){function s(){var e;function r(t){var r,n;if(null!=(r=e)&&r.ok||200===(null==(n=e)?void 0:n.status))return console.log("Response body:",e.body),e.body;var o=V.error,i=e.statusText,s=e.status;return Promise.resolve(e.json()).then(function(e){return o.call(V,"computeStreamableLogs failed: ",s,i,e),null})}var i=Xe(function(){return Promise.resolve(D(c+l,{method:"GET",headers:{"Content-Type":"application/json",Authorization:o.getAuthorization(t)},signal:n})).then(function(t){e=t,console.log("Raw response:",e)})},function(e){throw V.error("computeStreamableLogs failed:"),V.error(e),new Error("HTTP request failed calling Provider")});return i&&i.then?i.then(r):r()}var a=(e+1).toString(),l="?consumerAddress="+u+"&jobId="+r,m=function(){if(!i)return Promise.resolve(o.getSignature(t,a,_.COMPUTE_GET_STREAMABLE_LOGS)).then(function(e){l+="&signature="+e,l+="&nonce="+a})}();return m&&m.then?m.then(s):s()})}):(V.error("Compute start failed: Cannot get proper computeStreamableLogs route (perhaps not implemented on provider?)"),null)})})}catch(e){return Promise.reject(e)}},t.getComputeStartRoutes=function(e,t){void 0===t&&(t=!1);try{var r=this;return Promise.resolve(r.getEndpoints(e)).then(function(n){return Promise.resolve(r.getServiceEndpoints(e,n)).then(function(e){return t?r.getEndpointURL(e,"freeCompute")?r.getEndpointURL(e,"freeCompute").urlPath:null:r.getEndpointURL(e,"computeStart")?r.getEndpointURL(e,"computeStart").urlPath:null})})}catch(e){return Promise.reject(e)}},t.computeStop=function(e,t,r,n,o){try{var i=this,s="string"==typeof r;return Promise.resolve(i.getEndpoints(t)).then(function(a){return Promise.resolve(i.getServiceEndpoints(t,a)).then(function(c){var u=i.getEndpointURL(c,"computeStop")?i.getEndpointURL(c,"computeStop").urlPath:null;return Promise.resolve(i.getConsumerAddress(r)).then(function(l){return Promise.resolve(i.getNonce(t,l,o,a,c)).then(function(t){var a=(t+1).toString();return Promise.resolve(i.getSignature(r,a,_.COMPUTE_STOP)).then(function(t){function c(e){var t;function r(e){return t?e:Promise.resolve(h.json()).then(function(e){throw V.error("Compute stop failed: ",h.status,h.statusText,e),new Error(JSON.stringify(e))})}var n=function(e){if(null!=(e=h)&&e.ok)return Promise.resolve(h.json()).then(function(e){return t=1,e})}();return n&&n.then?n.then(r):r(n)}var m=new URLSearchParams;m.set("consumerAddress",l),m.set("nonce",a),m.set("jobId",e),s||m.set("signature",t),n&&m.set("agreementId",n);var h,d=m.toString();if(!d)return null;var f=Xe(function(){return Promise.resolve(D(u+"?"+d,{method:"PUT",headers:{"Content-Type":"application/json",Authorization:i.getAuthorization(r)},signal:o})).then(function(e){h=e})},function(e){throw V.error("Compute stop failed:"),V.error(e),new Error("HTTP request failed calling Provider")});return f&&f.then?f.then(c):c()})})})})})}catch(e){return Promise.reject(e)}},t.computeStatus=function(e,t,r,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){function a(e){var t;function r(e){var r;if(t)return e;function n(e){return r?e:Promise.resolve(c.json()).then(function(e){throw V.error("Get compute status failed:",c.status,c.statusText,e),new Error(JSON.stringify(e))})}V.error("Get compute status failed:",c.status,c.statusText);var o=function(e){if(null!=(e=c)&&e.ok)return Promise.resolve(c.json()).then(function(e){return r=1,e})}();return o&&o.then?o.then(n):n(o)}var n=function(e){if(null!=(e=c)&&e.ok)return Promise.resolve(c.json()).then(function(e){return t=1,e})}();return n&&n.then?n.then(r):r(n)}var c,u=s.getEndpointURL(e,"computeStatus")?s.getEndpointURL(e,"computeStatus").urlPath:null,l="?consumerAddress="+t;if(l+=n&&"&agreementId="+n||"",l+=r&&"&jobId="+r||"",!u)return null;var m=Xe(function(){return console.log("computeStatusUrl: ",u+l),Promise.resolve(D(u+l,{method:"GET",headers:{"Content-Type":"application/json",Authorization:i},signal:o})).then(function(e){c=e})},function(e){throw V.error("Get compute status failed"),V.error(e),new Error(e)});return m&&m.then?m.then(a):a()})})}catch(e){return Promise.reject(e)}},t.getComputeResultUrl=function(e,t,r,n){try{var o=this,i="string"==typeof t;return Promise.resolve(o.getEndpoints(e)).then(function(s){return Promise.resolve(o.getServiceEndpoints(e,s)).then(function(a){var c=o.getEndpointURL(a,"computeResult")?o.getEndpointURL(a,"computeResult").urlPath:null;return Promise.resolve(o.getConsumerAddress(t)).then(function(u){return Promise.resolve(o.getNonce(e,u,null,s,a)).then(function(e){var s=(e+1).toString();return Promise.resolve(o.getSignature(t,s,_.COMPUTE_GET_RESULT)).then(function(e){if(!c)return null;var t=c;return t+="?consumerAddress="+u,t+="&jobId="+r,t+="&index="+n.toString(),i||(t+="&nonce="+s,t+="&signature="+e),t})})})})})}catch(e){return Promise.reject(e)}},t.generateAuthToken=function(e,t,r){try{var n=this;return Promise.resolve(e.getAddress()).then(function(o){return Promise.resolve(n.getEndpoints(t)).then(function(i){return Promise.resolve(n.getServiceEndpoints(t,i)).then(function(s){var a=n.getEndpointURL(s,"generateAuthToken").urlPath||null;return Promise.resolve(n.getNonce(t,o,r,i,s)).then(function(t){var i=(t+1).toString();return Promise.resolve(n.getSignature(e,i,_.CREATE_AUTH_TOKEN)).then(function(e){return Xe(function(){return Promise.resolve(D(a,{method:"POST",body:JSON.stringify({address:o,signature:e,nonce:i}),headers:{"Content-Type":"application/json"},signal:r})).then(function(e){if(null==e||!e.ok)throw new Error("Failed to generate auth token: "+e.status+" "+e.statusText);return Promise.resolve(e.json()).then(function(e){return null==e?void 0:e.token})})},function(e){throw V.error("Generate auth token failed:"),V.error(e),new Error("HTTP request failed calling Provider")})})})})})})}catch(e){return Promise.reject(e)}},t.invalidateAuthToken=function(e,t,r,n){try{var o=this;return Promise.resolve(e.getAddress()).then(function(i){return Promise.resolve(o.getEndpoints(r)).then(function(s){return Promise.resolve(o.getServiceEndpoints(r,s)).then(function(a){var c=o.getEndpointURL(a,"invalidateAuthToken").urlPath||null;return Promise.resolve(o.getNonce(r,i,n,s,a)).then(function(r){var o=(r+1).toString();return Promise.resolve(ze(e,i+o)).then(function(e){return Xe(function(){return Promise.resolve(D(c,{method:"POST",body:JSON.stringify({address:i,signature:e,token:t,nonce:o}),headers:{"Content-Type":"application/json"},signal:n})).then(function(e){if(null==e||!e.ok)throw new Error("Failed to invalidate auth token: "+e.status+" "+e.statusText);return Promise.resolve(e.json())})},function(e){throw V.error("Generate auth token failed:"),V.error(e),new Error("HTTP request failed calling Provider")})})})})})})}catch(e){return Promise.reject(e)}},t.isValidProvider=function(e,t){try{return Promise.resolve(Xe(function(){return Promise.resolve(D(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||e.providerAddresses))return t=!0})}();return r&&r.then?r.then(function(e){return!!t&&e}):!!t&&r})},function(e){return V.error("Error validating provider: "+e.message),!1}))}catch(e){return Promise.reject(e)}},t.PolicyServerPassthrough=function(e,t,r){try{var n=this;return Promise.resolve(n.getEndpoints(e)).then(function(o){return Promise.resolve(n.getServiceEndpoints(e,o)).then(function(e){function o(e){var r;function n(e){return r?e:Promise.resolve(i.json()).then(function(e){throw V.error("PolicyServerPassthrough failed: ",i.status,i.statusText,e),V.error("Payload was:",JSON.stringify(t)),new Error(JSON.stringify(e))})}var o=function(e){if(null!=(e=i)&&e.ok)return Promise.resolve(i.json()).then(function(e){return r=1,e})}();return o&&o.then?o.then(n):n(o)}var i,s=n.getEndpointURL(e,"PolicyServerPassthrough")?n.getEndpointURL(e,"PolicyServerPassthrough").urlPath:null;if(!s)return null;var a=Xe(function(){return Promise.resolve(D(s,{method:"POST",body:JSON.stringify(t),headers:{"Content-Type":"application/json"},signal:r})).then(function(e){return i=e,function(){if(!i.ok)return Promise.resolve(i.text()).then(function(e){throw new Error(""+e)})}()})},function(e){throw V.error("PolicyServerPassthrough failed: "),V.error(e),new Error("PolicyServerPassthrough failed: "+e.message+".")});return a&&a.then?a.then(o):o()})})}catch(e){return Promise.reject(e)}},t.initializePSVerification=function(e,t,r){try{var n=this;return Promise.resolve(n.getEndpoints(e)).then(function(o){return Promise.resolve(n.getServiceEndpoints(e,o)).then(function(e){function o(e){var r;function n(e){return r?e:Promise.resolve(i.json()).then(function(e){throw V.error("initializePSVerification failed: ",i.status,i.statusText,e),V.error("Payload was:",JSON.stringify(t)),new Error(JSON.stringify(e))})}var o=function(e){if(null!=(e=i)&&e.ok)return Promise.resolve(i.json()).then(function(e){return r=1,e})}();return o&&o.then?o.then(n):n(o)}var i,s=n.getEndpointURL(e,"initializePSVerification")?n.getEndpointURL(e,"initializePSVerification").urlPath:null;if(!s)return null;var a=Xe(function(){return Promise.resolve(D(s,{method:"POST",body:JSON.stringify(t),headers:{"Content-Type":"application/json"},signal:r})).then(function(e){return i=e,function(){if(!i.ok)return Promise.resolve(i.text()).then(function(e){throw new Error(""+e)})}()})},function(e){throw V.error("initializePSVerification failed: "),V.error(e),new Error("initializePSVerification failed: "+e.message+".")});return a&&a.then?a.then(o):o()})})}catch(e){return Promise.reject(e)}},t.downloadNodeLogs=function(e,t,r,n,o,i,s,a,c){try{var u=this;return Promise.resolve(u.getEndpoints(e)).then(function(l){return Promise.resolve(u.getServiceEndpoints(e,l)).then(function(m){var h=u.getEndpointURL(m,"logs")?u.getEndpointURL(m,"logs").urlPath:null;return h?Promise.resolve(t.getAddress()).then(function(d){return Promise.resolve(u.getNonce(e,d,c,l,m)).then(function(e){var l=(e+1).toString();return Promise.resolve(u.getSignature(t,l,_.GET_LOGS)).then(function(e){function t(e){var t;return null!=(t=u)&&t.ok?u.body:Promise.resolve(u.json()).then(function(e){throw V.error("Download node logs failed: ",u.status,u.statusText,e),new Error(JSON.stringify(e))})}var u,m=h+"?startTime="+r+"&endTime="+n;o&&(m+="&maxLogs="+o),i&&(m+="&moduleName="+i),s&&(m+="&level="+s),a&&(m+="&page="+a);var f=Xe(function(){return Promise.resolve(D(m,{method:"POST",body:JSON.stringify({signature:e,nonce:l,address:d}),headers:{"Content-Type":"application/json"},signal:c})).then(function(e){u=e})},function(e){throw V.error("Download node logs failed:"),V.error(e),new Error("HTTP request failed calling Provider")});return f&&f.then?f.then(t):t()})})}):(V.error("Download node logs failed: Cannot get proper logs route (perhaps not implemented on provider?)"),null)})})}catch(e){return Promise.reject(e)}},t.noZeroX=function(e){return this.zeroXTransformer(e,!1)},t.zeroXTransformer=function(e,t){void 0===e&&(e="");var r=this.inputMatch(e,/^(?:0x)*([a-f0-9]+)$/i,"zeroXTransformer");return(t&&r.valid?"0x":"")+r.output},t.inputMatch=function(e,t,r){if("string"!=typeof e)throw V.debug("Not input string:"),V.debug(e),new Error("["+r+"] Expected string, input type: "+typeof e);var n=e.match(t);return n?{valid:!0,output:n[1]}:(V.warn("["+r+"] Input transformation failed."),{valid:!1,output:e})},t.getData=function(e,t){try{return Promise.resolve(D(e,{method:"GET",headers:{"Content-type":"application/json",Authorization:t}}))}catch(e){return Promise.reject(e)}},e}(),$e=new Ye;function Qe(e,t){return e=l(e),"did:op:"+R(e+t.toString(10)).toString()}function et(e){return R(e).toString()}var tt=function(e,t){try{return Promise.resolve(fetch(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)}};function rt(e){var t=new XMLHttpRequest;t.responseType="blob",t.open("GET",e),t.onload=function(){var e=t.getResponseHeader("content-disposition"),r=null==e?void 0:e.match(/filename[^;=\n]*=((['"]).*?\2|[^;\n]*)/),n=r&&r[1]?r[1]:"file",o=window.URL.createObjectURL(t.response),i=document.createElement("a");i.href=o,i.setAttribute("download",n),document.body.appendChild(i),i.click(),i.remove(),window.URL.revokeObjectURL(o)},t.send()}var nt=function(e,t){try{var r=new o.Contract(t,$,e);return Promise.resolve(r.decimals()).then(Number)}catch(e){return Promise.reject(e)}},ot=function(e,t,r,n){try{var i=new o.Contract(t,$,e);return Promise.resolve(i.allowance(r,n))}catch(e){return Promise.reject(e)}},it=function(e,t,r,n){try{var i=new o.Contract(t,$,e);return Promise.resolve(i.balanceOf(r)).then(function(r){return Promise.resolve(te(e,t,r,n))})}catch(e){return Promise.reject(e)}},st=function(e,t,r,n,i){try{var s=new o.Contract(t,$,e);return Promise.resolve(s.allowance(r,n)).then(function(r){return Promise.resolve(te(e,t,r,i))})}catch(e){return Promise.reject(e)}},at=function(e,t,r,n,i,s,a){try{var c=new o.Contract(r,$,e);return Promise.resolve(ee(e,r,i,s)).then(function(r){return Promise.resolve(c.transfer.estimateGas(n,r)).then(function(o){return a?o:Promise.resolve(Q(o,e,null==t?void 0:t.gasFeeMultiplier,c.transfer,n,r))})})}catch(e){return Promise.reject(e)}},ct=function(e,t,r,n,i,s,a,c){void 0===a&&(a=!1);try{var u,l=function(r){if(u)return r;var n=null;return Promise.resolve(m.approve.estimateGas(i,s)).then(function(r){if(c)return r;var o=function(e,t){try{var r=e()}catch(e){return t(e)}return r&&r.then?r.then(void 0,t):r}(function(){return Promise.resolve(Q(r,e,null==t?void 0:t.gasFeeMultiplier,m.approve,i,s)).then(function(e){n=e})},function(e){V.error("ERROR: Failed to approve spender to spend tokens : "+e.message)});return o&&o.then?o.then(function(){return n}):n})},m=new o.Contract(n,$,e),h=function(){if(!a)return Promise.resolve(ot(e,n,r,i)).then(function(e){if(new v(e).isGreaterThan(new v(s))){var t=BigInt(e);return u=1,t}})}();return Promise.resolve(h&&h.then?h.then(l):l(h))}catch(e){return Promise.reject(e)}},ut=function(e,t,r,n,i,s,a,c,u){void 0===a&&(a=!1);try{var l,m=function(r){return l?r:Promise.resolve(ee(e,n,s,c)).then(function(r){return Promise.resolve(h.approve.estimateGas(i,r)).then(function(n){return u?new g(n.toString()):Promise.resolve(Q(n,e,null==t?void 0:t.gasFeeMultiplier,h.approve,i,r))})})},h=new o.Contract(n,$,e),d=function(){if(!a)return Promise.resolve(st(e,n,r,i)).then(function(e){if(new g(e).greaterThanOrEqualTo(new g(s))){var t=new g(e).toNumber();return l=1,t}})}();return Promise.resolve(d&&d.then?d.then(m):m(d))}catch(e){return Promise.reject(e)}},lt={datasets:{invalid:"Datasets is not a list, as expected"},algorithm:{serviceId:{missing:"The serviceId key is missing from the algorithm s DDO.",not_found:"The provided serviceId does not exist.",service_not_access_compute:"Service type is neither access, nor compute.",main_service_compute:"If the main service is not compute for this asset when calling initialize endpoint.",compute_services_not_in_same_provider:"Files attached to the compute service are not decrypted by the correct provider. This occurs when both asset and algorithm are requested by their compute service which cannot be decrypted by a single provider as how it is supposed to be."},container:{checksum_prefix:"Container checksum does not start with the prefix sha256:.",mising_entrypoint_image_checksum:"Either entrypoint, either image, or either checksum are missing from the container dictionary from the algorithm s DDO."},documentId:{did_not_found:"The algorithm s DID could not be retrieved from the metadata store, because the algorithm asset does not exist.",missing:"The documentId key is missing from the algorithm s DDO."},transferTxId:{missing:"The transferTxId key is missing from the algorithm s DDO."},missing_meta_documentId:"Either algorithm metadata, or algorithm DID are missing.",did_not_found:"Either algorithm metadata, or algorithm DID are missing.",not_algo:"Either algorithm metadata, or algorithm DID are missing.",in_use_or_not_on_chain:"Either algorithm metadata, or algorithm DID are missing.",meta_oneof_url_rawcode_remote:"Either algorithm metadata, or algorithm DID are missing.",file_unavailable:"One possibility is that the asset could not be retrieved from Aquariuss database. Otherwise, there are issues related to services"},error:{not_trusted_algo_publisher:"The owner of the algorithm's DDO is not a trusted algorithms publishers list.",not_trusted_algo:"The algorithm's DID is not in the asset's trusted algorithms dictionary. ",no_publisherTrustedAlgorithms:"The algorithm's key publisherTrustedAlgorithms does not exist in the algorithm's DDO.",algorithm_file_checksum_mismatch:"filesChecksum from the algorithm's DDO is invalid.",algorithm_container_checksum_mismatch:"The containerChecksum from the algorithm's DDO is invalid.",no_raw_algo_allowed:"The asset does not allow raw algorithms to be run on it.","Asset malformed":"The asset published on chain is malformed, missing some required keys or not compliant with our schemas.","Asset is not consumable.":"Assets metadata status is not in the range of valid status codes for assets. The recognized states for the metadata are defined on our docs.","DID is not a valid algorithm.":"Either the algorithm assets DID is incorrectly typed, either the algorithm timeout expired.","Compute environment does not exist.":"The compute environment provided by the user does not exist, it is not served by our compute-to-data feature. The user can use get_c2d_environments to check the list of available compute environments.","The validUntil value is not correct.":"validUntil value is most probably expired.","Cannot resolve DID":"The dataset DID does not exist in the Metadata store.","Invalid serviceId":"The serviceId of that dataset is not correct.","Unable to get dataset files":"The files of that dataset could not be decrypted or retrieved","cannot decrypt files for this service.":"The files of that dataset could not be decrypted due to the fact that file object, which contains the structure and the type of specific file, is missing from the validation part.","Unsupported type ":"The file object type is not supported by Provider.","malformed file object":"The file object structure is invalid and does not contain the wanted information for the specific file."},order:{fees_not_paid:" Provider fees are not paid."},output:{invalid:"The algorithms validation after the build stage has not been decoded properly as a dictionary."}};function mt(e){try{var t=JSON.parse(e),r=Object.keys(t)[0];if("error"===r){var n,o=t[r];return(null==(n=lt[r])?void 0:n[o])||"Provider request failed: "+o}var i=t[r];return t[Object.keys(t)[1]]+" : "+i}catch(t){return V.error("[getErrorMessage] error: ",t),e}}function ht(e,t,r){if(!e.s){if(r instanceof dt){if(!r.s)return void(r.o=ht.bind(null,e,t));1&t&&(t=r.s),r=r.v}if(r&&r.then)return void r.then(ht.bind(null,e,t),ht.bind(null,e,2));e.s=t,e.v=r;var n=e.o;n&&n(e)}}var dt=/*#__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{ht(n,1,i(this.v))}catch(e){ht(n,2,e)}return n}return this}return this.o=function(e){try{var o=e.v;1&e.s?ht(n,1,t?t(o):o):r?ht(n,1,r(o)):ht(n,2,o)}catch(e){ht(n,2,e)}},n},e}(),ft=function(e,t,r,n,o,i,s,a,c,u,l,m){void 0===c&&(c="0"),void 0===u&&(u=0),void 0===l&&(l=0),void 0===m&&(m=0);try{var h=x.getDDOClass(e),d=h.getAssetFields().datatokens,f=h.getDDOFields(),v=f.chainId,p=f.services;return s||(s={consumeMarketFeeAddress:"0x0000000000000000000000000000000000000000",consumeMarketFeeAmount:"0",consumeMarketFeeToken:"0x0000000000000000000000000000000000000000"}),Promise.resolve(t.provider.getNetwork()).then(function(h){if(v!==Number(h.chainId))throw new Error("Chain ID from DDO is different than the configured network.");if(!d[u].address)throw new Error("The datatoken with index: "+u+" does not exist for the asset with did: "+e.id);if(!p[l].id)throw new Error("There is no service with index: "+l+" defined for the asset with did: "+e.id);return Promise.resolve(n.getId(d[u].address)).then(function(h){return Promise.resolve(n.getFixedRates(d[u].address)).then(function(f){return Promise.resolve(n.getDispensers(d[u].address)).then(function(v){return Promise.resolve(n.getPublishingMarketFee(d[u].address)).then(function(P){function y(e){return a?e:Promise.resolve(b.call($e,E,k,0,e,o||r.oceanNodeUri)).then(w)}function w(o){function v(o){function a(o){var i,a={consumer:o,serviceIndex:l,_providerFee:y,_consumeMarketFee:s};return function(e,t){var r,n=-1;e:{for(var o=0;o<t.length;o++){var i=t[o][0];if(i){var s=i();if(s&&s.then)break e;if(s===e){n=o;break}}else n=o}if(-1!==n){do{for(var a=t[n][1];!a;)n++,a=t[n][1];var c=a();if(c&&c.then){r=!0;break e}var u=t[n][2];n++}while(u&&!u());return c}}var l=new dt,m=ht.bind(null,l,2);return(r?c.then(h):s.then(function r(s){for(;;){if(s===e){n=o;break}if(++o===t.length){if(-1!==n)break;return void ht(l,1,c)}if(i=t[o][0]){if((s=i())&&s.then)return void s.then(r).then(void 0,m)}else n=o}do{for(var a=t[n][1];!a;)n++,a=t[n][1];var c=a();if(c&&c.then)return void c.then(h).then(void 0,m);var u=t[n][2];n++}while(u&&!u());ht(l,1,c)})).then(void 0,m),l;function h(e){for(;;){var r=t[n][2];if(!r||r())break;n++;for(var o=t[n][1];!o;)n++,o=t[n][1];if((e=o())&&e.then)return void e.then(h).then(void 0,m)}ht(l,1,e)}}(T,[[function(){return"free"},function(){var e=function(e){var t;if(i)return e;function o(e){if(t)return e}var s=function(){if(2===h||4===h)return Promise.resolve(n.buyFromDispenserAndOrder(p[l].datatokenAddress,a,r.dispenserAddress)).then(function(e){return t=1,e})}();return s&&s.then?s.then(o):o(s)},o=function(){if(1===h){var e=new fe(r.dispenserAddress,t),o=e.dispense,s=d[u].address;return Promise.resolve(t.getAddress()).then(function(t){return Promise.resolve(o.call(e,s,"1",t)).then(function(e){if(!e)throw new Error("Failed to dispense !");return Promise.resolve(e.wait()).then(function(){return Promise.resolve(n.startOrder(d[u].address,a.consumer,a.serviceIndex,a._providerFee,a._consumeMarketFee)).then(function(e){return i=1,e})})})})}}();return o&&o.then?o.then(e):e(o)}],[function(){return"fixed"},function(){var o=new ye(r.fixedRateExchangeAddress,t);if(!f[m].id)throw new Error("There is no fixed rate exchange with index: "+l+" for the asset with did: "+e.id);return Promise.resolve(o.getFeesInfo(f[m].id)).then(function(e){return Promise.resolve(o.getExchange(f[m].id)).then(function(i){return Promise.resolve(o.calcBaseInGivenDatatokensOut(e.exchangeId,"1",s.consumeMarketFeeAmount)).then(function(l){var m;function f(e){var o;if(m)return e;function s(e){if(o)return e}var c=function(){if(2===h||4===h)return Promise.resolve(t.getAddress()).then(function(e){return Promise.resolve(ut(t,r,e,i.baseToken,d[u].address,v,!1)).then(function(e){function t(e){if(!e)throw new Error("Failed to confirm/mine approval transaction!");return Promise.resolve(n.buyFromFreAndOrder(d[u].address,a,p)).then(function(e){return o=1,e})}if(!e)throw new Error("Failed to approve "+i.baseToken+" !");return"number"!=typeof e?Promise.resolve("number"!=typeof e?e.wait():e).then(t):t("number"!=typeof e?e.wait():e)})})}();return c&&c.then?c.then(s):s(c)}var v=new g(+l.baseTokenAmount||0).add(new g(s.consumeMarketFeeAmount||0)).add(new g(+P.publishMarketFeeAmount||0)).toString(),p={exchangeContract:r.fixedRateExchangeAddress,exchangeId:e.exchangeId,maxBaseTokenAmount:v,baseTokenAddress:i.baseToken,baseTokenDecimals:parseInt(i.btDecimals)||18,swapMarketFee:c,marketFeeAddress:P.publishMarketFeeAddress},y=function(){if(1===h)return Promise.resolve(t.getAddress()).then(function(e){return Promise.resolve(ut(t,r,e,i.baseToken,r.fixedRateExchangeAddress,v,!1)).then(function(e){function t(e){if(!e)throw new Error("Failed to approve "+i.baseToken+" !");return Promise.resolve(o.buyDatatokens(i.exchangeId,"1",v,P.publishMarketFeeAddress,c)).then(function(e){return Promise.resolve(e.wait()).then(function(e){if(!e)throw new Error("Failed to buy datatoken from fixed rate!");return Promise.resolve(n.startOrder(d[u].address,a.consumer,a.serviceIndex,a._providerFee,a._consumeMarketFee)).then(function(e){return m=1,e})})})}return"number"!=typeof e?Promise.resolve("number"!=typeof e?e.wait():e).then(t):t("number"!=typeof e?e.wait():e)})})}();return y&&y.then?y.then(f):f(y)})})})}],[void 0,function(){throw new Error("Pricing schema not supported !")}]])}return i?a(i):Promise.resolve(t.getAddress()).then(a)}var y=a||o.providerFee,w=function(){if(y&&y.providerFeeAddress!==ve&&y.providerFeeAmount&&parseInt(y.providerFeeAmount)>0)return function(e,n){try{var o=Promise.resolve(t.getAddress()).then(function(e){return Promise.resolve(ct(t,r,e,y.providerFeeToken,p[0].datatokenAddress,y.providerFeeAmount)).then(function(){})})}catch(e){return n()}return o&&o.then?o.then(void 0,n):o}(0,function(){throw new Error("Failed to approve provider fee token "+y.providerFeeToken)})}();return w&&w.then?w.then(v):v()}var T=f.length>0?"fixed":v.length>0?"free":"NOT_ALLOWED",b=a||$e.initialize,k=a||p[l].id,E=a||e.id;return a?y(w(a)):Promise.resolve(t.getAddress()).then(y)})})})})})}catch(e){return Promise.reject(e)}};function vt(e,t){try{var r=e()}catch(e){return t(e)}return r&&r.then?r.then(void 0,t):r}var gt=function(e,t,r){try{var n=new o.Contract(e,C.abi,t);return Promise.resolve(t.getAddress()).then(function(e){var t,o=vt(function(){return Promise.resolve(n.deployAccessListContract("AllowList","ALLOW",!0,e,r||[e],["https://oceanprotocol.com/nft/"])).then(function(e){return function(){if(e&&e.wait)return Promise.resolve(e.wait()).then(function(e){var r=me(e,"NewAccessList");return t=1,r.args[0]})}()})},function(e){console.log("ERROR createAccessListFactory(): ",e)});return o&&o.then?o.then(function(e){return t?e:null}):t?o:null})}catch(e){return Promise.reject(e)}},pt=function(e,t,r,n,i,a,u,l,m,h,f,v,g,p,P){void 0===u&&(u=!0);try{var y,w,T=this,b=x.getDDOClass(a),k=b.getAssetFields().indexedMetadata,E=(null==(y=b.getDDOData())||null==(y=y.stats)||null==(y=y.price)?void 0:y.value)||(null==k||null==(w=k.stats[0])||null==(w=w.prices[0])?void 0:w.price),A=b.getDDOFields(),C=A.chainId,F=A.nftAddress,j=b.getDDOFields().services;if("string"!=typeof i&&"number"!=typeof i)throw new Error('Invalid template! Must be a "number" or a "string"');return Promise.resolve(r.provider.getNetwork()).then(function(y){var w=y.chainId;if(C&&C!==Number(w))throw new Error("Chain ID from DDO is different than the configured network.");var k=(new Y).getConfig(parseInt(String(w)));return Promise.resolve(Fe(r,k.nftFactoryAddress,i,Number(w))).then(function(i){if(i<1){if(Number(w)!==Pt)throw new Error("Invalid template index: "+i);i=1}var y=new xe(r,Number(w)),A=new Ee(k.nftFactoryAddress,r,Number(w));return Promise.resolve(r.getAddress()).then(function(D){var x;function O(e){return x?e:Promise.resolve(M.wait()).then(function(e){var t;function n(e){if(t)return e;function n(){function e(){var e=y.setMetadata,i=F;return Promise.resolve(r.getAddress()).then(function(r){return Promise.resolve(e.call(y,i,r,0,l,"",d(o),t,n)).then(function(){return a.id})})}j[0].datatokenAddress=v,j[0].serviceEndpoint=l;var t,n,o,i=b.makeDid(F=f,C.toString());a=b.updateFields({id:i,nftAddress:F});var s=function(){if(u)return Promise.resolve($e.encrypt(a,Number(w),l,r,null)).then(function(e){return t=e,Promise.resolve(h.validate(a,r,l)).then(function(e){n=e.hash,o=2})});var e=JSON.stringify(a),i=Buffer.from(e);t=c(i),n="0x"+U("sha256").update(t).digest("hex"),o=0}();return s&&s.then?s.then(e):e()}var o=function(){if("oasis"!==k.sdk)return Promise.resolve($e.encrypt(I,Number(w),l,r,null)).then(function(e){j[0].files=e});j[0].files=""}();return o&&o.then?o.then(n):n()}var i=me(e,"NFTCreated"),m=me(e,"TokenCreated"),f=i.args.newTokenAddress,v=m.args.newTokenAddress;I.datatokenAddress=v,I.nftAddress=f;var g=function(){if("oasis"===k.sdk){var e=new o.Contract(v,S.abi,r);return vt(function(){return Promise.resolve(e.setFilesObject(s(JSON.stringify(I)))).then(function(e){var t=function(){if(e.wait)return Promise.resolve(e.wait()).then(function(){})}();if(t&&t.then)return t.then(function(){})})},function(e){return console.log("Error updating files object with data token and nft addresses: ",e),t=1,null})}}();return g&&g.then?g.then(n):n(g)})}var M,N={name:e,symbol:t,templateIndex:1,tokenURI:"aaa",transferable:!0,owner:D},R={templateIndex:i,cap:"100000",feeAmount:"0",paymentCollector:D,feeToken:m||k.oceanTokenAddress,minter:D,mpFeeAddress:ve},I={nftAddress:"0x0",datatokenAddress:"0x0",files:n};"oasis"===k.sdk&&(R.filesObject=I,R.accessListFactory=f||k.accessListFactory,R.allowAccessList=v,R.denyAccessList=g);var L=vt(function(){var e=function(){if(!E)return Promise.resolve(A.createNftWithDatatoken(N,R)).then(function(e){M=e});var e=function(){if("0"===E.toString())return Promise.resolve(A.createNftWithDatatokenWithDispenser(N,R,{dispenserAddress:k.dispenserAddress,maxTokens:"1",maxBalance:"100000000",withMint:!0,allowedSwapper:ve})).then(function(e){M=e});var e=p||k.oceanTokenAddress;return Promise.resolve(re(T.signer,e)).then(function(t){P||(P=t);var r={fixedRateAddress:k.fixedRateExchangeAddress,baseTokenAddress:e,owner:D,marketFeeCollector:D,baseTokenDecimals:P,datatokenDecimals:18,fixedRate:E.toString(),marketFee:"0",allowedConsumer:D,withMint:!0};return Promise.resolve(A.createNftWithDatatokenWithFixedRate(N,R,r)).then(function(e){M=e})})}();return e&&e.then?e.then(function(){}):void 0}();if(e&&e.then)return e.then(function(){})},function(e){return console.log("ERROR creating NFT bundle",e),x=1,null});return L&&L.then?L.then(O):O(L)})})})}catch(e){return Promise.reject(e)}},Pt=8996;function yt(e){var t=(new Y).getConfig(e);return t&&"oasis"===t.sdk}export{Ne as AccessListContract,Re as AccesslistFactory,Ke as Aquarius,G as Config,Y as ConfigHelper,Pt as DEVELOPMENT_CHAIN_ID,Oe as Datatoken,Me as Datatoken4,fe as Dispenser,I as EncryptMethod,_e as EnterpriseFeeCollectorContract,Le as EscrowContract,Pe as FEE_HISTORY_NOT_SUPPORTED,ye as FixedRateExchange,ge as GASLIMIT_DEFAULT,X as KNOWN_CONFIDENTIAL_EVMS,L as LogLevel,H as Logger,V as LoggerInstance,pe as MAX_UINT_256,xe as Nft,Ee as NftFactory,_ as PROTOCOL_COMMANDS,Ye as Provider,$e as ProviderInstance,we as Router,he as SmartContract,de as SmartContractWithAddress,ve as ZERO_ADDRESS,st as allowance,ot as allowanceWei,ee as amountToUnits,ut as approve,ct as approveWei,it as balance,Fe as calculateActiveTemplateIndex,Z as configHelperNetworks,gt as createAccessListFactory,pt as createAsset,nt as decimals,tt as downloadFile,rt as downloadFileBrowser,Qe as generateDid,be as generateDtName,mt as getErrorMessage,me as getEventFromTx,ne as getFairGasPrice,et as getHash,je as getOceanArtifactsAddresses,De as getOceanArtifactsAddressesByChainId,re as getTokenDecimals,Be as isDefined,$ as minAbi,ft as orderAsset,Q as sendTx,le as setContractDefaults,Je as signHash,ze as signRequest,Ge as sleep,at as transfer,te as unitsToAmount,yt as useOasisSDK};
1
+ import e from"@oceanprotocol/contracts/addresses/address.json";import t from"fs";import{parseUnits as r,formatUnits as n,ethers as o,EventLog as i,toUtf8Bytes as s,keccak256 as a,hexlify as u,toUtf8String as c,getAddress as l,parseEther as f,getBytes as h,toBeHex as d}from"ethers";import*as m from"@oasisprotocol/sapphire-paratime";import g from"bignumber.js";import v from"decimal.js";import p from"@oceanprotocol/contracts/artifacts/contracts/pools/dispenser/Dispenser.sol/Dispenser.json";import y from"@oceanprotocol/contracts/artifacts/contracts/pools/fixedRate/FixedRateExchange.sol/FixedRateExchange.json";import b from"@oceanprotocol/contracts/artifacts/contracts/pools/FactoryRouter.sol/FactoryRouter.json";import P from"@oceanprotocol/contracts/artifacts/contracts/templates/ERC20Template.sol/ERC20Template.json";import w from"@oceanprotocol/contracts/artifacts/contracts/templates/ERC20TemplateEnterprise.sol/ERC20TemplateEnterprise.json";import E from"@oceanprotocol/contracts/artifacts/contracts/templates/ERC721Template.sol/ERC721Template.json";import S from"@oceanprotocol/contracts/artifacts/contracts/ERC721Factory.sol/ERC721Factory.json";import A from"@oceanprotocol/contracts/artifacts/contracts/interfaces/IERC20Template.sol/IERC20Template.json";import T from"@oceanprotocol/contracts/artifacts/contracts/templates/ERC20Template4.sol/ERC20Template4.json";import x from"@oceanprotocol/contracts/artifacts/contracts/accesslists/AccessList.sol/AccessList.json";import k from"@oceanprotocol/contracts/artifacts/contracts/accesslists/AccessListFactory.sol/AccessListFactory.json";import C from"@oceanprotocol/contracts/artifacts/contracts/escrow/Escrow.sol/Escrow.json";import O from"@oceanprotocol/contracts/artifacts/contracts/communityFee/EnterpriseFeeCollector.sol/EnterpriseFeeCollector.json";import F from"cross-fetch";import{DDOManager as D}from"@oceanprotocol/ddo-js";import{allocUnsafe as I,alloc as N}from"uint8arrays/alloc";import{concat as j}from"uint8arrays/concat";import{equals as L}from"uint8arrays/equals";import{fromString as U}from"uint8arrays/from-string";import{toString as R}from"uint8arrays/to-string";import M from"jsonwebtoken";import{PublicKey as B,encrypt as _}from"eciesjs";import{createLibp2p as G}from"libp2p";import{noise as V}from"@chainsafe/libp2p-noise";import{yamux as q}from"@chainsafe/libp2p-yamux";import{webSockets as z}from"@libp2p/websockets";import{tcp as H}from"@libp2p/tcp";import{bootstrap as K}from"@libp2p/bootstrap";import{identify as Z}from"@libp2p/identify";import{EventTypes as J,kadDHT as $}from"@libp2p/kad-dht";import{multiaddr as W}from"@multiformats/multiaddr";import Y from"crypto-js/sha256.js";import{createHash as X}from"crypto";var Q,ee;!function(e){e.URL="url",e.IPFS="ipfs",e.ARWEAVE="arweave",e.S3="s3",e.FTP="ftp"}(Q||(Q={})),function(e){e.AES="AES",e.ECIES="ECIES"}(ee||(ee={}));var te,re={DOWNLOAD:"download",ENCRYPT:"encrypt",ENCRYPT_FILE:"encryptFile",DECRYPT_DDO:"decryptDDO",GET_DDO:"getDDO",QUERY:"query",NONCE:"nonce",STATUS:"status",DETAILED_STATUS:"detailedStatus",FIND_DDO:"findDDO",GET_FEES:"getFees",FILE_INFO:"fileInfo",VALIDATE_DDO:"validateDDO",COMPUTE_GET_ENVIRONMENTS:"getComputeEnvironments",COMPUTE_START:"startCompute",FREE_COMPUTE_START:"freeStartCompute",COMPUTE_STOP:"stopCompute",COMPUTE_GET_STATUS:"getComputeStatus",COMPUTE_GET_STREAMABLE_LOGS:"getComputeStreamableLogs",COMPUTE_GET_RESULT:"getComputeResult",COMPUTE_INITIALIZE:"initializeCompute",STOP_NODE:"stopNode",REINDEX_TX:"reindexTx",REINDEX_CHAIN:"reindexChain",HANDLE_INDEXING_THREAD:"handleIndexingThread",COLLECT_FEES:"collectFees",POLICY_SERVER_PASSTHROUGH:"PolicyServerPassthrough",GET_P2P_PEER:"getP2PPeer",GET_P2P_PEERS:"getP2PPeers",GET_P2P_NETWORK_STATS:"getP2PNetworkStats",FIND_PEER:"findPeer",CREATE_AUTH_TOKEN:"createAuthToken",INVALIDATE_AUTH_TOKEN:"invalidateAuthToken",FETCH_CONFIG:"fetchConfig",PUSH_CONFIG:"pushConfig",GET_LOGS:"getLogs",JOBS:"jobs"},ne=function(){this.nodeUri=void 0,this.providerAddress=void 0,this.oceanNodeUri=void 0,this.web3Provider=void 0,this.oceanTokenAddress=void 0,this.nftFactoryAddress=void 0,this.routerFactoryAddress=void 0,this.datatokensABI=void 0,this.fixedRateExchangeAddress=void 0,this.fixedRateExchangeAddressABI=void 0,this.dispenserAddress=void 0,this.dispenserABI=void 0,this.opfCommunityFeeCollector=void 0,this.EnterpriseFeeCollector=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.explorerUri=void 0,this.oceanTokenSymbol=void 0,this.transactionBlockTimeout=void 0,this.transactionConfirmationBlocks=void 0,this.transactionPollingTimeout=void 0,this.gasFeeMultiplier=void 0,this.sdk=void 0,this.accessListFactory=void 0,this.escrow=void 0};function oe(e,t){this.v=e,this.k=t}function ie(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function se(e){function t(e){if(Object(e)!==e)return Promise.reject(new TypeError(e+" is not an object."));var t=e.done;return Promise.resolve(e.value).then(function(e){return{value:e,done:t}})}return se=function(e){this.s=e,this.n=e.next},se.prototype={s:null,n:null,next:function(){return t(this.n.apply(this.s,arguments))},return:function(e){var r=this.s.return;return void 0===r?Promise.resolve({value:e,done:!0}):t(r.apply(this.s,arguments))},throw:function(e){var r=this.s.return;return void 0===r?Promise.reject(e):t(r.apply(this.s,arguments))}},new se(e)}function ae(e){return new oe(e,0)}function ue(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 ie(e,t);var r={}.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)?ie(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.")}function ce(){return ce=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)({}).hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},ce.apply(null,arguments)}function le(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,he(e,t)}function fe(){fe=function(){return t};var e,t={},r=Object.prototype,n=r.hasOwnProperty,o=Object.defineProperty||function(e,t,r){e[t]=r.value},i="function"==typeof Symbol?Symbol:{},s=i.iterator||"@@iterator",a=i.asyncIterator||"@@asyncIterator",u=i.toStringTag||"@@toStringTag";function c(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{c({},"")}catch(e){c=function(e,t,r){return e[t]=r}}function l(e,t,r,n){var i=Object.create((t&&t.prototype instanceof p?t:p).prototype),s=new F(n||[]);return o(i,"_invoke",{value:x(e,r,s)}),i}function f(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(e){return{type:"throw",arg:e}}}t.wrap=l;var h="suspendedStart",d="suspendedYield",m="executing",g="completed",v={};function p(){}function y(){}function b(){}var P={};c(P,s,function(){return this});var w=Object.getPrototypeOf,E=w&&w(w(D([])));E&&E!==r&&n.call(E,s)&&(P=E);var S=b.prototype=p.prototype=Object.create(P);function A(e){["next","throw","return"].forEach(function(t){c(e,t,function(e){return this._invoke(t,e)})})}function T(e,t){function r(o,i,s,a){var u=f(e[o],e,i);if("throw"!==u.type){var c=u.arg,l=c.value;return l&&"object"==typeof l&&n.call(l,"__await")?t.resolve(l.__await).then(function(e){r("next",e,s,a)},function(e){r("throw",e,s,a)}):t.resolve(l).then(function(e){c.value=e,s(c)},function(e){return r("throw",e,s,a)})}a(u.arg)}var i;o(this,"_invoke",{value:function(e,n){function o(){return new t(function(t,o){r(e,n,t,o)})}return i=i?i.then(o,o):o()}})}function x(t,r,n){var o=h;return function(i,s){if(o===m)throw Error("Generator is already running");if(o===g){if("throw"===i)throw s;return{value:e,done:!0}}for(n.method=i,n.arg=s;;){var a=n.delegate;if(a){var u=k(a,n);if(u){if(u===v)continue;return u}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(o===h)throw o=g,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);o=m;var c=f(t,r,n);if("normal"===c.type){if(o=n.done?g:d,c.arg===v)continue;return{value:c.arg,done:n.done}}"throw"===c.type&&(o=g,n.method="throw",n.arg=c.arg)}}}function k(t,r){var n=r.method,o=t.iterator[n];if(o===e)return r.delegate=null,"throw"===n&&t.iterator.return&&(r.method="return",r.arg=e,k(t,r),"throw"===r.method)||"return"!==n&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+n+"' method")),v;var i=f(o,t.iterator,r.arg);if("throw"===i.type)return r.method="throw",r.arg=i.arg,r.delegate=null,v;var s=i.arg;return s?s.done?(r[t.resultName]=s.value,r.next=t.nextLoc,"return"!==r.method&&(r.method="next",r.arg=e),r.delegate=null,v):s:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,v)}function C(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function O(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function F(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(C,this),this.reset(!0)}function D(t){if(t||""===t){var r=t[s];if(r)return r.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var o=-1,i=function r(){for(;++o<t.length;)if(n.call(t,o))return r.value=t[o],r.done=!1,r;return r.value=e,r.done=!0,r};return i.next=i}}throw new TypeError(typeof t+" is not iterable")}return y.prototype=b,o(S,"constructor",{value:b,configurable:!0}),o(b,"constructor",{value:y,configurable:!0}),y.displayName=c(b,u,"GeneratorFunction"),t.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===y||"GeneratorFunction"===(t.displayName||t.name))},t.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,b):(e.__proto__=b,c(e,u,"GeneratorFunction")),e.prototype=Object.create(S),e},t.awrap=function(e){return{__await:e}},A(T.prototype),c(T.prototype,a,function(){return this}),t.AsyncIterator=T,t.async=function(e,r,n,o,i){void 0===i&&(i=Promise);var s=new T(l(e,r,n,o),i);return t.isGeneratorFunction(r)?s:s.next().then(function(e){return e.done?e.value:s.next()})},A(S),c(S,u,"Generator"),c(S,s,function(){return this}),c(S,"toString",function(){return"[object Generator]"}),t.keys=function(e){var t=Object(e),r=[];for(var n in t)r.push(n);return r.reverse(),function e(){for(;r.length;){var n=r.pop();if(n in t)return e.value=n,e.done=!1,e}return e.done=!0,e}},t.values=D,F.prototype={constructor:F,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=e,this.done=!1,this.delegate=null,this.method="next",this.arg=e,this.tryEntries.forEach(O),!t)for(var r in this)"t"===r.charAt(0)&&n.call(this,r)&&!isNaN(+r.slice(1))&&(this[r]=e)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var r=this;function o(n,o){return a.type="throw",a.arg=t,r.next=n,o&&(r.method="next",r.arg=e),!!o}for(var i=this.tryEntries.length-1;i>=0;--i){var s=this.tryEntries[i],a=s.completion;if("root"===s.tryLoc)return o("end");if(s.tryLoc<=this.prev){var u=n.call(s,"catchLoc"),c=n.call(s,"finallyLoc");if(u&&c){if(this.prev<s.catchLoc)return o(s.catchLoc,!0);if(this.prev<s.finallyLoc)return o(s.finallyLoc)}else if(u){if(this.prev<s.catchLoc)return o(s.catchLoc,!0)}else{if(!c)throw Error("try statement without catch or finally");if(this.prev<s.finallyLoc)return o(s.finallyLoc)}}}},abrupt:function(e,t){for(var r=this.tryEntries.length-1;r>=0;--r){var o=this.tryEntries[r];if(o.tryLoc<=this.prev&&n.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var i=o;break}}i&&("break"===e||"continue"===e)&&i.tryLoc<=t&&t<=i.finallyLoc&&(i=null);var s=i?i.completion:{};return s.type=e,s.arg=t,i?(this.method="next",this.next=i.finallyLoc,v):this.complete(s)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),v},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),O(r),v}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var o=n.arg;O(r)}return o}}throw Error("illegal catch attempt")},delegateYield:function(t,r,n){return this.delegate={iterator:D(t),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=e),v}},t}function he(e,t){return he=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},he(e,t)}function de(e){return function(){return new me(e.apply(this,arguments))}}function me(e){var t,r;function n(t,r){try{var i=e[t](r),s=i.value,a=s instanceof oe;Promise.resolve(a?s.v:s).then(function(r){if(a){var u="return"===t?"return":"next";if(!s.k||r.done)return n(u,r);r=e[u](r).value}o(i.done?"return":"normal",r)},function(e){n("throw",e)})}catch(e){o("throw",e)}}function o(e,o){switch(e){case"return":t.resolve({value:o,done:!0});break;case"throw":t.reject(o);break;default:t.resolve({value:o,done:!1})}(t=t.next)?n(t.key,t.arg):r=null}this._invoke=function(e,o){return new Promise(function(i,s){var a={key:e,arg:o,resolve:i,reject:s,next:null};r?r=r.next=a:(t=r=a,n(e,o))})},"function"!=typeof e.return&&(this.return=void 0)}me.prototype["function"==typeof Symbol&&Symbol.asyncIterator||"@@asyncIterator"]=function(){return this},me.prototype.next=function(e){return this._invoke("next",e)},me.prototype.throw=function(e){return this._invoke("throw",e)},me.prototype.return=function(e){return this._invoke("return",e)},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"}(te||(te={}));var ge=/*#__PURE__*/function(){function e(e){this.logLevel=void 0,this.logLevel=e,this.logLevel=e||te.Error}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",te.Verbose].concat([].slice.call(arguments)))},t.log=function(){this.dispatch.apply(this,["log",te.Log].concat([].slice.call(arguments)))},t.warn=function(){this.dispatch.apply(this,["warn",te.Warn].concat([].slice.call(arguments)))},t.error=function(){this.dispatch.apply(this,["error",te.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}(),ve=new ge,pe={chainId:null,network:"unknown",nodeUri:"http://127.0.0.1:8545",oceanNodeUri:"http://127.0.0.1:8001",explorerUri:null,oceanTokenAddress:null,oceanTokenSymbol:"OCEAN",fixedRateExchangeAddress:null,dispenserAddress:null,startBlock:0,transactionBlockTimeout:50,transactionConfirmationBlocks:1,transactionPollingTimeout:750,gasFeeMultiplier:1},ye=[ce({},pe),ce({},pe,{chainId:8996,network:"development",oceanNodeUri:"http://127.0.0.1:8001",sdk:"evm"}),ce({},pe,{chainId:11155111,network:"sepolia",nodeUri:"https://sepolia.infura.io/v3",explorerUri:"https://sepolia.etherscan.io",gasFeeMultiplier:1.1,sdk:"evm"}),ce({},pe,{chainId:1,network:"mainnet",nodeUri:"https://mainnet.infura.io/v3",explorerUri:"https://etherscan.io",startBlock:11105459,transactionBlockTimeout:150,transactionConfirmationBlocks:5,transactionPollingTimeout:1750,gasFeeMultiplier:1.05,sdk:"evm"}),ce({},pe,{chainId:8453,network:"base",nodeUri:"https://mainnet.base.org",explorerUri:"https://etherscan.io",startBlock:30562198,transactionBlockTimeout:150,transactionConfirmationBlocks:5,transactionPollingTimeout:1750,gasFeeMultiplier:1.05,sdk:"evm"}),ce({},pe,{chainId:137,network:"polygon",nodeUri:"https://polygon-mainnet.infura.io/v3",explorerUri:"https://polygonscan.com",oceanTokenSymbol:"mOCEAN",gasFeeMultiplier:1.6,sdk:"evm"}),ce({},pe,{chainId:2021e3,network:"gaiaxtestnet",nodeUri:"https://rpc.gaiaxtestnet.oceanprotocol.com",explorerUri:"https://blockscout.gaiaxtestnet.oceanprotocol.com",sdk:"evm"}),ce({},pe,{chainId:80001,network:"mumbai",nodeUri:"https://polygon-mumbai.infura.io/v3",explorerUri:"https://mumbai.polygonscan.com",gasFeeMultiplier:1.1,sdk:"evm"}),ce({},pe,{chainId:56,network:"bsc",nodeUri:"https://bsc-dataseed.binance.org",explorerUri:"https://bscscan.com/",gasFeeMultiplier:1.05,sdk:"evm"}),ce({},pe,{chainId:246,network:"energyweb",nodeUri:"https://rpc.energyweb.org",explorerUri:"https://explorer.energyweb.org",gasFeeMultiplier:1.05,sdk:"evm"}),ce({},pe,{chainId:1285,network:"moonriver",nodeUri:"https://moonriver.api.onfinality.io/public",explorerUri:"https://moonriver.moonscan.io/",gasFeeMultiplier:1.05,sdk:"evm"}),ce({},pe,{chainId:100,network:"gen-x-testnet",nodeUri:"https://rpc.genx.minimal-gaia-x.eu",explorerUri:"https://explorer.genx.minimal-gaia-x.eu/",gasFeeMultiplier:1,sdk:"evm"}),ce({},pe,{chainId:10,network:"optimism",nodeUri:"https://mainnet.optimism.io",explorerUri:"https://optimistic.etherscan.io/",gasFeeMultiplier:1.1,sdk:"evm"}),ce({},pe,{chainId:11155420,network:"optimism_sepolia",nodeUri:"https://sepolia.optimism.io",explorerUri:"https://sepolia-optimism.etherscan.io/",gasFeeMultiplier:1.1,sdk:"evm"}),ce({},pe,{chainId:23294,network:"oasis_sapphire",nodeUri:"https://sapphire.oasis.io",explorerUri:"https://explorer.oasis.io/mainnet/sapphire/",gasFeeMultiplier:1,sdk:"oasis"}),ce({},pe,{chainId:23295,network:"oasis_sapphire_testnet",nodeUri:"https://testnet.sapphire.oasis.dev",explorerUri:"https://explorer.oasis.io/testnet/sapphire/",gasFeeMultiplier:1,sdk:"oasis"}),ce({},pe,{chainId:32456,network:"pontus-x-devnet",nodeUri:"https://rpc.dev.pontus-x.eu",explorerUri:"https://explorer.dev.pontus-x.eu/testnet/pontusx",sdk:"evm"})],be=[23294,23295],Pe=function(){return process.env.NODE_ENDPOINT||process.env.NODE_URL?{oceanNodeUri:process.env.NODE_ENDPOINT||process.env.NODE_URL}:{}},we=/*#__PURE__*/function(){function r(){}var n=r.prototype;return n.getAddressesFromEnv=function(t,r){var n;if(r&&r[t]){var o=r[t];n=ce({nftFactoryAddress:o.ERC721Factory,opfCommunityFeeCollector:o.OPFCommunityFeeCollector,fixedRateExchangeAddress:o.FixedPrice,dispenserAddress:o.Dispenser,oceanTokenAddress:o.Ocean,routerFactoryAddress:o.Router,chainId:o.chainId,startBlock:o.startBlock,accessListFactory:o.AccessListFactory,escrow:o.Escrow,EnterpriseFeeCollector:o.EnterpriseFeeCollector},Pe())}else if(e[t]){var i=e[t];n=ce({nftFactoryAddress:i.ERC721Factory,opfCommunityFeeCollector:i.OPFCommunityFeeCollector,fixedRateExchangeAddress:i.FixedPrice,dispenserAddress:i.Dispenser,oceanTokenAddress:i.Ocean,routerFactoryAddress:i.Router,chainId:i.chainId,startBlock:i.startBlock,accessListFactory:i.AccessListFactory,escrow:i.Escrow,EnterpriseFeeCollector:i.EnterpriseFeeCollector},Pe())}return n},n.getConfig=function(e,r){var n,o="string"==typeof e?"network":"chainId",i=ye.find(function(t){return t[o]===e});if(!i)return ve.error("No config found for given network '"+e+"'"),null;try{n=process.env.ADDRESS_FILE?JSON.parse(t.readFileSync(process.env.ADDRESS_FILE,"utf8")):null}catch(e){console.log(e),n=null}var s=this.getAddressesFromEnv(i.network,n);return!s&&be.includes(i.chainId)&&(s=this.getAddressesFromEnv(i.network.replace("sapph","saph"),n)),"sdk"in i&&null!==i.sdk||(i.sdk=be.includes(i.chainId)?"oasis":"evm"),s&&"accessListFactory"in s&&(i.accessListFactory=s.accessListFactory),i=ce({},i,s),ce({},i,{nodeUri:r?i.nodeUri+"/"+r:i.nodeUri})},r}(),Ee=[{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"}],Se=function(e,t,r,n){try{var o=arguments;return Promise.resolve(t.provider.getNetwork()).then(function(i){var s=i.chainId;return Promise.resolve(t.provider.getFeeData()).then(function(t){var i={};if(t.maxPriorityFeePerGas){var a=t.maxPriorityFeePerGas.toString(),u=t.maxFeePerGas.toString();r>1&&(a=Math.round(Number(t.maxPriorityFeePerGas)*r).toString(),u=Math.round(Number(t.maxFeePerGas)*r).toString()),i={maxPriorityFeePerGas:(Number(s)===Ie||Number(s)===De)&&Number(a)<Ce?Ce:Number(s)===Ne&&Number(a)<Oe?Oe:be.includes(Number(s))&&Number(a)<Fe?Fe:Number(a),maxFeePerGas:(Number(s)===Ie||Number(s)===De)&&Number(u)<Ce?Ce:Number(s)===Ne&&Number(u)<Oe?Oe:be.includes(Number(s))&&Number(u)<Fe?Fe:Number(u)}}else i={gasPrice:t.gasPrice};return i.gasLimit=BigInt(new g(e).plus(20000n).toString()),function(e,t){try{var r=Promise.resolve(n.apply(void 0,[].slice.call(o,4).concat([i]))).then(function(e){return Promise.resolve(e.wait()).then(function(){return e})})}catch(e){return t(e)}return r&&r.then?r.then(void 0,t):r}(0,function(e){return ve.error("Send tx error: ",e),null})})})}catch(e){return Promise.reject(e)}},Ae=function(e,t,n,o){try{var i=function(e){return"0"===e&&(e=18),r(n,e).toString()};return Promise.resolve(o?i(o):Promise.resolve(xe(e,t)).then(i))}catch(e){return Promise.reject(e)}},Te=function(e,t,r,o){try{var i=function(e){return"0"===e&&(e=18),n(r,e).toString()};return Promise.resolve(o?i(o):Promise.resolve(xe(e,t)).then(i))}catch(e){return Promise.reject(e)}},xe=function(e,t){try{var r=new o.Contract(t,Ee,e);return Promise.resolve(r.decimals())}catch(e){return Promise.reject(e)}},ke=function(e,t){try{return Promise.resolve(e.provider.getFeeData()).then(function(e){var r=BigInt(e.gasPrice.toString());return t?(r*BigInt(t)).toString(10):r.toString()})}catch(e){return Promise.reject(e)}},Ce=3e10,Oe=4e9,Fe=1e10,De=137,Ie=80001,Ne=11155111;function je(e,t){return e}function Le(e,t){if(e&&e.logs)return e.logs.filter(function(e){return e instanceof i&&e.eventName===t})[0]}var Ue=/*#__PURE__*/function(){function e(e,t,r,n){this.signer=void 0,this.config=void 0,this.abi=void 0,this.signer=e,this.config=r||(new we).getConfig(t),this.abi=n||this.getDefaultAbi()}var t=e.prototype;return t.getSignerAccordingSdk=function(){return this.config&&"sdk"in this.config&&"oasis"===this.config.sdk?m.wrap(this.signer):this.signer},t.amountToUnits=function(e,t,r){try{return Promise.resolve(Ae(this.signer,e,t,r))}catch(e){return Promise.reject(e)}},t.unitsToAmount=function(e,t,r){try{return Promise.resolve(Te(this.signer,e,t,r))}catch(e){return Promise.reject(e)}},t.getFairGasPrice=function(){try{var e;return Promise.resolve(ke(this.signer,null==(e=this.config)?void 0:e.gasFeeMultiplier))}catch(e){return Promise.reject(e)}},t.getContract=function(e,t){if(!e)throw new Error("Contract address is required but not provided");return je(new o.Contract(e,new o.Interface(JSON.stringify(t||this.abi)),this.signer))},e}(),Re=/*#__PURE__*/function(e){function t(t,r,n,o,i){var s;return(s=e.call(this,r,n,o,i)||this).address=void 0,s.contract=void 0,s.address=t,s.contract=s.getContract(s.address),s}return le(t,e),t}(Ue),Me=/*#__PURE__*/function(e){function t(){return e.apply(this,arguments)||this}le(t,e);var r=t.prototype;return r.getDefaultAbi=function(){return p.abi},r.status=function(e){try{var t=this;return Promise.resolve(t.contract.status(e)).then(function(e){if(!e)throw new Error("Np dispenser found for the given datatoken address");var r=e.isMinter,n=e.owner,o=e.active;return Promise.resolve(t.unitsToAmount(null,e.maxTokens,18)).then(function(i){return Promise.resolve(t.unitsToAmount(null,e.maxBalance,18)).then(function(s){return Promise.resolve(t.unitsToAmount(null,e.balance,18)).then(function(t){return{active:o,owner:n,isMinter:r,maxTokens:i,maxBalance:s,balance:t,allowedSwapper:e.allowedSwapper}})})})})}catch(e){return Promise.reject(e)}},r.create=function(e,t,r,n,o,i){try{var s=this;return Promise.resolve(s.contract.create.estimateGas(e,s.amountToUnits(null,r,18),s.amountToUnits(null,n,18),t,o)).then(function(a){var u;return i?a:Promise.resolve(Se(a,s.getSignerAccordingSdk(),null==(u=s.config)?void 0:u.gasFeeMultiplier,s.contract.create,e,s.amountToUnits(null,r,18),s.amountToUnits(null,n,18),t,o))})}catch(e){return Promise.reject(e)}},r.activate=function(e,t,r,n){try{var o=this;return Promise.resolve(o.contract.activate.estimateGas(e,o.amountToUnits(null,t,18),o.amountToUnits(null,r,18))).then(function(i){var s;return n?i:Promise.resolve(Se(i,o.getSignerAccordingSdk(),null==(s=o.config)?void 0:s.gasFeeMultiplier,o.contract.activate,e,o.amountToUnits(null,t,18),o.amountToUnits(null,r,18)))})}catch(e){return Promise.reject(e)}},r.deactivate=function(e,t){try{var r=this;return Promise.resolve(r.contract.deactivate.estimateGas(e)).then(function(n){var o;return t?n:Promise.resolve(Se(n,r.getSignerAccordingSdk(),null==(o=r.config)?void 0:o.gasFeeMultiplier,r.contract.deactivate,e))})}catch(e){return Promise.reject(e)}},r.setAllowedSwapper=function(e,t,r){try{var n=this;return Promise.resolve(n.contract.setAllowedSwapper.estimateGas(e,t)).then(function(o){var i;return r?o:Promise.resolve(Se(o,n.getSignerAccordingSdk(),null==(i=n.config)?void 0:i.gasFeeMultiplier,n.contract.setAllowedSwapper,e,t))})}catch(e){return Promise.reject(e)}},r.dispense=function(e,t,r,n){void 0===t&&(t="1");try{var o=this;return Promise.resolve(o.contract.dispense.estimateGas(e,o.amountToUnits(null,t,18),r)).then(function(i){var s;return n?i:Promise.resolve(Se(i,o.getSignerAccordingSdk(),null==(s=o.config)?void 0:s.gasFeeMultiplier,o.contract.dispense,e,o.amountToUnits(null,t,18),r))})}catch(e){return Promise.reject(e)}},r.ownerWithdraw=function(e,t){try{var r=this;return Promise.resolve(r.contract.ownerWithdraw.estimateGas(e)).then(function(n){var o;return t?n:Promise.resolve(Se(n,r.getSignerAccordingSdk(),null==(o=r.config)?void 0:o.gasFeeMultiplier,r.contract.ownerWithdraw,e))})}catch(e){return Promise.reject(e)}},r.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 v(e).greaterThanOrEqualTo(o.maxBalance)||new v(String(n)).greaterThan(o.maxTokens)||!new v(o.balance).greaterThanOrEqualTo(n)&&!0!==o.isMinter)})})}catch(e){return Promise.reject(e)}},t}(Re),Be="0x0000000000000000000000000000000000000000",_e=1e6,Ge="115792089237316195423570985008687907853269984665640564039457584007913129639934",Ve="Returned error: Method eth_feeHistory not supported.",qe=/*#__PURE__*/function(e){function t(){return e.apply(this,arguments)||this}le(t,e);var r=t.prototype;return r.getDefaultAbi=function(){return y.abi},r.generateExchangeId=function(e,t){try{return Promise.resolve(this.contract.generateExchangeId(e,t))}catch(e){return Promise.reject(e)}},r.buyDatatokens=function(e,t,r,n,o,i){void 0===n&&(n=Be),void 0===o&&(o="0");try{var s=this;return Promise.resolve(s.getExchange(e)).then(function(a){return Promise.resolve(s.amountToUnits(null,o,18)).then(function(o){return Promise.resolve(s.amountToUnits(a.datatoken,t,Number(a.dtDecimals))).then(function(t){return Promise.resolve(s.amountToUnits(a.baseToken,r,Number(a.btDecimals))).then(function(r){return Promise.resolve(s.contract.buyDT.estimateGas(e,t,r,n,o)).then(function(a){var u;return i?a:Promise.resolve(Se(a,s.getSignerAccordingSdk(),null==(u=s.config)?void 0:u.gasFeeMultiplier,s.contract.buyDT,e,t,r,n,o))})})})})})}catch(e){return Promise.reject(e)}},r.sellDatatokens=function(e,t,r,n,o,i){void 0===n&&(n=Be),void 0===o&&(o="0");try{var s=this;return Promise.resolve(s.getExchange(e)).then(function(a){return Promise.resolve(s.amountToUnits(null,o,18)).then(function(o){return Promise.resolve(s.amountToUnits(a.datatoken,t,Number(a.dtDecimals))).then(function(t){return Promise.resolve(s.amountToUnits(a.baseToken,r,Number(a.btDecimals))).then(function(r){return Promise.resolve(s.contract.sellDT.estimateGas(e,t,r,n,o)).then(function(a){var u;return i?a:Promise.resolve(Se(a,s.getSignerAccordingSdk(),null==(u=s.config)?void 0:u.gasFeeMultiplier,s.contract.sellDT,e,t,r,n,o))})})})})})}catch(e){return Promise.reject(e)}},r.getNumberOfExchanges=function(){try{return Promise.resolve(this.contract.getNumberOfExchanges()).then(Number)}catch(e){return Promise.reject(e)}},r.setRate=function(e,t,r){try{var n=this,o=n.contract.setRate,i=o.estimateGas;return Promise.resolve(n.amountToUnits(null,t,18)).then(function(s){return Promise.resolve(i.call(o,e,s)).then(function(o){var i;if(r)return o;var s=n.contract.setRate,a=null==(i=n.config)?void 0:i.gasFeeMultiplier,u=n.getSignerAccordingSdk();return Promise.resolve(n.amountToUnits(null,t,18)).then(function(t){return Promise.resolve(Se(o,u,a,s,e,t))})})})}catch(e){return Promise.reject(e)}},r.setAllowedSwapper=function(e,t,r){try{var n=this;return Promise.resolve(n.contract.setAllowedSwapper.estimateGas(e,t)).then(function(o){var i;return r?o:Promise.resolve(Se(o,n.getSignerAccordingSdk(),null==(i=n.config)?void 0:i.gasFeeMultiplier,n.contract.setAllowedSwapper,e,t))})}catch(e){return Promise.reject(e)}},r.activate=function(e,t){try{var r=this;return Promise.resolve(r.getExchange(e)).then(function(n){return n?!0===n.active?null:Promise.resolve(r.contract.toggleExchangeState.estimateGas(e)).then(function(n){var o;return t?n:Promise.resolve(Se(n,r.getSignerAccordingSdk(),null==(o=r.config)?void 0:o.gasFeeMultiplier,r.contract.toggleExchangeState,e))}):null})}catch(e){return Promise.reject(e)}},r.deactivate=function(e,t){try{var r=this;return Promise.resolve(r.getExchange(e)).then(function(n){return n?!1===n.active?null:Promise.resolve(r.contract.toggleExchangeState.estimateGas(e)).then(function(n){var o;return t?n:Promise.resolve(Se(n,r.getSignerAccordingSdk(),null==(o=r.config)?void 0:o.gasFeeMultiplier,r.contract.toggleExchangeState,e))}):null})}catch(e){return Promise.reject(e)}},r.getRate=function(e){try{var t=this;return Promise.resolve(t.contract.getRate(e)).then(function(e){return Promise.resolve(t.unitsToAmount(null,e,18))})}catch(e){return Promise.reject(e)}},r.getDatatokenSupply=function(e){try{var t=this;return Promise.resolve(t.contract.getDTSupply(e)).then(function(r){return Promise.resolve(t.getExchange(e)).then(function(e){return Promise.resolve(t.unitsToAmount(e.datatoken,r,Number(e.dtDecimals)))})})}catch(e){return Promise.reject(e)}},r.getBasetokenSupply=function(e){try{var t=this;return Promise.resolve(t.contract.getBTSupply(e)).then(function(r){return Promise.resolve(t.getExchange(e)).then(function(e){return Promise.resolve(t.unitsToAmount(e.baseToken,r,Number(e.btDecimals)))})})}catch(e){return Promise.reject(e)}},r.getAllowedSwapper=function(e){try{return Promise.resolve(this.contract.getAllowedSwapper(e))}catch(e){return Promise.reject(e)}},r.calcBaseInGivenDatatokensOut=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.contract,s=i.calcBaseInGivenOutDT;return Promise.resolve(n.amountToUnits(o.datatoken,t,Number(o.dtDecimals))).then(function(t){return Promise.resolve(n.amountToUnits(null,r,18)).then(function(r){return Promise.resolve(s.call(i,e,t,r)).then(function(e){return Promise.resolve(n.unitsToAmount(o.baseToken,e.baseTokenAmount,Number(o.btDecimals))).then(function(t){return Promise.resolve(n.unitsToAmount(o.baseToken,e.publishMarketFeeAmount,Number(o.btDecimals))).then(function(r){return Promise.resolve(n.unitsToAmount(o.baseToken,e.oceanFeeAmount,Number(o.btDecimals))).then(function(i){return Promise.resolve(n.unitsToAmount(o.baseToken,e.consumeMarketFeeAmount,Number(o.btDecimals))).then(function(e){return{baseTokenAmount:t,marketFeeAmount:r,oceanFeeAmount:i,consumeMarketFeeAmount:e}})})})})})})})})}catch(e){return Promise.reject(e)}},r.getAmountBasetokensOut=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.contract,s=i.calcBaseOutGivenInDT;return Promise.resolve(n.amountToUnits(o.datatoken,t,Number(o.dtDecimals))).then(function(t){return Promise.resolve(n.amountToUnits(null,r,18)).then(function(r){return Promise.resolve(s.call(i,e,t,r)).then(function(e){return Promise.resolve(n.unitsToAmount(o.baseToken,e[0],Number(o.btDecimals)))})})})})}catch(e){return Promise.reject(e)}},r.getExchange=function(e){try{var t=this;return Promise.resolve(t.contract.getExchange(e)).then(function(r){var n=r.btDecimals.toString(),o=r.dtDecimals.toString(),i=r.allowedSwapper,s=r.exchangeOwner,a=r.withMint,u=r.baseToken,c=r.datatoken,l=r.active;return Promise.resolve(t.unitsToAmount(r.datatoken,r.dtBalance,Number(r.dtDecimals))).then(function(f){return Promise.resolve(t.unitsToAmount(r.baseToken,r.btBalance,Number(r.btDecimals))).then(function(h){return Promise.resolve(t.unitsToAmount(r.datatoken,r.dtSupply,Number(r.dtDecimals))).then(function(d){return Promise.resolve(t.unitsToAmount(r.baseToken,r.btSupply,Number(r.btDecimals))).then(function(m){return Promise.resolve(t.unitsToAmount(null,r.fixedRate,18)).then(function(t){return{active:l,datatoken:c,baseToken:u,withMint:a,exchangeOwner:s,allowedSwapper:i,dtDecimals:o,btDecimals:n,dtBalance:f,btBalance:h,dtSupply:d,btSupply:m,fixedRate:t,exchangeId:e}})})})})})})}catch(e){return Promise.reject(e)}},r.getFeesInfo=function(e){try{var t=this;return Promise.resolve(t.contract.getFeesInfo(e)).then(function(r){return Promise.resolve(t.getExchange(e)).then(function(n){return Promise.resolve(t.unitsToAmount(null,r.opcFee.toString(),18)).then(function(o){return Promise.resolve(t.unitsToAmount(null,r.marketFee.toString(),18)).then(function(i){var s=r.marketFeeCollector;return Promise.resolve(t.unitsToAmount(n.baseToken,r.marketFeeAvailable,Number(n.btDecimals))).then(function(a){return Promise.resolve(t.unitsToAmount(n.baseToken,r.oceanFeeAvailable,Number(n.btDecimals))).then(function(t){return{opcFee:o,marketFee:i,marketFeeCollector:s,marketFeeAvailable:a,oceanFeeAvailable:t,exchangeId:e}})})})})})})}catch(e){return Promise.reject(e)}},r.getExchanges=function(){try{return Promise.resolve(this.contract.getExchanges())}catch(e){return Promise.reject(e)}},r.isActive=function(e){try{return Promise.resolve(this.contract.isActive(e))}catch(e){return Promise.reject(e)}},r.activateMint=function(e,t){try{var r=this;return Promise.resolve(r.getExchange(e)).then(function(n){return n?!0===n.withMint?null:Promise.resolve(r.contract.toggleMintState.estimateGas(e,!0)).then(function(n){var o;return t?n:Promise.resolve(Se(n,r.getSignerAccordingSdk(),null==(o=r.config)?void 0:o.gasFeeMultiplier,r.contract.toggleMintState,e,!0))}):null})}catch(e){return Promise.reject(e)}},r.deactivateMint=function(e,t){try{var r=this;return Promise.resolve(r.getExchange(e)).then(function(n){return n?!1===n.withMint?null:Promise.resolve(r.contract.toggleMintState.estimateGas(e,!1)).then(function(n){var o;return t?n:Promise.resolve(Se(n,r.getSignerAccordingSdk(),null==(o=r.config)?void 0:o.gasFeeMultiplier,r.contract.toggleMintState,e,!1))}):null})}catch(e){return Promise.reject(e)}},r.collectBasetokens=function(e,t,r){try{var n=this;return Promise.resolve(n.getExchange(e)).then(function(o){return o?Promise.resolve(n.contract.getExchange(e)).then(function(o){return Promise.resolve(n.amountToUnits(o.baseToken,t,Number(o.btDecimals))).then(function(t){return Promise.resolve(n.contract.collectBT.estimateGas(e,t)).then(function(o){var i;return r?o:Promise.resolve(Se(o,n.getSignerAccordingSdk(),null==(i=n.config)?void 0:i.gasFeeMultiplier,n.contract.collectBT,e,t))})})}):null})}catch(e){return Promise.reject(e)}},r.collectDatatokens=function(e,t,r){try{var n=this;return Promise.resolve(n.getExchange(e)).then(function(o){return o?Promise.resolve(n.contract.getExchange(e)).then(function(o){return Promise.resolve(n.amountToUnits(o.datatoken,t,Number(o.dtDecimals))).then(function(t){return Promise.resolve(n.contract.collectDT.estimateGas(e,t)).then(function(o){var i;return r?o:Promise.resolve(Se(o,n.getSignerAccordingSdk(),null==(i=n.config)?void 0:i.gasFeeMultiplier,n.contract.collectDT,e,t))})})}):null})}catch(e){return Promise.reject(e)}},r.collectMarketFee=function(e,t){try{var r=this;return Promise.resolve(r.getExchange(e)).then(function(n){return n?Promise.resolve(r.contract.collectMarketFee.estimateGas(e)).then(function(n){var o;return t?n:Promise.resolve(Se(n,r.getSignerAccordingSdk(),null==(o=r.config)?void 0:o.gasFeeMultiplier,r.contract.collectMarketFee,e))}):null})}catch(e){return Promise.reject(e)}},r.collectOceanFee=function(e,t){try{var r=this;return Promise.resolve(r.getExchange(e)).then(function(n){return n?Promise.resolve(r.contract.collectOceanFee.estimateGas(e)).then(function(n){var o;return t?n:Promise.resolve(Se(n,r.getSignerAccordingSdk(),null==(o=r.config)?void 0:o.gasFeeMultiplier,r.contract.collectOceanFee,e))}):null})}catch(e){return Promise.reject(e)}},r.getOPCCollector=function(){try{return Promise.resolve(this.contract.opcCollector())}catch(e){return Promise.reject(e)}},r.getRouter=function(){try{return Promise.resolve(this.contract.router())}catch(e){return Promise.reject(e)}},r.getExchangeOwner=function(e){try{return Promise.resolve(this.getExchange(e)).then(function(e){return e.exchangeOwner})}catch(e){return Promise.reject(e)}},r.updateMarketFee=function(e,t,r){try{var n=this,o=n.contract.updateMarketFee,i=o.estimateGas;return Promise.resolve(n.amountToUnits(null,t,18)).then(function(s){return Promise.resolve(i.call(o,e,s)).then(function(o){var i;if(r)return o;var s=n.contract.updateMarketFee,a=null==(i=n.config)?void 0:i.gasFeeMultiplier,u=n.getSignerAccordingSdk();return Promise.resolve(n.amountToUnits(null,t,18)).then(function(t){return Promise.resolve(Se(o,u,a,s,e,t))})})})}catch(e){return Promise.reject(e)}},r.updateMarketFeeCollector=function(e,t,r){try{var n=this;return Promise.resolve(n.contract.updateMarketFeeCollector.estimateGas(e,t)).then(function(o){var i;return r?o:Promise.resolve(Se(o,n.getSignerAccordingSdk(),null==(i=n.config)?void 0:i.gasFeeMultiplier,n.contract.updateMarketFeeCollector,e,t))})}catch(e){return Promise.reject(e)}},t}(Re),ze=/*#__PURE__*/function(e){function t(){return e.apply(this,arguments)||this}le(t,e);var r=t.prototype;return r.getDefaultAbi=function(){return b.abi},r.buyDatatokenBatch=function(e,t){try{var r=this;return Promise.resolve(r.contract.buyDTBatch.estimateGas(e)).then(function(n){var o;return t?n:Promise.resolve(Se(n,r.getSignerAccordingSdk(),null==(o=r.config)?void 0:o.gasFeeMultiplier,r.contract.buyDTBatch,e))})}catch(e){return Promise.reject(e)}},r.isApprovedToken=function(e){try{return Promise.resolve(this.contract.isApprovedToken(e))}catch(e){return Promise.reject(e)}},r.isFixedPrice=function(e){try{return Promise.resolve(this.contract.isFixedRateContract(e))}catch(e){return Promise.reject(e)}},r.getOwner=function(){try{return Promise.resolve(this.contract.routerOwner())}catch(e){return Promise.reject(e)}},r.getNFTFactory=function(){try{return Promise.resolve(this.contract.factory())}catch(e){return Promise.reject(e)}},r.addApprovedToken=function(e,t,r){try{var n=this;return Promise.resolve(n.getOwner()).then(function(o){if(o!==e)throw new Error("Caller is not Router Owner");return Promise.resolve(n.contract.addApprovedToken.estimateGas(t)).then(function(e){var o;return r?e:Promise.resolve(Se(e,n.getSignerAccordingSdk(),null==(o=n.config)?void 0:o.gasFeeMultiplier,n.contract.addApprovedToken,t))})})}catch(e){return Promise.reject(e)}},r.removeApprovedToken=function(e,t,r){try{var n=this;return Promise.resolve(n.getOwner()).then(function(o){if(o!==e)throw new Error("Caller is not Router Owner");return Promise.resolve(n.contract.removeApprovedToken.estimateGas(t)).then(function(e){var o;return r?e:Promise.resolve(Se(e,n.getSignerAccordingSdk(),null==(o=n.config)?void 0:o.gasFeeMultiplier,n.contract.removeApprovedToken,t))})})}catch(e){return Promise.reject(e)}},r.addFixedRateContract=function(e,t,r){try{var n=this;return Promise.resolve(n.getOwner()).then(function(o){if(o!==e)throw new Error("Caller is not Router Owner");return Promise.resolve(n.contract.addFixedRateContract.estimateGas(t)).then(function(e){var o;return r?e:Promise.resolve(Se(e,n.getSignerAccordingSdk(),null==(o=n.config)?void 0:o.gasFeeMultiplier,n.contract.addFixedRateContract,t))})})}catch(e){return Promise.reject(e)}},r.removeFixedRateContract=function(e,t,r){try{var n=this;return Promise.resolve(n.getOwner()).then(function(o){if(o!==e)throw new Error("Caller is not Router Owner");return Promise.resolve(n.contract.removeFixedRateContract.estimateGas(t)).then(function(e){var o;return r?e:Promise.resolve(Se(e,n.getSignerAccordingSdk(),null==(o=n.config)?void 0:o.gasFeeMultiplier,n.contract.removeFixedRateContract,t))})})}catch(e){return Promise.reject(e)}},r.addDispenserContract=function(e,t,r){try{var n=this;return Promise.resolve(n.getOwner()).then(function(o){if(o!==e)throw new Error("Caller is not Router Owner");return Promise.resolve(n.contract.addDispenserContract.estimateGas(t)).then(function(e){var o;return r?e:Promise.resolve(Se(e,n.getSignerAccordingSdk(),null==(o=n.config)?void 0:o.gasFeeMultiplier,n.contract.addDispenserContract,t))})})}catch(e){return Promise.reject(e)}},r.removeDispenserContract=function(e,t,r){try{var n=this;return Promise.resolve(n.getOwner()).then(function(o){if(o!==e)throw new Error("Caller is not Router Owner");return Promise.resolve(n.contract.removeDispenserContract.estimateGas(t)).then(function(e){var o;return r?e:Promise.resolve(Se(e,n.getSignerAccordingSdk(),null==(o=n.config)?void 0:o.gasFeeMultiplier,n.contract.removeDispenserContract,t))})})}catch(e){return Promise.reject(e)}},r.getOPCFee=function(e){try{return Promise.resolve(this.contract.getOPCFee(e)).then(Number)}catch(e){return Promise.reject(e)}},r.getCurrentOPCFee=function(){try{return Promise.resolve(this.contract.swapOceanFee()).then(Number)}catch(e){return Promise.reject(e)}},r.updateOPCFee=function(e,t,r,n,o,i){try{var s=this;return Promise.resolve(s.getOwner()).then(function(a){if(a!==e)throw new Error("Caller is not Router Owner");return Promise.resolve(s.contract.updateOPCFee.estimateGas(t,r,n,o)).then(function(e){var a;return i?e:Promise.resolve(Se(e,s.getSignerAccordingSdk(),null==(a=s.config)?void 0:a.gasFeeMultiplier,s.contract.updateOPCFee,t,r,n,o))})})}catch(e){return Promise.reject(e)}},t}(Re),He={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 Ke(e){var t=e||He,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}}function Ze(e,t){try{var r=e()}catch(e){return t(e)}return r&&r.then?r.then(void 0,t):r}var Je=/*#__PURE__*/function(e){function t(){return e.apply(this,arguments)||this}le(t,e);var r=t.prototype;return r.getDefaultAbi=function(){return S.abi},r.createNFT=function(e,t){try{var r=this;if(e.templateIndex||(e.templateIndex=1),!e.name||!e.symbol){var n=Ke(),o=n.symbol;e.name=n.name,e.symbol=o}var i=e.templateIndex;return Promise.resolve(r.getCurrentNFTTemplateCount()).then(function(n){if(i>n)throw new Error("Template index doesnt exist");if(0===e.templateIndex)throw new Error("Template index cannot be ZERO");return Promise.resolve(r.getNFTTemplate(e.templateIndex)).then(function(n){if(!1===n.isActive)throw new Error("Template is not active");return Promise.resolve(r.contract.deployERC721Contract.estimateGas(e.name,e.symbol,e.templateIndex,Be,Be,e.tokenURI,e.transferable,e.owner)).then(function(n){return t?n:Ze(function(){var t;return Promise.resolve(Se(n,r.getSignerAccordingSdk(),null==(t=r.config)?void 0:t.gasFeeMultiplier,r.contract.deployERC721Contract,e.name,e.symbol,e.templateIndex,Be,Be,e.tokenURI,e.transferable,e.owner)).then(function(e){if(!e){var t="Tx for deploying new NFT contract does not exist or status is not successful.";throw console.error(t),t}return Promise.resolve(e.wait()).then(function(e){return Le(e,"NFTCreated").args[0]})})},function(e){console.error("Creation of NFT failed: "+e)})})})})}catch(e){return Promise.reject(e)}},r.getCurrentNFTCount=function(){try{return Promise.resolve(this.contract.getCurrentNFTCount()).then(Number)}catch(e){return Promise.reject(e)}},r.getCurrentTokenCount=function(){try{return Promise.resolve(this.contract.getCurrentTokenCount()).then(Number)}catch(e){return Promise.reject(e)}},r.getOwner=function(){try{return Promise.resolve(this.contract.owner())}catch(e){return Promise.reject(e)}},r.getCurrentNFTTemplateCount=function(){try{return Promise.resolve(this.contract.getCurrentNFTTemplateCount()).then(Number)}catch(e){return Promise.reject(e)}},r.getCurrentTokenTemplateCount=function(){try{return Promise.resolve(this.contract.getCurrentTemplateCount()).then(Number)}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.contract.getNFTTemplate(e))})}catch(e){return Promise.reject(e)}},r.getTokenTemplate=function(e){try{return Promise.resolve(this.contract.getTokenTemplate(e))}catch(e){return Promise.reject(e)}},r.checkDatatoken=function(e){try{return Promise.resolve(this.contract.erc20List(e))}catch(e){return Promise.reject(e)}},r.checkNFT=function(e){try{return Promise.resolve(this.contract.erc721List(e))}catch(e){return Promise.reject(e)}},r.addNFTTemplate=function(e,t,r){try{var n=this;return Promise.resolve(n.getOwner()).then(function(o){if(o!==e)throw new Error("Caller is not Factory Owner");if(t===Be)throw new Error("Template cannot be ZERO address");return Promise.resolve(n.contract.add721TokenTemplate.estimateGas(t)).then(function(e){var o;return r?e:Promise.resolve(Se(e,n.getSignerAccordingSdk(),null==(o=n.config)?void 0:o.gasFeeMultiplier,n.contract.add721TokenTemplate,t))})})}catch(e){return Promise.reject(e)}},r.disableNFTTemplate=function(e,t,r){try{var n=this;return Promise.resolve(n.getOwner()).then(function(o){if(o!==e)throw new Error("Caller is not Factory Owner");return Promise.resolve(n.getCurrentNFTTemplateCount()).then(function(e){if(t>e)throw new Error("Template index doesnt exist");if(0===t)throw new Error("Template index cannot be ZERO");return Promise.resolve(n.contract.disable721TokenTemplate.estimateGas(t)).then(function(e){var o;return r?e:Promise.resolve(Se(e,n.getSignerAccordingSdk(),null==(o=n.config)?void 0:o.gasFeeMultiplier,n.contract.disable721TokenTemplate,t))})})})}catch(e){return Promise.reject(e)}},r.reactivateNFTTemplate=function(e,t,r){try{var n=this;return Promise.resolve(n.getOwner()).then(function(o){if(o!==e)throw new Error("Caller is not Factory Owner");return Promise.resolve(n.getCurrentNFTTemplateCount()).then(function(e){if(t>e)throw new Error("Template index doesnt exist");if(0===t)throw new Error("Template index cannot be ZERO");return Promise.resolve(n.contract.reactivate721TokenTemplate.estimateGas(t)).then(function(e){var o;return r?e:Promise.resolve(Se(e,n.getSignerAccordingSdk(),null==(o=n.config)?void 0:o.gasFeeMultiplier,n.contract.reactivate721TokenTemplate,t))})})})}catch(e){return Promise.reject(e)}},r.addTokenTemplate=function(e,t,r){try{var n=this;return Promise.resolve(n.getOwner()).then(function(o){if(o!==e)throw new Error("Caller is not Factory Owner");if(t===Be)throw new Error("Template cannot be address ZERO");return Promise.resolve(n.contract.addTokenTemplate.estimateGas(t)).then(function(e){var o;return r?e:Promise.resolve(Se(e,n.getSignerAccordingSdk(),null==(o=n.config)?void 0:o.gasFeeMultiplier,n.contract.addTokenTemplate,t))})})}catch(e){return Promise.reject(e)}},r.disableTokenTemplate=function(e,t,r){try{var n=this;return Promise.resolve(n.getOwner()).then(function(o){if(o!==e)throw new Error("Caller is not Factory Owner");return Promise.resolve(n.getCurrentTokenTemplateCount()).then(function(e){if(t>e)throw new Error("Template index doesnt exist");if(0===t)throw new Error("Template index cannot be ZERO");return Promise.resolve(n.getTokenTemplate(t)).then(function(e){if(!1===e.isActive)throw new Error("Template is already disabled");return Promise.resolve(n.contract.disableTokenTemplate.estimateGas(t)).then(function(e){var o;return r?e:Promise.resolve(Se(e,n.getSignerAccordingSdk(),null==(o=n.config)?void 0:o.gasFeeMultiplier,n.contract.disableTokenTemplate,t))})})})})}catch(e){return Promise.reject(e)}},r.reactivateTokenTemplate=function(e,t,r){try{var n=this;return Promise.resolve(n.getOwner()).then(function(o){if(o!==e)throw new Error("Caller is not Factory Owner");return Promise.resolve(n.getCurrentTokenTemplateCount()).then(function(e){if(t>e)throw new Error("Template index doesnt exist");if(0===t)throw new Error("Template index cannot be ZERO");return Promise.resolve(n.getTokenTemplate(t)).then(function(e){if(!0===e.isActive)throw new Error("Template is already active");return Promise.resolve(n.contract.reactivateTokenTemplate.estimateGas(t)).then(function(e){var o;return r?e:Promise.resolve(Se(e,n.getSignerAccordingSdk(),null==(o=n.config)?void 0:o.gasFeeMultiplier,n.contract.reactivateTokenTemplate,t))})})})})}catch(e){return Promise.reject(e)}},r.startMultipleTokenOrder=function(e,t){try{var r=this;if(e.length>50)throw new Error("Too many orders");return Promise.resolve(r.contract.startMultipleTokenOrder.estimateGas(e)).then(function(n){var o;return t?n:Promise.resolve(Se(n,r.getSignerAccordingSdk(),null==(o=r.config)?void 0:o.gasFeeMultiplier,r.contract.startMultipleTokenOrder,e))})}catch(e){return Promise.reject(e)}},r.createNftWithDatatoken=function(e,t,r){try{var n=this;return Promise.resolve(n.getErcCreationParams(t)).then(function(t){return Promise.resolve(n.contract.createNftWithErc20.estimateGas(e,t)).then(function(o){var i;return r?o:Promise.resolve(Se(o,n.getSignerAccordingSdk(),null==(i=n.config)?void 0:i.gasFeeMultiplier,n.contract.createNftWithErc20,e,t))})})}catch(e){return Promise.reject(e)}},r.createNftWithDatatokenWithFixedRate=function(e,t,r,n){try{var o=this;return Promise.resolve(o.getErcCreationParams(t)).then(function(t){return Promise.resolve(o.getFreCreationParams(r)).then(function(r){return Promise.resolve(o.contract.createNftWithErc20WithFixedRate.estimateGas(e,t,r)).then(function(i){var s;return n?i:Promise.resolve(Se(i,o.getSignerAccordingSdk(),null==(s=o.config)?void 0:s.gasFeeMultiplier,o.contract.createNftWithErc20WithFixedRate,e,t,r))})})})}catch(e){return Promise.reject(e)}},r.createNftWithDatatokenWithDispenser=function(e,t,r,n){try{var o=this;return Promise.resolve(o.getErcCreationParams(t)).then(function(t){return Promise.resolve(o.amountToUnits(null,r.maxBalance,18)).then(function(i){return r.maxBalance=i,Promise.resolve(o.amountToUnits(null,r.maxTokens,18)).then(function(i){return r.maxTokens=i,Promise.resolve(o.contract.createNftWithErc20WithDispenser.estimateGas(e,t,r)).then(function(i){var s;return n?i:Promise.resolve(Se(i,o.getSignerAccordingSdk(),null==(s=o.config)?void 0:s.gasFeeMultiplier,o.contract.createNftWithErc20WithDispenser,e,t,r))})})})})}catch(e){return Promise.reject(e)}},r.getErcCreationParams=function(e){try{var t,r,n=function(){var n=[e.minter,e.paymentCollector,e.mpFeeAddress,e.feeToken];e.filesObject&&(e.accessListFactory&&n.push(e.accessListFactory),e.allowAccessList&&n.push(e.allowAccessList),e.denyAccessList&&n.push(e.denyAccessList));var i=[e.name||t,e.symbol||r],u=e.templateIndex;return Promise.resolve(o.amountToUnits(null,e.cap,18)).then(function(t){return Promise.resolve(o.amountToUnits(null,e.feeAmount,a)).then(function(r){return{templateIndex:u,strings:i,addresses:n,uints:[t,r],bytess:e.filesObject?[s(JSON.stringify(e.filesObject))]:[]}})})},o=this;if(!e.name||!e.symbol){var i=Ke();t=i.name,r=i.symbol}var a=18,u=function(){if(e.feeToken!==Be){var t=Ze(function(){return Promise.resolve(xe(o.signer,e.feeToken)).then(function(e){a=e})},function(e){ve.error("getTokenDecimals error",e)});if(t&&t.then)return t.then(function(){})}}();return Promise.resolve(u&&u.then?u.then(n):n())}catch(e){return Promise.reject(e)}},r.getFreCreationParams=function(e){try{var t=this;e.allowedConsumer||(e.allowedConsumer=Be);var r=!1===e.withMint?0:1,n=[e.baseTokenAddress,e.owner,e.marketFeeCollector,e.allowedConsumer],o=e.fixedRateAddress,i=e.datatokenDecimals,s=e.baseTokenDecimals;return Promise.resolve(t.amountToUnits(null,e.fixedRate,e.datatokenDecimals)).then(function(a){return Promise.resolve(t.amountToUnits(null,e.marketFee,e.datatokenDecimals)).then(function(e){return{fixedPriceAddress:o,addresses:n,uints:[s,i,a,e,r]}})})}catch(e){return Promise.reject(e)}},t}(Re);function $e(e,t,r){if(!e.s){if(r instanceof We){if(!r.s)return void(r.o=$e.bind(null,e,t));1&t&&(t=r.s),r=r.v}if(r&&r.then)return void r.then($e.bind(null,e,t),$e.bind(null,e,2));e.s=t,e.v=r;const n=e.o;n&&n(e)}}var We=/*#__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{$e(n,1,i(this.v))}catch(e){$e(n,2,e)}return n}return this}return this.o=function(e){try{var o=e.v;1&e.s?$e(n,1,t?t(o):o):r?$e(n,1,r(o)):$e(n,2,o)}catch(e){$e(n,2,e)}},n},e}();function Ye(e){return e instanceof We&&1&e.s}var Xe=function(e,t,r,n){try{var i="number"==typeof r,s=new Je(t,e,n);return Promise.resolve(s.getCurrentTokenTemplateCount()).then(function(t){var n;function a(e){return n?e:-1}var u=1,c=function(e,t,r){for(var n;;){var o=e();if(Ye(o)&&(o=o.v),!o)return i;if(o.then){n=0;break}var i=r();if(i&&i.then){if(!Ye(i)){n=1;break}i=i.s}if(t){var s=t();if(s&&s.then&&!Ye(s)){n=2;break}}}var a=new We,u=$e.bind(null,a,2);return(0===n?o.then(l):1===n?i.then(c):s.then(f)).then(void 0,u),a;function c(n){i=n;do{if(t&&(s=t())&&s.then&&!Ye(s))return void s.then(f).then(void 0,u);if(!(o=e())||Ye(o)&&!o.v)return void $e(a,1,i);if(o.then)return void o.then(l).then(void 0,u);Ye(i=r())&&(i=i.v)}while(!i||!i.then);i.then(c).then(void 0,u)}function l(e){e?(i=r())&&i.then?i.then(c).then(void 0,u):c(i):$e(a,1,i)}function f(){(o=e())?o.then?o.then(l).then(void 0,u):l(o):$e(a,1,i)}}(function(){return!n&&u<=t},function(){return u++},function(){return Promise.resolve(s.getTokenTemplate(u)).then(function(t){var s=new o.Contract(t.templateAddress,A.abi,e);return i?Promise.resolve(s.getId()).then(function(e){if(t.isActive&&e.toString()===r.toString())return n=1,u}):t.isActive&&t.templateAddress===r.toString()?(n=1,u):void 0})});return c&&c.then?c.then(a):a(c)})}catch(e){return Promise.reject(e)}};function Qe(){try{if(process.env.ADDRESS_FILE){var r=t.readFileSync(process.env.ADDRESS_FILE,"utf8");return JSON.parse(r)}return e}catch(t){return e}}function et(e){try{var t=Qe();if(t)for(var r=Object.keys(t),n=0,o=r;n<o.length;n++){var i=o[n];if(t[i].chainId===e)return t[i]}}catch(e){console.error(e)}return null}var tt=/*#__PURE__*/function(e){function t(){return e.apply(this,arguments)||this}le(t,e);var r=t.prototype;return r.getDefaultAbi=function(){return E.abi},r.createDatatoken=function(e,t,r,n,o,i,a,u,c,l,f,h,d,m,g,v){try{var p=this;return Promise.resolve(p.getNftPermissions(e,t)).then(function(t){if(!0!==t.deployERC20)throw new Error("Caller is not DatatokenDeployer");if(f||(f=1),!c||!l){var y=Ke();c=y.name,l=y.symbol}var b=p.getContract(e);if(!p.signer.provider)throw new Error("Provider is required but not available");return Promise.resolve(p.signer.provider.getNetwork()).then(function(e){var t=e.chainId;function y(){var e=b.createERC20,t=e.estimateGas,y=[c,l],P=f;return Promise.resolve(p.amountToUnits(null,u,18)).then(function(w){return Promise.resolve(p.amountToUnits(null,a,18)).then(function(E){return Promise.resolve(t.call(e,P,y,[r,n,o,i],[w,E],[])).then(function(e){var t;if(v)return e;var y=[r,n,o,i];d&&(y.push(d.toLowerCase()),y.push(m?m.toLowerCase():Be),y.push(g||Be));var P=[c,l],w=f,E=b.createERC20,S=null==(t=p.config)?void 0:t.gasFeeMultiplier,A=p.getSignerAccordingSdk();return Promise.resolve(p.amountToUnits(null,u,18)).then(function(t){return Promise.resolve(p.amountToUnits(null,a,18)).then(function(r){return Promise.resolve(Se(e,A,S,E,w,P,y,[t,r],h?[s(h)]:[])).then(function(e){return Promise.resolve(e.wait()).then(function(e){var t=Le(e,"TokenCreated");return null==t?void 0:t.args[0]})})})})})})})}var P=et(Number(t)),w=function(){if(h)return Promise.resolve(Xe(p.signer,P.ERC721Factory,4,Number(t))).then(function(e){f=e})}();return w&&w.then?w.then(y):y()})})}catch(e){return Promise.reject(e)}},r.addManager=function(e,t,r,n){try{var o=this,i=o.getContract(e);return Promise.resolve(o.getNftOwner(e)).then(function(e){if(e!==t)throw new Error("Caller is not NFT Owner");return Promise.resolve(i.addManager.estimateGas(r)).then(function(e){var t;return n?e:Promise.resolve(Se(e,o.getSignerAccordingSdk(),null==(t=o.config)?void 0:t.gasFeeMultiplier,i.addManager,r))})})}catch(e){return Promise.reject(e)}},r.removeManager=function(e,t,r,n){try{var o=this,i=o.getContract(e);return Promise.resolve(o.getNftOwner(e)).then(function(e){if(e!==t)throw new Error("Caller is not NFT Owner");return Promise.resolve(i.removeManager.estimateGas(r)).then(function(e){var t;return n?e:Promise.resolve(Se(e,o.getSignerAccordingSdk(),null==(t=o.config)?void 0:t.gasFeeMultiplier,i.removeManager,r))})})}catch(e){return Promise.reject(e)}},r.addDatatokenDeployer=function(e,t,r,n){try{var o=this,i=o.getContract(e);return Promise.resolve(o.getNftPermissions(e,t)).then(function(e){if(!0!==e.manager)throw new Error("Caller is not Manager");return Promise.resolve(i.addToCreateERC20List.estimateGas(r)).then(function(e){var t;return n?e:Promise.resolve(Se(e,o.getSignerAccordingSdk(),null==(t=o.config)?void 0:t.gasFeeMultiplier,i.addToCreateERC20List,r))})})}catch(e){return Promise.reject(e)}},r.removeDatatokenDeployer=function(e,t,r,n){try{var o=this,i=o.getContract(e);return Promise.resolve(o.getNftPermissions(e,t)).then(function(s){function a(e){if(u||t===r&&!0!==e.deployERC20)throw new Error("Caller is not Manager nor DatatokenDeployer");return Promise.resolve(i.removeFromCreateERC20List.estimateGas(r)).then(function(e){var t;return n?e:Promise.resolve(Se(e,o.getSignerAccordingSdk(),null==(t=o.config)?void 0:t.gasFeeMultiplier,i.removeFromCreateERC20List,r))})}var u=!0!==s.manager;return u||t!==r?a(u||t===r&&o.getNftPermissions(e,t)):Promise.resolve(u||t===r&&o.getNftPermissions(e,t)).then(a)})}catch(e){return Promise.reject(e)}},r.addMetadataUpdater=function(e,t,r,n){try{var o=this,i=o.getContract(e);return Promise.resolve(o.getNftPermissions(e,t)).then(function(e){if(!0!==e.manager)throw new Error("Caller is not Manager");return Promise.resolve(i.addToMetadataList.estimateGas(r)).then(function(e){var t;return n?e:Promise.resolve(Se(e,o.getSignerAccordingSdk(),null==(t=o.config)?void 0:t.gasFeeMultiplier,i.addToMetadataList,r))})})}catch(e){return Promise.reject(e)}},r.removeMetadataUpdater=function(e,t,r,n){try{var o=this,i=o.getContract(e);return Promise.resolve(o.getNftPermissions(e,t)).then(function(s){function a(e){if(u||t!==r&&!0!==e.updateMetadata)throw new Error("Caller is not Manager nor Metadata Updater");return Promise.resolve(i.removeFromMetadataList.estimateGas(r)).then(function(e){var t;return n?e:Promise.resolve(Se(e,o.getSignerAccordingSdk(),null==(t=o.config)?void 0:t.gasFeeMultiplier,i.removeFromMetadataList,r))})}var u=!0!==s.manager;return u||t===r?a(u||t!==r&&o.getNftPermissions(e,t)):Promise.resolve(u||t!==r&&o.getNftPermissions(e,t)).then(a)})}catch(e){return Promise.reject(e)}},r.addStoreUpdater=function(e,t,r,n){try{var o=this,i=o.getContract(e);return Promise.resolve(o.getNftPermissions(e,t)).then(function(e){if(!0!==e.manager)throw new Error("Caller is not Manager");return Promise.resolve(i.addTo725StoreList.estimateGas(r)).then(function(e){var t;return n?e:Promise.resolve(Se(e,o.getSignerAccordingSdk(),null==(t=o.config)?void 0:t.gasFeeMultiplier,i.addTo725StoreList,r))})})}catch(e){return Promise.reject(e)}},r.removeStoreUpdater=function(e,t,r,n){try{var o=this,i=o.getContract(e);return Promise.resolve(o.getNftPermissions(e,t)).then(function(s){function a(e){if(u||t!==r&&!0!==e.store)throw new Error("Caller is not Manager nor storeUpdater");return Promise.resolve(i.removeFrom725StoreList.estimateGas(r)).then(function(e){var t;return n?e:Promise.resolve(Se(e,o.getSignerAccordingSdk(),null==(t=o.config)?void 0:t.gasFeeMultiplier,i.removeFrom725StoreList,r))})}var u=!0!==s.manager;return u||t===r?a(u||t!==r&&o.getNftPermissions(e,t)):Promise.resolve(u||t!==r&&o.getNftPermissions(e,t)).then(a)})}catch(e){return Promise.reject(e)}},r.cleanPermissions=function(e,t,r){try{var n=this,o=n.getContract(e);return Promise.resolve(n.getNftOwner(e)).then(function(e){if(e!==t)throw new Error("Caller is not NFT Owner");return Promise.resolve(o.cleanPermissions.estimateGas()).then(function(e){var t;return r?e:Promise.resolve(Se(e,n.getSignerAccordingSdk(),null==(t=n.config)?void 0:t.gasFeeMultiplier,o.cleanPermissions))})})}catch(e){return Promise.reject(e)}},r.transferNft=function(e,t,r,n,o){try{var i=this,s=i.getContract(e);return Promise.resolve(i.getNftOwner(e)).then(function(e){if(e!==t)throw new Error("Caller is not NFT Owner");var a=n||1;return Promise.resolve(s.transferFrom.estimateGas(t,r,a)).then(function(e){var n;return o?e:Promise.resolve(Se(e,i.getSignerAccordingSdk(),null==(n=i.config)?void 0:n.gasFeeMultiplier,s.transferFrom,t,r,a))})})}catch(e){return Promise.reject(e)}},r.safeTransferNft=function(e,t,r,n,o){try{var i=this,s=i.getContract(e);return Promise.resolve(i.getNftOwner(e)).then(function(e){if(e!==t)throw new Error("Caller is not NFT Owner");var a=n||1;return Promise.resolve(s.safeTransferFrom.estimateGas(t,r,a)).then(function(e){var n;return o?e:Promise.resolve(Se(e,i.getSignerAccordingSdk(),null==(n=i.config)?void 0:n.gasFeeMultiplier,s.safeTransferFrom,t,r,a))})})}catch(e){return Promise.reject(e)}},r.setMetadata=function(e,t,r,n,o,i,s,a,u,c){try{var l=this,f=l.getContract(e);return u||(u=[]),Promise.resolve(l.getNftPermissions(e,t)).then(function(e){if(!e.updateMetadata)throw new Error("Caller is not Metadata updater");var t=n;if(null!=n&&n.includes("/p2p/")){var h,d=n.match(/\/p2p\/([^/]+)/);t=null!=(h=null==d?void 0:d[1])?h:n}return Promise.resolve(f.setMetaData.estimateGas(r,t,o,i,s,a,u)).then(function(e){var n;return c?e:Promise.resolve(Se(e,l.signer,null==(n=l.config)?void 0:n.gasFeeMultiplier,f.setMetaData,r,t,o,i,s,a,u))})})}catch(e){return Promise.reject(e)}},r.setMetadataAndTokenURI=function(e,t,r,n){try{var o=this,i=o.getContract(e);return Promise.resolve(o.getNftPermissions(e,t)).then(function(e){if(!e.updateMetadata)throw new Error("Caller is not Metadata updater");var t=ce({},r,{metadataProofs:r.metadataProofs||[]});return Promise.resolve(i.setMetaDataAndTokenURI.estimateGas(t)).then(function(e){var r;return n?e:Promise.resolve(Se(e,o.signer,null==(r=o.config)?void 0:r.gasFeeMultiplier,i.setMetaDataAndTokenURI,t))})})}catch(e){return Promise.reject(e)}},r.setMetadataState=function(e,t,r,n){try{var o=this,i=o.getContract(e);return Promise.resolve(o.getNftPermissions(e,t)).then(function(e){if(!e.updateMetadata)throw new Error("Caller is not Metadata updater");return Promise.resolve(i.setMetaDataState.estimateGas(r)).then(function(e){var t;return n?e:Promise.resolve(Se(e,o.getSignerAccordingSdk(),null==(t=o.config)?void 0:t.gasFeeMultiplier,i.setMetaDataState,r))})})}catch(e){return Promise.reject(e)}},r.setTokenURI=function(e,t,r){try{var n=this,o=n.getContract(e);return Promise.resolve(o.setTokenURI.estimateGas("1",t)).then(function(e){var i;return r?e:Promise.resolve(Se(e,n.getSignerAccordingSdk(),null==(i=n.config)?void 0:i.gasFeeMultiplier,o.setTokenURI,"1",t))})}catch(e){return Promise.reject(e)}},r.getNftOwner=function(e){try{var t=this.getContract(e);return Promise.resolve(t.ownerOf(1))}catch(e){return Promise.reject(e)}},r.getNftPermissions=function(e,t){try{var r=this.getContract(e);return Promise.resolve(r.getPermissions(t))}catch(e){return Promise.reject(e)}},r.getMetadata=function(e){try{var t=this.getContract(e);return Promise.resolve(t.getMetaData())}catch(e){return Promise.reject(e)}},r.isDatatokenDeployer=function(e,t){try{var r=this.getContract(e);return Promise.resolve(r.isERC20Deployer(t))}catch(e){return Promise.reject(e)}},r.setData=function(e,t,r,n,o){try{var i=this;return Promise.resolve(i.getNftPermissions(e,t)).then(function(t){if(!0!==t.store)throw new Error("User is not ERC20 store updater");var c=i.getContract(e),l=a(r),f=u(s(n));return Promise.resolve(c.setNewData.estimateGas(l,f)).then(function(e){var t;return o?e:Promise.resolve(Se(e,i.getSignerAccordingSdk(),null==(t=i.config)?void 0:t.gasFeeMultiplier,c.setNewData,l,f))})})}catch(e){return Promise.reject(e)}},r.getData=function(e,t){try{var r=this.getContract(e),n=a(t);return Promise.resolve(r.getData(n)).then(function(e){return e?c(e):null})}catch(e){return Promise.reject(e)}},r.getTokenURI=function(e,t){try{var r=this.getContract(e);return Promise.resolve(r.tokenURI(t))}catch(e){return Promise.reject(e)}},r.isDatatokenDeployed=function(e,t){try{var r=this.getContract(e);return Promise.resolve(r.isDeployed(t))}catch(e){return Promise.reject(e)}},t}(Ue),rt=/*#__PURE__*/function(e){function t(t,r,n,o,i){var s;return(s=e.call(this,t,r,n,o)||this).abiEnterprise=void 0,s.nft=void 0,s.abiEnterprise=i||w.abi,s.nft=new tt(s.signer,r),s}le(t,e);var r=t.prototype;return r.getDefaultAbi=function(){return P.abi},r.approve=function(e,t,r,n){try{var o=this,i=o.getContract(e);return Promise.resolve(i.approve.estimateGas(t,Ae(null,null,r,18))).then(function(e){var s;return n?e:Promise.resolve(Se(e,o.getSignerAccordingSdk(),null==(s=o.config)?void 0:s.gasFeeMultiplier,i.approve,t,Ae(null,null,r,18)))})}catch(e){return Promise.reject(e)}},r.createFixedRate=function(e,t,r,n){try{var o=this,i=o.getContract(e);return Promise.resolve(o.isDatatokenDeployer(e,t)).then(function(e){if(!e)throw new Error("User is not Datatoken Deployer");r.allowedConsumer||(r.allowedConsumer=Be);var t=!1===r.withMint?0:1;return Promise.resolve(i.createFixedRate.estimateGas(r.fixedRateAddress,[r.baseTokenAddress,r.owner,r.marketFeeCollector,r.allowedConsumer],[r.baseTokenDecimals,r.datatokenDecimals,r.fixedRate,r.marketFee,t])).then(function(e){var s;return n?e:Promise.resolve(Se(e,o.getSignerAccordingSdk(),null==(s=o.config)?void 0:s.gasFeeMultiplier,i.createFixedRate,r.fixedRateAddress,[r.baseTokenAddress,r.owner,r.marketFeeCollector,r.allowedConsumer],[r.baseTokenDecimals,r.datatokenDecimals,r.fixedRate,r.marketFee,t]))})})}catch(e){return Promise.reject(e)}},r.createDispenser=function(e,t,r,n,o){try{var i=this;return Promise.resolve(i.isDatatokenDeployer(e,t)).then(function(t){if(!t)throw new Error("User is not Datatoken Deployer");var s=i.getContract(e);return n.allowedSwapper||(n.allowedSwapper=Be),n.withMint=!1!==n.withMint,Promise.resolve(s.createDispenser.estimateGas(r,n.maxTokens,n.maxBalance,n.withMint,n.allowedSwapper)).then(function(e){var t;return o?e:Promise.resolve(Se(e,i.getSignerAccordingSdk(),null==(t=i.config)?void 0:t.gasFeeMultiplier,s.createDispenser,r,n.maxTokens,n.maxBalance,n.withMint,n.allowedSwapper))})})}catch(e){return Promise.reject(e)}},r.mint=function(e,t,r,n,o){try{var i=this,s=i.getContract(e);return Promise.resolve(i.getPermissions(e,t)).then(function(a){if(!0!==a.minter)throw new Error("Caller is not Minter");return Promise.resolve(i.getCap(e)).then(function(e){if(new v(e).gte(r))return Promise.resolve(s.mint.estimateGas(n||t,Ae(null,null,r,18))).then(function(e){var a;return o?e:Promise.resolve(Se(e,i.getSignerAccordingSdk(),null==(a=i.config)?void 0:a.gasFeeMultiplier,s.mint,n||t,Ae(null,null,r,18)))});throw new Error("Mint amount exceeds cap available")})})}catch(e){return Promise.reject(e)}},r.addMinter=function(e,t,r,n){try{var o=this,i=o.getContract(e);return Promise.resolve(o.isDatatokenDeployer(e,t)).then(function(e){if(!0!==e)throw new Error("Caller is not DatatokenDeployer");return Promise.resolve(i.addMinter.estimateGas(r)).then(function(e){var t;return n?e:Promise.resolve(Se(e,o.getSignerAccordingSdk(),null==(t=o.config)?void 0:t.gasFeeMultiplier,i.addMinter,r))})})}catch(e){return Promise.reject(e)}},r.removeMinter=function(e,t,r,n){try{var o=this,i=o.getContract(e);return Promise.resolve(o.isDatatokenDeployer(e,t)).then(function(e){if(!0!==e)throw new Error("Caller is not DatatokenDeployer");return Promise.resolve(i.removeMinter.estimateGas(r)).then(function(e){var t;return n?e:Promise.resolve(Se(e,o.getSignerAccordingSdk(),null==(t=o.config)?void 0:t.gasFeeMultiplier,i.removeMinter,r))})})}catch(e){return Promise.reject(e)}},r.addPaymentManager=function(e,t,r,n){try{var o=this,i=o.getContract(e);return Promise.resolve(o.isDatatokenDeployer(e,t)).then(function(e){if(!0!==e)throw new Error("Caller is not DatatokenDeployer");return Promise.resolve(i.addPaymentManager.estimateGas(r)).then(function(e){var t;return n?e:Promise.resolve(Se(e,o.getSignerAccordingSdk(),null==(t=o.config)?void 0:t.gasFeeMultiplier,i.addPaymentManager,r))})})}catch(e){return Promise.reject(e)}},r.removePaymentManager=function(e,t,r,n){try{var o=this,i=o.getContract(e);return Promise.resolve(o.isDatatokenDeployer(e,t)).then(function(e){if(!0!==e)throw new Error("Caller is not DatatokenDeployer");return Promise.resolve(i.removePaymentManager.estimateGas(r)).then(function(e){var t;return n?e:Promise.resolve(Se(e,o.getSignerAccordingSdk(),null==(t=o.config)?void 0:t.gasFeeMultiplier,i.removePaymentManager,r))})})}catch(e){return Promise.reject(e)}},r.setPaymentCollector=function(e,t,r,n){try{var o=this,i=o.getContract(e);return Promise.resolve(o.getPermissions(e,t)).then(function(s){function a(e){function s(s){function a(e){if(!u&&!c&&!(null==e?void 0:e.deployERC20))throw new Error("Caller is not Fee Manager, owner or Datatoken Deployer");return Promise.resolve(i.setPaymentCollector.estimateGas(r)).then(function(e){var t;return n?e:Promise.resolve(Se(e,o.getSignerAccordingSdk(),null==(t=o.config)?void 0:t.gasFeeMultiplier,i.setPaymentCollector,r))})}var c=e&&s===t;return e&&!c?Promise.resolve(e&&!c&&o.nft.getNftPermissions(e,t)).then(a):a(e&&!c&&o.nft.getNftPermissions(e,t))}return e?Promise.resolve(o.nft.getNftOwner(e)).then(s):s(e)}var u=s.paymentManager;return u?a(!u&&o.getNFTAddress(e)):Promise.resolve(!u&&o.getNFTAddress(e)).then(a)})}catch(e){return Promise.reject(e)}},r.getPaymentCollector=function(e){try{var t=this.getContract(e);return Promise.resolve(t.getPaymentCollector())}catch(e){return Promise.reject(e)}},r.transfer=function(e,t,r,n){try{var o=this,i=o.transferWei;return Promise.resolve(Ae(null,null,r,18)).then(function(r){return i.call(o,e,t,r,n)})}catch(e){return Promise.reject(e)}},r.transferWei=function(e,t,r,n){try{var o=this,i=o.getContract(e);return Promise.resolve(i.transfer.estimateGas(t,r)).then(function(e){var s;return n?e:Promise.resolve(Se(e,o.getSignerAccordingSdk(),null==(s=o.config)?void 0:s.gasFeeMultiplier,i.transfer,t,r))})}catch(e){return Promise.reject(e)}},r.startOrder=function(e,t,r,n,o,i){try{var s=this,a=s.getContract(e,s.abi);return o||(o={consumeMarketFeeAddress:Be,consumeMarketFeeToken:Be,consumeMarketFeeAmount:"0"}),Promise.resolve(a.startOrder.estimateGas(t,r,n,o)).then(function(e){var u;return i?e:Promise.resolve(Se(e,s.getSignerAccordingSdk(),null==(u=s.config)?void 0:u.gasFeeMultiplier,a.startOrder,t,r,n,o))})}catch(e){return Promise.reject(e)}},r.reuseOrder=function(e,t,r,n){try{var o=this,i=o.getContract(e);return Promise.resolve(i.reuseOrder.estimateGas(t,r)).then(function(e){var s;return n?e:Promise.resolve(Se(e,o.getSignerAccordingSdk(),null==(s=o.config)?void 0:s.gasFeeMultiplier,i.reuseOrder,t,r))})}catch(e){return Promise.reject(e)}},r.buyFromFreAndOrder=function(e,t,r,n){try{var o=this,i=o.getContract(e,o.abiEnterprise);return Promise.resolve(o.getFreOrderParams(r)).then(function(e){return Promise.resolve(i.buyFromFreAndOrder.estimateGas(t,e)).then(function(r){var s;return n?r:Promise.resolve(Se(r,o.getSignerAccordingSdk(),null==(s=o.config)?void 0:s.gasFeeMultiplier,i.buyFromFreAndOrder,t,e))})})}catch(e){return Promise.reject(e)}},r.buyFromDispenserAndOrder=function(e,t,r,n){try{var o=this,i=o.getContract(e,o.abiEnterprise);return Promise.resolve(i.buyFromDispenserAndOrder.estimateGas(t,r)).then(function(e){var s;return n?e:Promise.resolve(Se(e,o.getSignerAccordingSdk(),null==(s=o.config)?void 0:s.gasFeeMultiplier,i.buyFromDispenserAndOrder,t,r))})}catch(e){return Promise.reject(e)}},r.setData=function(e,t,r,n){try{var o=this;return Promise.resolve(o.isDatatokenDeployer(e,t)).then(function(t){if(!t)throw new Error("User is not Datatoken Deployer");var i=o.getContract(e),a=u(s(r));return Promise.resolve(i.setData.estimateGas(a)).then(function(e){var t;return n?e:Promise.resolve(Se(e,o.getSignerAccordingSdk(),null==(t=o.config)?void 0:t.gasFeeMultiplier,i.setData,a))})})}catch(e){return Promise.reject(e)}},r.cleanPermissions=function(e,t,r){try{var n=this,o=n.nft,i=o.getNftOwner;return Promise.resolve(n.getNFTAddress(e)).then(function(s){return Promise.resolve(i.call(o,s)).then(function(o){if(o!==t)throw new Error("Caller is NOT Nft Owner");var i=n.getContract(e);return Promise.resolve(i.cleanPermissions.estimateGas()).then(function(e){var t;return r?e:Promise.resolve(Se(e,n.getSignerAccordingSdk(),null==(t=n.config)?void 0:t.gasFeeMultiplier,i.cleanPermissions))})})})}catch(e){return Promise.reject(e)}},r.getPermissions=function(e,t){try{var r=this.getContract(e);return Promise.resolve(r.permissions(t))}catch(e){return Promise.reject(e)}},r.getCap=function(e){try{var t=this,r=t.getContract(e);return Promise.resolve(r.cap()).then(function(e){return Promise.resolve(t.unitsToAmount(null,e,18))})}catch(e){return Promise.reject(e)}},r.getDecimals=function(e){try{var t=this.getContract(e);return Promise.resolve(t.decimals()).then(Number)}catch(e){return Promise.reject(e)}},r.getId=function(e){try{var t=this.getContract(e);return Promise.resolve(t.getId()).then(Number)}catch(e){return Promise.reject(e)}},r.getSymbol=function(e){try{var t=this.getContract(e);return Promise.resolve(t.symbol())}catch(e){return Promise.reject(e)}},r.getName=function(e){try{var t=this.getContract(e);return Promise.resolve(t.name())}catch(e){return Promise.reject(e)}},r.getNFTAddress=function(e){try{var t=this.getContract(e);return Promise.resolve(t.getERC721Address())}catch(e){return Promise.reject(e)}},r.getFixedRates=function(e){try{var t=this.getContract(e);return Promise.resolve(t.getFixedRates())}catch(e){return Promise.reject(e)}},r.getDispensers=function(e){try{var t=this.getContract(e);return Promise.resolve(t.getDispensers())}catch(e){return Promise.reject(e)}},r.isDatatokenDeployer=function(e,t){try{var r=this.getContract(e);return Promise.resolve(r.isERC20Deployer(t))}catch(e){return Promise.reject(e)}},r.balance=function(e,t){try{var r=this,n=r.getContract(e);return Promise.resolve(n.balanceOf(t)).then(function(e){return Promise.resolve(r.unitsToAmount(null,e,18))})}catch(e){return Promise.reject(e)}},r.allowance=function(e,t,r,n){void 0===n&&(n=18);try{var o=this,i=o.getContract(e);return Promise.resolve(i.allowance(t,r)).then(function(e){return Promise.resolve(o.unitsToAmount(null,e,n))})}catch(e){return Promise.reject(e)}},r.setPublishingMarketFee=function(e,t,r,n,o,i){try{var s=this,a=s.getContract(e);return Promise.resolve(a.getPublishingMarketFee()).then(function(e){if(e[0]!==o)throw new Error("Caller is not the Publishing Market Fee Address");return Promise.resolve(a.setPublishingMarketFee.estimateGas(t,r,n)).then(function(e){var o;return i?e:Promise.resolve(Se(e,s.getSignerAccordingSdk(),null==(o=s.config)?void 0:o.gasFeeMultiplier,a.setPublishingMarketFee,t,r,n))})})}catch(e){return Promise.reject(e)}},r.getPublishingMarketFee=function(e){try{var t=this.getContract(e);return Promise.resolve(t.getPublishingMarketFee()).then(function(e){return{publishMarketFeeAddress:e[0],publishMarketFeeToken:e[1],publishMarketFeeAmount:e[2].toString()}})}catch(e){return Promise.reject(e)}},r.getFreOrderParams=function(e){try{var t=this,r=e.exchangeId,n=e.exchangeContract;return Promise.resolve(Ae(t.signer,e.baseTokenAddress,e.maxBaseTokenAmount,e.baseTokenDecimals)).then(function(o){return Promise.resolve(Ae(t.signer,e.baseTokenAddress,e.swapMarketFee,e.baseTokenDecimals)).then(function(t){return{exchangeContract:n,exchangeId:r,maxBaseTokenAmount:o,swapMarketFee:t,marketFeeAddress:e.marketFeeAddress}})})}catch(e){return Promise.reject(e)}},t}(Ue),nt=/*#__PURE__*/function(e){function t(t,r,n,o,i){var s;return(s=e.call(this,t,n,o,i)||this).accessList=void 0,s.fileObject=void 0,s.abi=s.getDefaultAbi(),s.fileObject=r,s}le(t,e);var r=t.prototype;return r.getDefaultAbi=function(){return T.abi},r.setFileObj=function(e){this.fileObject=e},r.getAllowlistContract=function(e){try{var t=this.getContract(e,this.getDefaultAbi());return Promise.resolve(t.getAllowListContract())}catch(e){return Promise.reject(e)}},r.getDenylistContract=function(e){try{var t=this.getContract(e,this.getDefaultAbi());return Promise.resolve(t.getDenyListContract())}catch(e){return Promise.reject(e)}},r.setAllowListContract=function(e,t,r,n){try{var o=this;return Promise.resolve(o.isDatatokenDeployer(e,r)).then(function(r){if(!r)throw new Error("User is not Datatoken Deployer");var i=o.getContract(e);return Promise.resolve(i.setAllowListContract.estimateGas(t)).then(function(e){var r;return n?e:Promise.resolve(Se(e,o.getSignerAccordingSdk(),null==(r=o.config)?void 0:r.gasFeeMultiplier,i.setAllowListContract,t))})})}catch(e){return Promise.reject(e)}},r.setDenyListContract=function(e,t,r,n){try{var o=this;return Promise.resolve(o.isDatatokenDeployer(e,r)).then(function(r){if(!r)throw new Error("User is not Datatoken Deployer");var i=o.getContract(e);return Promise.resolve(i.setDenyListContract.estimateGas(t)).then(function(e){var r;return n?e:Promise.resolve(Se(e,o.getSignerAccordingSdk(),null==(r=o.config)?void 0:r.gasFeeMultiplier,i.setDenyListContract,t))})})}catch(e){return Promise.reject(e)}},r.setFileObject=function(e,t,r){try{var n=this;return Promise.resolve(n.isDatatokenDeployer(e,t)).then(function(t){if(!t)throw new Error("User is not Datatoken Deployer");var o=n.getContract(e);return Promise.resolve(o.setFilesObject.estimateGas(n.fileObject)).then(function(e){var t;return r?e:Promise.resolve(Se(e,n.getSignerAccordingSdk(),null==(t=n.config)?void 0:t.gasFeeMultiplier,o.setFilesObject,n.fileObject))})})}catch(e){return Promise.reject(e)}},r.getFileObject=function(e,t,r,n,o,i,s){try{var a=this.getContract(e,this.getDefaultAbi());return Promise.resolve(a.getFileObject(t,r,n,o,i,s))}catch(e){return Promise.reject(e)}},t}(rt),ot=/*#__PURE__*/function(e){function t(t,r,n,o,i){var s;return(s=e.call(this,t,r,n,o,i)||this).abiEnterprise=void 0,s.abi=i||s.getDefaultAbi(),s}le(t,e);var r=t.prototype;return r.getDefaultAbi=function(){return x.abi},r.getTokenUri=function(e){try{return Promise.resolve(this.contract.tokenURI(e))}catch(e){return Promise.reject(e)}},r.getOwner=function(){try{return Promise.resolve(this.contract.owner())}catch(e){return Promise.reject(e)}},r.getId=function(){try{return Promise.resolve(this.contract.getId()).then(Number)}catch(e){return Promise.reject(e)}},r.getName=function(){try{return Promise.resolve(this.contract.name())}catch(e){return Promise.reject(e)}},r.getSymbol=function(){try{return Promise.resolve(this.contract.symbol())}catch(e){return Promise.reject(e)}},r.balance=function(e){try{var t=this;return Promise.resolve(t.contract.balanceOf(e)).then(function(e){return Promise.resolve(t.unitsToAmount(null,e,18))})}catch(e){return Promise.reject(e)}},r.mint=function(e,t,r){try{var n=this;return Promise.resolve(n.contract.mint.estimateGas(e,t)).then(function(o){var i;return r?o:Promise.resolve(Se(o,n.getSignerAccordingSdk(),null==(i=n.config)?void 0:i.gasFeeMultiplier,n.contract.mint,e,t))})}catch(e){return Promise.reject(e)}},r.batchMint=function(e,t,r){try{var n=this;return Promise.resolve(n.contract.batchMint.estimateGas(e,t)).then(function(o){var i;return r?o:Promise.resolve(Se(o,n.getSignerAccordingSdk(),null==(i=n.config)?void 0:i.gasFeeMultiplier,n.contract.batchMint,e,t))})}catch(e){return Promise.reject(e)}},r.burn=function(e,t){try{var r=this;return Promise.resolve(r.contract.burn.estimateGas(e)).then(function(n){var o;return t?n:Promise.resolve(Se(n,r.getSignerAccordingSdk(),null==(o=r.config)?void 0:o.gasFeeMultiplier,r.contract.burn,e))})}catch(e){return Promise.reject(e)}},r.transferOwnership=function(e,t){try{var r=this;return Promise.resolve(r.contract.transferOwnership.estimateGas(e)).then(function(n){var o;return t?n:Promise.resolve(Se(n,r.getSignerAccordingSdk(),null==(o=r.config)?void 0:o.gasFeeMultiplier,r.contract.transferOwnership,e))})}catch(e){return Promise.reject(e)}},r.renounceOwnership=function(e){try{var t=this;return Promise.resolve(t.contract.renounceOwnership.estimateGas()).then(function(r){var n;return e?r:Promise.resolve(Se(r,t.getSignerAccordingSdk(),null==(n=t.config)?void 0:n.gasFeeMultiplier,t.contract.renounceOwnership))})}catch(e){return Promise.reject(e)}},t}(Re),it=/*#__PURE__*/function(e){function t(t,r,n,o,i){var s;return(s=e.call(this,t,r,n,o,i)||this).abi=i||s.getDefaultAbi(),s}le(t,e);var r=t.prototype;return r.getDefaultAbi=function(){return k.abi},r.deployAccessListContract=function(e,t,r,n,o,i,s){void 0===n&&(n=!1);try{var a=this;if(!e||!t){var u=Ke();e=u.name,t=u.symbol}return Promise.resolve(a.contract.deployAccessListContract.estimateGas(e,t,n,o,i,r)).then(function(u){return s?u:function(s,c){try{var l=Promise.resolve(Se(u,a.getSignerAccordingSdk(),null==(f=a.config)?void 0:f.gasFeeMultiplier,a.contract.deployAccessListContract,e,t,n,o,i,r)).then(function(e){if(!e){var t="Tx for deploying new access list was not processed on chain.";throw console.error(t),t}return Promise.resolve(e.wait()).then(function(e){return Le(e,"NewAccessList").args[0]})})}catch(e){return c(e)}var f;return l&&l.then?l.then(void 0,c):l}(0,function(e){console.error("Creation of AccessList failed: "+e)})})}catch(e){return Promise.reject(e)}},r.getOwner=function(){try{return Promise.resolve(this.contract.owner())}catch(e){return Promise.reject(e)}},r.isSoulbound=function(e){try{return Promise.resolve(this.contract.isSoulBound(e))}catch(e){return Promise.reject(e)}},r.isDeployed=function(e){try{return Promise.resolve(this.contract.isDeployed(e))}catch(e){return Promise.reject(e)}},r.changeTemplateAddress=function(e,t,r){try{var n=this;return Promise.resolve(n.getOwner()).then(function(o){if(o!==e)throw new Error("Caller is not Factory Owner");if(t===Be)throw new Error("Template address cannot be ZERO address");return Promise.resolve(n.contract.changeTemplateAddress.estimateGas(t)).then(function(e){var o;return r?e:Promise.resolve(Se(e,n.getSignerAccordingSdk(),null==(o=n.config)?void 0:o.gasFeeMultiplier,n.contract.changeTemplateAddress,t))})})}catch(e){return Promise.reject(e)}},t}(Re);function st(e,t,r){if(!e.s){if(r instanceof at){if(!r.s)return void(r.o=st.bind(null,e,t));1&t&&(t=r.s),r=r.v}if(r&&r.then)return void r.then(st.bind(null,e,t),st.bind(null,e,2));e.s=t,e.v=r;const n=e.o;n&&n(e)}}var at=/*#__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{st(n,1,i(this.v))}catch(e){st(n,2,e)}return n}return this}return this.o=function(e){try{var o=e.v;1&e.s?st(n,1,t?t(o):o):r?st(n,1,r(o)):st(n,2,o)}catch(e){st(n,2,e)}},n},e}(),ut=/*#__PURE__*/function(e){function t(t,r,n,o,i){var s;return(s=e.call(this,t,r,n,o,i)||this).abiEnterprise=void 0,s.abi=i||s.getDefaultAbi(),s}le(t,e);var r=t.prototype;return r.getDefaultAbi=function(){return C.abi},r.getFunds=function(e){try{return Promise.resolve(this.contract.getFunds(e))}catch(e){return Promise.reject(e)}},r.getUserFunds=function(e,t){try{return Promise.resolve(this.contract.getUserFunds(e,t))}catch(e){return Promise.reject(e)}},r.getUserTokens=function(e){try{return Promise.resolve(this.contract.getUserTokens(e))}catch(e){return Promise.reject(e)}},r.getLocks=function(e,t,r){try{return Promise.resolve(this.contract.getLocks(e,t,r))}catch(e){return Promise.reject(e)}},r.getAuthorizations=function(e,t,r){try{return Promise.resolve(this.contract.getAuthorizations(e,t,r))}catch(e){return Promise.reject(e)}},r.verifyFundsForEscrowPayment=function(e,t,r,n,o,i,s){try{var a,u=this;return Promise.resolve(null==(a=u.signer.provider)?void 0:a.getBalance(l(t))).then(function(a){if(new g(a).isZero())return{isValid:!1,message:"Native token balance is 0. Please add funds"};var c=new rt(u.signer),h=c.allowance;return Promise.resolve(u.signer.getAddress()).then(function(a){return Promise.resolve(h.call(c,e,a,u.contract.target.toString(),s)).then(function(a){return Promise.resolve(u.amountToUnits(e,a,18)).then(function(a){function h(){var a=c.balance;return Promise.resolve(u.signer.getAddress()).then(function(h){return Promise.resolve(a.call(c,e,h)).then(function(a){if(new g(a).isZero())return{isValid:!1,message:"Payment token balance is 0. Please add funds"};var c=u.getAuthorizations;return Promise.resolve(u.signer.getAddress()).then(function(h){return Promise.resolve(c.call(u,e,h,t)).then(function(c){var h=u.getUserFunds;return Promise.resolve(u.signer.getAddress()).then(function(d){return Promise.resolve(h.call(u,d,e)).then(function(h){function d(){var r=function(){if(0===c.length)return Promise.resolve(u.authorize(l(e),l(t),(Number(n)/2).toString(),o,i)).then(function(){})}();return r&&r.then?r.then(function(){return{isValid:!0,message:""}}):{isValid:!0,message:""}}var m=function(){if(new g(h[0]).isZero()){var t=function(){if(r&&new g(f(a)).isLessThanOrEqualTo(new g(f(r)))&&new g(f(r)).isGreaterThan(new g(n)))return Promise.resolve(u.deposit(e,r,s)).then(function(){});var t=function(){if(new g(f(a)).isLessThanOrEqualTo(new g(f(n)))){var t=u.deposit;return Promise.resolve(u.unitsToAmount(e,n,s)).then(function(r){return Promise.resolve(t.call(u,e,r,s)).then(function(){})})}return Promise.resolve(u.deposit(e,a,s)).then(function(){})}();return t&&t.then?t.then(function(){}):void 0}();if(t&&t.then)return t.then(function(){})}}();return m&&m.then?m.then(d):d()})})})})})})}var d=function(){if(new g(a).isLessThan(new g(n)))return Promise.resolve(c.approve(l(e),l(u.contract.target.toString()),n)).then(function(){})}();return d&&d.then?d.then(h):h()})})})})}catch(e){return Promise.reject(e)}},r.deposit=function(e,t,r,n){try{var o=this;return Promise.resolve(o.amountToUnits(e,t,r)).then(function(t){return Promise.resolve(o.contract.deposit.estimateGas(e,t)).then(function(r){var i;return n?r:Promise.resolve(Se(r,o.getSignerAccordingSdk(),null==(i=o.config)?void 0:i.gasFeeMultiplier,o.contract.deposit,e,t))})})}catch(e){return Promise.reject(e)}},r.withdraw=function(e,t,r,n){try{var o=this,i=[],s=[];if(e.length!==t.length)throw new Error("Tokens and amounts arrays must have the same length");return Promise.resolve(o.signer.getAddress()).then(function(a){function u(){return Promise.resolve(Promise.all(s.map(function(e,t){return o.amountToUnits(i[t],e,r)}))).then(function(t){return Promise.resolve(o.contract.withdraw.estimateGas(e,t)).then(function(e){var r;return n?e:Promise.resolve(Se(e,o.getSignerAccordingSdk(),null==(r=o.config)?void 0:r.gasFeeMultiplier,o.contract.withdraw,i,t))})})}var c,l,f,h,d,m=(c=e,l=function(r){var n=e[r],u=new g(t[r]);return Promise.resolve(o.getUserFunds(a,n)).then(function(e){var o=new g(e[0]);u.isGreaterThan(0)&&u.isLessThanOrEqualTo(o)?(i.push(n),s.push(t[r])):console.log("Insufficient funds for token "+n)})},d=-1,function e(t){try{for(;++d<c.length;)if((t=l(d))&&t.then){if(!((r=t)instanceof at&&1&r.s))return void t.then(e,h||(h=st.bind(null,f=new at,2)));t=t.v}f?st(f,1,t):f=t}catch(e){st(f||(f=new at),2,e)}var r}(),f);return m&&m.then?m.then(u):u()})}catch(e){return Promise.reject(e)}},r.authorize=function(e,t,r,n,o,i,s){try{var a=this,u=a.getAuthorizations;return Promise.resolve(a.signer.getAddress()).then(function(c){return Promise.resolve(u.call(a,e,c,t)).then(function(u){return 0!==u.length?(console.log("Payee "+t+" already authorized"),null):Promise.resolve(a.amountToUnits(e,r,i)).then(function(r){return Promise.resolve(a.amountToUnits(e,n,i)).then(function(n){return Promise.resolve(a.amountToUnits(e,o,i)).then(function(o){return Promise.resolve(a.contract.authorize.estimateGas(e,t,r,n,o)).then(function(i){var u;return s?i:Promise.resolve(Se(i,a.getSignerAccordingSdk(),null==(u=a.config)?void 0:u.gasFeeMultiplier,a.contract.authorize,e,t,r,n,o))})})})})})})}catch(e){return Promise.reject(e)}},r.cancelExpiredLocks=function(e,t,r,n,o){try{var i=this;return Promise.resolve(i.contract.cancelExpiredLocks.estimateGas(e,t,r,n)).then(function(s){var a;return o?s:Promise.resolve(Se(s,i.getSignerAccordingSdk(),null==(a=i.config)?void 0:a.gasFeeMultiplier,i.contract.cancelExpiredLocks,e,t,r,n))})}catch(e){return Promise.reject(e)}},t}(Re),ct=/*#__PURE__*/function(e){function t(t,r,n,o,i){var s;return(s=e.call(this,t,r,n,o,i)||this).abi=i||s.getDefaultAbi(),s}le(t,e);var r=t.prototype;return r.getDefaultAbi=function(){return O.abi},r.isTokenAllowed=function(e){try{return Promise.resolve(this.contract.isTokenAllowed(e))}catch(e){return Promise.reject(e)}},r.getToken=function(e){try{return Promise.resolve(this.contract.getToken(e))}catch(e){return Promise.reject(e)}},r.calculateFee=function(e,t,r){try{var n=this,o=n.amountToUnits(e,t.toString(),r);return Promise.resolve(n.contract.calculateFee(e,o)).then(function(t){return n.unitsToAmount(e,t,r)})}catch(e){return Promise.reject(e)}},t}(Re),lt=function(e){try{return Promise.resolve(new Promise(function(t){setTimeout(t,e)}))}catch(e){return Promise.reject(e)}};function ft(e){return null!=e}var ht=function(e,t){try{var r=o.solidityPackedKeccak256(["bytes"],[o.hexlify(o.toUtf8Bytes(t))]),n=o.toBeArray(r);return Promise.resolve(function(t,r){try{var o=Promise.resolve(e.signMessage(n))}catch(e){return r()}return o&&o.then?o.then(void 0,r):o}(0,function(){return Promise.resolve(e.provider.getNetwork()).then(function(t){var r=Number(t.chainId);return function(){if(8996===Number(r))return console.log("Signing message with _legacySignMessage"),Promise.resolve(e._legacySignMessage(n))}()})}))}catch(e){return Promise.reject(e)}},dt=function(e,t){try{var r=h(t);return Promise.resolve(e._legacySignMessage(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)}};class mt extends Error{static name="InvalidParametersError";constructor(e="Invalid parameters"){super(e),this.name="InvalidParametersError"}}class gt extends Error{static name="InvalidPublicKeyError";constructor(e="Invalid public key"){super(e),this.name="InvalidPublicKeyError"}}class vt extends Error{static name="InvalidCIDError";constructor(e="Invalid CID"){super(e),this.name="InvalidCIDError"}}class pt extends Error{static name="InvalidMultihashError";constructor(e="Invalid Multihash"){super(e),this.name="InvalidMultihashError"}}class yt extends Error{static name="ProtocolError";constructor(e="Protocol error"){super(e),this.name="ProtocolError"}}class bt extends Error{static name="TimeoutError";constructor(e="Timed out"){super(e),this.name="TimeoutError"}}class Pt extends Error{static name="UnsupportedKeyTypeError";constructor(e="Unsupported key type"){super(e),this.name="UnsupportedKeyTypeError"}}const wt=Symbol.for("@libp2p/peer-id"),Et=Symbol.for("@libp2p/service-capabilities");function St(e){if(e instanceof Uint8Array&&"Uint8Array"===e.constructor.name)return e;if(e instanceof ArrayBuffer)return new Uint8Array(e);if(ArrayBuffer.isView(e))return new Uint8Array(e.buffer,e.byteOffset,e.byteLength);throw new Error("Unknown type, must be binary type")}class At{name;prefix;baseEncode;constructor(e,t,r){this.name=e,this.prefix=t,this.baseEncode=r}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}}class Tt{name;prefix;baseDecode;prefixCodePoint;constructor(e,t,r){this.name=e,this.prefix=t;const n=t.codePointAt(0);if(void 0===n)throw new Error("Invalid prefix character");this.prefixCodePoint=n,this.baseDecode=r}decode(e){if("string"==typeof e){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}throw Error("Can only multibase decode strings")}or(e){return kt(this,e)}}class xt{decoders;constructor(e){this.decoders=e}or(e){return kt(this,e)}decode(e){const t=this.decoders[e[0]];if(null!=t)return t.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}}function kt(e,t){return new xt({...e.decoders??{[e.prefix]:e},...t.decoders??{[t.prefix]:t}})}class Ct{name;prefix;baseEncode;baseDecode;encoder;decoder;constructor(e,t,r,n){this.name=e,this.prefix=t,this.baseEncode=r,this.baseDecode=n,this.encoder=new At(e,t,r),this.decoder=new Tt(e,t,n)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}}function Ot({name:e,prefix:t,encode:r,decode:n}){return new Ct(e,t,r,n)}function Ft({name:e,prefix:t,alphabet:r}){const{encode:n,decode:o}=function(e,t){if(e.length>=255)throw new TypeError("Alphabet too long");for(var r=new Uint8Array(256),n=0;n<r.length;n++)r[n]=255;for(var o=0;o<e.length;o++){var i=e.charAt(o),s=i.charCodeAt(0);if(255!==r[s])throw new TypeError(i+" is ambiguous");r[s]=o}var a=e.length,u=e.charAt(0),c=Math.log(a)/Math.log(256),l=Math.log(256)/Math.log(a);function f(e){if("string"!=typeof e)throw new TypeError("Expected String");if(0===e.length)return new Uint8Array;var t=0;if(" "!==e[t]){for(var n=0,o=0;e[t]===u;)n++,t++;for(var i=(e.length-t)*c+1>>>0,s=new Uint8Array(i);e[t];){var l=r[e.charCodeAt(t)];if(255===l)return;for(var f=0,h=i-1;(0!==l||f<o)&&-1!==h;h--,f++)s[h]=(l+=a*s[h]>>>0)%256>>>0,l=l/256>>>0;if(0!==l)throw new Error("Non-zero carry");o=f,t++}if(" "!==e[t]){for(var d=i-o;d!==i&&0===s[d];)d++;for(var m=new Uint8Array(n+(i-d)),g=n;d!==i;)m[g++]=s[d++];return m}}}return{encode:function(t){if(t instanceof Uint8Array||(ArrayBuffer.isView(t)?t=new Uint8Array(t.buffer,t.byteOffset,t.byteLength):Array.isArray(t)&&(t=Uint8Array.from(t))),!(t instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(0===t.length)return"";for(var r=0,n=0,o=0,i=t.length;o!==i&&0===t[o];)o++,r++;for(var s=(i-o)*l+1>>>0,c=new Uint8Array(s);o!==i;){for(var f=t[o],h=0,d=s-1;(0!==f||h<n)&&-1!==d;d--,h++)c[d]=(f+=256*c[d]>>>0)%a>>>0,f=f/a>>>0;if(0!==f)throw new Error("Non-zero carry");n=h,o++}for(var m=s-n;m!==s&&0===c[m];)m++;for(var g=u.repeat(r);m<s;++m)g+=e.charAt(c[m]);return g},decodeUnsafe:f,decode:function(e){var r=f(e);if(r)return r;throw new Error(`Non-${t} character`)}}}(r,e);return Ot({prefix:t,name:e,encode:n,decode:e=>St(o(e))})}function Dt({name:e,prefix:t,bitsPerChar:r,alphabet:n}){const o=function(e){const t={};for(let r=0;r<e.length;++r)t[e[r]]=r;return t}(n);return Ot({prefix:t,name:e,encode:e=>function(e,t,r){const n="="===t[t.length-1],o=(1<<r)-1;let i="",s=0,a=0;for(let n=0;n<e.length;++n)for(a=a<<8|e[n],s+=8;s>r;)s-=r,i+=t[o&a>>s];if(0!==s&&(i+=t[o&a<<r-s]),n)for(;i.length*r&7;)i+="=";return i}(e,n,r),decode:t=>function(e,t,r,n){let o=e.length;for(;"="===e[o-1];)--o;const i=new Uint8Array(o*r/8|0);let s=0,a=0,u=0;for(let c=0;c<o;++c){const o=t[e[c]];if(void 0===o)throw new SyntaxError(`Non-${n} character`);a=a<<r|o,s+=r,s>=8&&(s-=8,i[u++]=255&a>>s)}if(s>=r||255&a<<8-s)throw new SyntaxError("Unexpected end of data");return i}(t,o,r,e)})}const It=Ft({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"});Ft({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});const Nt=Dt({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5});Dt({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),Dt({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),Dt({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),Dt({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),Dt({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),Dt({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),Dt({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),Dt({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});const jt=Ft({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"});Ft({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var Lt=Math.pow(2,31),Ut=Math.pow(2,7),Rt=Math.pow(2,14),Mt=Math.pow(2,21),Bt=Math.pow(2,28),_t=Math.pow(2,35),Gt=Math.pow(2,42),Vt=Math.pow(2,49),qt=Math.pow(2,56),zt=Math.pow(2,63),Ht={encode:function e(t,r,n){r=r||[];for(var o=n=n||0;t>=Lt;)r[n++]=255&t|128,t/=128;for(;-128&t;)r[n++]=255&t|128,t>>>=7;return r[n]=0|t,e.bytes=n-o+1,r},decode:function e(t,r){var n,o=0,i=0,s=r=r||0,a=t.length;do{if(s>=a)throw e.bytes=0,new RangeError("Could not decode varint");n=t[s++],o+=i<28?(127&n)<<i:(127&n)*Math.pow(2,i),i+=7}while(n>=128);return e.bytes=s-r,o},encodingLength:function(e){return e<Ut?1:e<Rt?2:e<Mt?3:e<Bt?4:e<_t?5:e<Gt?6:e<Vt?7:e<qt?8:e<zt?9:10}};function Kt(e,t=0){return[Ht.decode(e,t),Ht.decode.bytes]}function Zt(e,t,r=0){return Ht.encode(e,t,r),t}function Jt(e){return Ht.encodingLength(e)}function $t(e,t){const r=t.byteLength,n=Jt(e),o=n+Jt(r),i=new Uint8Array(o+r);return Zt(e,i,0),Zt(r,i,n),i.set(t,o),new Yt(e,r,t,i)}function Wt(e){const t=St(e),[r,n]=Kt(t),[o,i]=Kt(t.subarray(n)),s=t.subarray(n+i);if(s.byteLength!==o)throw new Error("Incorrect length");return new Yt(r,o,s,t)}class Yt{code;size;digest;bytes;constructor(e,t,r,n){this.code=e,this.size=t,this.digest=r,this.bytes=n}}function Xt(e,t){const{bytes:r,version:n}=e;return 0===n?function(e,t,r){const{prefix:n}=r;if(n!==It.prefix)throw Error(`Cannot string encode V0 in ${r.name} encoding`);const o=t.get(n);if(null==o){const o=r.encode(e).slice(1);return t.set(n,o),o}return o}(r,er(e),t??It.encoder):function(e,t,r){const{prefix:n}=r,o=t.get(n);if(null==o){const o=r.encode(e);return t.set(n,o),o}return o}(r,er(e),t??Nt.encoder)}const Qt=new WeakMap;function er(e){const t=Qt.get(e);if(null==t){const t=new Map;return Qt.set(e,t),t}return t}class tr{code;version;multihash;bytes;"/";constructor(e,t,r,n){this.code=t,this.version=e,this.multihash=r,this.bytes=n,this["/"]=n}get asCID(){return this}get byteOffset(){return this.bytes.byteOffset}get byteLength(){return this.bytes.byteLength}toV0(){switch(this.version){case 0:return this;case 1:{const{code:e,multihash:t}=this;if(e!==rr)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(t.code!==nr)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return tr.createV0(t)}default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}toV1(){switch(this.version){case 0:{const{code:e,digest:t}=this.multihash,r=$t(e,t);return tr.createV1(this.code,r)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 1. This is a bug please report`)}}equals(e){return tr.equals(this,e)}static equals(e,t){return null!=t&&e.code===t.code&&e.version===t.version&&((r=e.multihash)===(n=t.multihash)||r.code===n.code&&r.size===n.size&&n.bytes instanceof Uint8Array&&function(e,t){if(e===t)return!0;if(e.byteLength!==t.byteLength)return!1;for(let r=0;r<e.byteLength;r++)if(e[r]!==t[r])return!1;return!0}(r.bytes,n.bytes));var r,n}toString(e){return Xt(this,e)}toJSON(){return{"/":Xt(this)}}link(){return this}[Symbol.toStringTag]="CID";[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(e){if(null==e)return null;const t=e;if(t instanceof tr)return t;if(null!=t["/"]&&t["/"]===t.bytes||t.asCID===t){const{version:e,code:r,multihash:n,bytes:o}=t;return new tr(e,r,n,o??or(e,r,n.bytes))}if(!0===t[ir]){const{version:e,multihash:r,code:n}=t,o=Wt(r);return tr.create(e,n,o)}return null}static create(e,t,r){if("number"!=typeof t)throw new Error("String codecs are no longer supported");if(!(r.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(e){case 0:if(t!==rr)throw new Error(`Version 0 CID must use dag-pb (code: ${rr}) block encoding`);return new tr(e,t,r,r.bytes);case 1:{const n=or(e,t,r.bytes);return new tr(e,t,r,n)}default:throw new Error("Invalid version")}}static createV0(e){return tr.create(0,rr,e)}static createV1(e,t){return tr.create(1,e,t)}static decode(e){const[t,r]=tr.decodeFirst(e);if(0!==r.length)throw new Error("Incorrect length");return t}static decodeFirst(e){const t=tr.inspectBytes(e),r=t.size-t.multihashSize,n=St(e.subarray(r,r+t.multihashSize));if(n.byteLength!==t.multihashSize)throw new Error("Incorrect length");const o=n.subarray(t.multihashSize-t.digestSize),i=new Yt(t.multihashCode,t.digestSize,o,n);return[0===t.version?tr.createV0(i):tr.createV1(t.codec,i),e.subarray(t.size)]}static inspectBytes(e){let t=0;const r=()=>{const[r,n]=Kt(e.subarray(t));return t+=n,r};let n=r(),o=rr;if(18===n?(n=0,t=0):o=r(),0!==n&&1!==n)throw new RangeError(`Invalid CID version ${n}`);const i=t,s=r(),a=r(),u=t+a;return{version:n,codec:o,multihashCode:s,digestSize:a,multihashSize:u-i,size:u}}static parse(e,t){const[r,n]=function(e,t){switch(e[0]){case"Q":return[It.prefix,(t??It).decode(`${It.prefix}${e}`)];case It.prefix:return[It.prefix,(t??It).decode(e)];case Nt.prefix:return[Nt.prefix,(t??Nt).decode(e)];case jt.prefix:return[jt.prefix,(t??jt).decode(e)];default:if(null==t)throw Error("To parse non base32, base36 or base58btc encoded CID multibase decoder must be provided");return[e[0],t.decode(e)]}}(e,t),o=tr.decode(n);if(0===o.version&&"Q"!==e[0])throw Error("Version 0 CID string must not include multibase prefix");return er(o).set(r,e),o}}const rr=112,nr=18;function or(e,t,r){const n=Jt(e),o=n+Jt(t),i=new Uint8Array(o+r.byteLength);return Zt(e,i,0),Zt(t,i,n),i.set(r,o),i}const ir=Symbol.for("@ipld/js-cid/CID"),sr=St,ar=function(e,t){if(null!=t?.truncate&&t.truncate!==e.byteLength){if(t.truncate<0||t.truncate>e.byteLength)throw new Error(`Invalid truncate option, must be less than or equal to ${e.byteLength}`);e=e.subarray(0,t.truncate)}return $t(0,sr(e))},ur=Symbol.for("@achingbrain/uint8arraylist");function cr(e,t){if(null==t||t<0)throw new RangeError("index is out of bounds");let r=0;for(const n of e){const e=r+n.byteLength;if(t<e)return{buf:n,index:t-r};r=e}throw new RangeError("index is out of bounds")}function lr(e){return Boolean(e?.[ur])}class fr{bufs;length;[ur]=!0;constructor(...e){this.bufs=[],this.length=0,e.length>0&&this.appendAll(e)}*[Symbol.iterator](){yield*this.bufs}get byteLength(){return this.length}append(...e){this.appendAll(e)}appendAll(e){let t=0;for(const r of e)if(r instanceof Uint8Array)t+=r.byteLength,this.bufs.push(r);else{if(!lr(r))throw new Error("Could not append value, must be an Uint8Array or a Uint8ArrayList");t+=r.byteLength,this.bufs.push(...r.bufs)}this.length+=t}prepend(...e){this.prependAll(e)}prependAll(e){let t=0;for(const r of e.reverse())if(r instanceof Uint8Array)t+=r.byteLength,this.bufs.unshift(r);else{if(!lr(r))throw new Error("Could not prepend value, must be an Uint8Array or a Uint8ArrayList");t+=r.byteLength,this.bufs.unshift(...r.bufs)}this.length+=t}get(e){const t=cr(this.bufs,e);return t.buf[t.index]}set(e,t){const r=cr(this.bufs,e);r.buf[r.index]=t}write(e,t=0){if(e instanceof Uint8Array)for(let r=0;r<e.length;r++)this.set(t+r,e[r]);else{if(!lr(e))throw new Error("Could not write value, must be an Uint8Array or a Uint8ArrayList");for(let r=0;r<e.length;r++)this.set(t+r,e.get(r))}}consume(e){if(e=Math.trunc(e),!(Number.isNaN(e)||e<=0)){if(e===this.byteLength)return this.bufs=[],void(this.length=0);for(;this.bufs.length>0;){if(!(e>=this.bufs[0].byteLength)){this.bufs[0]=this.bufs[0].subarray(e),this.length-=e;break}e-=this.bufs[0].byteLength,this.length-=this.bufs[0].byteLength,this.bufs.shift()}}}slice(e,t){const{bufs:r,length:n}=this._subList(e,t);return j(r,n)}subarray(e,t){const{bufs:r,length:n}=this._subList(e,t);return 1===r.length?r[0]:j(r,n)}sublist(e,t){const{bufs:r,length:n}=this._subList(e,t),o=new fr;return o.length=n,o.bufs=[...r],o}_subList(e,t){if((e=e??0)<0&&(e=this.length+e),(t=t??this.length)<0&&(t=this.length+t),e<0||t>this.length)throw new RangeError("index is out of bounds");if(e===t)return{bufs:[],length:0};if(0===e&&t===this.length)return{bufs:this.bufs,length:this.length};const r=[];let n=0;for(let o=0;o<this.bufs.length;o++){const i=this.bufs[o],s=n,a=s+i.byteLength;if(n=a,e>=a)continue;const u=e>=s&&e<a,c=t>s&&t<=a;if(u&&c){if(e===s&&t===a){r.push(i);break}const n=e-s;r.push(i.subarray(n,n+(t-e)));break}if(u){if(0===e){r.push(i);continue}r.push(i.subarray(e-s))}else{if(c){if(t===a){r.push(i);break}r.push(i.subarray(0,t-s));break}r.push(i)}}return{bufs:r,length:t-e}}indexOf(e,t=0){if(!(lr(e)||e instanceof Uint8Array))throw new TypeError('The "value" argument must be a Uint8ArrayList or Uint8Array');const r=e instanceof Uint8Array?e:e.subarray();if(t=Number(t??0),isNaN(t)&&(t=0),t<0&&(t=this.length+t),t<0&&(t=0),0===e.length)return t>this.length?this.length:t;const n=r.byteLength;if(0===n)throw new TypeError("search must be at least 1 byte long");const o=new Int32Array(256);for(let e=0;e<256;e++)o[e]=-1;for(let e=0;e<n;e++)o[r[e]]=e;const i=o,s=this.byteLength-r.byteLength,a=r.byteLength-1;let u;for(let e=t;e<=s;e+=u){u=0;for(let t=a;t>=0;t--){const n=this.get(e+t);if(r[t]!==n){u=Math.max(1,t-i[n]);break}}if(0===u)return e}return-1}getInt8(e){const t=this.subarray(e,e+1);return new DataView(t.buffer,t.byteOffset,t.byteLength).getInt8(0)}setInt8(e,t){const r=I(1);new DataView(r.buffer,r.byteOffset,r.byteLength).setInt8(0,t),this.write(r,e)}getInt16(e,t){const r=this.subarray(e,e+2);return new DataView(r.buffer,r.byteOffset,r.byteLength).getInt16(0,t)}setInt16(e,t,r){const n=N(2);new DataView(n.buffer,n.byteOffset,n.byteLength).setInt16(0,t,r),this.write(n,e)}getInt32(e,t){const r=this.subarray(e,e+4);return new DataView(r.buffer,r.byteOffset,r.byteLength).getInt32(0,t)}setInt32(e,t,r){const n=N(4);new DataView(n.buffer,n.byteOffset,n.byteLength).setInt32(0,t,r),this.write(n,e)}getBigInt64(e,t){const r=this.subarray(e,e+8);return new DataView(r.buffer,r.byteOffset,r.byteLength).getBigInt64(0,t)}setBigInt64(e,t,r){const n=N(8);new DataView(n.buffer,n.byteOffset,n.byteLength).setBigInt64(0,t,r),this.write(n,e)}getUint8(e){const t=this.subarray(e,e+1);return new DataView(t.buffer,t.byteOffset,t.byteLength).getUint8(0)}setUint8(e,t){const r=I(1);new DataView(r.buffer,r.byteOffset,r.byteLength).setUint8(0,t),this.write(r,e)}getUint16(e,t){const r=this.subarray(e,e+2);return new DataView(r.buffer,r.byteOffset,r.byteLength).getUint16(0,t)}setUint16(e,t,r){const n=N(2);new DataView(n.buffer,n.byteOffset,n.byteLength).setUint16(0,t,r),this.write(n,e)}getUint32(e,t){const r=this.subarray(e,e+4);return new DataView(r.buffer,r.byteOffset,r.byteLength).getUint32(0,t)}setUint32(e,t,r){const n=N(4);new DataView(n.buffer,n.byteOffset,n.byteLength).setUint32(0,t,r),this.write(n,e)}getBigUint64(e,t){const r=this.subarray(e,e+8);return new DataView(r.buffer,r.byteOffset,r.byteLength).getBigUint64(0,t)}setBigUint64(e,t,r){const n=N(8);new DataView(n.buffer,n.byteOffset,n.byteLength).setBigUint64(0,t,r),this.write(n,e)}getFloat32(e,t){const r=this.subarray(e,e+4);return new DataView(r.buffer,r.byteOffset,r.byteLength).getFloat32(0,t)}setFloat32(e,t,r){const n=N(4);new DataView(n.buffer,n.byteOffset,n.byteLength).setFloat32(0,t,r),this.write(n,e)}getFloat64(e,t){const r=this.subarray(e,e+8);return new DataView(r.buffer,r.byteOffset,r.byteLength).getFloat64(0,t)}setFloat64(e,t,r){const n=N(8);new DataView(n.buffer,n.byteOffset,n.byteLength).setFloat64(0,t,r),this.write(n,e)}equals(e){if(null==e)return!1;if(!(e instanceof fr))return!1;if(e.bufs.length!==this.bufs.length)return!1;for(let t=0;t<this.bufs.length;t++)if(!L(this.bufs[t],e.bufs[t]))return!1;return!0}static fromUint8Arrays(e,t){const r=new fr;return r.bufs=e,null==t&&(t=e.reduce((e,t)=>e+t.byteLength,0)),r.length=t,r}}const hr=parseInt("11111",2),dr=parseInt("10000000",2),mr=parseInt("01111111",2),gr={0:yr,1:yr,2:function(e,t){const r=pr(e,t),n=t.offset,o=t.offset+r,i=[];for(let t=n;t<o;t++)t===n&&0===e[t]||i.push(e[t]);return t.offset+=r,Uint8Array.from(i)},3:function(e,t){const r=pr(e,t),n=e[t.offset];t.offset++;const o=e.subarray(t.offset,t.offset+r-1);if(t.offset+=r,0!==n)throw new Error("Unused bits in bit string is unimplemented");return o},4:function(e,t){const r=pr(e,t),n=e.subarray(t.offset,t.offset+r);return t.offset+=r,n},5:function(e,t){return t.offset++,null},6:function(e,t){const r=pr(e,t),n=t.offset+r,o=e[t.offset];t.offset++;let i=0,s=0;o<40?(i=0,s=o):o<80?(i=1,s=o-40):(i=2,s=o-80);let a=`${i}.${s}`,u=[];for(;t.offset<n;){const r=e[t.offset];if(t.offset++,u.push(127&r),r<128){u.reverse();let e=0;for(let t=0;t<u.length;t++)e+=u[t]<<7*t;a+=`.${e}`,u=[]}}return a},16:yr,22:yr,48:yr};function vr(e,t={offset:0}){const r=e[t.offset]&hr;if(t.offset++,null!=gr[r])return gr[r](e,t);throw new Error("No decoder for tag "+r)}function pr(e,t){let r=0;if((e[t.offset]&dr)===dr){const n=e[t.offset]&mr;let o="0x";t.offset++;for(let r=0;r<n;r++,t.offset++)o+=e[t.offset].toString(16).padStart(2,"0");r=parseInt(o,16)}else r=e[t.offset],t.offset++;return r}function yr(e,t){pr(e,t);const r=[];for(;!(t.offset>=e.byteLength);){const n=vr(e,t);if(null===n)break;r.push(n)}return r}function br(e){if(e.byteLength<128)return Uint8Array.from([e.byteLength]);const t=function(e){let t=e.toString(16);t.length%2==1&&(t="0"+t);const r=new fr;for(let e=0;e<t.length;e+=2)r.append(Uint8Array.from([parseInt(`${t[e]}${t[e+1]}`,16)]));return r}(e.byteLength);return new fr(Uint8Array.from([t.byteLength|dr]),t)}function Pr(e){const t=new fr;return!(128&~e.subarray()[0])&&t.append(Uint8Array.from([0])),t.append(e),new fr(Uint8Array.from([2]),br(t),t)}function wr(e){const t=Uint8Array.from([0]),r=new fr(t,e);return new fr(Uint8Array.from([3]),br(r),r)}function Er(e,t=48){const r=new fr;for(const t of e)r.append(t);return new fr(Uint8Array.from([t]),br(r),r)}const Sr=Uint8Array.from([6,8,42,134,72,206,61,3,1,7]),Ar=Uint8Array.from([6,5,43,129,4,0,34]),Tr=Uint8Array.from([6,5,43,129,4,0,35]),xr={ext:!0,kty:"EC",crv:"P-256"},kr={ext:!0,kty:"EC",crv:"P-384"},Cr={ext:!0,kty:"EC",crv:"P-521"};function Or(e){if("P-256"===e)return Sr;if("P-384"===e)return Ar;if("P-521"===e)return Tr;throw new mt(`Invalid curve ${e}`)}class Fr{type="ECDSA";jwk;_raw;constructor(e){this.jwk=e}get raw(){var e;return null==this._raw&&(this._raw=(e=this.jwk,Er([Pr(Uint8Array.from([1])),Er([Or(e.crv)],160),Er([wr(new fr(Uint8Array.from([4]),U(e.x??"","base64url"),U(e.y??"","base64url")))],161)]).subarray())),this._raw}toMultihash(){return ar(As(this))}toCID(){return tr.createV1(114,this.toMultihash())}toString(){return It.encode(this.toMultihash().bytes).substring(1)}equals(e){return null!=e&&e.raw instanceof Uint8Array&&L(this.raw,e.raw)}async verify(e,t,r){return async function(e,t,r,n){const o=await crypto.subtle.importKey("jwk",e,{name:"ECDSA",namedCurve:e.crv??"P-256"},!1,["verify"]);n?.signal?.throwIfAborted();const i=await crypto.subtle.verify({name:"ECDSA",hash:{name:"SHA-256"}},o,t,r.subarray());return n?.signal?.throwIfAborted(),i}(this.jwk,t,e,r)}}function Dr(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&"Uint8Array"===e.constructor.name}function Ir(e,t=""){if(!Number.isSafeInteger(e)||e<0)throw new Error(`${t&&`"${t}" `}expected integer >= 0, got ${e}`)}function Nr(e,t,r=""){const n=Dr(e),o=e?.length,i=void 0!==t;if(!n||i&&o!==t)throw new Error((r&&`"${r}" `)+"expected Uint8Array"+(i?` of length ${t}`:"")+", got "+(n?`length=${o}`:"type="+typeof e));return e}function jr(e){if("function"!=typeof e||"function"!=typeof e.create)throw new Error("Hash must wrapped by utils.createHasher");Ir(e.outputLen),Ir(e.blockLen)}function Lr(e,t=!0){if(e.destroyed)throw new Error("Hash instance has been destroyed");if(t&&e.finished)throw new Error("Hash#digest() has already been called")}function Ur(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function Rr(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function Mr(e,t){return e<<32-t|e>>>t}const Br=/* @__PURE__ */(()=>"function"==typeof Uint8Array.from([]).toHex&&"function"==typeof Uint8Array.fromHex)(),_r=/* @__PURE__ */Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function Gr(e){if(Nr(e),Br)return e.toHex();let t="";for(let r=0;r<e.length;r++)t+=_r[e[r]];return t}function Vr(e){return e>=48&&e<=57?e-48:e>=65&&e<=70?e-55:e>=97&&e<=102?e-87:void 0}function qr(e){if("string"!=typeof e)throw new Error("hex string expected, got "+typeof e);if(Br)return Uint8Array.fromHex(e);const t=e.length,r=t/2;if(t%2)throw new Error("hex string expected, got unpadded hex of length "+t);const n=new Uint8Array(r);for(let t=0,o=0;t<r;t++,o+=2){const r=Vr(e.charCodeAt(o)),i=Vr(e.charCodeAt(o+1));if(void 0===r||void 0===i)throw new Error('hex string expected, got non-hex character "'+(e[o]+e[o+1])+'" at index '+o);n[t]=16*r+i}return n}function zr(...e){let t=0;for(let r=0;r<e.length;r++){const n=e[r];Nr(n),t+=n.length}const r=new Uint8Array(t);for(let t=0,n=0;t<e.length;t++){const o=e[t];r.set(o,n),n+=o.length}return r}function Hr(e,t={}){const r=(t,r)=>e(r).update(t).digest(),n=e(void 0);return r.outputLen=n.outputLen,r.blockLen=n.blockLen,r.create=t=>e(t),Object.assign(r,t),Object.freeze(r)}function Kr(e=32){const t="object"==typeof globalThis?globalThis.crypto:null;if("function"!=typeof t?.getRandomValues)throw new Error("crypto.getRandomValues must be defined");return t.getRandomValues(new Uint8Array(e))}const Zr=e=>({oid:Uint8Array.from([6,9,96,134,72,1,101,3,4,2,e])});function Jr(e,t,r){return e&t^e&r^t&r}class $r{blockLen;outputLen;padOffset;isLE;buffer;view;finished=!1;length=0;pos=0;destroyed=!1;constructor(e,t,r,n){this.blockLen=e,this.outputLen=t,this.padOffset=r,this.isLE=n,this.buffer=new Uint8Array(e),this.view=Rr(this.buffer)}update(e){Lr(this),Nr(e);const{view:t,buffer:r,blockLen:n}=this,o=e.length;for(let i=0;i<o;){const s=Math.min(n-this.pos,o-i);if(s!==n)r.set(e.subarray(i,i+s),this.pos),this.pos+=s,i+=s,this.pos===n&&(this.process(t,0),this.pos=0);else{const t=Rr(e);for(;n<=o-i;i+=n)this.process(t,i)}}return this.length+=e.length,this.roundClean(),this}digestInto(e){Lr(this),function(e,t){Nr(e,void 0,"digestInto() output");const r=t.outputLen;if(e.length<r)throw new Error('"digestInto() output" expected to be of length >='+r)}(e,this),this.finished=!0;const{buffer:t,view:r,blockLen:n,isLE:o}=this;let{pos:i}=this;t[i++]=128,Ur(this.buffer.subarray(i)),this.padOffset>n-i&&(this.process(r,0),i=0);for(let e=i;e<n;e++)t[e]=0;r.setBigUint64(n-8,BigInt(8*this.length),o),this.process(r,0);const s=Rr(e),a=this.outputLen;if(a%4)throw new Error("_sha2: outputLen must be aligned to 32bit");const u=a/4,c=this.get();if(u>c.length)throw new Error("_sha2: outputLen bigger than state");for(let e=0;e<u;e++)s.setUint32(4*e,c[e],o)}digest(){const{buffer:e,outputLen:t}=this;this.digestInto(e);const r=e.slice(0,t);return this.destroy(),r}_cloneInto(e){e||=new this.constructor,e.set(...this.get());const{blockLen:t,buffer:r,length:n,finished:o,destroyed:i,pos:s}=this;return e.destroyed=i,e.finished=o,e.length=n,e.pos=s,n%t&&e.buffer.set(r),e}clone(){return this._cloneInto()}}const Wr=/* @__PURE__ */Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),Yr=/* @__PURE__ */Uint32Array.from([1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209]),Xr=/* @__PURE__ */BigInt(2**32-1),Qr=/* @__PURE__ */BigInt(32);function en(e,t=!1){return t?{h:Number(e&Xr),l:Number(e>>Qr&Xr)}:{h:0|Number(e>>Qr&Xr),l:0|Number(e&Xr)}}const tn=(e,t,r)=>e>>>r,rn=(e,t,r)=>e<<32-r|t>>>r,nn=(e,t,r)=>e>>>r|t<<32-r,on=(e,t,r)=>e<<32-r|t>>>r,sn=(e,t,r)=>e<<64-r|t>>>r-32,an=(e,t,r)=>e>>>r-32|t<<64-r;function un(e,t,r,n){const o=(t>>>0)+(n>>>0);return{h:e+r+(o/2**32|0)|0,l:0|o}}const cn=(e,t,r)=>(e>>>0)+(t>>>0)+(r>>>0),ln=(e,t,r,n)=>t+r+n+(e/2**32|0)|0,fn=(e,t,r,n)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0),hn=(e,t,r,n,o)=>t+r+n+o+(e/2**32|0)|0,dn=(e,t,r,n,o)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0)+(o>>>0),mn=(e,t,r,n,o,i)=>t+r+n+o+i+(e/2**32|0)|0,gn=/* @__PURE__ */Uint32Array.from([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),vn=/* @__PURE__ */new Uint32Array(64);class pn extends $r{constructor(e){super(64,e,8,!1)}get(){const{A:e,B:t,C:r,D:n,E:o,F:i,G:s,H:a}=this;return[e,t,r,n,o,i,s,a]}set(e,t,r,n,o,i,s,a){this.A=0|e,this.B=0|t,this.C=0|r,this.D=0|n,this.E=0|o,this.F=0|i,this.G=0|s,this.H=0|a}process(e,t){for(let r=0;r<16;r++,t+=4)vn[r]=e.getUint32(t,!1);for(let e=16;e<64;e++){const t=vn[e-15],r=vn[e-2],n=Mr(t,7)^Mr(t,18)^t>>>3,o=Mr(r,17)^Mr(r,19)^r>>>10;vn[e]=o+vn[e-7]+n+vn[e-16]|0}let{A:r,B:n,C:o,D:i,E:s,F:a,G:u,H:c}=this;for(let e=0;e<64;e++){const t=c+(Mr(s,6)^Mr(s,11)^Mr(s,25))+((l=s)&a^~l&u)+gn[e]+vn[e]|0,f=(Mr(r,2)^Mr(r,13)^Mr(r,22))+Jr(r,n,o)|0;c=u,u=a,a=s,s=i+t|0,i=o,o=n,n=r,r=t+f|0}var l;r=r+this.A|0,n=n+this.B|0,o=o+this.C|0,i=i+this.D|0,s=s+this.E|0,a=a+this.F|0,u=u+this.G|0,c=c+this.H|0,this.set(r,n,o,i,s,a,u,c)}roundClean(){Ur(vn)}destroy(){this.set(0,0,0,0,0,0,0,0),Ur(this.buffer)}}class yn extends pn{A=0|Wr[0];B=0|Wr[1];C=0|Wr[2];D=0|Wr[3];E=0|Wr[4];F=0|Wr[5];G=0|Wr[6];H=0|Wr[7];constructor(){super(32)}}const bn=/* @__PURE__ */(()=>function(e,t=!1){const r=e.length;let n=new Uint32Array(r),o=new Uint32Array(r);for(let i=0;i<r;i++){const{h:r,l:s}=en(e[i],t);[n[i],o[i]]=[r,s]}return[n,o]}(["0x428a2f98d728ae22","0x7137449123ef65cd","0xb5c0fbcfec4d3b2f","0xe9b5dba58189dbbc","0x3956c25bf348b538","0x59f111f1b605d019","0x923f82a4af194f9b","0xab1c5ed5da6d8118","0xd807aa98a3030242","0x12835b0145706fbe","0x243185be4ee4b28c","0x550c7dc3d5ffb4e2","0x72be5d74f27b896f","0x80deb1fe3b1696b1","0x9bdc06a725c71235","0xc19bf174cf692694","0xe49b69c19ef14ad2","0xefbe4786384f25e3","0x0fc19dc68b8cd5b5","0x240ca1cc77ac9c65","0x2de92c6f592b0275","0x4a7484aa6ea6e483","0x5cb0a9dcbd41fbd4","0x76f988da831153b5","0x983e5152ee66dfab","0xa831c66d2db43210","0xb00327c898fb213f","0xbf597fc7beef0ee4","0xc6e00bf33da88fc2","0xd5a79147930aa725","0x06ca6351e003826f","0x142929670a0e6e70","0x27b70a8546d22ffc","0x2e1b21385c26c926","0x4d2c6dfc5ac42aed","0x53380d139d95b3df","0x650a73548baf63de","0x766a0abb3c77b2a8","0x81c2c92e47edaee6","0x92722c851482353b","0xa2bfe8a14cf10364","0xa81a664bbc423001","0xc24b8b70d0f89791","0xc76c51a30654be30","0xd192e819d6ef5218","0xd69906245565a910","0xf40e35855771202a","0x106aa07032bbd1b8","0x19a4c116b8d2d0c8","0x1e376c085141ab53","0x2748774cdf8eeb99","0x34b0bcb5e19b48a8","0x391c0cb3c5c95a63","0x4ed8aa4ae3418acb","0x5b9cca4f7763e373","0x682e6ff3d6b2b8a3","0x748f82ee5defb2fc","0x78a5636f43172f60","0x84c87814a1f0ab72","0x8cc702081a6439ec","0x90befffa23631e28","0xa4506cebde82bde9","0xbef9a3f7b2c67915","0xc67178f2e372532b","0xca273eceea26619c","0xd186b8c721c0c207","0xeada7dd6cde0eb1e","0xf57d4f7fee6ed178","0x06f067aa72176fba","0x0a637dc5a2c898a6","0x113f9804bef90dae","0x1b710b35131c471b","0x28db77f523047d84","0x32caab7b40c72493","0x3c9ebe0a15c9bebc","0x431d67c49c100d4c","0x4cc5d4becb3e42b6","0x597f299cfc657e2a","0x5fcb6fab3ad6faec","0x6c44198c4a475817"].map(e=>BigInt(e))))(),Pn=/* @__PURE__ */(()=>bn[0])(),wn=/* @__PURE__ */(()=>bn[1])(),En=/* @__PURE__ */new Uint32Array(80),Sn=/* @__PURE__ */new Uint32Array(80);class An extends $r{constructor(e){super(128,e,16,!1)}get(){const{Ah:e,Al:t,Bh:r,Bl:n,Ch:o,Cl:i,Dh:s,Dl:a,Eh:u,El:c,Fh:l,Fl:f,Gh:h,Gl:d,Hh:m,Hl:g}=this;return[e,t,r,n,o,i,s,a,u,c,l,f,h,d,m,g]}set(e,t,r,n,o,i,s,a,u,c,l,f,h,d,m,g){this.Ah=0|e,this.Al=0|t,this.Bh=0|r,this.Bl=0|n,this.Ch=0|o,this.Cl=0|i,this.Dh=0|s,this.Dl=0|a,this.Eh=0|u,this.El=0|c,this.Fh=0|l,this.Fl=0|f,this.Gh=0|h,this.Gl=0|d,this.Hh=0|m,this.Hl=0|g}process(e,t){for(let r=0;r<16;r++,t+=4)En[r]=e.getUint32(t),Sn[r]=e.getUint32(t+=4);for(let e=16;e<80;e++){const t=0|En[e-15],r=0|Sn[e-15],n=nn(t,r,1)^nn(t,r,8)^tn(t,0,7),o=on(t,r,1)^on(t,r,8)^rn(t,r,7),i=0|En[e-2],s=0|Sn[e-2],a=nn(i,s,19)^sn(i,s,61)^tn(i,0,6),u=on(i,s,19)^an(i,s,61)^rn(i,s,6),c=fn(o,u,Sn[e-7],Sn[e-16]),l=hn(c,n,a,En[e-7],En[e-16]);En[e]=0|l,Sn[e]=0|c}let{Ah:r,Al:n,Bh:o,Bl:i,Ch:s,Cl:a,Dh:u,Dl:c,Eh:l,El:f,Fh:h,Fl:d,Gh:m,Gl:g,Hh:v,Hl:p}=this;for(let e=0;e<80;e++){const t=nn(l,f,14)^nn(l,f,18)^sn(l,f,41),y=on(l,f,14)^on(l,f,18)^an(l,f,41),b=l&h^~l&m,P=dn(p,y,f&d^~f&g,wn[e],Sn[e]),w=mn(P,v,t,b,Pn[e],En[e]),E=0|P,S=nn(r,n,28)^sn(r,n,34)^sn(r,n,39),A=on(r,n,28)^an(r,n,34)^an(r,n,39),T=r&o^r&s^o&s,x=n&i^n&a^i&a;v=0|m,p=0|g,m=0|h,g=0|d,h=0|l,d=0|f,({h:l,l:f}=un(0|u,0|c,0|w,0|E)),u=0|s,c=0|a,s=0|o,a=0|i,o=0|r,i=0|n;const k=cn(E,A,x);r=ln(k,w,S,T),n=0|k}({h:r,l:n}=un(0|this.Ah,0|this.Al,0|r,0|n)),({h:o,l:i}=un(0|this.Bh,0|this.Bl,0|o,0|i)),({h:s,l:a}=un(0|this.Ch,0|this.Cl,0|s,0|a)),({h:u,l:c}=un(0|this.Dh,0|this.Dl,0|u,0|c)),({h:l,l:f}=un(0|this.Eh,0|this.El,0|l,0|f)),({h:h,l:d}=un(0|this.Fh,0|this.Fl,0|h,0|d)),({h:m,l:g}=un(0|this.Gh,0|this.Gl,0|m,0|g)),({h:v,l:p}=un(0|this.Hh,0|this.Hl,0|v,0|p)),this.set(r,n,o,i,s,a,u,c,l,f,h,d,m,g,v,p)}roundClean(){Ur(En,Sn)}destroy(){Ur(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}}class Tn extends An{Ah=0|Yr[0];Al=0|Yr[1];Bh=0|Yr[2];Bl=0|Yr[3];Ch=0|Yr[4];Cl=0|Yr[5];Dh=0|Yr[6];Dl=0|Yr[7];Eh=0|Yr[8];El=0|Yr[9];Fh=0|Yr[10];Fl=0|Yr[11];Gh=0|Yr[12];Gl=0|Yr[13];Hh=0|Yr[14];Hl=0|Yr[15];constructor(){super(64)}}const xn=/* @__PURE__ */Hr(()=>new yn
2
+ /* @__PURE__ */,Zr(1)),kn=/* @__PURE__ */Hr(()=>new Tn
3
+ /* @__PURE__ */,Zr(3)),Cn=/* @__PURE__ */BigInt(0),On=/* @__PURE__ */BigInt(1);function Fn(e,t=""){if("boolean"!=typeof e)throw new Error((t&&`"${t}" `)+"expected boolean, got type="+typeof e);return e}function Dn(e){if("bigint"==typeof e){if(!Bn(e))throw new Error("positive bigint expected, got "+e)}else Ir(e);return e}function In(e){const t=Dn(e).toString(16);return 1&t.length?"0"+t:t}function Nn(e){if("string"!=typeof e)throw new Error("hex string expected, got "+typeof e);return""===e?Cn:BigInt("0x"+e)}function jn(e){return Nn(Gr(e))}function Ln(e){return Nn(Gr(Mn(Nr(e)).reverse()))}function Un(e,t){Ir(t);const r=qr((e=Dn(e)).toString(16).padStart(2*t,"0"));if(r.length!==t)throw new Error("number too large");return r}function Rn(e,t){return Un(e,t).reverse()}function Mn(e){return Uint8Array.from(e)}const Bn=e=>"bigint"==typeof e&&Cn<=e;function _n(e,t,r,n){if(!function(e,t,r){return Bn(e)&&Bn(t)&&Bn(r)&&t<=e&&e<r}(t,r,n))throw new Error("expected valid "+e+": "+r+" <= n < "+n+", got "+t)}const Gn=e=>(On<<BigInt(e))-On;function Vn(e,t={},r={}){if(!e||"object"!=typeof e)throw new Error("expected valid options object");const n=(t,r)=>Object.entries(t).forEach(([t,n])=>function(t,r,n){const o=e[t];if(n&&void 0===o)return;const i=typeof o;if(i!==r||null===o)throw new Error(`param "${t}" is invalid: expected ${r}, got ${i}`)}(t,n,r));n(t,!1),n(r,!0)}function qn(e){const t=new WeakMap;return(r,...n)=>{const o=t.get(r);if(void 0!==o)return o;const i=e(r,...n);return t.set(r,i),i}}const zn=/* @__PURE__ */BigInt(0),Hn=/* @__PURE__ */BigInt(1),Kn=/* @__PURE__ */BigInt(2),Zn=/* @__PURE__ */BigInt(3),Jn=/* @__PURE__ */BigInt(4),$n=/* @__PURE__ */BigInt(5),Wn=/* @__PURE__ */BigInt(7),Yn=/* @__PURE__ */BigInt(8),Xn=/* @__PURE__ */BigInt(9),Qn=/* @__PURE__ */BigInt(16);function eo(e,t){const r=e%t;return r>=zn?r:t+r}function to(e,t,r){let n=e;for(;t-- >zn;)n*=n,n%=r;return n}function ro(e,t){if(e===zn)throw new Error("invert: expected non-zero number");if(t<=zn)throw new Error("invert: expected positive modulus, got "+t);let r=eo(e,t),n=t,o=zn,i=Hn;for(;r!==zn;){const e=n%r,t=o-i*(n/r);n=r,r=e,o=i,i=t}if(n!==Hn)throw new Error("invert: does not exist");return eo(o,t)}function no(e,t,r){if(!e.eql(e.sqr(t),r))throw new Error("Cannot find square root")}function oo(e,t){const r=e.pow(t,(e.ORDER+Hn)/Jn);return no(e,r,t),r}function io(e,t){const r=(e.ORDER-$n)/Yn,n=e.mul(t,Kn),o=e.pow(n,r),i=e.mul(t,o),s=e.mul(e.mul(i,Kn),o),a=e.mul(i,e.sub(s,e.ONE));return no(e,a,t),a}function so(e){if(e<Zn)throw new Error("sqrt is not defined for small field");let t=e-Hn,r=0;for(;t%Kn===zn;)t/=Kn,r++;let n=Kn;const o=fo(e);for(;1===co(o,n);)if(n++>1e3)throw new Error("Cannot find square root: probably non-prime P");if(1===r)return oo;let i=o.pow(n,t);const s=(t+Hn)/Kn;return function(e,n){if(e.is0(n))return n;if(1!==co(e,n))throw new Error("Cannot find square root");let o=r,a=e.mul(e.ONE,i),u=e.pow(n,t),c=e.pow(n,s);for(;!e.eql(u,e.ONE);){if(e.is0(u))return e.ZERO;let t=1,r=e.sqr(u);for(;!e.eql(r,e.ONE);)if(t++,r=e.sqr(r),t===o)throw new Error("Cannot find square root");const n=Hn<<BigInt(o-t-1),i=e.pow(a,n);o=t,a=e.sqr(i),u=e.mul(u,a),c=e.mul(c,i)}return c}}const ao=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function uo(e,t,r=!1){const n=new Array(t.length).fill(r?e.ZERO:void 0),o=t.reduce((t,r,o)=>e.is0(r)?t:(n[o]=t,e.mul(t,r)),e.ONE),i=e.inv(o);return t.reduceRight((t,r,o)=>e.is0(r)?t:(n[o]=e.mul(t,n[o]),e.mul(t,r)),i),n}function co(e,t){const r=e.pow(t,(e.ORDER-Hn)/Kn),n=e.eql(r,e.ONE),o=e.eql(r,e.ZERO),i=e.eql(r,e.neg(e.ONE));if(!n&&!o&&!i)throw new Error("invalid Legendre symbol result");return n?1:o?0:-1}class lo{ORDER;BITS;BYTES;isLE;ZERO=zn;ONE=Hn;_lengths;_sqrt;_mod;constructor(e,t={}){if(e<=zn)throw new Error("invalid field: expected ORDER > 0, got "+e);let r;this.isLE=!1,null!=t&&"object"==typeof t&&("number"==typeof t.BITS&&(r=t.BITS),"function"==typeof t.sqrt&&(this.sqrt=t.sqrt),"boolean"==typeof t.isLE&&(this.isLE=t.isLE),t.allowedLengths&&(this._lengths=t.allowedLengths?.slice()),"boolean"==typeof t.modFromBytes&&(this._mod=t.modFromBytes));const{nBitLength:n,nByteLength:o}=function(e,t){void 0!==t&&Ir(t);const r=void 0!==t?t:e.toString(2).length;return{nBitLength:r,nByteLength:Math.ceil(r/8)}}(e,r);if(o>2048)throw new Error("invalid field: expected ORDER of <= 2048 bytes");this.ORDER=e,this.BITS=n,this.BYTES=o,this._sqrt=void 0,Object.preventExtensions(this)}create(e){return eo(e,this.ORDER)}isValid(e){if("bigint"!=typeof e)throw new Error("invalid field element: expected bigint, got "+typeof e);return zn<=e&&e<this.ORDER}is0(e){return e===zn}isValidNot0(e){return!this.is0(e)&&this.isValid(e)}isOdd(e){return(e&Hn)===Hn}neg(e){return eo(-e,this.ORDER)}eql(e,t){return e===t}sqr(e){return eo(e*e,this.ORDER)}add(e,t){return eo(e+t,this.ORDER)}sub(e,t){return eo(e-t,this.ORDER)}mul(e,t){return eo(e*t,this.ORDER)}pow(e,t){return function(e,t,r){if(r<zn)throw new Error("invalid exponent, negatives unsupported");if(r===zn)return e.ONE;if(r===Hn)return t;let n=e.ONE,o=t;for(;r>zn;)r&Hn&&(n=e.mul(n,o)),o=e.sqr(o),r>>=Hn;return n}(this,e,t)}div(e,t){return eo(e*ro(t,this.ORDER),this.ORDER)}sqrN(e){return e*e}addN(e,t){return e+t}subN(e,t){return e-t}mulN(e,t){return e*t}inv(e){return ro(e,this.ORDER)}sqrt(e){return this._sqrt||(this._sqrt=(t=this.ORDER)%Jn===Zn?oo:t%Yn===$n?io:t%Qn===Xn?function(e){const t=fo(e),r=so(e),n=r(t,t.neg(t.ONE)),o=r(t,n),i=r(t,t.neg(n)),s=(e+Wn)/Qn;return(e,t)=>{let r=e.pow(t,s),a=e.mul(r,n);const u=e.mul(r,o),c=e.mul(r,i),l=e.eql(e.sqr(a),t),f=e.eql(e.sqr(u),t);r=e.cmov(r,a,l),a=e.cmov(c,u,f);const h=e.eql(e.sqr(a),t),d=e.cmov(r,a,h);return no(e,d,t),d}}(t):so(t)),this._sqrt(this,e);var t}toBytes(e){return this.isLE?Rn(e,this.BYTES):Un(e,this.BYTES)}fromBytes(e,t=!1){Nr(e);const{_lengths:r,BYTES:n,isLE:o,ORDER:i,_mod:s}=this;if(r){if(!r.includes(e.length)||e.length>n)throw new Error("Field.fromBytes: expected "+r+" bytes, got "+e.length);const t=new Uint8Array(n);t.set(e,o?0:t.length-e.length),e=t}if(e.length!==n)throw new Error("Field.fromBytes: expected "+n+" bytes, got "+e.length);let a=o?Ln(e):jn(e);if(s&&(a=eo(a,i)),!t&&!this.isValid(a))throw new Error("invalid field element: outside of range 0..ORDER");return a}invertBatch(e){return uo(this,e)}cmov(e,t,r){return r?t:e}}function fo(e,t={}){return new lo(e,t)}function ho(e){if("bigint"!=typeof e)throw new Error("field order must be bigint");const t=e.toString(2).length;return Math.ceil(t/8)}function mo(e){const t=ho(e);return t+Math.ceil(t/2)}const go=/* @__PURE__ */BigInt(0),vo=/* @__PURE__ */BigInt(1);function po(e,t){const r=t.negate();return e?r:t}function yo(e,t){const r=uo(e.Fp,t.map(e=>e.Z));return t.map((t,n)=>e.fromAffine(t.toAffine(r[n])))}function bo(e,t){if(!Number.isSafeInteger(e)||e<=0||e>t)throw new Error("invalid window size, expected [1.."+t+"], got W="+e)}function Po(e,t){bo(e,t);const r=2**e;return{windows:Math.ceil(t/e)+1,windowSize:2**(e-1),mask:Gn(e),maxNumber:r,shiftBy:BigInt(e)}}function wo(e,t,r){const{windowSize:n,mask:o,maxNumber:i,shiftBy:s}=r;let a=Number(e&o),u=e>>s;a>n&&(a-=i,u+=vo);const c=t*n;return{nextN:u,offset:c+Math.abs(a)-1,isZero:0===a,isNeg:a<0,isNegF:t%2!=0,offsetF:c}}const Eo=new WeakMap,So=new WeakMap;function Ao(e){return So.get(e)||1}function To(e){if(e!==go)throw new Error("invalid wNAF")}class xo{BASE;ZERO;Fn;bits;constructor(e,t){this.BASE=e.BASE,this.ZERO=e.ZERO,this.Fn=e.Fn,this.bits=t}_unsafeLadder(e,t,r=this.ZERO){let n=e;for(;t>go;)t&vo&&(r=r.add(n)),n=n.double(),t>>=vo;return r}precomputeWindow(e,t){const{windows:r,windowSize:n}=Po(t,this.bits),o=[];let i=e,s=i;for(let e=0;e<r;e++){s=i,o.push(s);for(let e=1;e<n;e++)s=s.add(i),o.push(s);i=s.double()}return o}wNAF(e,t,r){if(!this.Fn.isValid(r))throw new Error("invalid scalar");let n=this.ZERO,o=this.BASE;const i=Po(e,this.bits);for(let e=0;e<i.windows;e++){const{nextN:s,offset:a,isZero:u,isNeg:c,isNegF:l,offsetF:f}=wo(r,e,i);r=s,u?o=o.add(po(l,t[f])):n=n.add(po(c,t[a]))}return To(r),{p:n,f:o}}wNAFUnsafe(e,t,r,n=this.ZERO){const o=Po(e,this.bits);for(let e=0;e<o.windows&&r!==go;e++){const{nextN:i,offset:s,isZero:a,isNeg:u}=wo(r,e,o);if(r=i,!a){const e=t[s];n=n.add(u?e.negate():e)}}return To(r),n}getPrecomputes(e,t,r){let n=Eo.get(t);return n||(n=this.precomputeWindow(t,e),1!==e&&("function"==typeof r&&(n=r(n)),Eo.set(t,n))),n}cached(e,t,r){const n=Ao(e);return this.wNAF(n,this.getPrecomputes(n,e,r),t)}unsafe(e,t,r,n){const o=Ao(e);return 1===o?this._unsafeLadder(e,t,n):this.wNAFUnsafe(o,this.getPrecomputes(o,e,r),t,n)}createCache(e,t){bo(t,this.bits),So.set(e,t),Eo.delete(e)}hasCache(e){return 1!==Ao(e)}}function ko(e,t,r){if(t){if(t.ORDER!==e)throw new Error("Field.ORDER must match order: Fp == p, Fn == n");return function(e){Vn(e,ao.reduce((e,t)=>(e[t]="function",e),{ORDER:"bigint",BYTES:"number",BITS:"number"}))}(t),t}return fo(e,{isLE:r})}function Co(e,t,r={},n){if(void 0===n&&(n="edwards"===e),!t||"object"!=typeof t)throw new Error(`expected valid ${e} CURVE object`);for(const e of["p","n","h"]){const r=t[e];if(!("bigint"==typeof r&&r>go))throw new Error(`CURVE.${e} must be positive bigint`)}const o=ko(t.p,r.Fp,n),i=ko(t.n,r.Fn,n),s=["Gx","Gy","a","weierstrass"===e?"b":"d"];for(const e of s)if(!o.isValid(t[e]))throw new Error(`CURVE.${e} must be valid field element of CURVE.Fp`);return{CURVE:t=Object.freeze(Object.assign({},t)),Fp:o,Fn:i}}function Oo(e,t){return function(r){const n=e(r);return{secretKey:n,publicKey:t(n)}}}const Fo=BigInt(0),Do=BigInt(1),Io=BigInt(2),No=BigInt(8);function jo(e,t={}){const r=Co("edwards",e,t,t.FpFnLE),{Fp:n,Fn:o}=r;let i=r.CURVE;const{h:s}=i;Vn(t,{},{uvRatio:"function"});const a=Io<<BigInt(8*o.BYTES)-Do,u=e=>n.create(e),c=t.uvRatio||((e,t)=>{try{return{isValid:!0,value:n.sqrt(n.div(e,t))}}catch(e){return{isValid:!1,value:Fo}}});if(!function(e,t,r,n){const o=e.sqr(r),i=e.sqr(n),s=e.add(e.mul(t.a,o),i),a=e.add(e.ONE,e.mul(t.d,e.mul(o,i)));return e.eql(s,a)}(n,i,i.Gx,i.Gy))throw new Error("bad curve params: generator point");function l(e,t,r=!1){return _n("coordinate "+e,t,r?Do:Fo,a),t}function f(e){if(!(e instanceof m))throw new Error("EdwardsPoint expected")}const h=qn((e,t)=>{const{X:r,Y:o,Z:i}=e,s=e.is0();null==t&&(t=s?No:n.inv(i));const a=u(r*t),c=u(o*t),l=n.mul(i,t);if(s)return{x:Fo,y:Do};if(l!==Do)throw new Error("invZ was invalid");return{x:a,y:c}}),d=qn(e=>{const{a:t,d:r}=i;if(e.is0())throw new Error("bad point: ZERO");const{X:n,Y:o,Z:s,T:a}=e,c=u(n*n),l=u(o*o),f=u(s*s),h=u(f*f),d=u(c*t);if(u(f*u(d+l))!==u(h+u(r*u(c*l))))throw new Error("bad point: equation left != right (1)");if(u(n*o)!==u(s*a))throw new Error("bad point: equation left != right (2)");return!0});class m{static BASE=new m(i.Gx,i.Gy,Do,u(i.Gx*i.Gy));static ZERO=new m(Fo,Do,Do,Fo);static Fp=n;static Fn=o;X;Y;Z;T;constructor(e,t,r,n){this.X=l("x",e),this.Y=l("y",t),this.Z=l("z",r,!0),this.T=l("t",n),Object.freeze(this)}static CURVE(){return i}static fromAffine(e){if(e instanceof m)throw new Error("extended point not allowed");const{x:t,y:r}=e||{};return l("x",t),l("y",r),new m(t,r,Do,u(t*r))}static fromBytes(e,t=!1){const r=n.BYTES,{a:o,d:s}=i;e=Mn(Nr(e,r,"point")),Fn(t,"zip215");const l=Mn(e),f=e[r-1];l[r-1]=-129&f;const h=Ln(l);_n("point.y",h,Fo,t?a:n.ORDER);const d=u(h*h),g=u(d-Do),v=u(s*d-o);let{isValid:p,value:y}=c(g,v);if(!p)throw new Error("bad point: invalid y coordinate");const b=(y&Do)===Do,P=!!(128&f);if(!t&&y===Fo&&P)throw new Error("bad point: x=0 and x_0=1");return P!==b&&(y=u(-y)),m.fromAffine({x:y,y:h})}static fromHex(e,t=!1){return m.fromBytes(qr(e),t)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(e=8,t=!0){return g.createCache(this,e),t||this.multiply(Io),this}assertValidity(){d(this)}equals(e){f(e);const{X:t,Y:r,Z:n}=this,{X:o,Y:i,Z:s}=e,a=u(t*s),c=u(o*n),l=u(r*s),h=u(i*n);return a===c&&l===h}is0(){return this.equals(m.ZERO)}negate(){return new m(u(-this.X),this.Y,this.Z,u(-this.T))}double(){const{a:e}=i,{X:t,Y:r,Z:n}=this,o=u(t*t),s=u(r*r),a=u(Io*u(n*n)),c=u(e*o),l=t+r,f=u(u(l*l)-o-s),h=c+s,d=h-a,g=c-s,v=u(f*d),p=u(h*g),y=u(f*g),b=u(d*h);return new m(v,p,b,y)}add(e){f(e);const{a:t,d:r}=i,{X:n,Y:o,Z:s,T:a}=this,{X:c,Y:l,Z:h,T:d}=e,g=u(n*c),v=u(o*l),p=u(a*r*d),y=u(s*h),b=u((n+o)*(c+l)-g-v),P=y-p,w=y+p,E=u(v-t*g),S=u(b*P),A=u(w*E),T=u(b*E),x=u(P*w);return new m(S,A,x,T)}subtract(e){return this.add(e.negate())}multiply(e){if(!o.isValidNot0(e))throw new Error("invalid scalar: expected 1 <= sc < curve.n");const{p:t,f:r}=g.cached(this,e,e=>yo(m,e));return yo(m,[t,r])[0]}multiplyUnsafe(e,t=m.ZERO){if(!o.isValid(e))throw new Error("invalid scalar: expected 0 <= sc < curve.n");return e===Fo?m.ZERO:this.is0()||e===Do?this:g.unsafe(this,e,e=>yo(m,e),t)}isSmallOrder(){return this.multiplyUnsafe(s).is0()}isTorsionFree(){return g.unsafe(this,i.n).is0()}toAffine(e){return h(this,e)}clearCofactor(){return s===Do?this:this.multiplyUnsafe(s)}toBytes(){const{x:e,y:t}=this.toAffine(),r=n.toBytes(t);return r[r.length-1]|=e&Do?128:0,r}toHex(){return Gr(this.toBytes())}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}}const g=new xo(m,o.BITS);return m.BASE.precompute(8),m}const Lo=BigInt(1),Uo=BigInt(2),Ro=BigInt(5),Mo=BigInt(8),Bo=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed"),_o=/* @__PURE__ */(()=>({p:Bo,n:BigInt("0x1000000000000000000000000000000014def9dea2f79cd65812631a5cf5d3ed"),h:Mo,a:BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec"),d:BigInt("0x52036cee2b6ffe738cc740797779e89800700a4d4141d8ab75eb4dca135978a3"),Gx:BigInt("0x216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a"),Gy:BigInt("0x6666666666666666666666666666666666666666666666666666666666666658")}))();function Go(e){return e[0]&=248,e[31]&=127,e[31]|=64,e}const Vo=/* @__PURE__ */BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752"),qo=/* @__PURE__ */jo(_o,{uvRatio:function(e,t){const r=Bo,n=eo(t*t*t,r),o=function(e){const t=BigInt(10),r=BigInt(20),n=BigInt(40),o=BigInt(80),i=Bo,s=e*e%i*e%i,a=to(s,Uo,i)*s%i,u=to(a,Lo,i)*e%i,c=to(u,Ro,i)*u%i,l=to(c,t,i)*c%i,f=to(l,r,i)*l%i,h=to(f,n,i)*f%i,d=to(h,o,i)*h%i,m=to(d,o,i)*h%i,g=to(m,t,i)*c%i;return{pow_p_5_8:to(g,Uo,i)*e%i,b2:s}}(e*eo(n*n*t,r)).pow_p_5_8;let i=eo(e*n*o,r);const s=eo(t*i*i,r),a=i,u=eo(i*Vo,r),c=s===e,l=s===eo(-e,r),f=s===eo(-e*Vo,r);return c&&(i=a),(l||f)&&(i=u),(eo(i,r)&Hn)===Hn&&(i=eo(-i,r)),{isValid:c||l,value:i}}});function zo(e){return function(e,t,r={}){if("function"!=typeof t)throw new Error('"hash" function param is required');Vn(r,{},{adjustScalarBytes:"function",randomBytes:"function",domain:"function",prehash:"function",mapToCurve:"function"});const{prehash:n}=r,{BASE:o,Fp:i,Fn:s}=e,a=r.randomBytes||Kr,u=r.adjustScalarBytes||(e=>e),c=r.domain||((e,t,r)=>{if(Fn(r,"phflag"),t.length||r)throw new Error("Contexts/pre-hash are not supported");return e});function l(e){return s.create(Ln(e))}function f(e){const{head:r,prefix:n,scalar:i}=function(e){const r=v.secretKey;Nr(e,v.secretKey,"secretKey");const n=Nr(t(e),2*r,"hashedSecretKey"),o=u(n.slice(0,r));return{head:o,prefix:n.slice(r,2*r),scalar:l(o)}}(e),s=o.multiply(i),a=s.toBytes();return{head:r,prefix:n,scalar:i,point:s,pointBytes:a}}function h(e){return f(e).pointBytes}function d(e=Uint8Array.of(),...r){const o=zr(...r);return l(t(c(o,Nr(e,void 0,"context"),!!n)))}const m={zip215:!0},g=i.BYTES,v={secretKey:g,publicKey:g,signature:2*g,seed:g};function p(e=a(v.seed)){return Nr(e,v.seed,"seed")}const y={getExtendedPublicKey:f,randomSecretKey:p,isValidSecretKey:function(e){return Dr(e)&&e.length===s.BYTES},isValidPublicKey:function(t,r){try{return!!e.fromBytes(t,r)}catch(e){return!1}},toMontgomery(t){const{y:r}=e.fromBytes(t),n=v.publicKey,o=32===n;if(!o&&57!==n)throw new Error("only defined for 25519 and 448");const s=o?i.div(Do+r,Do-r):i.div(r-Do,r+Do);return i.toBytes(s)},toMontgomerySecret(e){const r=v.secretKey;Nr(e,r);const n=t(e.subarray(0,r));return u(n).subarray(0,r)}};return Object.freeze({keygen:Oo(p,h),getPublicKey:h,sign:function(e,t,r={}){e=Nr(e,void 0,"message"),n&&(e=n(e));const{prefix:i,scalar:a,pointBytes:u}=f(t),c=d(r.context,i,e),l=o.multiply(c).toBytes(),h=d(r.context,l,u,e),m=s.create(c+h*a);if(!s.isValid(m))throw new Error("sign failed: invalid s");return Nr(zr(l,s.toBytes(m)),v.signature,"result")},verify:function(t,r,i,s=m){const{context:a,zip215:u}=s,c=v.signature;t=Nr(t,c,"signature"),r=Nr(r,void 0,"message"),i=Nr(i,v.publicKey,"publicKey"),void 0!==u&&Fn(u,"zip215"),n&&(r=n(r));const l=c/2,f=t.subarray(0,l),h=Ln(t.subarray(l,c));let g,p,y;try{g=e.fromBytes(i,u),p=e.fromBytes(f,u),y=o.multiplyUnsafe(h)}catch(e){return!1}if(!u&&g.isSmallOrder())return!1;const b=d(a,p.toBytes(),g.toBytes(),r);return p.add(g.multiplyUnsafe(b)).subtract(y).clearCofactor().is0()},utils:y,Point:e,lengths:v})}(qo,kn,Object.assign({adjustScalarBytes:Go},e))}const Ho=/* @__PURE__ */zo({});class Ko extends Error{constructor(e="An error occurred while verifying a message"){super(e),this.name="VerificationError"}}class Zo extends Error{constructor(e="Missing Web Crypto API"){super(e),this.name="WebCryptoMissingError"}}var Jo={get(e=globalThis){const t=e.crypto;if(null==t?.subtle)throw new Zo("Missing Web Crypto API. The most likely cause of this error is that this page is being accessed from an insecure context (i.e. not HTTPS). For more information and possible resolutions see https://github.com/libp2p/js-libp2p/blob/main/packages/crypto/README.md#web-crypto-api");return t}};let $o;const Wo=(async()=>{try{return await Jo.get().subtle.generateKey({name:"Ed25519"},!0,["sign","verify"]),!0}catch{return!1}})();function Yo(e){return null!=e&&"function"==typeof e.then&&"function"==typeof e.catch&&"function"==typeof e.finally}class Xo{type="Ed25519";raw;constructor(e){this.raw=Qo(e,32)}toMultihash(){return ar(As(this))}toCID(){return tr.createV1(114,this.toMultihash())}toString(){return It.encode(this.toMultihash().bytes).substring(1)}equals(e){return null!=e&&e.raw instanceof Uint8Array&&L(this.raw,e.raw)}verify(e,t,r){r?.signal?.throwIfAborted();const n=async function(e,t,r){return null==$o&&($o=await Wo),$o?async function(e,t,r){if(e.buffer instanceof ArrayBuffer){const n=await Jo.get().subtle.importKey("raw",e.buffer,{name:"Ed25519"},!1,["verify"]);return await Jo.get().subtle.verify({name:"Ed25519"},n,t,r instanceof Uint8Array?r:r.subarray())}throw new TypeError("WebCrypto does not support SharedArrayBuffer for Ed25519 keys")}(e,t,r):function(e,t,r){return Ho.verify(t,r instanceof Uint8Array?r:r.subarray(),e)}(e,t,r)}(this.raw,t,e);return Yo(n)?n.then(e=>(r?.signal?.throwIfAborted(),e)):n}}function Qo(e,t){if((e=Uint8Array.from(e??[])).length!==t)throw new mt(`Key must be a Uint8Array of length ${t}, got ${e.length}`);return e}const ei=Math.pow(2,7),ti=Math.pow(2,14),ri=Math.pow(2,21),ni=Math.pow(2,28),oi=Math.pow(2,35),ii=Math.pow(2,42),si=Math.pow(2,49),ai=128,ui=127;function ci(e){if(e<ei)return 1;if(e<ti)return 2;if(e<ri)return 3;if(e<ni)return 4;if(e<oi)return 5;if(e<ii)return 6;if(e<si)return 7;if(null!=Number.MAX_SAFE_INTEGER&&e>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function li(e,t,r=0){switch(ci(e)){case 8:t[r++]=255&e|ai,e/=128;case 7:t[r++]=255&e|ai,e/=128;case 6:t[r++]=255&e|ai,e/=128;case 5:t[r++]=255&e|ai,e/=128;case 4:t[r++]=255&e|ai,e>>>=7;case 3:t[r++]=255&e|ai,e>>>=7;case 2:t[r++]=255&e|ai,e>>>=7;case 1:t[r++]=255&e,e>>>=7;break;default:throw new Error("unreachable")}return t}function fi(e,t){let r=e[t],n=0;if(n+=r&ui,r<ai)return n;if(r=e[t+1],n+=(r&ui)<<7,r<ai)return n;if(r=e[t+2],n+=(r&ui)<<14,r<ai)return n;if(r=e[t+3],n+=(r&ui)<<21,r<ai)return n;if(r=e[t+4],n+=(r&ui)*ni,r<ai)return n;if(r=e[t+5],n+=(r&ui)*oi,r<ai)return n;if(r=e[t+6],n+=(r&ui)*ii,r<ai)return n;if(r=e[t+7],n+=(r&ui)*si,r<ai)return n;throw new RangeError("Could not decode varint")}function hi(e,t,r=0){return null==t&&(t=I(ci(e))),t instanceof Uint8Array?li(e,t,r):function(e,t,r=0){switch(ci(e)){case 8:t.set(r++,255&e|ai),e/=128;case 7:t.set(r++,255&e|ai),e/=128;case 6:t.set(r++,255&e|ai),e/=128;case 5:t.set(r++,255&e|ai),e/=128;case 4:t.set(r++,255&e|ai),e>>>=7;case 3:t.set(r++,255&e|ai),e>>>=7;case 2:t.set(r++,255&e|ai),e>>>=7;case 1:t.set(r++,255&e),e>>>=7;break;default:throw new Error("unreachable")}return t}(e,t,r)}function di(e,t=0){return e instanceof Uint8Array?fi(e,t):function(e,t){let r=e.get(t),n=0;if(n+=r&ui,r<ai)return n;if(r=e.get(t+1),n+=(r&ui)<<7,r<ai)return n;if(r=e.get(t+2),n+=(r&ui)<<14,r<ai)return n;if(r=e.get(t+3),n+=(r&ui)<<21,r<ai)return n;if(r=e.get(t+4),n+=(r&ui)*ni,r<ai)return n;if(r=e.get(t+5),n+=(r&ui)*oi,r<ai)return n;if(r=e.get(t+6),n+=(r&ui)*ii,r<ai)return n;if(r=e.get(t+7),n+=(r&ui)*si,r<ai)return n;throw new RangeError("Could not decode varint")}(e,t)}const mi=new Float32Array([-0]),gi=new Uint8Array(mi.buffer);function vi(e,t,r){mi[0]=e,t[r]=gi[0],t[r+1]=gi[1],t[r+2]=gi[2],t[r+3]=gi[3]}const pi=new Float64Array([-0]),yi=new Uint8Array(pi.buffer);function bi(e,t,r){pi[0]=e,t[r]=yi[0],t[r+1]=yi[1],t[r+2]=yi[2],t[r+3]=yi[3],t[r+4]=yi[4],t[r+5]=yi[5],t[r+6]=yi[6],t[r+7]=yi[7]}const Pi=BigInt(Number.MAX_SAFE_INTEGER),wi=BigInt(Number.MIN_SAFE_INTEGER);class Ei{lo;hi;constructor(e,t){this.lo=0|e,this.hi=0|t}toNumber(e=!1){if(!e&&this.hi>>>31>0){const e=1+~this.lo>>>0;let t=~this.hi>>>0;return 0===e&&(t=t+1>>>0),-(e+4294967296*t)}return this.lo+4294967296*this.hi}toBigInt(e=!1){if(e)return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n);if(this.hi>>>31!=0){const e=1+~this.lo>>>0;let t=~this.hi>>>0;return 0===e&&(t=t+1>>>0),-(BigInt(e)+(BigInt(t)<<32n))}return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n)}toString(e=!1){return this.toBigInt(e).toString()}zzEncode(){const e=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^e)>>>0,this.lo=(this.lo<<1^e)>>>0,this}zzDecode(){const e=-(1&this.lo);return this.lo=((this.lo>>>1|this.hi<<31)^e)>>>0,this.hi=(this.hi>>>1^e)>>>0,this}length(){const e=this.lo,t=(this.lo>>>28|this.hi<<4)>>>0,r=this.hi>>>24;return 0===r?0===t?e<16384?e<128?1:2:e<2097152?3:4:t<16384?t<128?5:6:t<2097152?7:8:r<128?9:10}static fromBigInt(e){if(0n===e)return Si;if(e<Pi&&e>wi)return this.fromNumber(Number(e));const t=e<0n;t&&(e=-e);let r=e>>32n,n=e-(r<<32n);return t&&(r=0n|~r,n=0n|~n,++n>Ai&&(n=0n,++r>Ai&&(r=0n))),new Ei(Number(n),Number(r))}static fromNumber(e){if(0===e)return Si;const t=e<0;t&&(e=-e);let r=e>>>0,n=(e-r)/4294967296>>>0;return t&&(n=~n>>>0,r=~r>>>0,++r>4294967295&&(r=0,++n>4294967295&&(n=0))),new Ei(r,n)}static from(e){return"number"==typeof e?Ei.fromNumber(e):"bigint"==typeof e?Ei.fromBigInt(e):"string"==typeof e?Ei.fromBigInt(BigInt(e)):null!=e.low||null!=e.high?new Ei(e.low>>>0,e.high>>>0):Si}}const Si=new Ei(0,0);Si.toBigInt=function(){return 0n},Si.zzEncode=Si.zzDecode=function(){return this},Si.length=function(){return 1};const Ai=4294967296n;function Ti(e,t,r){const n=r;let o,i;for(let n=0;n<e.length;++n)o=e.charCodeAt(n),o<128?t[r++]=o:o<2048?(t[r++]=o>>6|192,t[r++]=63&o|128):55296==(64512&o)&&56320==(64512&(i=e.charCodeAt(n+1)))?(o=65536+((1023&o)<<10)+(1023&i),++n,t[r++]=o>>18|240,t[r++]=o>>12&63|128,t[r++]=o>>6&63|128,t[r++]=63&o|128):(t[r++]=o>>12|224,t[r++]=o>>6&63|128,t[r++]=63&o|128);return r-n}function xi(e,t){return RangeError(`index out of range: ${e.pos} + ${t??1} > ${e.len}`)}function ki(e,t){return(e[t-4]|e[t-3]<<8|e[t-2]<<16|e[t-1]<<24)>>>0}class Ci{buf;pos;len;_slice=Uint8Array.prototype.subarray;constructor(e){this.buf=e,this.pos=0,this.len=e.length}uint32(){let e=4294967295;if(e=(127&this.buf[this.pos])>>>0,this.buf[this.pos++]<128)return e;if(e=(e|(127&this.buf[this.pos])<<7)>>>0,this.buf[this.pos++]<128)return e;if(e=(e|(127&this.buf[this.pos])<<14)>>>0,this.buf[this.pos++]<128)return e;if(e=(e|(127&this.buf[this.pos])<<21)>>>0,this.buf[this.pos++]<128)return e;if(e=(e|(15&this.buf[this.pos])<<28)>>>0,this.buf[this.pos++]<128)return e;if((this.pos+=5)>this.len)throw this.pos=this.len,xi(this,10);return e}int32(){return 0|this.uint32()}sint32(){const e=this.uint32();return e>>>1^-(1&e)}bool(){return 0!==this.uint32()}fixed32(){if(this.pos+4>this.len)throw xi(this,4);return ki(this.buf,this.pos+=4)}sfixed32(){if(this.pos+4>this.len)throw xi(this,4);return 0|ki(this.buf,this.pos+=4)}float(){if(this.pos+4>this.len)throw xi(this,4);const e=(gi[0]=(t=this.buf)[r=this.pos],gi[1]=t[r+1],gi[2]=t[r+2],gi[3]=t[r+3],mi[0]);var t,r;return this.pos+=4,e}double(){if(this.pos+8>this.len)throw xi(this,4);const e=(yi[0]=(t=this.buf)[r=this.pos],yi[1]=t[r+1],yi[2]=t[r+2],yi[3]=t[r+3],yi[4]=t[r+4],yi[5]=t[r+5],yi[6]=t[r+6],yi[7]=t[r+7],pi[0]);var t,r;return this.pos+=8,e}bytes(){const e=this.uint32(),t=this.pos,r=this.pos+e;if(r>this.len)throw xi(this,e);return this.pos+=e,t===r?new Uint8Array(0):this.buf.subarray(t,r)}string(){const e=this.bytes();return function(e,t,r){if(r-t<1)return"";let n;const o=[];let i,s=0;for(;t<r;)i=e[t++],i<128?o[s++]=i:i>191&&i<224?o[s++]=(31&i)<<6|63&e[t++]:i>239&&i<365?(i=((7&i)<<18|(63&e[t++])<<12|(63&e[t++])<<6|63&e[t++])-65536,o[s++]=55296+(i>>10),o[s++]=56320+(1023&i)):o[s++]=(15&i)<<12|(63&e[t++])<<6|63&e[t++],s>8191&&((n??(n=[])).push(String.fromCharCode.apply(String,o)),s=0);return null!=n?(s>0&&n.push(String.fromCharCode.apply(String,o.slice(0,s))),n.join("")):String.fromCharCode.apply(String,o.slice(0,s))}(e,0,e.length)}skip(e){if("number"==typeof e){if(this.pos+e>this.len)throw xi(this,e);this.pos+=e}else do{if(this.pos>=this.len)throw xi(this)}while(128&this.buf[this.pos++]);return this}skipType(e){switch(e){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;4!=(e=7&this.uint32());)this.skipType(e);break;case 5:this.skip(4);break;default:throw Error(`invalid wire type ${e} at offset ${this.pos}`)}return this}readLongVarint(){const e=new Ei(0,0);let t=0;if(!(this.len-this.pos>4)){for(;t<3;++t){if(this.pos>=this.len)throw xi(this);if(e.lo=(e.lo|(127&this.buf[this.pos])<<7*t)>>>0,this.buf[this.pos++]<128)return e}return e.lo=(e.lo|(127&this.buf[this.pos++])<<7*t)>>>0,e}for(;t<4;++t)if(e.lo=(e.lo|(127&this.buf[this.pos])<<7*t)>>>0,this.buf[this.pos++]<128)return e;if(e.lo=(e.lo|(127&this.buf[this.pos])<<28)>>>0,e.hi=(e.hi|(127&this.buf[this.pos])>>4)>>>0,this.buf[this.pos++]<128)return e;if(t=0,this.len-this.pos>4){for(;t<5;++t)if(e.hi=(e.hi|(127&this.buf[this.pos])<<7*t+3)>>>0,this.buf[this.pos++]<128)return e}else for(;t<5;++t){if(this.pos>=this.len)throw xi(this);if(e.hi=(e.hi|(127&this.buf[this.pos])<<7*t+3)>>>0,this.buf[this.pos++]<128)return e}throw Error("invalid varint encoding")}readFixed64(){if(this.pos+8>this.len)throw xi(this,8);const e=ki(this.buf,this.pos+=4),t=ki(this.buf,this.pos+=4);return new Ei(e,t)}int64(){return this.readLongVarint().toBigInt()}int64Number(){return this.readLongVarint().toNumber()}int64String(){return this.readLongVarint().toString()}uint64(){return this.readLongVarint().toBigInt(!0)}uint64Number(){const e=fi(this.buf,this.pos);return this.pos+=ci(e),e}uint64String(){return this.readLongVarint().toString(!0)}sint64(){return this.readLongVarint().zzDecode().toBigInt()}sint64Number(){return this.readLongVarint().zzDecode().toNumber()}sint64String(){return this.readLongVarint().zzDecode().toString()}fixed64(){return this.readFixed64().toBigInt()}fixed64Number(){return this.readFixed64().toNumber()}fixed64String(){return this.readFixed64().toString()}sfixed64(){return this.readFixed64().toBigInt()}sfixed64Number(){return this.readFixed64().toNumber()}sfixed64String(){return this.readFixed64().toString()}}function Oi(e,t,r){const n=function(e){return new Ci(e instanceof Uint8Array?e:e.subarray())}(e);return t.decode(n,void 0,r)}class Fi{fn;len;next;val;constructor(e,t,r){this.fn=e,this.len=t,this.next=void 0,this.val=r}}function Di(){}class Ii{head;tail;len;next;constructor(e){this.head=e.head,this.tail=e.tail,this.len=e.len,this.next=e.states}}const Ni=function(){const e=8192;let t,r=e;return function(n){if(n<1||n>4096)return I(n);r+n>e&&(t=I(e),r=0);const o=t.subarray(r,r+=n);return 7&r&&(r=1+(7|r)),o}}();class ji{len;head;tail;states;constructor(){this.len=0,this.head=new Fi(Di,0,0),this.tail=this.head,this.states=null}_push(e,t,r){return this.tail=this.tail.next=new Fi(e,t,r),this.len+=t,this}uint32(e){return this.len+=(this.tail=this.tail.next=new Ri((e>>>=0)<128?1:e<16384?2:e<2097152?3:e<268435456?4:5,e)).len,this}int32(e){return e<0?this._push(Mi,10,Ei.fromNumber(e)):this.uint32(e)}sint32(e){return this.uint32((e<<1^e>>31)>>>0)}uint64(e){const t=Ei.fromBigInt(e);return this._push(Mi,t.length(),t)}uint64Number(e){return this._push(li,ci(e),e)}uint64String(e){return this.uint64(BigInt(e))}int64(e){return this.uint64(e)}int64Number(e){return this.uint64Number(e)}int64String(e){return this.uint64String(e)}sint64(e){const t=Ei.fromBigInt(e).zzEncode();return this._push(Mi,t.length(),t)}sint64Number(e){const t=Ei.fromNumber(e).zzEncode();return this._push(Mi,t.length(),t)}sint64String(e){return this.sint64(BigInt(e))}bool(e){return this._push(Li,1,e?1:0)}fixed32(e){return this._push(Bi,4,e>>>0)}sfixed32(e){return this.fixed32(e)}fixed64(e){const t=Ei.fromBigInt(e);return this._push(Bi,4,t.lo)._push(Bi,4,t.hi)}fixed64Number(e){const t=Ei.fromNumber(e);return this._push(Bi,4,t.lo)._push(Bi,4,t.hi)}fixed64String(e){return this.fixed64(BigInt(e))}sfixed64(e){return this.fixed64(e)}sfixed64Number(e){return this.fixed64Number(e)}sfixed64String(e){return this.fixed64String(e)}float(e){return this._push(vi,4,e)}double(e){return this._push(bi,8,e)}bytes(e){const t=e.length>>>0;return 0===t?this._push(Li,1,0):this.uint32(t)._push(_i,t,e)}string(e){const t=function(e){let t=0,r=0;for(let n=0;n<e.length;++n)r=e.charCodeAt(n),r<128?t+=1:r<2048?t+=2:55296==(64512&r)&&56320==(64512&e.charCodeAt(n+1))?(++n,t+=4):t+=3;return t}(e);return 0!==t?this.uint32(t)._push(Ti,t,e):this._push(Li,1,0)}fork(){return this.states=new Ii(this),this.head=this.tail=new Fi(Di,0,0),this.len=0,this}reset(){return null!=this.states?(this.head=this.states.head,this.tail=this.states.tail,this.len=this.states.len,this.states=this.states.next):(this.head=this.tail=new Fi(Di,0,0),this.len=0),this}ldelim(){const e=this.head,t=this.tail,r=this.len;return this.reset().uint32(r),0!==r&&(this.tail.next=e.next,this.tail=t,this.len+=r),this}finish(){let e=this.head.next;const t=(r=this.len,null!=globalThis.Buffer?I(r):Ni(r));var r;let n=0;for(;null!=e;)e.fn(e.val,t,n),n+=e.len,e=e.next;return t}}function Li(e,t,r){t[r]=255&e}function Ui(e,t,r){for(;e>127;)t[r++]=127&e|128,e>>>=7;t[r]=e}class Ri extends Fi{next;constructor(e,t){super(Ui,e,t),this.next=void 0}}function Mi(e,t,r){for(;0!==e.hi;)t[r++]=127&e.lo|128,e.lo=(e.lo>>>7|e.hi<<25)>>>0,e.hi>>>=7;for(;e.lo>127;)t[r++]=127&e.lo|128,e.lo=e.lo>>>7;t[r++]=e.lo}function Bi(e,t,r){t[r]=255&e,t[r+1]=e>>>8&255,t[r+2]=e>>>16&255,t[r+3]=e>>>24}function _i(e,t,r){t.set(e,r)}function Gi(e,t,r){t.set(e,r)}function Vi(e,t,r){e.length<40?Ti(e,t,r):null!=t.utf8Write?t.utf8Write(e,r):t.set(U(e),r)}function qi(e,t){const r=new ji;return t.encode(e,r,{lengthDelimited:!1}),r.finish()}var zi,Hi,Ki,Zi,Ji;function $i(e,t,r,n){return{name:e,type:t,encode:r,decode:n}}function Wi(e,t){return $i("message",zi.LENGTH_DELIMITED,e,t)}null!=globalThis.Buffer&&(ji.prototype.bytes=function(e){const t=e.length>>>0;return this.uint32(t),t>0&&this._push(Gi,t,e),this},ji.prototype.string=function(e){const t=globalThis.Buffer.byteLength(e);return this.uint32(t),t>0&&this._push(Vi,t,e),this}),function(e){e[e.VARINT=0]="VARINT",e[e.BIT64=1]="BIT64",e[e.LENGTH_DELIMITED=2]="LENGTH_DELIMITED",e[e.START_GROUP=3]="START_GROUP",e[e.END_GROUP=4]="END_GROUP",e[e.BIT32=5]="BIT32"}(zi||(zi={})),function(e){e.RSA="RSA",e.Ed25519="Ed25519",e.secp256k1="secp256k1",e.ECDSA="ECDSA"}(Hi||(Hi={})),function(e){e[e.RSA=0]="RSA",e[e.Ed25519=1]="Ed25519",e[e.secp256k1=2]="secp256k1",e[e.ECDSA=3]="ECDSA"}(Ki||(Ki={})),function(e){e.codec=()=>function(e){function t(t){if(null==e[t.toString()])throw new Error("Invalid enum value");return e[t]}return $i("enum",zi.VARINT,function(e,r){const n=t(e);r.int32(n)},function(e){return t(e.int32())})}(Ki)}(Hi||(Hi={})),function(e){let t;e.codec=()=>(null==t&&(t=Wi((e,t,r={})=>{!1!==r.lengthDelimited&&t.fork(),null!=e.Type&&(t.uint32(8),Hi.codec().encode(e.Type,t)),null!=e.Data&&(t.uint32(18),t.bytes(e.Data)),!1!==r.lengthDelimited&&t.ldelim()},(e,t,r={})=>{const n={},o=null==t?e.len:e.pos+t;for(;e.pos<o;){const t=e.uint32();switch(t>>>3){case 1:n.Type=Hi.codec().decode(e);break;case 2:n.Data=e.bytes();break;default:e.skipType(7&t)}}return n})),t),e.encode=t=>qi(t,e.codec()),e.decode=(t,r)=>Oi(t,e.codec(),r)}(Zi||(Zi={})),function(e){let t;e.codec=()=>(null==t&&(t=Wi((e,t,r={})=>{!1!==r.lengthDelimited&&t.fork(),null!=e.Type&&(t.uint32(8),Hi.codec().encode(e.Type,t)),null!=e.Data&&(t.uint32(18),t.bytes(e.Data)),!1!==r.lengthDelimited&&t.ldelim()},(e,t,r={})=>{const n={},o=null==t?e.len:e.pos+t;for(;e.pos<o;){const t=e.uint32();switch(t>>>3){case 1:n.Type=Hi.codec().decode(e);break;case 2:n.Data=e.bytes();break;default:e.skipType(7&t)}}return n})),t),e.encode=t=>qi(t,e.codec()),e.decode=(t,r)=>Oi(t,e.codec(),r)}(Ji||(Ji={}));class Yi{oHash;iHash;blockLen;outputLen;finished=!1;destroyed=!1;constructor(e,t){if(jr(e),Nr(t,void 0,"key"),this.iHash=e.create(),"function"!=typeof this.iHash.update)throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;const r=this.blockLen,n=new Uint8Array(r);n.set(t.length>r?e.create().update(t).digest():t);for(let e=0;e<n.length;e++)n[e]^=54;this.iHash.update(n),this.oHash=e.create();for(let e=0;e<n.length;e++)n[e]^=106;this.oHash.update(n),Ur(n)}update(e){return Lr(this),this.iHash.update(e),this}digestInto(e){Lr(this),Nr(e,this.outputLen,"output"),this.finished=!0,this.iHash.digestInto(e),this.oHash.update(e),this.oHash.digestInto(e),this.destroy()}digest(){const e=new Uint8Array(this.oHash.outputLen);return this.digestInto(e),e}_cloneInto(e){e||=Object.create(Object.getPrototypeOf(this),{});const{oHash:t,iHash:r,finished:n,destroyed:o,blockLen:i,outputLen:s}=this;return e.finished=n,e.destroyed=o,e.blockLen=i,e.outputLen=s,e.oHash=t._cloneInto(e.oHash),e.iHash=r._cloneInto(e.iHash),e}clone(){return this._cloneInto()}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}}const Xi=(e,t,r)=>new Yi(e,t).update(r).digest();Xi.create=(e,t)=>new Yi(e,t);const Qi=(e,t)=>(e+(e>=0?t:-t)/ss)/t;function es(e){if(!["compact","recovered","der"].includes(e))throw new Error('Signature format must be "compact", "recovered", or "der"');return e}function ts(e,t){const r={};for(let n of Object.keys(t))r[n]=void 0===e[n]?t[n]:e[n];return Fn(r.lowS,"lowS"),Fn(r.prehash,"prehash"),void 0!==r.format&&es(r.format),r}class rs extends Error{constructor(e=""){super(e)}}const ns={Err:rs,_tlv:{encode:(e,t)=>{const{Err:r}=ns;if(e<0||e>256)throw new r("tlv.encode: wrong tag");if(1&t.length)throw new r("tlv.encode: unpadded data");const n=t.length/2,o=In(n);if(o.length/2&128)throw new r("tlv.encode: long form length too big");const i=n>127?In(o.length/2|128):"";return In(e)+i+o+t},decode(e,t){const{Err:r}=ns;let n=0;if(e<0||e>256)throw new r("tlv.encode: wrong tag");if(t.length<2||t[n++]!==e)throw new r("tlv.decode: wrong tlv");const o=t[n++];let i=0;if(128&o){const e=127&o;if(!e)throw new r("tlv.decode(long): indefinite length not supported");if(e>4)throw new r("tlv.decode(long): byte length is too big");const s=t.subarray(n,n+e);if(s.length!==e)throw new r("tlv.decode: length bytes not complete");if(0===s[0])throw new r("tlv.decode(long): zero leftmost byte");for(const e of s)i=i<<8|e;if(n+=e,i<128)throw new r("tlv.decode(long): not minimal encoding")}else i=o;const s=t.subarray(n,n+i);if(s.length!==i)throw new r("tlv.decode: wrong value length");return{v:s,l:t.subarray(n+i)}}},_int:{encode(e){const{Err:t}=ns;if(e<os)throw new t("integer: negative integers are not allowed");let r=In(e);if(8&Number.parseInt(r[0],16)&&(r="00"+r),1&r.length)throw new t("unexpected DER parsing assertion: unpadded hex");return r},decode(e){const{Err:t}=ns;if(128&e[0])throw new t("invalid signature integer: negative");if(0===e[0]&&!(128&e[1]))throw new t("invalid signature integer: unnecessary leading zero");return jn(e)}},toSig(e){const{Err:t,_int:r,_tlv:n}=ns,o=Nr(e,void 0,"signature"),{v:i,l:s}=n.decode(48,o);if(s.length)throw new t("invalid signature: left bytes after parsing");const{v:a,l:u}=n.decode(2,i),{v:c,l:l}=n.decode(2,u);if(l.length)throw new t("invalid signature: left bytes after parsing");return{r:r.decode(a),s:r.decode(c)}},hexFromSig(e){const{_tlv:t,_int:r}=ns,n=t.encode(2,r.encode(e.r)),o=t.encode(2,r.encode(e.s));return t.encode(48,n+o)}},os=BigInt(0),is=BigInt(1),ss=BigInt(2),as=BigInt(3),us=BigInt(4);function cs(e,t={}){const r=Co("weierstrass",e,t),{Fp:n,Fn:o}=r;let i=r.CURVE;const{h:s,n:a}=i;Vn(t,{},{allowInfinityPoint:"boolean",clearCofactor:"function",isTorsionFree:"function",fromBytes:"function",toBytes:"function",endo:"object"});const{endo:u}=t;if(u&&(!n.is0(i.a)||"bigint"!=typeof u.beta||!Array.isArray(u.basises)))throw new Error('invalid endo: expected "beta": bigint and "basises": array');const c=fs(n,o);function l(){if(!n.isOdd)throw new Error("compression is not supported: Field does not have .isOdd()")}const f=t.toBytes||function(e,t,r){const{x:o,y:i}=t.toAffine(),s=n.toBytes(o);return Fn(r,"isCompressed"),r?(l(),zr(ls(!n.isOdd(i)),s)):zr(Uint8Array.of(4),s,n.toBytes(i))},h=t.fromBytes||function(e){Nr(e,void 0,"Point");const{publicKey:t,publicKeyUncompressed:r}=c,o=e.length,i=e[0],s=e.subarray(1);if(o!==t||2!==i&&3!==i){if(o===r&&4===i){const e=n.BYTES,t=n.fromBytes(s.subarray(0,e)),r=n.fromBytes(s.subarray(e,2*e));if(!m(t,r))throw new Error("bad point: is not on curve");return{x:t,y:r}}throw new Error(`bad point: got length ${o}, expected compressed=${t} or uncompressed=${r}`)}{const e=n.fromBytes(s);if(!n.isValid(e))throw new Error("bad point: is not on curve, wrong x");const t=d(e);let r;try{r=n.sqrt(t)}catch(e){const t=e instanceof Error?": "+e.message:"";throw new Error("bad point: is not on curve, sqrt error"+t)}return l(),!(1&~i)!==n.isOdd(r)&&(r=n.neg(r)),{x:e,y:r}}};function d(e){const t=n.sqr(e),r=n.mul(t,e);return n.add(n.add(r,n.mul(e,i.a)),i.b)}function m(e,t){const r=n.sqr(t),o=d(e);return n.eql(r,o)}if(!m(i.Gx,i.Gy))throw new Error("bad curve params: generator point");const g=n.mul(n.pow(i.a,as),us),v=n.mul(n.sqr(i.b),BigInt(27));if(n.is0(n.add(g,v)))throw new Error("bad curve params: a or b");function p(e,t,r=!1){if(!n.isValid(t)||r&&n.is0(t))throw new Error(`bad point coordinate ${e}`);return t}function y(e){if(!(e instanceof S))throw new Error("Weierstrass Point expected")}function b(e){if(!u||!u.basises)throw new Error("no endo");return function(e,t,r){const[[n,o],[i,s]]=t,a=Qi(s*e,r),u=Qi(-o*e,r);let c=e-a*n-u*i,l=-a*o-u*s;const f=c<os,h=l<os;f&&(c=-c),h&&(l=-l);const d=Gn(Math.ceil(function(e){let t;for(t=0;e>Cn;e>>=On,t+=1);return t}(r)/2))+is;if(c<os||c>=d||l<os||l>=d)throw new Error("splitScalar (endomorphism): failed, k="+e);return{k1neg:f,k1:c,k2neg:h,k2:l}}(e,u.basises,o.ORDER)}const P=qn((e,t)=>{const{X:r,Y:o,Z:i}=e;if(n.eql(i,n.ONE))return{x:r,y:o};const s=e.is0();null==t&&(t=s?n.ONE:n.inv(i));const a=n.mul(r,t),u=n.mul(o,t),c=n.mul(i,t);if(s)return{x:n.ZERO,y:n.ZERO};if(!n.eql(c,n.ONE))throw new Error("invZ was invalid");return{x:a,y:u}}),w=qn(e=>{if(e.is0()){if(t.allowInfinityPoint&&!n.is0(e.Y))return;throw new Error("bad point: ZERO")}const{x:r,y:o}=e.toAffine();if(!n.isValid(r)||!n.isValid(o))throw new Error("bad point: x or y not field elements");if(!m(r,o))throw new Error("bad point: equation left != right");if(!e.isTorsionFree())throw new Error("bad point: not in prime-order subgroup");return!0});function E(e,t,r,o,i){return r=new S(n.mul(r.X,e),r.Y,r.Z),t=po(o,t),r=po(i,r),t.add(r)}class S{static BASE=new S(i.Gx,i.Gy,n.ONE);static ZERO=new S(n.ZERO,n.ONE,n.ZERO);static Fp=n;static Fn=o;X;Y;Z;constructor(e,t,r){this.X=p("x",e),this.Y=p("y",t,!0),this.Z=p("z",r),Object.freeze(this)}static CURVE(){return i}static fromAffine(e){const{x:t,y:r}=e||{};if(!e||!n.isValid(t)||!n.isValid(r))throw new Error("invalid affine point");if(e instanceof S)throw new Error("projective point not allowed");return n.is0(t)&&n.is0(r)?S.ZERO:new S(t,r,n.ONE)}static fromBytes(e){const t=S.fromAffine(h(Nr(e,void 0,"point")));return t.assertValidity(),t}static fromHex(e){return S.fromBytes(qr(e))}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(e=8,t=!0){return T.createCache(this,e),t||this.multiply(as),this}assertValidity(){w(this)}hasEvenY(){const{y:e}=this.toAffine();if(!n.isOdd)throw new Error("Field doesn't support isOdd");return!n.isOdd(e)}equals(e){y(e);const{X:t,Y:r,Z:o}=this,{X:i,Y:s,Z:a}=e,u=n.eql(n.mul(t,a),n.mul(i,o)),c=n.eql(n.mul(r,a),n.mul(s,o));return u&&c}negate(){return new S(this.X,n.neg(this.Y),this.Z)}double(){const{a:e,b:t}=i,r=n.mul(t,as),{X:o,Y:s,Z:a}=this;let u=n.ZERO,c=n.ZERO,l=n.ZERO,f=n.mul(o,o),h=n.mul(s,s),d=n.mul(a,a),m=n.mul(o,s);return m=n.add(m,m),l=n.mul(o,a),l=n.add(l,l),u=n.mul(e,l),c=n.mul(r,d),c=n.add(u,c),u=n.sub(h,c),c=n.add(h,c),c=n.mul(u,c),u=n.mul(m,u),l=n.mul(r,l),d=n.mul(e,d),m=n.sub(f,d),m=n.mul(e,m),m=n.add(m,l),l=n.add(f,f),f=n.add(l,f),f=n.add(f,d),f=n.mul(f,m),c=n.add(c,f),d=n.mul(s,a),d=n.add(d,d),f=n.mul(d,m),u=n.sub(u,f),l=n.mul(d,h),l=n.add(l,l),l=n.add(l,l),new S(u,c,l)}add(e){y(e);const{X:t,Y:r,Z:o}=this,{X:s,Y:a,Z:u}=e;let c=n.ZERO,l=n.ZERO,f=n.ZERO;const h=i.a,d=n.mul(i.b,as);let m=n.mul(t,s),g=n.mul(r,a),v=n.mul(o,u),p=n.add(t,r),b=n.add(s,a);p=n.mul(p,b),b=n.add(m,g),p=n.sub(p,b),b=n.add(t,o);let P=n.add(s,u);return b=n.mul(b,P),P=n.add(m,v),b=n.sub(b,P),P=n.add(r,o),c=n.add(a,u),P=n.mul(P,c),c=n.add(g,v),P=n.sub(P,c),f=n.mul(h,b),c=n.mul(d,v),f=n.add(c,f),c=n.sub(g,f),f=n.add(g,f),l=n.mul(c,f),g=n.add(m,m),g=n.add(g,m),v=n.mul(h,v),b=n.mul(d,b),g=n.add(g,v),v=n.sub(m,v),v=n.mul(h,v),b=n.add(b,v),m=n.mul(g,b),l=n.add(l,m),m=n.mul(P,b),c=n.mul(p,c),c=n.sub(c,m),m=n.mul(p,g),f=n.mul(P,f),f=n.add(f,m),new S(c,l,f)}subtract(e){return this.add(e.negate())}is0(){return this.equals(S.ZERO)}multiply(e){const{endo:r}=t;if(!o.isValidNot0(e))throw new Error("invalid scalar: out of range");let n,i;const s=e=>T.cached(this,e,e=>yo(S,e));if(r){const{k1neg:t,k1:o,k2neg:a,k2:u}=b(e),{p:c,f:l}=s(o),{p:f,f:h}=s(u);i=l.add(h),n=E(r.beta,c,f,t,a)}else{const{p:t,f:r}=s(e);n=t,i=r}return yo(S,[n,i])[0]}multiplyUnsafe(e){const{endo:r}=t,n=this;if(!o.isValid(e))throw new Error("invalid scalar: out of range");if(e===os||n.is0())return S.ZERO;if(e===is)return n;if(T.hasCache(this))return this.multiply(e);if(r){const{k1neg:t,k1:o,k2neg:i,k2:s}=b(e),{p1:a,p2:u}=function(e,t,r,n){let o=t,i=e.ZERO,s=e.ZERO;for(;r>go||n>go;)r&vo&&(i=i.add(o)),n&vo&&(s=s.add(o)),o=o.double(),r>>=vo,n>>=vo;return{p1:i,p2:s}}(S,n,o,s);return E(r.beta,a,u,t,i)}return T.unsafe(n,e)}toAffine(e){return P(this,e)}isTorsionFree(){const{isTorsionFree:e}=t;return s===is||(e?e(S,this):T.unsafe(this,a).is0())}clearCofactor(){const{clearCofactor:e}=t;return s===is?this:e?e(S,this):this.multiplyUnsafe(s)}isSmallOrder(){return this.multiplyUnsafe(s).is0()}toBytes(e=!0){return Fn(e,"isCompressed"),this.assertValidity(),f(S,this,e)}toHex(e=!0){return Gr(this.toBytes(e))}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}}const A=o.BITS,T=new xo(S,t.endo?Math.ceil(A/2):A);return S.BASE.precompute(8),S}function ls(e){return Uint8Array.of(e?2:3)}function fs(e,t){return{secretKey:t.BYTES,publicKey:1+e.BYTES,publicKeyUncompressed:1+2*e.BYTES,publicKeyHasPrefix:!0,signature:2*t.BYTES}}function hs(e,t,r={}){jr(t),Vn(r,{},{hmac:"function",lowS:"boolean",randomBytes:"function",bits2int:"function",bits2int_modN:"function"});const n=(r=Object.assign({},r)).randomBytes||Kr,o=r.hmac||((e,r)=>Xi(t,e,r)),{Fp:i,Fn:s}=e,{ORDER:a,BITS:u}=s,{keygen:c,getPublicKey:l,getSharedSecret:f,utils:h,lengths:d}=function(e,t={}){const{Fn:r}=e,n=t.randomBytes||Kr,o=Object.assign(fs(e.Fp,r),{seed:mo(r.ORDER)});function i(e=n(o.seed)){return function(e,t,r=!1){Nr(e);const n=e.length,o=ho(t),i=mo(t);if(n<16||n<i||n>1024)throw new Error("expected "+i+"-1024 bytes of input, got "+n);const s=eo(r?Ln(e):jn(e),t-Hn)+Hn;return r?Rn(s,o):Un(s,o)}(Nr(e,o.seed,"seed"),r.ORDER)}function s(t,n=!0){return e.BASE.multiply(r.fromBytes(t)).toBytes(n)}function a(e){const{secretKey:t,publicKey:n,publicKeyUncompressed:i}=o;if(!Dr(e))return;if("_lengths"in r&&r._lengths||t===n)return;const s=Nr(e,void 0,"key").length;return s===n||s===i}const u={isValidSecretKey:function(e){try{const t=r.fromBytes(e);return r.isValidNot0(t)}catch(e){return!1}},isValidPublicKey:function(t,r){const{publicKey:n,publicKeyUncompressed:i}=o;try{const o=t.length;return!(!0===r&&o!==n||!1===r&&o!==i||!e.fromBytes(t))}catch(e){return!1}},randomSecretKey:i},c=Oo(i,s);return Object.freeze({getPublicKey:s,getSharedSecret:function(t,n,o=!0){if(!0===a(t))throw new Error("first arg must be private key");if(!1===a(n))throw new Error("second arg must be public key");const i=r.fromBytes(t);return e.fromBytes(n).multiply(i).toBytes(o)},keygen:c,Point:e,utils:u,lengths:o})}(e,r),m={prehash:!0,lowS:"boolean"!=typeof r.lowS||r.lowS,format:"compact",extraEntropy:!1},g=a*ss<i.ORDER;function v(e){return e>a>>is}function p(e,t){if(!s.isValidNot0(t))throw new Error(`invalid signature ${e}: out of range 1..Point.Fn.ORDER`);return t}function y(){if(g)throw new Error('"recovered" sig type is not supported for cofactor >2 curves')}function b(e,t){es(t);const r=d.signature;return Nr(e,"compact"===t?r:"recovered"===t?r+1:void 0)}class P{r;s;recovery;constructor(e,t,r){if(this.r=p("r",e),this.s=p("s",t),null!=r){if(y(),![0,1,2,3].includes(r))throw new Error("invalid recovery id");this.recovery=r}Object.freeze(this)}static fromBytes(e,t=m.format){let r;if(b(e,t),"der"===t){const{r:t,s:r}=ns.toSig(Nr(e));return new P(t,r)}"recovered"===t&&(r=e[0],t="compact",e=e.subarray(1));const n=d.signature/2,o=e.subarray(0,n),i=e.subarray(n,2*n);return new P(s.fromBytes(o),s.fromBytes(i),r)}static fromHex(e,t){return this.fromBytes(qr(e),t)}assertRecovery(){const{recovery:e}=this;if(null==e)throw new Error("invalid recovery id: must be present");return e}addRecoveryBit(e){return new P(this.r,this.s,e)}recoverPublicKey(t){const{r:r,s:n}=this,o=this.assertRecovery(),u=2===o||3===o?r+a:r;if(!i.isValid(u))throw new Error("invalid recovery id: sig.r+curve.n != R.x");const c=i.toBytes(u),l=e.fromBytes(zr(ls(!(1&o)),c)),f=s.inv(u),h=E(Nr(t,void 0,"msgHash")),d=s.create(-h*f),m=s.create(n*f),g=e.BASE.multiplyUnsafe(d).add(l.multiplyUnsafe(m));if(g.is0())throw new Error("invalid recovery: point at infinify");return g.assertValidity(),g}hasHighS(){return v(this.s)}toBytes(e=m.format){if(es(e),"der"===e)return qr(ns.hexFromSig(this));const{r:t,s:r}=this,n=s.toBytes(t),o=s.toBytes(r);return"recovered"===e?(y(),zr(Uint8Array.of(this.assertRecovery()),n,o)):zr(n,o)}toHex(e){return Gr(this.toBytes(e))}}const w=r.bits2int||function(e){if(e.length>8192)throw new Error("input is too large");const t=jn(e),r=8*e.length-u;return r>0?t>>BigInt(r):t},E=r.bits2int_modN||function(e){return s.create(w(e))},S=Gn(u);function A(e){return _n("num < 2^"+u,e,os,S),s.toBytes(e)}function T(e,r){return Nr(e,void 0,"message"),r?Nr(t(e),void 0,"prehashed message"):e}return Object.freeze({keygen:c,getPublicKey:l,getSharedSecret:f,utils:h,lengths:d,Point:e,sign:function(r,i,a={}){const{seed:u,k2sig:c}=function(t,r,o){const{lowS:i,prehash:a,extraEntropy:u}=ts(o,m);t=T(t,a);const c=E(t),l=s.fromBytes(r);if(!s.isValidNot0(l))throw new Error("invalid private key");const f=[A(l),A(c)];if(null!=u&&!1!==u){const e=!0===u?n(d.secretKey):u;f.push(Nr(e,void 0,"extraEntropy"))}const h=zr(...f),p=c;return{seed:h,k2sig:function(t){const r=w(t);if(!s.isValidNot0(r))return;const n=s.inv(r),o=e.BASE.multiply(r).toAffine(),a=s.create(o.x);if(a===os)return;const u=s.create(n*s.create(p+a*l));if(u===os)return;let c=(o.x===a?0:2)|Number(o.y&is),f=u;return i&&v(u)&&(f=s.neg(u),c^=1),new P(a,f,g?void 0:c)}}}(r,i,a);return function(e,t,r){if(Ir(e,"hashLen"),Ir(t,"qByteLen"),"function"!=typeof r)throw new Error("hmacFn must be a function");const n=e=>new Uint8Array(e),o=Uint8Array.of(),i=Uint8Array.of(0),s=Uint8Array.of(1);let a=n(e),u=n(e),c=0;const l=()=>{a.fill(1),u.fill(0),c=0},f=(...e)=>r(u,zr(a,...e)),h=(e=o)=>{u=f(i,e),a=f(),0!==e.length&&(u=f(s,e),a=f())},d=()=>{if(c++>=1e3)throw new Error("drbg: tried max amount of iterations");let e=0;const r=[];for(;e<t;){a=f();const t=a.slice();r.push(t),e+=a.length}return zr(...r)};return(e,t)=>{let r;for(l(),h(e);!(r=t(d()));)h();return l(),r}}(t.outputLen,s.BYTES,o)(u,c).toBytes(a.format)},verify:function(t,r,n,o={}){const{lowS:i,prehash:a,format:u}=ts(o,m);if(n=Nr(n,void 0,"publicKey"),r=T(r,a),!Dr(t))throw new Error("verify expects Uint8Array signature"+(t instanceof P?", use sig.toBytes()":""));b(t,u);try{const o=P.fromBytes(t,u),a=e.fromBytes(n);if(i&&o.hasHighS())return!1;const{r:c,s:l}=o,f=E(r),h=s.inv(l),d=s.create(f*h),m=s.create(c*h),g=e.BASE.multiplyUnsafe(d).add(a.multiplyUnsafe(m));return!g.is0()&&s.create(g.x)===c}catch(e){return!1}},recoverPublicKey:function(e,t,r={}){const{prehash:n}=ts(r,m);return t=T(t,n),P.fromBytes(e,"recovered").recoverPublicKey(t).toBytes()},Signature:P,hash:t})}const ds={p:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),n:BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),h:BigInt(1),a:BigInt(0),b:BigInt(7),Gx:BigInt("0x79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"),Gy:BigInt("0x483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8")},ms={beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),basises:[[BigInt("0x3086d221a7d46bcde86c90e49284eb15"),-BigInt("0xe4437ed6010e88286f547fa90abfe4c3")],[BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),BigInt("0x3086d221a7d46bcde86c90e49284eb15")]]},gs=/* @__PURE__ */BigInt(2),vs=fo(ds.p,{sqrt:function(e){const t=ds.p,r=BigInt(3),n=BigInt(6),o=BigInt(11),i=BigInt(22),s=BigInt(23),a=BigInt(44),u=BigInt(88),c=e*e*e%t,l=c*c*e%t,f=to(l,r,t)*l%t,h=to(f,r,t)*l%t,d=to(h,gs,t)*c%t,m=to(d,o,t)*d%t,g=to(m,i,t)*m%t,v=to(g,a,t)*g%t,p=to(v,u,t)*v%t,y=to(p,a,t)*g%t,b=to(y,r,t)*l%t,P=to(b,s,t)*m%t,w=to(P,n,t)*c%t,E=to(w,gs,t);if(!vs.eql(vs.sqr(E),e))throw new Error("Cannot find square root");return E}}),ps=/* @__PURE__ */hs(/* @__PURE__ */cs(ds,{Fp:vs,endo:ms}),xn);function ys({name:e,code:t,encode:r,minDigestLength:n,maxDigestLength:o}){return new bs(e,t,r,n,o)}class bs{name;code;encode;minDigestLength;maxDigestLength;constructor(e,t,r,n,o){this.name=e,this.code=t,this.encode=r,this.minDigestLength=n??20,this.maxDigestLength=o}digest(e,t){if(null!=t?.truncate){if(t.truncate<this.minDigestLength)throw new Error(`Invalid truncate option, must be greater than or equal to ${this.minDigestLength}`);if(null!=this.maxDigestLength&&t.truncate>this.maxDigestLength)throw new Error(`Invalid truncate option, must be less than or equal to ${this.maxDigestLength}`)}if(e instanceof Uint8Array){const r=this.encode(e);return r instanceof Uint8Array?Ps(r,this.code,t?.truncate):r.then(e=>Ps(e,this.code,t?.truncate))}throw Error("Unknown type, must be binary type")}}function Ps(e,t,r){if(null!=r&&r!==e.byteLength){if(r>e.byteLength)throw new Error(`Invalid truncate option, must be less than or equal to ${e.byteLength}`);e=e.subarray(0,r)}return $t(t,e)}function ws(e){return async t=>new Uint8Array(await crypto.subtle.digest(e,t))}const Es=ys({name:"sha2-256",code:18,encode:ws("SHA-256")});ys({name:"sha2-512",code:19,encode:ws("SHA-512")});class Ss{type="secp256k1";raw;_key;constructor(e){this._key=function(e){try{return ps.Point.fromBytes(e),e}catch(e){throw new gt(String(e))}}(e),this.raw=function(e){return ps.Point.fromBytes(e).toBytes()}(this._key)}toMultihash(){return ar(As(this))}toCID(){return tr.createV1(114,this.toMultihash())}toString(){return It.encode(this.toMultihash().bytes).substring(1)}equals(e){return null!=e&&e.raw instanceof Uint8Array&&L(this.raw,e.raw)}verify(e,t,r){return function(e,t,r,n){const o=Es.digest(r instanceof Uint8Array?r:r.subarray());if(Yo(o))return o.then(({digest:r})=>(n?.signal?.throwIfAborted(),ps.verify(t,r,e,{prehash:!1,format:"der"}))).catch(e=>{if("AbortError"===e.name)throw e;throw new Ko(String(e))});try{return n?.signal?.throwIfAborted(),ps.verify(t,o.digest,e,{prehash:!1,format:"der"})}catch(e){throw new Ko(String(e))}}(this._key,t,e,r)}}function As(e){return Zi.encode({Type:Hi[e.type],Data:e.raw})}const Ts=Symbol.for("nodejs.util.inspect.custom");class xs{type;multihash;publicKey;string;constructor(e){this.type=e.type,this.multihash=e.multihash,Object.defineProperty(this,"string",{enumerable:!1,writable:!0})}get[Symbol.toStringTag](){return`PeerId(${this.toString()})`}[wt]=!0;toString(){return null==this.string&&(this.string=It.encode(this.multihash.bytes).slice(1)),this.string}toMultihash(){return this.multihash}toCID(){return tr.createV1(114,this.multihash)}toJSON(){return this.toString()}equals(e){if(null==e)return!1;if(e instanceof Uint8Array)return L(this.multihash.bytes,e);if("string"==typeof e)return this.toString()===e;if(null!=e?.toMultihash()?.bytes)return L(this.multihash.bytes,e.toMultihash().bytes);throw new Error("not valid Id")}[Ts](){return`PeerId(${this.toString()})`}}class ks extends xs{type="RSA";publicKey;constructor(e){super({...e,type:"RSA"}),this.publicKey=e.publicKey}}class Cs extends xs{type="Ed25519";publicKey;constructor(e){super({...e,type:"Ed25519"}),this.publicKey=e.publicKey}}class Os extends xs{type="secp256k1";publicKey;constructor(e){super({...e,type:"secp256k1"}),this.publicKey=e.publicKey}}class Fs{type="url";multihash;publicKey;url;constructor(e){this.url=e.toString(),this.multihash=ar(U(this.url))}[Ts](){return`PeerId(${this.url})`}[wt]=!0;toString(){return this.toCID().toString()}toMultihash(){return this.multihash}toCID(){return tr.createV1(2336,this.toMultihash())}toJSON(){return this.toString()}equals(e){return null!=e&&(e instanceof Uint8Array&&(e=R(e)),e.toString()===this.toString())}}function Ds(e,t){let r;if("1"===e.charAt(0)||"Q"===e.charAt(0))r=Wt(It.decode(`z${e}`));else{if(e.startsWith("k51qzi5uqu5")||e.startsWith("kzwfwjn5ji4")||e.startsWith("k2k4r8")||e.startsWith("bafz"))return function(e){if(null==e?.multihash||null==e.version||1===e.version&&114!==e.code&&2336!==e.code)throw new vt("Supplied PeerID CID is invalid");if(2336===e.code){const t=R(e.multihash.digest);return new Fs(new URL(t))}return Is(e.multihash)}(tr.parse(e));if(null==t)throw new mt('Please pass a multibase decoder for strings that do not start with "1" or "Q"');r=Wt(t.decode(e))}return Is(r)}function Is(e){if(function(e){return e.code===Es.code}(e))return new ks({multihash:e});if(function(e){return 0===e.code}(e))try{const t=function(e){const{Type:t,Data:r}=Zi.decode(e.digest),n=r??new Uint8Array;switch(t){case Hi.Ed25519:return o=Qo(o=n,32),new Xo(o);case Hi.secp256k1:return function(e){return new Ss(e)}(n);case Hi.ECDSA:return function(e){return function(e){const t=e[1][1][0];let r,n;if(65===t.byteLength)return r=R(t.subarray(1,33),"base64url"),n=R(t.subarray(33),"base64url"),new Fr({...xr,key_ops:["verify"],x:r,y:n});if(97===t.byteLength)return r=R(t.subarray(1,49),"base64url"),n=R(t.subarray(49),"base64url"),new Fr({...kr,key_ops:["verify"],x:r,y:n});if(133===t.byteLength)return r=R(t.subarray(1,67),"base64url"),n=R(t.subarray(67),"base64url"),new Fr({...Cr,key_ops:["verify"],x:r,y:n});throw new mt(`coordinates were wrong length, got ${t.byteLength}, expected 65, 97 or 133`)}(vr(e))}(n);default:throw new Pt}var o}(e);if("Ed25519"===t.type)return new Cs({multihash:e,publicKey:t});if("secp256k1"===t.type)return new Os({multihash:e,publicKey:t})}catch(t){const r=R(e.digest);return new Fs(new URL(r))}throw new pt("Supplied PeerID Multihash is invalid")}function Ns(e,t){var r=B.fromHex(function(e){if("string"==typeof e)return e.startsWith("0x")?e:"0x"+e;var t=e instanceof Uint8Array?e:Array.isArray(e)?Uint8Array.from(e):Uint8Array.from(Object.keys(e).sort(function(e,t){return Number(e)-Number(t)}).map(function(t){return e[Number(t)]}));return"0x"+Buffer.from(t).toString("hex")}(e)),n=_(r.toHex(),Buffer.from(t));return Buffer.from(n).toString("hex")}function js(e,t){try{var r=e()}catch(e){return t(e)}return r&&r.then?r.then(void 0,t):r}var Ls=/*#__PURE__*/function(){function e(){}var t=e.prototype;return t.getConsumerAddress=function(e){return sa(e)},t.getSignature=function(e,t,r){return ia(e,t,r)},t.getAuthorization=function(e){return aa(e)},t.getEndpoints=function(e,t){try{var r=this;return Promise.resolve(js(function(){return Promise.resolve(r.getData(e,t)).then(function(e){return Promise.resolve(e.json())})},function(e){throw ve.error("Finding the service endpoints failed:",e),new Error("HTTP request failed calling Provider")}))}catch(e){return Promise.reject(e)}},t.getNodePublicKey=function(e){try{return Promise.resolve(this.getEndpoints(e)).then(function(e){return e.nodePublicKey})}catch(e){return Promise.reject(e)}},t.getEndpointURL=function(e,t){return e?e.find(function(e){return e.serviceName.toLowerCase()===t.toLowerCase()}):null},t.getServiceEndpoints=function(e,t){try{var r=[];for(var n in t.serviceEndpoints){var o={serviceName:n,method:t.serviceEndpoints[n][0],urlPath:e.replace(/\/+$/,"")+"/"+t.serviceEndpoints[n][1].replace(/^\/+/,"")};r.push(o)}return Promise.resolve(r)}catch(e){return Promise.reject(e)}},t.getNonce=function(e,t,r,n,o){try{var i=function(){function i(){var e=s.getEndpointURL(o,"nonce")?s.getEndpointURL(o,"nonce").urlPath:null;return e?js(function(){return Promise.resolve(F(e+"?userAddress="+t,{method:"GET",headers:{"Content-Type":"application/json"},signal:r})).then(function(e){return Promise.resolve(e.json()).then(function(e){var t=e.nonce;return t&&null!==t?Number(t):0})})},function(e){throw ve.error(e),new Error(e.message)}):null}var a=function(){if(!o)return Promise.resolve(s.getServiceEndpoints(e,n)).then(function(e){o=e})}();return a&&a.then?a.then(i):i()},s=this,a=function(){if(!n)return Promise.resolve(s.getEndpoints(e)).then(function(e){n=e})}();return Promise.resolve(a&&a.then?a.then(i):i())}catch(e){return Promise.reject(e)}},t.encrypt=function(e,t,r,n,o,i){try{var s=this;return Promise.resolve(s.getEndpoints(r)).then(function(o){return Promise.resolve(s.getServiceEndpoints(r,o)).then(function(a){return Promise.resolve(s.getConsumerAddress(n)).then(function(u){return Promise.resolve(s.getNonce(r,u,i,o,a)).then(function(r){var o=(r+1).toString();return Promise.resolve(s.getSignature(n,o,re.ENCRYPT)).then(function(r){var n=(s.getEndpointURL(a,"encrypt")?s.getEndpointURL(a,"encrypt").urlPath:null)+"?chainId="+t;return n?(n+="&nonce="+o,n+="&consumerAddress="+u,n+="&signature="+r,js(function(){return Promise.resolve(F(n,{method:"POST",body:JSON.stringify(e),headers:{"Content-Type":"application/octet-stream"},signal:i})).then(function(e){return Promise.resolve(e.text())})},function(e){throw ve.error(e),new Error("HTTP request failed calling Provider")})):null})})})})})}catch(e){return Promise.reject(e)}},t.checkDidFiles=function(e,t,r,n,o){void 0===n&&(n=!1);try{var i=this;return Promise.resolve(i.getEndpoints(r)).then(function(s){return Promise.resolve(i.getServiceEndpoints(r,s)).then(function(r){function s(e){var t;function r(e){return t?e:Promise.resolve(a.json()).then(function(e){throw ve.error("File info call failed: ",a.status,a.statusText,e),new Error(JSON.stringify(e))})}var n=function(e){if(null!=(e=a)&&e.ok)return Promise.resolve(a.json()).then(function(e){for(var r,n=ue(e);!(r=n()).done;)c.push(r.value);return t=1,c})}();return n&&n.then?n.then(r):r(n)}var a,u={did:e,serviceId:t,checksum:n},c=[],l=i.getEndpointURL(r,"fileinfo")?i.getEndpointURL(r,"fileinfo").urlPath:null;if(!l)return null;var f=js(function(){return Promise.resolve(F(l,{method:"POST",body:JSON.stringify(u),headers:{"Content-Type":"application/json"},signal:o})).then(function(e){a=e})},function(e){throw ve.error("File info call failed: "),ve.error(e),new Error(e)});return f&&f.then?f.then(s):s()})})}catch(e){return Promise.reject(e)}},t.getFileInfo=function(e,t,r,n){void 0===r&&(r=!1);try{var o=this;return Promise.resolve(o.getEndpoints(t)).then(function(i){return Promise.resolve(o.getServiceEndpoints(t,i)).then(function(t){function i(e){var t;function r(e){return t?e:Promise.resolve(s.json()).then(function(e){throw ve.error("File info call failed: ",s.status,s.statusText,e),new Error(JSON.stringify(e))})}var n=function(e){if(null!=(e=s)&&e.ok)return Promise.resolve(s.json()).then(function(e){for(var r,n=ue(e);!(r=n()).done;)u.push(r.value);return t=1,u})}();return n&&n.then?n.then(r):r(n)}var s,a=ce({},e,{checksum:r}),u=[],c=o.getEndpointURL(t,"fileinfo")?o.getEndpointURL(t,"fileinfo").urlPath:null;if(!c)return null;var l=js(function(){return Promise.resolve(F(c,{method:"POST",body:JSON.stringify(a),headers:{"Content-Type":"application/json"},signal:n})).then(function(e){s=e})},function(e){throw ve.error("File info call failed: "),ve.error(e),new Error(e)});return l&&l.then?l.then(i):i()})})}catch(e){return Promise.reject(e)}},t.getComputeEnvironments=function(e,t){try{var r=this;return Promise.resolve(r.getEndpoints(e)).then(function(n){return Promise.resolve(r.getServiceEndpoints(e,n)).then(function(e){var n;function o(e){var t;return null!=(t=i)&&t.ok?i.json():Promise.resolve(i.json()).then(function(e){throw ve.error("Fetch compute env failed: ",i.status,i.statusText,e),new Error(JSON.stringify(e))})}var i,s=null==(n=r.getEndpointURL(e,"computeEnvironments"))?void 0:n.urlPath;if(!s)return null;var a=js(function(){return Promise.resolve(F(s,{method:"GET",headers:{"Content-Type":"application/json"},signal:t})).then(function(e){i=e})},function(e){throw ve.error("Fetch compute env failed: "),ve.error(e),new Error(e)});return a&&a.then?a.then(o):o()})})}catch(e){return Promise.reject(e)}},t.initialize=function(e,t,r,n,o,i,s,a,u){try{var c=this;return Promise.resolve(c.getEndpoints(o)).then(function(l){return Promise.resolve(c.getServiceEndpoints(o,l)).then(function(o){function l(e){var t;function r(e){return t?e:Promise.resolve(f.json()).then(function(e){throw ve.error("Provider initialized failed: ",f.status,f.statusText,e),new Error(JSON.stringify(e))})}var n=function(e){if(200===(null==(e=f)?void 0:e.status))return Promise.resolve(f.json()).then(function(e){return t=1,e})}();return n&&n.then?n.then(r):r(n)}var f,h=c.getEndpointURL(o,"initialize")?c.getEndpointURL(o,"initialize").urlPath:null;if(!h)return null;h+="?documentId="+e,h+="&serviceId="+t,h+="&fileIndex="+r,h+="&consumerAddress="+n,s&&(h+="&userdata="+encodeURI(JSON.stringify(s))),a&&(h+="&environment="+encodeURI(a)),u&&(h+="&validUntil="+u);var d=js(function(){return Promise.resolve(F(h,{method:"GET",headers:{"Content-Type":"application/json"},signal:i})).then(function(e){f=e})},function(e){throw ve.error("Provider initialized failed: "),ve.error(e),new Error("Provider initialize failed url: "+h+" ")});return d&&d.then?d.then(l):l()})})}catch(e){return Promise.reject(e)}},t.initializeCompute=function(e,t,r,n,o,i,s,a,u,c,l,f,h){try{var d=this;return Promise.resolve(d.getEndpoints(i)).then(function(m){return Promise.resolve(d.getServiceEndpoints(i,m)).then(function(g){var v=d.getEndpointURL(g,"initializeCompute")?d.getEndpointURL(g,"initializeCompute").urlPath:null;return v?Promise.resolve(d.getConsumerAddress(s)).then(function(p){return Promise.resolve(d.getNonce(i,p,l,m,g)).then(function(m){function g(){function m(){function e(){var e;function t(t){var r;function n(t){return r?t:Promise.resolve(e.json()).then(function(t){throw ve.error("Initialize compute failed: ",e.status,e.statusText,t),ve.error("Payload was:",JSON.stringify(g)),new Error(JSON.stringify(t))})}var o=function(t){if(null!=(t=e)&&t.ok)return Promise.resolve(e.json()).then(function(e){return r=1,e})}();return o&&o.then?o.then(n):n(o)}var r=js(function(){return Promise.resolve(F(v,{method:"POST",body:JSON.stringify(g),headers:{"Content-Type":"application/json",Authorization:d.getAuthorization(s)},signal:l})).then(function(t){return e=t,function(){if(!e.ok)return Promise.resolve(e.text()).then(function(e){throw new Error(""+e)})}()})},function(e){throw ve.error("Initialize compute failed: "),ve.error(e),new Error("ComputeJob cannot be initialized: "+e.message+".")});return r&&r.then?r.then(t):t()}c&&(g.policyServer=c);var t=function(){if(f)return Promise.resolve(d.getNodePublicKey(i)).then(function(e){e&&(g.output=Ns(e,JSON.stringify(f)))})}();return t&&t.then?t.then(e):e()}var g={datasets:e,algorithm:t,environment:r,payment:{chainId:u,token:n,resources:a},maxJobDuration:o,consumerAddress:p,signature:y},b=function(){if(h)return Promise.resolve(d.getNodePublicKey(i)).then(function(e){e&&(g.dockerRegistryAuth=Ns(e,JSON.stringify(h)))})}();return b&&b.then?b.then(m):m()}var y,b=(m+1).toString(),P="string"==typeof s,w=function(){if(!P){var t,r=p;return r+=null==(t=e[0])?void 0:t.documentId,r+=b,Promise.resolve(ht(s,r)).then(function(e){y=e})}}();return w&&w.then?w.then(g):g()})}):null})})}catch(e){return Promise.reject(e)}},t.getDownloadUrl=function(e,t,r,n,o,i,s,a){try{var u=this;return Promise.resolve(u.getEndpoints(o)).then(function(c){return Promise.resolve(u.getServiceEndpoints(o,c)).then(function(l){var f=u.getEndpointURL(l,"download")?u.getEndpointURL(l,"download").urlPath:null;return f?Promise.resolve(u.getConsumerAddress(i)).then(function(h){return Promise.resolve(u.getNonce(o,h,null,c,l)).then(function(o){var c=(o+1).toString();return Promise.resolve(u.getSignature(i,c,re.DOWNLOAD)).then(function(o){var i=f;return i+="?fileIndex="+r,i+="&documentId="+e,i+="&transferTxId="+n,i+="&serviceId="+t,i+="&consumerAddress="+h,i+="&nonce="+c,s&&(i+="&policyServer="+encodeURI(JSON.stringify(s))),i+="&signature="+o,a&&(i+="&userdata="+encodeURI(JSON.stringify(a))),i})})}):null})})}catch(e){return Promise.reject(e)}},t.computeStart=function(e,t,r,n,o,i,s,a,u,c,l,f,h,d,m,g){try{var v=this;return Promise.resolve(v.getEndpoints(e)).then(function(p){return Promise.resolve(v.getServiceEndpoints(e,p)).then(function(y){var b=v.getEndpointURL(y,"computeStart")?v.getEndpointURL(y,"computeStart").urlPath:null;return b?Promise.resolve(v.getConsumerAddress(t)).then(function(P){return Promise.resolve(v.getNonce(e,P,d,p,y)).then(function(p){var y=(p+1).toString();return Promise.resolve(v.getSignature(t,y,re.COMPUTE_START)).then(function(p){function w(){function r(){var e;function r(t){var r;function n(t){return r?t:Promise.resolve(e.json()).then(function(t){throw ve.error("Compute start failed: ",e.status,e.statusText,t),ve.error("Payload was:",E),new Error(JSON.stringify(t))})}var o=function(t){if(null!=(t=e)&&t.ok)return Promise.resolve(e.json()).then(function(e){return r=1,e})}();return o&&o.then?o.then(n):n(o)}h&&(E.policyServer=h),m&&(E.queueMaxWaitTime=m);var n=js(function(){return Promise.resolve(F(b,{method:"POST",body:JSON.stringify(E),headers:{"Content-Type":"application/json",Authorization:v.getAuthorization(t)},signal:d})).then(function(t){e=t})},function(e){throw ve.error("Compute start failed:"),ve.error(e),ve.error("Payload was:",E),new Error("HTTP request failed calling Provider")});return n&&n.then?n.then(r):r()}a&&(E.resources=a),c&&(E.metadata=c),l&&(E.additionalViewers=l);var n=function(){if(f)return Promise.resolve(v.getNodePublicKey(e)).then(function(e){e&&(E.output=Ns(e,JSON.stringify(f)))})}();return n&&n.then?n.then(r):r()}var E=Object();E.consumerAddress=P,E.signature=p,E.nonce=y,E.environment=r,E.maxJobDuration=i,E.resources=a,E.dataset=n[0],E.datasets=n,E.algorithm=o,E.chainId=u,E.payment={chainId:u,token:s,maxJobDuration:i,resources:a};var S=function(){if(g)return Promise.resolve(v.getNodePublicKey(e)).then(function(e){e&&(E.dockerRegistryAuth=Ns(e,JSON.stringify(g)))})}();return S&&S.then?S.then(w):w()})})}):(ve.error("Compute start failed: Cannot get proper computeStart route (perhaps not implemented on provider?)"),null)})})}catch(e){return Promise.reject(e)}},t.freeComputeStart=function(e,t,r,n,o,i,s,a,u,c,l,f,h){try{var d=this;return Promise.resolve(d.getEndpoints(e)).then(function(m){return Promise.resolve(d.getServiceEndpoints(e,m)).then(function(g){var v=d.getEndpointURL(g,"freeCompute")?d.getEndpointURL(g,"freeCompute").urlPath:null;return v?Promise.resolve(d.getConsumerAddress(t)).then(function(p){return Promise.resolve(d.getNonce(e,p,l,m,g)).then(function(m){var g=(m+1).toString();return Promise.resolve(d.getSignature(t,g,re.FREE_COMPUTE_START)).then(function(m){function y(){function r(){var e;function r(t){var r;function n(t){return r?t:Promise.resolve(e.json()).then(function(t){throw ve.error("Compute start failed: ",e.status,e.statusText,t),ve.error("Payload was:",b),new Error(JSON.stringify(t))})}var o=function(t){if(null!=(t=e)&&t.ok)return Promise.resolve(e.json()).then(function(e){return r=1,e})}();return o&&o.then?o.then(n):n(o)}c&&(b.policyServer=c),f&&(b.queueMaxWaitTime=f);var n=js(function(){return Promise.resolve(F(v,{method:"POST",body:JSON.stringify(b),headers:{"Content-Type":"application/json",Authorization:d.getAuthorization(t)},signal:l})).then(function(t){e=t})},function(e){throw ve.error("Compute start failed:"),ve.error(e),ve.error("Payload was:",b),new Error("HTTP request failed calling Provider")});return n&&n.then?n.then(r):r()}var n=function(){if(u)return Promise.resolve(d.getNodePublicKey(e)).then(function(e){e&&(b.output=Ns(e,JSON.stringify(u)))})}();return n&&n.then?n.then(r):r()}var b=Object();b.consumerAddress=p,b.signature=m,b.nonce=g,b.environment=r,b.resources=i,b.dataset=n[0],b.datasets=n,b.algorithm=o,s&&(b.metadata=s),a&&(b.additionalViewers=a);var P=function(){if(h)return Promise.resolve(d.getNodePublicKey(e)).then(function(e){e&&(b.dockerRegistryAuth=Ns(e,JSON.stringify(h)))})}();return P&&P.then?P.then(y):y()})})}):(ve.error("Compute start failed: Cannot get proper computeStart route (perhaps not implemented on provider?)"),null)})})}catch(e){return Promise.reject(e)}},t.computeStreamableLogs=function(e,t,r,n){try{var o=this,i="string"==typeof t;return Promise.resolve(o.getEndpoints(e)).then(function(s){return Promise.resolve(o.getServiceEndpoints(e,s)).then(function(a){var u=o.getEndpointURL(a,"computeStreamableLogs")?o.getEndpointURL(a,"computeStreamableLogs").urlPath:null;return u?Promise.resolve(o.getConsumerAddress(t)).then(function(c){return Promise.resolve(o.getNonce(e,c,n,s,a)).then(function(e){function s(){var e;function r(t){var r,n;if(null!=(r=e)&&r.ok||200===(null==(n=e)?void 0:n.status))return e.body;var o=ve.error,i=e.statusText,s=e.status;return Promise.resolve(e.json()).then(function(e){return o.call(ve,"computeStreamableLogs failed: ",s,i,e),null})}var i=js(function(){return Promise.resolve(F(u+l,{method:"GET",headers:{"Content-Type":"application/json",Authorization:o.getAuthorization(t)},signal:n})).then(function(t){e=t})},function(e){throw ve.error("computeStreamableLogs failed:"),ve.error(e),new Error("HTTP request failed calling Provider")});return i&&i.then?i.then(r):r()}var a=(e+1).toString(),l="?consumerAddress="+c+"&jobId="+r,f=function(){if(!i)return Promise.resolve(o.getSignature(t,a,re.COMPUTE_GET_STREAMABLE_LOGS)).then(function(e){l+="&signature="+e,l+="&nonce="+a})}();return f&&f.then?f.then(s):s()})}):(ve.error("Compute start failed: Cannot get proper computeStreamableLogs route (perhaps not implemented on provider?)"),null)})})}catch(e){return Promise.reject(e)}},t.computeStop=function(e,t,r,n,o){try{var i=this,s="string"==typeof r;return Promise.resolve(i.getEndpoints(t)).then(function(a){return Promise.resolve(i.getServiceEndpoints(t,a)).then(function(u){var c=i.getEndpointURL(u,"computeStop")?i.getEndpointURL(u,"computeStop").urlPath:null;return Promise.resolve(i.getConsumerAddress(r)).then(function(l){return Promise.resolve(i.getNonce(t,l,o,a,u)).then(function(t){var a=(t+1).toString();return Promise.resolve(i.getSignature(r,a,re.COMPUTE_STOP)).then(function(t){function u(e){var t;function r(e){return t?e:Promise.resolve(h.json()).then(function(e){throw ve.error("Compute stop failed: ",h.status,h.statusText,e),new Error(JSON.stringify(e))})}var n=function(e){if(null!=(e=h)&&e.ok)return Promise.resolve(h.json()).then(function(e){return t=1,e})}();return n&&n.then?n.then(r):r(n)}var f=new URLSearchParams;f.set("consumerAddress",l),f.set("nonce",a),f.set("jobId",e),s||f.set("signature",t),n&&f.set("agreementId",n);var h,d=f.toString();if(!d)return null;var m=js(function(){return Promise.resolve(F(c+"?"+d,{method:"PUT",headers:{"Content-Type":"application/json",Authorization:i.getAuthorization(r)},signal:o})).then(function(e){h=e})},function(e){throw ve.error("Compute stop failed:"),ve.error(e),new Error("HTTP request failed calling Provider")});return m&&m.then?m.then(u):u()})})})})})}catch(e){return Promise.reject(e)}},t.computeStatus=function(e,t,r,n,o){try{var i=this;return Promise.resolve(sa(t)).then(function(s){var a=aa(t);return Promise.resolve(i.getEndpoints(e)).then(function(t){return Promise.resolve(i.getServiceEndpoints(e,t)).then(function(e){function t(e){var t;function r(e){var r;if(t)return e;function n(e){return r?e:Promise.resolve(u.json()).then(function(e){throw ve.error("Get compute status failed:",u.status,u.statusText,e),new Error(JSON.stringify(e))})}ve.error("Get compute status failed:",u.status,u.statusText);var o=function(e){if(null!=(e=u)&&e.ok)return Promise.resolve(u.json()).then(function(e){return r=1,e})}();return o&&o.then?o.then(n):n(o)}var n=function(e){if(null!=(e=u)&&e.ok)return Promise.resolve(u.json()).then(function(e){return t=1,e})}();return n&&n.then?n.then(r):r(n)}var u,c=i.getEndpointURL(e,"computeStatus")?i.getEndpointURL(e,"computeStatus").urlPath:null,l="?consumerAddress="+s;if(l+=n&&"&agreementId="+n||"",l+=r&&"&jobId="+r||"",!c)return null;var f=js(function(){return Promise.resolve(F(c+l,{method:"GET",headers:{"Content-Type":"application/json",Authorization:a},signal:o})).then(function(e){u=e})},function(e){throw ve.error("Get compute status failed"),ve.error(e),new Error(e)});return f&&f.then?f.then(t):t()})})})}catch(e){return Promise.reject(e)}},t.getComputeResultUrl=function(e,t,r,n){try{var o=this,i="string"==typeof t;return Promise.resolve(o.getEndpoints(e)).then(function(s){return Promise.resolve(o.getServiceEndpoints(e,s)).then(function(a){var u=o.getEndpointURL(a,"computeResult")?o.getEndpointURL(a,"computeResult").urlPath:null;return Promise.resolve(o.getConsumerAddress(t)).then(function(c){return Promise.resolve(o.getNonce(e,c,null,s,a)).then(function(e){var s=(e+1).toString();return Promise.resolve(o.getSignature(t,s,re.COMPUTE_GET_RESULT)).then(function(e){if(!u)return null;var t=u;return t+="?consumerAddress="+c,t+="&jobId="+r,t+="&index="+n.toString(),i||(t+="&nonce="+s,t+="&signature="+e),t})})})})})}catch(e){return Promise.reject(e)}},t.getComputeResult=function(e,t,r,n,o){void 0===o&&(o=0);try{return Promise.resolve(this.getComputeResultUrl(e,t,r,n)).then(function(e){if(!e)throw new Error("Could not retrieve compute result URL");return Promise.resolve(F(e,{headers:o>0?{Range:"bytes="+o+"-"}:{}})).then(function(e){if(!e.ok)throw new Error("Failed to fetch compute result: "+e.status);return e.body})})}catch(e){return Promise.reject(e)}},t.generateAuthToken=function(e,t,r){try{var n=this;return Promise.resolve(e.getAddress()).then(function(o){return Promise.resolve(n.getEndpoints(t)).then(function(i){return Promise.resolve(n.getServiceEndpoints(t,i)).then(function(s){var a=n.getEndpointURL(s,"generateAuthToken").urlPath||null;return Promise.resolve(n.getNonce(t,o,r,i,s)).then(function(t){var i=(t+1).toString();return Promise.resolve(n.getSignature(e,i,re.CREATE_AUTH_TOKEN)).then(function(e){return js(function(){return Promise.resolve(F(a,{method:"POST",body:JSON.stringify({address:o,signature:e,nonce:i}),headers:{"Content-Type":"application/json"},signal:r})).then(function(e){if(null==e||!e.ok)throw new Error("Failed to generate auth token: "+e.status+" "+e.statusText);return Promise.resolve(e.json()).then(function(e){return null==e?void 0:e.token})})},function(e){throw ve.error("Generate auth token failed:"),ve.error(e),new Error("HTTP request failed calling Provider")})})})})})})}catch(e){return Promise.reject(e)}},t.invalidateAuthToken=function(e,t,r,n){try{var o=this;return Promise.resolve(e.getAddress()).then(function(i){return Promise.resolve(o.getEndpoints(r)).then(function(s){return Promise.resolve(o.getServiceEndpoints(r,s)).then(function(a){var u=o.getEndpointURL(a,"invalidateAuthToken").urlPath||null;return Promise.resolve(o.getNonce(r,i,n,s,a)).then(function(r){var o=(r+1).toString();return Promise.resolve(ht(e,i+o)).then(function(e){return js(function(){return Promise.resolve(F(u,{method:"POST",body:JSON.stringify({address:i,signature:e,token:t,nonce:o}),headers:{"Content-Type":"application/json"},signal:n})).then(function(e){if(null==e||!e.ok)throw new Error("Failed to invalidate auth token: "+e.status+" "+e.statusText);return Promise.resolve(e.json())})},function(e){throw ve.error("Generate auth token failed:"),ve.error(e),new Error("HTTP request failed calling Provider")})})})})})})}catch(e){return Promise.reject(e)}},t.isValidProvider=function(e,t){try{return Promise.resolve(js(function(){return Promise.resolve(F(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||e.providerAddresses))return t=!0})}();return r&&r.then?r.then(function(e){return!!t&&e}):!!t&&r})},function(e){return ve.error("Error validating provider: "+e.message),!1}))}catch(e){return Promise.reject(e)}},t.PolicyServerPassthrough=function(e,t,r){try{var n=this;return Promise.resolve(n.getEndpoints(e)).then(function(o){return Promise.resolve(n.getServiceEndpoints(e,o)).then(function(e){function o(e){var r;function n(e){return r?e:Promise.resolve(i.json()).then(function(e){throw ve.error("PolicyServerPassthrough failed: ",i.status,i.statusText,e),ve.error("Payload was:",JSON.stringify(t)),new Error(JSON.stringify(e))})}var o=function(e){if(null!=(e=i)&&e.ok)return Promise.resolve(i.json()).then(function(e){return r=1,e})}();return o&&o.then?o.then(n):n(o)}var i,s=n.getEndpointURL(e,"PolicyServerPassthrough")?n.getEndpointURL(e,"PolicyServerPassthrough").urlPath:null;if(!s)return null;var a=js(function(){return Promise.resolve(F(s,{method:"POST",body:JSON.stringify(t),headers:{"Content-Type":"application/json"},signal:r})).then(function(e){return i=e,function(){if(!i.ok)return Promise.resolve(i.text()).then(function(e){throw new Error(""+e)})}()})},function(e){throw ve.error("PolicyServerPassthrough failed: "),ve.error(e),new Error("PolicyServerPassthrough failed: "+e.message+".")});return a&&a.then?a.then(o):o()})})}catch(e){return Promise.reject(e)}},t.initializePSVerification=function(e,t,r){try{var n=this;return Promise.resolve(n.getEndpoints(e)).then(function(o){return Promise.resolve(n.getServiceEndpoints(e,o)).then(function(e){function o(e){var r;function n(e){return r?e:Promise.resolve(i.json()).then(function(e){throw ve.error("initializePSVerification failed: ",i.status,i.statusText,e),ve.error("Payload was:",JSON.stringify(t)),new Error(JSON.stringify(e))})}var o=function(e){if(null!=(e=i)&&e.ok)return Promise.resolve(i.json()).then(function(e){return r=1,e})}();return o&&o.then?o.then(n):n(o)}var i,s=n.getEndpointURL(e,"initializePSVerification")?n.getEndpointURL(e,"initializePSVerification").urlPath:null;if(!s)return null;var a=js(function(){return Promise.resolve(F(s,{method:"POST",body:JSON.stringify(t),headers:{"Content-Type":"application/json"},signal:r})).then(function(e){return i=e,function(){if(!i.ok)return Promise.resolve(i.text()).then(function(e){throw new Error(""+e)})}()})},function(e){throw ve.error("initializePSVerification failed: "),ve.error(e),new Error("initializePSVerification failed: "+e.message+".")});return a&&a.then?a.then(o):o()})})}catch(e){return Promise.reject(e)}},t.downloadNodeLogs=function(e,t,r,n,o,i,s,a,u){try{var c=this;return Promise.resolve(c.getEndpoints(e)).then(function(l){return Promise.resolve(c.getServiceEndpoints(e,l)).then(function(f){var h=c.getEndpointURL(f,"logs")?c.getEndpointURL(f,"logs").urlPath:null;return h?Promise.resolve(t.getAddress()).then(function(d){return Promise.resolve(c.getNonce(e,d,u,l,f)).then(function(e){var l=(e+1).toString();return Promise.resolve(c.getSignature(t,l,re.GET_LOGS)).then(function(e){function t(e){var t;return null!=(t=c)&&t.ok?c.body:Promise.resolve(c.json()).then(function(e){throw ve.error("Download node logs failed: ",c.status,c.statusText,e),new Error(JSON.stringify(e))})}var c,f=h+"?startTime="+r+"&endTime="+n;o&&(f+="&maxLogs="+o),i&&(f+="&moduleName="+i),s&&(f+="&level="+s),a&&(f+="&page="+a);var m=js(function(){return Promise.resolve(F(f,{method:"POST",body:JSON.stringify({signature:e,nonce:l,address:d}),headers:{"Content-Type":"application/json"},signal:u})).then(function(e){c=e})},function(e){throw ve.error("Download node logs failed:"),ve.error(e),new Error("HTTP request failed calling Provider")});return m&&m.then?m.then(t):t()})})}):(ve.error("Download node logs failed: Cannot get proper logs route (perhaps not implemented on provider?)"),null)})})}catch(e){return Promise.reject(e)}},t.noZeroX=function(e){return this.zeroXTransformer(e,!1)},t.zeroXTransformer=function(e,t){void 0===e&&(e="");var r=this.inputMatch(e,/^(?:0x)*([a-f0-9]+)$/i,"zeroXTransformer");return(t&&r.valid?"0x":"")+r.output},t.inputMatch=function(e,t,r){if("string"!=typeof e)throw ve.debug("Not input string:"),ve.debug(e),new Error("["+r+"] Expected string, input type: "+typeof e);var n=e.match(t);return n?{valid:!0,output:n[1]}:(ve.warn("["+r+"] Input transformation failed."),{valid:!1,output:e})},t.resolveDdo=function(e,t,r){try{return Promise.resolve(F(e+"/api/aquarius/assets/ddo/"+t,{method:"GET",headers:{"Content-Type":"application/json"},signal:r})).then(function(e){return e.ok?e.json():null})}catch(e){return Promise.reject(e)}},t.validateDdo=function(e,t,r,n){try{var o=this;return Promise.resolve(r.getAddress()).then(function(i){return Promise.resolve(o.getData(e+"/api/services/nonce?userAddress="+i)).then(function(o){return Promise.resolve(o.json()).then(function(o){var s,a=(Number(null!=(s=o.nonce)?s:0)+1).toString();return Promise.resolve(ht(r,i+a+re.VALIDATE_DDO)).then(function(r){return Promise.resolve(F(e+"/api/aquarius/assets/ddo/validate",{method:"POST",body:JSON.stringify({ddo:t,publisherAddress:i,nonce:a,signature:r}),headers:{"Content-Type":"application/json"},signal:n})).then(function(e){return e.ok?Promise.resolve(e.json()).then(function(e){return{valid:!0,hash:e.hash,proof:{validatorAddress:e.publicKey,r:e.r[0],s:e.s[0],v:e.v}}}):null})})})})})}catch(e){return Promise.reject(e)}},t.getData=function(e,t){try{return Promise.resolve(F(e,{method:"GET",headers:{"Content-type":"application/json",Authorization:t}}))}catch(e){return Promise.reject(e)}},e}();class Us extends Error{name="TimeoutError";constructor(e,t){super(e,t),Error.captureStackTrace?.(this,Us)}}const Rs=e=>e.reason??new DOMException("This operation was aborted.","AbortError");function Ms(e,t,r){"function"==typeof r&&(r={filter:r});const n=function(e,t,r){let n;const o=new Promise((o,i)=>{if(!((r={rejectionEvents:["error"],multiArgs:!1,rejectionMultiArgs:!1,resolveImmediately:!1,...r}).count>=0)||r.count!==Number.POSITIVE_INFINITY&&!Number.isInteger(r.count))throw new TypeError("The `count` option should be at least 0 or more");r.signal?.throwIfAborted();const s=[t].flat(),a=[],{addListener:u,removeListener:c}=(e=>{const t=e.addEventListener||e.on||e.addListener,r=e.removeEventListener||e.off||e.removeListener;if(!t||!r)throw new TypeError("Emitter is not compatible");return{addListener:t.bind(e),removeListener:r.bind(e)}})(e),l=async(...e)=>{const t=r.multiArgs?e:e[0];if(r.filter)try{if(!await r.filter(t))return}catch(e){return n(),void i(e)}a.push(t),r.count===a.length&&(n(),o(a))},f=(...e)=>{n(),i(r.rejectionMultiArgs?e:e[0])};n=()=>{for(const e of s)c(e,l);for(const e of r.rejectionEvents)s.includes(e)||c(e,f)};for(const e of s)u(e,l);for(const e of r.rejectionEvents)s.includes(e)||u(e,f);r.signal&&r.signal.addEventListener("abort",()=>{f(r.signal.reason)},{once:!0}),r.resolveImmediately&&o(a)});if(o.cancel=n,"number"==typeof r.timeout){const e=function(e,t){const{milliseconds:r,fallback:n,message:o,customTimers:i={setTimeout:setTimeout,clearTimeout:clearTimeout},signal:s}=t;let a,u;const c=new Promise((t,c)=>{if("number"!=typeof r||1!==Math.sign(r))throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${r}\``);if(s?.aborted)return void c(Rs(s));if(s&&(u=()=>{c(Rs(s))},s.addEventListener("abort",u,{once:!0})),e.then(t,c),r===Number.POSITIVE_INFINITY)return;const l=new Us;a=i.setTimeout.call(void 0,()=>{if(n)try{t(n())}catch(e){c(e)}else"function"==typeof e.cancel&&e.cancel(),!1===o?t():o instanceof Error?c(o):(l.message=o??`Promise timed out after ${r} milliseconds`,c(l))},r)}).finally(()=>{c.clear(),u&&s&&s.removeEventListener("abort",u)});return c.clear=()=>{i.clearTimeout.call(void 0,a),a=void 0},c}(o,{milliseconds:r.timeout});return e.cancel=()=>{n(),e.clear()},e}return o}(e,t,r={...r,count:1,resolveImmediately:!1}),o=n.then(e=>e[0]);return o.cancel=n.cancel,o}function Bs(e){return e.reason}async function _s(e,t,r){if(null==t)return e;const n=r?.translateError??Bs;if(t.aborted)return e.catch(()=>{}),Promise.reject(n(t));let o;try{return await Promise.race([e,new Promise((e,r)=>{o=()=>{r(n(t))},t.addEventListener("abort",o)})])}finally{null!=o&&t.removeEventListener("abort",o)}}class Gs{protocol;components;started;timeout;maxInboundStreams;maxOutboundStreams;runOnLimitedConnection;constructor(e,t={}){this.components=e,this.started=!1,this.protocol=`/${t.protocolPrefix??"ipfs"}/ping/1.0.0`,this.timeout=t.timeout??1e4,this.maxInboundStreams=t.maxInboundStreams??2,this.maxOutboundStreams=t.maxOutboundStreams??1,this.runOnLimitedConnection=t.runOnLimitedConnection??!0,this.handlePing=this.handlePing.bind(this)}[Symbol.toStringTag]="@libp2p/ping";[Et]=["@libp2p/ping"];async start(){await this.components.registrar.handle(this.protocol,this.handlePing,{maxInboundStreams:this.maxInboundStreams,maxOutboundStreams:this.maxOutboundStreams,runOnLimitedConnection:this.runOnLimitedConnection}),this.started=!0}async stop(){await this.components.registrar.unhandle(this.protocol),this.started=!1}isStarted(){return this.started}async handlePing(e,t){const r=e.log.newScope("ping");r.trace("ping from %p",t.remotePeer);const n=AbortSignal.timeout(this.timeout);n.addEventListener("abort",()=>{e.abort(new bt("Ping timed out"))});const o=Date.now();for await(const t of e){if("open"!==e.status){r("stream status changed to %s",e.status);break}e.send(t)||(r("waiting for stream to drain"),await Ms(e,"drain",{rejectionEvents:["close"],signal:n}),r("stream drained"))}r("ping from %p complete in %dms",t.remotePeer,Date.now()-o),await e.close({signal:n})}async ping(e,t={}){const r=function(){if(isNaN(32))throw new mt("random bytes length must be a Number bigger than 0");return Kr(32)}(),n=await this.components.connectionManager.openStream(e,this.protocol,{runOnLimitedConnection:this.runOnLimitedConnection,...t}),o=n.log.newScope("ping");try{const e=Date.now(),o=Promise.withResolvers(),i=new fr,s=a=>{if(i.append(a.data),32===i.byteLength){n.removeEventListener("message",s);const a=Date.now()-e;Promise.all([n.closeRead(t)]).then(()=>{if(!L(r,i.subarray()))throw new yt(`Received wrong ping ack after ${a}ms`);o.resolve(a)}).catch(e=>{n.abort(e),o.reject(e)})}};return n.addEventListener("message",s),n.send(r),await n.close(t),await _s(o.promise,t.signal)}catch(t){throw o.error("error while pinging %o - %e",e,t),n?.abort(t),t}finally{n?.close()}}}function Vs(e={}){return t=>new Gs(t,e)}class qs extends Error{static name="UnexpectedEOFError";name="UnexpectedEOFError"}class zs extends Error{static name="UnwrappedError";name="UnwrappedError"}class Hs extends Error{name="InvalidMessageLengthError";code="ERR_INVALID_MSG_LENGTH"}class Ks extends Error{name="InvalidDataLengthError";code="ERR_MSG_DATA_TOO_LONG"}class Zs extends Error{name="InvalidDataLengthLengthError";code="ERR_MSG_LENGTH_TOO_LONG"}function Js(e){return function(e){return"function"==typeof e?.closeRead}(e)?"writable"!==e.remoteWriteStatus&&0===e.readBufferLength:!!function(e){return"function"==typeof e?.close}(e)&&"open"!==e.status}function $s(e,t,r){if(!e.s){if(r instanceof Ws){if(!r.s)return void(r.o=$s.bind(null,e,t));1&t&&(t=r.s),r=r.v}if(r&&r.then)return void r.then($s.bind(null,e,t),$s.bind(null,e,2));e.s=t,e.v=r;const n=e.o;n&&n(e)}}var Ws=/*#__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{$s(n,1,i(this.v))}catch(e){$s(n,2,e)}return n}return this}return this.o=function(e){try{var o=e.v;1&e.s?$s(n,1,t?t(o):o):r?$s(n,1,r(o)):$s(n,2,o)}catch(e){$s(n,2,e)}},n},e}();function Ys(e){return e instanceof Ws&&1&e.s}function Xs(e,t,r){for(var n;;){var o=e();if(Ys(o)&&(o=o.v),!o)return i;if(o.then){n=0;break}var i=r();if(i&&i.then){if(!Ys(i)){n=1;break}i=i.s}if(t){var s=t();if(s&&s.then&&!Ys(s)){n=2;break}}}var a=new Ws,u=$s.bind(null,a,2);return(0===n?o.then(l):1===n?i.then(c):s.then(f)).then(void 0,u),a;function c(n){i=n;do{if(t&&(s=t())&&s.then&&!Ys(s))return void s.then(f).then(void 0,u);if(!(o=e())||Ys(o)&&!o.v)return void $s(a,1,i);if(o.then)return void o.then(l).then(void 0,u);Ys(i=r())&&(i=i.v)}while(!i||!i.then);i.then(c).then(void 0,u)}function l(e){e?(i=r())&&i.then?i.then(c).then(void 0,u):c(i):$s(a,1,i)}function f(){(o=e())?o.then?o.then(l).then(void 0,u):l(o):$s(a,1,i)}}function Qs(e,t){try{var r=e()}catch(e){return t(e)}return r&&r.then?r.then(void 0,t):r}function ea(e,t){try{var r=e()}catch(e){return t(!0,e)}return r&&r.then?r.then(t.bind(null,!1),t.bind(null,!0)):t(!1,r)}var ta="/ocean/nodes/1.0.0",ra=1e4,na=["/dns4/bootstrap1.oncompute.ai/tcp/9001/ws/p2p/16Uiu2HAmLhRDqfufZiQnxvQs2XHhd6hwkLSPfjAQg1gH8wgRixiP","/dns4/bootstrap2.oncompute.ai/tcp/9001/ws/p2p/16Uiu2HAmHwzeVw7RpGopjZe6qNBJbzDDBdqtrSk7Gcx1emYsfgL4","/dns4/bootstrap3.oncompute.ai/tcp/9001/ws/p2p/16Uiu2HAmBKSeEP3v4tYEPsZsZv9VELinyMCsrVTJW9BvQeFXx28U","/dns4/bootstrap4.oncompute.ai/tcp/9001/ws/p2p/16Uiu2HAmSTVTArioKm2wVcyeASHYEsnx2ZNq467Z4GMDU4ErEPom"],oa=/*#__PURE__*/function(){function e(){this.p2pConfig={},this.libp2pNode=null,this.discoveredNodes=new Map}var t=e.prototype;return t.setupP2P=function(e){try{var t=this;return t.p2pConfig=e,t.discoveredNodes.clear(),t.libp2pNode&&(Promise.resolve(t.libp2pNode.stop()).catch(function(){}),t.libp2pNode=null),Promise.resolve(t.getOrCreateLibp2pNode()).then(function(){})}catch(e){return Promise.reject(e)}},t.getMultiaddrFromPeerId=function(e){try{var t,r,n=this,o=function(e){return e.includes("/p2p/")?e:e+"/p2p/"+e};return Promise.resolve(n.getOrCreateLibp2pNode()).then(function(i){var s;function a(t){if(s)return t;throw new Error("No multiaddrs found for peer id "+e)}var u=i.getConnections().find(function(t){return t.remotePeer.toString()===e});if(null!=u&&u.remoteAddr){var c=u.remoteAddr.toString();return o(c)}var l=n.discoveredNodes.get(e);if(l&&l.length>0)return o(l[0]);var f,h=i.services.dht,d=!1,m=!1,g=ea(function(){return Qs(function(){return t=function(e){var t,r,n,o=2;for("undefined"!=typeof Symbol&&(r=Symbol.asyncIterator,n=Symbol.iterator);o--;){if(r&&null!=(t=e[r]))return t.call(e);if(n&&null!=(t=e[n]))return new se(t.call(e));r="@@asyncIterator",n="@@iterator"}throw new TypeError("Object is not async iterable")}(h.findPeer(Ds(e),{signal:AbortSignal.timeout(2e4)})),Xs(function(){function e(e){return!s&&(d=!(r=e).done)}return s?!!e(!s&&t.next()):Promise.resolve(!s&&t.next()).then(e)},function(){return!!(d=!1)},function(){var e=r.value;if(e.type===J.FINAL_PEER&&e.peer.multiaddrs.length>0){var t=e.peer.multiaddrs[0].toString(),n=o(t);return s=1,n}})},function(e){m=!0,f=e})},function(e,r){function n(t){if(s)return t;if(e)throw r;return r}var o=ea(function(){var e=function(){if(d&&null!=t.return)return Promise.resolve(t.return()).then(function(){})}();if(e&&e.then)return e.then(function(){})},function(e,t){if(m)throw f;if(e)throw t;return t});return o&&o.then?o.then(n):n(o)});return g&&g.then?g.then(a):a(g)})}catch(e){return Promise.reject(e)}},t.getDiscoveredNodes=function(){return Array.from(this.discoveredNodes.entries()).map(function(e){return{peerId:e[0],multiaddrs:e[1]}})},t.bufToHex=function(e){var t;if("string"==typeof e)try{e=JSON.parse(e)}catch(t){return e}return"Buffer"===(null==(t=e)?void 0:t.type)&&Array.isArray(e.data)?Buffer.from(e.data).toString():e instanceof Uint8Array||Buffer.isBuffer(e)?Buffer.from(e).toString():e},t.getOrCreateLibp2pNode=function(){try{var e,t=this;if(t.libp2pNode)return Promise.resolve(t.libp2pNode);var r=(null!=(e=t.p2pConfig.bootstrapPeers)?e:na).map(W);return Promise.resolve(G(ce({addresses:{listen:[]},transports:[z()].concat(t.p2pConfig.enableTcp?[H()]:[]),connectionEncrypters:[V()],streamMuxers:[q()],peerDiscovery:[].concat(r.length>0?[K({list:r.map(String),timeout:1e4})]:[]),services:{identify:Z(),ping:Vs(),dht:$({protocol:"/ocean/nodes/1.0.0/kad/1.0.0",clientMode:!0})},connectionManager:{maxConnections:100},connectionMonitor:{abortConnectionOnPingFailure:!1}},t.p2pConfig.libp2p))).then(function(e){return Promise.resolve(e.start()).then(function(){return e.addEventListener("peer:discovery",function(r){var n,o=r.detail;if(null!=o&&o.id){var i=o.id.toString();t.discoveredNodes.set(i,(null!=(n=o.multiaddrs)?n:[]).map(function(e){return e.toString()})),e.getConnections().length<100&&0===e.getConnections(o.id).length&&e.dial(o.id,{signal:AbortSignal.timeout(1e4)}).catch(function(e){ve.debug("Failed to dial discovered peer "+i+": "+e.message)})}}),t.libp2pNode=e,e})})}catch(e){return Promise.reject(e)}},t.toUint8Array=function(e){return e instanceof Uint8Array?e:e.subarray()},t.getConnection=function(e,t){try{var r,n=function(n){if(r)return n;var i=Ds(e);return Promise.resolve(o.getOrCreateLibp2pNode()).then(function(e){var r,n=e.getConnections(i);if(n.length>0)return n[0];var s=AbortSignal.timeout(null!=(r=o.p2pConfig.dhtLookupTimeout)?r:6e4);return Promise.resolve(e.peerRouting.findPeer(i,{signal:s}).catch(function(){})).then(function(){return e.dial(i,{signal:t})})})},o=this,i=function(){if(e.startsWith("/")){var n=W(e);return Promise.resolve(o.getOrCreateLibp2pNode()).then(function(e){var o=e.dial(n,{signal:t});return r=1,o})}}();return Promise.resolve(i&&i.then?i.then(n):n(i))}catch(e){return Promise.reject(e)}},t.getConsumerAddress=function(e){return sa(e)},t.getSignature=function(e,t,r){return ia(e,t,r)},t.getNodePublicKey=function(e){try{return Promise.resolve(this.getEndpoints(e)).then(function(e){return null==e?void 0:e.nodePublicKey})}catch(e){return Promise.reject(e)}},t.getAuthorization=function(e){return aa(e)},t.dialAndStream=function(e,t,r){try{var n,o=this,i=null!=r?r:AbortSignal.timeout(null!=(n=o.p2pConfig.dialTimeout)?n:ra);return Promise.resolve(o.getConnection(e,i)).then(function(e){return Promise.resolve(e.newStream(ta,{signal:i})).then(function(r){var n=function(e,t={}){const r=function(e,t){const r=t?.maxBufferSize??4194304,n=new fr;let o,i=!1;if(s=e,null==s?.addEventListener||null==s?.removeEventListener||null==s?.send||null==s?.push||null==s?.log)throw new mt("Argument should be a Stream or a Multiaddr");var s;const a=e=>{if(n.append(e.data),n.byteLength>r){const e=n.byteLength;n.consume(n.byteLength),o?.reject(new Error(`Read buffer overflow - ${e} > ${r}`))}o?.resolve()};e.addEventListener("message",a);const u=e=>{null!=e.error?o?.reject(e.error):o?.resolve()};e.addEventListener("close",u);const c=()=>{o?.resolve()};e.addEventListener("remoteCloseWrite",c);const l={readBuffer:n,async read(t){if(!0===i)throw new zs("Stream was unwrapped");if(Js(e)){if(0===n.byteLength&&null==t?.bytes)return null;if(null!=t?.bytes&&n.byteLength<t.bytes)throw e.log.error("closed after reading %d/%d bytes",n.byteLength,t.bytes),new qs(`Unexpected EOF - stream closed after reading ${n.byteLength}/${t.bytes} bytes`)}const r=t?.bytes??1;for(o=Promise.withResolvers();;){if(n.byteLength>=r){o.resolve();break}if(await _s(o.promise,t?.signal),Js(e)){if(0===n.byteLength&&null==t?.bytes)return null;break}o=Promise.withResolvers()}const s=t?.bytes??n.byteLength;if(n.byteLength<s){if(Js(e))throw e.log.error("closed while reading %d/%d bytes",n.byteLength,s),new qs(`Unexpected EOF - stream closed while reading ${n.byteLength}/${s} bytes`);return l.read(t)}const a=n.sublist(0,s);return n.consume(s),a},async write(t,r){if(!0===i)throw new zs("Stream was unwrapped");e.send(t)||await Ms(e,"drain",{signal:r?.signal,rejectionEvents:["close"]})},unwrap:()=>(i||(i=!0,e.removeEventListener("message",a),e.removeEventListener("close",u),e.removeEventListener("remoteCloseWrite",c),n.byteLength>0&&(e.log("stream unwrapped with %d unread bytes",n.byteLength),e.push(n))),e)};return l}(e,t);null!=t.maxDataLength&&null==t.maxLengthLength&&(t.maxLengthLength=ci(t.maxDataLength));const n=t?.lengthDecoder??di,o=t?.lengthEncoder??hi;return{async read(o){let i=-1;const s=new fr;for(;;){const e=await r.read({...o,bytes:1});if(null==e)break;s.append(e);try{i=n(s)}catch(e){if(e instanceof RangeError)continue;throw e}if(i<0)throw new Hs("Invalid message length");if(null!=t?.maxLengthLength&&s.byteLength>t.maxLengthLength)throw new Zs(`Message length length too long - ${s.byteLength} > ${t.maxLengthLength}`);if(i>-1)break}if(null!=t?.maxDataLength&&i>t.maxDataLength)throw new Ks(`Message length too long - ${i} > ${t.maxDataLength}`);const a=await r.read({...o,bytes:i});if(null==a)throw e.log.error("tried to read %d bytes but the stream closed",i),new qs(`Unexpected EOF - tried to read ${i} bytes but the stream closed`);if(a.byteLength!==i)throw e.log.error("read %d/%d bytes before the stream closed",a.byteLength,i),new qs(`Unexpected EOF - read ${a.byteLength}/${i} bytes before the stream closed`);return a},async write(e,t){await r.write(new fr(o(e.byteLength),e),t)},async writeV(e,t){const n=new fr(...e.flatMap(e=>[o(e.byteLength),e]));await r.write(n,t)},unwrap:()=>r.unwrap()}}(r);return Promise.resolve(n.write(U(JSON.stringify(t)),{signal:i})).then(function(){return Promise.resolve(r.close()).then(function(){return Promise.resolve(n.read({signal:i})).then(function(t){var r=o.toUint8Array(t);return{lp:n,firstBytes:r,connection:e}})})})})})}catch(e){return Promise.reject(e)}},t.sendP2pCommand=function(e,t,r,n,o,i){void 0===i&&(i=0);try{var s,a=this;return Promise.resolve(Qs(function(){var u=ce({command:t,authorization:n?a.getAuthorization(n):void 0},r);return Promise.resolve(a.dialAndStream(e,u,o)).then(function(u){var c=u.lp,l=u.firstBytes;function f(s){for(var u,c,l,f=0;f<g.length;f++){var h=R(g[f]);try{l=JSON.parse(h)}catch(e){l=g[f]}}var d=l;if("number"==typeof(null==d?void 0:d.httpStatus)&&d.httpStatus>=400)throw new Error("string"==typeof d.error?d.error:JSON.stringify(d.error));var m=null!=(u="string"==typeof l?l:null==d?void 0:d.error)?u:"",v=function(s){if(m.includes("Cannot connect to peer")&&i<(null!=(s=a.p2pConfig.maxRetries)?s:5))return Promise.resolve(new Promise(function(e){var t;return setTimeout(e,null!=(t=a.p2pConfig.retryDelay)?t:1e3)})).then(function(){var s=a.sendP2pCommand(e,t,r,n,o,i+1);return c=1,s})}();return v&&v.then?v.then(function(e){return c?e:l}):c?v:l}if(s=u.connection,!l.length)throw new Error("Gateway node error: no response from peer");var h=R(l);try{var d,m=JSON.parse(h);if("number"==typeof(null==m?void 0:m.httpStatus)&&m.httpStatus>=400)throw new Error(null!=(d=m.error)?d:"Gateway node error: "+m.httpStatus)}catch(e){}if(t===re.COMPUTE_GET_STREAMABLE_LOGS||t===re.COMPUTE_GET_RESULT)return de(/*#__PURE__*/fe().mark(function e(){var t;return fe().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:e.prev=0;case 1:return e.next=4,ae(c.read({signal:AbortSignal.timeout(ra)}));case 4:return t=e.sent,e.next=7,t instanceof Uint8Array?t:t.subarray();case 7:e.next=1;break;case 9:e.next=15;break;case 11:if(e.prev=11,e.t0=e.catch(0),e.t0 instanceof qs){e.next=15;break}throw e.t0;case 15:case"end":return e.stop()}},e,null,[[0,11]])}))();var g=[l],v=Qs(function(){var e=Xs(function(){return!0},void 0,function(){var e;return Promise.resolve(c.read({signal:AbortSignal.timeout(null!=(e=a.p2pConfig.dialTimeout)?e:ra)})).then(function(e){g.push(a.toUint8Array(e))})});if(e&&e.then)return e.then(function(){})},function(e){if(!(e instanceof qs))throw e});return v&&v.then?v.then(f):f()})},function(u){var c,l;function f(e){if(l)return e;throw new Error("P2P command error: "+h)}var h=null!=(c=null==u?void 0:u.message)?c:"",d=function(u){if((h.includes("closed")||h.includes("reset"))&&i<(null!=(u=a.p2pConfig.maxRetries)?u:5)){var c=function(){var s=a.sendP2pCommand(e,t,r,n,o,i+1);return l=1,s},f=Qs(function(){var e;return Promise.resolve(null==(e=s)?void 0:e.close()).then(function(){})},function(){});return f&&f.then?f.then(c):c()}}();return d&&d.then?d.then(f):f(d)}))}catch(e){return Promise.reject(e)}},t.getEndpoints=function(e){try{var t=this;return Promise.resolve(Qs(function(){return Promise.resolve(t.sendP2pCommand(e,re.STATUS,{}))},function(e){throw ve.error("P2P getEndpoints (STATUS) failed:",e),e}))}catch(e){return Promise.reject(e)}},t.getNonce=function(e,t,r){try{var n=this;return Promise.resolve(Qs(function(){return Promise.resolve(n.sendP2pCommand(e,re.NONCE,{address:t},null,r)).then(function(e){var t,r,n="number"==typeof e?e:null!=(t=null!=(r=null==e?void 0:e.nonce)?r:e)?t:0;return n&&null!==n?Number(n):0})},function(e){throw ve.error("P2P getNonce failed:",e),e}))}catch(e){return Promise.reject(e)}},t.encrypt=function(e,t,r,n,o,i){try{var s=this;return Promise.resolve(s.getConsumerAddress(n)).then(function(o){return Promise.resolve(s.getNonce(r,o,i)).then(function(a){var u=(a+1).toString();return Promise.resolve(s.getSignature(n,u,re.ENCRYPT)).then(function(a){return Promise.resolve(s.sendP2pCommand(r,re.ENCRYPT,{chainId:t,nonce:u,consumerAddress:o,signature:a,blob:"string"==typeof e?e:JSON.stringify(e)},n,i)).then(function(e){return s.bufToHex(e)})})})})}catch(e){return Promise.reject(e)}},t.checkDidFiles=function(e,t,r,n,o){void 0===n&&(n=!1);try{return Promise.resolve(this.sendP2pCommand(r,re.FILE_INFO,{did:e,serviceId:t,checksum:n},null,o)).then(function(e){return Array.isArray(e)?e:[e]})}catch(e){return Promise.reject(e)}},t.getFileInfo=function(e,t,r,n){void 0===r&&(r=!1);try{return Promise.resolve(this.sendP2pCommand(t,re.FILE_INFO,{file:e,type:e.type,checksum:r},null,n)).then(function(e){return Array.isArray(e)?e:[e]})}catch(e){return Promise.reject(e)}},t.getComputeEnvironments=function(e,t){try{return Promise.resolve(this.sendP2pCommand(e,re.COMPUTE_GET_ENVIRONMENTS,{},null,t)).then(function(e){return Array.isArray(e)?e:[e]})}catch(e){return Promise.reject(e)}},t.initialize=function(e,t,r,n,o,i,s,a,u){try{var c={ddoId:e,serviceId:t,consumerAddress:n};return s&&(c.userdata=s),a&&(c.environment=a),u&&(c.validUntil=u),Promise.resolve(this.sendP2pCommand(o,re.GET_FEES,c,null,i))}catch(e){return Promise.reject(e)}},t.initializeCompute=function(e,t,r,n,o,i,s,a,u,c,l,f,h){try{var d=this;return Promise.resolve(d.getConsumerAddress(s)).then(function(m){return Promise.resolve(d.getNonce(i,m,l)).then(function(g){function v(){function g(){function e(){return d.sendP2pCommand(i,re.COMPUTE_INITIALIZE,v,s,l)}c&&(v.policyServer=c);var t=function(){if(f)return Promise.resolve(d.getNodePublicKey(i)).then(function(e){e&&(v.output=Ns(e,JSON.stringify(f)))})}();return t&&t.then?t.then(e):e()}var v={datasets:e,algorithm:t,environment:r,payment:{chainId:u,token:n,resources:a},maxJobDuration:o,consumerAddress:m,nonce:y,signature:p},b=function(){if(h)return Promise.resolve(d.getNodePublicKey(i)).then(function(e){e&&(v.dockerRegistryAuth=Ns(e,JSON.stringify(h)))})}();return b&&b.then?b.then(g):g()}var p,y=(g+1).toString(),b="string"==typeof s,P=function(){if(!b){var t,r=m;return r+=null==(t=e[0])?void 0:t.documentId,r+=y,Promise.resolve(ht(s,r)).then(function(e){p=e})}}();return P&&P.then?P.then(v):v()})})}catch(e){return Promise.reject(e)}},t.getDownloadUrl=function(e,t,r,n,o,i,s,a){try{var u=this;return Promise.resolve(u.getConsumerAddress(i)).then(function(c){return Promise.resolve(u.getNonce(o,c)).then(function(l){var f=(l+1).toString();return Promise.resolve(u.getSignature(i,f,re.DOWNLOAD)).then(function(l){var h={command:re.DOWNLOAD,authorization:u.getAuthorization(i),fileIndex:r,documentId:e,transferTxId:n,serviceId:t,consumerAddress:c,nonce:f,signature:l};return s&&(h.policyServer=s),a&&(h.userData=a),Promise.resolve(u.dialAndStream(o,h)).then(function(e){var t=e.lp,n=e.firstBytes;function o(e){var t=Buffer.concat(c);return{data:t.buffer.slice(t.byteOffset,t.byteOffset+t.byteLength),filename:"file"+r}}var i,s=R(n),a=null;try{a=JSON.parse(s)}catch(e){}if(a&&"number"==typeof a.httpStatus&&a.httpStatus>=400)throw new Error(null!=(i=a.error)?i:"P2P download error: "+a.httpStatus);var c=null===a?[Buffer.from(n)]:[],l=Qs(function(){var e=Xs(function(){return!0},void 0,function(){var e;return Promise.resolve(t.read({signal:AbortSignal.timeout(null!=(e=u.p2pConfig.dialTimeout)?e:ra)})).then(function(e){c.push(Buffer.from(u.toUint8Array(e)))})});if(e&&e.then)return e.then(function(){})},function(e){if(!(e instanceof qs))throw e});return l&&l.then?l.then(o):o()})})})})}catch(e){return Promise.reject(e)}},t.computeStart=function(e,t,r,n,o,i,s,a,u,c,l,f,h,d,m,g){try{var v=this;return Promise.resolve(v.getConsumerAddress(t)).then(function(p){return Promise.resolve(v.getNonce(e,p,d)).then(function(y){var b=(y+1).toString();return Promise.resolve(v.getSignature(t,b,re.COMPUTE_START)).then(function(y){function P(){function r(){return Promise.resolve(v.sendP2pCommand(e,re.COMPUTE_START,w,t,d)).then(function(e){return Array.isArray(e),e})}var n=function(){if(f)return Promise.resolve(v.getNodePublicKey(e)).then(function(e){e&&(w.output=Ns(e,JSON.stringify(f)))})}();return n&&n.then?n.then(r):r()}var w={environment:r,dataset:n[0],datasets:n,algorithm:o,maxJobDuration:i,feeToken:s,resources:a,chainId:u,payment:{chainId:u,token:s,maxJobDuration:i,resources:a},consumerAddress:p,nonce:b,signature:y};c&&(w.metadata=c),l&&(w.additionalViewers=l),h&&(w.policyServer=h),m&&(w.queueMaxWaitTime=m);var E=function(){if(g)return Promise.resolve(v.getNodePublicKey(e)).then(function(e){e&&(w.dockerRegistryAuth=Ns(e,JSON.stringify(g)))})}();return E&&E.then?E.then(P):P()})})})}catch(e){return Promise.reject(e)}},t.freeComputeStart=function(e,t,r,n,o,i,s,a,u,c,l,f,h){try{var d=this;return Promise.resolve(d.getConsumerAddress(t)).then(function(m){return Promise.resolve(d.getNonce(e,m,l)).then(function(g){var v=(g+1).toString();return Promise.resolve(d.getSignature(t,v,re.FREE_COMPUTE_START)).then(function(g){function p(){function r(){return Promise.resolve(d.sendP2pCommand(e,re.FREE_COMPUTE_START,y,t,l)).then(function(e){return Array.isArray(e),e})}var n=function(){if(u)return Promise.resolve(d.getNodePublicKey(e)).then(function(e){e&&(y.output=Ns(e,JSON.stringify(u)))})}();return n&&n.then?n.then(r):r()}var y={environment:r,dataset:n[0],datasets:n,algorithm:o,resources:i,consumerAddress:m,nonce:v,signature:g};s&&(y.metadata=s),a&&(y.additionalViewers=a),c&&(y.policyServer=c),f&&(y.queueMaxWaitTime=f);var b=function(){if(h)return Promise.resolve(d.getNodePublicKey(e)).then(function(e){e&&(y.dockerRegistryAuth=Ns(e,JSON.stringify(h)))})}();return b&&b.then?b.then(p):p()})})})}catch(e){return Promise.reject(e)}},t.computeStreamableLogs=function(e,t,r,n){try{var o=this;return"string"==typeof t?Promise.resolve(o.sendP2pCommand(e,re.COMPUTE_GET_STREAMABLE_LOGS,{jobId:r},t,n)):Promise.resolve(o.getConsumerAddress(t)).then(function(i){return Promise.resolve(o.getNonce(e,i,n)).then(function(s){var a=(s+1).toString();return Promise.resolve(o.getSignature(t,a,re.COMPUTE_GET_STREAMABLE_LOGS)).then(function(s){return o.sendP2pCommand(e,re.COMPUTE_GET_STREAMABLE_LOGS,{jobId:r,consumerAddress:i,nonce:a,signature:s},t,n)})})})}catch(e){return Promise.reject(e)}},t.computeStop=function(e,t,r,n,o){try{var i=this;return Promise.resolve(i.getConsumerAddress(r)).then(function(s){return Promise.resolve(i.getNonce(t,s,o)).then(function(a){var u=(a+1).toString();return Promise.resolve(i.getSignature(r,u,re.COMPUTE_STOP)).then(function(a){var c={jobId:e,consumerAddress:s,nonce:u,signature:a};return n&&(c.agreementId=n),i.sendP2pCommand(t,re.COMPUTE_STOP,c,r,o)})})})}catch(e){return Promise.reject(e)}},t.computeStatus=function(e,t,r,n,o){try{var i=this;return Promise.resolve(i.getConsumerAddress(t)).then(function(s){var a={consumerAddress:s};return r&&(a.jobId=r),n&&(a.agreementId=n),i.sendP2pCommand(e,re.COMPUTE_GET_STATUS,a,t,o)})}catch(e){return Promise.reject(e)}},t.getComputeResult=function(e,t,r,n,o){void 0===o&&(o=0);try{var i=this;return Promise.resolve(i.getConsumerAddress(t)).then(function(s){function a(){return Promise.resolve(i.dialAndStream(e,u)).then(function(e){var t,r,n=e.lp,o=JSON.parse(R(e.firstBytes));if("number"==typeof(null==o?void 0:o.httpStatus)&&o.httpStatus>=400)throw new Error(null!=(r=o.error)?r:"P2P compute result error: "+o.httpStatus);var s=null!=(t=i.p2pConfig.dialTimeout)?t:ra;return de(/*#__PURE__*/fe().mark(function e(){var t;return fe().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:e.prev=0;case 1:return e.next=4,ae(n.read({signal:AbortSignal.timeout(s)}));case 4:return t=e.sent,e.next=7,t instanceof Uint8Array?t:t.subarray();case 7:e.next=1;break;case 9:e.next=15;break;case 11:if(e.prev=11,e.t0=e.catch(0),e.t0 instanceof qs){e.next=15;break}throw e.t0;case 15:case"end":return e.stop()}},e,null,[[0,11]])}))()})}var u={command:re.COMPUTE_GET_RESULT,jobId:r,index:n,offset:o,consumerAddress:s},c=function(){if("string"!=typeof t)return Promise.resolve(i.getNonce(e,s)).then(function(e){var r=(e+1).toString();return u.nonce=r,Promise.resolve(i.getSignature(t,r,re.COMPUTE_GET_RESULT)).then(function(e){u.signature=e})});u.authorization=t}();return c&&c.then?c.then(a):a()})}catch(e){return Promise.reject(e)}},t.getComputeResultUrl=function(e,t,r,n){try{var o=this;return Promise.resolve(o.getConsumerAddress(t)).then(function(i){return Promise.resolve(o.sendP2pCommand(e,re.COMPUTE_GET_RESULT,{jobId:r,index:n,consumerAddress:i},t))})}catch(e){return Promise.reject(e)}},t.generateAuthToken=function(e,t,r){try{var n=this;return Promise.resolve(e.getAddress()).then(function(o){return Promise.resolve(n.getNonce(t,o,r)).then(function(i){var s=(i+1).toString();return Promise.resolve(n.getSignature(e,s,re.CREATE_AUTH_TOKEN)).then(function(e){return Promise.resolve(n.sendP2pCommand(t,re.CREATE_AUTH_TOKEN,{address:o,signature:e,nonce:s},null,r)).then(function(e){var t;return null!=(t=null==e?void 0:e.token)?t:e})})})})}catch(e){return Promise.reject(e)}},t.resolveDdo=function(e,t,r){try{return Promise.resolve(this.sendP2pCommand(e,re.GET_DDO,{id:t},null,r))}catch(e){return Promise.reject(e)}},t.validateDdo=function(e,t,r,n){try{var o=this;return Promise.resolve(r.getAddress()).then(function(i){return Promise.resolve(o.getNonce(e,i,n)).then(function(s){var a=(s+1).toString();return Promise.resolve(ht(r,i+a+re.VALIDATE_DDO)).then(function(r){return Promise.resolve(o.sendP2pCommand(e,re.VALIDATE_DDO,{ddo:t,publisherAddress:i,nonce:a,signature:r},null,n)).then(function(e){var t,r,n,i;return!e||e.error?null:{valid:!0,hash:o.bufToHex(e.hash),proof:{validatorAddress:o.bufToHex(e.publicKey),r:o.bufToHex(null!=(t=null==(r=e.r)?void 0:r[0])?t:e.r),s:o.bufToHex(null!=(n=null==(i=e.s)?void 0:i[0])?n:e.s),v:e.v}}})})})})}catch(e){return Promise.reject(e)}},t.invalidateAuthToken=function(e,t,r,n){try{var o=this;return Promise.resolve(e.getAddress()).then(function(i){return Promise.resolve(o.getNonce(r,i,n)).then(function(s){var a=(s+1).toString();return Promise.resolve(ht(e,i+a)).then(function(e){return o.sendP2pCommand(r,re.INVALIDATE_AUTH_TOKEN,{address:i,signature:e,token:t,nonce:a},null,n)})})})}catch(e){return Promise.reject(e)}},t.isValidProvider=function(e,t){var r=this;return Promise.resolve(Qs(function(){return Promise.resolve(r.sendP2pCommand(e,re.STATUS,{},null,t)).then(function(e){return!(!e||!(e.address||e.providerAddress||e.providerAddresses))})},function(){return!1}))},t.PolicyServerPassthrough=function(e,t,r){try{return Promise.resolve(this.sendP2pCommand(e,re.POLICY_SERVER_PASSTHROUGH,ce({},t),null,r))}catch(e){return Promise.reject(e)}},t.initializePSVerification=function(e,t,r){try{return Promise.resolve(this.sendP2pCommand(e,re.POLICY_SERVER_PASSTHROUGH,ce({},t),null,r))}catch(e){return Promise.reject(e)}},t.downloadNodeLogs=function(e,t,r,n,o,i,s,a,u){try{var c=this;return Promise.resolve(t.getAddress()).then(function(l){return Promise.resolve(c.getNonce(e,l,u)).then(function(f){var h=(f+1).toString();return Promise.resolve(c.getSignature(t,h,re.GET_LOGS)).then(function(f){var d={startTime:r,endTime:n,signature:f,nonce:h,address:l};return o&&(d.maxLogs=o),i&&(d.moduleName=i),s&&(d.level=s),a&&(d.page=a),c.sendP2pCommand(e,re.GET_LOGS,d,t,u)})})})}catch(e){return Promise.reject(e)}},t.fetchConfig=function(e,t){try{return Promise.resolve(this.sendP2pCommand(e,re.FETCH_CONFIG,t))}catch(e){return Promise.reject(e)}},t.pushConfig=function(e,t){try{return Promise.resolve(this.sendP2pCommand(e,re.PUSH_CONFIG,t))}catch(e){return Promise.reject(e)}},e}(),ia=function(e,t,r){try{if("string"==typeof e)return Promise.resolve(null);var n=String,o=String;return Promise.resolve(e.getAddress()).then(function(i){var s=n(o(i)+String(t)+String(r));return ht(e,s)})}catch(e){return Promise.reject(e)}},sa=function(e){try{return Promise.resolve("string"==typeof e?function(e){try{return M.decode(e,{json:!0})}catch(e){throw new Error("Error decoding JWT")}}(e).address:e.getAddress())}catch(e){return Promise.reject(e)}};function aa(e){return"string"==typeof e?e:void 0}var ua=["/ip4/","/ip6/","/dns4/","/dns6/","/dns/","/dnsaddr/"];function ca(e){if(!e)return!1;if(ua.some(function(t){return e.startsWith(t)}))return!0;try{return Ds(e),!0}catch(e){return!1}}var la=/*#__PURE__*/function(){function e(){this.httpProvider=new Ls,this.p2pProvider=new oa}var t=e.prototype;return t.getImpl=function(e){return ca(e)?this.p2pProvider:this.httpProvider},t.getNonce=function(e,t,r,n,o){try{return Promise.resolve(this.getImpl(e).getNonce(e,t,r,n,o))}catch(e){return Promise.reject(e)}},t.encrypt=function(e,t,r,n,o,i){try{return Promise.resolve(this.getImpl(r).encrypt(e,t,r,n,o,i))}catch(e){return Promise.reject(e)}},t.checkDidFiles=function(e,t,r,n,o){void 0===n&&(n=!1);try{return Promise.resolve(this.getImpl(r).checkDidFiles(e,t,r,n,o))}catch(e){return Promise.reject(e)}},t.getFileInfo=function(e,t,r,n){void 0===r&&(r=!1);try{return Promise.resolve(this.getImpl(t).getFileInfo(e,t,r,n))}catch(e){return Promise.reject(e)}},t.getComputeEnvironments=function(e,t){try{return Promise.resolve(this.getImpl(e).getComputeEnvironments(e,t))}catch(e){return Promise.reject(e)}},t.initialize=function(e,t,r,n,o,i,s,a,u){try{return Promise.resolve(this.getImpl(o).initialize(e,t,r,n,o,i,s,a,u))}catch(e){return Promise.reject(e)}},t.initializeCompute=function(e,t,r,n,o,i,s,a,u,c,l,f,h){try{return Promise.resolve(this.getImpl(i).initializeCompute(e,t,r,n,o,i,s,a,u,c,l,f,h))}catch(e){return Promise.reject(e)}},t.getDownloadUrl=function(e,t,r,n,o,i,s,a){try{return Promise.resolve(this.getImpl(o).getDownloadUrl(e,t,r,n,o,i,s,a))}catch(e){return Promise.reject(e)}},t.computeStart=function(e,t,r,n,o,i,s,a,u,c,l,f,h,d,m,g){try{return Promise.resolve(this.getImpl(e).computeStart(e,t,r,n,o,i,s,a,u,c,l,f,h,d,m,g))}catch(e){return Promise.reject(e)}},t.freeComputeStart=function(e,t,r,n,o,i,s,a,u,c,l,f,h){try{return Promise.resolve(this.getImpl(e).freeComputeStart(e,t,r,n,o,i,s,a,u,c,l,f,h))}catch(e){return Promise.reject(e)}},t.computeStreamableLogs=function(e,t,r,n){try{return Promise.resolve(this.getImpl(e).computeStreamableLogs(e,t,r,n))}catch(e){return Promise.reject(e)}},t.computeStop=function(e,t,r,n,o){try{return Promise.resolve(this.getImpl(t).computeStop(e,t,r,n,o))}catch(e){return Promise.reject(e)}},t.computeStatus=function(e,t,r,n,o){try{return Promise.resolve(this.getImpl(e).computeStatus(e,t,r,n,o))}catch(e){return Promise.reject(e)}},t.getComputeResultUrl=function(e,t,r,n){try{return Promise.resolve(this.getImpl(e).getComputeResultUrl(e,t,r,n))}catch(e){return Promise.reject(e)}},t.getComputeResult=function(e,t,r,n,o){void 0===o&&(o=0);try{return Promise.resolve(this.getImpl(e).getComputeResult(e,t,r,n,o))}catch(e){return Promise.reject(e)}},t.generateAuthToken=function(e,t,r){try{return Promise.resolve(this.getImpl(t).generateAuthToken(e,t,r))}catch(e){return Promise.reject(e)}},t.invalidateAuthToken=function(e,t,r,n){try{return Promise.resolve(this.getImpl(r).invalidateAuthToken(e,t,r,n))}catch(e){return Promise.reject(e)}},t.resolveDdo=function(e,t,r){try{return Promise.resolve(this.getImpl(e).resolveDdo(e,t,r))}catch(e){return Promise.reject(e)}},t.validateDdo=function(e,t,r,n){try{return Promise.resolve(this.getImpl(e).validateDdo(e,t,r,n))}catch(e){return Promise.reject(e)}},t.isValidProvider=function(e,t){try{return Promise.resolve(this.getImpl(e).isValidProvider(e,t))}catch(e){return Promise.reject(e)}},t.PolicyServerPassthrough=function(e,t,r){try{return Promise.resolve(this.getImpl(e).PolicyServerPassthrough(e,t,r))}catch(e){return Promise.reject(e)}},t.initializePSVerification=function(e,t,r){try{return Promise.resolve(this.getImpl(e).initializePSVerification(e,t,r))}catch(e){return Promise.reject(e)}},t.downloadNodeLogs=function(e,t,r,n,o,i,s,a,u){try{return Promise.resolve(this.getImpl(e).downloadNodeLogs(e,t,r,n,o,i,s,a,u))}catch(e){return Promise.reject(e)}},t.setupP2P=function(e){try{return Promise.resolve(this.p2pProvider.setupP2P(e))}catch(e){return Promise.reject(e)}},t.getDiscoveredNodes=function(){return this.p2pProvider.getDiscoveredNodes()},t.getMultiaddrFromPeerId=function(e){try{return Promise.resolve(this.p2pProvider.getMultiaddrFromPeerId(e))}catch(e){return Promise.reject(e)}},t.fetchConfig=function(e,t){try{return Promise.resolve(this.p2pProvider.fetchConfig(e,t))}catch(e){return Promise.reject(e)}},t.pushConfig=function(e,t){try{return Promise.resolve(this.p2pProvider.pushConfig(e,t))}catch(e){return Promise.reject(e)}},e}(),fa=new la;function ha(e,t){try{var r=e()}catch(e){return t(e)}return r&&r.then?r.then(void 0,t):r}function da(e,t,r){if(!e.s){if(r instanceof ma){if(!r.s)return void(r.o=da.bind(null,e,t));1&t&&(t=r.s),r=r.v}if(r&&r.then)return void r.then(da.bind(null,e,t),da.bind(null,e,2));e.s=t,e.v=r;var n=e.o;n&&n(e)}}var ma=/*#__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{da(n,1,i(this.v))}catch(e){da(n,2,e)}return n}return this}return this.o=function(e){try{var o=e.v;1&e.s?da(n,1,t?t(o):o):r?da(n,1,r(o)):da(n,2,o)}catch(e){da(n,2,e)}},n},e}();function ga(e){return e instanceof ma&&1&e.s}var va=/*#__PURE__*/function(){function e(e){this.aquariusURL=void 0,this.aquariusURL=e}var t=e.prototype;return t.resolve=function(e,t,r){try{var n,o=function(o){if(n)return o;var s=i.aquariusURL+"/api/aquarius/assets/ddo/"+e;return ha(function(){return Promise.resolve(F(s,{method:"GET",headers:{"Content-Type":"application/json",Authorization:r},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 ve.error(e),new Error("HTTP request failed")})},i=this,s=function(){if(ca(i.aquariusURL))return Promise.resolve(fa.resolveDdo(i.aquariusURL,e,t)).then(function(e){if(e)return n=1,e;throw new Error("P2P request failed")})}();return Promise.resolve(s&&s.then?s.then(o):o(s))}catch(e){return Promise.reject(e)}},t.waitForIndexer=function(e,t,r,n,o,i){void 0===n&&(n=3e4),void 0===o&&(o=100);try{var s,a=this,u=0;o>500&&(ve.warn("Max Limit exceeded, defaulting to 500 retries."),o=500);var c=ca(a.aquariusURL),l=function(e,t){var r;do{var n=e();if(n&&n.then){if(!ga(n)){r=!0;break}n=n.v}var o=t();if(ga(o)&&(o=o.v),!o)return n}while(!o.then);var i=new ma,s=da.bind(null,i,2);return(r?n.then(a):o.then(u)).then(void 0,s),i;function a(r){for(n=r;ga(o=t())&&(o=o.v),o;){if(o.then)return void o.then(u).then(void 0,s);if((n=e())&&n.then){if(!ga(n))return void n.then(a).then(void 0,s);n=n.v}}da(i,1,n)}function u(r){if(r){do{if((n=e())&&n.then){if(!ga(n))return void n.then(a).then(void 0,s);n=n.v}if(ga(r=t())&&(r=r.v),!r)return void da(i,1,n)}while(!r.then);r.then(u).then(void 0,s)}else da(i,1,n)}}(function(){function o(e){return s?e:Promise.resolve(lt(n)).then(function(){u++})}var l=ha(function(){function n(){if(o){var e=D.getDDOClass(o).getAssetFields().indexedMetadata;if(!t)return s=1,o;if(e.event&&e.event.txid===t)return s=1,o}}var o,u=c?Promise.resolve(fa.resolveDdo(a.aquariusURL,e,r)).then(function(e){o=e}):Promise.resolve(F(a.aquariusURL+"/api/aquarius/assets/ddo/"+e,{method:"GET",headers:{"Content-Type":"application/json",Authorization:i},signal:r})).then(function(e){var t=function(){if(e.ok)return Promise.resolve(e.json()).then(function(e){o=e})}();if(t&&t.then)return t.then(function(){})});return u&&u.then?u.then(n):n()},function(){});return l&&l.then?l.then(o):o(l)},function(){return!s&&u<o});return Promise.resolve(l&&l.then?l.then(function(e){return s?e:null}):s?l:null)}catch(e){return Promise.reject(e)}},t.validate=function(e,t,r,n,o){try{if(ca(r))return Promise.resolve(fa.validateDdo(r,e,t,n));var i=r+"/api/aquarius/assets/ddo/validate",s=r+"/api/services/nonce";return Promise.resolve(ha(function(){return Promise.resolve(t.getAddress()).then(function(r){return Promise.resolve(F(s+"?userAddress="+r,{method:"GET",headers:{"Content-Type":"application/json",Authorization:o},signal:n})).then(function(o){return Promise.resolve(o.json()).then(function(o){var s=o.nonce;s&&null!==s||(s="0");var a=(Number(s)+1).toString(),u=String,c=String;return Promise.resolve(t.getAddress()).then(function(o){var s=u(c(o)+String(a)+String(re.VALIDATE_DDO));return Promise.resolve(ht(t,s)).then(function(o){return Promise.resolve(F(i,{method:"POST",body:JSON.stringify({ddo:e,publisherAddress:r,nonce:a,signature:o}),headers:{"Content-Type":"application/json",Authorization:aa(t)},signal:n})).then(function(e){return Promise.resolve(e.json()).then(function(t){if(200!==e.status)throw new Error("Metadata validation failed");return{valid:!0,hash:t.hash,proof:{validatorAddress:t.publicKey,r:t.r[0],s:t.s[0],v:t.v}}})})})})})})})},function(e){ve.error("Metadata validation failed",e.message)}))}catch(e){return Promise.reject(e)}},t.getAssetMetadata=function(e,t,r){try{var n=this.aquariusURL+"/api/aquarius/assets/metadata/"+e;return Promise.resolve(ha(function(){return Promise.resolve(F(n,{method:"GET",headers:{"Content-Type":"application/json",Authorization:r},signal:t})).then(function(e){if(e.ok)return e.json();throw new Error("getAssetMetadata failed: "+e.status+e.statusText)})},function(e){throw ve.error("Error getting metadata: ",e),new Error("Error getting metadata: "+e)}))}catch(e){return Promise.reject(e)}},t.querySearch=function(e,t,r){try{var n=this.aquariusURL+"/api/aquarius/assets/query";return Promise.resolve(ha(function(){return Promise.resolve(F(n,{method:"POST",body:JSON.stringify(e),headers:{"Content-Type":"application/json",Authorization:r},signal:t})).then(function(e){if(e.ok)return e.json();throw new Error("querySearch failed: "+e.status+e.statusText)})},function(e){throw ve.error("Error querying metadata: ",e),new Error("Error querying metadata: "+e)}))}catch(e){return Promise.reject(e)}},e}();function pa(e,t){return e=l(e),"did:op:"+Y(e+t.toString(10)).toString()}function ya(e){return Y(e).toString()}var ba=function(e,t){try{return"string"!=typeof e?Promise.resolve(e):Promise.resolve(fetch(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)}};function Pa(e){var t=new XMLHttpRequest;t.responseType="blob",t.open("GET",e),t.onload=function(){var e=t.getResponseHeader("content-disposition"),r=null==e?void 0:e.match(/filename[^;=\n]*=((['"]).*?\2|[^;\n]*)/),n=r&&r[1]?r[1]:"file",o=window.URL.createObjectURL(t.response),i=document.createElement("a");i.href=o,i.setAttribute("download",n),document.body.appendChild(i),i.click(),i.remove(),window.URL.revokeObjectURL(o)},t.send()}var wa=function(e,t){try{var r=new o.Contract(t,Ee,e);return Promise.resolve(r.decimals()).then(Number)}catch(e){return Promise.reject(e)}},Ea=function(e,t,r,n){try{var i=new o.Contract(t,Ee,e);return Promise.resolve(i.allowance(r,n))}catch(e){return Promise.reject(e)}},Sa=function(e,t,r,n){try{var i=new o.Contract(t,Ee,e);return Promise.resolve(i.balanceOf(r)).then(function(r){return Promise.resolve(Te(e,t,r,n))})}catch(e){return Promise.reject(e)}},Aa=function(e,t,r,n,i){try{var s=new o.Contract(t,Ee,e);return Promise.resolve(s.allowance(r,n)).then(function(r){return Promise.resolve(Te(e,t,r,i))})}catch(e){return Promise.reject(e)}},Ta=function(e,t,r,n,i,s,a){try{var u=new o.Contract(r,Ee,e);return Promise.resolve(Ae(e,r,i,s)).then(function(r){return Promise.resolve(u.transfer.estimateGas(n,r)).then(function(o){return a?o:Promise.resolve(Se(o,e,null==t?void 0:t.gasFeeMultiplier,u.transfer,n,r))})})}catch(e){return Promise.reject(e)}},xa=function(e,t,r,n,i,s,a,u){void 0===a&&(a=!1);try{var c,l=function(r){if(c)return r;var n=null;return Promise.resolve(f.approve.estimateGas(i,s)).then(function(r){if(u)return r;var o=function(e,t){try{var r=e()}catch(e){return t(e)}return r&&r.then?r.then(void 0,t):r}(function(){return Promise.resolve(Se(r,e,null==t?void 0:t.gasFeeMultiplier,f.approve,i,s)).then(function(e){n=e})},function(e){ve.error("ERROR: Failed to approve spender to spend tokens : "+e.message)});return o&&o.then?o.then(function(){return n}):n})},f=new o.Contract(n,Ee,e),h=function(){if(!a)return Promise.resolve(Ea(e,n,r,i)).then(function(e){if(new g(e).isGreaterThan(new g(s))){var t=BigInt(e);return c=1,t}})}();return Promise.resolve(h&&h.then?h.then(l):l(h))}catch(e){return Promise.reject(e)}},ka=function(e,t,r,n,i,s,a,u,c){void 0===a&&(a=!1);try{var l,f=function(r){return l?r:Promise.resolve(Ae(e,n,s,u)).then(function(r){return Promise.resolve(h.approve.estimateGas(i,r)).then(function(n){return c?new v(n.toString()):Promise.resolve(Se(n,e,null==t?void 0:t.gasFeeMultiplier,h.approve,i,r))})})},h=new o.Contract(n,Ee,e),d=function(){if(!a)return Promise.resolve(Aa(e,n,r,i)).then(function(e){if(new v(e).greaterThanOrEqualTo(new v(s))){var t=new v(e).toNumber();return l=1,t}})}();return Promise.resolve(d&&d.then?d.then(f):f(d))}catch(e){return Promise.reject(e)}},Ca={datasets:{invalid:"Datasets is not a list, as expected"},algorithm:{serviceId:{missing:"The serviceId key is missing from the algorithm s DDO.",not_found:"The provided serviceId does not exist.",service_not_access_compute:"Service type is neither access, nor compute.",main_service_compute:"If the main service is not compute for this asset when calling initialize endpoint.",compute_services_not_in_same_provider:"Files attached to the compute service are not decrypted by the correct provider. This occurs when both asset and algorithm are requested by their compute service which cannot be decrypted by a single provider as how it is supposed to be."},container:{checksum_prefix:"Container checksum does not start with the prefix sha256:.",mising_entrypoint_image_checksum:"Either entrypoint, either image, or either checksum are missing from the container dictionary from the algorithm s DDO."},documentId:{did_not_found:"The algorithm s DID could not be retrieved from the metadata store, because the algorithm asset does not exist.",missing:"The documentId key is missing from the algorithm s DDO."},transferTxId:{missing:"The transferTxId key is missing from the algorithm s DDO."},missing_meta_documentId:"Either algorithm metadata, or algorithm DID are missing.",did_not_found:"Either algorithm metadata, or algorithm DID are missing.",not_algo:"Either algorithm metadata, or algorithm DID are missing.",in_use_or_not_on_chain:"Either algorithm metadata, or algorithm DID are missing.",meta_oneof_url_rawcode_remote:"Either algorithm metadata, or algorithm DID are missing.",file_unavailable:"One possibility is that the asset could not be retrieved from Aquariuss database. Otherwise, there are issues related to services"},error:{not_trusted_algo_publisher:"The owner of the algorithm's DDO is not a trusted algorithms publishers list.",not_trusted_algo:"The algorithm's DID is not in the asset's trusted algorithms dictionary. ",no_publisherTrustedAlgorithms:"The algorithm's key publisherTrustedAlgorithms does not exist in the algorithm's DDO.",algorithm_file_checksum_mismatch:"filesChecksum from the algorithm's DDO is invalid.",algorithm_container_checksum_mismatch:"The containerChecksum from the algorithm's DDO is invalid.",no_raw_algo_allowed:"The asset does not allow raw algorithms to be run on it.","Asset malformed":"The asset published on chain is malformed, missing some required keys or not compliant with our schemas.","Asset is not consumable.":"Assets metadata status is not in the range of valid status codes for assets. The recognized states for the metadata are defined on our docs.","DID is not a valid algorithm.":"Either the algorithm assets DID is incorrectly typed, either the algorithm timeout expired.","Compute environment does not exist.":"The compute environment provided by the user does not exist, it is not served by our compute-to-data feature. The user can use get_c2d_environments to check the list of available compute environments.","The validUntil value is not correct.":"validUntil value is most probably expired.","Cannot resolve DID":"The dataset DID does not exist in the Metadata store.","Invalid serviceId":"The serviceId of that dataset is not correct.","Unable to get dataset files":"The files of that dataset could not be decrypted or retrieved","cannot decrypt files for this service.":"The files of that dataset could not be decrypted due to the fact that file object, which contains the structure and the type of specific file, is missing from the validation part.","Unsupported type ":"The file object type is not supported by Provider.","malformed file object":"The file object structure is invalid and does not contain the wanted information for the specific file."},order:{fees_not_paid:" Provider fees are not paid."},output:{invalid:"The algorithms validation after the build stage has not been decoded properly as a dictionary."}};function Oa(e){try{var t=JSON.parse(e),r=Object.keys(t)[0];if("error"===r){var n,o=t[r];return(null==(n=Ca[r])?void 0:n[o])||"Provider request failed: "+o}var i=t[r];return t[Object.keys(t)[1]]+" : "+i}catch(t){return ve.error("[getErrorMessage] error: ",t),e}}function Fa(e,t,r){if(!e.s){if(r instanceof Da){if(!r.s)return void(r.o=Fa.bind(null,e,t));1&t&&(t=r.s),r=r.v}if(r&&r.then)return void r.then(Fa.bind(null,e,t),Fa.bind(null,e,2));e.s=t,e.v=r;var n=e.o;n&&n(e)}}var Da=/*#__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{Fa(n,1,i(this.v))}catch(e){Fa(n,2,e)}return n}return this}return this.o=function(e){try{var o=e.v;1&e.s?Fa(n,1,t?t(o):o):r?Fa(n,1,r(o)):Fa(n,2,o)}catch(e){Fa(n,2,e)}},n},e}(),Ia=function(e,t,r,n,o,i,s,a,u,c,l,f){void 0===u&&(u="0"),void 0===c&&(c=0),void 0===l&&(l=0),void 0===f&&(f=0);try{var h=D.getDDOClass(e),d=h.getAssetFields().datatokens,m=h.getDDOFields(),g=m.chainId,p=m.services;return s||(s={consumeMarketFeeAddress:"0x0000000000000000000000000000000000000000",consumeMarketFeeAmount:"0",consumeMarketFeeToken:"0x0000000000000000000000000000000000000000"}),Promise.resolve(t.provider.getNetwork()).then(function(h){if(g!==Number(h.chainId))throw new Error("Chain ID from DDO is different than the configured network.");if(!d[c].address)throw new Error("The datatoken with index: "+c+" does not exist for the asset with did: "+e.id);if(!p[l].id)throw new Error("There is no service with index: "+l+" defined for the asset with did: "+e.id);return Promise.resolve(n.getId(d[c].address)).then(function(h){return Promise.resolve(n.getFixedRates(d[c].address)).then(function(m){return Promise.resolve(n.getDispensers(d[c].address)).then(function(g){return Promise.resolve(n.getPublishingMarketFee(d[c].address)).then(function(y){function b(e){return a?e:Promise.resolve(E.call(fa,A,S,0,e,o||r.oceanNodeUri)).then(P)}function P(o){function g(o){function a(o){var i,a={consumer:o,serviceIndex:l,_providerFee:b,_consumeMarketFee:s};return function(e,t){var r,n=-1;e:{for(var o=0;o<t.length;o++){var i=t[o][0];if(i){var s=i();if(s&&s.then)break e;if(s===e){n=o;break}}else n=o}if(-1!==n){do{for(var a=t[n][1];!a;)n++,a=t[n][1];var u=a();if(u&&u.then){r=!0;break e}var c=t[n][2];n++}while(c&&!c());return u}}var l=new Da,f=Fa.bind(null,l,2);return(r?u.then(h):s.then(function r(s){for(;;){if(s===e){n=o;break}if(++o===t.length){if(-1!==n)break;return void Fa(l,1,u)}if(i=t[o][0]){if((s=i())&&s.then)return void s.then(r).then(void 0,f)}else n=o}do{for(var a=t[n][1];!a;)n++,a=t[n][1];var u=a();if(u&&u.then)return void u.then(h).then(void 0,f);var c=t[n][2];n++}while(c&&!c());Fa(l,1,u)})).then(void 0,f),l;function h(e){for(;;){var r=t[n][2];if(!r||r())break;n++;for(var o=t[n][1];!o;)n++,o=t[n][1];if((e=o())&&e.then)return void e.then(h).then(void 0,f)}Fa(l,1,e)}}(w,[[function(){return"free"},function(){var e=function(e){var t;if(i)return e;function o(e){if(t)return e}var s=function(){if(2===h||4===h)return Promise.resolve(n.buyFromDispenserAndOrder(p[l].datatokenAddress,a,r.dispenserAddress)).then(function(e){return t=1,e})}();return s&&s.then?s.then(o):o(s)},o=function(){if(1===h){var e=new Me(r.dispenserAddress,t),o=e.dispense,s=d[c].address;return Promise.resolve(t.getAddress()).then(function(t){return Promise.resolve(o.call(e,s,"1",t)).then(function(e){if(!e)throw new Error("Failed to dispense !");return Promise.resolve(e.wait()).then(function(){return Promise.resolve(n.startOrder(d[c].address,a.consumer,a.serviceIndex,a._providerFee,a._consumeMarketFee)).then(function(e){return i=1,e})})})})}}();return o&&o.then?o.then(e):e(o)}],[function(){return"fixed"},function(){var o=new qe(r.fixedRateExchangeAddress,t);if(!m[f].id)throw new Error("There is no fixed rate exchange with index: "+l+" for the asset with did: "+e.id);return Promise.resolve(o.getFeesInfo(m[f].id)).then(function(e){return Promise.resolve(o.getExchange(m[f].id)).then(function(i){return Promise.resolve(o.calcBaseInGivenDatatokensOut(e.exchangeId,"1",s.consumeMarketFeeAmount)).then(function(l){var f;function m(e){var o;if(f)return e;function s(e){if(o)return e}var u=function(){if(2===h||4===h)return Promise.resolve(t.getAddress()).then(function(e){return Promise.resolve(ka(t,r,e,i.baseToken,d[c].address,g,!1)).then(function(e){function t(e){if(!e)throw new Error("Failed to confirm/mine approval transaction!");return Promise.resolve(n.buyFromFreAndOrder(d[c].address,a,p)).then(function(e){return o=1,e})}if(!e)throw new Error("Failed to approve "+i.baseToken+" !");return"number"!=typeof e?Promise.resolve("number"!=typeof e?e.wait():e).then(t):t("number"!=typeof e?e.wait():e)})})}();return u&&u.then?u.then(s):s(u)}var g=new v(+l.baseTokenAmount||0).add(new v(s.consumeMarketFeeAmount||0)).add(new v(+y.publishMarketFeeAmount||0)).toString(),p={exchangeContract:r.fixedRateExchangeAddress,exchangeId:e.exchangeId,maxBaseTokenAmount:g,baseTokenAddress:i.baseToken,baseTokenDecimals:parseInt(i.btDecimals)||18,swapMarketFee:u,marketFeeAddress:y.publishMarketFeeAddress},b=function(){if(1===h)return Promise.resolve(t.getAddress()).then(function(e){return Promise.resolve(ka(t,r,e,i.baseToken,r.fixedRateExchangeAddress,g,!1)).then(function(e){function t(e){if(!e)throw new Error("Failed to approve "+i.baseToken+" !");return Promise.resolve(o.buyDatatokens(i.exchangeId,"1",g,y.publishMarketFeeAddress,u)).then(function(e){return Promise.resolve(e.wait()).then(function(e){if(!e)throw new Error("Failed to buy datatoken from fixed rate!");return Promise.resolve(n.startOrder(d[c].address,a.consumer,a.serviceIndex,a._providerFee,a._consumeMarketFee)).then(function(e){return f=1,e})})})}return"number"!=typeof e?Promise.resolve("number"!=typeof e?e.wait():e).then(t):t("number"!=typeof e?e.wait():e)})})}();return b&&b.then?b.then(m):m(b)})})})}],[void 0,function(){throw new Error("Pricing schema not supported !")}]])}return i?a(i):Promise.resolve(t.getAddress()).then(a)}var b=a||o.providerFee,P=function(){if(b&&b.providerFeeAddress!==Be&&b.providerFeeAmount&&parseInt(b.providerFeeAmount)>0)return function(e,n){try{var o=Promise.resolve(t.getAddress()).then(function(e){return Promise.resolve(xa(t,r,e,b.providerFeeToken,p[0].datatokenAddress,b.providerFeeAmount)).then(function(){})})}catch(e){return n()}return o&&o.then?o.then(void 0,n):o}(0,function(){throw new Error("Failed to approve provider fee token "+b.providerFeeToken)})}();return P&&P.then?P.then(g):g()}var w=m.length>0?"fixed":g.length>0?"free":"NOT_ALLOWED",E=a||fa.initialize,S=a||p[l].id,A=a||e.id;return a?b(P(a)):Promise.resolve(t.getAddress()).then(b)})})})})})}catch(e){return Promise.reject(e)}};function Na(e,t){try{var r=e()}catch(e){return t(e)}return r&&r.then?r.then(void 0,t):r}var ja=function(e,t,r){try{var n=new o.Contract(e,k.abi,t);return Promise.resolve(t.getAddress()).then(function(e){var t,o=Na(function(){return Promise.resolve(n.deployAccessListContract("AllowList","ALLOW",!0,e,r||[e],["https://oceanprotocol.com/nft/"])).then(function(e){return function(){if(e&&e.wait)return Promise.resolve(e.wait()).then(function(e){var r=Le(e,"NewAccessList");return t=1,r.args[0]})}()})},function(e){console.log("ERROR createAccessListFactory(): ",e)});return o&&o.then?o.then(function(e){return t?e:null}):t?o:null})}catch(e){return Promise.reject(e)}},La=function(e,t,r,n,i,a,c,l,f,h,m,g,v,p,y){void 0===c&&(c=!0);try{var b,P,w=this,E=D.getDDOClass(a),S=E.getAssetFields().indexedMetadata,A=(null==(b=E.getDDOData())||null==(b=b.stats)||null==(b=b.price)?void 0:b.value)||(null==S||null==(P=S.stats[0])||null==(P=P.prices[0])?void 0:P.price),x=E.getDDOFields(),k=x.chainId,C=x.nftAddress,O=E.getDDOFields().services;if("string"!=typeof i&&"number"!=typeof i)throw new Error('Invalid template! Must be a "number" or a "string"');return Promise.resolve(r.provider.getNetwork()).then(function(b){var P=b.chainId;if(k&&k!==Number(P))throw new Error("Chain ID from DDO is different than the configured network.");var S=(new we).getConfig(parseInt(String(P)));return Promise.resolve(Xe(r,S.nftFactoryAddress,i,Number(P))).then(function(i){if(i<1){if(Number(P)!==Ua)throw new Error("Invalid template index: "+i);i=1}var b=new tt(r,Number(P)),x=new Je(S.nftFactoryAddress,r,Number(P));return Promise.resolve(r.getAddress()).then(function(F){var D;function I(e){return D?e:Promise.resolve(N.wait()).then(function(e){var t;function n(e){if(t)return e;function n(){function e(){var e=b.setMetadata,i=C;return Promise.resolve(r.getAddress()).then(function(r){return Promise.resolve(e.call(b,i,r,0,l,"",d(o),t,n)).then(function(){return a.id})})}O[0].datatokenAddress=g,O[0].serviceEndpoint=l;var t,n,o,i=E.makeDid(C=m,k.toString());a=E.updateFields({id:i,nftAddress:C});var s=function(){if(c)return Promise.resolve(fa.encrypt(a,Number(P),l,r,null)).then(function(e){return t=e,Promise.resolve(h.validate(a,r,l)).then(function(e){n=e.hash,o=2})});var e=JSON.stringify(a),i=Buffer.from(e);t=u(i),n="0x"+X("sha256").update(t).digest("hex"),o=0}();return s&&s.then?s.then(e):e()}var o=function(){if("oasis"!==S.sdk)return Promise.resolve(fa.encrypt(U,Number(P),l,r,null)).then(function(e){O[0].files=e});O[0].files=""}();return o&&o.then?o.then(n):n()}var i=Le(e,"NFTCreated"),f=Le(e,"TokenCreated"),m=i.args.newTokenAddress,g=f.args.newTokenAddress;U.datatokenAddress=g,U.nftAddress=m;var v=function(){if("oasis"===S.sdk){var e=new o.Contract(g,T.abi,r);return Na(function(){return Promise.resolve(e.setFilesObject(s(JSON.stringify(U)))).then(function(e){var t=function(){if(e.wait)return Promise.resolve(e.wait()).then(function(){})}();if(t&&t.then)return t.then(function(){})})},function(e){return console.log("Error updating files object with data token and nft addresses: ",e),t=1,null})}}();return v&&v.then?v.then(n):n(v)})}var N,j={name:e,symbol:t,templateIndex:1,tokenURI:"aaa",transferable:!0,owner:F},L={templateIndex:i,cap:"100000",feeAmount:"0",paymentCollector:F,feeToken:f||S.oceanTokenAddress,minter:F,mpFeeAddress:Be},U={nftAddress:"0x0",datatokenAddress:"0x0",files:n};"oasis"===S.sdk&&(L.filesObject=U,L.accessListFactory=m||S.accessListFactory,L.allowAccessList=g,L.denyAccessList=v);var R=Na(function(){var e=function(){if(!A)return Promise.resolve(x.createNftWithDatatoken(j,L)).then(function(e){N=e});var e=function(){if("0"===A.toString())return Promise.resolve(x.createNftWithDatatokenWithDispenser(j,L,{dispenserAddress:S.dispenserAddress,maxTokens:"1",maxBalance:"100000000",withMint:!0,allowedSwapper:Be})).then(function(e){N=e});var e=p||S.oceanTokenAddress;return Promise.resolve(xe(w.signer,e)).then(function(t){y||(y=t);var r={fixedRateAddress:S.fixedRateExchangeAddress,baseTokenAddress:e,owner:F,marketFeeCollector:F,baseTokenDecimals:y,datatokenDecimals:18,fixedRate:A.toString(),marketFee:"0",allowedConsumer:F,withMint:!0};return Promise.resolve(x.createNftWithDatatokenWithFixedRate(j,L,r)).then(function(e){N=e})})}();return e&&e.then?e.then(function(){}):void 0}();if(e&&e.then)return e.then(function(){})},function(e){return console.log("ERROR creating NFT bundle",e),D=1,null});return R&&R.then?R.then(I):I(R)})})})}catch(e){return Promise.reject(e)}},Ua=8996;function Ra(e){var t=(new we).getConfig(e);return t&&"oasis"===t.sdk}export{ot as AccessListContract,it as AccesslistFactory,va as Aquarius,ne as Config,we as ConfigHelper,Ua as DEVELOPMENT_CHAIN_ID,rt as Datatoken,nt as Datatoken4,Me as Dispenser,ee as EncryptMethod,ct as EnterpriseFeeCollectorContract,ut as EscrowContract,Ve as FEE_HISTORY_NOT_SUPPORTED,Q as FileObjectType,qe as FixedRateExchange,_e as GASLIMIT_DEFAULT,be as KNOWN_CONFIDENTIAL_EVMS,te as LogLevel,ge as Logger,ve as LoggerInstance,Ge as MAX_UINT_256,tt as Nft,Je as NftFactory,ta as OCEAN_P2P_PROTOCOL,re as PROTOCOL_COMMANDS,la as Provider,fa as ProviderInstance,ze as Router,Ue as SmartContract,Re as SmartContractWithAddress,Be as ZERO_ADDRESS,Aa as allowance,Ea as allowanceWei,Ae as amountToUnits,ka as approve,xa as approveWei,Sa as balance,Xe as calculateActiveTemplateIndex,ye as configHelperNetworks,ja as createAccessListFactory,La as createAsset,wa as decimals,ba as downloadFile,Pa as downloadFileBrowser,pa as generateDid,Ke as generateDtName,Oa as getErrorMessage,Le as getEventFromTx,ke as getFairGasPrice,ya as getHash,Pe as getNodeEndpointConfig,Qe as getOceanArtifactsAddresses,et as getOceanArtifactsAddressesByChainId,xe as getTokenDecimals,ft as isDefined,ca as isP2pUri,Ee as minAbi,Ia as orderAsset,Se as sendTx,je as setContractDefaults,dt as signHash,ht as signRequest,lt as sleep,Ta as transfer,Te as unitsToAmount,Ra as useOasisSDK};
2
4
  //# sourceMappingURL=lib.module.mjs.map