@oceanprotocol/lib 7.0.0-next.1 → 7.0.0-next.2
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.
- package/CHANGELOG.md +9 -1
- package/ComputeExamples.md +1 -1
- package/dist/lib.cjs +3 -3
- package/dist/lib.cjs.map +1 -1
- package/dist/lib.modern.js +3 -3
- package/dist/lib.modern.js.map +1 -1
- package/dist/lib.module.mjs +3 -3
- package/dist/lib.module.mjs.map +1 -1
- package/dist/lib.umd.js +3 -3
- package/dist/lib.umd.js.map +1 -1
- package/dist/types/services/providers/BaseProvider.d.ts +29 -29
- package/dist/types/services/providers/HttpProvider.d.ts +1 -1
- package/dist/types/services/providers/P2pProvider.d.ts +32 -27
- package/package.json +2 -1
package/dist/lib.module.mjs
CHANGED
|
@@ -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__
|
|
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{allocUnsafe as I,alloc as j}from"uint8arrays/alloc";import{concat as N}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{multiaddr as M}from"@multiformats/multiaddr";import B from"jsonwebtoken";import{PublicKey as _,encrypt as G}from"eciesjs";import{createLibp2p as q}from"libp2p";import{noise as V}from"@chainsafe/libp2p-noise";import{yamux as z}from"@chainsafe/libp2p-yamux";import{webSockets as H}from"@libp2p/websockets";import{tcp as K}from"@libp2p/tcp";import{circuitRelayTransport as Z}from"@libp2p/circuit-relay-v2";import{bootstrap as $}from"@libp2p/bootstrap";import{identify as J}from"@libp2p/identify";import{EventTypes as W,kadDHT as Y}from"@libp2p/kad-dht";import X from"crypto-js/sha256.js";import{createHash as Q}from"crypto";var ee,te;!function(e){e.URL="url",e.IPFS="ipfs",e.ARWEAVE="arweave",e.S3="s3",e.FTP="ftp"}(ee||(ee={})),function(e){e.AES="AES",e.ECIES="ECIES"}(te||(te={}));var re,ne={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"},oe=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 ie(e,t){this.v=e,this.k=t}function se(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 ae(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 ae=function(e){this.s=e,this.n=e.next},ae.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 ae(e)}function ue(e){return new ie(e,0)}function ce(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 se(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)?se(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 le(){return le=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},le.apply(null,arguments)}function fe(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,de(e,t)}function he(){he=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 de(e,t){return de=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},de(e,t)}function me(e){return function(){return new ge(e.apply(this,arguments))}}function ge(e){var t,r;function n(t,r){try{var i=e[t](r),s=i.value,a=s instanceof ie;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)}ge.prototype["function"==typeof Symbol&&Symbol.asyncIterator||"@@asyncIterator"]=function(){return this},ge.prototype.next=function(e){return this._invoke("next",e)},ge.prototype.throw=function(e){return this._invoke("throw",e)},ge.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"}(re||(re={}));var ve=/*#__PURE__*/function(){function e(e){this.logLevel=void 0,this.logLevel=e,this.logLevel=e||re.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",re.Verbose].concat([].slice.call(arguments)))},t.log=function(){this.dispatch.apply(this,["log",re.Log].concat([].slice.call(arguments)))},t.warn=function(){this.dispatch.apply(this,["warn",re.Warn].concat([].slice.call(arguments)))},t.error=function(){this.dispatch.apply(this,["error",re.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}(),pe=new ve,ye={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},be=[le({},ye),le({},ye,{chainId:8996,network:"development",oceanNodeUri:"http://127.0.0.1:8001",sdk:"evm"}),le({},ye,{chainId:11155111,network:"sepolia",nodeUri:"https://sepolia.infura.io/v3",explorerUri:"https://sepolia.etherscan.io",gasFeeMultiplier:1.1,sdk:"evm"}),le({},ye,{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"}),le({},ye,{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"}),le({},ye,{chainId:137,network:"polygon",nodeUri:"https://polygon-mainnet.infura.io/v3",explorerUri:"https://polygonscan.com",oceanTokenSymbol:"mOCEAN",gasFeeMultiplier:1.6,sdk:"evm"}),le({},ye,{chainId:2021e3,network:"gaiaxtestnet",nodeUri:"https://rpc.gaiaxtestnet.oceanprotocol.com",explorerUri:"https://blockscout.gaiaxtestnet.oceanprotocol.com",sdk:"evm"}),le({},ye,{chainId:80001,network:"mumbai",nodeUri:"https://polygon-mumbai.infura.io/v3",explorerUri:"https://mumbai.polygonscan.com",gasFeeMultiplier:1.1,sdk:"evm"}),le({},ye,{chainId:56,network:"bsc",nodeUri:"https://bsc-dataseed.binance.org",explorerUri:"https://bscscan.com/",gasFeeMultiplier:1.05,sdk:"evm"}),le({},ye,{chainId:246,network:"energyweb",nodeUri:"https://rpc.energyweb.org",explorerUri:"https://explorer.energyweb.org",gasFeeMultiplier:1.05,sdk:"evm"}),le({},ye,{chainId:1285,network:"moonriver",nodeUri:"https://moonriver.api.onfinality.io/public",explorerUri:"https://moonriver.moonscan.io/",gasFeeMultiplier:1.05,sdk:"evm"}),le({},ye,{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"}),le({},ye,{chainId:10,network:"optimism",nodeUri:"https://mainnet.optimism.io",explorerUri:"https://optimistic.etherscan.io/",gasFeeMultiplier:1.1,sdk:"evm"}),le({},ye,{chainId:11155420,network:"optimism_sepolia",nodeUri:"https://sepolia.optimism.io",explorerUri:"https://sepolia-optimism.etherscan.io/",gasFeeMultiplier:1.1,sdk:"evm"}),le({},ye,{chainId:23294,network:"oasis_sapphire",nodeUri:"https://sapphire.oasis.io",explorerUri:"https://explorer.oasis.io/mainnet/sapphire/",gasFeeMultiplier:1,sdk:"oasis"}),le({},ye,{chainId:23295,network:"oasis_sapphire_testnet",nodeUri:"https://testnet.sapphire.oasis.dev",explorerUri:"https://explorer.oasis.io/testnet/sapphire/",gasFeeMultiplier:1,sdk:"oasis"}),le({},ye,{chainId:32456,network:"pontus-x-devnet",nodeUri:"https://rpc.dev.pontus-x.eu",explorerUri:"https://explorer.dev.pontus-x.eu/testnet/pontusx",sdk:"evm"})],Pe=[23294,23295],we=function(){return process.env.NODE_ENDPOINT||process.env.NODE_URL?{oceanNodeUri:process.env.NODE_ENDPOINT||process.env.NODE_URL}:{}},Ee=/*#__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=le({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},we())}else if(e[t]){var i=e[t];n=le({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},we())}return n},n.getConfig=function(e,r){var n,o="string"==typeof e?"network":"chainId",i=be.find(function(t){return t[o]===e});if(!i)return pe.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&&Pe.includes(i.chainId)&&(s=this.getAddressesFromEnv(i.network.replace("sapph","saph"),n)),"sdk"in i&&null!==i.sdk||(i.sdk=Pe.includes(i.chainId)?"oasis":"evm"),s&&"accessListFactory"in s&&(i.accessListFactory=s.accessListFactory),i=le({},i,s),le({},i,{nodeUri:r?i.nodeUri+"/"+r:i.nodeUri})},r}(),Se=[{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"}],Ae=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)===je||Number(s)===Ie)&&Number(a)<Oe?Oe:Number(s)===Ne&&Number(a)<Fe?Fe:Pe.includes(Number(s))&&Number(a)<De?De:Number(a),maxFeePerGas:(Number(s)===je||Number(s)===Ie)&&Number(u)<Oe?Oe:Number(s)===Ne&&Number(u)<Fe?Fe:Pe.includes(Number(s))&&Number(u)<De?De: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 pe.error("Send tx error: ",e),null})})})}catch(e){return Promise.reject(e)}},Te=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(ke(e,t)).then(i))}catch(e){return Promise.reject(e)}},xe=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(ke(e,t)).then(i))}catch(e){return Promise.reject(e)}},ke=function(e,t){try{var r=new o.Contract(t,Se,e);return Promise.resolve(r.decimals())}catch(e){return Promise.reject(e)}},Ce=function(e,t){try{return Promise.resolve(e.provider.getFeeData()).then(function(e){var r=BigInt(e.gasPrice.toString());return t?(r*BigInt(t)).toString(10):r.toString()})}catch(e){return Promise.reject(e)}},Oe=3e10,Fe=4e9,De=1e10,Ie=137,je=80001,Ne=11155111;function Le(e,t){return e}function Ue(e,t){if(e&&e.logs)return e.logs.filter(function(e){return e instanceof i&&e.eventName===t})[0]}var Re=/*#__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 Ee).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(Te(this.signer,e,t,r))}catch(e){return Promise.reject(e)}},t.unitsToAmount=function(e,t,r){try{return Promise.resolve(xe(this.signer,e,t,r))}catch(e){return Promise.reject(e)}},t.getFairGasPrice=function(){try{var e;return Promise.resolve(Ce(this.signer,null==(e=this.config)?void 0:e.gasFeeMultiplier))}catch(e){return Promise.reject(e)}},t.getContract=function(e,t){if(!e)throw new Error("Contract address is required but not provided");return Le(new o.Contract(e,new o.Interface(JSON.stringify(t||this.abi)),this.signer))},e}(),Me=/*#__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 fe(t,e),t}(Re),Be=/*#__PURE__*/function(e){function t(){return e.apply(this,arguments)||this}fe(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(Ae(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(Ae(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(Ae(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(Ae(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(Ae(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(Ae(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}(Me),_e="0x0000000000000000000000000000000000000000",Ge=1e6,qe="115792089237316195423570985008687907853269984665640564039457584007913129639934",Ve="Returned error: Method eth_feeHistory not supported.",ze=/*#__PURE__*/function(e){function t(){return e.apply(this,arguments)||this}fe(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=_e),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(Ae(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=_e),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(Ae(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(Ae(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(Ae(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(Ae(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(Ae(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(Ae(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(Ae(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(Ae(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(Ae(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(Ae(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(Ae(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(Ae(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(Ae(o,n.getSignerAccordingSdk(),null==(i=n.config)?void 0:i.gasFeeMultiplier,n.contract.updateMarketFeeCollector,e,t))})}catch(e){return Promise.reject(e)}},t}(Me),He=/*#__PURE__*/function(e){function t(){return e.apply(this,arguments)||this}fe(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(Ae(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(Ae(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(Ae(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(Ae(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(Ae(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(Ae(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(Ae(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(Ae(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}(Me),Ke={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 Ze(e){var t=e||Ke,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 $e(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}fe(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=Ze(),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,_e,_e,e.tokenURI,e.transferable,e.owner)).then(function(n){return t?n:$e(function(){var t;return Promise.resolve(Ae(n,r.getSignerAccordingSdk(),null==(t=r.config)?void 0:t.gasFeeMultiplier,r.contract.deployERC721Contract,e.name,e.symbol,e.templateIndex,_e,_e,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 Ue(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===_e)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(Ae(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(Ae(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(Ae(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===_e)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(Ae(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(Ae(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(Ae(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(Ae(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(Ae(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(Ae(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(Ae(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=Ze();t=i.name,r=i.symbol}var a=18,u=function(){if(e.feeToken!==_e){var t=$e(function(){return Promise.resolve(ke(o.signer,e.feeToken)).then(function(e){a=e})},function(e){pe.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=_e);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}(Me);function We(e,t,r){if(!e.s){if(r instanceof Ye){if(!r.s)return void(r.o=We.bind(null,e,t));1&t&&(t=r.s),r=r.v}if(r&&r.then)return void r.then(We.bind(null,e,t),We.bind(null,e,2));e.s=t,e.v=r;const n=e.o;n&&n(e)}}var Ye=/*#__PURE__*/function(){function e(){}return e.prototype.then=function(t,r){var n=new e,o=this.s;if(o){var i=1&o?t:r;if(i){try{We(n,1,i(this.v))}catch(e){We(n,2,e)}return n}return this}return this.o=function(e){try{var o=e.v;1&e.s?We(n,1,t?t(o):o):r?We(n,1,r(o)):We(n,2,o)}catch(e){We(n,2,e)}},n},e}();function Xe(e){return e instanceof Ye&&1&e.s}var Qe=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(Xe(o)&&(o=o.v),!o)return i;if(o.then){n=0;break}var i=r();if(i&&i.then){if(!Xe(i)){n=1;break}i=i.s}if(t){var s=t();if(s&&s.then&&!Xe(s)){n=2;break}}}var a=new Ye,u=We.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&&!Xe(s))return void s.then(f).then(void 0,u);if(!(o=e())||Xe(o)&&!o.v)return void We(a,1,i);if(o.then)return void o.then(l).then(void 0,u);Xe(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):We(a,1,i)}function f(){(o=e())?o.then?o.then(l).then(void 0,u):l(o):We(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 et(){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 tt(e){try{var t=et();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 rt=/*#__PURE__*/function(e){function t(){return e.apply(this,arguments)||this}fe(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=Ze();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():_e),y.push(g||_e));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(Ae(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=Ue(e,"TokenCreated");return null==t?void 0:t.args[0]})})})})})})})}var P=tt(Number(t)),w=function(){if(h)return Promise.resolve(Qe(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(Ae(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(Ae(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(Ae(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(Ae(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(Ae(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(Ae(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(Ae(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(Ae(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(Ae(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(Ae(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(Ae(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(Ae(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=le({},r,{metadataProofs:r.metadataProofs||[]});return Promise.resolve(i.setMetaDataAndTokenURI.estimateGas(t)).then(function(e){var r;return n?e:Promise.resolve(Ae(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(Ae(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(Ae(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(Ae(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}(Re),nt=/*#__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 rt(s.signer,r),s}fe(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,Te(null,null,r,18))).then(function(e){var s;return n?e:Promise.resolve(Ae(e,o.getSignerAccordingSdk(),null==(s=o.config)?void 0:s.gasFeeMultiplier,i.approve,t,Te(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=_e);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(Ae(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=_e),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(Ae(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,Te(null,null,r,18))).then(function(e){var a;return o?e:Promise.resolve(Ae(e,i.getSignerAccordingSdk(),null==(a=i.config)?void 0:a.gasFeeMultiplier,s.mint,n||t,Te(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(Ae(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(Ae(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(Ae(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(Ae(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(Ae(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(Te(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(Ae(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:_e,consumeMarketFeeToken:_e,consumeMarketFeeAmount:"0"}),Promise.resolve(a.startOrder.estimateGas(t,r,n,o)).then(function(e){var u;return i?e:Promise.resolve(Ae(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(Ae(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(Ae(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(Ae(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(Ae(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(Ae(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(Ae(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(Te(t.signer,e.baseTokenAddress,e.maxBaseTokenAmount,e.baseTokenDecimals)).then(function(o){return Promise.resolve(Te(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}(Re),ot=/*#__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}fe(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(Ae(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(Ae(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(Ae(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}(nt),it=/*#__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}fe(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(Ae(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(Ae(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(Ae(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(Ae(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(Ae(r,t.getSignerAccordingSdk(),null==(n=t.config)?void 0:n.gasFeeMultiplier,t.contract.renounceOwnership))})}catch(e){return Promise.reject(e)}},t}(Me),st=/*#__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}fe(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=Ze();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(Ae(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 Ue(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===_e)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(Ae(e,n.getSignerAccordingSdk(),null==(o=n.config)?void 0:o.gasFeeMultiplier,n.contract.changeTemplateAddress,t))})})}catch(e){return Promise.reject(e)}},t}(Me);function at(e,t,r){if(!e.s){if(r instanceof ut){if(!r.s)return void(r.o=at.bind(null,e,t));1&t&&(t=r.s),r=r.v}if(r&&r.then)return void r.then(at.bind(null,e,t),at.bind(null,e,2));e.s=t,e.v=r;const n=e.o;n&&n(e)}}var ut=/*#__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{at(n,1,i(this.v))}catch(e){at(n,2,e)}return n}return this}return this.o=function(e){try{var o=e.v;1&e.s?at(n,1,t?t(o):o):r?at(n,1,r(o)):at(n,2,o)}catch(e){at(n,2,e)}},n},e}(),ct=/*#__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}fe(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 nt(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(Ae(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(Ae(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 ut&&1&r.s))return void t.then(e,h||(h=at.bind(null,f=new ut,2)));t=t.v}f?at(f,1,t):f=t}catch(e){at(f||(f=new ut),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(Ae(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(Ae(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}(Me),lt=/*#__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}fe(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}(Me),ft=function(e){try{return Promise.resolve(new Promise(function(t){setTimeout(t,e)}))}catch(e){return Promise.reject(e)}};function ht(e){return null!=e}var dt=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)}},mt=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 gt extends Error{static name="InvalidParametersError";constructor(e="Invalid parameters"){super(e),this.name="InvalidParametersError"}}class vt extends Error{static name="InvalidPublicKeyError";constructor(e="Invalid public key"){super(e),this.name="InvalidPublicKeyError"}}class pt extends Error{static name="InvalidCIDError";constructor(e="Invalid CID"){super(e),this.name="InvalidCIDError"}}class yt extends Error{static name="InvalidMultihashError";constructor(e="Invalid Multihash"){super(e),this.name="InvalidMultihashError"}}class bt extends Error{static name="ProtocolError";constructor(e="Protocol error"){super(e),this.name="ProtocolError"}}class Pt extends Error{static name="TimeoutError";constructor(e="Timed out"){super(e),this.name="TimeoutError"}}class wt extends Error{static name="UnsupportedKeyTypeError";constructor(e="Unsupported key type"){super(e),this.name="UnsupportedKeyTypeError"}}const Et=Symbol.for("@libp2p/peer-id"),St=Symbol.for("@libp2p/service-capabilities");function At(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 Tt{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 xt{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 Ct(this,e)}}class kt{decoders;constructor(e){this.decoders=e}or(e){return Ct(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 Ct(e,t){return new kt({...e.decoders??{[e.prefix]:e},...t.decoders??{[t.prefix]:t}})}class Ot{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 Tt(e,t,r),this.decoder=new xt(e,t,n)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}}function Ft({name:e,prefix:t,encode:r,decode:n}){return new Ot(e,t,r,n)}function Dt({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 Ft({prefix:t,name:e,encode:n,decode:e=>At(o(e))})}function It({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 Ft({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 jt=Dt({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"});Dt({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});const Nt=It({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5});It({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),It({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),It({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),It({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),It({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),It({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),It({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),It({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});const Lt=Dt({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"});Dt({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var Ut=Math.pow(2,31),Rt=Math.pow(2,7),Mt=Math.pow(2,14),Bt=Math.pow(2,21),_t=Math.pow(2,28),Gt=Math.pow(2,35),qt=Math.pow(2,42),Vt=Math.pow(2,49),zt=Math.pow(2,56),Ht=Math.pow(2,63),Kt={encode:function e(t,r,n){r=r||[];for(var o=n=n||0;t>=Ut;)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<Rt?1:e<Mt?2:e<Bt?3:e<_t?4:e<Gt?5:e<qt?6:e<Vt?7:e<zt?8:e<Ht?9:10}};function Zt(e,t=0){return[Kt.decode(e,t),Kt.decode.bytes]}function $t(e,t,r=0){return Kt.encode(e,t,r),t}function Jt(e){return Kt.encodingLength(e)}function Wt(e,t){const r=t.byteLength,n=Jt(e),o=n+Jt(r),i=new Uint8Array(o+r);return $t(e,i,0),$t(r,i,n),i.set(t,o),new Xt(e,r,t,i)}function Yt(e){const t=At(e),[r,n]=Zt(t),[o,i]=Zt(t.subarray(n)),s=t.subarray(n+i);if(s.byteLength!==o)throw new Error("Incorrect length");return new Xt(r,o,s,t)}class Xt{code;size;digest;bytes;constructor(e,t,r,n){this.code=e,this.size=t,this.digest=r,this.bytes=n}}function Qt(e,t){const{bytes:r,version:n}=e;return 0===n?function(e,t,r){const{prefix:n}=r;if(n!==jt.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,tr(e),t??jt.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,tr(e),t??Nt.encoder)}const er=new WeakMap;function tr(e){const t=er.get(e);if(null==t){const t=new Map;return er.set(e,t),t}return t}class rr{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!==nr)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(t.code!==or)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return rr.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=Wt(e,t);return rr.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 rr.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 Qt(this,e)}toJSON(){return{"/":Qt(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 rr)return t;if(null!=t["/"]&&t["/"]===t.bytes||t.asCID===t){const{version:e,code:r,multihash:n,bytes:o}=t;return new rr(e,r,n,o??ir(e,r,n.bytes))}if(!0===t[sr]){const{version:e,multihash:r,code:n}=t,o=Yt(r);return rr.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!==nr)throw new Error(`Version 0 CID must use dag-pb (code: ${nr}) block encoding`);return new rr(e,t,r,r.bytes);case 1:{const n=ir(e,t,r.bytes);return new rr(e,t,r,n)}default:throw new Error("Invalid version")}}static createV0(e){return rr.create(0,nr,e)}static createV1(e,t){return rr.create(1,e,t)}static decode(e){const[t,r]=rr.decodeFirst(e);if(0!==r.length)throw new Error("Incorrect length");return t}static decodeFirst(e){const t=rr.inspectBytes(e),r=t.size-t.multihashSize,n=At(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 Xt(t.multihashCode,t.digestSize,o,n);return[0===t.version?rr.createV0(i):rr.createV1(t.codec,i),e.subarray(t.size)]}static inspectBytes(e){let t=0;const r=()=>{const[r,n]=Zt(e.subarray(t));return t+=n,r};let n=r(),o=nr;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[jt.prefix,(t??jt).decode(`${jt.prefix}${e}`)];case jt.prefix:return[jt.prefix,(t??jt).decode(e)];case Nt.prefix:return[Nt.prefix,(t??Nt).decode(e)];case Lt.prefix:return[Lt.prefix,(t??Lt).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=rr.decode(n);if(0===o.version&&"Q"!==e[0])throw Error("Version 0 CID string must not include multibase prefix");return tr(o).set(r,e),o}}const nr=112,or=18;function ir(e,t,r){const n=Jt(e),o=n+Jt(t),i=new Uint8Array(o+r.byteLength);return $t(e,i,0),$t(t,i,n),i.set(r,o),i}const sr=Symbol.for("@ipld/js-cid/CID"),ar=At,ur=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 Wt(0,ar(e))},cr=Symbol.for("@achingbrain/uint8arraylist");function lr(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 fr(e){return Boolean(e?.[cr])}class hr{bufs;length;[cr]=!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(!fr(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(!fr(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=lr(this.bufs,e);return t.buf[t.index]}set(e,t){const r=lr(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(!fr(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 N(r,n)}subarray(e,t){const{bufs:r,length:n}=this._subList(e,t);return 1===r.length?r[0]:N(r,n)}sublist(e,t){const{bufs:r,length:n}=this._subList(e,t),o=new hr;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(!(fr(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=j(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=j(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=j(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=j(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=j(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=j(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=j(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=j(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 hr))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 hr;return r.bufs=e,null==t&&(t=e.reduce((e,t)=>e+t.byteLength,0)),r.length=t,r}}const dr=parseInt("11111",2),mr=parseInt("10000000",2),gr=parseInt("01111111",2),vr={0:br,1:br,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:br,22:br,48:br};function pr(e,t={offset:0}){const r=e[t.offset]&dr;if(t.offset++,null!=vr[r])return vr[r](e,t);throw new Error("No decoder for tag "+r)}function yr(e,t){let r=0;if((e[t.offset]&mr)===mr){const n=e[t.offset]&gr;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 br(e,t){yr(e,t);const r=[];for(;!(t.offset>=e.byteLength);){const n=pr(e,t);if(null===n)break;r.push(n)}return r}function Pr(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 hr;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 hr(Uint8Array.from([t.byteLength|mr]),t)}function wr(e){const t=new hr;return!(128&~e.subarray()[0])&&t.append(Uint8Array.from([0])),t.append(e),new hr(Uint8Array.from([2]),Pr(t),t)}function Er(e){const t=Uint8Array.from([0]),r=new hr(t,e);return new hr(Uint8Array.from([3]),Pr(r),r)}function Sr(e,t=48){const r=new hr;for(const t of e)r.append(t);return new hr(Uint8Array.from([t]),Pr(r),r)}const Ar=Uint8Array.from([6,8,42,134,72,206,61,3,1,7]),Tr=Uint8Array.from([6,5,43,129,4,0,34]),xr=Uint8Array.from([6,5,43,129,4,0,35]),kr={ext:!0,kty:"EC",crv:"P-256"},Cr={ext:!0,kty:"EC",crv:"P-384"},Or={ext:!0,kty:"EC",crv:"P-521"};function Fr(e){if("P-256"===e)return Ar;if("P-384"===e)return Tr;if("P-521"===e)return xr;throw new gt(`Invalid curve ${e}`)}class Dr{type="ECDSA";jwk;_raw;constructor(e){this.jwk=e}get raw(){var e;return null==this._raw&&(this._raw=(e=this.jwk,Sr([wr(Uint8Array.from([1])),Sr([Fr(e.crv)],160),Sr([Er(new hr(Uint8Array.from([4]),U(e.x??"","base64url"),U(e.y??"","base64url")))],161)]).subarray())),this._raw}toMultihash(){return ur(xs(this))}toCID(){return rr.createV1(114,this.toMultihash())}toString(){return jt.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 Ir(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&"Uint8Array"===e.constructor.name}function jr(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=Ir(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 Lr(e){if("function"!=typeof e||"function"!=typeof e.create)throw new Error("Hash must wrapped by utils.createHasher");jr(e.outputLen),jr(e.blockLen)}function Ur(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 Rr(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function Mr(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function Br(e,t){return e<<32-t|e>>>t}const _r=/* @__PURE__ */(()=>"function"==typeof Uint8Array.from([]).toHex&&"function"==typeof Uint8Array.fromHex)(),Gr=/* @__PURE__ */Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function qr(e){if(Nr(e),_r)return e.toHex();let t="";for(let r=0;r<e.length;r++)t+=Gr[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 zr(e){if("string"!=typeof e)throw new Error("hex string expected, got "+typeof e);if(_r)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 Hr(...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 Kr(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 Zr(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 $r=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 Wr{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=Mr(this.buffer)}update(e){Ur(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=Mr(e);for(;n<=o-i;i+=n)this.process(t,i)}}return this.length+=e.length,this.roundClean(),this}digestInto(e){Ur(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,Rr(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=Mr(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 Yr=/* @__PURE__ */Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),Xr=/* @__PURE__ */Uint32Array.from([1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209]),Qr=/* @__PURE__ */BigInt(2**32-1),en=/* @__PURE__ */BigInt(32);function tn(e,t=!1){return t?{h:Number(e&Qr),l:Number(e>>en&Qr)}:{h:0|Number(e>>en&Qr),l:0|Number(e&Qr)}}const rn=(e,t,r)=>e>>>r,nn=(e,t,r)=>e<<32-r|t>>>r,on=(e,t,r)=>e>>>r|t<<32-r,sn=(e,t,r)=>e<<32-r|t>>>r,an=(e,t,r)=>e<<64-r|t>>>r-32,un=(e,t,r)=>e>>>r-32|t<<64-r;function cn(e,t,r,n){const o=(t>>>0)+(n>>>0);return{h:e+r+(o/2**32|0)|0,l:0|o}}const ln=(e,t,r)=>(e>>>0)+(t>>>0)+(r>>>0),fn=(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),dn=(e,t,r,n,o)=>t+r+n+o+(e/2**32|0)|0,mn=(e,t,r,n,o)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0)+(o>>>0),gn=(e,t,r,n,o,i)=>t+r+n+o+i+(e/2**32|0)|0,vn=/* @__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]),pn=/* @__PURE__ */new Uint32Array(64);class yn extends Wr{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)pn[r]=e.getUint32(t,!1);for(let e=16;e<64;e++){const t=pn[e-15],r=pn[e-2],n=Br(t,7)^Br(t,18)^t>>>3,o=Br(r,17)^Br(r,19)^r>>>10;pn[e]=o+pn[e-7]+n+pn[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+(Br(s,6)^Br(s,11)^Br(s,25))+((l=s)&a^~l&u)+vn[e]+pn[e]|0,f=(Br(r,2)^Br(r,13)^Br(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(){Rr(pn)}destroy(){this.set(0,0,0,0,0,0,0,0),Rr(this.buffer)}}class bn extends yn{A=0|Yr[0];B=0|Yr[1];C=0|Yr[2];D=0|Yr[3];E=0|Yr[4];F=0|Yr[5];G=0|Yr[6];H=0|Yr[7];constructor(){super(32)}}const Pn=/* @__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}=tn(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))))(),wn=/* @__PURE__ */(()=>Pn[0])(),En=/* @__PURE__ */(()=>Pn[1])(),Sn=/* @__PURE__ */new Uint32Array(80),An=/* @__PURE__ */new Uint32Array(80);class Tn extends Wr{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)Sn[r]=e.getUint32(t),An[r]=e.getUint32(t+=4);for(let e=16;e<80;e++){const t=0|Sn[e-15],r=0|An[e-15],n=on(t,r,1)^on(t,r,8)^rn(t,0,7),o=sn(t,r,1)^sn(t,r,8)^nn(t,r,7),i=0|Sn[e-2],s=0|An[e-2],a=on(i,s,19)^an(i,s,61)^rn(i,0,6),u=sn(i,s,19)^un(i,s,61)^nn(i,s,6),c=hn(o,u,An[e-7],An[e-16]),l=dn(c,n,a,Sn[e-7],Sn[e-16]);Sn[e]=0|l,An[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=on(l,f,14)^on(l,f,18)^an(l,f,41),y=sn(l,f,14)^sn(l,f,18)^un(l,f,41),b=l&h^~l&m,P=mn(p,y,f&d^~f&g,En[e],An[e]),w=gn(P,v,t,b,wn[e],Sn[e]),E=0|P,S=on(r,n,28)^an(r,n,34)^an(r,n,39),A=sn(r,n,28)^un(r,n,34)^un(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}=cn(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=ln(E,A,x);r=fn(k,w,S,T),n=0|k}({h:r,l:n}=cn(0|this.Ah,0|this.Al,0|r,0|n)),({h:o,l:i}=cn(0|this.Bh,0|this.Bl,0|o,0|i)),({h:s,l:a}=cn(0|this.Ch,0|this.Cl,0|s,0|a)),({h:u,l:c}=cn(0|this.Dh,0|this.Dl,0|u,0|c)),({h:l,l:f}=cn(0|this.Eh,0|this.El,0|l,0|f)),({h:h,l:d}=cn(0|this.Fh,0|this.Fl,0|h,0|d)),({h:m,l:g}=cn(0|this.Gh,0|this.Gl,0|m,0|g)),({h:v,l:p}=cn(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(){Rr(Sn,An)}destroy(){Rr(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}}class xn extends Tn{Ah=0|Xr[0];Al=0|Xr[1];Bh=0|Xr[2];Bl=0|Xr[3];Ch=0|Xr[4];Cl=0|Xr[5];Dh=0|Xr[6];Dl=0|Xr[7];Eh=0|Xr[8];El=0|Xr[9];Fh=0|Xr[10];Fl=0|Xr[11];Gh=0|Xr[12];Gl=0|Xr[13];Hh=0|Xr[14];Hl=0|Xr[15];constructor(){super(64)}}const kn=/* @__PURE__ */Kr(()=>new bn
|
|
2
|
+
/* @__PURE__ */,$r(1)),Cn=/* @__PURE__ */Kr(()=>new xn
|
|
3
|
+
/* @__PURE__ */,$r(3)),On=/* @__PURE__ */BigInt(0),Fn=/* @__PURE__ */BigInt(1);function Dn(e,t=""){if("boolean"!=typeof e)throw new Error((t&&`"${t}" `)+"expected boolean, got type="+typeof e);return e}function In(e){if("bigint"==typeof e){if(!_n(e))throw new Error("positive bigint expected, got "+e)}else jr(e);return e}function jn(e){const t=In(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?On:BigInt("0x"+e)}function Ln(e){return Nn(qr(e))}function Un(e){return Nn(qr(Bn(Nr(e)).reverse()))}function Rn(e,t){jr(t);const r=zr((e=In(e)).toString(16).padStart(2*t,"0"));if(r.length!==t)throw new Error("number too large");return r}function Mn(e,t){return Rn(e,t).reverse()}function Bn(e){return Uint8Array.from(e)}const _n=e=>"bigint"==typeof e&&On<=e;function Gn(e,t,r,n){if(!function(e,t,r){return _n(e)&&_n(t)&&_n(r)&&t<=e&&e<r}(t,r,n))throw new Error("expected valid "+e+": "+r+" <= n < "+n+", got "+t)}const qn=e=>(Fn<<BigInt(e))-Fn;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 zn(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 Hn=/* @__PURE__ */BigInt(0),Kn=/* @__PURE__ */BigInt(1),Zn=/* @__PURE__ */BigInt(2),$n=/* @__PURE__ */BigInt(3),Jn=/* @__PURE__ */BigInt(4),Wn=/* @__PURE__ */BigInt(5),Yn=/* @__PURE__ */BigInt(7),Xn=/* @__PURE__ */BigInt(8),Qn=/* @__PURE__ */BigInt(9),eo=/* @__PURE__ */BigInt(16);function to(e,t){const r=e%t;return r>=Hn?r:t+r}function ro(e,t,r){let n=e;for(;t-- >Hn;)n*=n,n%=r;return n}function no(e,t){if(e===Hn)throw new Error("invert: expected non-zero number");if(t<=Hn)throw new Error("invert: expected positive modulus, got "+t);let r=to(e,t),n=t,o=Hn,i=Kn;for(;r!==Hn;){const e=n%r,t=o-i*(n/r);n=r,r=e,o=i,i=t}if(n!==Kn)throw new Error("invert: does not exist");return to(o,t)}function oo(e,t,r){if(!e.eql(e.sqr(t),r))throw new Error("Cannot find square root")}function io(e,t){const r=e.pow(t,(e.ORDER+Kn)/Jn);return oo(e,r,t),r}function so(e,t){const r=(e.ORDER-Wn)/Xn,n=e.mul(t,Zn),o=e.pow(n,r),i=e.mul(t,o),s=e.mul(e.mul(i,Zn),o),a=e.mul(i,e.sub(s,e.ONE));return oo(e,a,t),a}function ao(e){if(e<$n)throw new Error("sqrt is not defined for small field");let t=e-Kn,r=0;for(;t%Zn===Hn;)t/=Zn,r++;let n=Zn;const o=ho(e);for(;1===lo(o,n);)if(n++>1e3)throw new Error("Cannot find square root: probably non-prime P");if(1===r)return io;let i=o.pow(n,t);const s=(t+Kn)/Zn;return function(e,n){if(e.is0(n))return n;if(1!==lo(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=Kn<<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 uo=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function co(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 lo(e,t){const r=e.pow(t,(e.ORDER-Kn)/Zn),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 fo{ORDER;BITS;BYTES;isLE;ZERO=Hn;ONE=Kn;_lengths;_sqrt;_mod;constructor(e,t={}){if(e<=Hn)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&&jr(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 to(e,this.ORDER)}isValid(e){if("bigint"!=typeof e)throw new Error("invalid field element: expected bigint, got "+typeof e);return Hn<=e&&e<this.ORDER}is0(e){return e===Hn}isValidNot0(e){return!this.is0(e)&&this.isValid(e)}isOdd(e){return(e&Kn)===Kn}neg(e){return to(-e,this.ORDER)}eql(e,t){return e===t}sqr(e){return to(e*e,this.ORDER)}add(e,t){return to(e+t,this.ORDER)}sub(e,t){return to(e-t,this.ORDER)}mul(e,t){return to(e*t,this.ORDER)}pow(e,t){return function(e,t,r){if(r<Hn)throw new Error("invalid exponent, negatives unsupported");if(r===Hn)return e.ONE;if(r===Kn)return t;let n=e.ONE,o=t;for(;r>Hn;)r&Kn&&(n=e.mul(n,o)),o=e.sqr(o),r>>=Kn;return n}(this,e,t)}div(e,t){return to(e*no(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 no(e,this.ORDER)}sqrt(e){return this._sqrt||(this._sqrt=(t=this.ORDER)%Jn===$n?io:t%Xn===Wn?so:t%eo===Qn?function(e){const t=ho(e),r=ao(e),n=r(t,t.neg(t.ONE)),o=r(t,n),i=r(t,t.neg(n)),s=(e+Yn)/eo;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 oo(e,d,t),d}}(t):ao(t)),this._sqrt(this,e);var t}toBytes(e){return this.isLE?Mn(e,this.BYTES):Rn(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?Un(e):Ln(e);if(s&&(a=to(a,i)),!t&&!this.isValid(a))throw new Error("invalid field element: outside of range 0..ORDER");return a}invertBatch(e){return co(this,e)}cmov(e,t,r){return r?t:e}}function ho(e,t={}){return new fo(e,t)}function mo(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 go(e){const t=mo(e);return t+Math.ceil(t/2)}const vo=/* @__PURE__ */BigInt(0),po=/* @__PURE__ */BigInt(1);function yo(e,t){const r=t.negate();return e?r:t}function bo(e,t){const r=co(e.Fp,t.map(e=>e.Z));return t.map((t,n)=>e.fromAffine(t.toAffine(r[n])))}function Po(e,t){if(!Number.isSafeInteger(e)||e<=0||e>t)throw new Error("invalid window size, expected [1.."+t+"], got W="+e)}function wo(e,t){Po(e,t);const r=2**e;return{windows:Math.ceil(t/e)+1,windowSize:2**(e-1),mask:qn(e),maxNumber:r,shiftBy:BigInt(e)}}function Eo(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+=po);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 So=new WeakMap,Ao=new WeakMap;function To(e){return Ao.get(e)||1}function xo(e){if(e!==vo)throw new Error("invalid wNAF")}class ko{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>vo;)t&po&&(r=r.add(n)),n=n.double(),t>>=po;return r}precomputeWindow(e,t){const{windows:r,windowSize:n}=wo(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=wo(e,this.bits);for(let e=0;e<i.windows;e++){const{nextN:s,offset:a,isZero:u,isNeg:c,isNegF:l,offsetF:f}=Eo(r,e,i);r=s,u?o=o.add(yo(l,t[f])):n=n.add(yo(c,t[a]))}return xo(r),{p:n,f:o}}wNAFUnsafe(e,t,r,n=this.ZERO){const o=wo(e,this.bits);for(let e=0;e<o.windows&&r!==vo;e++){const{nextN:i,offset:s,isZero:a,isNeg:u}=Eo(r,e,o);if(r=i,!a){const e=t[s];n=n.add(u?e.negate():e)}}return xo(r),n}getPrecomputes(e,t,r){let n=So.get(t);return n||(n=this.precomputeWindow(t,e),1!==e&&("function"==typeof r&&(n=r(n)),So.set(t,n))),n}cached(e,t,r){const n=To(e);return this.wNAF(n,this.getPrecomputes(n,e,r),t)}unsafe(e,t,r,n){const o=To(e);return 1===o?this._unsafeLadder(e,t,n):this.wNAFUnsafe(o,this.getPrecomputes(o,e,r),t,n)}createCache(e,t){Po(t,this.bits),Ao.set(e,t),So.delete(e)}hasCache(e){return 1!==To(e)}}function Co(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,uo.reduce((e,t)=>(e[t]="function",e),{ORDER:"bigint",BYTES:"number",BITS:"number"}))}(t),t}return ho(e,{isLE:r})}function Oo(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>vo))throw new Error(`CURVE.${e} must be positive bigint`)}const o=Co(t.p,r.Fp,n),i=Co(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 Fo(e,t){return function(r){const n=e(r);return{secretKey:n,publicKey:t(n)}}}const Do=BigInt(0),Io=BigInt(1),jo=BigInt(2),No=BigInt(8);function Lo(e,t={}){const r=Oo("edwards",e,t,t.FpFnLE),{Fp:n,Fn:o}=r;let i=r.CURVE;const{h:s}=i;Vn(t,{},{uvRatio:"function"});const a=jo<<BigInt(8*o.BYTES)-Io,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:Do}}});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 Gn("coordinate "+e,t,r?Io:Do,a),t}function f(e){if(!(e instanceof m))throw new Error("EdwardsPoint expected")}const h=zn((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:Do,y:Io};if(l!==Io)throw new Error("invZ was invalid");return{x:a,y:c}}),d=zn(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,Io,u(i.Gx*i.Gy));static ZERO=new m(Do,Io,Io,Do);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,Io,u(t*r))}static fromBytes(e,t=!1){const r=n.BYTES,{a:o,d:s}=i;e=Bn(Nr(e,r,"point")),Dn(t,"zip215");const l=Bn(e),f=e[r-1];l[r-1]=-129&f;const h=Un(l);Gn("point.y",h,Do,t?a:n.ORDER);const d=u(h*h),g=u(d-Io),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&Io)===Io,P=!!(128&f);if(!t&&y===Do&&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(zr(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(jo),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(jo*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=>bo(m,e));return bo(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===Do?m.ZERO:this.is0()||e===Io?this:g.unsafe(this,e,e=>bo(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===Io?this:this.multiplyUnsafe(s)}toBytes(){const{x:e,y:t}=this.toAffine(),r=n.toBytes(t);return r[r.length-1]|=e&Io?128:0,r}toHex(){return qr(this.toBytes())}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}}const g=new ko(m,o.BITS);return m.BASE.precompute(8),m}const Uo=BigInt(1),Ro=BigInt(2),Mo=BigInt(5),Bo=BigInt(8),_o=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed"),Go=/* @__PURE__ */(()=>({p:_o,n:BigInt("0x1000000000000000000000000000000014def9dea2f79cd65812631a5cf5d3ed"),h:Bo,a:BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec"),d:BigInt("0x52036cee2b6ffe738cc740797779e89800700a4d4141d8ab75eb4dca135978a3"),Gx:BigInt("0x216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a"),Gy:BigInt("0x6666666666666666666666666666666666666666666666666666666666666658")}))();function qo(e){return e[0]&=248,e[31]&=127,e[31]|=64,e}const Vo=/* @__PURE__ */BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752"),zo=/* @__PURE__ */Lo(Go,{uvRatio:function(e,t){const r=_o,n=to(t*t*t,r),o=function(e){const t=BigInt(10),r=BigInt(20),n=BigInt(40),o=BigInt(80),i=_o,s=e*e%i*e%i,a=ro(s,Ro,i)*s%i,u=ro(a,Uo,i)*e%i,c=ro(u,Mo,i)*u%i,l=ro(c,t,i)*c%i,f=ro(l,r,i)*l%i,h=ro(f,n,i)*f%i,d=ro(h,o,i)*h%i,m=ro(d,o,i)*h%i,g=ro(m,t,i)*c%i;return{pow_p_5_8:ro(g,Ro,i)*e%i,b2:s}}(e*to(n*n*t,r)).pow_p_5_8;let i=to(e*n*o,r);const s=to(t*i*i,r),a=i,u=to(i*Vo,r),c=s===e,l=s===to(-e,r),f=s===to(-e*Vo,r);return c&&(i=a),(l||f)&&(i=u),(to(i,r)&Kn)===Kn&&(i=to(-i,r)),{isValid:c||l,value:i}}});function Ho(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||Zr,u=r.adjustScalarBytes||(e=>e),c=r.domain||((e,t,r)=>{if(Dn(r,"phflag"),t.length||r)throw new Error("Contexts/pre-hash are not supported");return e});function l(e){return s.create(Un(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=Hr(...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 Ir(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(Io+r,Io-r):i.div(r-Io,r+Io);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:Fo(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(Hr(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&&Dn(u,"zip215"),n&&(r=n(r));const l=c/2,f=t.subarray(0,l),h=Un(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})}(zo,Cn,Object.assign({adjustScalarBytes:qo},e))}const Ko=/* @__PURE__ */Ho({});class Zo extends Error{constructor(e="An error occurred while verifying a message"){super(e),this.name="VerificationError"}}class $o 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 $o("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 Wo;const Yo=(async()=>{try{return await Jo.get().subtle.generateKey({name:"Ed25519"},!0,["sign","verify"]),!0}catch{return!1}})();function Xo(e){return null!=e&&"function"==typeof e.then&&"function"==typeof e.catch&&"function"==typeof e.finally}class Qo{type="Ed25519";raw;constructor(e){this.raw=ei(e,32)}toMultihash(){return ur(xs(this))}toCID(){return rr.createV1(114,this.toMultihash())}toString(){return jt.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==Wo&&(Wo=await Yo),Wo?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 Ko.verify(t,r instanceof Uint8Array?r:r.subarray(),e)}(e,t,r)}(this.raw,t,e);return Xo(n)?n.then(e=>(r?.signal?.throwIfAborted(),e)):n}}function ei(e,t){if((e=Uint8Array.from(e??[])).length!==t)throw new gt(`Key must be a Uint8Array of length ${t}, got ${e.length}`);return e}const ti=Math.pow(2,7),ri=Math.pow(2,14),ni=Math.pow(2,21),oi=Math.pow(2,28),ii=Math.pow(2,35),si=Math.pow(2,42),ai=Math.pow(2,49),ui=128,ci=127;function li(e){if(e<ti)return 1;if(e<ri)return 2;if(e<ni)return 3;if(e<oi)return 4;if(e<ii)return 5;if(e<si)return 6;if(e<ai)return 7;if(null!=Number.MAX_SAFE_INTEGER&&e>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function fi(e,t,r=0){switch(li(e)){case 8:t[r++]=255&e|ui,e/=128;case 7:t[r++]=255&e|ui,e/=128;case 6:t[r++]=255&e|ui,e/=128;case 5:t[r++]=255&e|ui,e/=128;case 4:t[r++]=255&e|ui,e>>>=7;case 3:t[r++]=255&e|ui,e>>>=7;case 2:t[r++]=255&e|ui,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&ci,r<ui)return n;if(r=e[t+1],n+=(r&ci)<<7,r<ui)return n;if(r=e[t+2],n+=(r&ci)<<14,r<ui)return n;if(r=e[t+3],n+=(r&ci)<<21,r<ui)return n;if(r=e[t+4],n+=(r&ci)*oi,r<ui)return n;if(r=e[t+5],n+=(r&ci)*ii,r<ui)return n;if(r=e[t+6],n+=(r&ci)*si,r<ui)return n;if(r=e[t+7],n+=(r&ci)*ai,r<ui)return n;throw new RangeError("Could not decode varint")}function di(e,t,r=0){return null==t&&(t=I(li(e))),t instanceof Uint8Array?fi(e,t,r):function(e,t,r=0){switch(li(e)){case 8:t.set(r++,255&e|ui),e/=128;case 7:t.set(r++,255&e|ui),e/=128;case 6:t.set(r++,255&e|ui),e/=128;case 5:t.set(r++,255&e|ui),e/=128;case 4:t.set(r++,255&e|ui),e>>>=7;case 3:t.set(r++,255&e|ui),e>>>=7;case 2:t.set(r++,255&e|ui),e>>>=7;case 1:t.set(r++,255&e),e>>>=7;break;default:throw new Error("unreachable")}return t}(e,t,r)}function mi(e,t=0){return e instanceof Uint8Array?hi(e,t):function(e,t){let r=e.get(t),n=0;if(n+=r&ci,r<ui)return n;if(r=e.get(t+1),n+=(r&ci)<<7,r<ui)return n;if(r=e.get(t+2),n+=(r&ci)<<14,r<ui)return n;if(r=e.get(t+3),n+=(r&ci)<<21,r<ui)return n;if(r=e.get(t+4),n+=(r&ci)*oi,r<ui)return n;if(r=e.get(t+5),n+=(r&ci)*ii,r<ui)return n;if(r=e.get(t+6),n+=(r&ci)*si,r<ui)return n;if(r=e.get(t+7),n+=(r&ci)*ai,r<ui)return n;throw new RangeError("Could not decode varint")}(e,t)}const gi=new Float32Array([-0]),vi=new Uint8Array(gi.buffer);function pi(e,t,r){gi[0]=e,t[r]=vi[0],t[r+1]=vi[1],t[r+2]=vi[2],t[r+3]=vi[3]}const yi=new Float64Array([-0]),bi=new Uint8Array(yi.buffer);function Pi(e,t,r){yi[0]=e,t[r]=bi[0],t[r+1]=bi[1],t[r+2]=bi[2],t[r+3]=bi[3],t[r+4]=bi[4],t[r+5]=bi[5],t[r+6]=bi[6],t[r+7]=bi[7]}const wi=BigInt(Number.MAX_SAFE_INTEGER),Ei=BigInt(Number.MIN_SAFE_INTEGER);class Si{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 Ai;if(e<wi&&e>Ei)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>Ti&&(n=0n,++r>Ti&&(r=0n))),new Si(Number(n),Number(r))}static fromNumber(e){if(0===e)return Ai;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 Si(r,n)}static from(e){return"number"==typeof e?Si.fromNumber(e):"bigint"==typeof e?Si.fromBigInt(e):"string"==typeof e?Si.fromBigInt(BigInt(e)):null!=e.low||null!=e.high?new Si(e.low>>>0,e.high>>>0):Ai}}const Ai=new Si(0,0);Ai.toBigInt=function(){return 0n},Ai.zzEncode=Ai.zzDecode=function(){return this},Ai.length=function(){return 1};const Ti=4294967296n;function xi(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 ki(e,t){return RangeError(`index out of range: ${e.pos} + ${t??1} > ${e.len}`)}function Ci(e,t){return(e[t-4]|e[t-3]<<8|e[t-2]<<16|e[t-1]<<24)>>>0}class Oi{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,ki(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 ki(this,4);return Ci(this.buf,this.pos+=4)}sfixed32(){if(this.pos+4>this.len)throw ki(this,4);return 0|Ci(this.buf,this.pos+=4)}float(){if(this.pos+4>this.len)throw ki(this,4);const e=(vi[0]=(t=this.buf)[r=this.pos],vi[1]=t[r+1],vi[2]=t[r+2],vi[3]=t[r+3],gi[0]);var t,r;return this.pos+=4,e}double(){if(this.pos+8>this.len)throw ki(this,4);const e=(bi[0]=(t=this.buf)[r=this.pos],bi[1]=t[r+1],bi[2]=t[r+2],bi[3]=t[r+3],bi[4]=t[r+4],bi[5]=t[r+5],bi[6]=t[r+6],bi[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 ki(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 ki(this,e);this.pos+=e}else do{if(this.pos>=this.len)throw ki(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 Si(0,0);let t=0;if(!(this.len-this.pos>4)){for(;t<3;++t){if(this.pos>=this.len)throw ki(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 ki(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 ki(this,8);const e=Ci(this.buf,this.pos+=4),t=Ci(this.buf,this.pos+=4);return new Si(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+=li(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 Fi(e){return new Oi(e instanceof Uint8Array?e:e.subarray())}function Di(e,t,r){const n=Fi(e);return t.decode(n,void 0,r)}class Ii{fn;len;next;val;constructor(e,t,r){this.fn=e,this.len=t,this.next=void 0,this.val=r}}function ji(){}class Ni{head;tail;len;next;constructor(e){this.head=e.head,this.tail=e.tail,this.len=e.len,this.next=e.states}}const Li=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 Ui{len;head;tail;states;constructor(){this.len=0,this.head=new Ii(ji,0,0),this.tail=this.head,this.states=null}_push(e,t,r){return this.tail=this.tail.next=new Ii(e,t,r),this.len+=t,this}uint32(e){return this.len+=(this.tail=this.tail.next=new Bi((e>>>=0)<128?1:e<16384?2:e<2097152?3:e<268435456?4:5,e)).len,this}int32(e){return e<0?this._push(_i,10,Si.fromNumber(e)):this.uint32(e)}sint32(e){return this.uint32((e<<1^e>>31)>>>0)}uint64(e){const t=Si.fromBigInt(e);return this._push(_i,t.length(),t)}uint64Number(e){return this._push(fi,li(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=Si.fromBigInt(e).zzEncode();return this._push(_i,t.length(),t)}sint64Number(e){const t=Si.fromNumber(e).zzEncode();return this._push(_i,t.length(),t)}sint64String(e){return this.sint64(BigInt(e))}bool(e){return this._push(Ri,1,e?1:0)}fixed32(e){return this._push(Gi,4,e>>>0)}sfixed32(e){return this.fixed32(e)}fixed64(e){const t=Si.fromBigInt(e);return this._push(Gi,4,t.lo)._push(Gi,4,t.hi)}fixed64Number(e){const t=Si.fromNumber(e);return this._push(Gi,4,t.lo)._push(Gi,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(pi,4,e)}double(e){return this._push(Pi,8,e)}bytes(e){const t=e.length>>>0;return 0===t?this._push(Ri,1,0):this.uint32(t)._push(qi,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(xi,t,e):this._push(Ri,1,0)}fork(){return this.states=new Ni(this),this.head=this.tail=new Ii(ji,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 Ii(ji,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):Li(r));var r;let n=0;for(;null!=e;)e.fn(e.val,t,n),n+=e.len,e=e.next;return t}}function Ri(e,t,r){t[r]=255&e}function Mi(e,t,r){for(;e>127;)t[r++]=127&e|128,e>>>=7;t[r]=e}class Bi extends Ii{next;constructor(e,t){super(Mi,e,t),this.next=void 0}}function _i(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 Gi(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 qi(e,t,r){t.set(e,r)}function Vi(e,t,r){t.set(e,r)}function zi(e,t,r){e.length<40?xi(e,t,r):null!=t.utf8Write?t.utf8Write(e,r):t.set(U(e),r)}function Hi(e,t){const r=new Ui;return t.encode(e,r,{lengthDelimited:!1}),r.finish()}function*Ki(e,t,r){const n=Fi(e);yield*t.stream(n,void 0,"$",r)}function Zi(e,t,r,n,o){return{name:e,type:t,encode:r,decode:n,stream:o}}function $i(e,t,r){return Zi("message",2,e,t,r)}var Ji,Wi,Yi,Xi;null!=globalThis.Buffer&&(Ui.prototype.bytes=function(e){const t=e.length>>>0;return this.uint32(t),t>0&&this._push(Vi,t,e),this},Ui.prototype.string=function(e){const t=globalThis.Buffer.byteLength(e);return this.uint32(t),t>0&&this._push(zi,t,e),this}),function(e){e.RSA="RSA",e.Ed25519="Ed25519",e.secp256k1="secp256k1",e.ECDSA="ECDSA"}(Ji||(Ji={})),function(e){e[e.RSA=0]="RSA",e[e.Ed25519=1]="Ed25519",e[e.secp256k1=2]="secp256k1",e[e.ECDSA=3]="ECDSA"}(Wi||(Wi={})),function(e){e.codec=()=>function(e){function t(t){if(null==e[t.toString()])throw new Error("Invalid enum value");return e[t]}return Zi("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)})}(Wi)}(Ji||(Ji={})),function(e){let t;e.codec=()=>(null==t&&(t=$i((e,t,r={})=>{!1!==r.lengthDelimited&&t.fork(),null!=e.Type&&(t.uint32(8),Ji.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=Ji.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:Ji.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 Hi(t,e.codec())},e.decode=function(t,r){return Di(t,e.codec(),r)},e.stream=function(t,r){return Ki(t,e.codec(),r)}}(Yi||(Yi={})),function(e){let t;e.codec=()=>(null==t&&(t=$i((e,t,r={})=>{!1!==r.lengthDelimited&&t.fork(),null!=e.Type&&(t.uint32(8),Ji.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=Ji.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:Ji.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 Hi(t,e.codec())},e.decode=function(t,r){return Di(t,e.codec(),r)},e.stream=function(t,r){return Ki(t,e.codec(),r)}}(Xi||(Xi={}));class Qi{oHash;iHash;blockLen;outputLen;finished=!1;destroyed=!1;constructor(e,t){if(Lr(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),Rr(n)}update(e){return Ur(this),this.iHash.update(e),this}digestInto(e){Ur(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 es=(e,t,r)=>new Qi(e,t).update(r).digest();es.create=(e,t)=>new Qi(e,t);const ts=(e,t)=>(e+(e>=0?t:-t)/us)/t;function rs(e){if(!["compact","recovered","der"].includes(e))throw new Error('Signature format must be "compact", "recovered", or "der"');return e}function ns(e,t){const r={};for(let n of Object.keys(t))r[n]=void 0===e[n]?t[n]:e[n];return Dn(r.lowS,"lowS"),Dn(r.prehash,"prehash"),void 0!==r.format&&rs(r.format),r}class os extends Error{constructor(e=""){super(e)}}const is={Err:os,_tlv:{encode:(e,t)=>{const{Err:r}=is;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=jn(n);if(o.length/2&128)throw new r("tlv.encode: long form length too big");const i=n>127?jn(o.length/2|128):"";return jn(e)+i+o+t},decode(e,t){const{Err:r}=is;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}=is;if(e<ss)throw new t("integer: negative integers are not allowed");let r=jn(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}=is;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 Ln(e)}},toSig(e){const{Err:t,_int:r,_tlv:n}=is,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}=is,n=t.encode(2,r.encode(e.r)),o=t.encode(2,r.encode(e.s));return t.encode(48,n+o)}},ss=BigInt(0),as=BigInt(1),us=BigInt(2),cs=BigInt(3),ls=BigInt(4);function fs(e,t={}){const r=Oo("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=ds(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 Dn(r,"isCompressed"),r?(l(),Hr(hs(!n.isOdd(i)),s)):Hr(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,cs),ls),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=ts(s*e,r),u=ts(-o*e,r);let c=e-a*n-u*i,l=-a*o-u*s;const f=c<ss,h=l<ss;f&&(c=-c),h&&(l=-l);const d=qn(Math.ceil(function(e){let t;for(t=0;e>On;e>>=Fn,t+=1);return t}(r)/2))+as;if(c<ss||c>=d||l<ss||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=zn((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=zn(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(Nr(e,void 0,"point")));return t.assertValidity(),t}static fromHex(e){return S.fromBytes(zr(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(cs),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,cs),{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,cs);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=>bo(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 bo(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===ss||n.is0())return S.ZERO;if(e===as)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>vo||n>vo;)r&po&&(i=i.add(o)),n&po&&(s=s.add(o)),o=o.double(),r>>=po,n>>=po;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===as||(e?e(S,this):T.unsafe(this,a).is0())}clearCofactor(){const{clearCofactor:e}=t;return s===as?this:e?e(S,this):this.multiplyUnsafe(s)}isSmallOrder(){return this.multiplyUnsafe(s).is0()}toBytes(e=!0){return Dn(e,"isCompressed"),this.assertValidity(),f(S,this,e)}toHex(e=!0){return qr(this.toBytes(e))}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}}const A=o.BITS,T=new ko(S,t.endo?Math.ceil(A/2):A);return S.BASE.precompute(8),S}function hs(e){return Uint8Array.of(e?2:3)}function ds(e,t){return{secretKey:t.BYTES,publicKey:1+e.BYTES,publicKeyUncompressed:1+2*e.BYTES,publicKeyHasPrefix:!0,signature:2*t.BYTES}}function ms(e,t,r={}){Lr(t),Vn(r,{},{hmac:"function",lowS:"boolean",randomBytes:"function",bits2int:"function",bits2int_modN:"function"});const n=(r=Object.assign({},r)).randomBytes||Zr,o=r.hmac||((e,r)=>es(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||Zr,o=Object.assign(ds(e.Fp,r),{seed:go(r.ORDER)});function i(e=n(o.seed)){return function(e,t,r=!1){Nr(e);const n=e.length,o=mo(t),i=go(t);if(n<16||n<i||n>1024)throw new Error("expected "+i+"-1024 bytes of input, got "+n);const s=to(r?Un(e):Ln(e),t-Kn)+Kn;return r?Mn(s,o):Rn(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(!Ir(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=Fo(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*us<i.ORDER;function v(e){return e>a>>as}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){rs(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}=is.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(zr(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(Hr(hs(!(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(rs(e),"der"===e)return zr(is.hexFromSig(this));const{r:t,s:r}=this,n=s.toBytes(t),o=s.toBytes(r);return"recovered"===e?(y(),Hr(Uint8Array.of(this.assertRecovery()),n,o)):Hr(n,o)}toHex(e){return qr(this.toBytes(e))}}const w=r.bits2int||function(e){if(e.length>8192)throw new Error("input is too large");const t=Ln(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=qn(u);function A(e){return Gn("num < 2^"+u,e,ss,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}=ns(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=Hr(...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===ss)return;const u=s.create(n*s.create(p+a*l));if(u===ss)return;let c=(o.x===a?0:2)|Number(o.y&as),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(jr(e,"hashLen"),jr(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,Hr(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 Hr(...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}=ns(o,m);if(n=Nr(n,void 0,"publicKey"),r=T(r,a),!Ir(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}=ns(r,m);return t=T(t,n),P.fromBytes(e,"recovered").recoverPublicKey(t).toBytes()},Signature:P,hash:t})}const gs={p:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),n:BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),h:BigInt(1),a:BigInt(0),b:BigInt(7),Gx:BigInt("0x79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"),Gy:BigInt("0x483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8")},vs={beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),basises:[[BigInt("0x3086d221a7d46bcde86c90e49284eb15"),-BigInt("0xe4437ed6010e88286f547fa90abfe4c3")],[BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),BigInt("0x3086d221a7d46bcde86c90e49284eb15")]]},ps=/* @__PURE__ */BigInt(2),ys=ho(gs.p,{sqrt:function(e){const t=gs.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=ro(l,r,t)*l%t,h=ro(f,r,t)*l%t,d=ro(h,ps,t)*c%t,m=ro(d,o,t)*d%t,g=ro(m,i,t)*m%t,v=ro(g,a,t)*g%t,p=ro(v,u,t)*v%t,y=ro(p,a,t)*g%t,b=ro(y,r,t)*l%t,P=ro(b,s,t)*m%t,w=ro(P,n,t)*c%t,E=ro(w,ps,t);if(!ys.eql(ys.sqr(E),e))throw new Error("Cannot find square root");return E}}),bs=/* @__PURE__ */ms(/* @__PURE__ */fs(gs,{Fp:ys,endo:vs}),kn);function Ps({name:e,code:t,encode:r,minDigestLength:n,maxDigestLength:o}){return new ws(e,t,r,n,o)}class ws{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?Es(r,this.code,t?.truncate):r.then(e=>Es(e,this.code,t?.truncate))}throw Error("Unknown type, must be binary type")}}function Es(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 Wt(t,e)}function Ss(e){return async t=>new Uint8Array(await crypto.subtle.digest(e,t))}const As=Ps({name:"sha2-256",code:18,encode:Ss("SHA-256")});Ps({name:"sha2-512",code:19,encode:Ss("SHA-512")});class Ts{type="secp256k1";raw;_key;constructor(e){this._key=function(e){try{return bs.Point.fromBytes(e),e}catch(e){throw new vt(String(e))}}(e),this.raw=function(e){return bs.Point.fromBytes(e).toBytes()}(this._key)}toMultihash(){return ur(xs(this))}toCID(){return rr.createV1(114,this.toMultihash())}toString(){return jt.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=As.digest(r instanceof Uint8Array?r:r.subarray());if(Xo(o))return o.then(({digest:r})=>(n?.signal?.throwIfAborted(),bs.verify(t,r,e,{prehash:!1,format:"der"}))).catch(e=>{if("AbortError"===e.name)throw e;throw new Zo(String(e))});try{return n?.signal?.throwIfAborted(),bs.verify(t,o.digest,e,{prehash:!1,format:"der"})}catch(e){throw new Zo(String(e))}}(this._key,t,e,r)}}function xs(e){return Yi.encode({Type:Ji[e.type],Data:e.raw})}const ks=Symbol.for("nodejs.util.inspect.custom");class Cs{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()})`}[Et]=!0;toString(){return null==this.string&&(this.string=jt.encode(this.multihash.bytes).slice(1)),this.string}toMultihash(){return this.multihash}toCID(){return rr.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")}[ks](){return`PeerId(${this.toString()})`}}class Os extends Cs{type="RSA";publicKey;constructor(e){super({...e,type:"RSA"}),this.publicKey=e.publicKey}}class Fs extends Cs{type="Ed25519";publicKey;constructor(e){super({...e,type:"Ed25519"}),this.publicKey=e.publicKey}}class Ds extends Cs{type="secp256k1";publicKey;constructor(e){super({...e,type:"secp256k1"}),this.publicKey=e.publicKey}}class Is{type="url";multihash;publicKey;url;constructor(e){this.url=e.toString(),this.multihash=ur(U(this.url))}[ks](){return`PeerId(${this.url})`}[Et]=!0;toString(){return this.toCID().toString()}toMultihash(){return this.multihash}toCID(){return rr.createV1(2336,this.toMultihash())}toJSON(){return this.toString()}equals(e){return null!=e&&(e instanceof Uint8Array&&(e=R(e)),e.toString()===this.toString())}}function js(e,t){let r;if("1"===e.charAt(0)||"Q"===e.charAt(0))r=Yt(jt.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 pt("Supplied PeerID CID is invalid");if(2336===e.code){const t=R(e.multihash.digest);return new Is(new URL(t))}return Ns(e.multihash)}(rr.parse(e));if(null==t)throw new gt('Please pass a multibase decoder for strings that do not start with "1" or "Q"');r=Yt(t.decode(e))}return Ns(r)}function Ns(e){if(function(e){return e.code===As.code}(e))return new Os({multihash:e});if(function(e){return 0===e.code}(e))try{const t=function(e){const{Type:t,Data:r}=Yi.decode(e.digest),n=r??new Uint8Array;switch(t){case Ji.Ed25519:return o=ei(o=n,32),new Qo(o);case Ji.secp256k1:return function(e){return new Ts(e)}(n);case Ji.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 Dr({...kr,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 Dr({...Cr,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 Dr({...Or,key_ops:["verify"],x:r,y:n});throw new gt(`coordinates were wrong length, got ${t.byteLength}, expected 65, 97 or 133`)}(pr(e))}(n);default:throw new wt}var o}(e);if("Ed25519"===t.type)return new Fs({multihash:e,publicKey:t});if("secp256k1"===t.type)return new Ds({multihash:e,publicKey:t})}catch(t){const r=R(e.digest);return new Is(new URL(r))}throw new yt("Supplied PeerID Multihash is invalid")}function Ls(e,t){var r=_.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=G(r.toHex(),Buffer.from(t));return Buffer.from(n).toString("hex")}function Us(e,t){try{var r=e()}catch(e){return t(e)}return r&&r.then?r.then(void 0,t):r}var Rs=/*#__PURE__*/function(){function e(){}var t=e.prototype;return t.getConsumerAddress=function(e){return ua(e)},t.getSignature=function(e,t,r){return aa(e,t,r)},t.getAuthorization=function(e){return ca(e)},t.getEndpoints=function(e,t){try{var r=this;return Promise.resolve(Us(function(){return Promise.resolve(r.getData(e,t)).then(function(e){return Promise.resolve(e.json())})},function(e){throw pe.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?Us(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 pe.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,ne.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,Us(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 pe.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 pe.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=ce(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=Us(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 pe.error("File info call failed: "),pe.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 pe.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=ce(e);!(r=n()).done;)u.push(r.value);return t=1,u})}();return n&&n.then?n.then(r):r(n)}var s,a=le({},e,{checksum:r}),u=[],c=o.getEndpointURL(t,"fileinfo")?o.getEndpointURL(t,"fileinfo").urlPath:null;if(!c)return null;var l=Us(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 pe.error("File info call failed: "),pe.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 pe.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=Us(function(){return Promise.resolve(F(s,{method:"GET",headers:{"Content-Type":"application/json"},signal:t})).then(function(e){i=e})},function(e){throw pe.error("Fetch compute env failed: "),pe.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 pe.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=Us(function(){return Promise.resolve(F(h,{method:"GET",headers:{"Content-Type":"application/json"},signal:i})).then(function(e){f=e})},function(e){throw pe.error("Provider initialized failed: "),pe.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 pe.error("Initialize compute failed: ",m.status,m.statusText,e),pe.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=Us(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 pe.error("Initialize compute failed: "),pe.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,ne.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,ne.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 pe.error("Compute start failed: ",e.status,e.statusText,t),pe.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=Us(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 pe.error("Compute start failed:"),pe.error(e),pe.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=Ls(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=Ls(e,JSON.stringify(g)))})}();return S&&S.then?S.then(w):w()})})}):(pe.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,ne.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 pe.error("Compute start failed: ",e.status,e.statusText,t),pe.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=Us(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 pe.error("Compute start failed:"),pe.error(e),pe.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=Ls(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=Ls(e,JSON.stringify(h)))})}();return P&&P.then?P.then(y):y()})})}):(pe.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=pe.error,i=e.statusText,s=e.status;return Promise.resolve(e.json()).then(function(e){return o.call(pe,"computeStreamableLogs failed: ",s,i,e),null})}var i=Us(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 pe.error("computeStreamableLogs failed:"),pe.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,ne.COMPUTE_GET_STREAMABLE_LOGS)).then(function(e){l+="&signature="+e,l+="&nonce="+a})}();return f&&f.then?f.then(s):s()})}):(pe.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,ne.COMPUTE_STOP)).then(function(t){function u(e){var t;function r(e){return t?e:Promise.resolve(h.json()).then(function(e){throw pe.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=Us(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 pe.error("Compute stop failed:"),pe.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=ca(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 pe.error("Get compute status failed:",u.status,u.statusText,e),new Error(JSON.stringify(e))})}pe.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=Us(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 pe.error("Get compute status failed"),pe.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,ne.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,ne.CREATE_AUTH_TOKEN)).then(function(e){return Us(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 pe.error("Generate auth token failed:"),pe.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(dt(e,i+o)).then(function(e){return Us(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 pe.error("Generate auth token failed:"),pe.error(e),new Error("HTTP request failed calling Provider")})})})})})})}catch(e){return Promise.reject(e)}},t.isValidProvider=function(e,t){try{return Promise.resolve(Us(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 pe.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 pe.error("PolicyServerPassthrough failed: ",i.status,i.statusText,e),pe.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=Us(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 pe.error("PolicyServerPassthrough failed: "),pe.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 pe.error("initializePSVerification failed: ",i.status,i.statusText,e),pe.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=Us(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 pe.error("initializePSVerification failed: "),pe.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,ne.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 pe.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=Us(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 pe.error("Download node logs failed:"),pe.error(e),new Error("HTTP request failed calling Provider")});return m&&m.then?m.then(t):t()})})}):(pe.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 pe.debug("Not input string:"),pe.debug(e),new Error("["+r+"] Expected string, input type: "+typeof e);var n=e.match(t);return n?{valid:!0,output:n[1]}:(pe.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(dt(r,i+a+ne.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 Ms extends Error{name="TimeoutError";constructor(e,t){super(e,t),Error.captureStackTrace?.(this,Ms)}}const Bs=e=>e.reason??new DOMException("This operation was aborted.","AbortError");function _s(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(Bs(s));if(s&&(u=()=>{c(Bs(s))},s.addEventListener("abort",u,{once:!0})),e.then(t,c),r===Number.POSITIVE_INFINITY)return;const l=new Ms;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 Gs(e){return e.reason}async function qs(e,t,r){if(null==t)return e;const n=r?.translateError??Gs;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 Vs{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";[St]=["@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 Pt("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 _s(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 gt("random bytes length must be a Number bigger than 0");return Zr(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 hr,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 bt(`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 qs(o.promise,t.signal)}catch(t){throw o.error("error while pinging %o - %e",e,t),n?.abort(t),t}finally{n?.close()}}}function zs(e={}){return t=>new Vs(t,e)}class Hs extends Error{static name="UnexpectedEOFError";name="UnexpectedEOFError"}class Ks extends Error{static name="UnwrappedError";name="UnwrappedError"}class Zs extends Error{name="InvalidMessageLengthError";code="ERR_INVALID_MSG_LENGTH"}class $s extends Error{name="InvalidDataLengthError";code="ERR_MSG_DATA_TOO_LONG"}class Js extends Error{name="InvalidDataLengthLengthError";code="ERR_MSG_LENGTH_TOO_LONG"}function Ws(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 Ys(e,t,r){if(!e.s){if(r instanceof Xs){if(!r.s)return void(r.o=Ys.bind(null,e,t));1&t&&(t=r.s),r=r.v}if(r&&r.then)return void r.then(Ys.bind(null,e,t),Ys.bind(null,e,2));e.s=t,e.v=r;const n=e.o;n&&n(e)}}var Xs=/*#__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{Ys(n,1,i(this.v))}catch(e){Ys(n,2,e)}return n}return this}return this.o=function(e){try{var o=e.v;1&e.s?Ys(n,1,t?t(o):o):r?Ys(n,1,r(o)):Ys(n,2,o)}catch(e){Ys(n,2,e)}},n},e}();function Qs(e){return e instanceof Xs&&1&e.s}function ea(e,t,r){for(var n;;){var o=e();if(Qs(o)&&(o=o.v),!o)return i;if(o.then){n=0;break}var i=r();if(i&&i.then){if(!Qs(i)){n=1;break}i=i.s}if(t){var s=t();if(s&&s.then&&!Qs(s)){n=2;break}}}var a=new Xs,u=Ys.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&&!Qs(s))return void s.then(f).then(void 0,u);if(!(o=e())||Qs(o)&&!o.v)return void Ys(a,1,i);if(o.then)return void o.then(l).then(void 0,u);Qs(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):Ys(a,1,i)}function f(){(o=e())?o.then?o.then(l).then(void 0,u):l(o):Ys(a,1,i)}}function ta(e,t){try{var r=e()}catch(e){return t(e)}return r&&r.then?r.then(void 0,t):r}function ra(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 na="/ocean/nodes/1.0.0",oa=1e4,ia=["/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"],sa=/*#__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=ra(function(){return ta(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 ae(t.call(e));r="@@asyncIterator",n="@@iterator"}throw new TypeError("Object is not async iterable")}(h.findPeer(js(e),{signal:AbortSignal.timeout(2e4)})),ea(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===W.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=ra(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:ia).map(M);return Promise.resolve(q(le({addresses:{listen:[]},transports:[H(),Z()].concat(t.p2pConfig.enableTcp?[K()]:[]),connectionEncrypters:[V()],streamMuxers:[z()],peerDiscovery:[].concat(r.length>0?[$({list:r.map(String),timeout:1e4})]:[]),services:{identify:J(),ping:zs(),dht:Y({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){pe.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:(pe.debug("[P2P] bare peerId -> dialByPeerId "+e),r.dialByPeerId(n,e,t))}var u=ta(function(){function o(o){if(s)return o;var a=r.peerIdFromMultiaddr(i);if(a){pe.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=M(e),a=function(){if(r.isDialable(i))return pe.debug("[P2P] dial single addr: "+i),ta(function(){return Promise.resolve(n.dial(i,{signal:t})).then(function(e){return pe.debug("[P2P] dial single SUCCESS via "+e.remoteAddr),s=1,e})},function(e){pe.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=ce(e);!(s=a()).done;){var u=r.peerIdFromMultiaddr(s.value);if(u){pe.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 pe.debug("[P2P] dial array: "+s.length+" dialable addrs"),ta(function(){return Promise.resolve(n.dial(s,{signal:t})).then(function(e){return pe.debug("[P2P] dial array SUCCESS via "+e.remoteAddr),o=1,e})},function(e){pe.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:(pe.debug("[P2P] "+t+": last resort dial by peerId"),ta(function(){return Promise.resolve(e.dial(s,{signal:AbortSignal.timeout(1e4)})).then(function(e){return pe.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:M(r+"/p2p/"+t)});pe.debug("[P2P] "+t+": "+a.length+"/"+c.length+" addrs are dialable");var u=function(){if(a.length>0)return pe.debug("[P2P] "+t+": dialing "+a.map(String)),ta(function(){return Promise.resolve(e.dial(a,{signal:r})).then(function(e){return pe.debug("[P2P] "+t+": SUCCESS via "+e.remoteAddr+" (limited="+(null!=e.limits)+")"),n=1,e})},function(e){pe.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=ce(f);!(h=d()).done;){var m=h.value;try{l(M(m))}catch(e){}}pe.debug("[P2P] "+t+": "+f.length+" cached addrs")}var g=c.filter(function(e){return i.isDialable(e)}),v=function(){if(0===g.length){pe.debug("[P2P] "+t+": no cached dialable addrs, querying DHT...");var r=ta(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=ce(e.multiaddrs);!(r=n()).done;)l(r.value);pe.debug("[P2P] "+t+": DHT returned "+e.multiaddrs.length+" addrs")})},function(e){pe.debug("[P2P] "+t+": DHT findPeer failed: "+e.message)});if(r&&r.then)return r.then(function(){})}else pe.debug("[P2P] "+t+": "+g.length+" cached dialable addrs, skipping DHT")}();return v&&v.then?v.then(a):a()},i=this,s=js(t),a=e.getConnections(s).filter(function(e){return"open"===e.status});if(a.length>0)return pe.debug("[P2P] "+t+": reusing existing connection via "+a[0].remoteAddr),Promise.resolve(a[0]);var u=function(){if(0===e.getConnections().length)return pe.debug("[P2P] "+t+": no connections yet, waiting for bootstrap..."),Promise.resolve(ft(3e3)).then(function(){var r=e.getConnections(s);if(r.length>0)return pe.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 aa(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 ca(e)},t.dialAndStream=function(e,t,r){try{var n,o=this,i=null!=r?r:AbortSignal.timeout(null!=(n=o.p2pConfig.dialTimeout)?n:oa);return Promise.resolve(o.getConnection(e,i)).then(function(e){return ta(function(){return Promise.resolve(e.newStream(na,{signal:i,runOnLimitedConnection:!0})).then(function(r){var n=function(e,t={}){const r=function(e,t){const r=t?.maxBufferSize??4194304,n=new hr;let o,i=!1;if(s=e,null==s?.addEventListener||null==s?.removeEventListener||null==s?.send||null==s?.push||null==s?.log)throw new gt("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 Ks("Stream was unwrapped");if(Ws(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 Hs(`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 qs(o.promise,t?.signal),Ws(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(Ws(e))throw e.log.error("closed while reading %d/%d bytes",n.byteLength,s),new Hs(`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 Ks("Stream was unwrapped");e.send(t)||await _s(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=li(t.maxDataLength));const n=t?.lengthDecoder??mi,o=t?.lengthEncoder??di;return{async read(o){let i=-1;const s=new hr;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 Zs("Invalid message length");if(null!=t?.maxLengthLength&&s.byteLength>t.maxLengthLength)throw new Js(`Message length length too long - ${s.byteLength} > ${t.maxLengthLength}`);if(i>-1)break}if(null!=t?.maxDataLength&&i>t.maxDataLength)throw new $s(`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 Hs(`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 Hs(`Unexpected EOF - read ${a.byteLength}/${i} bytes before the stream closed`);return a},async write(e,t){await r.write(new hr(o(e.byteLength),e),t)},async writeV(e,t){const n=new hr(...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}})})})})},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(ta(function(){var a=le({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=R(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=R(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===ne.COMPUTE_GET_STREAMABLE_LOGS||t===ne.COMPUTE_GET_RESULT)return me(/*#__PURE__*/he().mark(function e(){var t;return he().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:e.prev=0;case 1:return e.next=4,ue(u.read({signal:AbortSignal.timeout(oa)}));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 Hs){e.next=15;break}throw e.t0;case 15:case"end":return e.stop()}},e,null,[[0,11]])}))();var m=[c],g=ta(function(){var e=ea(function(){return!0},void 0,function(){var e;return Promise.resolve(u.read({signal:AbortSignal.timeout(null!=(e=s.p2pConfig.dialTimeout)?e:oa)})).then(function(e){m.push(s.toUint8Array(e))})});if(e&&e.then)return e.then(function(){})},function(e){if(!(e instanceof Hs))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 pe.debug("[P2P] Stream reset/closed on attempt "+(i+1)+", retrying..."),Promise.resolve(ft(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(ta(function(){return Promise.resolve(t.sendP2pCommand(e,ne.STATUS,{}))},function(e){throw pe.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(ta(function(){return Promise.resolve(n.sendP2pCommand(e,ne.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 pe.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,ne.ENCRYPT)).then(function(a){return Promise.resolve(s.sendP2pCommand(r,ne.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,ne.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,ne.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,ne.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,ne.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,ne.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,ne.DOWNLOAD)).then(function(l){var h={command:ne.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=ta(function(){var e=ea(function(){return!0},void 0,function(){var e;return Promise.resolve(t.read({signal:AbortSignal.timeout(null!=(e=u.p2pConfig.dialTimeout)?e:oa)})).then(function(e){c.push(Buffer.from(u.toUint8Array(e)))})});if(e&&e.then)return e.then(function(){})},function(e){if(!(e instanceof Hs))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,ne.COMPUTE_START)).then(function(y){function P(){function r(){return Promise.resolve(v.sendP2pCommand(e,ne.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=Ls(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=Ls(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,ne.FREE_COMPUTE_START)).then(function(g){function p(){function r(){return Promise.resolve(d.sendP2pCommand(e,ne.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=Ls(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=Ls(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,ne.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,ne.COMPUTE_GET_STREAMABLE_LOGS)).then(function(s){return o.sendP2pCommand(e,ne.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,ne.COMPUTE_STOP)).then(function(a){var c={jobId:e,consumerAddress:s,nonce:u,signature:a};return n&&(c.agreementId=n),i.sendP2pCommand(t,ne.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,ne.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:oa;return me(/*#__PURE__*/he().mark(function e(){var t;return he().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:e.prev=0;case 1:return e.next=4,ue(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 Hs){e.next=15;break}throw e.t0;case 15:case"end":return e.stop()}},e,null,[[0,11]])}))()})}var u={command:ne.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,ne.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,ne.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,ne.CREATE_AUTH_TOKEN)).then(function(e){return Promise.resolve(n.sendP2pCommand(t,ne.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,ne.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(dt(r,i+a+ne.VALIDATE_DDO)).then(function(r){return Promise.resolve(o.sendP2pCommand(e,ne.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(dt(e,i+a)).then(function(e){return o.sendP2pCommand(r,ne.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(ta(function(){return Promise.resolve(r.sendP2pCommand(e,ne.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,ne.POLICY_SERVER_PASSTHROUGH,le({},t),null,r))}catch(e){return Promise.reject(e)}},t.initializePSVerification=function(e,t,r){try{return Promise.resolve(this.sendP2pCommand(e,ne.POLICY_SERVER_PASSTHROUGH,le({},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,ne.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,ne.GET_LOGS,d,t,u)})})})}catch(e){return Promise.reject(e)}},t.fetchConfig=function(e,t){try{return Promise.resolve(this.sendP2pCommand(e,ne.FETCH_CONFIG,t))}catch(e){return Promise.reject(e)}},t.pushConfig=function(e,t){try{return Promise.resolve(this.sendP2pCommand(e,ne.PUSH_CONFIG,t))}catch(e){return Promise.reject(e)}},e}(),aa=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 dt(e,s)})}catch(e){return Promise.reject(e)}},ua=function(e){try{return Promise.resolve("string"==typeof e?function(e){try{return B.decode(e,{json:!0})}catch(e){throw new Error("Error decoding JWT")}}(e).address:e.getAddress())}catch(e){return Promise.reject(e)}};function ca(e){return"string"==typeof e?e:void 0}function la(e){if(Array.isArray(e))return!0;if(!e)return!1;try{return M(e),!0}catch(e){}try{return js(e),!0}catch(e){return!1}}var fa=/*#__PURE__*/function(){function e(){this.httpProvider=new Rs,this.p2pProvider=new sa}var t=e.prototype;return t.getImpl=function(e){return Array.isArray(e)||la(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}(),ha=new fa;function da(e,t){try{var r=e()}catch(e){return t(e)}return r&&r.then?r.then(void 0,t):r}function ma(e,t,r){if(!e.s){if(r instanceof ga){if(!r.s)return void(r.o=ma.bind(null,e,t));1&t&&(t=r.s),r=r.v}if(r&&r.then)return void r.then(ma.bind(null,e,t),ma.bind(null,e,2));e.s=t,e.v=r;var n=e.o;n&&n(e)}}var ga=/*#__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{ma(n,1,i(this.v))}catch(e){ma(n,2,e)}return n}return this}return this.o=function(e){try{var o=e.v;1&e.s?ma(n,1,t?t(o):o):r?ma(n,1,r(o)):ma(n,2,o)}catch(e){ma(n,2,e)}},n},e}();function va(e){return e instanceof ga&&1&e.s}var pa=/*#__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 da(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 pe.error(e),new Error("HTTP request failed")})},i=this,s=function(){if(la(i.aquariusURL))return Promise.resolve(ha.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&&(pe.warn("Max Limit exceeded, defaulting to 500 retries."),o=500);var c=la(a.aquariusURL),l=function(e,t){var r;do{var n=e();if(n&&n.then){if(!va(n)){r=!0;break}n=n.v}var o=t();if(va(o)&&(o=o.v),!o)return n}while(!o.then);var i=new ga,s=ma.bind(null,i,2);return(r?n.then(a):o.then(u)).then(void 0,s),i;function a(r){for(n=r;va(o=t())&&(o=o.v),o;){if(o.then)return void o.then(u).then(void 0,s);if((n=e())&&n.then){if(!va(n))return void n.then(a).then(void 0,s);n=n.v}}ma(i,1,n)}function u(r){if(r){do{if((n=e())&&n.then){if(!va(n))return void n.then(a).then(void 0,s);n=n.v}if(va(r=t())&&(r=r.v),!r)return void ma(i,1,n)}while(!r.then);r.then(u).then(void 0,s)}else ma(i,1,n)}}(function(){function o(e){return s?e:Promise.resolve(ft(n)).then(function(){u++})}var l=da(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(ha.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(la(r))return Promise.resolve(ha.validateDdo(r,e,t,n));var i=r+"/api/aquarius/assets/ddo/validate",s=r+"/api/services/nonce";return Promise.resolve(da(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(ne.VALIDATE_DDO));return Promise.resolve(dt(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:ca(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){pe.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(da(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 pe.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(da(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 pe.error("Error querying metadata: ",e),new Error("Error querying metadata: "+e)}))}catch(e){return Promise.reject(e)}},e}();function ya(e,t){return e=l(e),"did:op:"+X(e+t.toString(10)).toString()}function ba(e){return X(e).toString()}var Pa=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 wa(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 Ea=function(e,t){try{var r=new o.Contract(t,Se,e);return Promise.resolve(r.decimals()).then(Number)}catch(e){return Promise.reject(e)}},Sa=function(e,t,r,n){try{var i=new o.Contract(t,Se,e);return Promise.resolve(i.allowance(r,n))}catch(e){return Promise.reject(e)}},Aa=function(e,t,r,n){try{var i=new o.Contract(t,Se,e);return Promise.resolve(i.balanceOf(r)).then(function(r){return Promise.resolve(xe(e,t,r,n))})}catch(e){return Promise.reject(e)}},Ta=function(e,t,r,n,i){try{var s=new o.Contract(t,Se,e);return Promise.resolve(s.allowance(r,n)).then(function(r){return Promise.resolve(xe(e,t,r,i))})}catch(e){return Promise.reject(e)}},xa=function(e,t,r,n,i,s,a){try{var u=new o.Contract(r,Se,e);return Promise.resolve(Te(e,r,i,s)).then(function(r){return Promise.resolve(u.transfer.estimateGas(n,r)).then(function(o){return a?o:Promise.resolve(Ae(o,e,null==t?void 0:t.gasFeeMultiplier,u.transfer,n,r))})})}catch(e){return Promise.reject(e)}},ka=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(Ae(r,e,null==t?void 0:t.gasFeeMultiplier,f.approve,i,s)).then(function(e){n=e})},function(e){pe.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,Se,e),h=function(){if(!a)return Promise.resolve(Sa(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)}},Ca=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(Te(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(Ae(n,e,null==t?void 0:t.gasFeeMultiplier,h.approve,i,r))})})},h=new o.Contract(n,Se,e),d=function(){if(!a)return Promise.resolve(Ta(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)}},Oa={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 Fa(e){try{var t=JSON.parse(e),r=Object.keys(t)[0];if("error"===r){var n,o=t[r];return(null==(n=Oa[r])?void 0:n[o])||"Provider request failed: "+o}var i=t[r];return t[Object.keys(t)[1]]+" : "+i}catch(t){return pe.error("[getErrorMessage] error: ",t),e}}function Da(e,t,r){if(!e.s){if(r instanceof Ia){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 Ia=/*#__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}(),ja=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(ha,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 Ia,f=Da.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 Da(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());Da(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)}Da(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 Be(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 ze(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(Ca(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(Ca(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!==_e&&b.providerFeeAmount&&parseInt(b.providerFeeAmount)>0)return function(e,n){try{var o=Promise.resolve(t.getAddress()).then(function(e){return Promise.resolve(ka(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||ha.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 La=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=Ue(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)}},Ua=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 Ee).getConfig(parseInt(String(P)));return Promise.resolve(Qe(r,S.nftFactoryAddress,i,Number(P))).then(function(i){if(i<1){if(Number(P)!==Ra)throw new Error("Invalid template index: "+i);i=1}var b=new rt(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(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(ha.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"+Q("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(ha.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=Ue(e,"NFTCreated"),f=Ue(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 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:_e},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(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:_e})).then(function(e){j=e});var e=p||S.oceanTokenAddress;return Promise.resolve(ke(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)}},Ra=8996;function Ma(e){var t=(new Ee).getConfig(e);return t&&"oasis"===t.sdk}export{it as AccessListContract,st as AccesslistFactory,pa as Aquarius,oe as Config,Ee as ConfigHelper,Ra as DEVELOPMENT_CHAIN_ID,nt as Datatoken,ot as Datatoken4,Be as Dispenser,te as EncryptMethod,lt as EnterpriseFeeCollectorContract,ct as EscrowContract,Ve as FEE_HISTORY_NOT_SUPPORTED,ee as FileObjectType,ze as FixedRateExchange,Ge as GASLIMIT_DEFAULT,Pe as KNOWN_CONFIDENTIAL_EVMS,re as LogLevel,ve as Logger,pe as LoggerInstance,qe as MAX_UINT_256,rt as Nft,Je as NftFactory,na as OCEAN_P2P_PROTOCOL,ne as PROTOCOL_COMMANDS,fa as Provider,ha as ProviderInstance,He as Router,Re as SmartContract,Me as SmartContractWithAddress,_e as ZERO_ADDRESS,Ta as allowance,Sa as allowanceWei,Te as amountToUnits,Ca as approve,ka as approveWei,Aa as balance,Qe as calculateActiveTemplateIndex,be as configHelperNetworks,La as createAccessListFactory,Ua as createAsset,Ea as decimals,Pa as downloadFile,wa as downloadFileBrowser,ya as generateDid,Ze as generateDtName,Fa as getErrorMessage,Ue as getEventFromTx,Ce as getFairGasPrice,ba as getHash,we as getNodeEndpointConfig,et as getOceanArtifactsAddresses,tt as getOceanArtifactsAddressesByChainId,ke as getTokenDecimals,ht as isDefined,la as isP2pUri,Se as minAbi,ja as orderAsset,Ae as sendTx,Le as setContractDefaults,mt as signHash,dt as signRequest,ft as sleep,xa as transfer,xe as unitsToAmount,Ma as useOasisSDK};
|
|
4
4
|
//# sourceMappingURL=lib.module.mjs.map
|