@toruslabs/broadcast-channel
Version:
A BroadcastChannel that works in New Browsers, Old Browsers, WebWorkers
1 lines • 305 kB
JavaScript
!function n(i,o,s){function a(t,e){if(!o[t]){if(!i[t]){var r="function"==typeof require&&require;if(!e&&r)return r(t,!0);if(f)return f(t,!0);throw(e=new Error("Cannot find module '"+t+"'")).code="MODULE_NOT_FOUND",e}r=o[t]={exports:{}},i[t][0].call(r.exports,function(e){return a(i[t][1][e]||e)},r,r.exports,n,i,o,s)}return o[t].exports}for(var f="function"==typeof require&&require,e=0;e<s.length;e++)a(s[e]);return a}({1:[function(e,t,r){var n=e("@babel/runtime/helpers/defineProperty"),i=e("./method-chooser.js"),o=e("./options.js"),s=e("./util.js");let a;let f=new Set,c=0;class d{constructor(e,t){n(this,"id",void 0),n(this,"name",void 0),n(this,"options",void 0),n(this,"method",void 0),n(this,"closed",void 0),n(this,"_addEL",void 0),n(this,"_prepP",void 0),n(this,"_state",void 0),n(this,"_uMP",void 0),n(this,"_iL",void 0),n(this,"_onML",void 0),n(this,"_befC",void 0),this.id=c++,f.add(this),this.name=e,a&&(t=a),this.options=o.fillOptionsWithDefaults(t||{}),this.method=i.chooseMethod(this.options),this.closed=!1,this._iL=!1,this._onML=null,this._addEL={message:[],internal:[]},this._uMP=new Set,this._befC=[],this._prepP=null;var r=this,e=r.method.create(r.name,r.options);s.isPromise(e)?(t=e,(r._prepP=t).then(e=>r._state=e).catch(e=>{throw e})):r._state=e}get type(){return this.method.type}get isClosed(){return this.closed}set onmessage(e){var t={time:this.method.microSeconds(),fn:e};p(this,"message",this._onML),e&&"function"==typeof e?(this._onML=t,l(this,"message",t)):this._onML=null}postMessage(e){if(this.closed)throw new Error("BroadcastChannel.postMessage(): Cannot post message after channel has closed "+JSON.stringify(e));return u(this,"message",e)}postInternal(e){return u(this,"internal",e)}addEventListener(e,t){var r=this.method.microSeconds();l(this,e,{time:r,fn:t})}removeEventListener(e,t){var r=this._addEL[e].find(e=>e.fn===t);p(this,e,r)}close(){if(this.closed)return Promise.resolve();f.delete(this),this.closed=!0;var e=this._prepP||s.PROMISE_RESOLVED_VOID;return this._onML=null,this._addEL.message=[],e.then(()=>Promise.all(Array.from(this._uMP))).then(()=>Promise.all(this._befC.map(e=>e()))).then(()=>this.method.close?this.method.close(this._state):s.PROMISE_RESOLVED_VOID)}}function u(t,e,r){let n={time:t.method.microSeconds(),type:e,data:r};return(t._prepP||s.PROMISE_RESOLVED_VOID).then(()=>{let e=t.method.postMessage(t._state,n);return t._uMP.add(e),e.catch(()=>{}).then(()=>t._uMP.delete(e)),e})}function h(e){return 0<e._addEL.message.length||0<e._addEL.internal.length}function l(e,t,r){e._addEL[t].push(r);var n=e;if(!n._iL&&h(n)){let e=t=>{n._addEL[t.type].forEach(e=>{(t.time>=e.time||"server"===n.method.type)&&e.fn(t.data)})},t=n.method.microSeconds();n._prepP?n._prepP.then(()=>(n._iL=!0,n.method.onMessage(n._state,e,t),!0)).catch(e=>{throw e}):(n._iL=!0,n.method.onMessage(n._state,e,t))}}function p(e,t,r){r&&(e._addEL[t]=e._addEL[t].filter(e=>e!==r),(t=e)._iL)&&!h(t)&&(t._iL=!1,e=t.method.microSeconds(),t.method.onMessage(t._state,null,e))}n(d,"_pubkey",!0),r.BroadcastChannel=d,r.OPEN_BROADCAST_CHANNELS=f,r.enforceOptions=function(e){a=e}},{"./method-chooser.js":3,"./options.js":9,"./util.js":11,"@babel/runtime/helpers/defineProperty":12}],2:[function(e,t,r){var n=e("./methods/indexed-db.js"),i=e("./methods/localstorage.js"),o=e("./methods/native.js"),s=e("./methods/server.js"),a=e("./broadcast-channel.js"),f=e("./method-chooser.js"),e=e("./redundant-adaptive-broadcast-channel.js");r.IndexedDbMethod=n,r.LocalstorageMethod=i,r.NativeMethod=o,r.ServerMethod=s,r.BroadcastChannel=a.BroadcastChannel,r.OPEN_BROADCAST_CHANNELS=a.OPEN_BROADCAST_CHANNELS,r.enforceOptions=a.enforceOptions,r.chooseMethod=f.chooseMethod,r.RedundantAdaptiveBroadcastChannel=e.RedundantAdaptiveBroadcastChannel},{"./broadcast-channel.js":1,"./method-chooser.js":3,"./methods/indexed-db.js":4,"./methods/localstorage.js":5,"./methods/native.js":6,"./methods/server.js":7,"./redundant-adaptive-broadcast-channel.js":10}],3:[function(e,t,r){var n=e("./methods/indexed-db.js"),i=e("./methods/localstorage.js"),o=e("./methods/native.js"),s=e("./methods/server.js"),a=e("./methods/simulate.js");let f=[o,n,i,s];r.chooseMethod=function(t){let e=[].concat(t.methods||[],f).filter(Boolean);if(t.type){if("simulate"===t.type)return a;var r=e.find(e=>e.type===t.type);if(r)return r;throw new Error(`method-type ${t.type} not found`)}if(r=(e=t.webWorkerSupport?e:e.filter(e=>"idb"!==e.type)).find(e=>e.canBeUsed(t)))return r;throw new Error("No useable method found in "+JSON.stringify(f.map(e=>e.type)))}},{"./methods/indexed-db.js":4,"./methods/localstorage.js":5,"./methods/native.js":6,"./methods/server.js":7,"./methods/simulate.js":8}],4:[function(e,t,r){var i=e("../util.js"),o=e("oblivious-set"),s=e("../options.js"),e=i.microSeconds;let n="pubkey.broadcast-channel-0-",f="messages",c={durability:"relaxed"};function a(){if("undefined"!=typeof indexedDB)return indexedDB;if("undefined"!=typeof window){var e=window;if(void 0!==e.mozIndexedDB)return e.mozIndexedDB;if(void 0!==e.webkitIndexedDB)return e.webkitIndexedDB;if(void 0!==e.msIndexedDB)return e.msIndexedDB}return!1}function d(e){e.commit&&e.commit()}function u(e){var t=a();if(!t)return Promise.reject(new Error("IndexedDB not available"));e=n+e;let r=t.open(e);return r.onupgradeneeded=e=>{e.target.result.createObjectStore(f,{keyPath:"id",autoIncrement:!0})},new Promise((e,t)=>{r.onerror=e=>t(e),r.onsuccess=()=>{e(r.result)}})}function h(e,t,r){let n={uuid:t,time:Date.now(),data:r},i=e.transaction([f],"readwrite",c);return new Promise((e,t)=>{i.oncomplete=()=>e(),i.onerror=e=>t(e),i.objectStore(f).add(n),d(i)})}function l(e,n){let i=e.transaction(f,"readonly",c),o=i.objectStore(f),s=[],a=IDBKeyRange.bound(n+1,1/0);if(o.getAll){let e=o.getAll(a);return new Promise((t,r)=>{e.onerror=e=>r(e),e.onsuccess=function(e){t(e.target.result)}})}return new Promise((t,r)=>{var e=(()=>{try{return a=IDBKeyRange.bound(n+1,1/0),o.openCursor(a)}catch{return o.openCursor()}})();e.onerror=e=>r(e),e.onsuccess=e=>{e=e.target.result;e?e.value.id<n+1?e.continue(n+1):(s.push(e.value),e.continue()):(d(i),t(s))}})}function p(e,t){let r=e.transaction([f],"readwrite",c).objectStore(f);return Promise.all(t.map(e=>{let t=r.delete(e);return new Promise(e=>{t.onsuccess=()=>e()})}))}function b(e,t){let n=Date.now()-t,i=e.transaction(f,"readonly",c),o=i.objectStore(f),s=[];return new Promise(r=>{o.openCursor().onsuccess=e=>{var t,e=e.target.result;e?(t=e.value).time<n?(s.push(t),e.continue()):(d(i),r(s)):r(s)}})}function y(t,e){return b(t,e).then(e=>p(t,e.map(e=>e.id)))}function m(r){return!r.closed&&r.messagesCallback?l(r.db,r.lastCursorId).then(e=>(e.filter(e=>!!e).map(e=>(e.id>r.lastCursorId&&(r.lastCursorId=e.id),e)).filter(e=>{return t=r,(e=e).uuid!==t.uuid&&!(t.eMIs.has(e.id)||e.data.time<t.messagesCallbackTime);var t}).sort((e,t)=>e.time-t.time).forEach(e=>{r.messagesCallback&&(r.eMIs.add(e.id),r.messagesCallback(e.data))}),i.PROMISE_RESOLVED_VOID)):i.PROMISE_RESOLVED_VOID}r.TRANSACTION_SETTINGS=c,r.averageResponseTime=function(e){return 2*e.idb.fallbackInterval},r.canBeUsed=function(){return!!a()},r.cleanOldMessages=y,r.close=function(e){e.closed=!0,e.db.close()},r.commitIndexedDBTransaction=d,r.create=function(r,n){return n=s.fillOptionsWithDefaults(n),u(r).then(e=>{let t={closed:!1,lastCursorId:0,channelName:r,options:n,uuid:i.generateRandomId(),eMIs:new o.ObliviousSet(2*n.idb.ttl),writeBlockPromise:i.PROMISE_RESOLVED_VOID,messagesCallback:null,readQueuePromises:[],db:e,time:i.microSeconds()};return e.onclose=function(){t.closed=!0,n.idb.onclose&&n.idb.onclose()},function e(t){if(t.closed)return;m(t).then(()=>i.sleep(t.options.idb.fallbackInterval)).then(()=>e(t)).catch(e=>{throw e})}(t),t})},r.createDatabase=u,r.getAllMessages=function(e){let r=e.transaction(f,"readonly",c),n=r.objectStore(f),i=[];return new Promise(t=>{n.openCursor().onsuccess=e=>{e=e.target.result;e?(i.push(e.value),e.continue()):(d(r),t(i))}})},r.getIdb=a,r.getMessagesHigherThan=l,r.getOldMessages=b,r.microSeconds=e,r.onMessage=function(e,t,r){e.messagesCallbackTime=r,e.messagesCallback=t,m(e)},r.postMessage=function(e,t){return e.writeBlockPromise=e.writeBlockPromise.then(()=>h(e.db,e.uuid,t)).then(()=>(0===i.randomInt(0,10)&&y(e.db,e.options.idb.ttl),i.PROMISE_RESOLVED_VOID)),e.writeBlockPromise},r.removeMessagesById=p,r.type="idb",r.writeMessage=h},{"../options.js":9,"../util.js":11,"oblivious-set":144}],5:[function(e,t,r){var o=e("oblivious-set"),s=e("../options.js"),a=e("../util.js"),e=a.microSeconds;let n="pubkey.broadcastChannel-";function f(){let e=null;if("undefined"==typeof window)return null;try{e=window.localStorage,e=window["ie8-eventlistener/storage"]||window.localStorage}catch{}return e}function c(e){return n+e}function d(e,t){let r=c(e);e=e=>{e.key===r&&e.newValue&&t(JSON.parse(e.newValue))};return window.addEventListener("storage",e),e}function i(e){window.removeEventListener("storage",e)}function u(){var e=f();if(!e)return!1;try{var t="__broadcastchannel_check";e.setItem(t,"works"),e.removeItem(t)}catch{return!1}return!0}r.addStorageEventListener=d,r.averageResponseTime=function(){var e=navigator.userAgent.toLowerCase();return e.includes("safari")&&!e.includes("chrome")?240:120},r.canBeUsed=u,r.close=function(e){e.listener&&i(e.listener)},r.create=function(e,t){if(t=s.fillOptionsWithDefaults(t),!u())throw new Error("BroadcastChannel: localstorage cannot be used");let r=a.generateRandomId(),n=new o.ObliviousSet(t.localstorage.removeTimeout),i={channelName:e,uuid:r,time:a.microSeconds(),eMIs:n};return i.listener=d(e,e=>{!i.messagesCallback||e.uuid===r||!e.token||n.has(e.token)||e.data.time&&e.data.time<(i.messagesCallbackTime||0)||(n.add(e.token),i.messagesCallback(e.data))}),i},r.getLocalStorage=f,r.microSeconds=e,r.onMessage=function(e,t,r){e.messagesCallbackTime=r,e.messagesCallback=t},r.postMessage=function(i,o){return new Promise((n,e)=>{a.sleep().then(()=>{var e=c(i.channelName),t={token:a.generateRandomId(),time:Date.now(),data:o,uuid:i.uuid},t=JSON.stringify(t),r=(null!=(r=f())&&r.setItem(e,t),document.createEvent("StorageEvent"));r.initStorageEvent("storage",!0,!0,e,null,t,"",null),window.dispatchEvent(r),n()}).catch(e)})},r.removeStorageEventListener=i,r.storageKey=c,r.type="localstorage"},{"../options.js":9,"../util.js":11,"oblivious-set":144}],6:[function(e,t,r){var n=e("../util.js"),e=n.microSeconds;r.averageResponseTime=function(){return 150},r.canBeUsed=function(){if("undefined"==typeof window)return!1;if("function"!=typeof BroadcastChannel)return!1;if(BroadcastChannel._pubkey)throw new Error("BroadcastChannel: Do not overwrite window.BroadcastChannel with this module, this is not a polyfill");return!0},r.close=function(e){e.bc.close(),e.subFns=[]},r.create=function(e){let t={time:n.microSeconds(),messagesCallback:null,bc:new BroadcastChannel(e),subFns:[]};return t.bc.onmessage=e=>{t.messagesCallback&&t.messagesCallback(e.data)},t},r.microSeconds=e,r.onMessage=function(e,t){e.messagesCallback=t},r.postMessage=function(e,t){try{return e.bc.postMessage(t),n.PROMISE_RESOLVED_VOID}catch(e){return Promise.reject(e)}},r.type="native"},{"../util.js":11}],7:[function(a,e,b){!function(p){!function(){var f=a("@toruslabs/eccrypto"),c=a("@toruslabs/metadata-helpers"),n=a("oblivious-set"),r=a("socket.io-client"),i=a("../options.js"),d=a("../util.js"),e=d.microSeconds;let t="pubkey.broadcastChannel-";let o=null,u=new Set;function h(e){return t+e}function l(e){if(o)return o;let t=r.io(e,{transports:["websocket","polling"],withCredentials:!0,reconnectionDelayMax:1e4,reconnectionAttempts:10});return t.on("connect_error",e=>{t.io.opts.transports=["polling","websocket"],d.log.error("connect error",e)}),t.on("connect",async()=>{let e=t.io.engine;d.log.debug("initially connected to",e.transport.name),e.once("upgrade",()=>{d.log.debug("upgraded",e.transport.name)}),e.once("close",e=>{d.log.debug("connection closed",e)})}),t.on("error",e=>{d.log.error("socket errored",e),t.disconnect()}),o=t}function s(e,t,r){let n=l(e);e=h(t.channelName);let i=c.keccak256(p.from(e,"utf8")),o=f.getPublic(i).toString("hex"),s=(n.connected?n.emit("v2:check_auth_status",o,{sameIpCheck:!0,allowedOrigin:t.server.allowed_origin}):n.once("connect",()=>{d.log.debug("connected with socket"),n.emit("v2:check_auth_status",o,{sameIpCheck:!0,allowedOrigin:t.server.allowed_origin})}),()=>{n.once("connect",async()=>{u.has(t.channelName)&&n.emit("v2:check_auth_status",o,{sameIpCheck:!0,allowedOrigin:t.server.allowed_origin})})}),a=()=>{n&&u.has(t.channelName)?n.connected||"visible"!==document.visibilityState||s():document.removeEventListener("visibilitychange",a)};return n.on("disconnect",()=>{d.log.debug("socket disconnected"),u.has(t.channelName)&&(d.log.error("socket disconnected unexpectedly, reconnecting socket"),s())}),n.on(o+"_success",async e=>{try{var t=await c.decryptData(i.toString("hex"),e);d.log.info(t),r(t)}catch(e){d.log.error(e)}}),"undefined"!=typeof document&&document.addEventListener("visibilitychange",a),n}b.averageResponseTime=function(){return 500},b.canBeUsed=function(){return!0},b.close=function(e){u.delete(e.channelName)},b.create=function(e,t){t=i.fillOptionsWithDefaults(t);let r={channelName:e,uuid:d.generateRandomId(),eMIs:new n.ObliviousSet(t.server.removeTimeout),server:{api_url:t.server.api_url,socket_url:t.server.socket_url,allowed_origin:t.server.allowed_origin},time:d.microSeconds()};return t.server.timeout&&(r.timeout=t.server.timeout),s(t.server.socket_url,r,e=>{r.messagesCallback&&e.uuid!==r.uuid&&e.token&&!r.eMIs.has(e.token)&&(r.eMIs.add(e.token),r.messagesCallback(e.data))}),u.add(e),r},b.getSocketInstance=l,b.microSeconds=e,b.onMessage=function(e,t,r){e.messagesCallbackTime=r,e.messagesCallback=t},b.postMessage=function(i,o){return new Promise((r,n)=>{d.sleep().then(async()=>{var e=h(i.channelName),e=c.keccak256(p.from(e,"utf8")),t=await c.encryptData(e.toString("hex"),{token:d.generateRandomId(),time:Date.now(),data:o,uuid:i.uuid}),e={allowedOrigin:i.server.allowed_origin,sameIpCheck:!0,key:f.getPublic(e).toString("hex"),data:t,signature:(await f.sign(e,c.keccak256(p.from(t,"utf8")))).toString("hex")};return i.timeout&&(e.timeout=i.timeout),fetch(i.server.api_url+"/channel/set",{method:"POST",body:JSON.stringify(e),headers:{"Content-Type":"application/json; charset=utf-8"}}).then(r).catch(n)}).catch(n)})},b.removeStorageEventListener=function(){o&&o.disconnect()},b.setupSocketConnection=s,b.storageKey=h,b.type="server"}.call(this)}.call(this,a("buffer").Buffer)},{"../options.js":9,"../util.js":11,"@toruslabs/eccrypto":27,"@toruslabs/metadata-helpers":30,buffer:36,"oblivious-set":144,"socket.io-client":149}],8:[function(e,t,r){var n=e("../util.js"),e=n.microSeconds;let i=new Set;r.SIMULATE_DELAY_TIME=5,r.averageResponseTime=function(){return 5},r.canBeUsed=function(){return!0},r.close=function(e){i.delete(e)},r.create=function(e){return e={time:n.microSeconds(),name:e,messagesCallback:null},i.add(e),e},r.microSeconds=e,r.onMessage=function(e,t){e.messagesCallback=t},r.postMessage=function(t,r){return new Promise(e=>{setTimeout(()=>{Array.from(i).forEach(e=>{e.name===t.name&&e!==t&&e.messagesCallback&&e.time<r.time&&e.messagesCallback(r)}),e()},5)})},r.type="simulate"},{"../util.js":11}],9:[function(e,t,r){var n=e("@toruslabs/constants");r.fillOptionsWithDefaults=function(e={}){var t=JSON.parse(JSON.stringify(e));return void 0===t.webWorkerSupport&&(t.webWorkerSupport=!0),t.idb||(t.idb={}),t.idb.ttl||(t.idb.ttl=45e3),t.idb.fallbackInterval||(t.idb.fallbackInterval=150),e.idb&&"function"==typeof e.idb.onclose&&(t.idb.onclose=e.idb.onclose),t.localstorage||(t.localstorage={}),t.localstorage.removeTimeout||(t.localstorage.removeTimeout=6e4),t.server||(t.server={}),t.server.api_url||(t.server.api_url=n.SESSION_SERVER_API_URL+"/v2"),t.server.socket_url||(t.server.socket_url=""+n.SESSION_SERVER_SOCKET_URL),t.server.removeTimeout||(t.server.removeTimeout=3e5),e.methods&&(t.methods=e.methods),t}},{"@toruslabs/constants":25}],10:[function(e,t,r){var n=e("@babel/runtime/helpers/objectSpread2"),i=e("@babel/runtime/helpers/defineProperty"),o=e("./broadcast-channel.js"),s=e("./methods/localstorage.js"),a=e("./methods/native.js"),f=e("./methods/server.js"),c=e("./methods/simulate.js"),d=e("./util.js");r.RedundantAdaptiveBroadcastChannel=class{constructor(e,t={}){i(this,"name",void 0),i(this,"options",void 0),i(this,"closed",void 0),i(this,"onML",void 0),i(this,"methodPriority",void 0),i(this,"channels",void 0),i(this,"listeners",void 0),i(this,"processedNonces",void 0),i(this,"nonce",void 0),this.name=e,this.options=t,this.closed=!1,this.onML=null,this.methodPriority=[a.type,s.type,f.type],this.channels=new Map,this.listeners=new Set,this.processedNonces=new Set,this.nonce=0,this.initChannels()}set onmessage(e){this.removeEventListener("message",this.onML),e&&"function"==typeof e?(this.onML=e,this.addEventListener("message",e)):this.onML=null}initChannels(){if(this.options.type===c.type&&(this.methodPriority=[c.type]),this.methodPriority.forEach(t=>{try{var e=new o.BroadcastChannel(this.name,n(n({},this.options),{},{type:t}));this.channels.set(t,e),d.log.debug(`Succeeded to initialize ${t} method in channel `+this.name),e.onmessage=e=>this.handleMessage(e)}catch(e){d.log.warn(`Failed to initialize ${t} method in channel ${this.name}: `+(e instanceof Error?e.message:String(e)))}}),0===this.channels.size)throw new Error("Failed to initialize any communication method")}allChannels(){return Array.from(this.channels.keys())}hasChannel(e){return this.channels.has(e)}handleMessage(t){var e;t&&t.nonce&&(this.processedNonces.has(t.nonce)||(this.processedNonces.add(t.nonce),1e3<this.processedNonces.size&&(e=Array.from(this.processedNonces).sort()[0],this.processedNonces.delete(e)),this.listeners.forEach(e=>{e(t.message)})))}async postMessage(e){if(this.closed)throw new Error("AdaptiveBroadcastChannel.postMessage(): Cannot post message after channel has closed "+JSON.stringify(e));let r={nonce:this.generateNonce(),message:e};var t=Array.from(this.channels.entries()).map(([t,e])=>e.postMessage(r).catch(e=>{throw d.log.warn(`Failed to send via ${t}: `+e.message),e}));if((await Promise.allSettled(t)).some(e=>"fulfilled"===e.status))return e;throw new Error("Failed to send message through any method")}generateNonce(){return Date.now()+"-"+this.nonce++}addEventListener(e,t){this.listeners.add(t)}removeEventListener(e,t){this.listeners.delete(t)}async close(){if(!this.closed){this.onML=null;var e,t=[];for(e of this.channels.values())t.push(e.close());await Promise.all(t),this.channels.clear(),this.listeners.clear(),this.closed=!0}}}},{"./broadcast-channel.js":1,"./methods/localstorage.js":5,"./methods/native.js":6,"./methods/server.js":7,"./methods/simulate.js":8,"./util.js":11,"@babel/runtime/helpers/defineProperty":12,"@babel/runtime/helpers/objectSpread2":13}],11:[function(e,t,r){e=e("loglevel");Promise.resolve(!1),Promise.resolve(!0);var n=Promise.resolve();let i=0;e=e.getLogger("broadcast-channel");e.setLevel("error"),r.PROMISE_RESOLVED_VOID=n,r.generateRandomId=function(){return Math.random().toString(36).substring(2)},r.isPromise=function(e){return!(!e||"function"!=typeof e.then)},r.log=e,r.microSeconds=function(){let e=1e3*Date.now();return e<=i&&(e=i+1),i=e},r.randomInt=function(e,t){return Math.floor(Math.random()*(t-e+1)+e)},r.sleep=function(t,r){return t=t||0,new Promise(e=>{setTimeout(()=>e(r),t)})}},{loglevel:129}],12:[function(e,t,r){var n=e("./toPropertyKey.js");t.exports=function(e,t,r){return(t=n(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e},t.exports.__esModule=!0,t.exports.default=t.exports},{"./toPropertyKey.js":15}],13:[function(e,t,r){var n=e("./defineProperty.js");function i(t,e){var r,n=Object.keys(t);return Object.getOwnPropertySymbols&&(r=Object.getOwnPropertySymbols(t),e&&(r=r.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),n.push.apply(n,r)),n}t.exports=function(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?i(Object(r),!0).forEach(function(e){n(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):i(Object(r)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t},t.exports.__esModule=!0,t.exports.default=t.exports},{"./defineProperty.js":12}],14:[function(e,t,r){var n=e("./typeof.js").default;t.exports=function(e,t){if("object"!=n(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0===r)return("string"===t?String:Number)(e);if(r=r.call(e,t||"default"),"object"!=n(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")},t.exports.__esModule=!0,t.exports.default=t.exports},{"./typeof.js":16}],15:[function(e,t,r){var n=e("./typeof.js").default,i=e("./toPrimitive.js");t.exports=function(e){return e=i(e,"string"),"symbol"==n(e)?e:e+""},t.exports.__esModule=!0,t.exports.default=t.exports},{"./toPrimitive.js":14,"./typeof.js":16}],16:[function(e,t,r){function n(e){return t.exports=n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},t.exports.__esModule=!0,t.exports.default=t.exports,n(e)}t.exports=n,t.exports.__esModule=!0,t.exports.default=t.exports},{}],17:[function(e,t,r){Object.defineProperty(r,"__esModule",{value:!0}),r.notImplemented=r.bitMask=void 0,r.isBytes=s,r.abytes=a,r.abool=function(e,t){if("boolean"!=typeof t)throw new Error(e+" boolean expected, got "+t)},r.bytesToHex=c,r.numberToHexUnpadded=d,r.hexToNumber=u,r.hexToBytes=p,r.bytesToNumberBE=function(e){return u(c(e))},r.bytesToNumberLE=function(e){return a(e),u(c(Uint8Array.from(e).reverse()))},r.numberToBytesBE=b,r.numberToBytesLE=function(e,t){return b(e,t).reverse()},r.numberToVarBytesBE=function(e){return p(d(e))},r.ensureBytes=function(t,e,r){let n;if("string"==typeof e)try{n=p(e)}catch(e){throw new Error(t+" must be hex string or Uint8Array, cause: "+e)}else{if(!s(e))throw new Error(t+" must be hex string or Uint8Array");n=Uint8Array.from(e)}e=n.length;if("number"==typeof r&&e!==r)throw new Error(t+" of length "+r+" expected, got "+e);return n},r.concatBytes=y,r.equalBytes=function(t,r){if(t.length!==r.length)return!1;let n=0;for(let e=0;e<t.length;e++)n|=t[e]^r[e];return 0===n},r.utf8ToBytes=function(e){if("string"!=typeof e)throw new Error("string expected");return new Uint8Array((new TextEncoder).encode(e))},r.inRange=g,r.aInRange=function(e,t,r,n){if(!g(t,r,n))throw new Error("expected valid "+e+": "+r+" <= n < "+n+", got "+t)},r.bitLen=function(e){let t;for(t=0;e>n;e>>=i,t+=1);return t},r.bitGet=function(e,t){return e>>BigInt(t)&i},r.bitSet=function(e,t,r){return e|(r?i:n)<<BigInt(t)},r.createHmacDrbg=function(e,n,t){if("number"!=typeof e||e<2)throw new Error("hashLen must be a number");if("number"!=typeof n||n<2)throw new Error("qByteLen must be a number");if("function"!=typeof t)throw new Error("hmacFn must be a function");let i=v(e),r=v(e),o=0,s=()=>{i.fill(1),r.fill(0),o=0},a=(...e)=>t(r,i,...e),f=(e=v())=>{r=a(w([0]),e),i=a(),0!==e.length&&(r=a(w([1]),e),i=a())},c=(e,t)=>{s(),f(e);let r=void 0;for(;!(r=t((()=>{if(1e3<=o++)throw new Error("drbg: tried 1000 values");let e=0;for(var t=[];e<n;){var r=(i=a()).slice();t.push(r),e+=i.length}return y(...t)})()));)f();return s(),r};return c},r.validateObject=function(o,e,t={}){var r=(e,t,r)=>{var n=_[t];if("function"!=typeof n)throw new Error("invalid validator function");var i=o[e];if(!(r&&void 0===i||n(i,o)))throw new Error("param "+String(e)+" is invalid. Expected "+t+", got "+i)};for(var[n,i]of Object.entries(e))r(n,i,!1);for(var[s,a]of Object.entries(t))r(s,a,!0);return o},r.memoized=function(n){let i=new WeakMap;return(e,...t)=>{var r=i.get(e);return void 0!==r||(r=n(e,...t),i.set(e,r)),r}};let n=BigInt(0),i=BigInt(1),o=BigInt(2);function s(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&"Uint8Array"===e.constructor.name}function a(e){if(!s(e))throw new Error("Uint8Array expected")}let f=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function c(t){a(t);let r="";for(let e=0;e<t.length;e++)r+=f[t[e]];return r}function d(e){e=e.toString(16);return 1&e.length?"0"+e:e}function u(e){if("string"!=typeof e)throw new Error("hex string expected, got "+typeof e);return""===e?n:BigInt("0x"+e)}let h={_0:48,_9:57,A:65,F:70,a:97,f:102};function l(e){return e>=h._0&&e<=h._9?e-h._0:e>=h.A&&e<=h.F?e-(h.A-10):e>=h.a&&e<=h.f?e-(h.a-10):void 0}function p(r){if("string"!=typeof r)throw new Error("hex string expected, got "+typeof r);var e=r.length,n=e/2;if(e%2)throw new Error("hex string expected, got unpadded hex of length "+e);var i=new Uint8Array(n);for(let e=0,t=0;e<n;e++,t+=2){var o,s=l(r.charCodeAt(t)),a=l(r.charCodeAt(t+1));if(void 0===s||void 0===a)throw o=r[t]+r[t+1],new Error('hex string expected, got non-hex character "'+o+'" at index '+t);i[e]=16*s+a}return i}function b(e,t){return p(e.toString(16).padStart(2*t,"0"))}function y(...r){let t=0;for(let e=0;e<r.length;e++){var n=r[e];a(n),t+=n.length}var i=new Uint8Array(t);for(let e=0,t=0;e<r.length;e++){var o=r[e];i.set(o,t),t+=o.length}return i}let m=e=>"bigint"==typeof e&&n<=e;function g(e,t,r){return m(e)&&m(t)&&m(r)&&t<=e&&e<r}r.bitMask=e=>(o<<BigInt(e-1))-i;let v=e=>new Uint8Array(e),w=e=>Uint8Array.from(e);let _={bigint:e=>"bigint"==typeof e,function:e=>"function"==typeof e,boolean:e=>"boolean"==typeof e,string:e=>"string"==typeof e,stringOrUint8Array:e=>"string"==typeof e||s(e),isSafeInteger:e=>Number.isSafeInteger(e),array:e=>Array.isArray(e),field:(e,t)=>t.Fp.isValid(e),hash:e=>"function"==typeof e&&Number.isSafeInteger(e.outputLen)};r.notImplemented=()=>{throw new Error("not implemented")}},{}],18:[function(e,t,r){function n(e){if(!Number.isSafeInteger(e)||e<0)throw new Error("positive integer expected, got "+e)}function i(e,...t){if(!((r=e)instanceof Uint8Array||ArrayBuffer.isView(r)&&"Uint8Array"===r.constructor.name))throw new Error("Uint8Array expected");var r;if(0<t.length&&!t.includes(e.length))throw new Error("Uint8Array expected of length "+t+", got length="+e.length)}Object.defineProperty(r,"__esModule",{value:!0}),r.anumber=n,r.abytes=i,r.ahash=function(e){if("function"!=typeof e||"function"!=typeof e.create)throw new Error("Hash should be wrapped by utils.wrapConstructor");n(e.outputLen),n(e.blockLen)},r.aexists=function(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")},r.aoutput=function(e,t){i(e);t=t.outputLen;if(e.length<t)throw new Error("digestInto() expects output buffer of length at least "+t)}},{}],19:[function(e,t,r){Object.defineProperty(r,"__esModule",{value:!0}),r.add5L=r.add5H=r.add4H=r.add4L=r.add3H=r.add3L=r.rotlBL=r.rotlBH=r.rotlSL=r.rotlSH=r.rotr32L=r.rotr32H=r.rotrBL=r.rotrBH=r.rotrSL=r.rotrSH=r.shrSL=r.shrSH=r.toBig=void 0,r.fromBig=a,r.split=o,r.add=w;let n=BigInt(2**32-1),i=BigInt(32);function a(e,t=!1){return t?{h:Number(e&n),l:Number(e>>i&n)}:{h:0|Number(e>>i&n),l:0|Number(e&n)}}function o(t,r=!1){var n=new Uint32Array(t.length),i=new Uint32Array(t.length);for(let e=0;e<t.length;e++){var{h:o,l:s}=a(t[e],r);[n[e],i[e]]=[o,s]}return[n,i]}var s=(e,t)=>BigInt(e>>>0)<<i|BigInt(t>>>0),f=(r.toBig=s,(e,t,r)=>e>>>r),c=(r.shrSH=f,(e,t,r)=>e<<32-r|t>>>r),d=(r.shrSL=c,(e,t,r)=>e>>>r|t<<32-r),u=(r.rotrSH=d,(e,t,r)=>e<<32-r|t>>>r),h=(r.rotrSL=u,(e,t,r)=>e<<64-r|t>>>r-32),l=(r.rotrBH=h,(e,t,r)=>e>>>r-32|t<<64-r),p=(r.rotrBL=l,(e,t)=>t),b=(r.rotr32H=p,(e,t)=>e),y=(r.rotr32L=b,(e,t,r)=>e<<r|t>>>32-r),m=(r.rotlSH=y,(e,t,r)=>t<<r|e>>>32-r),g=(r.rotlSL=m,(e,t,r)=>t<<r-32|e>>>64-r),v=(r.rotlBH=g,(e,t,r)=>e<<r-32|t>>>64-r);function w(e,t,r,n){t=(t>>>0)+(n>>>0);return{h:e+r+(t/2**32|0)|0,l:0|t}}r.rotlBL=v;var _=(e,t,r)=>(e>>>0)+(t>>>0)+(r>>>0),S=(r.add3L=_,(e,t,r,n)=>t+r+n+(e/2**32|0)|0),M=(r.add3H=S,(e,t,r,n)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0)),A=(r.add4L=M,(e,t,r,n,i)=>t+r+n+i+(e/2**32|0)|0),k=(r.add4H=A,(e,t,r,n,i)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0)+(i>>>0)),E=(r.add5L=k,(e,t,r,n,i,o)=>t+r+n+i+o+(e/2**32|0)|0),s={fromBig:a,split:o,toBig:s,shrSH:f,shrSL:c,rotrSH:d,rotrSL:u,rotrBH:h,rotrBL:l,rotr32H:p,rotr32L:b,rotlSH:y,rotlSL:m,rotlBH:g,rotlBL:v,add:w,add3L:_,add3H:S,add4L:M,add4H:A,add5H:r.add5H=E,add5L:k};r.default=s},{}],20:[function(e,t,r){Object.defineProperty(r,"__esModule",{value:!0}),r.crypto=void 0,r.crypto="object"==typeof globalThis&&"crypto"in globalThis?globalThis.crypto:void 0},{}],21:[function(e,t,r){Object.defineProperty(r,"__esModule",{value:!0}),r.shake256=r.shake128=r.keccak_512=r.keccak_384=r.keccak_256=r.keccak_224=r.sha3_512=r.sha3_384=r.sha3_256=r.sha3_224=r.Keccak=void 0,r.keccakP=i;let s=e("./_assert.js"),n=e("./_u64.js"),a=e("./utils.js"),l=[],p=[];var o=[],f=BigInt(0),c=BigInt(1),d=BigInt(2),u=BigInt(7),h=BigInt(256),b=BigInt(113);for(let e=0,r=c,n=1,i=0;e<24;e++){[n,i]=[i,(2*n+3*i)%5],l.push(2*(5*i+n)),p.push((e+1)*(e+2)/2%64);let t=f;for(let e=0;e<7;e++)(r=(r<<c^(r>>u)*b)%h)&d&&(t^=c<<(c<<BigInt(e))-c);o.push(t)}let[y,m]=(0,n.split)(o,!0),g=(e,t,r)=>(32<r?(0,n.rotlBH):(0,n.rotlSH))(e,t,r),v=(e,t,r)=>(32<r?(0,n.rotlBL):(0,n.rotlSL))(e,t,r);function i(n,t=24){var i=new Uint32Array(10);for(let e=24-t;e<24;e++){for(let e=0;e<10;e++)i[e]=n[e]^n[e+10]^n[e+20]^n[e+30]^n[e+40];for(let t=0;t<10;t+=2){var o=(t+8)%10,s=(t+2)%10,a=i[s],s=i[1+s],f=g(a,s,1)^i[o],c=v(a,s,1)^i[1+o];for(let e=0;e<50;e+=10)n[t+e]^=f,n[t+e+1]^=c}let t=n[2],r=n[3];for(let e=0;e<24;e++){var d=p[e],u=g(t,r,d),d=v(t,r,d),h=l[e];t=n[h],r=n[h+1],n[h]=u,n[h+1]=d}for(let t=0;t<50;t+=10){for(let e=0;e<10;e++)i[e]=n[t+e];for(let e=0;e<10;e++)n[t+e]^=~i[(e+2)%10]&i[(e+4)%10]}n[0]^=y[e],n[1]^=m[e]}i.fill(0)}class w extends a.Hash{constructor(e,t,r,n=!1,i=24){if(super(),this.blockLen=e,this.suffix=t,this.outputLen=r,this.enableXOF=n,this.rounds=i,this.pos=0,this.posOut=0,this.finished=!1,(this.destroyed=!1,s.anumber)(r),this.blockLen<=0||200<=this.blockLen)throw new Error("Sha3 supports only keccak-f1600 function");this.state=new Uint8Array(200),this.state32=(0,a.u32)(this.state)}keccak(){a.isLE||(0,a.byteSwap32)(this.state32),i(this.state32,this.rounds),a.isLE||(0,a.byteSwap32)(this.state32),this.posOut=0,this.pos=0}update(r){(0,s.aexists)(this);var{blockLen:e,state:n}=this,i=(r=(0,a.toBytes)(r)).length;for(let t=0;t<i;){var o=Math.min(e-this.pos,i-t);for(let e=0;e<o;e++)n[this.pos++]^=r[t++];this.pos===e&&this.keccak()}return this}finish(){var e,t,r,n;this.finished||(this.finished=!0,{state:e,suffix:t,pos:r,blockLen:n}=this,e[r]^=t,0!=(128&t)&&r===n-1&&this.keccak(),e[n-1]^=128,this.keccak())}writeInto(r){(0,s.aexists)(this,!1),(0,s.abytes)(r),this.finish();var n=this.state,i=this.blockLen;for(let e=0,t=r.length;e<t;){this.posOut>=i&&this.keccak();var o=Math.min(i-this.posOut,t-e);r.set(n.subarray(this.posOut,this.posOut+o),e),this.posOut+=o,e+=o}return r}xofInto(e){if(this.enableXOF)return this.writeInto(e);throw new Error("XOF is not possible for this instance")}xof(e){return(0,s.anumber)(e),this.xofInto(new Uint8Array(e))}digestInto(e){if((0,s.aoutput)(e,this),this.finished)throw new Error("digest() was already called");return this.writeInto(e),this.destroy(),e}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,this.state.fill(0)}_cloneInto(e){var{blockLen:t,suffix:r,outputLen:n,rounds:i,enableXOF:o}=this;return(e=e||new w(t,r,n,o,i)).state32.set(this.state32),e.pos=this.pos,e.posOut=this.posOut,e.finished=this.finished,e.rounds=i,e.suffix=r,e.outputLen=n,e.enableXOF=o,e.destroyed=this.destroyed,e}}r.Keccak=w;e=(e,t,r)=>(0,a.wrapConstructor)(()=>new w(t,e,r)),r.sha3_224=e(6,144,28),r.sha3_256=e(6,136,32),r.sha3_384=e(6,104,48),r.sha3_512=e(6,72,64),r.keccak_224=e(1,144,28),r.keccak_256=e(1,136,32),r.keccak_384=e(1,104,48),r.keccak_512=e(1,72,64),e=(t,r,n)=>(0,a.wrapXOFConstructorWithOpts)((e={})=>new w(r,t,void 0===e.dkLen?n:e.dkLen,!0));r.shake128=e(31,168,16),r.shake256=e(31,136,32)},{"./_assert.js":18,"./_u64.js":19,"./utils.js":22}],22:[function(e,t,s){Object.defineProperty(s,"__esModule",{value:!0}),s.Hash=s.nextTick=s.byteSwapIfBE=s.isLE=void 0,s.isBytes=function(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&"Uint8Array"===e.constructor.name},s.u8=function(e){return new Uint8Array(e.buffer,e.byteOffset,e.byteLength)},s.u32=function(e){return new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4))},s.createView=function(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)},s.rotr=function(e,t){return e<<32-t|e>>>t},s.rotl=function(e,t){return e<<t|e>>>32-t>>>0},s.byteSwap=n,s.byteSwap32=function(t){for(let e=0;e<t.length;e++)t[e]=n(t[e])},s.bytesToHex=function(t){(0,a.abytes)(t);let r="";for(let e=0;e<t.length;e++)r+=i[t[e]];return r},s.hexToBytes=function(r){if("string"!=typeof r)throw new Error("hex string expected, got "+typeof r);var e=r.length,n=e/2;if(e%2)throw new Error("hex string expected, got unpadded hex of length "+e);var i=new Uint8Array(n);for(let e=0,t=0;e<n;e++,t+=2){var o,s=f(r.charCodeAt(t)),a=f(r.charCodeAt(t+1));if(void 0===s||void 0===a)throw o=r[t]+r[t+1],new Error('hex string expected, got non-hex character "'+o+'" at index '+t);i[e]=16*s+a}return i},s.asyncLoop=async function(t,r,n){let i=Date.now();for(let e=0;e<t;e++){n(e);var o=Date.now()-i;0<=o&&o<r||(await(0,s.nextTick)(),i+=o)}},s.utf8ToBytes=c,s.toBytes=d,s.concatBytes=function(...r){let t=0;for(let e=0;e<r.length;e++){var n=r[e];(0,a.abytes)(n),t+=n.length}var i=new Uint8Array(t);for(let e=0,t=0;e<r.length;e++){var o=r[e];i.set(o,t),t+=o.length}return i},s.checkOpts=function(e,t){if(void 0!==t&&"[object Object]"!=={}.toString.call(t))throw new Error("Options should be object or undefined");e=Object.assign(e,t);return e},s.wrapConstructor=function(t){var e=e=>t().update(d(e)).digest(),r=t();return e.outputLen=r.outputLen,e.blockLen=r.blockLen,e.create=()=>t(),e},s.wrapConstructorWithOpts=function(r){var e=(e,t)=>r(t).update(d(e)).digest(),t=r({});return e.outputLen=t.outputLen,e.blockLen=t.blockLen,e.create=e=>r(e),e},s.wrapXOFConstructorWithOpts=function(r){var e=(e,t)=>r(t).update(d(e)).digest(),t=r({});return e.outputLen=t.outputLen,e.blockLen=t.blockLen,e.create=e=>r(e),e},s.randomBytes=function(e=32){if(r.crypto&&"function"==typeof r.crypto.getRandomValues)return r.crypto.getRandomValues(new Uint8Array(e));if(r.crypto&&"function"==typeof r.crypto.randomBytes)return r.crypto.randomBytes(e);throw new Error("crypto.getRandomValues must be defined")};let r=e("@noble/hashes/crypto"),a=e("./_assert.js");function n(e){return e<<24&4278190080|e<<8&16711680|e>>>8&65280|e>>>24&255}s.isLE=68===new Uint8Array(new Uint32Array([287454020]).buffer)[0],s.byteSwapIfBE=s.isLE?e=>e:e=>n(e);let i=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));let o={_0:48,_9:57,A:65,F:70,a:97,f:102};function f(e){return e>=o._0&&e<=o._9?e-o._0:e>=o.A&&e<=o.F?e-(o.A-10):e>=o.a&&e<=o.f?e-(o.a-10):void 0}function c(e){if("string"!=typeof e)throw new Error("utf8ToBytes expected string, got "+typeof e);return new Uint8Array((new TextEncoder).encode(e))}function d(e){return"string"==typeof e&&(e=c(e)),(0,a.abytes)(e),e}s.nextTick=async()=>{};s.Hash=class{clone(){return this._cloneInto()}}},{"./_assert.js":18,"@noble/hashes/crypto":20}],23:[function(e,t,r){function n(e){if(e){var t,r=e;for(t in n.prototype)r[t]=n.prototype[t];return r}}(r.Emitter=n).prototype.on=n.prototype.addEventListener=function(e,t){return this._callbacks=this._callbacks||{},(this._callbacks["$"+e]=this._callbacks["$"+e]||[]).push(t),this},n.prototype.once=function(e,t){function r(){this.off(e,r),t.apply(this,arguments)}return r.fn=t,this.on(e,r),this},n.prototype.off=n.prototype.removeListener=n.prototype.removeAllListeners=n.prototype.removeEventListener=function(e,t){if(this._callbacks=this._callbacks||{},0==arguments.length)this._callbacks={};else{var r=this._callbacks["$"+e];if(r)if(1==arguments.length)delete this._callbacks["$"+e];else{for(var n,i=0;i<r.length;i++)if((n=r[i])===t||n.fn===t){r.splice(i,1);break}0===r.length&&delete this._callbacks["$"+e]}}return this},n.prototype.emitReserved=n.prototype.emit=function(e){this._callbacks=this._callbacks||{};for(var t=new Array(arguments.length-1),r=this._callbacks["$"+e],n=1;n<arguments.length;n++)t[n-1]=arguments[n];if(r)for(var n=0,i=(r=r.slice(0)).length;n<i;++n)r[n].apply(this,t);return this},n.prototype.listeners=function(e){return this._callbacks=this._callbacks||{},this._callbacks["$"+e]||[]},n.prototype.hasListeners=function(e){return!!this.listeners(e).length}},{}],24:[function(e,t,r){var n={MAINNET:"mainnet",TESTNET:"testnet",CYAN:"cyan",AQUA:"aqua",CELESTE:"celeste"},i={SAPPHIRE_DEVNET:"sapphire_devnet",SAPPHIRE_MAINNET:"sapphire_mainnet"},o={[n.MAINNET]:"0xf20336e16B5182637f09821c27BDe29b0AFcfe80",[n.TESTNET]:"0xd084604e5FA387FbC2Da8bAab07fDD6aDED4614A",[n.CYAN]:"0x9f072ba19b3370e512aa1b4bfcdaf97283168005",[n.AQUA]:"0x29Dea82a0509153b91040ee13cDBba0f03efb625",[n.CELESTE]:"0x6Bffb4e89453069E7487f0fa5c9f4a2D771cce6c"},s={[n.AQUA]:{migrationCompleted:!0,networkIdentifier:"aqua",networkMigratedTo:i.SAPPHIRE_MAINNET},[n.CELESTE]:{migrationCompleted:!0,networkIdentifier:"celeste",networkMigratedTo:i.SAPPHIRE_MAINNET},[n.CYAN]:{migrationCompleted:!0,networkIdentifier:"cyan",networkMigratedTo:i.SAPPHIRE_MAINNET},[n.MAINNET]:{migrationCompleted:!0,networkIdentifier:"mainnet",networkMigratedTo:i.SAPPHIRE_MAINNET},[n.TESTNET]:{migrationCompleted:!0,networkIdentifier:"teal",networkMigratedTo:i.SAPPHIRE_DEVNET}},a={[n.MAINNET]:"mainnet",[n.TESTNET]:"goerli",[n.CYAN]:"polygon-mainnet",[n.AQUA]:"polygon-mainnet",[n.CELESTE]:"polygon-mainnet"},f={[i.SAPPHIRE_MAINNET]:"https://api.web3auth.io/signer-service",[i.SAPPHIRE_DEVNET]:"https://api.web3auth.io/signer-service",[n.MAINNET]:"https://api.web3auth.io/signer-service",[n.TESTNET]:"https://api.web3auth.io/signer-service",[n.CYAN]:"https://api.web3auth.io/signer-polygon-service",[n.AQUA]:"https://api.web3auth.io/signer-polygon-service",[n.CELESTE]:"https://api.web3auth.io/signer-polygon-service"},c={[n.MAINNET]:"https://api.web3auth.io/metadata-service",[n.TESTNET]:"https://api.web3auth.io/metadata-service",[n.CYAN]:"https://api.web3auth.io/metadata-service",[n.AQUA]:"https://api.web3auth.io/metadata-service",[n.CELESTE]:"https://api.web3auth.io/metadata-service"};r.AUTHJS_SERVER_URL="https://api.web3auth.io/authjs-service",r.FND_SERVER="https://api.web3auth.io/fnd-service",r.KEY_TYPE={SECP256K1:"secp256k1",ED25519:"ed25519"},r.LEGACY_NETWORKS_ROUTE_MAP=s,r.METADATA_MAP=c,r.MULTI_CLUSTER_NETWORKS=[],r.NETWORK_MAP=a,r.PROXY_CONTRACT_ADDRESS=o,r.SESSION_SERVER_API_URL="https://api.web3auth.io/session-service",r.SESSION_SERVER_SOCKET_URL="https://session.web3auth.io",r.SIGNER_MAP=f,r.SIG_TYPE={ECDSA_SECP256K1:"ecdsa-secp256k1",ED25519:"ed25519",BIP340:"bip340"},r.TORUS_LEGACY_NETWORK=n,r.TORUS_SAPPHIRE_NETWORK=i},{}],25:[function(e,t,r){var n=e("./constants.js"),e=e("./interfaces.js");r.AUTHJS_SERVER_URL=n.AUTHJS_SERVER_URL,r.FND_SERVER=n.FND_SERVER,r.KEY_TYPE=n.KEY_TYPE,r.LEGACY_NETWORKS_ROUTE_MAP=n.LEGACY_NETWORKS_ROUTE_MAP,r.METADATA_MAP=n.METADATA_MAP,r.MULTI_CLUSTER_NETWORKS=n.MULTI_CLUSTER_NETWORKS,r.NETWORK_MAP=n.NETWORK_MAP,r.PROXY_CONTRACT_ADDRESS=n.PROXY_CONTRACT_ADDRESS,r.SESSION_SERVER_API_URL=n.SESSION_SERVER_API_URL,r.SESSION_SERVER_SOCKET_URL=n.SESSION_SERVER_SOCKET_URL,r.SIGNER_MAP=n.SIGNER_MAP,r.SIG_TYPE=n.SIG_TYPE,r.TORUS_LEGACY_NETWORK=n.TORUS_LEGACY_NETWORK,r.TORUS_SAPPHIRE_NETWORK=n.TORUS_SAPPHIRE_NETWORK,r.abi=e.abi},{"./constants.js":24,"./interfaces.js":26}],26:[function(e,t,r){r.abi=[{inputs:[{internalType:"string",name:"_verifier",type:"string"},{internalType:"bytes32",name:"hashedVerifierId",type:"bytes32"}],name:"getNodeSet",outputs:[{internalType:"uint256",name:"currentEpoch",type:"uint256"},{internalType:"string[]",name:"torusNodeEndpoints",type:"string[]"},{internalType:"uint256[]",name:"torusNodePubX",type:"uint256[]"},{internalType:"uint256[]",name:"torusNodePubY",type:"uint256[]"},{internalType:"uint256[]",name:"torusIndexes",type:"uint256[]"}],stateMutability:"view",type:"function"}]},{}],27:[function(w,e,_){!function(v){!function(){let e=w("elliptic"),n=new e.ec("secp256k1"),s=globalThis.crypto||globalThis.msCrypto||{},a=s.subtle||s.webkitSubtle,r=v.from("fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141","hex"),i=v.alloc(32,0);function o(e,t){if(!e)throw new Error(t||"Assertion failed")}function f(e){var t;return t=e,!(!v.isBuffer(t)||32!==t.length)&&0<e.compare(i)&&e.compare(r)<0}function c(e){return void 0===s.getRandomValues?v.from(s.randomBytes(e)):(e=new Uint8Array(e),s.getRandomValues(e),v.from(e))}async function d(r){if(!s.createHash){let e=await a.digest("SHA-512",r),t=new Uint8Array(e);return t}let e=s.createHash("sha512"),t=e.update(r).digest();return new Uint8Array(t)}function t(o){return async function(e,t,r){var n,i;if(a&&a[o]&&a.importKey)return i={name:"AES-CBC"},i=await a.importKey("raw",t,i,!1,[o]),n={name:"AES-CBC",iv:e},n=await a[o](n,i,r),v.from(new Uint8Array(n));if("encrypt"===o&&s.createCipheriv)return n=(i=s.createCipheriv("aes-256-cbc",t,e)).update(r),i=i.final(),v.concat([n,i]);if("decrypt"===o&&s.createDecipheriv)return i=(n=s.createDecipheriv("aes-256-cbc",t,e)).update(r),t=n.final(),v.concat([i,t]);throw new Error("Unsupported operation: "+o)}}let u=t("encrypt"),h=t("decrypt");async function l(t,r){if(!s.createHmac){var n={name:"HMAC",hash:{name:"SHA-256"}},n=await a.importKey("raw",new Uint8Array(t),n,!1,["sign","verify"]),n=await a.sign("HMAC",n,r);let e=v.from(new Uint8Array(n));return e}n=s.createHmac("sha256",v.from(t));n.update(r);let e=n.digest();return e}function p(e){return o(32===e.length,"Bad private key"),o(f(e),"Bad private key"),v.from(n.keyFromPrivate(e).getPublic("array"))}async function b(e,t){return o(v.isBuffer(e),"Bad private key"),o(v.isBuffer(t),"Bad public key"),o(32===e.length,"Bad private key"),o(f(e),"Bad private key"),o(65===t.length||33===t.length,"Bad public key"),65===t.length&&o(4===t[0],"Bad public key"),33===t.length&&o(2===t[0]||3===t[0],"Bad public key"),e=n.keyFromPrivate(e),t=n.keyFromPublic(t),e=e.derive(t.getPublic()),v.from(e.toArray())}async function y(e,t){return o(v.isBuffer(e),"Bad private key"),o(v.isBuffer(t),"Bad public key"),o(32===e.length,"Bad private key"),o(f(e),"Bad private key"),o(65===t.length||33===t.length,"Bad public key"),65===t.length&&o(4===t[0],"Bad public key"),33===t.length&&o(2===t[0]||3===t[0],"Bad public key"),e=n.keyFromPrivate(e),t=n.keyFromPublic(t),e=e.derive(t.getPublic()),v.from(e.toString(16,64),"hex")}let m=b;async function g(e,t,r){var n=(i=await d(await((r=null!=r&&r)?y:m)(e,t.ephemPublicKey))).slice(0,32),i=i.slice(32),o=v.concat([t.iv,t.ephemPublicKey,t.ciphertext]);if(!(i=await(async(e,t,r)=>{e=await l(e,t);{var n=e,i=r;if(n.length!==i.length)return!1;let t=0;for(let e=0;e<n.length;e++)t|=n[e]^i[e];return 0===t}})(v.from(i),o,t.mac))&&!1===r)return g(e,t,!0);if(i||!0!==r)return o=await h(t.iv,v.from(n),t.ciphertext),v.from(new Uint8Array(o));throw new Error("bad MAC after trying padded")}_.decrypt=g,_.derive=b,_.derivePadded=y,_.deriveUnpadded=m,_.encrypt=async function(e,t,r){let n=(r=r||{}).ephemPrivateKey||c(32);for(;!f(n);)n=r.ephemPrivateKey||c(32);var i=p(n),e=await d(await m(n,e)),o=r.iv||c(16),s=e.slice(0,32),e=e.slice(32),s=await u(o,v.from(s),t),t=v.concat([o,i,s]);return{iv:o,ephemPublicKey:i,ciphertext:s,mac:await l(v.from(e),t)}},_.generatePrivate=function(){let e=c(32);for(;!f(e);)e=c(32);return e},_.getPublic=p,_.getPublicCompressed=function(e){o(32===e.length,"Bad private key"),o(f(e),"Bad private key");return v.from(n.keyFromPrivate(e).getPublic(!0,"array"))},_.sign=async function(e,t){return o(32===e.length,"Bad private key"),o(f(e),"Bad private key"),o(0<t.length,"Message should not be empty"),o(t.length<=32,"Message is too long"),v.from(n.sign(t,e,{canonical:!0}).toDER())},_.verify=async function(e,t,r){if(o(65===e.length||33===e.length,"Bad public key"),65===e.length&&o(4===e[0],"Bad public key"),33===e.length&&o(2===e[0]||3===e[0],"Bad public key"),o(0<t.length,"Message should not be empty"),o(t.length<=32,"Message is too long"),n.verify(t,r,e))return null;throw new Error("Bad signature")}}.call(this)}.call(this,w("buffer").Buffer)},{buffer:36,elliptic:48}],28:[function(e,t,r){var o=e("@babel/runtime/helpers/objectSpread2"),s=e("deepmerge"),e=e("loglevel");let a=e.getLogger("http-helpers"),n=(a.setLevel(e.levels.INFO),"torus-default"),i="",f="x-api-key",c="x-embed-host",d=null,u=[],h=[];async function l(e,t){let r=null;try{r=new URL(e)}catch{}return d&&r&&(u.includes(r.origin)||h.includes(r.pathname))?await d.startSpan({name:e,op:"http.client"},async()=>await fetch(e,t)):fetch(e,t)}function p(){var e={};return n&&(e[f]=n),i&&(e[c]=i),e}function b(e){a.info(`Response: ${e.status} `+e.statusText),a.info("Url: "+e.url)}let y=async(r,e)=>{let n=null;try{var t=new Promise((e,t)=>{n=setTimeout(()=>{t(new Error(`Timed out in ${r}ms`))},r)}),i=await Promise.race([e,t]);return null!=n&&clearTimeout(n),i}catch(e){throw null!=n&&clearTimeout(n),e}},m=async(e,t={},r={})=>{var n={mode:"cors",headers:{}},r=(r.useAPIKey&&(n.headers=o(o({},n.headers),p())),t.method="GET",s(n,t)),n=await l(e,r);if(n.ok)return null!=(t=n.headers.get("content-type"))&&t.includes("application/json")?n.json():n.text();throw b(n),n};r.clearAPIKey=function(){n="torus-default"},r.clearEmbedHost=function(){i=""},r.enableSentryTracing=function(e,t,r){d=e,u.push(...t),h.push(...r)},r.gatewayAuthHeader=f,r.gatewayEmbedHostHeader=c,r.generateJsonRPCObject=(e,t)=>({jsonrpc:"2.0",method:e,id:10,params:t}),r.get=m,r.getAPIKey=function(){return n},r.getEmbedHost=function(){return i},r.patch=async(e,t={},r={},n={})=>{var i={mode:"cors",headers:{"Content-Type":"application/json; charset=utf-8"}},i=(n.useAPIKey&&(i.headers=o(o({},i.headers),p())),r.method="PATCH",s(i,r)),r=(n.isUrlEncodedData?(i.body=t,"application/json; charset=utf-8"===i.headers["Content-Type"]&&delete i.headers["Content-Type"]):i.body=JSON.stringify(t),await l(e,i));if(r.ok)return null!=(n=r.headers.get("content-type"))&&n.includes("application/json")?r.json():r.text();throw b(r),r},r.post=(e,t={},r={},n={})=>{var i={mode:"cors",headers:{"Content-Type":"application/json; charset=utf-8"}},i=(n.useAPIKey&&(i.headers=o(o({},i.headers),p())),r.method="POST",s(i,r));return n.isUrlEncodedData?(i.body=t,"application/json; charset=utf-8"===i.headers["Content-Type"]&&delete i.headers["Content-Type"]):i.body=JSON.stringify(t),y(n.timeout||6e4,l(e,i).then(e=>{var t;if(n.logTracingHeader&&(t=(t=e).headers.get("x-web3-correlation-id"))&&a.info("Request tracing with traceID = "+t),e.ok)return null!=(t=e.headers.get("content-type"))&&t.includes("application/json")?e.json():e.text();throw b(e),e}))},r.promiseRace=(e,t,r=6e4)=>Promise.race([m(e,t),new Promise((e,t)=>{setTimeout(()=>{t(new Error("timed out"))},r)})]),r.promiseTimeout=y,r.put=async(e,t={},r={},n={})=>{var i={mode:"cors",headers:{"Content-Type":"application/json; charset=utf-8"}},i=(n.useAPIKey&&(i.headers=o(o({},i.headers),p())),r.method="PUT",s(i,r)),r=(n.isUrlEncodedData?(i.body=t,"application/json; charset=utf-8"===i.headers["Content-Type"]&&delete i.headers["Content-Type"]):i.body=JSON.stringify(t),await l(e,i));if(r.ok)return null!=(n=r.headers.get("content-type"))&&n.includes("application/json")?r.json():r.text();throw b(r),r},r.remove=async(e,t={},r={},n={})=>{var i={mode:"cors",headers:{"Content-Type":"application/json; charset=utf-8"}},i=(n.useAPIKey&&(i.headers=o(o({},i.headers),p())),r.method="DELETE",s(i,r)),r=(n.isUrlEncodedData?(i.body=t,"application/json; charset=utf-8"===i.headers["Content-Type"]&&delete i.headers["Content-Type"]):i.body=JSON.stringify(t),await l(e,i));if(r.ok)return null!=(n=r.headers.get("content-type"))&&n.includes("application/json")?r.json():r.text();throw b(r),r},r.setAPIKey=function(e){n=e},r.setEmbedHost=function(e){i=e},r.setLogLevel=function(e){a.setLevel(e)}},{"@babel/runtime/helpers/objectSpread2":13,deepmerge:45,loglevel:129}],29:[function(e,t,f){!function(a){!function(){var n=e("@babel/runtime/helpers/objectSpread2"),r=e("@babel/runtime/helpers/defineProperty"),i=e("@toruslabs/http-helpers"),o=e("json-stable-stringify"),s=e("./utils.js");f.MetadataStorageLayer=class{constructor(e="https://metadata.tor.us",t=0){r(this,"metadataHost",void 0),r(this,"serverTimeOffset",void 0),this.metadataHost=e,this.serverTimeOffset=t}static setAPIKey(e){i.setAPIKey(e)}static setEmbedHost(e){i.setEmbedHost(e)}generateMetadataParams(e,t){var t=s.ec.keyFromPrivate(t,"hex"),e={data:e,timestamp:Math.floor(this.serverTimeOffset+Date.now()/1e3).toString(16)},r=t.sign(s.keccak256(a.from(o(e),"utf8")));return{pub_key_X:t.getPublic().getX().toString(16,64),pub_key_Y:t.getPublic().getY().toString(16,64),set_data:e,signature:a.from(r.r.toString(16,64)+r.s.toString(16,64)+(null!=(e=null==(t=r.recoveryParam)?void 0:t.toString(16).padStart(2,"0").slice(-2))?e:"00"),"hex").toString("base64")}}generatePubKeyParams(e){e=s.ec.keyFromPrivate(e,"hex");return{pub_key_X:e.getPublic().getX().toString(16,64),pub_key_Y:e.getPublic().getY().toString(16,64)}}async setMetadata(e,t,r){t=null!==t?n(n({},e),{},{namespace:t}):e;return(await i.post(this.metadataHost+"/set",t,r,{useAPIKey:!0})).message}async getMetadata(e,t,r){t=null!==t?n(n({},e),{},{namespace:t}):e;return(await i.post(this.metadataHost+"/get",t,r,{useAPIKey:!0})).message}}}.call(this)}.call(this,e("buffer").Buffer)},{"./utils.js":31,"@babel/runtime/helpers/defineProperty":12,"@babel/runtime/helpers/objectSpread2":13,"@toruslabs/http-helpers":28,buffer:36,"json-stable-stringify":125}],30:[function(e,t,r){var n=e("./MetadataStorageLayer.js"),i=e("./utils.js"),e=e("./webAuthnShareResolver.js");r.MetadataStorageLayer=n.MetadataStorageLayer,r.ec=i.ec,r.keccak256=i.keccak256,r.decryptDat