@oceanprotocol/lib 7.0.0-next.1 → 7.0.0-next.3

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,4 +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 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};
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{multiaddr as I}from"@multiformats/multiaddr";import j from"jsonwebtoken";import{PublicKey as N,encrypt as L}from"eciesjs";import{createLibp2p as U}from"libp2p";import{noise as R}from"@chainsafe/libp2p-noise";import{yamux as M}from"@chainsafe/libp2p-yamux";import{webSockets as B}from"@libp2p/websockets";import{tcp as _}from"@libp2p/tcp";import{circuitRelayTransport as G}from"@libp2p/circuit-relay-v2";import{bootstrap as V}from"@libp2p/bootstrap";import{identify as q}from"@libp2p/identify";import{EventTypes as z,kadDHT as H}from"@libp2p/kad-dht";import K from"crypto-js/sha256.js";import{createHash as Z}from"crypto";var $,J;!function(e){e.URL="url",e.IPFS="ipfs",e.ARWEAVE="arweave",e.S3="s3",e.FTP="ftp"}($||($={})),function(e){e.AES="AES",e.ECIES="ECIES"}(J||(J={}));var W,Y={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"},X=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 Q(e,t){this.v=e,this.k=t}function ee(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 te(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 te=function(e){this.s=e,this.n=e.next},te.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 te(e)}function re(e){return new Q(e,0)}function ne(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 ee(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)?ee(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 oe(){return oe=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},oe.apply(null,arguments)}function ie(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,ae(e,t)}function se(){se=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 ae(e,t){return ae=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},ae(e,t)}function ue(e){return function(){return new ce(e.apply(this,arguments))}}function ce(e){var t,r;function n(t,r){try{var i=e[t](r),s=i.value,a=s instanceof Q;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)}ce.prototype["function"==typeof Symbol&&Symbol.asyncIterator||"@@asyncIterator"]=function(){return this},ce.prototype.next=function(e){return this._invoke("next",e)},ce.prototype.throw=function(e){return this._invoke("throw",e)},ce.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"}(W||(W={}));var le=/*#__PURE__*/function(){function e(e){this.logLevel=void 0,this.logLevel=e,this.logLevel=e||W.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",W.Verbose].concat([].slice.call(arguments)))},t.log=function(){this.dispatch.apply(this,["log",W.Log].concat([].slice.call(arguments)))},t.warn=function(){this.dispatch.apply(this,["warn",W.Warn].concat([].slice.call(arguments)))},t.error=function(){this.dispatch.apply(this,["error",W.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}(),fe=new le,he={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},de=[oe({},he),oe({},he,{chainId:8996,network:"development",oceanNodeUri:"http://127.0.0.1:8001",sdk:"evm"}),oe({},he,{chainId:11155111,network:"sepolia",nodeUri:"https://sepolia.infura.io/v3",explorerUri:"https://sepolia.etherscan.io",gasFeeMultiplier:1.1,sdk:"evm"}),oe({},he,{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"}),oe({},he,{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"}),oe({},he,{chainId:137,network:"polygon",nodeUri:"https://polygon-mainnet.infura.io/v3",explorerUri:"https://polygonscan.com",oceanTokenSymbol:"mOCEAN",gasFeeMultiplier:1.6,sdk:"evm"}),oe({},he,{chainId:2021e3,network:"gaiaxtestnet",nodeUri:"https://rpc.gaiaxtestnet.oceanprotocol.com",explorerUri:"https://blockscout.gaiaxtestnet.oceanprotocol.com",sdk:"evm"}),oe({},he,{chainId:80001,network:"mumbai",nodeUri:"https://polygon-mumbai.infura.io/v3",explorerUri:"https://mumbai.polygonscan.com",gasFeeMultiplier:1.1,sdk:"evm"}),oe({},he,{chainId:56,network:"bsc",nodeUri:"https://bsc-dataseed.binance.org",explorerUri:"https://bscscan.com/",gasFeeMultiplier:1.05,sdk:"evm"}),oe({},he,{chainId:246,network:"energyweb",nodeUri:"https://rpc.energyweb.org",explorerUri:"https://explorer.energyweb.org",gasFeeMultiplier:1.05,sdk:"evm"}),oe({},he,{chainId:1285,network:"moonriver",nodeUri:"https://moonriver.api.onfinality.io/public",explorerUri:"https://moonriver.moonscan.io/",gasFeeMultiplier:1.05,sdk:"evm"}),oe({},he,{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"}),oe({},he,{chainId:10,network:"optimism",nodeUri:"https://mainnet.optimism.io",explorerUri:"https://optimistic.etherscan.io/",gasFeeMultiplier:1.1,sdk:"evm"}),oe({},he,{chainId:11155420,network:"optimism_sepolia",nodeUri:"https://sepolia.optimism.io",explorerUri:"https://sepolia-optimism.etherscan.io/",gasFeeMultiplier:1.1,sdk:"evm"}),oe({},he,{chainId:23294,network:"oasis_sapphire",nodeUri:"https://sapphire.oasis.io",explorerUri:"https://explorer.oasis.io/mainnet/sapphire/",gasFeeMultiplier:1,sdk:"oasis"}),oe({},he,{chainId:23295,network:"oasis_sapphire_testnet",nodeUri:"https://testnet.sapphire.oasis.dev",explorerUri:"https://explorer.oasis.io/testnet/sapphire/",gasFeeMultiplier:1,sdk:"oasis"}),oe({},he,{chainId:32456,network:"pontus-x-devnet",nodeUri:"https://rpc.dev.pontus-x.eu",explorerUri:"https://explorer.dev.pontus-x.eu/testnet/pontusx",sdk:"evm"})],me=[23294,23295],ge=function(){return process.env.NODE_ENDPOINT||process.env.NODE_URL?{oceanNodeUri:process.env.NODE_ENDPOINT||process.env.NODE_URL}:{}},ve=/*#__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=oe({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},ge())}else if(e[t]){var i=e[t];n=oe({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},ge())}return n},n.getConfig=function(e,r){var n,o="string"==typeof e?"network":"chainId",i=de.find(function(t){return t[o]===e});if(!i)return fe.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&&me.includes(i.chainId)&&(s=this.getAddressesFromEnv(i.network.replace("sapph","saph"),n)),"sdk"in i&&null!==i.sdk||(i.sdk=me.includes(i.chainId)?"oasis":"evm"),s&&"accessListFactory"in s&&(i.accessListFactory=s.accessListFactory),i=oe({},i,s),oe({},i,{nodeUri:r?i.nodeUri+"/"+r:i.nodeUri})},r}(),pe=[{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"}],ye=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)===ke||Number(s)===xe)&&Number(a)<Se?Se:Number(s)===Ce&&Number(a)<Ae?Ae:me.includes(Number(s))&&Number(a)<Te?Te:Number(a),maxFeePerGas:(Number(s)===ke||Number(s)===xe)&&Number(u)<Se?Se:Number(s)===Ce&&Number(u)<Ae?Ae:me.includes(Number(s))&&Number(u)<Te?Te: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 fe.error("Send tx error: ",e),null})})})}catch(e){return Promise.reject(e)}},be=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(we(e,t)).then(i))}catch(e){return Promise.reject(e)}},Pe=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(we(e,t)).then(i))}catch(e){return Promise.reject(e)}},we=function(e,t){try{var r=new o.Contract(t,pe,e);return Promise.resolve(r.decimals())}catch(e){return Promise.reject(e)}},Ee=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)}},Se=3e10,Ae=4e9,Te=1e10,xe=137,ke=80001,Ce=11155111;function Oe(e,t){return e}function Fe(e,t){if(e&&e.logs)return e.logs.filter(function(e){return e instanceof i&&e.eventName===t})[0]}var De=/*#__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 ve).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(be(this.signer,e,t,r))}catch(e){return Promise.reject(e)}},t.unitsToAmount=function(e,t,r){try{return Promise.resolve(Pe(this.signer,e,t,r))}catch(e){return Promise.reject(e)}},t.getFairGasPrice=function(){try{var e;return Promise.resolve(Ee(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 Oe(new o.Contract(e,new o.Interface(JSON.stringify(t||this.abi)),this.signer))},e}(),Ie=/*#__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 ie(t,e),t}(De),je=/*#__PURE__*/function(e){function t(){return e.apply(this,arguments)||this}ie(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(ye(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(ye(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(ye(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(ye(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(ye(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(ye(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}(Ie),Ne="0x0000000000000000000000000000000000000000",Le=1e6,Ue="115792089237316195423570985008687907853269984665640564039457584007913129639934",Re="Returned error: Method eth_feeHistory not supported.",Me=/*#__PURE__*/function(e){function t(){return e.apply(this,arguments)||this}ie(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=Ne),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(ye(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=Ne),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(ye(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(ye(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(ye(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(ye(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(ye(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(ye(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(ye(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(ye(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(ye(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(ye(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(ye(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(ye(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(ye(o,n.getSignerAccordingSdk(),null==(i=n.config)?void 0:i.gasFeeMultiplier,n.contract.updateMarketFeeCollector,e,t))})}catch(e){return Promise.reject(e)}},t}(Ie),Be=/*#__PURE__*/function(e){function t(){return e.apply(this,arguments)||this}ie(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(ye(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(ye(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(ye(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(ye(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(ye(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(ye(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(ye(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(ye(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}(Ie),_e={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 Ge(e){var t=e||_e,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 Ve(e,t){try{var r=e()}catch(e){return t(e)}return r&&r.then?r.then(void 0,t):r}var qe=/*#__PURE__*/function(e){function t(){return e.apply(this,arguments)||this}ie(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=Ge(),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,Ne,Ne,e.tokenURI,e.transferable,e.owner)).then(function(n){return t?n:Ve(function(){var t;return Promise.resolve(ye(n,r.getSignerAccordingSdk(),null==(t=r.config)?void 0:t.gasFeeMultiplier,r.contract.deployERC721Contract,e.name,e.symbol,e.templateIndex,Ne,Ne,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 Fe(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===Ne)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(ye(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(ye(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(ye(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===Ne)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(ye(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(ye(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(ye(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(ye(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(ye(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(ye(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(ye(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=Ge();t=i.name,r=i.symbol}var a=18,u=function(){if(e.feeToken!==Ne){var t=Ve(function(){return Promise.resolve(we(o.signer,e.feeToken)).then(function(e){a=e})},function(e){fe.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=Ne);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}(Ie);function ze(e,t,r){if(!e.s){if(r instanceof He){if(!r.s)return void(r.o=ze.bind(null,e,t));1&t&&(t=r.s),r=r.v}if(r&&r.then)return void r.then(ze.bind(null,e,t),ze.bind(null,e,2));e.s=t,e.v=r;const 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{ze(n,1,i(this.v))}catch(e){ze(n,2,e)}return n}return this}return this.o=function(e){try{var o=e.v;1&e.s?ze(n,1,t?t(o):o):r?ze(n,1,r(o)):ze(n,2,o)}catch(e){ze(n,2,e)}},n},e}();function Ke(e){return e instanceof He&&1&e.s}var Ze=function(e,t,r,n){try{var i="number"==typeof r,s=new qe(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(Ke(o)&&(o=o.v),!o)return i;if(o.then){n=0;break}var i=r();if(i&&i.then){if(!Ke(i)){n=1;break}i=i.s}if(t){var s=t();if(s&&s.then&&!Ke(s)){n=2;break}}}var a=new He,u=ze.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&&!Ke(s))return void s.then(f).then(void 0,u);if(!(o=e())||Ke(o)&&!o.v)return void ze(a,1,i);if(o.then)return void o.then(l).then(void 0,u);Ke(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):ze(a,1,i)}function f(){(o=e())?o.then?o.then(l).then(void 0,u):l(o):ze(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 $e(){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 Je(e){try{var t=$e();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 We=/*#__PURE__*/function(e){function t(){return e.apply(this,arguments)||this}ie(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=Ge();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():Ne),y.push(g||Ne));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(ye(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=Fe(e,"TokenCreated");return null==t?void 0:t.args[0]})})})})})})})}var P=Je(Number(t)),w=function(){if(h)return Promise.resolve(Ze(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(ye(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(ye(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(ye(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(ye(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(ye(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(ye(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(ye(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(ye(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(ye(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(ye(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(ye(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(ye(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=oe({},r,{metadataProofs:r.metadataProofs||[]});return Promise.resolve(i.setMetaDataAndTokenURI.estimateGas(t)).then(function(e){var r;return n?e:Promise.resolve(ye(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(ye(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(ye(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(ye(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}(De),Ye=/*#__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 We(s.signer,r),s}ie(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,be(null,null,r,18))).then(function(e){var s;return n?e:Promise.resolve(ye(e,o.getSignerAccordingSdk(),null==(s=o.config)?void 0:s.gasFeeMultiplier,i.approve,t,be(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=Ne);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(ye(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=Ne),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(ye(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,be(null,null,r,18))).then(function(e){var a;return o?e:Promise.resolve(ye(e,i.getSignerAccordingSdk(),null==(a=i.config)?void 0:a.gasFeeMultiplier,s.mint,n||t,be(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(ye(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(ye(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(ye(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(ye(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(ye(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(be(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(ye(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:Ne,consumeMarketFeeToken:Ne,consumeMarketFeeAmount:"0"}),Promise.resolve(a.startOrder.estimateGas(t,r,n,o)).then(function(e){var u;return i?e:Promise.resolve(ye(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(ye(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(ye(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(ye(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(ye(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(ye(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(ye(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(be(t.signer,e.baseTokenAddress,e.maxBaseTokenAmount,e.baseTokenDecimals)).then(function(o){return Promise.resolve(be(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}(De),Xe=/*#__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}ie(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(ye(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(ye(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(ye(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}(Ye),Qe=/*#__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}ie(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(ye(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(ye(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(ye(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(ye(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(ye(r,t.getSignerAccordingSdk(),null==(n=t.config)?void 0:n.gasFeeMultiplier,t.contract.renounceOwnership))})}catch(e){return Promise.reject(e)}},t}(Ie),et=/*#__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}ie(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=Ge();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(ye(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 Fe(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===Ne)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(ye(e,n.getSignerAccordingSdk(),null==(o=n.config)?void 0:o.gasFeeMultiplier,n.contract.changeTemplateAddress,t))})})}catch(e){return Promise.reject(e)}},t}(Ie);function tt(e,t,r){if(!e.s){if(r instanceof rt){if(!r.s)return void(r.o=tt.bind(null,e,t));1&t&&(t=r.s),r=r.v}if(r&&r.then)return void r.then(tt.bind(null,e,t),tt.bind(null,e,2));e.s=t,e.v=r;const n=e.o;n&&n(e)}}var rt=/*#__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{tt(n,1,i(this.v))}catch(e){tt(n,2,e)}return n}return this}return this.o=function(e){try{var o=e.v;1&e.s?tt(n,1,t?t(o):o):r?tt(n,1,r(o)):tt(n,2,o)}catch(e){tt(n,2,e)}},n},e}(),nt=/*#__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}ie(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 Ye(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(ye(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(ye(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 rt&&1&r.s))return void t.then(e,h||(h=tt.bind(null,f=new rt,2)));t=t.v}f?tt(f,1,t):f=t}catch(e){tt(f||(f=new rt),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(ye(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(ye(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}(Ie),ot=/*#__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}ie(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}(Ie),it=function(e){try{return Promise.resolve(new Promise(function(t){setTimeout(t,e)}))}catch(e){return Promise.reject(e)}};function st(e){return null!=e}var at=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)}},ut=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 ct extends Error{static name="InvalidParametersError";constructor(e="Invalid parameters"){super(e),this.name="InvalidParametersError"}}class lt extends Error{static name="InvalidPublicKeyError";constructor(e="Invalid public key"){super(e),this.name="InvalidPublicKeyError"}}class ft extends Error{static name="InvalidCIDError";constructor(e="Invalid CID"){super(e),this.name="InvalidCIDError"}}class ht extends Error{static name="InvalidMultihashError";constructor(e="Invalid Multihash"){super(e),this.name="InvalidMultihashError"}}class dt extends Error{static name="ProtocolError";constructor(e="Protocol error"){super(e),this.name="ProtocolError"}}class mt extends Error{static name="TimeoutError";constructor(e="Timed out"){super(e),this.name="TimeoutError"}}class gt extends Error{static name="UnsupportedKeyTypeError";constructor(e="Unsupported key type"){super(e),this.name="UnsupportedKeyTypeError"}}const vt=Symbol.for("@libp2p/peer-id"),pt=Symbol.for("@libp2p/service-capabilities");function yt(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 bt{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 Pt{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 Et(this,e)}}class wt{decoders;constructor(e){this.decoders=e}or(e){return Et(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 Et(e,t){return new wt({...e.decoders??{[e.prefix]:e},...t.decoders??{[t.prefix]:t}})}class St{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 bt(e,t,r),this.decoder=new Pt(e,t,n)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}}function At({name:e,prefix:t,encode:r,decode:n}){return new St(e,t,r,n)}function Tt({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 At({prefix:t,name:e,encode:n,decode:e=>yt(o(e))})}function xt({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 At({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 kt=Tt({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),Ct=Tt({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Ot={__proto__:null,base58btc:kt,base58flickr:Ct};const Ft=xt({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),Dt=xt({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),It=xt({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),jt=xt({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),Nt=xt({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),Lt=xt({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),Ut=xt({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),Rt=xt({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),Mt=xt({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var Bt={__proto__:null,base32:Ft,base32upper:Dt,base32pad:It,base32padupper:jt,base32hex:Nt,base32hexupper:Lt,base32hexpad:Ut,base32hexpadupper:Rt,base32z:Mt};const _t=Tt({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),Gt=Tt({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var Vt={__proto__:null,base36:_t,base36upper:Gt},qt=Math.pow(2,31),zt=Math.pow(2,7),Ht=Math.pow(2,14),Kt=Math.pow(2,21),Zt=Math.pow(2,28),$t=Math.pow(2,35),Jt=Math.pow(2,42),Wt=Math.pow(2,49),Yt=Math.pow(2,56),Xt=Math.pow(2,63),Qt={encode:function e(t,r,n){r=r||[];for(var o=n=n||0;t>=qt;)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<zt?1:e<Ht?2:e<Kt?3:e<Zt?4:e<$t?5:e<Jt?6:e<Wt?7:e<Yt?8:e<Xt?9:10}};function er(e,t=0){return[Qt.decode(e,t),Qt.decode.bytes]}function tr(e,t,r=0){return Qt.encode(e,t,r),t}function rr(e){return Qt.encodingLength(e)}function nr(e,t){const r=t.byteLength,n=rr(e),o=n+rr(r),i=new Uint8Array(o+r);return tr(e,i,0),tr(r,i,n),i.set(t,o),new ir(e,r,t,i)}function or(e){const t=yt(e),[r,n]=er(t),[o,i]=er(t.subarray(n)),s=t.subarray(n+i);if(s.byteLength!==o)throw new Error("Incorrect length");return new ir(r,o,s,t)}class ir{code;size;digest;bytes;constructor(e,t,r,n){this.code=e,this.size=t,this.digest=r,this.bytes=n}}function sr(e,t){const{bytes:r,version:n}=e;return 0===n?function(e,t,r){const{prefix:n}=r;if(n!==kt.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,ur(e),t??kt.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,ur(e),t??Ft.encoder)}const ar=new WeakMap;function ur(e){const t=ar.get(e);if(null==t){const t=new Map;return ar.set(e,t),t}return t}class cr{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!==lr)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(t.code!==fr)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return cr.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=nr(e,t);return cr.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 cr.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 sr(this,e)}toJSON(){return{"/":sr(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 cr)return t;if(null!=t["/"]&&t["/"]===t.bytes||t.asCID===t){const{version:e,code:r,multihash:n,bytes:o}=t;return new cr(e,r,n,o??hr(e,r,n.bytes))}if(!0===t[dr]){const{version:e,multihash:r,code:n}=t,o=or(r);return cr.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!==lr)throw new Error(`Version 0 CID must use dag-pb (code: ${lr}) block encoding`);return new cr(e,t,r,r.bytes);case 1:{const n=hr(e,t,r.bytes);return new cr(e,t,r,n)}default:throw new Error("Invalid version")}}static createV0(e){return cr.create(0,lr,e)}static createV1(e,t){return cr.create(1,e,t)}static decode(e){const[t,r]=cr.decodeFirst(e);if(0!==r.length)throw new Error("Incorrect length");return t}static decodeFirst(e){const t=cr.inspectBytes(e),r=t.size-t.multihashSize,n=yt(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 ir(t.multihashCode,t.digestSize,o,n);return[0===t.version?cr.createV0(i):cr.createV1(t.codec,i),e.subarray(t.size)]}static inspectBytes(e){let t=0;const r=()=>{const[r,n]=er(e.subarray(t));return t+=n,r};let n=r(),o=lr;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[kt.prefix,(t??kt).decode(`${kt.prefix}${e}`)];case kt.prefix:return[kt.prefix,(t??kt).decode(e)];case Ft.prefix:return[Ft.prefix,(t??Ft).decode(e)];case _t.prefix:return[_t.prefix,(t??_t).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=cr.decode(n);if(0===o.version&&"Q"!==e[0])throw Error("Version 0 CID string must not include multibase prefix");return ur(o).set(r,e),o}}const lr=112,fr=18;function hr(e,t,r){const n=rr(e),o=n+rr(t),i=new Uint8Array(o+r.byteLength);return tr(e,i,0),tr(t,i,n),i.set(r,o),i}const dr=Symbol.for("@ipld/js-cid/CID"),mr=yt,gr=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 nr(0,mr(e))};function vr(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}function pr(e=0){return new Uint8Array(e)}function yr(e=0){return new Uint8Array(e)}function br(e,t){null==t&&(t=e.reduce((e,t)=>e+t.length,0));const r=yr(t);let n=0;for(const t of e)r.set(t,n),n+=t.length;return r}const Pr=Symbol.for("@achingbrain/uint8arraylist");function wr(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 Er(e){return Boolean(e?.[Pr])}class Sr{bufs;length;[Pr]=!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(!Er(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(!Er(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=wr(this.bufs,e);return t.buf[t.index]}set(e,t){const r=wr(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(!Er(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 br(r,n)}subarray(e,t){const{bufs:r,length:n}=this._subList(e,t);return 1===r.length?r[0]:br(r,n)}sublist(e,t){const{bufs:r,length:n}=this._subList(e,t),o=new Sr;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(!(Er(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=yr(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=pr(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=pr(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=pr(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=yr(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=pr(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=pr(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=pr(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=pr(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=pr(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 Sr))return!1;if(e.bufs.length!==this.bufs.length)return!1;for(let t=0;t<this.bufs.length;t++)if(!vr(this.bufs[t],e.bufs[t]))return!1;return!0}static fromUint8Arrays(e,t){const r=new Sr;return r.bufs=e,null==t&&(t=e.reduce((e,t)=>e+t.byteLength,0)),r.length=t,r}}var Ar={__proto__:null,base10:Tt({prefix:"9",name:"base10",alphabet:"0123456789"})},Tr={__proto__:null,base16:xt({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),base16upper:xt({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4})},xr={__proto__:null,base2:xt({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1})};const kr=Array.from("🚀🪐☄🛰🌌🌑🌒🌓🌔🌕🌖🌗🌘🌍🌏🌎🐉☀💻🖥💾💿😂❤😍🤣😊🙏💕😭😘👍😅👏😁🔥🥰💔💖💙😢🤔😆🙄💪😉☺👌🤗💜😔😎😇🌹🤦🎉💞✌✨🤷😱😌🌸🙌😋💗💚😏💛🙂💓🤩😄😀🖤😃💯🙈👇🎶😒🤭❣😜💋👀😪😑💥🙋😞😩😡🤪👊🥳😥🤤👉💃😳✋😚😝😴🌟😬🙃🍀🌷😻😓⭐✅🥺🌈😈🤘💦✔😣🏃💐☹🎊💘😠☝😕🌺🎂🌻😐🖕💝🙊😹🗣💫💀👑🎵🤞😛🔴😤🌼😫⚽🤙☕🏆🤫👈😮🙆🍻🍃🐶💁😲🌿🧡🎁⚡🌞🎈❌✊👋😰🤨😶🤝🚶💰🍓💢🤟🙁🚨💨🤬✈🎀🍺🤓😙💟🌱😖👶🥴▶➡❓💎💸⬇😨🌚🦋😷🕺⚠🙅😟😵👎🤲🤠🤧📌🔵💅🧐🐾🍒😗🤑🌊🤯🐷☎💧😯💆👆🎤🙇🍑❄🌴💣🐸💌📍🥀🤢👅💡💩👐📸👻🤐🤮🎼🥵🚩🍎🍊👼💍📣🥂"),Cr=kr.reduce((e,t,r)=>(e[r]=t,e),[]),Or=kr.reduce((e,t,r)=>{const n=t.codePointAt(0);if(null==n)throw new Error(`Invalid character: ${t}`);return e[n]=r,e},[]);var Fr={__proto__:null,base256emoji:At({prefix:"🚀",name:"base256emoji",encode:function(e){return e.reduce((e,t)=>e+Cr[t],"")},decode:function(e){const t=[];for(const r of e){const e=r.codePointAt(0);if(null==e)throw new Error(`Invalid character: ${r}`);const n=Or[e];if(null==n)throw new Error(`Non-base256emoji character: ${r}`);t.push(n)}return new Uint8Array(t)}})},Dr={__proto__:null,base64:xt({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),base64pad:xt({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),base64url:xt({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),base64urlpad:xt({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6})},Ir={__proto__:null,base8:xt({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3})},jr={__proto__:null,identity:At({prefix:"\0",name:"identity",encode:e=>{return t=e,(new TextDecoder).decode(t);var t},decode:e=>function(e){return(new TextEncoder).encode(e)}(e)})};function Nr({name:e,code:t,encode:r,minDigestLength:n,maxDigestLength:o}){return new Lr(e,t,r,n,o)}new TextEncoder,new TextDecoder;class Lr{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?Ur(r,this.code,t?.truncate):r.then(e=>Ur(e,this.code,t?.truncate))}throw Error("Unknown type, must be binary type")}}function Ur(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 nr(t,e)}function Rr(e){return async t=>new Uint8Array(await crypto.subtle.digest(e,t))}const Mr=Nr({name:"sha2-256",code:18,encode:Rr("SHA-256")});Nr({name:"sha2-512",code:19,encode:Rr("SHA-512")});const Br={...jr,...xr,...Ir,...Ar,...Tr,...Bt,...Vt,...Ot,...Dr,...Fr};function _r(e,t,r,n){return{name:e,prefix:t,encoder:{name:e,prefix:t,encode:r},decoder:{decode:n}}}const Gr=_r("utf8","u",e=>"u"+new TextDecoder("utf8").decode(e),e=>(new TextEncoder).encode(e.substring(1))),Vr=_r("ascii","a",e=>{let t="a";for(let r=0;r<e.length;r++)t+=String.fromCharCode(e[r]);return t},e=>{const t=yr((e=e.substring(1)).length);for(let r=0;r<e.length;r++)t[r]=e.charCodeAt(r);return t}),qr={utf8:Gr,"utf-8":Gr,hex:Br.base16,latin1:Vr,ascii:Vr,binary:Vr,...Br};function zr(e,t="utf8"){const r=qr[t];if(null==r)throw new Error(`Unsupported encoding "${t}"`);return r.decoder.decode(`${r.prefix}${e}`)}function Hr(e,t="utf8"){const r=qr[t];if(null==r)throw new Error(`Unsupported encoding "${t}"`);return r.encoder.encode(e).substring(1)}const Kr=parseInt("11111",2),Zr=parseInt("10000000",2),$r=parseInt("01111111",2),Jr={0:Xr,1:Xr,2:function(e,t){const r=Yr(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=Yr(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=Yr(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=Yr(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:Xr,22:Xr,48:Xr};function Wr(e,t={offset:0}){const r=e[t.offset]&Kr;if(t.offset++,null!=Jr[r])return Jr[r](e,t);throw new Error("No decoder for tag "+r)}function Yr(e,t){let r=0;if((e[t.offset]&Zr)===Zr){const n=e[t.offset]&$r;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 Xr(e,t){Yr(e,t);const r=[];for(;!(t.offset>=e.byteLength);){const n=Wr(e,t);if(null===n)break;r.push(n)}return r}function Qr(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 Sr;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 Sr(Uint8Array.from([t.byteLength|Zr]),t)}function en(e){const t=new Sr;return!(128&~e.subarray()[0])&&t.append(Uint8Array.from([0])),t.append(e),new Sr(Uint8Array.from([2]),Qr(t),t)}function tn(e){const t=Uint8Array.from([0]),r=new Sr(t,e);return new Sr(Uint8Array.from([3]),Qr(r),r)}function rn(e,t=48){const r=new Sr;for(const t of e)r.append(t);return new Sr(Uint8Array.from([t]),Qr(r),r)}const nn=Uint8Array.from([6,8,42,134,72,206,61,3,1,7]),on=Uint8Array.from([6,5,43,129,4,0,34]),sn=Uint8Array.from([6,5,43,129,4,0,35]),an={ext:!0,kty:"EC",crv:"P-256"},un={ext:!0,kty:"EC",crv:"P-384"},cn={ext:!0,kty:"EC",crv:"P-521"};function ln(e){if("P-256"===e)return nn;if("P-384"===e)return on;if("P-521"===e)return sn;throw new ct(`Invalid curve ${e}`)}class fn{type="ECDSA";jwk;_raw;constructor(e){this.jwk=e}get raw(){var e;return null==this._raw&&(this._raw=(e=this.jwk,rn([en(Uint8Array.from([1])),rn([ln(e.crv)],160),rn([tn(new Sr(Uint8Array.from([4]),zr(e.x??"","base64url"),zr(e.y??"","base64url")))],161)]).subarray())),this._raw}toMultihash(){return gr(ea(this))}toCID(){return cr.createV1(114,this.toMultihash())}toString(){return kt.encode(this.toMultihash().bytes).substring(1)}equals(e){return null!=e&&e.raw instanceof Uint8Array&&vr(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 hn(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&"Uint8Array"===e.constructor.name}function dn(e,t=""){if(!Number.isSafeInteger(e)||e<0)throw new Error(`${t&&`"${t}" `}expected integer >= 0, got ${e}`)}function mn(e,t,r=""){const n=hn(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 gn(e){if("function"!=typeof e||"function"!=typeof e.create)throw new Error("Hash must wrapped by utils.createHasher");dn(e.outputLen),dn(e.blockLen)}function vn(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 pn(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function yn(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function bn(e,t){return e<<32-t|e>>>t}const Pn=/* @__PURE__ */(()=>"function"==typeof Uint8Array.from([]).toHex&&"function"==typeof Uint8Array.fromHex)(),wn=/* @__PURE__ */Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function En(e){if(mn(e),Pn)return e.toHex();let t="";for(let r=0;r<e.length;r++)t+=wn[e[r]];return t}function Sn(e){return e>=48&&e<=57?e-48:e>=65&&e<=70?e-55:e>=97&&e<=102?e-87:void 0}function An(e){if("string"!=typeof e)throw new Error("hex string expected, got "+typeof e);if(Pn)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=Sn(e.charCodeAt(o)),i=Sn(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 Tn(...e){let t=0;for(let r=0;r<e.length;r++){const n=e[r];mn(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 xn(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 kn(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 Cn=e=>({oid:Uint8Array.from([6,9,96,134,72,1,101,3,4,2,e])});function On(e,t,r){return e&t^e&r^t&r}class Fn{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=yn(this.buffer)}update(e){vn(this),mn(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=yn(e);for(;n<=o-i;i+=n)this.process(t,i)}}return this.length+=e.length,this.roundClean(),this}digestInto(e){vn(this),function(e,t){mn(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,pn(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=yn(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 Dn=/* @__PURE__ */Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),In=/* @__PURE__ */Uint32Array.from([1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209]),jn=/* @__PURE__ */BigInt(2**32-1),Nn=/* @__PURE__ */BigInt(32);function Ln(e,t=!1){return t?{h:Number(e&jn),l:Number(e>>Nn&jn)}:{h:0|Number(e>>Nn&jn),l:0|Number(e&jn)}}const Un=(e,t,r)=>e>>>r,Rn=(e,t,r)=>e<<32-r|t>>>r,Mn=(e,t,r)=>e>>>r|t<<32-r,Bn=(e,t,r)=>e<<32-r|t>>>r,_n=(e,t,r)=>e<<64-r|t>>>r-32,Gn=(e,t,r)=>e>>>r-32|t<<64-r;function Vn(e,t,r,n){const o=(t>>>0)+(n>>>0);return{h:e+r+(o/2**32|0)|0,l:0|o}}const qn=(e,t,r)=>(e>>>0)+(t>>>0)+(r>>>0),zn=(e,t,r,n)=>t+r+n+(e/2**32|0)|0,Hn=(e,t,r,n)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0),Kn=(e,t,r,n,o)=>t+r+n+o+(e/2**32|0)|0,Zn=(e,t,r,n,o)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0)+(o>>>0),$n=(e,t,r,n,o,i)=>t+r+n+o+i+(e/2**32|0)|0,Jn=/* @__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]),Wn=/* @__PURE__ */new Uint32Array(64);class Yn extends Fn{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)Wn[r]=e.getUint32(t,!1);for(let e=16;e<64;e++){const t=Wn[e-15],r=Wn[e-2],n=bn(t,7)^bn(t,18)^t>>>3,o=bn(r,17)^bn(r,19)^r>>>10;Wn[e]=o+Wn[e-7]+n+Wn[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+(bn(s,6)^bn(s,11)^bn(s,25))+((l=s)&a^~l&u)+Jn[e]+Wn[e]|0,f=(bn(r,2)^bn(r,13)^bn(r,22))+On(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(){pn(Wn)}destroy(){this.set(0,0,0,0,0,0,0,0),pn(this.buffer)}}class Xn extends Yn{A=0|Dn[0];B=0|Dn[1];C=0|Dn[2];D=0|Dn[3];E=0|Dn[4];F=0|Dn[5];G=0|Dn[6];H=0|Dn[7];constructor(){super(32)}}const Qn=/* @__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}=Ln(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))))(),eo=/* @__PURE__ */(()=>Qn[0])(),to=/* @__PURE__ */(()=>Qn[1])(),ro=/* @__PURE__ */new Uint32Array(80),no=/* @__PURE__ */new Uint32Array(80);class oo extends Fn{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)ro[r]=e.getUint32(t),no[r]=e.getUint32(t+=4);for(let e=16;e<80;e++){const t=0|ro[e-15],r=0|no[e-15],n=Mn(t,r,1)^Mn(t,r,8)^Un(t,0,7),o=Bn(t,r,1)^Bn(t,r,8)^Rn(t,r,7),i=0|ro[e-2],s=0|no[e-2],a=Mn(i,s,19)^_n(i,s,61)^Un(i,0,6),u=Bn(i,s,19)^Gn(i,s,61)^Rn(i,s,6),c=Hn(o,u,no[e-7],no[e-16]),l=Kn(c,n,a,ro[e-7],ro[e-16]);ro[e]=0|l,no[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=Mn(l,f,14)^Mn(l,f,18)^_n(l,f,41),y=Bn(l,f,14)^Bn(l,f,18)^Gn(l,f,41),b=l&h^~l&m,P=Zn(p,y,f&d^~f&g,to[e],no[e]),w=$n(P,v,t,b,eo[e],ro[e]),E=0|P,S=Mn(r,n,28)^_n(r,n,34)^_n(r,n,39),A=Bn(r,n,28)^Gn(r,n,34)^Gn(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}=Vn(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=qn(E,A,x);r=zn(k,w,S,T),n=0|k}({h:r,l:n}=Vn(0|this.Ah,0|this.Al,0|r,0|n)),({h:o,l:i}=Vn(0|this.Bh,0|this.Bl,0|o,0|i)),({h:s,l:a}=Vn(0|this.Ch,0|this.Cl,0|s,0|a)),({h:u,l:c}=Vn(0|this.Dh,0|this.Dl,0|u,0|c)),({h:l,l:f}=Vn(0|this.Eh,0|this.El,0|l,0|f)),({h:h,l:d}=Vn(0|this.Fh,0|this.Fl,0|h,0|d)),({h:m,l:g}=Vn(0|this.Gh,0|this.Gl,0|m,0|g)),({h:v,l:p}=Vn(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(){pn(ro,no)}destroy(){pn(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}}class io extends oo{Ah=0|In[0];Al=0|In[1];Bh=0|In[2];Bl=0|In[3];Ch=0|In[4];Cl=0|In[5];Dh=0|In[6];Dl=0|In[7];Eh=0|In[8];El=0|In[9];Fh=0|In[10];Fl=0|In[11];Gh=0|In[12];Gl=0|In[13];Hh=0|In[14];Hl=0|In[15];constructor(){super(64)}}const so=/* @__PURE__ */xn(()=>new Xn
2
+ /* @__PURE__ */,Cn(1)),ao=/* @__PURE__ */xn(()=>new io
3
+ /* @__PURE__ */,Cn(3)),uo=/* @__PURE__ */BigInt(0),co=/* @__PURE__ */BigInt(1);function lo(e,t=""){if("boolean"!=typeof e)throw new Error((t&&`"${t}" `)+"expected boolean, got type="+typeof e);return e}function fo(e){if("bigint"==typeof e){if(!Po(e))throw new Error("positive bigint expected, got "+e)}else dn(e);return e}function ho(e){const t=fo(e).toString(16);return 1&t.length?"0"+t:t}function mo(e){if("string"!=typeof e)throw new Error("hex string expected, got "+typeof e);return""===e?uo:BigInt("0x"+e)}function go(e){return mo(En(e))}function vo(e){return mo(En(bo(mn(e)).reverse()))}function po(e,t){dn(t);const r=An((e=fo(e)).toString(16).padStart(2*t,"0"));if(r.length!==t)throw new Error("number too large");return r}function yo(e,t){return po(e,t).reverse()}function bo(e){return Uint8Array.from(e)}const Po=e=>"bigint"==typeof e&&uo<=e;function wo(e,t,r,n){if(!function(e,t,r){return Po(e)&&Po(t)&&Po(r)&&t<=e&&e<r}(t,r,n))throw new Error("expected valid "+e+": "+r+" <= n < "+n+", got "+t)}const Eo=e=>(co<<BigInt(e))-co;function So(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 Ao(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 To=/* @__PURE__ */BigInt(0),xo=/* @__PURE__ */BigInt(1),ko=/* @__PURE__ */BigInt(2),Co=/* @__PURE__ */BigInt(3),Oo=/* @__PURE__ */BigInt(4),Fo=/* @__PURE__ */BigInt(5),Do=/* @__PURE__ */BigInt(7),Io=/* @__PURE__ */BigInt(8),jo=/* @__PURE__ */BigInt(9),No=/* @__PURE__ */BigInt(16);function Lo(e,t){const r=e%t;return r>=To?r:t+r}function Uo(e,t,r){let n=e;for(;t-- >To;)n*=n,n%=r;return n}function Ro(e,t){if(e===To)throw new Error("invert: expected non-zero number");if(t<=To)throw new Error("invert: expected positive modulus, got "+t);let r=Lo(e,t),n=t,o=To,i=xo;for(;r!==To;){const e=n%r,t=o-i*(n/r);n=r,r=e,o=i,i=t}if(n!==xo)throw new Error("invert: does not exist");return Lo(o,t)}function Mo(e,t,r){if(!e.eql(e.sqr(t),r))throw new Error("Cannot find square root")}function Bo(e,t){const r=e.pow(t,(e.ORDER+xo)/Oo);return Mo(e,r,t),r}function _o(e,t){const r=(e.ORDER-Fo)/Io,n=e.mul(t,ko),o=e.pow(n,r),i=e.mul(t,o),s=e.mul(e.mul(i,ko),o),a=e.mul(i,e.sub(s,e.ONE));return Mo(e,a,t),a}function Go(e){if(e<Co)throw new Error("sqrt is not defined for small field");let t=e-xo,r=0;for(;t%ko===To;)t/=ko,r++;let n=ko;const o=Ko(e);for(;1===zo(o,n);)if(n++>1e3)throw new Error("Cannot find square root: probably non-prime P");if(1===r)return Bo;let i=o.pow(n,t);const s=(t+xo)/ko;return function(e,n){if(e.is0(n))return n;if(1!==zo(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=xo<<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 Vo=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function qo(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 zo(e,t){const r=e.pow(t,(e.ORDER-xo)/ko),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 Ho{ORDER;BITS;BYTES;isLE;ZERO=To;ONE=xo;_lengths;_sqrt;_mod;constructor(e,t={}){if(e<=To)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&&dn(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 Lo(e,this.ORDER)}isValid(e){if("bigint"!=typeof e)throw new Error("invalid field element: expected bigint, got "+typeof e);return To<=e&&e<this.ORDER}is0(e){return e===To}isValidNot0(e){return!this.is0(e)&&this.isValid(e)}isOdd(e){return(e&xo)===xo}neg(e){return Lo(-e,this.ORDER)}eql(e,t){return e===t}sqr(e){return Lo(e*e,this.ORDER)}add(e,t){return Lo(e+t,this.ORDER)}sub(e,t){return Lo(e-t,this.ORDER)}mul(e,t){return Lo(e*t,this.ORDER)}pow(e,t){return function(e,t,r){if(r<To)throw new Error("invalid exponent, negatives unsupported");if(r===To)return e.ONE;if(r===xo)return t;let n=e.ONE,o=t;for(;r>To;)r&xo&&(n=e.mul(n,o)),o=e.sqr(o),r>>=xo;return n}(this,e,t)}div(e,t){return Lo(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)%Oo===Co?Bo:t%Io===Fo?_o:t%No===jo?function(e){const t=Ko(e),r=Go(e),n=r(t,t.neg(t.ONE)),o=r(t,n),i=r(t,t.neg(n)),s=(e+Do)/No;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 Mo(e,d,t),d}}(t):Go(t)),this._sqrt(this,e);var t}toBytes(e){return this.isLE?yo(e,this.BYTES):po(e,this.BYTES)}fromBytes(e,t=!1){mn(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?vo(e):go(e);if(s&&(a=Lo(a,i)),!t&&!this.isValid(a))throw new Error("invalid field element: outside of range 0..ORDER");return a}invertBatch(e){return qo(this,e)}cmov(e,t,r){return r?t:e}}function Ko(e,t={}){return new Ho(e,t)}function Zo(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 $o(e){const t=Zo(e);return t+Math.ceil(t/2)}const Jo=/* @__PURE__ */BigInt(0),Wo=/* @__PURE__ */BigInt(1);function Yo(e,t){const r=t.negate();return e?r:t}function Xo(e,t){const r=qo(e.Fp,t.map(e=>e.Z));return t.map((t,n)=>e.fromAffine(t.toAffine(r[n])))}function Qo(e,t){if(!Number.isSafeInteger(e)||e<=0||e>t)throw new Error("invalid window size, expected [1.."+t+"], got W="+e)}function ei(e,t){Qo(e,t);const r=2**e;return{windows:Math.ceil(t/e)+1,windowSize:2**(e-1),mask:Eo(e),maxNumber:r,shiftBy:BigInt(e)}}function ti(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+=Wo);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 ri=new WeakMap,ni=new WeakMap;function oi(e){return ni.get(e)||1}function ii(e){if(e!==Jo)throw new Error("invalid wNAF")}class si{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>Jo;)t&Wo&&(r=r.add(n)),n=n.double(),t>>=Wo;return r}precomputeWindow(e,t){const{windows:r,windowSize:n}=ei(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=ei(e,this.bits);for(let e=0;e<i.windows;e++){const{nextN:s,offset:a,isZero:u,isNeg:c,isNegF:l,offsetF:f}=ti(r,e,i);r=s,u?o=o.add(Yo(l,t[f])):n=n.add(Yo(c,t[a]))}return ii(r),{p:n,f:o}}wNAFUnsafe(e,t,r,n=this.ZERO){const o=ei(e,this.bits);for(let e=0;e<o.windows&&r!==Jo;e++){const{nextN:i,offset:s,isZero:a,isNeg:u}=ti(r,e,o);if(r=i,!a){const e=t[s];n=n.add(u?e.negate():e)}}return ii(r),n}getPrecomputes(e,t,r){let n=ri.get(t);return n||(n=this.precomputeWindow(t,e),1!==e&&("function"==typeof r&&(n=r(n)),ri.set(t,n))),n}cached(e,t,r){const n=oi(e);return this.wNAF(n,this.getPrecomputes(n,e,r),t)}unsafe(e,t,r,n){const o=oi(e);return 1===o?this._unsafeLadder(e,t,n):this.wNAFUnsafe(o,this.getPrecomputes(o,e,r),t,n)}createCache(e,t){Qo(t,this.bits),ni.set(e,t),ri.delete(e)}hasCache(e){return 1!==oi(e)}}function ai(e,t,r){if(t){if(t.ORDER!==e)throw new Error("Field.ORDER must match order: Fp == p, Fn == n");return function(e){So(e,Vo.reduce((e,t)=>(e[t]="function",e),{ORDER:"bigint",BYTES:"number",BITS:"number"}))}(t),t}return Ko(e,{isLE:r})}function ui(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>Jo))throw new Error(`CURVE.${e} must be positive bigint`)}const o=ai(t.p,r.Fp,n),i=ai(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 ci(e,t){return function(r){const n=e(r);return{secretKey:n,publicKey:t(n)}}}const li=BigInt(0),fi=BigInt(1),hi=BigInt(2),di=BigInt(8);function mi(e,t={}){const r=ui("edwards",e,t,t.FpFnLE),{Fp:n,Fn:o}=r;let i=r.CURVE;const{h:s}=i;So(t,{},{uvRatio:"function"});const a=hi<<BigInt(8*o.BYTES)-fi,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:li}}});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 wo("coordinate "+e,t,r?fi:li,a),t}function f(e){if(!(e instanceof m))throw new Error("EdwardsPoint expected")}const h=Ao((e,t)=>{const{X:r,Y:o,Z:i}=e,s=e.is0();null==t&&(t=s?di:n.inv(i));const a=u(r*t),c=u(o*t),l=n.mul(i,t);if(s)return{x:li,y:fi};if(l!==fi)throw new Error("invZ was invalid");return{x:a,y:c}}),d=Ao(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,fi,u(i.Gx*i.Gy));static ZERO=new m(li,fi,fi,li);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,fi,u(t*r))}static fromBytes(e,t=!1){const r=n.BYTES,{a:o,d:s}=i;e=bo(mn(e,r,"point")),lo(t,"zip215");const l=bo(e),f=e[r-1];l[r-1]=-129&f;const h=vo(l);wo("point.y",h,li,t?a:n.ORDER);const d=u(h*h),g=u(d-fi),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&fi)===fi,P=!!(128&f);if(!t&&y===li&&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(An(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(hi),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(hi*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=>Xo(m,e));return Xo(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===li?m.ZERO:this.is0()||e===fi?this:g.unsafe(this,e,e=>Xo(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===fi?this:this.multiplyUnsafe(s)}toBytes(){const{x:e,y:t}=this.toAffine(),r=n.toBytes(t);return r[r.length-1]|=e&fi?128:0,r}toHex(){return En(this.toBytes())}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}}const g=new si(m,o.BITS);return m.BASE.precompute(8),m}const gi=BigInt(1),vi=BigInt(2),pi=BigInt(5),yi=BigInt(8),bi=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed"),Pi=/* @__PURE__ */(()=>({p:bi,n:BigInt("0x1000000000000000000000000000000014def9dea2f79cd65812631a5cf5d3ed"),h:yi,a:BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec"),d:BigInt("0x52036cee2b6ffe738cc740797779e89800700a4d4141d8ab75eb4dca135978a3"),Gx:BigInt("0x216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a"),Gy:BigInt("0x6666666666666666666666666666666666666666666666666666666666666658")}))();function wi(e){return e[0]&=248,e[31]&=127,e[31]|=64,e}const Ei=/* @__PURE__ */BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752"),Si=/* @__PURE__ */mi(Pi,{uvRatio:function(e,t){const r=bi,n=Lo(t*t*t,r),o=function(e){const t=BigInt(10),r=BigInt(20),n=BigInt(40),o=BigInt(80),i=bi,s=e*e%i*e%i,a=Uo(s,vi,i)*s%i,u=Uo(a,gi,i)*e%i,c=Uo(u,pi,i)*u%i,l=Uo(c,t,i)*c%i,f=Uo(l,r,i)*l%i,h=Uo(f,n,i)*f%i,d=Uo(h,o,i)*h%i,m=Uo(d,o,i)*h%i,g=Uo(m,t,i)*c%i;return{pow_p_5_8:Uo(g,vi,i)*e%i,b2:s}}(e*Lo(n*n*t,r)).pow_p_5_8;let i=Lo(e*n*o,r);const s=Lo(t*i*i,r),a=i,u=Lo(i*Ei,r),c=s===e,l=s===Lo(-e,r),f=s===Lo(-e*Ei,r);return c&&(i=a),(l||f)&&(i=u),(Lo(i,r)&xo)===xo&&(i=Lo(-i,r)),{isValid:c||l,value:i}}});function Ai(e){return function(e,t,r={}){if("function"!=typeof t)throw new Error('"hash" function param is required');So(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||kn,u=r.adjustScalarBytes||(e=>e),c=r.domain||((e,t,r)=>{if(lo(r,"phflag"),t.length||r)throw new Error("Contexts/pre-hash are not supported");return e});function l(e){return s.create(vo(e))}function f(e){const{head:r,prefix:n,scalar:i}=function(e){const r=v.secretKey;mn(e,v.secretKey,"secretKey");const n=mn(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=Tn(...r);return l(t(c(o,mn(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 mn(e,v.seed,"seed")}const y={getExtendedPublicKey:f,randomSecretKey:p,isValidSecretKey:function(e){return hn(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(fi+r,fi-r):i.div(r-fi,r+fi);return i.toBytes(s)},toMontgomerySecret(e){const r=v.secretKey;mn(e,r);const n=t(e.subarray(0,r));return u(n).subarray(0,r)}};return Object.freeze({keygen:ci(p,h),getPublicKey:h,sign:function(e,t,r={}){e=mn(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 mn(Tn(l,s.toBytes(m)),v.signature,"result")},verify:function(t,r,i,s=m){const{context:a,zip215:u}=s,c=v.signature;t=mn(t,c,"signature"),r=mn(r,void 0,"message"),i=mn(i,v.publicKey,"publicKey"),void 0!==u&&lo(u,"zip215"),n&&(r=n(r));const l=c/2,f=t.subarray(0,l),h=vo(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})}(Si,ao,Object.assign({adjustScalarBytes:wi},e))}const Ti=/* @__PURE__ */Ai({});class xi extends Error{constructor(e="An error occurred while verifying a message"){super(e),this.name="VerificationError"}}class ki extends Error{constructor(e="Missing Web Crypto API"){super(e),this.name="WebCryptoMissingError"}}var Ci={get(e=globalThis){const t=e.crypto;if(null==t?.subtle)throw new ki("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 Oi;const Fi=(async()=>{try{return await Ci.get().subtle.generateKey({name:"Ed25519"},!0,["sign","verify"]),!0}catch{return!1}})();function Di(e){return null!=e&&"function"==typeof e.then&&"function"==typeof e.catch&&"function"==typeof e.finally}class Ii{type="Ed25519";raw;constructor(e){this.raw=ji(e,32)}toMultihash(){return gr(ea(this))}toCID(){return cr.createV1(114,this.toMultihash())}toString(){return kt.encode(this.toMultihash().bytes).substring(1)}equals(e){return null!=e&&e.raw instanceof Uint8Array&&vr(this.raw,e.raw)}verify(e,t,r){r?.signal?.throwIfAborted();const n=async function(e,t,r){return null==Oi&&(Oi=await Fi),Oi?async function(e,t,r){if(e.buffer instanceof ArrayBuffer){const n=await Ci.get().subtle.importKey("raw",e.buffer,{name:"Ed25519"},!1,["verify"]);return await Ci.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 Ti.verify(t,r instanceof Uint8Array?r:r.subarray(),e)}(e,t,r)}(this.raw,t,e);return Di(n)?n.then(e=>(r?.signal?.throwIfAborted(),e)):n}}function ji(e,t){if((e=Uint8Array.from(e??[])).length!==t)throw new ct(`Key must be a Uint8Array of length ${t}, got ${e.length}`);return e}const Ni=Math.pow(2,7),Li=Math.pow(2,14),Ui=Math.pow(2,21),Ri=Math.pow(2,28),Mi=Math.pow(2,35),Bi=Math.pow(2,42),_i=Math.pow(2,49),Gi=128,Vi=127;function qi(e){if(e<Ni)return 1;if(e<Li)return 2;if(e<Ui)return 3;if(e<Ri)return 4;if(e<Mi)return 5;if(e<Bi)return 6;if(e<_i)return 7;if(null!=Number.MAX_SAFE_INTEGER&&e>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function zi(e,t,r=0){switch(qi(e)){case 8:t[r++]=255&e|Gi,e/=128;case 7:t[r++]=255&e|Gi,e/=128;case 6:t[r++]=255&e|Gi,e/=128;case 5:t[r++]=255&e|Gi,e/=128;case 4:t[r++]=255&e|Gi,e>>>=7;case 3:t[r++]=255&e|Gi,e>>>=7;case 2:t[r++]=255&e|Gi,e>>>=7;case 1:t[r++]=255&e,e>>>=7;break;default:throw new Error("unreachable")}return t}function Hi(e,t){let r=e[t],n=0;if(n+=r&Vi,r<Gi)return n;if(r=e[t+1],n+=(r&Vi)<<7,r<Gi)return n;if(r=e[t+2],n+=(r&Vi)<<14,r<Gi)return n;if(r=e[t+3],n+=(r&Vi)<<21,r<Gi)return n;if(r=e[t+4],n+=(r&Vi)*Ri,r<Gi)return n;if(r=e[t+5],n+=(r&Vi)*Mi,r<Gi)return n;if(r=e[t+6],n+=(r&Vi)*Bi,r<Gi)return n;if(r=e[t+7],n+=(r&Vi)*_i,r<Gi)return n;throw new RangeError("Could not decode varint")}function Ki(e,t,r=0){return null==t&&(t=yr(qi(e))),t instanceof Uint8Array?zi(e,t,r):function(e,t,r=0){switch(qi(e)){case 8:t.set(r++,255&e|Gi),e/=128;case 7:t.set(r++,255&e|Gi),e/=128;case 6:t.set(r++,255&e|Gi),e/=128;case 5:t.set(r++,255&e|Gi),e/=128;case 4:t.set(r++,255&e|Gi),e>>>=7;case 3:t.set(r++,255&e|Gi),e>>>=7;case 2:t.set(r++,255&e|Gi),e>>>=7;case 1:t.set(r++,255&e),e>>>=7;break;default:throw new Error("unreachable")}return t}(e,t,r)}function Zi(e,t=0){return e instanceof Uint8Array?Hi(e,t):function(e,t){let r=e.get(t),n=0;if(n+=r&Vi,r<Gi)return n;if(r=e.get(t+1),n+=(r&Vi)<<7,r<Gi)return n;if(r=e.get(t+2),n+=(r&Vi)<<14,r<Gi)return n;if(r=e.get(t+3),n+=(r&Vi)<<21,r<Gi)return n;if(r=e.get(t+4),n+=(r&Vi)*Ri,r<Gi)return n;if(r=e.get(t+5),n+=(r&Vi)*Mi,r<Gi)return n;if(r=e.get(t+6),n+=(r&Vi)*Bi,r<Gi)return n;if(r=e.get(t+7),n+=(r&Vi)*_i,r<Gi)return n;throw new RangeError("Could not decode varint")}(e,t)}const $i=new Float32Array([-0]),Ji=new Uint8Array($i.buffer);function Wi(e,t,r){$i[0]=e,t[r]=Ji[0],t[r+1]=Ji[1],t[r+2]=Ji[2],t[r+3]=Ji[3]}const Yi=new Float64Array([-0]),Xi=new Uint8Array(Yi.buffer);function Qi(e,t,r){Yi[0]=e,t[r]=Xi[0],t[r+1]=Xi[1],t[r+2]=Xi[2],t[r+3]=Xi[3],t[r+4]=Xi[4],t[r+5]=Xi[5],t[r+6]=Xi[6],t[r+7]=Xi[7]}const es=BigInt(Number.MAX_SAFE_INTEGER),ts=BigInt(Number.MIN_SAFE_INTEGER);class rs{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 ns;if(e<es&&e>ts)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>os&&(n=0n,++r>os&&(r=0n))),new rs(Number(n),Number(r))}static fromNumber(e){if(0===e)return ns;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 rs(r,n)}static from(e){return"number"==typeof e?rs.fromNumber(e):"bigint"==typeof e?rs.fromBigInt(e):"string"==typeof e?rs.fromBigInt(BigInt(e)):null!=e.low||null!=e.high?new rs(e.low>>>0,e.high>>>0):ns}}const ns=new rs(0,0);ns.toBigInt=function(){return 0n},ns.zzEncode=ns.zzDecode=function(){return this},ns.length=function(){return 1};const os=4294967296n;function is(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 ss(e,t){return RangeError(`index out of range: ${e.pos} + ${t??1} > ${e.len}`)}function as(e,t){return(e[t-4]|e[t-3]<<8|e[t-2]<<16|e[t-1]<<24)>>>0}class us{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,ss(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 ss(this,4);return as(this.buf,this.pos+=4)}sfixed32(){if(this.pos+4>this.len)throw ss(this,4);return 0|as(this.buf,this.pos+=4)}float(){if(this.pos+4>this.len)throw ss(this,4);const e=(Ji[0]=(t=this.buf)[r=this.pos],Ji[1]=t[r+1],Ji[2]=t[r+2],Ji[3]=t[r+3],$i[0]);var t,r;return this.pos+=4,e}double(){if(this.pos+8>this.len)throw ss(this,4);const e=(Xi[0]=(t=this.buf)[r=this.pos],Xi[1]=t[r+1],Xi[2]=t[r+2],Xi[3]=t[r+3],Xi[4]=t[r+4],Xi[5]=t[r+5],Xi[6]=t[r+6],Xi[7]=t[r+7],Yi[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 ss(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 ss(this,e);this.pos+=e}else do{if(this.pos>=this.len)throw ss(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 rs(0,0);let t=0;if(!(this.len-this.pos>4)){for(;t<3;++t){if(this.pos>=this.len)throw ss(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 ss(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 ss(this,8);const e=as(this.buf,this.pos+=4),t=as(this.buf,this.pos+=4);return new rs(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=Hi(this.buf,this.pos);return this.pos+=qi(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 cs(e){return new us(e instanceof Uint8Array?e:e.subarray())}function ls(e,t,r){const n=cs(e);return t.decode(n,void 0,r)}class fs{fn;len;next;val;constructor(e,t,r){this.fn=e,this.len=t,this.next=void 0,this.val=r}}function hs(){}class ds{head;tail;len;next;constructor(e){this.head=e.head,this.tail=e.tail,this.len=e.len,this.next=e.states}}const ms=function(){const e=8192;let t,r=e;return function(n){if(n<1||n>4096)return yr(n);r+n>e&&(t=yr(e),r=0);const o=t.subarray(r,r+=n);return 7&r&&(r=1+(7|r)),o}}();class gs{len;head;tail;states;constructor(){this.len=0,this.head=new fs(hs,0,0),this.tail=this.head,this.states=null}_push(e,t,r){return this.tail=this.tail.next=new fs(e,t,r),this.len+=t,this}uint32(e){return this.len+=(this.tail=this.tail.next=new ys((e>>>=0)<128?1:e<16384?2:e<2097152?3:e<268435456?4:5,e)).len,this}int32(e){return e<0?this._push(bs,10,rs.fromNumber(e)):this.uint32(e)}sint32(e){return this.uint32((e<<1^e>>31)>>>0)}uint64(e){const t=rs.fromBigInt(e);return this._push(bs,t.length(),t)}uint64Number(e){return this._push(zi,qi(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=rs.fromBigInt(e).zzEncode();return this._push(bs,t.length(),t)}sint64Number(e){const t=rs.fromNumber(e).zzEncode();return this._push(bs,t.length(),t)}sint64String(e){return this.sint64(BigInt(e))}bool(e){return this._push(vs,1,e?1:0)}fixed32(e){return this._push(Ps,4,e>>>0)}sfixed32(e){return this.fixed32(e)}fixed64(e){const t=rs.fromBigInt(e);return this._push(Ps,4,t.lo)._push(Ps,4,t.hi)}fixed64Number(e){const t=rs.fromNumber(e);return this._push(Ps,4,t.lo)._push(Ps,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(Wi,4,e)}double(e){return this._push(Qi,8,e)}bytes(e){const t=e.length>>>0;return 0===t?this._push(vs,1,0):this.uint32(t)._push(ws,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(is,t,e):this._push(vs,1,0)}fork(){return this.states=new ds(this),this.head=this.tail=new fs(hs,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 fs(hs,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?yr(r):ms(r));var r;let n=0;for(;null!=e;)e.fn(e.val,t,n),n+=e.len,e=e.next;return t}}function vs(e,t,r){t[r]=255&e}function ps(e,t,r){for(;e>127;)t[r++]=127&e|128,e>>>=7;t[r]=e}class ys extends fs{next;constructor(e,t){super(ps,e,t),this.next=void 0}}function bs(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 Ps(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 ws(e,t,r){t.set(e,r)}function Es(e,t,r){t.set(e,r)}function Ss(e,t,r){e.length<40?is(e,t,r):null!=t.utf8Write?t.utf8Write(e,r):t.set(zr(e),r)}function As(e,t){const r=new gs;return t.encode(e,r,{lengthDelimited:!1}),r.finish()}function*Ts(e,t,r){const n=cs(e);yield*t.stream(n,void 0,"$",r)}function xs(e,t,r,n,o){return{name:e,type:t,encode:r,decode:n,stream:o}}function ks(e,t,r){return xs("message",2,e,t,r)}var Cs,Os,Fs,Ds;null!=globalThis.Buffer&&(gs.prototype.bytes=function(e){const t=e.length>>>0;return this.uint32(t),t>0&&this._push(Es,t,e),this},gs.prototype.string=function(e){const t=globalThis.Buffer.byteLength(e);return this.uint32(t),t>0&&this._push(Ss,t,e),this}),function(e){e.RSA="RSA",e.Ed25519="Ed25519",e.secp256k1="secp256k1",e.ECDSA="ECDSA"}(Cs||(Cs={})),function(e){e[e.RSA=0]="RSA",e[e.Ed25519=1]="Ed25519",e[e.secp256k1=2]="secp256k1",e[e.ECDSA=3]="ECDSA"}(Os||(Os={})),function(e){e.codec=()=>function(e){function t(t){if(null==e[t.toString()])throw new Error("Invalid enum value");return e[t]}return xs("enum",0,function(e,r){const n=t(e);r.int32(n)},function(e){return t(e.int32())},function*(e){const r=e.int32();yield t(r)})}(Os)}(Cs||(Cs={})),function(e){let t;e.codec=()=>(null==t&&(t=ks((e,t,r={})=>{!1!==r.lengthDelimited&&t.fork(),null!=e.Type&&(t.uint32(8),Cs.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=Cs.codec().decode(e);break;case 2:n.Data=e.bytes();break;default:e.skipType(7&t)}}return n},function*(e,t,r,n={}){const o=null==t?e.len:e.pos+t;for(;e.pos<o;){const t=e.uint32();switch(t>>>3){case 1:yield{field:`${r}.Type`,value:Cs.codec().decode(e)};break;case 2:yield{field:`${r}.Data`,value:e.bytes()};break;default:e.skipType(7&t)}}})),t),e.encode=function(t){return As(t,e.codec())},e.decode=function(t,r){return ls(t,e.codec(),r)},e.stream=function(t,r){return Ts(t,e.codec(),r)}}(Fs||(Fs={})),function(e){let t;e.codec=()=>(null==t&&(t=ks((e,t,r={})=>{!1!==r.lengthDelimited&&t.fork(),null!=e.Type&&(t.uint32(8),Cs.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=Cs.codec().decode(e);break;case 2:n.Data=e.bytes();break;default:e.skipType(7&t)}}return n},function*(e,t,r,n={}){const o=null==t?e.len:e.pos+t;for(;e.pos<o;){const t=e.uint32();switch(t>>>3){case 1:yield{field:`${r}.Type`,value:Cs.codec().decode(e)};break;case 2:yield{field:`${r}.Data`,value:e.bytes()};break;default:e.skipType(7&t)}}})),t),e.encode=function(t){return As(t,e.codec())},e.decode=function(t,r){return ls(t,e.codec(),r)},e.stream=function(t,r){return Ts(t,e.codec(),r)}}(Ds||(Ds={}));class Is{oHash;iHash;blockLen;outputLen;finished=!1;destroyed=!1;constructor(e,t){if(gn(e),mn(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),pn(n)}update(e){return vn(this),this.iHash.update(e),this}digestInto(e){vn(this),mn(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 js=(e,t,r)=>new Is(e,t).update(r).digest();js.create=(e,t)=>new Is(e,t);const Ns=(e,t)=>(e+(e>=0?t:-t)/Gs)/t;function Ls(e){if(!["compact","recovered","der"].includes(e))throw new Error('Signature format must be "compact", "recovered", or "der"');return e}function Us(e,t){const r={};for(let n of Object.keys(t))r[n]=void 0===e[n]?t[n]:e[n];return lo(r.lowS,"lowS"),lo(r.prehash,"prehash"),void 0!==r.format&&Ls(r.format),r}class Rs extends Error{constructor(e=""){super(e)}}const Ms={Err:Rs,_tlv:{encode:(e,t)=>{const{Err:r}=Ms;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=ho(n);if(o.length/2&128)throw new r("tlv.encode: long form length too big");const i=n>127?ho(o.length/2|128):"";return ho(e)+i+o+t},decode(e,t){const{Err:r}=Ms;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}=Ms;if(e<Bs)throw new t("integer: negative integers are not allowed");let r=ho(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}=Ms;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 go(e)}},toSig(e){const{Err:t,_int:r,_tlv:n}=Ms,o=mn(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}=Ms,n=t.encode(2,r.encode(e.r)),o=t.encode(2,r.encode(e.s));return t.encode(48,n+o)}},Bs=BigInt(0),_s=BigInt(1),Gs=BigInt(2),Vs=BigInt(3),qs=BigInt(4);function zs(e,t={}){const r=ui("weierstrass",e,t),{Fp:n,Fn:o}=r;let i=r.CURVE;const{h:s,n:a}=i;So(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=Ks(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 lo(r,"isCompressed"),r?(l(),Tn(Hs(!n.isOdd(i)),s)):Tn(Uint8Array.of(4),s,n.toBytes(i))},h=t.fromBytes||function(e){mn(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,Vs),qs),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=Ns(s*e,r),u=Ns(-o*e,r);let c=e-a*n-u*i,l=-a*o-u*s;const f=c<Bs,h=l<Bs;f&&(c=-c),h&&(l=-l);const d=Eo(Math.ceil(function(e){let t;for(t=0;e>uo;e>>=co,t+=1);return t}(r)/2))+_s;if(c<Bs||c>=d||l<Bs||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=Ao((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=Ao(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=Yo(o,t),r=Yo(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(mn(e,void 0,"point")));return t.assertValidity(),t}static fromHex(e){return S.fromBytes(An(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(Vs),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,Vs),{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,Vs);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=>Xo(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 Xo(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===Bs||n.is0())return S.ZERO;if(e===_s)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>Jo||n>Jo;)r&Wo&&(i=i.add(o)),n&Wo&&(s=s.add(o)),o=o.double(),r>>=Wo,n>>=Wo;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===_s||(e?e(S,this):T.unsafe(this,a).is0())}clearCofactor(){const{clearCofactor:e}=t;return s===_s?this:e?e(S,this):this.multiplyUnsafe(s)}isSmallOrder(){return this.multiplyUnsafe(s).is0()}toBytes(e=!0){return lo(e,"isCompressed"),this.assertValidity(),f(S,this,e)}toHex(e=!0){return En(this.toBytes(e))}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}}const A=o.BITS,T=new si(S,t.endo?Math.ceil(A/2):A);return S.BASE.precompute(8),S}function Hs(e){return Uint8Array.of(e?2:3)}function Ks(e,t){return{secretKey:t.BYTES,publicKey:1+e.BYTES,publicKeyUncompressed:1+2*e.BYTES,publicKeyHasPrefix:!0,signature:2*t.BYTES}}function Zs(e,t,r={}){gn(t),So(r,{},{hmac:"function",lowS:"boolean",randomBytes:"function",bits2int:"function",bits2int_modN:"function"});const n=(r=Object.assign({},r)).randomBytes||kn,o=r.hmac||((e,r)=>js(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||kn,o=Object.assign(Ks(e.Fp,r),{seed:$o(r.ORDER)});function i(e=n(o.seed)){return function(e,t,r=!1){mn(e);const n=e.length,o=Zo(t),i=$o(t);if(n<16||n<i||n>1024)throw new Error("expected "+i+"-1024 bytes of input, got "+n);const s=Lo(r?vo(e):go(e),t-xo)+xo;return r?yo(s,o):po(s,o)}(mn(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(!hn(e))return;if("_lengths"in r&&r._lengths||t===n)return;const s=mn(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=ci(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*Gs<i.ORDER;function v(e){return e>a>>_s}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){Ls(t);const r=d.signature;return mn(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}=Ms.toSig(mn(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(An(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(Tn(Hs(!(1&o)),c)),f=s.inv(u),h=E(mn(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(Ls(e),"der"===e)return An(Ms.hexFromSig(this));const{r:t,s:r}=this,n=s.toBytes(t),o=s.toBytes(r);return"recovered"===e?(y(),Tn(Uint8Array.of(this.assertRecovery()),n,o)):Tn(n,o)}toHex(e){return En(this.toBytes(e))}}const w=r.bits2int||function(e){if(e.length>8192)throw new Error("input is too large");const t=go(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=Eo(u);function A(e){return wo("num < 2^"+u,e,Bs,S),s.toBytes(e)}function T(e,r){return mn(e,void 0,"message"),r?mn(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}=Us(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(mn(e,void 0,"extraEntropy"))}const h=Tn(...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===Bs)return;const u=s.create(n*s.create(p+a*l));if(u===Bs)return;let c=(o.x===a?0:2)|Number(o.y&_s),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(dn(e,"hashLen"),dn(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,Tn(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 Tn(...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}=Us(o,m);if(n=mn(n,void 0,"publicKey"),r=T(r,a),!hn(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}=Us(r,m);return t=T(t,n),P.fromBytes(e,"recovered").recoverPublicKey(t).toBytes()},Signature:P,hash:t})}const $s={p:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),n:BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),h:BigInt(1),a:BigInt(0),b:BigInt(7),Gx:BigInt("0x79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"),Gy:BigInt("0x483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8")},Js={beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),basises:[[BigInt("0x3086d221a7d46bcde86c90e49284eb15"),-BigInt("0xe4437ed6010e88286f547fa90abfe4c3")],[BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),BigInt("0x3086d221a7d46bcde86c90e49284eb15")]]},Ws=/* @__PURE__ */BigInt(2),Ys=Ko($s.p,{sqrt:function(e){const t=$s.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=Uo(l,r,t)*l%t,h=Uo(f,r,t)*l%t,d=Uo(h,Ws,t)*c%t,m=Uo(d,o,t)*d%t,g=Uo(m,i,t)*m%t,v=Uo(g,a,t)*g%t,p=Uo(v,u,t)*v%t,y=Uo(p,a,t)*g%t,b=Uo(y,r,t)*l%t,P=Uo(b,s,t)*m%t,w=Uo(P,n,t)*c%t,E=Uo(w,Ws,t);if(!Ys.eql(Ys.sqr(E),e))throw new Error("Cannot find square root");return E}}),Xs=/* @__PURE__ */Zs(/* @__PURE__ */zs($s,{Fp:Ys,endo:Js}),so);class Qs{type="secp256k1";raw;_key;constructor(e){this._key=function(e){try{return Xs.Point.fromBytes(e),e}catch(e){throw new lt(String(e))}}(e),this.raw=function(e){return Xs.Point.fromBytes(e).toBytes()}(this._key)}toMultihash(){return gr(ea(this))}toCID(){return cr.createV1(114,this.toMultihash())}toString(){return kt.encode(this.toMultihash().bytes).substring(1)}equals(e){return null!=e&&e.raw instanceof Uint8Array&&vr(this.raw,e.raw)}verify(e,t,r){return function(e,t,r,n){const o=Mr.digest(r instanceof Uint8Array?r:r.subarray());if(Di(o))return o.then(({digest:r})=>(n?.signal?.throwIfAborted(),Xs.verify(t,r,e,{prehash:!1,format:"der"}))).catch(e=>{if("AbortError"===e.name)throw e;throw new xi(String(e))});try{return n?.signal?.throwIfAborted(),Xs.verify(t,o.digest,e,{prehash:!1,format:"der"})}catch(e){throw new xi(String(e))}}(this._key,t,e,r)}}function ea(e){return Fs.encode({Type:Cs[e.type],Data:e.raw})}const ta=Symbol.for("nodejs.util.inspect.custom");class ra{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()})`}[vt]=!0;toString(){return null==this.string&&(this.string=kt.encode(this.multihash.bytes).slice(1)),this.string}toMultihash(){return this.multihash}toCID(){return cr.createV1(114,this.multihash)}toJSON(){return this.toString()}equals(e){if(null==e)return!1;if(e instanceof Uint8Array)return vr(this.multihash.bytes,e);if("string"==typeof e)return this.toString()===e;if(null!=e?.toMultihash()?.bytes)return vr(this.multihash.bytes,e.toMultihash().bytes);throw new Error("not valid Id")}[ta](){return`PeerId(${this.toString()})`}}class na extends ra{type="RSA";publicKey;constructor(e){super({...e,type:"RSA"}),this.publicKey=e.publicKey}}class oa extends ra{type="Ed25519";publicKey;constructor(e){super({...e,type:"Ed25519"}),this.publicKey=e.publicKey}}class ia extends ra{type="secp256k1";publicKey;constructor(e){super({...e,type:"secp256k1"}),this.publicKey=e.publicKey}}class sa{type="url";multihash;publicKey;url;constructor(e){this.url=e.toString(),this.multihash=gr(zr(this.url))}[ta](){return`PeerId(${this.url})`}[vt]=!0;toString(){return this.toCID().toString()}toMultihash(){return this.multihash}toCID(){return cr.createV1(2336,this.toMultihash())}toJSON(){return this.toString()}equals(e){return null!=e&&(e instanceof Uint8Array&&(e=Hr(e)),e.toString()===this.toString())}}function aa(e,t){let r;if("1"===e.charAt(0)||"Q"===e.charAt(0))r=or(kt.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 ft("Supplied PeerID CID is invalid");if(2336===e.code){const t=Hr(e.multihash.digest);return new sa(new URL(t))}return ua(e.multihash)}(cr.parse(e));if(null==t)throw new ct('Please pass a multibase decoder for strings that do not start with "1" or "Q"');r=or(t.decode(e))}return ua(r)}function ua(e){if(function(e){return e.code===Mr.code}(e))return new na({multihash:e});if(function(e){return 0===e.code}(e))try{const t=function(e){const{Type:t,Data:r}=Fs.decode(e.digest),n=r??new Uint8Array;switch(t){case Cs.Ed25519:return o=ji(o=n,32),new Ii(o);case Cs.secp256k1:return function(e){return new Qs(e)}(n);case Cs.ECDSA:return function(e){return function(e){const t=e[1][1][0];let r,n;if(65===t.byteLength)return r=Hr(t.subarray(1,33),"base64url"),n=Hr(t.subarray(33),"base64url"),new fn({...an,key_ops:["verify"],x:r,y:n});if(97===t.byteLength)return r=Hr(t.subarray(1,49),"base64url"),n=Hr(t.subarray(49),"base64url"),new fn({...un,key_ops:["verify"],x:r,y:n});if(133===t.byteLength)return r=Hr(t.subarray(1,67),"base64url"),n=Hr(t.subarray(67),"base64url"),new fn({...cn,key_ops:["verify"],x:r,y:n});throw new ct(`coordinates were wrong length, got ${t.byteLength}, expected 65, 97 or 133`)}(Wr(e))}(n);default:throw new gt}var o}(e);if("Ed25519"===t.type)return new oa({multihash:e,publicKey:t});if("secp256k1"===t.type)return new ia({multihash:e,publicKey:t})}catch(t){const r=Hr(e.digest);return new sa(new URL(r))}throw new ht("Supplied PeerID Multihash is invalid")}function ca(e,t){var r=N.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=L(r.toHex(),Buffer.from(t));return Buffer.from(n).toString("hex")}function la(e,t){try{var r=e()}catch(e){return t(e)}return r&&r.then?r.then(void 0,t):r}var fa=/*#__PURE__*/function(){function e(){}var t=e.prototype;return t.getConsumerAddress=function(e){return Ua(e)},t.getSignature=function(e,t,r){return La(e,t,r)},t.getAuthorization=function(e){return Ra(e)},t.getEndpoints=function(e,t){try{var r=this;return Promise.resolve(la(function(){return Promise.resolve(r.getData(e,t)).then(function(e){return Promise.resolve(e.json())})},function(e){throw fe.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?la(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 fe.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,Y.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,la(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 fe.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 fe.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=ne(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=la(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 fe.error("File info call failed: "),fe.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 fe.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=ne(e);!(r=n()).done;)u.push(r.value);return t=1,u})}();return n&&n.then?n.then(r):r(n)}var s,a=oe({},e,{checksum:r}),u=[],c=o.getEndpointURL(t,"fileinfo")?o.getEndpointURL(t,"fileinfo").urlPath:null;if(!c)return null;var l=la(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 fe.error("File info call failed: "),fe.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 fe.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=la(function(){return Promise.resolve(F(s,{method:"GET",headers:{"Content-Type":"application/json"},signal:t})).then(function(e){i=e})},function(e){throw fe.error("Fetch compute env failed: "),fe.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 fe.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=la(function(){return Promise.resolve(F(h,{method:"GET",headers:{"Content-Type":"application/json"},signal:i})).then(function(e){f=e})},function(e){throw fe.error("Provider initialized failed: "),fe.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){try{var f=this;return Promise.resolve(f.getEndpoints(i)).then(function(h){return Promise.resolve(f.getServiceEndpoints(i,h)).then(function(i){function h(e){var t;function r(e){return t?e:Promise.resolve(m.json()).then(function(e){throw fe.error("Initialize compute failed: ",m.status,m.statusText,e),fe.error("Payload was:",JSON.stringify(g)),new Error(JSON.stringify(e))})}var n=function(e){if(null!=(e=m)&&e.ok)return Promise.resolve(m.json()).then(function(e){return t=1,e})}();return n&&n.then?n.then(r):r(n)}var d=f.getEndpointURL(i,"initializeCompute")?f.getEndpointURL(i,"initializeCompute").urlPath:null;if(!d)return null;var m,g={datasets:e,algorithm:t,environment:r,payment:{chainId:u,token:n,resources:a},maxJobDuration:o,consumerAddress:s};c&&(g.policyServer=c);var v=la(function(){return Promise.resolve(F(d,{method:"POST",body:JSON.stringify(g),headers:{"Content-Type":"application/json"},signal:l})).then(function(e){return m=e,function(){if(!m.ok)return Promise.resolve(m.text()).then(function(e){throw new Error(""+e)})}()})},function(e){throw fe.error("Initialize compute failed: "),fe.error(e),new Error("ComputeJob cannot be initialized: "+e.message+".")});return v&&v.then?v.then(h):h()})})}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,Y.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,Y.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 fe.error("Compute start failed: ",e.status,e.statusText,t),fe.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=la(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 fe.error("Compute start failed:"),fe.error(e),fe.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=ca(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=ca(e,JSON.stringify(g)))})}();return S&&S.then?S.then(w):w()})})}):(fe.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,Y.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 fe.error("Compute start failed: ",e.status,e.statusText,t),fe.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=la(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 fe.error("Compute start failed:"),fe.error(e),fe.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=ca(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=ca(e,JSON.stringify(h)))})}();return P&&P.then?P.then(y):y()})})}):(fe.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=fe.error,i=e.statusText,s=e.status;return Promise.resolve(e.json()).then(function(e){return o.call(fe,"computeStreamableLogs failed: ",s,i,e),null})}var i=la(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 fe.error("computeStreamableLogs failed:"),fe.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,Y.COMPUTE_GET_STREAMABLE_LOGS)).then(function(e){l+="&signature="+e,l+="&nonce="+a})}();return f&&f.then?f.then(s):s()})}):(fe.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,Y.COMPUTE_STOP)).then(function(t){function u(e){var t;function r(e){return t?e:Promise.resolve(h.json()).then(function(e){throw fe.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=la(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 fe.error("Compute stop failed:"),fe.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(Ua(t)).then(function(s){var a=Ra(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 fe.error("Get compute status failed:",u.status,u.statusText,e),new Error(JSON.stringify(e))})}fe.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=la(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 fe.error("Get compute status failed"),fe.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,Y.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,Y.CREATE_AUTH_TOKEN)).then(function(e){return la(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 fe.error("Generate auth token failed:"),fe.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(at(e,i+o)).then(function(e){return la(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 fe.error("Generate auth token failed:"),fe.error(e),new Error("HTTP request failed calling Provider")})})})})})})}catch(e){return Promise.reject(e)}},t.isValidProvider=function(e,t){try{return Promise.resolve(la(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 fe.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 fe.error("PolicyServerPassthrough failed: ",i.status,i.statusText,e),fe.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=la(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 fe.error("PolicyServerPassthrough failed: "),fe.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 fe.error("initializePSVerification failed: ",i.status,i.statusText,e),fe.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=la(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 fe.error("initializePSVerification failed: "),fe.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,Y.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 fe.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=la(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 fe.error("Download node logs failed:"),fe.error(e),new Error("HTTP request failed calling Provider")});return m&&m.then?m.then(t):t()})})}):(fe.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 fe.debug("Not input string:"),fe.debug(e),new Error("["+r+"] Expected string, input type: "+typeof e);var n=e.match(t);return n?{valid:!0,output:n[1]}:(fe.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(at(r,i+a+Y.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 ha extends Error{name="TimeoutError";constructor(e,t){super(e,t),Error.captureStackTrace?.(this,ha)}}const da=e=>e.reason??new DOMException("This operation was aborted.","AbortError");function ma(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(da(s));if(s&&(u=()=>{c(da(s))},s.addEventListener("abort",u,{once:!0})),e.then(t,c),r===Number.POSITIVE_INFINITY)return;const l=new ha;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 ga(e){return e.reason}async function va(e,t,r){if(null==t)return e;const n=r?.translateError??ga;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 pa{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";[pt]=["@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 mt("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 ma(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 ct("random bytes length must be a Number bigger than 0");return kn(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 Sr,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(!vr(r,i.subarray()))throw new dt(`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 va(o.promise,t.signal)}catch(t){throw o.error("error while pinging %o - %e",e,t),n?.abort(t),t}finally{n?.close()}}}function ya(e={}){return t=>new pa(t,e)}class ba extends Error{static name="UnexpectedEOFError";name="UnexpectedEOFError"}class Pa extends Error{static name="UnwrappedError";name="UnwrappedError"}class wa extends Error{name="InvalidMessageLengthError";code="ERR_INVALID_MSG_LENGTH"}class Ea extends Error{name="InvalidDataLengthError";code="ERR_MSG_DATA_TOO_LONG"}class Sa extends Error{name="InvalidDataLengthLengthError";code="ERR_MSG_LENGTH_TOO_LONG"}function Aa(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 Ta(e,t,r){if(!e.s){if(r instanceof xa){if(!r.s)return void(r.o=Ta.bind(null,e,t));1&t&&(t=r.s),r=r.v}if(r&&r.then)return void r.then(Ta.bind(null,e,t),Ta.bind(null,e,2));e.s=t,e.v=r;const n=e.o;n&&n(e)}}var xa=/*#__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{Ta(n,1,i(this.v))}catch(e){Ta(n,2,e)}return n}return this}return this.o=function(e){try{var o=e.v;1&e.s?Ta(n,1,t?t(o):o):r?Ta(n,1,r(o)):Ta(n,2,o)}catch(e){Ta(n,2,e)}},n},e}();function ka(e){return e instanceof xa&&1&e.s}function Ca(e,t,r){for(var n;;){var o=e();if(ka(o)&&(o=o.v),!o)return i;if(o.then){n=0;break}var i=r();if(i&&i.then){if(!ka(i)){n=1;break}i=i.s}if(t){var s=t();if(s&&s.then&&!ka(s)){n=2;break}}}var a=new xa,u=Ta.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&&!ka(s))return void s.then(f).then(void 0,u);if(!(o=e())||ka(o)&&!o.v)return void Ta(a,1,i);if(o.then)return void o.then(l).then(void 0,u);ka(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):Ta(a,1,i)}function f(){(o=e())?o.then?o.then(l).then(void 0,u):l(o):Ta(a,1,i)}}function Oa(e,t){try{var r=e()}catch(e){return t(e)}return r&&r.then?r.then(void 0,t):r}function Fa(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 Da="/ocean/nodes/1.0.0",Ia=1e4,ja=["/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"],Na=/*#__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=Fa(function(){return Oa(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 te(t.call(e));r="@@asyncIterator",n="@@iterator"}throw new TypeError("Object is not async iterable")}(h.findPeer(aa(e),{signal:AbortSignal.timeout(2e4)})),Ca(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===z.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=Fa(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:ja).map(I);return Promise.resolve(U(oe({addresses:{listen:[]},transports:[B(),G()].concat(t.p2pConfig.enableTcp?[_()]:[]),connectionEncrypters:[R()],streamMuxers:[M()],peerDiscovery:[].concat(r.length>0?[V({list:r.map(String),timeout:1e4})]:[]),services:{identify:q(),ping:ya(),dht:H({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){fe.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.isDialable=function(e){return"undefined"==typeof window||e.toString().includes("/tls/sni")},t.peerIdFromMultiaddr=function(e){var t=e.toString().split("/p2p/");return t.length>1?t[t.length-1]:null},t.getConnection=function(e,t){try{var r=this;return Promise.resolve(r.getOrCreateLibp2pNode()).then(function(n){var o;function i(i){var s;if(o)return i;function a(o){return s?o:(fe.debug("[P2P] bare peerId -> dialByPeerId "+e),r.dialByPeerId(n,e,t))}var u=Oa(function(){function o(o){if(s)return o;var a=r.peerIdFromMultiaddr(i);if(a){fe.debug("[P2P] single fallback -> dialByPeerId "+a);var u=r.dialByPeerId(n,a,t);return s=1,u}throw new Error("Cannot dial address: "+e)}var i=I(e),a=function(){if(r.isDialable(i))return fe.debug("[P2P] dial single addr: "+i),Oa(function(){return Promise.resolve(n.dial(i,{signal:t})).then(function(e){return fe.debug("[P2P] dial single SUCCESS via "+e.remoteAddr),s=1,e})},function(e){fe.debug("[P2P] dial single failed: "+e.message)})}();return a&&a.then?a.then(o):o(a)},function(e){var t;if(null!=(t=e.message)&&t.includes("Cannot dial"))throw e});return u&&u.then?u.then(a):a(u)}var s=function(){if(Array.isArray(e)){var i=function(i){if(o)return i;for(var s,a=ne(e);!(s=a()).done;){var u=r.peerIdFromMultiaddr(s.value);if(u){fe.debug("[P2P] Not multiaddrs, fallback to peerId: "+u);var c=r.dialByPeerId(n,u,t);return o=1,c}}throw new Error("No valid addresses and no peer ID in multiaddrs")},s=e.filter(function(e){return r.isDialable(e)}),a=function(){if(s.length>0)return fe.debug("[P2P] dial array: "+s.length+" dialable addrs"),Oa(function(){return Promise.resolve(n.dial(s,{signal:t})).then(function(e){return fe.debug("[P2P] dial array SUCCESS via "+e.remoteAddr),o=1,e})},function(e){fe.debug("[P2P] dial array failed: "+e.message)})}();return a&&a.then?a.then(i):i(a)}}();return s&&s.then?s.then(i):i(s)})}catch(e){return Promise.reject(e)}},t.dialByPeerId=function(e,t,r){try{var n,o=function(o){if(n)return o;function a(){var n;function o(r){return n?r:(fe.debug("[P2P] "+t+": last resort dial by peerId"),Oa(function(){return Promise.resolve(e.dial(s,{signal:AbortSignal.timeout(1e4)})).then(function(e){return fe.debug("[P2P] "+t+": peerId dial SUCCESS via "+e.remoteAddr+" (limited="+(null!=e.limits)+")"),e})},function(){throw new Error("Cannot reach peer "+t+". "+(c.length>0?"Found addrs: "+c.map(String).join(", ")+" (none browser-dialable). ":"No addresses found. ")+"Active connections: "+e.getConnections().length+".")}))}var a=c.filter(function(e){return i.isDialable(e)}).map(function(e){var r=e.toString();return r.includes("/p2p/")?e:I(r+"/p2p/"+t)});fe.debug("[P2P] "+t+": "+a.length+"/"+c.length+" addrs are dialable");var u=function(){if(a.length>0)return fe.debug("[P2P] "+t+": dialing "+a.map(String)),Oa(function(){return Promise.resolve(e.dial(a,{signal:r})).then(function(e){return fe.debug("[P2P] "+t+": SUCCESS via "+e.remoteAddr+" (limited="+(null!=e.limits)+")"),n=1,e})},function(e){fe.debug("[P2P] "+t+": direct dial failed: "+e.message)})}();return u&&u.then?u.then(o):o(u)}var u=new Set,c=[],l=function(e){var t=e.toString();u.has(t)||(u.add(t),c.push(e))},f=i.discoveredNodes.get(t);if(f){for(var h,d=ne(f);!(h=d()).done;){var m=h.value;try{l(I(m))}catch(e){}}fe.debug("[P2P] "+t+": "+f.length+" cached addrs")}var g=c.filter(function(e){return i.isDialable(e)}),v=function(){if(0===g.length){fe.debug("[P2P] "+t+": no cached dialable addrs, querying DHT...");var r=Oa(function(){var r,n=AbortSignal.timeout(null!=(r=i.p2pConfig.dhtLookupTimeout)?r:6e4);return Promise.resolve(e.peerRouting.findPeer(s,{signal:n})).then(function(e){for(var r,n=ne(e.multiaddrs);!(r=n()).done;)l(r.value);fe.debug("[P2P] "+t+": DHT returned "+e.multiaddrs.length+" addrs")})},function(e){fe.debug("[P2P] "+t+": DHT findPeer failed: "+e.message)});if(r&&r.then)return r.then(function(){})}else fe.debug("[P2P] "+t+": "+g.length+" cached dialable addrs, skipping DHT")}();return v&&v.then?v.then(a):a()},i=this,s=aa(t),a=e.getConnections(s).filter(function(e){return"open"===e.status});if(a.length>0)return fe.debug("[P2P] "+t+": reusing existing connection via "+a[0].remoteAddr),Promise.resolve(a[0]);var u=function(){if(0===e.getConnections().length)return fe.debug("[P2P] "+t+": no connections yet, waiting for bootstrap..."),Promise.resolve(it(3e3)).then(function(){var r=e.getConnections(s);if(r.length>0)return fe.debug("[P2P] "+t+": connected during bootstrap wait"),n=1,r[0]})}();return Promise.resolve(u&&u.then?u.then(o):o(u))}catch(e){return Promise.reject(e)}},t.getConsumerAddress=function(e){return Ua(e)},t.getSignature=function(e,t,r){return La(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 Ra(e)},t.dialAndStream=function(e,t,r){try{var n,o=this,i=null!=r?r:AbortSignal.timeout(null!=(n=o.p2pConfig.dialTimeout)?n:Ia);return Promise.resolve(o.getConnection(e,i)).then(function(e){return Oa(function(){return Promise.resolve(e.newStream(Da,{signal:i,runOnLimitedConnection:!0})).then(function(r){var n=function(e,t={}){const r=function(e,t){const r=t?.maxBufferSize??4194304,n=new Sr;let o,i=!1;if(s=e,null==s?.addEventListener||null==s?.removeEventListener||null==s?.send||null==s?.push||null==s?.log)throw new ct("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 Pa("Stream was unwrapped");if(Aa(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 ba(`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 va(o.promise,t?.signal),Aa(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(Aa(e))throw e.log.error("closed while reading %d/%d bytes",n.byteLength,s),new ba(`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 Pa("Stream was unwrapped");e.send(t)||await ma(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=qi(t.maxDataLength));const n=t?.lengthDecoder??Zi,o=t?.lengthEncoder??Ki;return{async read(o){let i=-1;const s=new Sr;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 wa("Invalid message length");if(null!=t?.maxLengthLength&&s.byteLength>t.maxLengthLength)throw new Sa(`Message length length too long - ${s.byteLength} > ${t.maxLengthLength}`);if(i>-1)break}if(null!=t?.maxDataLength&&i>t.maxDataLength)throw new Ea(`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 ba(`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 ba(`Unexpected EOF - read ${a.byteLength}/${i} bytes before the stream closed`);return a},async write(e,t){await r.write(new Sr(o(e.byteLength),e),t)},async writeV(e,t){const n=new Sr(...e.flatMap(e=>[o(e.byteLength),e]));await r.write(n,t)},unwrap:()=>r.unwrap()}}(r);return Promise.resolve(n.write((new TextEncoder).encode(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}})})})})},function(t){try{e.abort(new Error("stream failed"))}catch(e){}throw t})})}catch(e){return Promise.reject(e)}},t.sendP2pCommand=function(e,t,r,n,o,i){void 0===i&&(i=0);try{var s=this;return Promise.resolve(Oa(function(){var a=oe({command:t,authorization:n?s.getAuthorization(n):void 0},r);return Promise.resolve(s.dialAndStream(e,a,o)).then(function(a){var u=a.lp,c=a.firstBytes;function l(a){for(var u,c,l,f=0;f<m.length;f++){var h=(new TextDecoder).decode(m[f]);try{l=JSON.parse(h)}catch(e){l=m[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 g=null!=(u="string"==typeof l?l:null==d?void 0:d.error)?u:"",v=function(a){if(g.includes("Cannot connect to peer")&&i<(null!=(a=s.p2pConfig.maxRetries)?a:5))return Promise.resolve(new Promise(function(e){var t;return setTimeout(e,null!=(t=s.p2pConfig.retryDelay)?t:1e3)})).then(function(){var a=s.sendP2pCommand(e,t,r,n,o,i+1);return c=1,a})}();return v&&v.then?v.then(function(e){return c?e:l}):c?v:l}if(!c.length)throw new Error("Gateway node error: no response from peer");var f=(new TextDecoder).decode(c);try{var h,d=JSON.parse(f);if("number"==typeof(null==d?void 0:d.httpStatus)&&d.httpStatus>=400)throw new Error(null!=(h=d.error)?h:"Gateway node error: "+d.httpStatus)}catch(e){}if(t===Y.COMPUTE_GET_STREAMABLE_LOGS||t===Y.COMPUTE_GET_RESULT)return ue(/*#__PURE__*/se().mark(function e(){var t;return se().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:e.prev=0;case 1:return e.next=4,re(u.read({signal:AbortSignal.timeout(Ia)}));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 ba){e.next=15;break}throw e.t0;case 15:case"end":return e.stop()}},e,null,[[0,11]])}))();var m=[c],g=Oa(function(){var e=Ca(function(){return!0},void 0,function(){var e;return Promise.resolve(u.read({signal:AbortSignal.timeout(null!=(e=s.p2pConfig.dialTimeout)?e:Ia)})).then(function(e){m.push(s.toUint8Array(e))})});if(e&&e.then)return e.then(function(){})},function(e){if(!(e instanceof ba))throw e});return g&&g.then?g.then(l):l()})},function(a){var u,c;function l(e){if(c)return e;throw new Error("P2P command error: "+f)}var f=null!=(u=null==a?void 0:a.message)?u:"",h=function(a){if((f.includes("closed")||f.includes("reset"))&&i<(null!=(a=s.p2pConfig.maxRetries)?a:5))return fe.debug("[P2P] Stream reset/closed on attempt "+(i+1)+", retrying..."),Promise.resolve(it(1e3)).then(function(){var a=s.sendP2pCommand(e,t,r,n,o,i+1);return c=1,a})}();return h&&h.then?h.then(l):l(h)}))}catch(e){return Promise.reject(e)}},t.getEndpoints=function(e){try{var t=this;return Promise.resolve(Oa(function(){return Promise.resolve(t.sendP2pCommand(e,Y.STATUS,{}))},function(e){throw fe.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(Oa(function(){return Promise.resolve(n.sendP2pCommand(e,Y.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 fe.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,Y.ENCRYPT)).then(function(a){return Promise.resolve(s.sendP2pCommand(r,Y.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,Y.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,Y.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,Y.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,Y.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){try{var f={datasets:e,algorithm:t,environment:r,payment:{chainId:u,token:n,resources:a},maxJobDuration:o,consumerAddress:s};return c&&(f.policyServer=c),Promise.resolve(this.sendP2pCommand(i,Y.COMPUTE_INITIALIZE,f,null,l))}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,Y.DOWNLOAD)).then(function(l){var h={command:Y.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=(new TextDecoder).decode(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=Oa(function(){var e=Ca(function(){return!0},void 0,function(){var e;return Promise.resolve(t.read({signal:AbortSignal.timeout(null!=(e=u.p2pConfig.dialTimeout)?e:Ia)})).then(function(e){c.push(Buffer.from(u.toUint8Array(e)))})});if(e&&e.then)return e.then(function(){})},function(e){if(!(e instanceof ba))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,Y.COMPUTE_START)).then(function(y){function P(){function r(){return Promise.resolve(v.sendP2pCommand(e,Y.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=ca(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=ca(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,Y.FREE_COMPUTE_START)).then(function(g){function p(){function r(){return Promise.resolve(d.sendP2pCommand(e,Y.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=ca(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=ca(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,Y.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,Y.COMPUTE_GET_STREAMABLE_LOGS)).then(function(s){return o.sendP2pCommand(e,Y.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,Y.COMPUTE_STOP)).then(function(a){var c={jobId:e,consumerAddress:s,nonce:u,signature:a};return n&&(c.agreementId=n),i.sendP2pCommand(t,Y.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,Y.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=e.firstBytes,s=JSON.parse((new TextDecoder).decode(o));if("number"==typeof(null==s?void 0:s.httpStatus)&&s.httpStatus>=400)throw new Error(null!=(r=s.error)?r:"P2P compute result error: "+s.httpStatus);var a=null!=(t=i.p2pConfig.dialTimeout)?t:Ia;return ue(/*#__PURE__*/se().mark(function e(){var t;return se().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:e.prev=0;case 1:return e.next=4,re(n.read({signal:AbortSignal.timeout(a)}));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 ba){e.next=15;break}throw e.t0;case 15:case"end":return e.stop()}},e,null,[[0,11]])}))()})}var u={command:Y.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,Y.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,Y.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,Y.CREATE_AUTH_TOKEN)).then(function(e){return Promise.resolve(n.sendP2pCommand(t,Y.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,Y.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(at(r,i+a+Y.VALIDATE_DDO)).then(function(r){return Promise.resolve(o.sendP2pCommand(e,Y.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(at(e,i+a)).then(function(e){return o.sendP2pCommand(r,Y.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(Oa(function(){return Promise.resolve(r.sendP2pCommand(e,Y.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,Y.POLICY_SERVER_PASSTHROUGH,oe({},t),null,r))}catch(e){return Promise.reject(e)}},t.initializePSVerification=function(e,t,r){try{return Promise.resolve(this.sendP2pCommand(e,Y.POLICY_SERVER_PASSTHROUGH,oe({},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,Y.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,Y.GET_LOGS,d,t,u)})})})}catch(e){return Promise.reject(e)}},t.fetchConfig=function(e,t){try{return Promise.resolve(this.sendP2pCommand(e,Y.FETCH_CONFIG,t))}catch(e){return Promise.reject(e)}},t.pushConfig=function(e,t){try{return Promise.resolve(this.sendP2pCommand(e,Y.PUSH_CONFIG,t))}catch(e){return Promise.reject(e)}},e}(),La=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 at(e,s)})}catch(e){return Promise.reject(e)}},Ua=function(e){try{return Promise.resolve("string"==typeof e?function(e){try{return j.decode(e,{json:!0})}catch(e){throw new Error("Error decoding JWT")}}(e).address:e.getAddress())}catch(e){return Promise.reject(e)}};function Ra(e){return"string"==typeof e?e:void 0}function Ma(e){if(Array.isArray(e))return!0;if(!e)return!1;try{return I(e),!0}catch(e){}try{return aa(e),!0}catch(e){return!1}}var Ba=/*#__PURE__*/function(){function e(){this.httpProvider=new fa,this.p2pProvider=new Na}var t=e.prototype;return t.getImpl=function(e){return Array.isArray(e)||Ma(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){try{return Promise.resolve(this.getImpl(i).initializeCompute(e,t,r,n,o,i,s,a,u,c,l))}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}(),_a=new Ba;function Ga(e,t){try{var r=e()}catch(e){return t(e)}return r&&r.then?r.then(void 0,t):r}function Va(e,t,r){if(!e.s){if(r instanceof qa){if(!r.s)return void(r.o=Va.bind(null,e,t));1&t&&(t=r.s),r=r.v}if(r&&r.then)return void r.then(Va.bind(null,e,t),Va.bind(null,e,2));e.s=t,e.v=r;var n=e.o;n&&n(e)}}var qa=/*#__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{Va(n,1,i(this.v))}catch(e){Va(n,2,e)}return n}return this}return this.o=function(e){try{var o=e.v;1&e.s?Va(n,1,t?t(o):o):r?Va(n,1,r(o)):Va(n,2,o)}catch(e){Va(n,2,e)}},n},e}();function za(e){return e instanceof qa&&1&e.s}var Ha=/*#__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 Ga(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 fe.error(e),new Error("HTTP request failed")})},i=this,s=function(){if(Ma(i.aquariusURL))return Promise.resolve(_a.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&&(fe.warn("Max Limit exceeded, defaulting to 500 retries."),o=500);var c=Ma(a.aquariusURL),l=function(e,t){var r;do{var n=e();if(n&&n.then){if(!za(n)){r=!0;break}n=n.v}var o=t();if(za(o)&&(o=o.v),!o)return n}while(!o.then);var i=new qa,s=Va.bind(null,i,2);return(r?n.then(a):o.then(u)).then(void 0,s),i;function a(r){for(n=r;za(o=t())&&(o=o.v),o;){if(o.then)return void o.then(u).then(void 0,s);if((n=e())&&n.then){if(!za(n))return void n.then(a).then(void 0,s);n=n.v}}Va(i,1,n)}function u(r){if(r){do{if((n=e())&&n.then){if(!za(n))return void n.then(a).then(void 0,s);n=n.v}if(za(r=t())&&(r=r.v),!r)return void Va(i,1,n)}while(!r.then);r.then(u).then(void 0,s)}else Va(i,1,n)}}(function(){function o(e){return s?e:Promise.resolve(it(n)).then(function(){u++})}var l=Ga(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(_a.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(Ma(r))return Promise.resolve(_a.validateDdo(r,e,t,n));var i=r+"/api/aquarius/assets/ddo/validate",s=r+"/api/services/nonce";return Promise.resolve(Ga(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(Y.VALIDATE_DDO));return Promise.resolve(at(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:Ra(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){fe.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(Ga(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 fe.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(Ga(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 fe.error("Error querying metadata: ",e),new Error("Error querying metadata: "+e)}))}catch(e){return Promise.reject(e)}},e}();function Ka(e,t){return e=l(e),"did:op:"+K(e+t.toString(10)).toString()}function Za(e){return K(e).toString()}var $a=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 Ja(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,pe,e);return Promise.resolve(r.decimals()).then(Number)}catch(e){return Promise.reject(e)}},Ya=function(e,t,r,n){try{var i=new o.Contract(t,pe,e);return Promise.resolve(i.allowance(r,n))}catch(e){return Promise.reject(e)}},Xa=function(e,t,r,n){try{var i=new o.Contract(t,pe,e);return Promise.resolve(i.balanceOf(r)).then(function(r){return Promise.resolve(Pe(e,t,r,n))})}catch(e){return Promise.reject(e)}},Qa=function(e,t,r,n,i){try{var s=new o.Contract(t,pe,e);return Promise.resolve(s.allowance(r,n)).then(function(r){return Promise.resolve(Pe(e,t,r,i))})}catch(e){return Promise.reject(e)}},eu=function(e,t,r,n,i,s,a){try{var u=new o.Contract(r,pe,e);return Promise.resolve(be(e,r,i,s)).then(function(r){return Promise.resolve(u.transfer.estimateGas(n,r)).then(function(o){return a?o:Promise.resolve(ye(o,e,null==t?void 0:t.gasFeeMultiplier,u.transfer,n,r))})})}catch(e){return Promise.reject(e)}},tu=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(ye(r,e,null==t?void 0:t.gasFeeMultiplier,f.approve,i,s)).then(function(e){n=e})},function(e){fe.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,pe,e),h=function(){if(!a)return Promise.resolve(Ya(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)}},ru=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(be(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(ye(n,e,null==t?void 0:t.gasFeeMultiplier,h.approve,i,r))})})},h=new o.Contract(n,pe,e),d=function(){if(!a)return Promise.resolve(Qa(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)}},nu={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 ou(e){try{var t=JSON.parse(e),r=Object.keys(t)[0];if("error"===r){var n,o=t[r];return(null==(n=nu[r])?void 0:n[o])||"Provider request failed: "+o}var i=t[r];return t[Object.keys(t)[1]]+" : "+i}catch(t){return fe.error("[getErrorMessage] error: ",t),e}}function iu(e,t,r){if(!e.s){if(r instanceof su){if(!r.s)return void(r.o=iu.bind(null,e,t));1&t&&(t=r.s),r=r.v}if(r&&r.then)return void r.then(iu.bind(null,e,t),iu.bind(null,e,2));e.s=t,e.v=r;var n=e.o;n&&n(e)}}var su=/*#__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{iu(n,1,i(this.v))}catch(e){iu(n,2,e)}return n}return this}return this.o=function(e){try{var o=e.v;1&e.s?iu(n,1,t?t(o):o):r?iu(n,1,r(o)):iu(n,2,o)}catch(e){iu(n,2,e)}},n},e}(),au=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(_a,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 su,f=iu.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 iu(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());iu(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)}iu(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 je(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 Me(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(ru(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(ru(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!==Ne&&b.providerFeeAmount&&parseInt(b.providerFeeAmount)>0)return function(e,n){try{var o=Promise.resolve(t.getAddress()).then(function(e){return Promise.resolve(tu(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||_a.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 uu(e,t){try{var r=e()}catch(e){return t(e)}return r&&r.then?r.then(void 0,t):r}var cu=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=uu(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=Fe(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)}},lu=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 ve).getConfig(parseInt(String(P)));return Promise.resolve(Ze(r,S.nftFactoryAddress,i,Number(P))).then(function(i){if(i<1){if(Number(P)!==fu)throw new Error("Invalid template index: "+i);i=1}var b=new We(r,Number(P)),x=new qe(S.nftFactoryAddress,r,Number(P));return Promise.resolve(r.getAddress()).then(function(F){var D;function I(e){return D?e:Promise.resolve(j.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(_a.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"+Z("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(_a.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=Fe(e,"NFTCreated"),f=Fe(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 uu(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 j,N={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:Ne},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=uu(function(){var e=function(){if(!A)return Promise.resolve(x.createNftWithDatatoken(N,L)).then(function(e){j=e});var e=function(){if("0"===A.toString())return Promise.resolve(x.createNftWithDatatokenWithDispenser(N,L,{dispenserAddress:S.dispenserAddress,maxTokens:"1",maxBalance:"100000000",withMint:!0,allowedSwapper:Ne})).then(function(e){j=e});var e=p||S.oceanTokenAddress;return Promise.resolve(we(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(N,L,r)).then(function(e){j=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)}},fu=8996;function hu(e){var t=(new ve).getConfig(e);return t&&"oasis"===t.sdk}export{Qe as AccessListContract,et as AccesslistFactory,Ha as Aquarius,X as Config,ve as ConfigHelper,fu as DEVELOPMENT_CHAIN_ID,Ye as Datatoken,Xe as Datatoken4,je as Dispenser,J as EncryptMethod,ot as EnterpriseFeeCollectorContract,nt as EscrowContract,Re as FEE_HISTORY_NOT_SUPPORTED,$ as FileObjectType,Me as FixedRateExchange,Le as GASLIMIT_DEFAULT,me as KNOWN_CONFIDENTIAL_EVMS,W as LogLevel,le as Logger,fe as LoggerInstance,Ue as MAX_UINT_256,We as Nft,qe as NftFactory,Da as OCEAN_P2P_PROTOCOL,Y as PROTOCOL_COMMANDS,Ba as Provider,_a as ProviderInstance,Be as Router,De as SmartContract,Ie as SmartContractWithAddress,Ne as ZERO_ADDRESS,Qa as allowance,Ya as allowanceWei,be as amountToUnits,ru as approve,tu as approveWei,Xa as balance,Ze as calculateActiveTemplateIndex,de as configHelperNetworks,cu as createAccessListFactory,lu as createAsset,Wa as decimals,$a as downloadFile,Ja as downloadFileBrowser,Ka as generateDid,Ge as generateDtName,ou as getErrorMessage,Fe as getEventFromTx,Ee as getFairGasPrice,Za as getHash,ge as getNodeEndpointConfig,$e as getOceanArtifactsAddresses,Je as getOceanArtifactsAddressesByChainId,we as getTokenDecimals,st as isDefined,Ma as isP2pUri,pe as minAbi,au as orderAsset,ye as sendTx,Oe as setContractDefaults,ut as signHash,at as signRequest,it as sleep,eu as transfer,Pe as unitsToAmount,hu as useOasisSDK};
4
4
  //# sourceMappingURL=lib.module.mjs.map