PageSourceSearch

https://www.origami.finance/assets/core-CO_67HuQ.js

js origami.finance collected 2026-10-04 11:42:52 UTC 471,174 bytes, 891 lines download raw bytes

1const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/basic-ChJ5KCyG.js","assets/index-BK2YI53V.js","assets/index-DnLF72oU.js","assets/index-BtTZaaZc.css","assets/index.es-I0A5aLyd.js","assets/events-DQ172AOg.js","assets/w3m-modal-C019VCj-.js"])))=>i.map(i=>d[i]);
2import{q as Vd,r as sa,t as qi,u as ra,_ as ia}from"./index-DnLF72oU.js";import{I as Br,h as Kd,i as St,j as dt,k as U,l as os,C as Gd,m as Jd,n as oi,s as so,o as dl,p as Yd,q as Js,u as Si,A as hl,E as st,v as Zd,x as Xd,y as bt,z as Bs,B as qr,O as Lo,D as Pt,F as Qd,G as Mo,J as Bo,K as mn,N as qo,P as na,Q as eh,L as th,M as sh,R as oa,S as Cr,T as ul,U as es,V as Wt,W as as,X as Lt}from"./index.es-I0A5aLyd.js";var aa={};const z={WC_NAME_SUFFIX:".reown.id",WC_NAME_SUFFIX_LEGACY:".wcn.id",BLOCKCHAIN_API_RPC_URL:"https://rpc.walletconnect.org",PULSE_API_URL:"https://pulse.walletconnect.org",W3M_API_URL:"https://api.web3modal.org",CONNECTOR_ID:{WALLET_CONNECT:"walletConnect",INJECTED:"injected",WALLET_STANDARD:"announced",COINBASE:"coinbaseWallet",COINBASE_SDK:"coinbaseWalletSDK",SAFE:"safe",LEDGER:"ledger",OKX:"okx",EIP6963:"eip6963",AUTH:"ID_AUTH"},CONNECTOR_NAMES:{AUTH:"Auth"},AUTH_CONNECTOR_SUPPORTED_CHAINS:["eip155","solana"],LIMITS:{PENDING_TRANSACTIONS:99},CHAIN:{EVM:"eip155",SOLANA:"solana",POLKADOT:"polkadot",BITCOIN:"bip122"}
2,CHAIN_NAME_MAP:{eip155:"EVM Networks",solana:"Solana",polkadot:"Polkadot",bip122:"Bitcoin",cosmos:"Cosmos"},ADAPTER_TYPES:{BITCOIN:"bitcoin",SOLANA:"solana",WAGMI:"wagmi",ETHERS:"ethers",ETHERS5:"ethers5"},USDT_CONTRACT_ADDRESSES:["0xdac17f958d2ee523a2206206994597c13d831ec7","0xc2132d05d31c914a87c6611c10748aeb04b58e8f","0x9702230a8ea53601f5cd2dc00fdbc13d4df4a8c7","0x919C1c267BC06a7039e03fcc2eF738525769109c","0x48065fbBE25f71C9282ddf5e1cD6D6A887483D5e","0x55d398326f99059fF775485246999027B3197955","0xfd086bc7cd5c481dcc9c85ebe478a1c0b69fcbb9"],HTTP_STATUS_CODES:{SERVICE_UNAVAILABLE:503,FORBIDDEN:403},UNSUPPORTED_NETWORK_NAME:"Unknown Network",SECURE_SITE_SDK_ORIGIN:(typeof process<"u"&&typeof aa<"u"?aa.NEXT_PUBLIC_SECURE_SITE_ORIGIN:void 0)||"https://secure.walletconnect.org"},pl={caipNetworkIdToNumber(t){return t?Number(t.split(":")[1]):void 0},parseEvmChainId(t){return typeof t=="string"?this.caipNetworkIdToNumber(t):t},getNetworksByNamespace(t,e){return t?.filter(s=>s.chainNamespace===e)||[]},getFirstNetworkByNamespace(t,e){return this.getNetworksByNamespace(t,e)[0]},getNetworkNameByCaipNetworkId(t,e){if(!e)return;const s=t.find(i=>i.caipNetworkId===e);if(s)return s.name;const[r]=e.split(":");return z.CHAIN_NAME_MAP?.[r]||void 0}};var rh=20,ih=1,Ws=1e6,ca=1e6,nh=-7,oh=21,ah=!1,Pi="[big.js] ",Ys=Pi+"Invalid ",wn=Ys+"decimal places",ch=Ys+"rounding mode",fl=Pi+"Division by zero",ge={},Vt=void 0,lh=/^-?(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i;function gl(){function t(e){var s=this;if(!(s instanceof t))return e===Vt?gl():new t(e);if(e instanceof t)s.s=e.s,s.e=e.e,s.c=e.c.slice();else{if(typeof e!="string"){if(t.strict===!0&&typeof e!="bigint")throw TypeError(Ys+"value");e=e===0&&1/e<0?"-0":String(e)}dh(s,e)}s.constructor=t}return t.prototype=ge,t.DP=rh,t.RM=ih,t.NE=nh,t.PE=oh,t.strict=ah,t.roundDown=0,t.roundHalfUp=1,t.roundHalfEven=2,t.roundUp=3,t}function dh(t,e){var s,r,i;if(!lh.test(e))throw Error(Ys+"number");for(t.s=e.charAt(0)=="-"?(e=e.slice(1),-1):1,(s=e.indexOf("."))>-1&&(e=e.replace(".","")),(r=e.search(/e/i))>0?(s<0&&(s=r),s+=+e.slice(r+1),e=e.substring(0,r)):s<0&&(s=e.length),i=e.length,r=0;r<i&&e.charAt(r)=="0";)++r;if(r==i)t.c=[t.e=0];else{for(;i>0&&e.charAt(--i)=="0";);for(t.e=s-r-1,t.c=[],s=0;r<=i;)t.c[s++]=+e.charAt(r++)}return t}function Zs(t,e,s,r){var i=t.c;if(s===Vt&&(s=t.constructor.RM),s!==0&&s!==1&&s!==2&&s!==3)throw Error(ch);if(e<1)r=s===3&&(r||!!i[0])||e===0&&(s===1&&i[0]>=5||s===2&&(i[0]>5||i[0]===5&&(r||i[1]!==Vt))),i.length=1,r?(t.e=t.e-e+1,i[0]=1):i[0]=t.e=0;else if(e<i.length){if(r=s===1&&i[e]>=5||s===2&&(i[e]>5||i[e]===5&&(r||i[e+1]!==Vt||i[e-1]&1))||s===3&&(r||!!i[0]),i.length=e,r){for(;++i[--e]>9;)if(i[e]=0,e===0){++t.e,i.unshift(1);break}}for(e=i.length;!i[--e];)i.pop()}return t}function Xs(t,e,s){var r=t.e,i=t.c.join(""),n=i.length;if(e)i=i.charAt(0)+(n>1?"."+i.slice(1):"")+(r<0?"e":"e+")+r;else if(r<0){for(;++r;)i="0"+i;i="0."+i}else if(r>0)if(++r>n)for(r-=n;r--;)i+="0";else r<n&&(i=i.slice(0,r)+"."+i.slice(r));else n>1&&(i=i.charAt(0)+"."+i.slice(1));return t.s<0&&s?"-"+i:i}ge.abs=function(){var t=new this.constructor(this);return t.s=1,t};ge.cmp=function(t){var e,s=this,r=s.c,i=(t=new s.constructor(t)).c,n=s.s,o=t.s,a=s.e,c=t.e;if(!r[0]||!i[0])return r[0]?n:i[0]?-o:0;if(n!=o)return n;if(e=n<0,a!=c)return a>c^e?1:-1;for(o=(a=r.length)<(c=i.length)?a:c,n=-1;++n<o;)if(r[n]!=i[n])return r[n]>i[n]^e?1:-1;return a==c?0:a>c^e?1:-1};ge.div=function(t){var e=this,s=e.constructor,r=e.c,i=(t=new s(t)).c,n=e.s==t.s?1:-1,o=s.DP;if(o!==~~o||o<0||o>Ws)throw Error(wn);if(!i[0])throw Error(fl);if(!r[0])return t.s=n,t.c=[t.e=0],t;var a,c,l,d,h,u=i.slice(),g=a=i.length,w=r.length,m=r.slice(0,a),f=m.length,y=t,b=y.c=[],I=0,O=o+(y.e=e.e-t.e)+1;for(y.s=n,n=O<0?0:O,u.unshift(0);f++<a;)m.push(0);do{for(l=0;l<10;l++){if(a!=(f=m.length))d=a>f?1:-1;else for(h=-1,d=0;++h<a;)if(i[h]!=m[h]){d=i[h]>m[h]?1:-1;break}if(d<0){for(c=f==a?i:u;f;){if(m[--f]<c[f]){for(h=f;h&&!m[--h];)m[h]=9;--m[h],m[f]+=10}m[f]-=c[f]}for(;!m[0];)m.shift()}else break}b[I++]=d?l:++l,m[0]&&d?m[f]=r[g]||0:m=[r[g]]}while((g++<w||m[0]!==Vt)&&n--);return!b[0]&&I!=1&&(b.shift(),y.e--,O--),I>O&&Zs(y,O,s.RM,m[0]!==Vt),y};ge.eq=function(t){return this.cmp(t)===0};ge.gt=function(t){return this.cmp(t)>0};ge.gte=function(t){return this.cmp(t)>-1};ge.lt=function(t){return this.cmp(t)<0};ge.lte=function(t){return this.cmp(t)<1};ge.minus=ge.sub=function(t){var e,s,r,i,n=this,o=n.constructor,a=n.s,c=(t=new o(t)).s;if(a!=c)return t.s=-c,n.plus(t);var l=n.c.slice(),d=n.e,h=t.c,u=t.e;if(!l[0]||!h[0])return h[0]?t.s=-c:l[0]?t=new o(n):t.s=1,t;if(a=d-u){for((i=a<0)?(a=-a,r=l):(u=d,r=h),r.reverse(),c=a;c--;)r.push(0);r.reverse()}else for(s=((i=l.length<h.length)?l:h).length,a=c=0;c<s;c++)if(l[c]!=h[c]){i=l[c]<h[c];break}if(i&&(r=l,l=h,h=r,t.s=-t.s),(c=(s=h.length)-(e=l.length))>0)for(;c--;)l[e++]=0;for(c=e;s>a;){if(l[--s]<h[s]){for(e=s;e&&!l[--e];)l[e]=9;--l[e],l[s]+=10}
2l[s]-=h[s]}for(;l[--c]===0;)l.pop();for(;l[0]===0;)l.shift(),--u;return l[0]||(t.s=1,l=[u=0]),t.c=l,t.e=u,t};ge.mod=function(t){var e,s=this,r=s.constructor,i=s.s,n=(t=new r(t)).s;if(!t.c[0])throw Error(fl);return s.s=t.s=1,e=t.cmp(s)==1,s.s=i,t.s=n,e?new r(s):(i=r.DP,n=r.RM,r.DP=r.RM=0,s=s.div(t),r.DP=i,r.RM=n,this.minus(s.times(t)))};ge.neg=function(){var t=new this.constructor(this);return t.s=-t.s,t};ge.plus=ge.add=function(t){var e,s,r,i=this,n=i.constructor;if(t=new n(t),i.s!=t.s)return t.s=-t.s,i.minus(t);var o=i.e,a=i.c,c=t.e,l=t.c;if(!a[0]||!l[0])return l[0]||(a[0]?t=new n(i):t.s=i.s),t;if(a=a.slice(),e=o-c){for(e>0?(c=o,r=l):(e=-e,r=a),r.reverse();e--;)r.push(0);r.reverse()}for(a.length-l.length<0&&(r=l,l=a,a=r),e=l.length,s=0;e;a[e]%=10)s=(a[--e]=a[e]+l[e]+s)/10|0;for(s&&(a.unshift(s),++c),e=a.length;a[--e]===0;)a.pop();return t.c=a,t.e=c,t};ge.pow=function(t){var e=this,s=new e.constructor("1"),r=s,i=t<0;if(t!==~~t||t<-ca||t>ca)throw Error(Ys+"exponent");for(i&&(t=-t);t&1&&(r=r.times(e)),t>>=1,!!t;)e=e.times(e);return i?s.div(r):r};ge.prec=function(t,e){if(t!==~~t||t<1||t>Ws)throw Error(Ys+"precision");return Zs(new this.constructor(this),t,e)};ge.round=function(t,e){if(t===Vt)t=0;else if(t!==~~t||t<-Ws||t>Ws)throw Error(wn);return Zs(new this.constructor(this),t+this.e+1,e)};ge.sqrt=function(){var t,e,s,r=this,i=r.constructor,n=r.s,o=r.e,a=new i("0.5");if(!r.c[0])return new i(r);if(n<0)throw Error(Pi+"No square root");n=Math.sqrt(+Xs(r,!0,!0)),n===0||n===1/0?(e=r.c.join(""),e.length+o&1||(e+="0"),n=Math.sqrt(e),o=((o+1)/2|0)-(o<0||o&1),t=new i((n==1/0?"5e":(n=n.toExponential()).slice(0,n.indexOf("e")+1))+o)):t=new i(n+""),o=t.e+(i.DP+=4);do s=t,t=a.times(s.plus(r.div(s)));while(s.c.slice(0,o).join("")!==t.c.slice(0,o).join(""));return Zs(t,(i.DP-=4)+t.e+1,i.RM)};ge.times=ge.mul=function(t){var e,s=this,r=s.constructor,i=s.c,n=(t=new r(t)).c,o=i.length,a=n.length,c=s.e,l=t.e;if(t.s=s.s==t.s?1:-1,!i[0]||!n[0])return t.c=[t.e=0],t;for(t.e=c+l,o<a&&(e=i,i=n,n=e,l=o,o=a,a=l),e=new Array(l=o+a);l--;)e[l]=0;for(c=a;c--;){for(a=0,l=o+c;l>c;)a=e[l]+n[c]*i[l-c-1]+a,e[l--]=a%10,a=a/10|0;e[l]=a}for(a?++t.e:e.shift(),c=e.length;!e[--c];)e.pop();return t.c=e,t};ge.toExponential=function(t,e){var s=this,r=s.c[0];if(t!==Vt){if(t!==~~t||t<0||t>Ws)throw Error(wn);for(s=Zs(new s.constructor(s),++t,e);s.c.length<t;)s.c.push(0)}return Xs(s,!0,!!r)};ge.toFixed=function(t,e){var s=this,r=s.c[0];if(t!==Vt){if(t!==~~t||t<0||t>Ws)throw Error(wn);for(s=Zs(new s.constructor(s),t+s.e+1,e),t=t+s.e+1;s.c.length<t;)s.c.push(0)}return Xs(s,!1,!!r)};ge[Symbol.for("nodejs.util.inspect.custom")]=ge.toJSON=ge.toString=function(){var t=this,e=t.constructor;return Xs(t,t.e<=e.NE||t.e>=e.PE,!!t.c[0])};ge.toNumber=function(){var t=+Xs(this,!0,!0);if(this.constructor.strict===!0&&!this.eq(t.toString()))throw Error(Pi+"Imprecise conversion");return t};ge.toPrecision=function(t,e){var s=this,r=s.constructor,i=s.c[0];if(t!==Vt){if(t!==~~t||t<1||t>Ws)throw Error(Ys+"precision");for(s=Zs(new r(s),t,e);s.c.length<t;)s.c.push(0)}return Xs(s,t<=s.e||s.e<=r.NE||s.e>=r.PE,!!i)};ge.valueOf=function(){var t=this,e=t.constructor;if(e.strict===!0)throw Error(Pi+"valueOf disallowed");return Xs(t,t.e<=e.NE||t.e>=e.PE,!0)};var Hr=gl();const hh={bigNumber(t){return t?new Hr(t):new Hr(0)},multiply(t,e){if(t===void 0||e===void 0)return new Hr(0);const s=new Hr(t),r=new Hr(e);return s.times(r)},formatNumberToLocalString(t,e=2){return t===void 0?"0.00":typeof t=="number"?t.toLocaleString("en-US",{maximumFractionDigits:e,minimumFractionDigits:e}):parseFloat(t).toLocaleString("en-US",{maximumFractionDigits:e,minimumFractionDigits:e})},parseLocalStringToNumber(t){return t===void 0?0:parseFloat(t.replace(/,/gu,""))}},uh=[{type:"function",name:"transfer",stateMutability:"nonpayable",inputs:[{name:"_to",type:"address"},{name:"_value",type:"uint256"}],outputs:[{name:"",type:"bool"}]},{type:"function",name:"transferFrom",stateMutability:"nonpayable",inputs:[{name:"_from",type:"address"},{name:"_to",type:"address"},{name:"_value",type:"uint256"}],outputs:[{name:"",type:"bool"}]}],ph=[{type:"function",name:"approve",stateMutability:"nonpayable",inputs:[{name:"spender",type:"address"},{name:"amount",type:"uint256"}],outputs:[{type:"bool"}]}],fh=[{type:"function",name:"transfer",stateMutability:"nonpayable",inputs:[{name:"recipient",type:"address"},{name:"amount",type:"uint256"}],outputs:[]},{type:"function",name:"transferFrom",stateMutability:"nonpayable",inputs:[{name:"sender",type:"address"},{name:"recipient",type:"address"},{name:"amount",type:"uint256"}],outputs:[{name:"",type:"bool"}]}],gh={getERC20Abi:t=>z.USDT_CONTRACT_ADDRESSES.includes(t)?fh:uh,getSwapAbi:()=>ph},cs={validateCaipAddress(t){if(t.split(":")?.length!==3)throw new Error("Invalid CAIP Address");return t},parseCaipAddress(t){const e=t.split(":");if(e.length!==3)throw new Error(`Invalid CAIP-10 address: ${t}`);const[s,r,i]=e;if(!s||!r||!i)throw new Error(`Invalid CAIP-10 address: ${t}`);return{chainNamespace:s,chainId:r,address:i}},parseCaipNetworkId(t){const e=t.split(":");if(e.length!==2)throw new Error(`Invalid CAIP-2 network id: ${t}`);const[s,r]=e;if(!s||!r)throw new Error(`Invalid CAIP-2 network id: ${t}`);return{chainNamespace:s,chainId:r}}},ee={WALLET_ID:"@appkit/wallet_id",WALLET_NAME:"@appkit/wallet_name",SOLANA_WALLET:"@appkit/solana_wallet",SOLANA_CAIP_CHAIN:"@appkit/solana_caip_chain",ACTIVE_CAIP_NETWORK_ID:"@appkit/active_caip_network_id",CONNECTED_SOCIAL:"@appkit/connected_social",CONNECTED_SOCIAL_USERNAME:"@appkit-wallet/SOCIAL_USERNAME",RECENT_WALLETS:"@appkit/recent_wallets",DEEPL
2INK_CHOICE:"WALLETCONNECT_DEEPLINK_CHOICE",ACTIVE_NAMESPACE:"@appkit/active_namespace",CONNECTED_NAMESPACES:"@appkit/connected_namespaces",CONNECTION_STATUS:"@appkit/connection_status",SIWX_AUTH_TOKEN:"@appkit/siwx-auth-token",SIWX_NONCE_TOKEN:"@appkit/siwx-nonce-token",TELEGRAM_SOCIAL_PROVIDER:"@appkit/social_provider",NATIVE_BALANCE_CACHE:"@appkit/native_balance_cache",PORTFOLIO_CACHE:"@appkit/portfolio_cache",ENS_CACHE:"@appkit/ens_cache",IDENTITY_CACHE:"@appkit/identity_cache",PREFERRED_ACCOUNT_TYPES:"@appkit/preferred_account_types",CONNECTIONS:"@appkit/connections"};function Sn(t){if(!t)throw new Error("Namespace is required for CONNECTED_CONNECTOR_ID");return`@appkit/${t}:connected_connector_id`}const X={setItem(t,e){ei()&&e!==void 0&&localStorage.setItem(t,e)},getItem(t){if(ei())return localStorage.getItem(t)||void 0},removeItem(t){ei()&&localStorage.removeItem(t)},clear(){ei()&&localStorage.clear()}};function ei(){return typeof window<"u"&&typeof localStorage<"u"}function ys(t,e){return e==="light"?{"--w3m-accent":t?.["--w3m-accent"]||"hsla(231, 100%, 70%, 1)","--w3m-background":"#fff"}:{"--w3m-accent":t?.["--w3m-accent"]||"hsla(230, 100%, 67%, 1)","--w3m-background":"#121313"}}const mh=Symbol(),la=Object.getPrototypeOf,ro=new WeakMap,wh=t=>t&&(ro.has(t)?ro.get(t):la(t)===Object.prototype||la(t)===Array.prototype),yh=t=>wh(t)&&t[mh]||null,da=(t,e=!0)=>{ro.set(t,e)},cn={},Pn=t=>typeof t=="object"&&t!==null,fs=new WeakMap,ti=new WeakSet,bh=(t=Object.is,e=(l,d)=>new Proxy(l,d),s=l=>Pn(l)&&!ti.has(l)&&(Array.isArray(l)||!(Symbol.iterator in l))&&!(l instanceof WeakMap)&&!(l instanceof WeakSet)&&!(l instanceof Error)&&!(l instanceof Number)&&!(l instanceof Date)&&!(l instanceof String)&&!(l instanceof RegExp)&&!(l instanceof ArrayBuffer),r=l=>{switch(l.status){case"fulfilled":return l.value;case"rejected":throw l.reason;default:throw l}},i=new WeakMap,n=(l,d,h=r)=>{const u=i.get(l);if(u?.[0]===d)return u[1];const g=Array.isArray(l)?[]:Object.create(Object.getPrototypeOf(l));return da(g,!0),i.set(l,[d,g]),Reflect.ownKeys(l).forEach(w=>{if(Object.getOwnPropertyDescriptor(g,w))return;const m=Reflect.get(l,w),{enumerable:f}=Reflect.getOwnPropertyDescriptor(l,w),y={value:m,enumerable:f,configurable:!0};if(ti.has(m))da(m,!1);else if(m instanceof Promise)delete y.value,y.get=()=>h(m);else if(fs.has(m)){const[b,I]=fs.get(m);y.value=n(b,I(),h)}Object.defineProperty(g,w,y)}),Object.preventExtensions(g)},o=new WeakMap,a=[1,1],c=l=>{if(!Pn(l))throw new Error("object required");const d=o.get(l);if(d)return d;let h=a[0];const u=new Set,g=(v,$=++a[0])=>{h!==$&&(h=$,u.forEach(E=>E(v,$)))};let w=a[1];const m=(v=++a[1])=>(w!==v&&!u.size&&(w=v,y.forEach(([$])=>{const E=$[1](v);E>h&&(h=E)})),h),f=v=>($,E)=>{const L=[...$];L[1]=[v,...L[1]],g(L,E)},y=new Map,b=(v,$)=>{if((cn?"production":void 0)!=="production"&&y.has(v))throw new Error("prop listener already exists");if(u.size){const E=$[3](f(v));y.set(v,[$,E])}else y.set(v,[$])},I=v=>{var $;const E=y.get(v);E&&(y.delete(v),($=E[1])==null||$.call(E))},O=v=>
2(u.add(v),u.size===1&&y.forEach(([E,L],H)=>{if((cn?"production":void 0)!=="production"&&L)throw new Error("remove already exists");const C=E[3](f(H));y.set(H,[E,C])}),()=>{u.delete(v),u.size===0&&y.forEach(([E,L],H)=>{L&&(L(),y.set(H,[E]))})}),x=Array.isArray(l)?[]:Object.create(Object.getPrototypeOf(l)),_=e(x,{deleteProperty(v,$){const E=Reflect.get(v,$);I($);const L=Reflect.deleteProperty(v,$);return L&&g(["delete",[$],E]),L},set(v,$,E,L){const H=Reflect.has(v,$),C=Reflect.get(v,$,L);if(H&&(t(C,E)||o.has(E)&&t(C,o.get(E))))return!0;I($),Pn(E)&&(E=yh(E)||E);let k=E;if(E instanceof Promise)E.then(A=>{E.status="fulfilled",E.value=A,g(["resolve",[$],A])}).catch(A=>{E.status="rejected",E.reason=A,g(["reject",[$],A])});else{!fs.has(E)&&s(E)&&(k=c(E));const A=!ti.has(k)&&fs.get(k);A&&b($,A)}return Reflect.set(v,$,k,L),g(["set",[$],E,C]),!0}});o.set(l,_);const D=[x,m,n,O];return fs.set(_,D),Reflect.ownKeys(l).forEach(v=>{const $=Object.getOwnPropertyDescriptor(l,v);"value"in $&&(_[v]=l[v],delete $.value,delete $.writable),Object.defineProperty(x,v,$)}),_})=>[c,fs,ti,t,e,s,r,i,n,o,a],[vh]=bh();function _e(t={}){return vh(t)}function Xe(t,e,s){const r=fs.get(t);(cn?"production":void 0)!=="production"&&!r&&console.warn("Please use proxy object");let i;const n=[],o=r[3];let a=!1;const l=o(d=>{n.push(d),i||(i=Promise.resolve().then(()=>{i=void 0,a&&e(n.splice(0))}))});return a=!0,()=>{a=!1,l()}}function yi(t,e){const s=fs.get(t);(cn?"production":void 0)!=="production"&&!s&&console.warn("Please use proxy object");const[r,i,n]=s;return n(r,i(),e)}function zs(t){return ti.add(t),t}function Qe(t,e,s,r){let i=t[e];return Xe(t,()=>{const n=t[e];Object.is(i,n)||s(i=n)})}function Eh(t){const e=_e({data:Array.from([]),has(s){return this.data.some(r=>r[0]===s)},set(s,r){const i=this.data.find(n=>n[0]===s);return i?i[1]=r:this.data.push([s,r]),this},get(s){var r;return(r=this.data.find(i=>i[0]===s))==null?void 0:r[1]},delete(s){const r=this.data.findIndex(i=>i[0]===s);return r===-1?!1:(this.data.splice(r,1),!0)},clear(){this.data.splice(0)},get size(){return this.data.length},toJSON(){return new Map(this.data)},forEach(s){this.data.forEach(r=>{s(r[1],r[0],this)})},keys(){return this.data.map(s=>s[0]).values()},values(){return this.data.map(s=>s[1]).values()},entries(){return new Map(this.data).entries()},get[Symbol.toStringTag](){return"Map"},[Symbol.iterator](){return this.entries()}});return Object.defineProperties(e,{data:{enumerable:!1},size:{enumerable:!1},toJSON:{enumerable:!1}}),Object.seal(e),e}const ml=[{label:"Coinbase",name:"coinbase",feeRange:"1-2%",url:"",supportedChains:["eip155"]},{label:"Meld.io",name:"meld",feeRange:"1-2%",url:"https://meldcrypto.com",supportedChains:["eip155","solana"]}],Ch="WXETMuFUQmqqybHuRkSgxv:25B8LJHSfpG6LVjR2ytU5Cwh7Z4Sch2ocoU",ve={FOUR_MINUTES_MS:24e4,TEN_SEC_MS:1e4,ONE_SEC_MS:1e3,BALANCE_SUPPORTED_CHAINS:["eip155","solana"],NAMES_SUPPORTED_CHAIN_NAMESPACES:["eip155"],NATIVE_TOKEN_ADDRESS:{eip155:"0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee",solana:"So11111111111111111111111111111111111111111",polkadot:"0x",bip122:"0x",cosmos:"0x"},CONVERT_SLIPPAGE_TOLERANCE:1,CONNECT_LABELS:{MOBILE:"Open and continue in the wallet app"},SEND_SUPPORTED_NAMESPACES:["eip155","solana"],DEFAULT_REMOTE_FEATURES:{swaps:["1inch"],onramp:["coinbase","meld"],email:!0,socials:["google","x","discord","farcaster","github","apple","facebook"],activity:!0,reownBranding:!0},DEFAULT_REMOTE_FEATURES_DISABLED:{email:!1,socials:!1,swaps:!1,onramp:!1,activity:!1,reownBranding:!1},DEFAULT_FEATURES:{receive:!0,send:!0,emailShowWallets:!0,connectorTypeOrder:["walletConnect","recent","injected","featured","custom","external","recommended"],analytics:!0,allWallets:!0,legalCheckbox:!1,smartSessions:!1,collapseWallets:!1,walletFeaturesOrder:["onramp","swaps","receive","send"],connectMethodsOrder:void 0,pay:!1},DEFAULT_ACCOUNT_TYPES:{bip122:"payment",eip155:"smartAccount",polkadot:"eoa",solana:"eoa"},ADAPTER_TYPES:{UNIVERSAL:"universal"}},F={cacheExpiry:{portfolio:3e4,nativeBalance:3e4,ens:3e5,identity:3e5},isCacheExpired(t,e){return Date.now()-t>e},getActiveNetworkProps(){const t=F.getActiveNamespace(),e=F.getActiveCaipNetworkId(),s=e?e.split(":")[1]:void 0,r=s?isNaN(Number(s))?s:Number(s):void 0;return{namespace:t,caipNetworkId:e,chainId:r}},setWalletConnectDeepLink({name:t,href:e}){try{X.setItem(ee.DEEPLINK_CHOICE,JSON.stringify({href:e,name:t}))}catch{console.info("Unable to set WalletConnect deep link")}},getWalletConnectDeepLink(){try{const t=X.getItem(ee.DEEPLINK_CHOICE);if(t)return JSON.parse(t)}catch{console.info("Unable to get WalletConnect deep link")}},deleteWalletConnectDeepLink(){try{X.removeItem(ee.DEEPLINK_CHOICE)}catch{console.info("Unable to delete WalletConnect deep link")}},setActiveNamespace(t){try{X.setItem(ee.ACTIVE_NAMESPACE,t)}catch{console.info("Unable to set active namespace")}},setActiveCaipNetworkId(t){try{X.setItem(ee.ACTIVE_CAIP_NETWORK_ID,t),F.setActiveNamespace(t.split(":")[0])}catch{console.info("Unable to set active caip network id")}},getActiveCaipNetworkId(){try{return X.getItem(ee.ACTIVE_CAIP_NETWORK_ID)}catch{console.info("Unable to get active caip network id");return}},deleteActiveCaipNetworkId(){try{X.removeItem(ee.ACTIVE_CAIP_NETWORK_ID)}catch{console.info("Unable to delete active caip network id")}},deleteConnectedConnectorId(t){try{const e=Sn(t);X.removeItem(e)}catch{console.info("Unable to delete connected connector id")}},setAppKitRecent(t){try{const e=F.getRecentWallets();e.find(r=>r.id===t.id)||(e.unshift(t),e.length>2&&e.pop(),X.setItem(ee.RECENT_WALLETS,JSON.stringify(e)))}catch{console.info("Unable to set AppKit recent")}},getRecentWallets(){try{const t=X.getItem(ee.RECENT_WALLETS);return t?JSON.parse(t):[]}
vendor: 9,613 bytes, line 2
2catch{console.info("Unable to get AppKit recent")}return[]},setConnectedConnectorId(t,e){try{const s=Sn(t);X.setItem(s,e)}catch{console.info("Unable to set Connected Connector Id")}},getActiveNamespace(){try{return X.getItem(ee.ACTIVE_NAMESPACE)}catch{console.info("Unable to get active namespace")}},getConnectedConnectorId(t){if(t)try{const e=Sn(t);return X.getItem(e)}catch{console.info("Unable to get connected connector id in namespace ",t)}},setConnectedSocialProvider(t){try{X.setItem(ee.CONNECTED_SOCIAL,t)}catch{console.info("Unable to set connected social provider")}},getConnectedSocialProvider(){try{return X.getItem(ee.CONNECTED_SOCIAL)}catch{console.info("Unable to get connected social provider")}},deleteConnectedSocialProvider(){try{X.removeItem(ee.CONNECTED_SOCIAL)}catch{console.info("Unable to delete connected social provider")}},getConnectedSocialUsername(){try{return X.getItem(ee.CONNECTED_SOCIAL_USERNAME)}catch{console.info("Unable to get connected social username")}},getStoredActiveCaipNetworkId(){return X.getItem(ee.ACTIVE_CAIP_NETWORK_ID)?.split(":")?.[1]},setConnectionStatus(t){try{X.setItem(ee.CONNECTION_STATUS,t)}catch{console.info("Unable to set connection status")}},getConnectionStatus(){try{return X.getItem(ee.CONNECTION_STATUS)}catch{return}},getConnectedNamespaces(){try{const t=X.getItem(ee.CONNECTED_NAMESPACES);return t?.length?t.split(","):[]}catch{return[]}},setConnectedNamespaces(t){try{const e=Array.from(new Set(t));X.setItem(ee.CONNECTED_NAMESPACES,e.join(","))}catch{console.info("Unable to set namespaces in storage")}},addConnectedNamespace(t){try{const e=F.getConnectedNamespaces();e.includes(t)||(e.push(t),F.setConnectedNamespaces(e))}catch{console.info("Unable to add connected namespace")}},removeConnectedNamespace(t){try{const e=F.getConnectedNamespaces(),s=e.indexOf(t);s>-1&&(e.splice(s,1),F.setConnectedNamespaces(e))}catch{console.info("Unable to remove connected namespace")}},getTelegramSocialProvider(){try{return X.getItem(ee.TELEGRAM_SOCIAL_PROVIDER)}catch{return console.info("Unable to get telegram social provider"),null}},setTelegramSocialProvider(t){try{X.setItem(ee.TELEGRAM_SOCIAL_PROVIDER,t)}catch{console.info("Unable to set telegram social provider")}},removeTelegramSocialProvider(){try{X.removeItem(ee.TELEGRAM_SOCIAL_PROVIDER)}catch{console.info("Unable to remove telegram social provider")}},getBalanceCache(){let t={};try{const e=X.getItem(ee.PORTFOLIO_CACHE);t=e?JSON.parse(e):{}}catch{console.info("Unable to get balance cache")}return t},removeAddressFromBalanceCache(t){try{const e=F.getBalanceCache();X.setItem(ee.PORTFOLIO_CACHE,JSON.stringify({...e,[t]:void 0}))}catch{console.info("Unable to remove address from balance cache",t)}},getBalanceCacheForCaipAddress(t){try{const s=F.getBalanceCache()[t];if(s&&!this.isCacheExpired(s.timestamp,this.cacheExpiry.portfolio))return s.balance;F.removeAddressFromBalanceCache(t)}catch{console.info("Unable to get balance cache for address",t)}},updateBalanceCache(t){try{const e=F.getBalanceCache();e[t.caipAddress]=t,X.setItem(ee.PORTFOLIO_CACHE,JSON.stringify(e))}catch{console.info("Unable to update balance cache",t)}},getNativeBalanceCache(){let t={};try{const e=X.getItem(ee.NATIVE_BALANCE_CACHE);t=e?JSON.parse(e):{}}catch{console.info("Unable to get balance cache")}return t},removeAddressFromNativeBalanceCache(t){try{const e=F.getBalanceCache();X.setItem(ee.NATIVE_BALANCE_CACHE,JSON.stringify({...e,[t]:void 0}))}catch{console.info("Unable to remove address from balance cache",t)}},getNativeBalanceCacheForCaipAddress(t){try{const s=F.getNativeBalanceCache()[t];if(s&&!this.isCacheExpired(s.timestamp,this.cacheExpiry.nativeBalance))return s;console.info("Discarding cache for address",t),F.removeAddressFromBalanceCache(t)}catch{console.info("Unable to get balance cache for address",t)}},updateNativeBalanceCache(t){try{const e=F.getNativeBalanceCache();e[t.caipAddress]=t,X.setItem(ee.NATIVE_BALANCE_CACHE,JSON.stringify(e))}catch{console.info("Unable to update balance cache",t)}},getEnsCache(){let t={};try{const e=X.getItem(ee.ENS_CACHE);t=e?JSON.parse(e):{}}catch{console.info("Unable to get ens name cache")}return t},getEnsFromCacheForAddress(t){try{const s=F.getEnsCache()[t];if(s&&!this.isCacheExpired(s.timestamp,this.cacheExpiry.ens))return s.ens;F.removeEnsFromCache(t)}catch{console.info("Unable to get ens name from cache",t)}},updateEnsCache(t){try{const e=F.getEnsCache();e[t.address]=t,X.setItem(ee.ENS_CACHE,JSON.stringify(e))}catch{console.info("Unable to update ens name cache",t)}},removeEnsFromCache(t){try{const e=F.getEnsCache();X.setItem(ee.ENS_CACHE,JSON.stringify({...e,[t]:void 0}))}catch{console.info("Unable to remove ens name from cache",t)}},getIdentityCache(){let t={};try{const e=X.getItem(ee.IDENTITY_CACHE);t=e?JSON.parse(e):{}}catch{console.info("Unable to get identity cache")}return t},getIdentityFromCacheForAddress(t){try{const s=F.getIdentityCache()[t];if(s&&!this.isCacheExpired(s.timestamp,this.cacheExpiry.identity))return s.identity;F.removeIdentityFromCache(t)}catch{console.info("Unable to get identity from cache",t)}},updateIdentityCache(t){try{const e=F.getIdentityCache();e[t.address]={identity:t.identity,timestamp:t.timestamp},X.setItem(ee.IDENTITY_CACHE,JSON.stringify(e))}catch{console.info("Unable to update identity cache",t)}},removeIdentityFromCache(t){try{const e=F.getIdentityCache();X.setItem(ee.IDENTITY_CACHE,JSON.stringify({...e,[t]:void 0}))}catch{console.info("Unable to remove identity from cache",t)}},clearAddressCache(){try{X.removeItem(ee.PORTFOLIO_CACHE),X.removeItem(ee.NATIVE_BALANCE_CACHE),X.removeItem(ee.ENS_CACHE),X.removeItem(ee.IDENTITY_CACHE)}catch{console.info("Unable to clear address cache")}},setPreferredAccountTypes(t){try{X.setItem(ee.PREFERRED_ACCOUNT_TYPES,JSON.stringify(t))}catch{console.info("Unable to set preferred account types",t)}},getPreferredAccountTypes(){try{const t=X.getItem(ee.PREFERRED_ACCOUNT_TYPES);return t?JSON.parse(t):{}}catch{console.info("Unable to get preferred account types")}return{}},setConnections(t,e){try{const s={...F.getConnections(),[e]:t};X.setItem(ee.CONNECTIONS,JSON.stringify(s))}catch(s){console.error("Unable to sync connections to storage",s)}},getConnections(){try{const t=X.getItem(ee.CONNECTIONS);return t?JSON.parse(t):{}}catch(t){return console.error("Unable to get connections from storage",t),{}}}},Z={isMobile(){return this.isClient()?!!(typeof window?.matchMedia=="function"&&window?.matchMedia("(pointer:coarse)")?.matches||/Android|webOS|iPhone|iPad|iPod|BlackBerry|Opera Mini/u.test(navigator.userAgent)):!1},checkCaipNetwork(t,e=""){return t?.caipNetworkId.toLocaleLowerCase().includes(e.toLowerCase())},isAndroid(){if(!this.isMobile())return!1;const t=window?.navigator.userAgent.toLowerCase();return Z.isMobile()&&t.includes("android")},isIos(){if(!this.isMobile())return!1;const t=window?.navigator.userAgent.toLowerCase();return t.includes("iphone")||t.includes("ipad")},isSafari(){return this.isClient()?(window?.navigator.userAgent.toLowerCase()).includes("safari"):!1},isClient(){return typeof window<"u"},isPairingExpired(t){return t?t-Date.now()<=ve.TEN_SEC_MS:!0},isAllowedRetry(t,e=ve.ONE_SEC_MS){return Date.now()-t>=e},copyToClopboard(t){navigator.clipboard.writeText(t)},isIframe(){try{return window?.self!==window?.top}catch{return!1}},isSafeApp(){if(Z.isClient()&&window.self!==window.top)try{const t=window?.location?.ancestorOrigins?.[0],e="https://app.safe.global";if(t){const s=new URL(t),r=new URL(e);return s.hostname===r.hostname}}catch{return!1}return!1},getPairingExpiry(){return Date.now()+ve.FOUR_MINUTES_MS},getNetworkId(t){return t?.split(":")[1]},getPlainAddress(t){return t?.split(":")[2]},async wait(t){return new Promise(e=>{setTimeout(e,t)})},debounce(t,e=500){let s;return(...r)=>{function i(){t(...r)}s&&clearTimeout(s),s=setTimeout(i,e)}},isHttpUrl(t){return t.startsWith("http://")||t.startsWith("https://")},formatNativeUrl(t,e,s=null){if(Z.isHttpUrl(t))return this.formatUniversalUrl(t,e);let r=t,i=s;r.includes("://")||(r=t.replaceAll("/","").replaceAll(":",""),r=`${r}://`),r.endsWith("/")||(r=`${r}/`),i&&!i?.endsWith("/")&&(i=`${i}/`),this.isTelegram()&&this.isAndroid()&&(e=encodeURIComponent(e));const n=encodeURIComponent(e);return{redirect:`${r}wc?uri=${n}`,redirectUniversalLink:i?`${i}wc?uri=${n}`:void 0,href:r}},formatUniversalUrl(t,e){if(!Z.isHttpUrl(t))return this.formatNativeUrl(t,e);let s=t;s.endsWith("/")||(s=`${s}/`);const r=encodeURIComponent(e);return{redirect:`${s}wc?uri=${r}`,href:s}},getOpenTargetForPlatform(t){return t==="popupWindow"?t:this.isTelegram()?F.getTelegramSocialProvider()?"_top":"_blank":t},openHref(t,e,s){window?.open(t,this.getOpenTargetForPlatform(e),s||"noreferrer noopener")},returnOpenHref(t,e,s){return window?.open(t,this.getOpenTargetForPlatform(e),s||"noreferrer noopener")},isTelegram(){return typeof window<"u"&&(!!window.TelegramWebviewProxy||!!window.Telegram||!!window.TelegramWebviewProxyProto)},isPWA(){if(typeof window>"u")return!1;const t=window.matchMedia?.("(display-mode: standalone)")?.matches,e=window?.navigator?.standalone;return!!(t||e)},async preloadImage(t){const e=new Promise((s,r)=>{const i=new Image;i.onload=s,i.onerror=r,i.crossOrigin="anonymous",i.src=t});return Promise.race([e,Z.wait(2e3)])},formatBalance(t,e){let s="0.000";if(typeof t=="string"){const r=Number(t);if(r){const i=Math.floor(r*1e3)/1e3;i&&(s=i.toString())}}return`${s}${e?` ${e}`:""}`},formatBalance2(t,e){let s;if(t==="0")s="0";else if(typeof t=="string"){const r=Number(t);r&&(s=r.toString().match(/^-?\d+(?:\.\d{0,3})?/u)?.[0])}
2return{value:s??"0",rest:s==="0"?"000":"",symbol:e}},getApiUrl(){return z.W3M_API_URL},getBlockchainApiUrl(){return z.BLOCKCHAIN_API_RPC_URL},getAnalyticsUrl(){return z.PULSE_API_URL},getUUID(){return crypto?.randomUUID?crypto.randomUUID():"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/gu,t=>{const e=Math.random()*16|0;return(t==="x"?e:e&3|8).toString(16)})},parseError(t){return typeof t=="string"?t:typeof t?.issues?.[0]?.message=="string"?t.issues[0].message:t instanceof Error?t.message:"Unknown error"},sortRequestedNetworks(t,e=[]){const s={};return e&&t&&(t.forEach((r,i)=>{s[r]=i}),e.sort((r,i)=>{const n=s[r.id],o=s[i.id];return n!==void 0&&o!==void 0?n-o:n!==void 0?-1:o!==void 0?1:0})),e},calculateBalance(t){let e=0;for(const s of t)e+=s.value??0;return e},formatTokenBalance(t){const e=t.toFixed(2),[s,r]=e.split(".");return{dollars:s,pennies:r}},isAddress(t,e="eip155"){switch(e){case"eip155":if(/^(?:0x)?[0-9a-f]{40}$/iu.test(t)){if(/^(?:0x)?[0-9a-f]{40}$/iu.test(t)||/^(?:0x)?[0-9A-F]{40}$/iu.test(t))return!0}else return!1;return!1;case"solana":return/[1-9A-HJ-NP-Za-km-z]{32,44}$/iu.test(t);default:return!1}},uniqueBy(t,e){const s=new Set;return t.filter(r=>{const i=r[e];return s.has(i)?!1:(s.add(i),!0)})},generateSdkVersion(t,e,s){const i=t.length===0?ve.ADAPTER_TYPES.UNIVERSAL:t.map(n=>n.adapterType).join(",");return`${e}-${i}-${s}`},createAccount(t,e,s,r,i){return{namespace:t,address:e,type:s,publicKey:r,path:i}},isCaipAddress(t){if(typeof t!="string")return!1;const e=t.split(":"),s=e[0];return e.filter(Boolean).length===3&&s in z.CHAIN_NAME_MAP},isMac(){const t=window?.navigator.userAgent.toLowerCase();return t.includes("macintosh")&&!t.includes("safari")},formatTelegramSocialLoginUrl(t){const e=`--${encodeURIComponent(window?.location.href)}`,s="state=";if(new URL(t).host==="auth.magic.link"){const i="provider_authorization_url=",n=t.substring(t.indexOf(i)+i.length),o=this.injectIntoUrl(decodeURIComponent(n),s,e);return t.replace(n,encodeURIComponent(o))}return this.injectIntoUrl(t,s,e)},injectIntoUrl(t,e,s){const r=t.indexOf(e);if(r===-1)throw new Error(`${e} parameter not found in the URL: ${t}`);const i=t.indexOf("&",r),n=e.length,o=i!==-1?i:t.length,a=t.substring(0,r+n),c=t.substring(r+n,o),l=t.substring(i),d=c+s;return a+d+l}};async function Vr(...t){const e=await fetch(...t);if(!e.ok)throw new Error(`HTTP status code: ${e.status}`,{cause:e});return e}class ki{constructor({baseUrl:e,clientId:s}){this.baseUrl=e,this.clientId=s}async get({headers:e,signal:s,cache:r,...i}){const n=this.createUrl(i);return(await Vr(n,{method:"GET",headers:e,signal:s,cache:r})).json()}async getBlob({headers:e,signal:s,...r}){const i=this.createUrl(r);return(await Vr(i,{method:"GET",headers:e,signal:s})).blob()}async post({body:e,headers:s,signal:r,...i}){const n=this.createUrl(i);return(await Vr(n,{method:"POST",headers:s,body:e?JSON.stringify(e):void 0,signal:r})).json()}async put({body:e,headers:s,signal:r,...i}){const n=this.createUrl(i);return(await Vr(n,{method:"PUT",headers:s,body:e?JSON.stringify(e):void 0,signal:r})).json()}async delete({body:e,headers:s,signal:r,...i}){const n=this.createUrl(i);return(await Vr(n,{method:"DELETE",headers:s,body:e?JSON.stringify(e):void 0,signal:r})).json()}createUrl({path:e,params:s}){const r=new URL(e,this.baseUrl);return s&&Object.entries(s).forEach(([i,n])=>{n&&r.searchParams.append(i,n)}),this.clientId&&r.searchParams.append("clientId",this.clientId),r}}const Ih={getFeatureValue(t,e){const s=e?.[t];return s===void 0?ve.DEFAULT_FEATURES[t]:s},filterSocialsByPlatform(t){if(!t||!t.length)return t;if(Z.isTelegram()){if(Z.isIos())return t.filter(e=>e!=="google");if(Z.isMac())return t.filter(e=>e!=="x");if(Z.isAndroid())return t.filter(e=>!["facebook","x"].includes(e))}return t}},K=_e({features:ve.DEFAULT_FEATURES,projectId:"",sdkType:"appkit",sdkVersion:"html-wagmi-undefined",defaultAccountTypes:ve.DEFAULT_ACCOUNT_TYPES,enableNetworkSwitch:!0,experimental_preferUniversalLinks:!1,remoteFeatures:{}}),S={state:K,subscribeKey(t,e){return Qe(K,t,e)},setOptions(t){Object.assign(K,t)},setRemoteFeatures(t){if(!t)return;const e={...K.remoteFeatures,...t};K.remoteFeatures=e,K.remoteFeatures?.socials&&(K.remoteFeatures.socials=Ih.filterS
2ocialsByPlatform(K.remoteFeatures.socials))},setFeatures(t){if(!t)return;K.features||(K.features=ve.DEFAULT_FEATURES);const e={...K.features,...t};K.features=e},setProjectId(t){K.projectId=t},setCustomRpcUrls(t){K.customRpcUrls=t},setAllWallets(t){K.allWallets=t},setIncludeWalletIds(t){K.includeWalletIds=t},setExcludeWalletIds(t){K.excludeWalletIds=t},setFeaturedWalletIds(t){K.featuredWalletIds=t},setTokens(t){K.tokens=t},setTermsConditionsUrl(t){K.termsConditionsUrl=t},setPrivacyPolicyUrl(t){K.privacyPolicyUrl=t},setCustomWallets(t){K.customWallets=t},setIsSiweEnabled(t){K.isSiweEnabled=t},setIsUniversalProvider(t){K.isUniversalProvider=t},setSdkVersion(t){K.sdkVersion=t},setMetadata(t){K.metadata=t},setDisableAppend(t){K.disableAppend=t},setEIP6963Enabled(t){K.enableEIP6963=t},setDebug(t){K.debug=t},setEnableWalletConnect(t){K.enableWalletConnect=t},setEnableWalletGuide(t){K.enableWalletGuide=t},setEnableAuthLogger(t){K.enableAuthLogger=t},setEnableWallets(t){K.enableWallets=t},setPreferUniversalLinks(t){K.experimental_preferUniversalLinks=t},setHasMultipleAddresses(t){K.hasMultipleAddresses=t},setSIWX(t){K.siwx=t},setConnectMethodsOrder(t){K.features={...K.features,connectMethodsOrder:t}},setWalletFeaturesOrder(t){K.features={...K.features,walletFeaturesOrder:t}},setSocialsOrder(t){K.remoteFeatures={...K.remoteFeatures,socials:t}},setCollapseWallets(t){K.features={...K.features,collapseWallets:t}},setEnableEmbedded(t){K.enableEmbedded=t},setAllowUnsupportedChain(t){K.allowUnsupportedChain=t},setManualWCControl(t){K.manualWCControl=t},setEnableNetworkSwitch(t){K.enableNetworkSwitch=t},setDefaultAccountTypes(t={}){Object.entries(t).forEach(([e,s])=>{s&&(K.defaultAccountTypes[e]=s)})},setUniversalProviderConfigOverride(t){K.universalProviderConfigOverride=t},getUniversalProviderConfigOverride(){return K.universalProviderConfigOverride},getSnapshot(){return yi(K)}},Nh=Object.freeze({enabled:!0,events:[]}),Ah=new ki({baseUrl:Z.getAnalyticsUrl(),clientId:null}),_h=5,Sh=60*1e3,ls=_e({...Nh}),Ph={state:ls,subscribeKey(t,e){return Qe(ls,t,e)},async sendError(t,e){if(!ls.enabled)return;const s=Date.now();if(ls.events.filter(n=>{const o=new Date(n.properties.timestamp||"").getTime();return s-o<Sh}).length>=_h)return;const i={type:"error",event:e,properties:{errorType:t.name,errorMessage:t.message,stackTrace:t.stack,timestamp:new Date().toISOString()}};ls.events.push(i);try{if(typeof window>"u")return;const{projectId:n,sdkType:o,sdkVersion:a}=S.state;await Ah.post({path:"/e",params:{projectId:n,st:o,sv:a||"html-wagmi-4.2.2"},body:{eventId:Z.getUUID(),url:window.location.href,domain:window.location.hostname,timestamp:new Date().toISOString(),props:{type:"error",event:e,errorType:t.name,errorMessage:t.message,stackTrace:t.stack}}})}catch{}},enable(){ls.enabled=!0},disable(){ls.enabled=!1},clearEvents(){ls.events=[]}};class kr extends Error{constructor(e,s,r){super(e),this.name="AppKitError",this.category=s,this.originalError=r,Object.setPrototypeOf(this,kr.prototype);let i=!1;if(r instanceof Error&&typeof r.stack=="string"&&r.stack){const n=r.stack,o=n.indexOf(`
3`);if(o>-1){const a=n.substring(o+1);this.stack=`${this.name}: ${this.message}
4${a}`,i=!0}}i||(Error.captureStackTrace?Error.captureStackTrace(this,kr):this.stack||(this.stack=`${this.name}: ${this.message}`))}}function ha(t,e){const s=t instanceof kr?t:new kr(t instanceof Error?t.message:String(t),e,t);throw Ph.sendError(s,s.category),s}function vt(t,e="INTERNAL_SDK_ERROR"){const s={};return Object.keys(t).forEach(r=>{const i=t[r];if(typeof i=="function"){let n=i;i.constructor.name==="AsyncFunction"?n=async(...o)=>{try{return await i(...o)}catch(a){return ha(a,e)}}:n=(...o)=>{try{return i(...o)}catch(a){return ha(a,e)}},s[r]=n}else s[r]=i}),s}const zt={PHANTOM:{id:"a797aa35c0fadbfc1a53e7f675162ed5226968b44a19ee3d24385c64d1d3c393",url:"https://phantom.app"},SOLFLARE:{id:"1ca0bdd4747578705b1939af023d120677c64fe6ca76add81fda36e350605e79",url:"https://solflare.com"},COINBASE:{id:"fd20dc426fb37566d803205b19bbc1d4096b248ac04548e3cfb6b3a38bd033aa",url:"https://go.cb-w.com"}},kh={handleMobileDeeplinkRedirect(t,e){const s=window.location.href,r=encodeURIComponent(s);if(t===zt.PHANTOM.id&&!("phantom"in window)){const i=s.startsWith("https")?"https":"http",n=s.split("/")[2],o=encodeURIComponent(`${i}://${n}`);window.location.href=`${zt.PHANTOM.url}/ul/browse/${r}?ref=${o}`}t===zt.SOLFLARE.id&&!("solflare"in window)&&(window.location.href=`${zt.SOLFLARE.url}/ul/v1/browse/${r}?ref=${r}`),e===z.CHAIN.SOLANA&&t===zt.COINBASE.id&&!("coinbaseSolana"in window)&&(window.location.href=`${zt.COINBASE.url}/dapp?cb_url=${r}`)}},ht=_e({walletImages:{},networkImages:{},chainImages:{},connectorImages:{},tokenImages:{},currencyImages:{}}),Oh={state:ht,subscribeNetworkImages(t){return Xe(ht.networkImages,()=>t(ht.networkImages))},subscribeKey(t,e){return Qe(ht,t,e)},subscribe(t){return Xe(ht,()=>t(ht))},setWalletImage(t,e){ht.walletImages[t]=e},setNetworkImage(t,e){ht.networkImages[t]=e},setChainImage(t,e){ht.chainImages[t]=e},setConnectorImage(t,e){ht.connectorImages={...ht.connectorImages,[t]:e}},setTokenImage(t,e){ht.tokenImages[t]=e},setCurrencyImage(t,e){ht.currencyImages[t]=e}},Rt=vt(Oh),Th={eip155:"ba0ba0cd-17c6-4806-ad93-f9d174f17900",solana:"a1b58899-f671-4276-6a5e-56ca5bd59700",polkadot:"",bip122:"0b4838db-0161-4ffe-022d-532bf03dba00",cosmos:""}
4,kn=_e({networkImagePromises:{}}),wl={async fetchWalletImage(t){if(t)return await V._fetchWalletImage(t),this.getWalletImageById(t)},async fetchNetworkImage(t){if(!t)return;const e=this.getNetworkImageById(t);return e||(kn.networkImagePromises[t]||(kn.networkImagePromises[t]=V._fetchNetworkImage(t)),await kn.networkImagePromises[t],this.getNetworkImageById(t))},getWalletImageById(t){if(t)return Rt.state.walletImages[t]},getWalletImage(t){if(t?.image_url)return t?.image_url;if(t?.image_id)return Rt.state.walletImages[t.image_id]},getNetworkImage(t){if(t?.assets?.imageUrl)return t?.assets?.imageUrl;if(t?.assets?.imageId)return Rt.state.networkImages[t.assets.imageId]},getNetworkImageById(t){if(t)return Rt.state.networkImages[t]},getConnectorImage(t){if(t?.imageUrl)return t.imageUrl;if(t?.imageId)return Rt.state.connectorImages[t.imageId]},getChainImage(t){return Rt.state.networkImages[Th[t]]}},ds=_e({message:"",variant:"info",open:!1}),$h={state:ds,subscribeKey(t,e){return Qe(ds,t,e)},open(t,e){const{debug:s}=S.state,{shortMessage:r,longMessage:i}=t;s&&(ds.message=r,ds.variant=e,ds.open=!0),i&&console.error(typeof i=="function"?i():i)},close(){ds.open=!1,ds.message="",ds.variant="info"}},Us=vt($h),xh=Z.getAnalyticsUrl(),Rh=new ki({baseUrl:xh,clientId:null}),Uh=["MODAL_CREATED"],Zt=_e({timestamp:Date.now(),reportedErrors:{},data:{type:"track",event:"MODAL_CREATED"}}),Pe={state:Zt,subscribe(t){return Xe(Zt,()=>t(Zt))},getSdkProperties(){const{projectId:t,sdkType:e,sdkVersion:s}=S.state;return{projectId:t,st:e,sv:s||"html-wagmi-4.2.2"}},async _sendAnalyticsEvent(t){try{const e=W.state.address;if(Uh.includes(t.data.event)||typeof window>"u")return;await Rh.post({path:"/e",params:Pe.getSdkProperties(),body:{eventId:Z.getUUID(),url:window.location.href,domain:window.location.hostname,timestamp:t.timestamp,props:{...t.data,address:e}}}),Zt.reportedErrors.FORBIDDEN=!1}catch(e){e instanceof Error&&e.cause instanceof Response&&e.cause.status===z.HTTP_STATUS_CODES.FORBIDDEN&&!Zt.reportedErrors.FORBIDDEN&&(Us.open({shortMessage:"Invalid App Configuration",longMessage:`Origin ${ei()?window.origin:"uknown"} not found on Allowlist - update configuration on cloud.reown.com`},"error"),Zt.reportedErrors.FORBIDDEN=!0)}},sendEvent(t){Zt.timestamp=Date.now(),Zt.data=t,S.state.features?.anal
4ytics&&Pe._sendAnalyticsEvent(Zt)}},Dh=Z.getApiUrl(),rt=new ki({baseUrl:Dh,clientId:null}),Lh=40,ua=4,Mh=20,te=_e({promises:{},page:1,count:0,featured:[],allFeatured:[],recommended:[],allRecommended:[],wallets:[],filteredWallets:[],search:[],isAnalyticsEnabled:!1,excludedWallets:[],isFetchingRecommendedWallets:!1}),V={state:te,subscribeKey(t,e){return Qe(te,t,e)},_getSdkProperties(){const{projectId:t,sdkType:e,sdkVersion:s}=S.state;return{projectId:t,st:e||"appkit",sv:s||"html-wagmi-4.2.2"}},_filterOutExtensions(t){return S.state.isUniversalProvider?t.filter(e=>!!(e.mobile_link||e.desktop_link||e.webapp_link)):t},async _fetchWalletImage(t){const e=`${rt.baseUrl}/getWalletImage/${t}`,s=await rt.getBlob({path:e,params:V._getSdkProperties()});Rt.setWalletImage(t,URL.createObjectURL(s))},async _fetchNetworkImage(t){const e=`${rt.baseUrl}/public/getAssetImage/${t}`,s=await rt.getBlob({path:e,params:V._getSdkProperties()});Rt.setNetworkImage(t,URL.createObjectURL(s))},async _fetchConnectorImage(t){const e=`${rt.baseUrl}/public/getAssetImage/${t}`,s=await rt.getBlob({path:e,params:V._getSdkProperties()});Rt.setConnectorImage(t,URL.createObjectURL(s))},async _fetchCurrencyImage(t){const e=`${rt.baseUrl}/public/getCurrencyImage/${t}`,s=await rt.getBlob({path:e,params:V._getSdkProperties()});Rt.setCurrencyImage(t,URL.createObjectURL(s))},async _fetchTokenImage(t){const e=`${rt.baseUrl}/public/getTokenImage/${t}`,s=await rt.getBlob({path:e,params:V._getSdkProperties()});Rt.setTokenImage(t,URL.createObjectURL(s))},_filterWalletsByPlatform(t){return Z.isMobile()?t?.filter(s=>s.mobile_link||s.id===zt.COINBASE.id?!0:p.state.activeChain==="solana"&&(s.id===zt.SOLFLARE.id||s.id===zt.PHANTOM.id)):t},async fetchProjectConfig(){return(await rt.get({path:"/appkit/v1/config",params:V._getSdkProperties()})).features},async fetchAllowedOrigins(){try{const{allowedOrigins:t}=await rt.get({path:"/projects/v1/origins",params:V._getSdkProperties()});return t}catch{return[]}},async fetchNetworkImages(){const e=p.getAllRequestedCaipNetworks()?.map(({assets:s})=>s?.imageId).filter(Boolean).filter(s=>!wl.getNetworkImageById(s));e&&await Promise.allSettled(e.map(s=>V._fetchNetworkImage(s)))},async fetchConnectorImages(){const{connectors:t}=q.state,e=t.map(({imageId:s}
vendor: 3,385 bytes, line 4
4)=>s).filter(Boolean);await Promise.allSettled(e.map(s=>V._fetchConnectorImage(s)))},async fetchCurrencyImages(t=[]){await Promise.allSettled(t.map(e=>V._fetchCurrencyImage(e)))},async fetchTokenImages(t=[]){await Promise.allSettled(t.map(e=>V._fetchTokenImage(e)))},async fetchWallets(t){const e=t.exclude??[];V._getSdkProperties().sv.startsWith("html-core-")&&e.push(...Object.values(zt).map(n=>n.id));const r=await rt.get({path:"/getWallets",params:{...V._getSdkProperties(),...t,page:String(t.page),entries:String(t.entries),include:t.include?.join(","),exclude:e.join(",")}});return{data:V._filterWalletsByPlatform(r?.data)||[],count:r?.count}},async fetchFeaturedWallets(){const{featuredWalletIds:t}=S.state;if(t?.length){const e={...V._getSdkProperties(),page:1,entries:t?.length??ua,include:t},{data:s}=await V.fetchWallets(e),r=[...s].sort((n,o)=>t.indexOf(n.id)-t.indexOf(o.id)),i=r.map(n=>n.image_id).filter(Boolean);await Promise.allSettled(i.map(n=>V._fetchWalletImage(n))),te.featured=r,te.allFeatured=r}},async fetchRecommendedWallets(){try{te.isFetchingRecommendedWallets=!0;const{includeWalletIds:t,excludeWalletIds:e,featuredWalletIds:s}=S.state,r=[...e??[],...s??[]].filter(Boolean),i=p.getRequestedCaipNetworkIds().join(","),n={page:1,entries:ua,include:t,exclude:r,chains:i},{data:o,count:a}=await V.fetchWallets(n),c=F.getRecentWallets(),l=o.map(h=>h.image_id).filter(Boolean),d=c.map(h=>h.image_id).filter(Boolean);await Promise.allSettled([...l,...d].map(h=>V._fetchWalletImage(h))),te.recommended=o,te.allRecommended=o,te.count=a??0}catch{}finally{te.isFetchingRecommendedWallets=!1}},async fetchWalletsByPage({page:t}){const{includeWalletIds:e,excludeWalletIds:s,featuredWalletIds:r}=S.state,i=p.getRequestedCaipNetworkIds().join(","),n=[...te.recommended.map(({id:d})=>d),...s??[],...r??[]].filter(Boolean),o={page:t,entries:Lh,include:e,exclude:n,chains:i},{data:a,count:c}=await V.fetchWallets(o),l=a.slice(0,Mh).map(d=>d.image_id).filter(Boolean);await Promise.allSettled(l.map(d=>V._fetchWalletImage(d))),te.wallets=Z.uniqueBy([...te.wallets,...V._filterOutExtensions(a)],"id").filter(d=>d.chains?.some(h=>i.includes(h))),te.count=c>te.count?c:te.count,te.page=t},async initializeExcludedWallets({ids:t}){const e={page:1,entries:t.length,include:t},{data:s}=await V.fetchWallets(e);s&&s.forEach(r=>{te.excludedWallets.push({rdns:r.rdns,name:r.name})})},async searchWallet({search:t,badge:e}){const{includeWalletIds:s,excludeWalletIds:r}=S.state,i=p.getRequestedCaipNetworkIds().join(",");te.search=[];const n={page:1,entries:100,search:t?.trim(),badge_type:e,include:s,exclude:r,chains:i},{data:o}=await V.fetchWallets(n);Pe.sendEvent({type:"track",event:"SEARCH_WALLET",properties:{badge:e??"",search:t??""}});const a=o.map(c=>c.image_id).filter(Boolean);await Promise.allSettled([...a.map(c=>V._fetchWalletImage(c)),Z.wait(300)]),te.search=V._filterOutExtensions(o)},initPromise(t,e){const s=te.promises[t];return s||(te.promises[t]=e())},prefetch({fetchConnectorImages:t=!0,fetchFeaturedWallets:e=!0,fetchRecommendedWallets:s=!0,fetchNetworkImages:r=!0}={}){const i=[t&&V.initPromise("connectorImages",V.fetchConnectorImages),e&&V.initPromise("featuredWallets",V.fetchFeaturedWallets),s&&V.initPromise("recommendedWallets",V.fetchRecommendedWallets),r&&V.initPromise("networkImages",V.fetchNetworkImages)].filter(Boolean);return Promise.allSettled(i)}
4,prefetchAnalyticsConfig(){S.state.features?.analytics&&V.fetchAnalyticsConfig()},async fetchAnalyticsConfig(){try{const{isAnalyticsEnabled:t}=await rt.get({path:"/getAnalyticsConfig",params:V._getSdkProperties()});S.setFeatures({analytics:t})}catch{S.setFeatures({analytics:!1})}},filterByNamespaces(t){if(!t?.length){te.featured=te.allFeatured,te.recommended=te.allRecommended;return}const e=p.getRequestedCaipNetworkIds().join(",");te.featured=te.allFeatured.filter(s=>s.chains?.some(r=>e.includes(r))),te.recommended=te.allRecommended.filter(s=>s.chains?.some(r=>e.includes(r))),te.filteredWallets=te.wallets.filter(s=>s.chains?.some(r=>e.includes(r)))},clearFilterByNamespaces(){te.filteredWallets=[]},setFilterByNamespace(t){if(!t){te.featured=te.allFeatured,te.recommended=te.allRecommended;return}const e=p.getRequestedCaipNetworkIds().join(",");te.featured=te.allFeatured.filter(s=>s.chains?.some(r=>e.includes(r))),te.recommended=te.allRecommended.filter(s=>s.chains?.some(r=>e.includes(r))),te.filteredWallets=te.wallets.filter(s=>s.chains?.some(r=>e.includes(r)))}},me=_e({view:"Connect",history:["Connect"],transactionStack:[]}),Bh={state:me,subscribeKey(t,e){return Qe(me,t,e)},pushTransactionStack(t){me.transactionStack.push(t)},popTransactionStack(t){const e=me.transactionStack.pop();if(!e)return;const{onSuccess:s,onError:r,onCancel:i}=e;switch(t){case"success":s?.();break;case"error":r?.(),re.goBack();break;case"cancel":i?.(),re.goBack();break}},push(t,e){t!==me.view&&(me.view=t,me.history.push(t),me.data=e)},reset(t,e){me.view=t,me.history=[t],me.data=e},replace(t,e){me.history.at(-1)===t||(me.view=t,me.history[me.history.length-1]=t,me.data=e)},goBack(){const t=p.state.activeCaipAddress,e=re.state.view==="ConnectingFarcaster",s=!t&&e;if(me.history.length>1){me.history.pop();const[r]=me.history.slice(-1);r&&(t&&r==="Connect"?me.view="Account":me.view=r)}else We.close();me.data?.wallet&&(me.data.wallet=void 0),setTimeout(()=>{if(s){W.setFarcasterUrl(void 0,p.state.activeChain);const r=q.getAuthConnector();r?.provider?.reload();const i=yi(S.state);r?.provider?.syncDappData?.({metadata:i.metadata,sdkVersion:i.sdkVersion,projectId:i.projectId,sdkType:i.sdkType})}},100)},goBackToIndex(t){if(me.history.length>1){me.history=me.history.slice(0,t+1);const[e]=me.history.slice(-1);e&&(me.view=e)}},goBackOrCloseModal(){re.state.history.length>1?re.goBack():We.close()}},re=vt(Bh),Xt=_e({themeMode:"dark",themeVariables:{},w3mThemeVariables:void 0}),io={state:Xt,subscribe(t){return Xe(Xt,()=>t(Xt))},setThemeMode(t){Xt.themeMode=t;try{const e=q.getAuthConnector();if(e){const s=io.getSnapshot().themeVariables;e.provider.syncTheme({themeMode:t,themeVariables:s,w3mThemeVariables:ys(s,t)})}}catch{console.info("Unable to sync theme to auth connector")}},setThemeVariables(t){Xt.themeVariables={...Xt.themeVariables,...t};try{const e=q.getAuthConnector();if(e){const s=io.getSnapshot().themeVariables;e.provider.syncTheme({themeVariables:s,w3mThemeVariables:ys(Xt.themeVariables,Xt.themeMode)})}}catch{console.info("Unable to sync theme to auth connector")}},getSnapshot(){return yi(Xt)}},ft=vt(io),yl={eip155:void 0,solana:void 0,polkadot:void 0,bip122:void 0,cosmos:void 0},ae=_e({allConnectors:[],connectors:[],activeConnector:void 0,filterByNamespace:void 0,activeConnectorIds:{...yl},filterByNamespaceMap:{eip155:!0,solana:!0,polkadot:!0,bip122:!0,cosmos:!0}}),qh={state:ae,subscribe(t){return Xe(ae,()=>{t(ae)})},subscribeKey(t,e){return Qe(ae,t,e)},initialize(t){t.forEach(e=>{const s=F.getConnectedConnectorId(e);s&&q.setConnectorId(s,e)})},setActiveConnector(t){t&&(ae.activeConnector=zs(t))},setConnectors(t){t.filter(i=>!ae.allConnectors.some(n=>n.id===i.id&&q.getConnectorName(n.name)===q.getConnectorName(i.name)&&n.chain===i.chain)).forEach(i=>{i.type!=="MULTI_CHAIN"&&ae.allConnectors.push(zs(i))});const s=q.getEnabledNamespaces(),r=q.getEnabledConnectors(s);ae.connectors=q.mergeMultiChainConnectors(r)},filterByNamespaces(t){Object.keys(ae.filterByNamespaceMap).forEach(e=>{ae.filterByNamespaceMap[e]=!1}),t.forEach(e=>{ae.filterByNamespaceMap[e]=!0}),q.updateConnectorsForEnabledNamespaces()},filterByNamespace(t,e){ae.filterByNamespaceMap[t]=e,q.updateConnectorsForEnabledNamespaces()},updateConnectorsForEnabledNamespaces(){const t=q.getEnabledNamespaces(),e=q.getEnabledConnectors(t),s=q.areAllNamespacesEnabled();ae.connectors=q.mergeMultiChainConnectors(e),s?V.clearFilterByNamespaces():V.filterByNamespaces(t)},getEnabledNamespaces(){return Object.entries(ae.filterByNamespaceMap).filter(([t,e])=>e).map(([t])=>t)},getEnabledConnectors(t){return ae.allConnectors.filter(e=>t.includes(e.chain))},areAllNamespacesEnabled(){return Object.values(ae.filterByNamespaceMap).every(t=>t)},mergeMultiChainConnectors(t){const e=q.generateConnectorMapByName(t),s=[];return e.forEach(r=>{const i=r[0],n=i?.id===z.CONNECTOR_ID.AUTH;r.length>1&&i?s.push({name:i.name,imageUrl:i.imageUrl,imageId:i.imageId,connectors:[...r],type:n?"AUTH":"MULTI_CHAIN",chain:"eip155",id:i?.id||""}):i&&s.push(i)}),s},generateConnectorMapByName(t){const e=new Map;return t.forEach(s=>{const{name:r}=s,i=q.getConnectorName(r);if(!i)return;const n=e.get(i)||[];n.find(a=>a.chain===s.chain)||n.push(s),e.set(i,n)}),e},getConnectorName(t){return t&&({"Trust Wallet":"Trust"}[t]||t)},getUniqueConnectorsByName(t){const e=[];return t.forEach(s=>{e.find(r=>r.chain===s.chain)||e.push(s)}),e},addConnector(t){if(t.id===z.CONNECTOR_ID.AUTH){const e=t,s=yi(S.state),r=ft.getSnapshot().themeMode,i=ft.getSnapshot().themeVariables;e?.provider?.syncDappData?.({metadata:s.metadata,sdkVersion:s.sdkVersion,projectId:s.projectId,sdkType:s.sdkType}),e?.provider?.syncTheme({themeMode:r,themeVariables:i,w3mThemeVariables:ys(i,r)}),q.setConnectors([t])}else q.setConnectors([t])},getAuthConnector(t){const e=t||p.state.activeChain,s=ae.connectors.find(r=>r.id===z.CONNECTOR_ID.AUTH);if(s)return s?.connectors?.length?s.connectors.find(i=>i.chain===e):s},getAnnouncedConnectorRdns(){return ae.connectors.filter(t=>t.type==="ANNOUNCED").map(t=>t.info?.rdns)},getConnectorById(t){return ae.allConnectors.find(e=>e.id===t)},getConnector(t,e){return ae.allConnectors.filter(r=>r.chain===p.state.activeChain).find(r=>r.explorerId===t||r.info?.rdns===e)},syncIfAuthConnector(t){if(t.id!=="ID_AUTH")return;const e=t,s=yi(S.state),r=ft.getSnapshot().themeMode,i=ft.getSnapshot().themeVariables;e?.provider?.syncDappData?.({metadata:s.metadata,sdkVersion:s.sdkVersion,sdkType:s.sdkType,projectId:s.projectId}),e.provider.syncTheme({themeMode:r,themeVariables:i,w3mThemeVariables:ys(i,r)})},getConnectorsByNamespace(t){const e=ae.allConnectors.filter(s=>s.chain===t);return q.mergeMultiChainConnectors(e)},selectWalletConnector(t){const e=q.getConnector(t.id,t.rdns),s=p.state.activeChain;kh.handleMobileDeeplinkRedirect(e?.explorerId||t.id,s),e?re.push("ConnectingExter
4nal",{connector:e}):re.push("ConnectingWalletConnect",{wallet:t})},getConnectors(t){return t?q.getConnectorsByNamespace(t):q.mergeMultiChainConnectors(ae.allConnectors)},setFilterByNamespace(t){ae.filterByNamespace=t,ae.connectors=q.getConnectors(t),V.setFilterByNamespace(t)},setConnectorId(t,e){t&&(ae.activeConnectorIds={...ae.activeConnectorIds,[e]:t},F.setConnectedConnectorId(e,t))},removeConnectorId(t){ae.activeConnectorIds={...ae.activeConnectorIds,[t]:void 0},F.deleteConnectedConnectorId(t)},getConnectorId(t){if(t)return ae.activeConnectorIds[t]},isConnected(t){return t?!!ae.activeConnectorIds[t]:Object.values(ae.activeConnectorIds).some(e=>!!e)},resetConnectorIds(){ae.activeConnectorIds={...yl}}},q=vt(qh),ai={ACCOUNT_TYPES:{SMART_ACCOUNT:"smartAccount"}},xs=Object.freeze({message:"",variant:"success",svg:void 0,open:!1,autoClose:!0}),Ue=_e({...xs}),jh={state:Ue,subscribeKey(t,e){return Qe(Ue,t,e)},showLoading(t,e={}){this._showMessage({message:t,variant:"loading",...e})},showSuccess(t){this._showMessage({message:t,variant:"success"})},showSvg(t,e){this._showMessage({message:t,svg:e})},showError(t){const e=Z.parseError(t);this._showMessage({message:e,variant:"error"})},hide(){Ue.message=xs.message,Ue.variant=xs.variant,Ue.svg=xs.svg,Ue.open=xs.open,Ue.autoClose=xs.autoClose},_showMessage({message:t,svg:e,variant:s="success",autoClose:r=xs.autoClose}){Ue.open?(Ue.open=!1,setTimeout(()=>{Ue.message=t,Ue.variant=s,Ue.svg=e,Ue.open=!0,Ue.autoClose=r},150)):(Ue.message=t,Ue.variant=s,Ue.svg=e,Ue.open=!0,Ue.autoClose=r)}},Ut=jh,Ce=_e({transactions:[],coinbaseTransactions:{},transactionsByYear:{},lastNetworkInView:void 0,loading:!1,empty:!1,next:void 0}),Fh={state:Ce,subscribe(t){return Xe(Ce,()=>t(Ce))},setLastNetworkInView(t){Ce.lastNetworkInView=t},async fetchTransactions(t,e){if(!t)throw new Error("Transactions can't be fetched without an accountAddress");Ce.loading=!0;try{const s=await J.fetchTransactions({account:t,cursor:Ce.next,onramp:e,cache:e==="coinbase"?"no-cache":void 0,chainId:p.state.activeCaipNetwork?.caipNetworkId}),r=si.filterSpamTransactions(s.data),i=si.filterByConnectedChain(r),n=[...Ce.transactions,...i];Ce.loading=!1,e==="coinbase"?Ce.coinbaseTransactions=si.groupTransactionsByYearAndMonth(Ce.coinbaseTransactions,s.data):(Ce.transactions=n,Ce.transactionsByYear=si.groupTransactionsByYearAndMonth(Ce.transactionsByYear,i)),Ce.empty=n.length===0,Ce.next=s.next?s.next:void 0}catch{const r=p.state.activeChain;Pe.sendEvent({type:"track",event:"ERROR_FETCH_TRANSACTIONS",properties:{address:t,projectId:S.state.projectId,cursor:Ce.next,isSmartAccount:W.state.preferredAccountTypes?.[r]===ai.ACCOUNT_TYPES.SMART_ACCOUNT}}),Ut.showError("Failed to fetch transactions"),Ce.loading=!1,Ce.empty=!0,Ce.next=void 0}},groupTransactionsByYearAndMonth(t={},e=[]){const s=t;return e.forEach(r=>{const i=new Date(r.metadata.minedAt).getFullYear(),n=new Date(r.metadata.minedAt).getMonth(),o=s[i]??{},c=(o[n]??[]).filter(l=>l.id!==r.id);s[i]={...o,[n]:[...c,r].sort((l,d)=>new Date(d.metadata.minedAt).getTime()-new Date(l.metadata.minedAt).getTime())}}),s},filterSpamTransactions(t){return t.filter(e=>!e.transfers.every(r=>r.nft_info?.flags.is_spam===!0))},filterByConnectedChain(t){const e=p.state.activeCaipNetwork?.caipNetworkId;return t.filter(r=>r.metadata.chain===e)},clearCursor(){Ce.next=void 0},resetTransactions(){Ce.transactions=[],Ce.transactionsByYear={},Ce.lastNetworkInView=void 0,Ce.loading=!1,Ce.empty=!1,Ce.next=void 0}},si=vt(Fh,"API_ERROR"),Ne=_e({connections:new Map,wcError:!1,buffering:!1,status:"disconnected"});let ks;const Wh={state:Ne,subscribeKey(t,e){return Qe(Ne,t,e)},_getClient(){return Ne._client},setClient(t){Ne._client=zs(t)},async connectWalletConnect(){if(Z.isTelegram()||Z.isSafari()&&Z.isIos()){if(ks){await ks,ks=void 0;return}if(!Z.isPairingExpired(Ne?.wcPairingExpiry)){const t=Ne.wcUri;Ne.wcUri=t;return}ks=Y._getClient()?.connectWalletConnect?.().catch(()=>{}),Y.state.status="connecting",await ks,ks=void 0,Ne.wcPairingExpiry=void 0,Y.state.status="connected"}else await Y._getClient()?.connectWalletConnect?.()},async connectExternal(t,e,s=!0){await Y._getClient()?.connectExternal?.(t),s&&p.setActiveNamespace(e)},async reconnectExternal(t){await Y._getClient()?.reconnectExternal?.(t);const e=t.chain||p.state.activeChain;e&&q.setConnectorId(t.id,e)},async setPreferredAccountType(t,e){We.setLoading(!0,p.state.activeChain);const s=q.getAuthConnector();s&&(W.setPreferredAccountType(t,e),await s.provider.setPreferredAccount(t),F.setPreferredAccountTypes(W.state.preferredAccountTypes??{[e]:t}),await Y.reconnectExternal(s),We.setLoading(!1,p.state.activeChain),Pe.sendEvent({type:"track",event:"SET_PREFERRED_ACCOUNT_TYPE",properties:{accountType:t,network:p.state.activeCaipNetwork?.caipNetworkId||""}}))},async signMessage(t){return Y._getClient()?.signMessage(t)},parseUnits(t,e){return Y._getClient()?.parseUnits(t,e)},formatUnits(t,e){return Y._getClient()?.formatUnits(t,e)},async sendTransaction(t){return Y._getClient()?.sendTransaction(t)},async getCapabilities(t){return Y._getClient()?.getCapabilities(t)},async grantPermissions(t){return Y._getClient()?.grantPermissions(t)},async walletGetAssets(t){return Y._getClient()?.walletGetAssets(t)??{}},async estimateGas(t){return Y._getClient()?.estimateGas(t)},async writeContract(t){return Y._getClient()?.writeContract(t)},async getEnsAddress(t){return Y._getClient()?.getEnsAddress(t)},async getEnsAvatar(t){return Y._getClient()?.getEnsAvatar(t)},checkInstalled(t){return Y._getClient()?.checkInstalled?.(t)||!1},resetWcConnection(){Ne.wcUri=void 0,Ne.wcPairingExpiry=void 0,Ne.wcLinking=void 0,Ne.recentWallet=void 0,Ne.status="disconnected",si.resetTransactions(),F.deleteWalletConnectDeepLink()},resetUri(){Ne.wcUri=void 0,Ne.wcPairingExpiry=void 0,ks=void 0},finalizeWcConnection(){const{wcLinking:t,recentWallet:e}=Y.state;t&&F.setWalletConnectDeepLink(t),e&&F.setAppKitRecent(e),Pe.sendEvent({type:"track",event:"CONNECT_SUCCESS",properties:{method:t?"mobile":"qrcode",name:re.state.data?.wallet?.name||"Unknown"}})},setWcBasic(t){Ne.wcBasic=t},setUri(t){Ne.wcUri=t,Ne.wcPairingExpiry=Z.getPairingExpiry()},setWcLinking(t){Ne.wcLinking=t},setWcError(t){Ne.wcError=t,Ne.buffering=!1},setRecentWallet(t){Ne.recentWallet=t},setBuffering(t){Ne.buffering=t},setStatus(t){Ne.status=t},async disconnect(t){try{await Y._getClient()?.disconnect(t)}catch(e){throw new kr("Failed to disconnect","INTERNAL_SDK_ERROR",e)}},setConnections(t,e){Ne.connections.set(e,t)},switchAccount({connection:t,address:e,namespace:s}){if(q.state.activeConnectorIds[s]===t.connectorId){const n=p.state.activeCaipNetwork;if(n){const o=`${s}:${n.id}:${e}`;W.setCaipAddress(o,s)}else console.warn(`No current network found for namespace "${s}"`)}else{const n=q.getConnector(t.connectorId);n?Y.connectExternal(n,s):console.warn(`No connector found for namespace "${s}"`)}}},Y=vt(Wh),sr=_e({loading:!1,open:!1,selectedNetworkId:void 0,activeChain:void 0,initialized:!1}),vs={state:sr,subscribe(t){return Xe(sr,()=>t(sr))},subscribeOpen(t){return Qe(sr,"open",t)},set(t){Object.assign(sr,{...sr,...t})}},On={createBalance(t,e){const s={name:t.metadata.name||"",symbol
4:t.metadata.symbol||"",decimals:t.metadata.decimals||0,value:t.metadata.value||0,price:t.metadata.price||0,iconUrl:t.metadata.iconUrl||""};return{name:s.name,symbol:s.symbol,chainId:e,address:t.address==="native"?void 0:this.convertAddressToCAIP10Address(t.address,e),value:s.value,price:s.price,quantity:{decimals:s.decimals.toString(),numeric:this.convertHexToBalance({hex:t.balance,decimals:s.decimals})},iconUrl:s.iconUrl}},convertHexToBalance({hex:t,decimals:e}){return Vd(BigInt(t),e)},convertAddressToCAIP10Address(t,e){return`${e}:${t}`},createCAIP2ChainId(t,e){return`${e}:${parseInt(t,16)}`},getChainIdHexFromCAIP2ChainId(t){const e=t.split(":");if(e.length<2||!e[1])return"0x0";const s=e[1],r=parseInt(s,10);return isNaN(r)?"0x0":`0x${r.toString(16)}`},isWalletGetAssetsResponse(t){return typeof t!="object"||t===null?!1:Object.values(t).every(e=>Array.isArray(e)&&e.every(s=>this.isValidAsset(s)))},isValidAsset(t){return typeof t=="object"&&t!==null&&typeof t.address=="string"&&typeof t.balance=="string"&&(t.type==="ERC20"||t.type==="NATIVE")&&typeof t.metadata=="object"&&t.metadata!==null&&typeof t.metadata.name=="string"&&typeof t.metadata.symbol=="string"&&typeof t.metadata.decimals=="number"&&typeof t.metadata.price=="number"&&typeof t.metadata.iconUrl=="string"}},pa={async getMyTokensWithBalance(t){const e=W.state.address,s=p.state.activeCaipNetwork;if(!e||!s)return[];if(s.chainNamespace==="eip155"){const i=await this.getEIP155Balances(e,s);if(i)return this.filterLowQualityTokens(i)}const r=await J.getBalance(e,s.caipNetworkId,t);return this.filterLowQualityTokens(r.balances)},async getEIP155Balances(t,e){try{const s=On.getChainIdHexFromCAIP2ChainId(e.caipNetworkId);if(!(await Y.getCapabilities(t))?.[s]?.assetDiscovery?.supported)return null;const i=await Y.walletGetAssets({account:t,chainFilter:[s]});return On.isWalletGetAssetsResponse(i)?(i[s]||[]).map(o=>On.createBalance(o,e.caipNetworkId)):null}catch{return null}},filterLowQualityTokens(t){return t.filter(e=>e.quantity.decimals!=="0")},mapBalancesToSwapTokens(t){return t?.map(e=>({...e,address:e?.address?e.address:p.getActiveNetworkTokenAddress(),decimals:parseInt(e.quantity.decimals,10),logoUri:e.iconUrl,eip2612:!1}))||[]}},fe=_e({tokenBalances:[],loading:!1}),zh={state:fe,subscribe(t){return Xe(fe,()=>t(fe))},subscribeKey(t,e){return Qe(fe,t,e)},setToken(t){t&&(fe.token=zs(t))},setTokenAmount(t){fe.sendTokenAmount=t},setReceiverAddress(t){fe.receiverAddress=t},setReceiverProfileImageUrl(t){fe.receiverProfileImageUrl=t},setReceiverProfileName(t){fe.receiverProfileName=t},setNetworkBalanceInUsd(t){fe.networkBalanceInUSD=t},setLoading(t){fe.loading=t},async sendToken(){try{switch(he.setLoading(!0),p.state.activeCaipNetwork?.chainNamespace){case"eip155":await he.sendEvmToken();return;case"solana":await he.sendSolanaToken();return;default:throw new Error("Unsupported chain")}}finally{he.setLoading(!1)}},async sendEvmToken(){const t=p.state.activeChain,e=W.state.preferredAccountTypes?.[t];if(!he.state.sendTokenAmount||!he.state.receiverAddress)throw new Error("An amount and receiver address are required");if(!he.state.token)throw new Error("A token is required");he.state.token?.address?(Pe.sendEvent({type:"track",event:"SEND_INITIATED",properties:{isSmartAccount:e===ai.ACCOUNT_TYPES.SMART_ACCOUNT,token:he.state.token.address,amount:he.state.sendTokenAmount,network:p.state.activeCaipNetwork?.caipNetworkId||""}}),await he.sendERC20Token({receiverAddress:he.state.receiverAddress,tokenAddress:he.state.token.address,sendTokenAmount:he.state.sendTokenAmount,decimals:he.state.token.quantity.decimals})):(Pe.sendEvent({type:"track",event:"SEND_INITIATED",properties:{isSmartAccount:e===ai.ACCOUNT_TYPES.SMART_ACCOUNT,token:he.state.token.symbol||"",amount:he.state.sendTokenAmount,network:p.state.activeCaipNetwork?.caipNetworkId||""}}),await he.sendNativeToken({receiverAddress:he.state.receiverAddress,sendTokenAmount:he.state.sendTokenAmount,decimals:he.state.token.quantity.decimals}))},async fetchTokenBalance(t){fe.loading=!0;const e=p.state.activeCaipNetwork?.caipNetworkId,s=p.state.activeCaipNetwork?.chainNamespace,r=p.state.activeCaipAddress,i=r?Z.getPlainAddress(r):void 0;if(fe.lastRetry&&!Z.isAllowedRetry(fe.lastRetry,30*ve.ONE_SEC_MS))return fe.loading=!1,[];try{if(i&&e&&s){const n=await pa.getMyTokensWithBalance();return fe.tokenBalances=n,fe.lastRetry=void 0,n}}catch(n){fe.lastRetry=Date.now(),t?.(n),Ut.showError("Token Balance Unavailable")}finally{fe.loading=!1}return[]},fetchNetworkBalance(){if(fe.tokenBalances.length===0)return;const t=pa.mapBalancesToSwapTokens(fe.tokenBalances);if(!t)return;const e=t.find(s=>
4s.address===p.getActiveNetworkTokenAddress());e&&(fe.networkBalanceInUSD=e?hh.multiply(e.quantity.numeric,e.price).toString():"0")},async sendNativeToken(t){re.pushTransactionStack({});const e=t.receiverAddress,s=W.state.address,r=Y.parseUnits(t.sendTokenAmount.toString(),Number(t.decimals));await Y.sendTransaction({chainNamespace:"eip155",to:e,address:s,data:"0x",value:r??BigInt(0)}),Pe.sendEvent({type:"track",event:"SEND_SUCCESS",properties:{isSmartAccount:W.state.preferredAccountTypes?.eip155===ai.ACCOUNT_TYPES.SMART_ACCOUNT,token:he.state.token?.symbol||"",amount:t.sendTokenAmount,network:p.state.activeCaipNetwork?.caipNetworkId||""}}),Y._getClient()?.updateBalance("eip155"),he.resetSend()},async sendERC20Token(t){re.pushTransactionStack({onSuccess(){re.replace("Account")}});const e=Y.parseUnits(t.sendTokenAmount.toString(),Number(t.decimals));if(W.state.address&&t.sendTokenAmount&&t.receiverAddress&&t.tokenAddress){const s=Z.getPlainAddress(t.tokenAddress);await Y.writeContract({fromAddress:W.state.address,tokenAddress:s,args:[t.receiverAddress,e??BigInt(0)],method:"transfer",abi:gh.getERC20Abi(s),chainNamespace:"eip155"}),he.resetSend()}},async sendSolanaToken(){if(!he.state.sendTokenAmount||!he.state.receiverAddress)throw new Error("An amount and receiver address are required");re.pushTransactionStack({onSuccess(){re.replace("Account")}}),await Y.sendTransaction({chainNamespace:"solana",to:he.state.receiverAddress,value:he.state.sendTokenAmount}),Y._getClient()?.updateBalance("solana"),he.resetSend()},resetSend(){fe.token=void 0,fe.sendTokenAmount=void 0,fe.receiverAddress=void 0,fe.receiverProfileImageUrl=void 0,fe.receiverProfileName=void 0,fe.loading=!1,fe.tokenBalances=[]}},he=vt(zh),Tn={currentTab:0,tokenBalance:[],smartAccountDeployed:!1,addressLabels:new Map,allAccounts:[],user:void 0},ji={caipNetwork:void 0,supportsAllNetworks:!0,smartAccountEnabledNetworks:[]},M=_e({chains:Eh(),activeCaipAddress:void 0,activeChain:void 0,activeCaipNetwork:void 0,noAdapters:!1,universalAdapter:{networkControllerClient:void 0,connectionControllerClient:void 0},isSwitchingNamespace:!1}),Hh={state:M,subscribe(t){return Xe(M,()=>{t(M)})},subscribeKey(t,e){return Qe(M,t,e)},subscribeChainProp(t,e,s){let r;return Xe(M.chains,()=>{const i=s||M.activeChain;if(i){const n=M.chains.get(i)?.[t];r!==n&&(r=n,e(n))}})},initialize(t,e,s){const{chainId:r,namespace:i}=F.getActiveNetworkProps(),n=e?.find(d=>d.id.toString()===r?.toString()),a=t.find(d=>d?.namespace===i)||t?.[0],c=t.map(d=>d.namespace).filter(d=>d!==void 0),l=S.state.enableEmbedded?new Set([...c]):new Set([...e?.map(d=>d.chainNamespace)??[]]);(t?.length===0||!a)&&(M.noAdapters=!0),M.noAdapters||(M.activeChain=a?.namespace,M.activeCaipNetwork=n,p.setChainNetworkData(a?.namespace,{caipNetwork:n}),M.activeChain&&vs.set({activeChain:a?.namespace})),l.forEach(d=>{const h=e?.filter(u=>u.chainNamespace===d);p.state.chains.set(d,{namespace:d,networkState:_e({...ji,caipNetwork:h?.[0]}),accountState:_e(Tn),caipNetworks:h??[],...s}),p.setRequestedCaipNetworks(h??[],d)})},removeAdapter(t){if(M.activeChain===t){const e=Array.from(M.chains.entries()).find(([s])=>s!==t);if(e){const s=e[1]?.caipNetworks?.[0];s&&p.setActiveCaipNetwork(s)}}M.chains.delete(t)},addAdapter(t,{networkControllerClient:e,connectionControllerClient:s},r){M.chains.set(t.namespace,{namespace:t.namespace,networkState:{...ji,caipNetwork:r[0]},accountState:Tn,caipNetworks:r,connectionControllerClient:s,networkControllerClient:e}),p.setRequestedCaipNetworks(r?.filter(i=>i.chainNamespace===t.namespace)??[],t.namespace)},addNetwork(t){const e=M.chains.get(t.chainNamespace);if(e){const s=[...e.caipNetworks||[]];e.caipNetworks?.find(r=>r.id===t.id)||s.push(t),M.chains.set(t.chainNamespace,{...e,caipNetworks:s}),p.setRequestedCaipNetworks(s,t.chainNamespace),q.filterByNamespace(t.chainNamespace,!0)}},removeNetwork(t,e){const s=M.chains.get(t);if(s){const r=M.activeCaipNetwork?.id===e,i=[...s.caipNetworks?.filter(n=>n.id!==e)||[]];r&&s?.caipNetworks?.[0]&&p.setActiveCaipNetwork(s.caipNetworks[0]),M.chains.set(t,{...s,caipNetworks:i}),p.setRequestedCaipNetworks(i||[],t),i.length===0&&q.filterByNamespace(t,!1)}},setAdapterNetworkState(t,e){const s=M.chains.get(t);s&&(s.networkState={...s.networkState||ji,...e},M.chains.set(t,s))},setChainAccountData(t,e,s=!0){if(!t)throw new Error("Chain is required to update chain account data");const r=M.chains.get(t);if(r){const i={...r.accountState||Tn,...e};M.chains.set(t,{...r,accountState:i}),(M.chains.size===1||M.activeChain===t)&&(e.caipAddress&&(M.activeCaipAddress=e.caipAddress),W.replaceState(i))}},setChainNetworkData(t,e){if(!t)return;const s=M.chains.get(t);if(s){const r={...s.networkState||ji,...e};M.chains.set(t,{...s,networkState:r})}}
4,setAccountProp(t,e,s,r=!0){p.setChainAccountData(s,{[t]:e},r),t==="status"&&e==="disconnected"&&s&&q.removeConnectorId(s)},setActiveNamespace(t){M.activeChain=t;const e=t?M.chains.get(t):void 0,s=e?.networkState?.caipNetwork;s?.id&&t&&(M.activeCaipAddress=e?.accountState?.caipAddress,M.activeCaipNetwork=s,p.setChainNetworkData(t,{caipNetwork:s}),F.setActiveCaipNetworkId(s?.caipNetworkId),vs.set({activeChain:t,selectedNetworkId:s?.caipNetworkId}))},setActiveCaipNetwork(t){if(!t)return;M.activeChain!==t.chainNamespace&&p.setIsSwitchingNamespace(!0);const e=M.chains.get(t.chainNamespace);M.activeChain=t.chainNamespace,M.activeCaipNetwork=t,p.setChainNetworkData(t.chainNamespace,{caipNetwork:t}),e?.accountState?.address?M.activeCaipAddress=`${t.chainNamespace}:${t.id}:${e?.accountState?.address}`:M.activeCaipAddress=void 0,p.setAccountProp("caipAddress",M.activeCaipAddress,t.chainNamespace),e&&W.replaceState(e.accountState),he.resetSend(),vs.set({activeChain:M.activeChain,selectedNetworkId:M.activeCaipNetwork?.caipNetworkId}),F.setActiveCaipNetworkId(t.caipNetworkId),!p.checkIfSupportedNetwork(t.chainNamespace)&&S.state.enableNetworkSwitch&&!S.state.allowUnsupportedChain&&!Y.state.wcBasic&&p.showUnsupportedChainUI()},addCaipNetwork(t){if(!t)return;const e=M.chains.get(t.chainNamespace);e&&e?.caipNetworks?.push(t)},async switchActiveNamespace(t){if(!t)return;const e=t!==p.state.activeChain,s=p.getNetworkData(t)?.caipNetwork,r=p.getCaipNetworkByNamespace(t,s?.id);e&&r&&await p.switchActiveNetwork(r)},async switchActiveNetwork(t){const s=!p.state.chains.get(p.state.activeChain)?.caipNetworks?.some(i=>i.id===M.activeCaipNetwork?.id),r=p.getNetworkControllerClient(t.chainNamespace);if(r){try{await r.switchCaipNetwork(t),s&&We.close()}catch{re.goBack()}Pe.sendEvent({type:"track",event:"SWITCH_NETWORK",properties:{network:t.caipNetworkId}})}},getNetworkControllerClient(t){const e=t||M.activeChain,s=M.chains.get(e);if(!s)throw new Error("Chain adapter not found");if(!s.networkControllerClient)throw new Error("NetworkController client not set");return s.networkControllerClient},getConnectionControllerClient(t){const e=t||M.activeChain;if(!e)throw new Error("Chain is required to get connection controller client");const s=M.chains.get(e);if(!s?.connectionControllerClient)throw new Error("ConnectionController client not set");return s.connectionControllerClient},getAccountProp(t,e){let s=M.activeChain;if(e&&(s=e),!s)return;const r=M.chains.get(s)?.accountState;if(r)return r[t]},getNetworkProp(t,e){const s=M.chains.get(e)?.networkState;if(s)return s[t]},getRequestedCaipNetworks(t){const e=M.chains.get(t),{approvedCaipNetworkIds:s=[],requestedCaipNetworks:r=[]}=e?.networkState||{};return Z.sortRequestedNetworks(s,r)},getAllRequestedCaipNetworks(){const t=[];return M.chains.forEach(e=>{const s=p.getRequestedCaipNetworks(e.namespace);t.push(...s)}),t},setRequestedCaipNetworks(t,e){p.setAdapterNetworkState(e,{requestedCaipNetworks:t});const r=p.getAllRequestedCaipNetworks().map(n=>n.chainNamespace),i=Array.from(new Set(r));q.filterByNamespaces(i)},getAllApprovedCaipNetworkIds(){const t=[];return M.chains.forEach(e=>{const s=p.getApprovedCaipNetworkIds(e.namespace);t.push(...s)}),t},getActiveCaipNetwork(){return M.activeCaipNetwork},getActiveCaipAddress(){return M.activeCaipAddress},getApprovedCaipNetworkIds(t){return M.chains.get(t)?.networkState?.approvedCaipNetworkIds||[]},async setApprovedCaipNetworksData(t){const s=await p.getNetworkControllerClient()?.getApprovedCaipNetworksData();p.setAdapterNetworkState(t,{approvedCaipNetworkIds:s?.approvedCaipNetworkIds,supportsAllNetworks:s?.supportsAllNetworks})},checkIfSupportedNetwork(t,e){const s=e||M.activeCaipNetwork,r=p.getRequestedCaipNetworks(t);return r.length?r?.some(i=>i.id===s?.id):!0},checkIfSupportedChainId(t){return M.activeChain?p.getRequestedCaipNetworks(M.activeChain)?.some(s=>s.id===t):!0},setSmartAccountEnabledNetworks(t,e){p.setAdapterNetworkState(e,{smartAccountEnabledNetworks:t})},checkIfSmartAccountEnabled(){const t=pl.caipNetworkIdToNumber(M.activeCaipNetwork?.caipNetworkId),e=M.activeChain;return!e||!t?!1:!!p.getNetworkProp("smartAccountEnabledNetworks",e)?.includes(Number(t))},getActiveNetworkTokenAddress(){const t=M.activeCaipNetwork?.chainNamespace||"eip155",e=M.activeCaipNetwork?.id||1,s=ve.NATIVE_TOKEN_ADDRESS[t];return`${t}:${e}:${s}`},showUnsupportedChainUI(){We.open({view:"UnsupportedChain"})},checkIfNamesSupported(){const t=M.activeCaipNetwork;return!!(t?.chainNamespace&&ve.NAMES_SUPPORTED_CHAIN_NAMESPACES.includes(t.chainNamespace))},resetNetwork(t){p.setAdapterNetworkState(t,{approvedCaipNetworkIds:void 0,supportsAllNetworks:!0,smartAccountEnabledNetworks:[]})},resetAccount(t){const e=t;if(!e)throw new Error("Chain is required to set account prop");M.activeCaipAddress=void 0,p.setChainAccountData(e,{smartAccountDeployed:!1,currentTab:0,caipAddress:void 0,address:void 0,balance:void 0,balanceSymbol
vendor: 8,859 bytes, line 4
4:void 0,profileName:void 0,profileImage:void 0,addressExplorerUrl:void 0,tokenBalance:[],connectedWalletInfo:void 0,preferredAccountTypes:void 0,socialProvider:void 0,socialWindow:void 0,farcasterUrl:void 0,allAccounts:[],user:void 0,status:"disconnected"}),q.removeConnectorId(e)},setIsSwitchingNamespace(t){M.isSwitchingNamespace=t},getFirstCaipNetworkSupportsAuthConnector(){const t=[];let e;if(M.chains.forEach(s=>{z.AUTH_CONNECTOR_SUPPORTED_CHAINS.find(r=>r===s.namespace)&&s.namespace&&t.push(s.namespace)}),t.length>0){const s=t[0];return e=s?M.chains.get(s)?.caipNetworks?.[0]:void 0,e}},getAccountData(t){return t?p.state.chains.get(t)?.accountState:W.state},getNetworkData(t){const e=t||M.activeChain;if(e)return p.state.chains.get(e)?.networkState},getCaipNetworkByNamespace(t,e){if(!t)return;const s=p.state.chains.get(t),r=s?.caipNetworks?.find(i=>i.id===e);return r||s?.networkState?.caipNetwork||s?.caipNetworks?.[0]},getRequestedCaipNetworkIds(){const t=q.state.filterByNamespace;return(t?[M.chains.get(t)]:Array.from(M.chains.values())).flatMap(s=>s?.caipNetworks||[]).map(s=>s.caipNetworkId)},getCaipNetworks(t){return t?p.getRequestedCaipNetworks(t):p.getAllRequestedCaipNetworks()}},p=vt(Hh),Vh={purchaseCurrencies:[{id:"2b92315d-eab7-5bef-84fa-089a131333f5",name:"USD Coin",symbol:"USDC",networks:[{name:"ethereum-mainnet",display_name:"Ethereum",chain_id:"1",contract_address:"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"},{name:"polygon-mainnet",display_name:"Polygon",chain_id:"137",contract_address:"0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174"}]},{id:"2b92315d-eab7-5bef-84fa-089a131333f5",name:"Ether",symbol:"ETH",networks:[{name:"ethereum-mainnet",display_name:"Ethereum",chain_id:"1",contract_address:"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"},{name:"polygon-mainnet",display_name:"Polygon",chain_id:"137",contract_address:"0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174"}]}],paymentCurrencies:[{id:"USD",payment_method_limits:[{id:"card",min:"10.00",max:"7500.00"},{id:"ach_bank_account",min:"10.00",max:"25000.00"}]},{id:"EUR",payment_method_limits:[{id:"card",min:"10.00",max:"7500.00"},{id:"ach_bank_account",min:"10.00",max:"25000.00"}]}]},bl=Z.getBlockchainApiUrl(),it=_e({clientId:null,api:new ki({baseUrl:bl,clientId:null}),supportedChains:{http:[],ws:[]}}),J={state:it,async get(t){const{st:e,sv:s}=J.getSdkProperties(),r=S.state.projectId,i={...t.params||{},st:e,sv:s,projectId:r};return it.api.get({...t,params:i})},getSdkProperties(){const{sdkType:t,sdkVersion:e}=S.state;return{st:t||"unknown",sv:e||"unknown"}},async isNetworkSupported(t){if(!t)return!1;try{it.supportedChains.http.length||await J.getSupportedNetworks()}catch{return!1}return it.supportedChains.http.includes(t)},async getSupportedNetworks(){try{const t=await J.get({path:"v1/supported-chains"});return it.supportedChains=t,t}catch{return it.supportedChains}},async fetchIdentity({address:t,caipNetworkId:e}){if(!await J.isNetworkSupported(e))return{avatar:"",name:""};const r=F.getIdentityFromCacheForAddress(t);if(r)return r;const i=await J.get({path:`/v1/identity/${t}`,params:{sender:p.state.activeCaipAddress?Z.getPlainAddress(p.state.activeCaipAddress):void 0}});return F.updateIdentityCache({address:t,identity:i,timestamp:Date.now()}),i},async fetchTransactions({account:t,cursor:e,onramp:s,signal:r,cache:i,chainId:n}){return await J.isNetworkSupported(p.state.activeCaipNetwork?.caipNetworkId)?J.get({path:`/v1/account/${t}/history`,params:{cursor:e,onramp:s,chainId:n},signal:r,cache:i}):{data:[],next:void 0}},async fetchSwapQuote({amount:t,userAddress:e,from:s,to:r,gasPrice:i}){return await J.isNetworkSupported(p.state.activeCaipNetwork?.caipNetworkId)?J.get({path:"/v1/convert/quotes",headers:{"Content-Type":"application/json"},params:{amount:t,userAddress:e,from:s,to:r,gasPrice:i}}):{quotes:[]}},async fetchSwapTokens({chainId:t}){return await J.isNetworkSupported(p.state.activeCaipNetwork?.caipNetworkId)?J.get({path:"/v1/convert/tokens",params:{chainId:t}}):{tokens:[]}},async fetchTokenPrice({addresses:t}){return await J.isNetworkSupported(p.state.activeCaipNetwork?.caipNetworkId)?it.api.post({path:"/v1/fungible/price",body:{currency:"usd",addresses:t,projectId:S.state.projectId},headers:{"Content-Type":"application/json"}}):{fungibles:[]}},async fetchSwapAllowance({tokenAddress:t,userAddress:e}){return await J.isNetworkSupported(p.state.activeCaipNetwork?.caipNetworkId)?J.get({path:"/v1/convert/allowance",params:{tokenAddress:t,userAddress:e},headers:{"Content-Type":"application/json"}}):{allowance:"0"}},async fetchGasPrice({chainId:t}){const{st:e,sv:s}=J.getSdkProperties();if(!await J.isNetworkSupported(p.state.activeCaipNetwork?.caipNetworkId))throw new Error("Network not supported for Gas Price");return J.get({path:"/v1/convert/gas-price",headers:{"Content-Type":"application/json"},params:{chainId:t,st:e,sv:s}})},async generateSwapCalldata({amount:t,from:e,to:s,userAddress:r,disableEstimate:i}){if(!await J.isNetworkSupported(p.state.activeCaipNetwork?.caipNetworkId))throw new Error("Network not supported for Swaps");return it.api.post({path:"/v1/convert/build-transaction",headers:{"Content-Type":"application/json"},body:{amount:t,eip155:{slippage:ve.CONVERT_SLIPPAGE_TOLERANCE},projectId:S.state.projectId,from:e,to:s,userAddress:r,disableEstimate:i}})},async generateApproveCalldata({from:t,to:e,userAddress:s}){const{st:r,sv:i}=J.getSdkProperties();if(!await J.isNetworkSupported(p.state.activeCaipNetwork?.caipNetworkId))throw new Error("Network not supported for Swaps");return J.get({path:"/v1/convert/build-approve",headers:{"Content-Type":"application/json"},params:{userAddress:s,from:t,to:e,st:r,sv:i}})},async getBalance(t,e,s){const{st:r,sv:i}=J.getSdkProperties();if(!await J.isNetworkSupported(p.state.activeCaipNetwork?.caipNetworkId))return Ut.showError("Token Balance Unavailable"),{balances:[]};const o=`${e}:${t}`,a=F.getBalanceCacheForCaipAddress(o);if(a)return a;const c=await J.get({path:`/v1/account/${t}/balance`,params:{currency:"usd",chainId:e,forceUpdate:s,st:r,sv:i}});return F.updateBalanceCache({caipAddress:o,balance:c,timestamp:Date.now()}),c},async lookupEnsName(t){return await J.isNetworkSupported(p.state.activeCaipNetwork?.caipNetworkId)?J.get({path:`/v1/profile/account/${t}`,params:{apiVersion:"2"}}):{addresses:{},attributes:[]}},async reverseLookupEnsName({address:t}){return await J.isNetworkSupported(p.state.activeCaipNetwork?.caipNetworkId)?J.get({path:`/v1/profile/reverse/${t}`,params:{sender:W.state.address,apiVersion:"2"}}):[]},async getEnsNameSuggestions(t){return await J.isNetworkSupported(p.state.activeCaipNetwork?.caipNetworkId)?J.get({path:`/v1/profile/suggestions/${t}`,params:{zone:"reown.id"}}):{suggestions:[]}},async registerEnsName({coinType:t,address:e,message:s,signature:r}){return await J.isNetworkSupported(p.state.activeCaipNetwork?.caipNetworkId)?it.api.post({path:"/v1/profile/account",body:{coin_type:t,address:e,message:s,signature:r},headers:{"Content-Type":"application/json"}}):{success:!1}},async generateOnRampURL({destinationWallets:t,partnerUserId:e,defaultNetwork:s,purchaseAmount:r,paymentAmount:i}){return await J.isNetworkSupported(p.state.activeCaipNetwork?.caipNetworkId)?(await it.api.post({path:"/v1/generators/onrampurl",params:{projectId:S.state.projectId},body:{destinationWallets:t,defaultNetwork:s,partnerUserId:e,defaultExperience:"buy",presetCryptoAmount:r,presetFiatAmount:i}})).url:""},async getOnrampOptions(){if(!await J.isNetworkSupported(p.state.activeCaipNetwork?.caipNetworkId))return{paymentCurrencies:[],purchaseCurrencies:[]};try{return await J.get({path:"/v1/onramp/options"})}catch{return Vh}},async getOnrampQuote({purchaseCurrency:t,paymentCurrency:e,amount:s,network:r}){try{return await J.isNetworkSupported(p.state.activeCaipNetwork?.caipNetworkId)?await it.api.post({path:"/v1/onramp/quote",params:{projectId:S.state.projectId},body:{purchaseCurrency:t,paymentCurrency:e,amount:s,network:r}}):null}catch{return{coinbaseFee:{amount:s,currency:e.id},networkFee:{amount:s,currency:e.id},paymentSubtotal:{amount:s,currency:e.id},paymentTotal:{amount:s,currency:e.id},purchaseAmount:{amount:s,currency:e.id},quoteId:"mocked-quote-id"}}},async getSmartSessions(t){return await J.isNetworkSupported(p.state.activeCaipNetwork?.caipNetworkId)?J.get({path:`/v1/sessions/${t}`}):[]},async revokeSmartSession(t,e,s){return await J.isNetworkSupported(p.state.activeCaipNetwork?.caipNetworkId)?it.api.post({path:`/v1/sessions/${t}/revoke`,params:{projectId:S.state.projectId},body:{pci:e,signature:s}}):{success:!1}},setClientId(t){it.clientId=t,it.api=new ki({baseUrl:bl,clientId:t})}},Et=_e({currentTab:0,tokenBalance:[],smartAccountDeployed:!1,addressLabels:new Map,allAccounts:[]}),Kh={state:Et,replaceState(t){t&&Object.assign(Et,zs(t))},subscribe(t){return p.subscribeChainProp("accountState",e=>
4{if(e)return t(e)})},subscribeKey(t,e,s){let r;return p.subscribeChainProp("accountState",i=>{if(i){const n=i[t];r!==n&&(r=n,e(n))}},s)},setStatus(t,e){p.setAccountProp("status",t,e)},getCaipAddress(t){return p.getAccountProp("caipAddress",t)},setCaipAddress(t,e){const s=t?Z.getPlainAddress(t):void 0;e===p.state.activeChain&&(p.state.activeCaipAddress=t),p.setAccountProp("caipAddress",t,e),p.setAccountProp("address",s,e)},setBalance(t,e,s){p.setAccountProp("balance",t,s),p.setAccountProp("balanceSymbol",e,s)},setProfileName(t,e){p.setAccountProp("profileName",t,e)},setProfileImage(t,e){p.setAccountProp("profileImage",t,e)},setUser(t,e){p.setAccountProp("user",t,e)},setAddressExplorerUrl(t,e){p.setAccountProp("addressExplorerUrl",t,e)},setSmartAccountDeployed(t,e){p.setAccountProp("smartAccountDeployed",t,e)},setCurrentTab(t){p.setAccountProp("currentTab",t,p.state.activeChain)},setTokenBalance(t,e){t&&p.setAccountProp("tokenBalance",t,e)},setShouldUpdateToAddress(t,e){p.setAccountProp("shouldUpdateToAddress",t,e)},setAllAccounts(t,e){p.setAccountProp("allAccounts",t,e)},addAddressLabel(t,e,s){const r=p.getAccountProp("addressLabels",s)||new Map;r.set(t,e),p.setAccountProp("addressLabels",r,s)},removeAddressLabel(t,e){const s=p.getAccountProp("addressLabels",e)||new Map;s.delete(t),p.setAccountProp("addressLabels",s,e)},setConnectedWalletInfo(t,e){p.setAccountProp("connectedWalletInfo",t,e,!1)},setPreferredAccountType(t,e){p.setAccountProp("preferredAccountTypes",{...Et.preferredAccountTypes,[e]:t},e)},setPreferredAccountTypes(t){Et.preferredAccountTypes=t},setSocialProvider(t,e){t&&p.setAccountProp("socialProvider",t,e)},setSocialWindow(t,e){p.setAccountProp("socialWindow",t?zs(t):void 0,e)},setFarcasterUrl(t,e){p.setAccountProp("farcasterUrl",t,e)},async fetchTokenBalance(t){Et.balanceLoading=!0;const e=p.state.activeCaipNetwork?.caipNetworkId,s=p.state.activeCaipNetwork?.chainNamespace,r=p.state.activeCaipAddress,i=r?Z.getPlainAddress(r):void 0;if(Et.lastRetry&&!Z.isAllowedRetry(Et.lastRetry,30*ve.ONE_SEC_MS))return Et.balanceLoading=!1,[];try{if(i&&e&&s){const o=(await J.getBalance(i,e)).balances.filter(a=>a.quantity.decimals!=="0");return W.setTokenBalance(o,s),Et.lastRetry=void 0,Et.balanceLoading=!1,o}}catch(n){Et.lastRetry=Date.now(),t?.(n),Ut.showError("Token Balance Unavailable")}finally{Et.balanceLoading=!1}return[]},resetAccount(t){p.resetAccount(t)}},W=vt(Kh),Gh={onSwitchNetwork({network:t,ignoreSwitchConfirmation:e=!1}){const s=p.state.activeCaipNetwork,r=re.state.data;if(t.id===s?.id)return;const n=W.getCaipAddress(p.state.activeChain),o=t.chainNamespace!==p.state.activeChain,a=W.getCaipAddress(t.chainNamespace),l=q.getConnectorId(p.state.activeChain)===z.CONNECTOR_ID.AUTH,d=z.AUTH_CONNECTOR_SUPPORTED_CHAINS.find(h=>h===t.chainNamespace);e||l&&d?re.push("SwitchNetwork",{...r,network:t}):n&&o&&!a?re.push("SwitchActiveChain",{switchToChain:t.chainNamespace,navigateTo:"Connect",navigateWithReplace:!0,network:t}):re.push("SwitchNetwork",{...r,network:t})}},nt=_e({loading:!1,loadingNamespaceMap:new Map,open:!1,shake:!1,namespace:void 0}),Jh={state:nt,subscribe(t){return Xe(nt,()=>t(nt))},subscribeKey(t,e){return Qe(nt,t,e)},async open(t){const e=W.state.status==="connected",s=t?.namespace,r=p.state.activeChain,i=s&&s!==r,n=p.getAccountData(t?.namespace)?.caipAddress;if(Y.state.wcBasic?V.prefetch({fetchNetworkImages:!1,fetchConnectorImages:!1}):await V.prefetch({fetchConnectorImages:!e,fetchFeaturedWallets:!e,fetchRecommendedWallets:!e}),q.setFilterByNamespace(t?.namespace),We.setLoading(!0,s),s&&i){const o=p.getNetworkData(s)?.caipNetwork||p.getRequestedCaipNetworks(s)[0];o&&Gh.onSwitchNetwork({network:o,ignoreSwitchConfirmation:!0})}else{const o=p.state.noAdapters;S.state.manualWCControl||o&&!n?Z.isMobile()?re.reset("AllWallets"):re.reset("ConnectingWalletConnectBasic"):t?.view?re.reset(t.view,t.data):n?re.reset("Account"):re.reset("Connect")}nt.open=!0,vs.set({open:!0}),Pe.sendEvent({type:"track",event:"MODAL_OPEN",properties:{connected:!!n}})},close(){const t=S.state.enableEmbedded,e=!!p.state.activeCaipAddress;nt.open&&Pe.sendEvent({type:"track",event:"MODAL_CLOSE",properties:{connected:e}}),nt.open=!1,re.reset("Connect"),We.clearLoading(),t?e?re.replace("Account"):re.push("Connect"):vs.set({open:!1}),Y.resetUri()}
vendor: 50,139 bytes, lines 4-7
4,setLoading(t,e){e&&nt.loadingNamespaceMap.set(e,t),nt.loading=t,vs.set({loading:t})},clearLoading(){nt.loadingNamespaceMap.clear(),nt.loading=!1},shake(){nt.shake||(nt.shake=!0,setTimeout(()=>{nt.shake=!1},500))}},We=vt(Jh),ci={id:"2b92315d-eab7-5bef-84fa-089a131333f5",name:"USD Coin",symbol:"USDC",networks:[{name:"ethereum-mainnet",display_name:"Ethereum",chain_id:"1",contract_address:"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"},{name:"polygon-mainnet",display_name:"Polygon",chain_id:"137",contract_address:"0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174"}]},no={id:"USD",payment_method_limits:[{id:"card",min:"10.00",max:"7500.00"},{id:"ach_bank_account",min:"10.00",max:"25000.00"}]},Yh={providers:ml,selectedProvider:null,error:null,purchaseCurrency:ci,paymentCurrency:no,purchaseCurrencies:[ci],paymentCurrencies:[],quotesLoading:!1},oe=_e(Yh),Zh={state:oe,subscribe(t){return Xe(oe,()=>t(oe))},subscribeKey(t,e){return Qe(oe,t,e)},setSelectedProvider(t){if(t&&t.name==="meld"){const e=p.state.activeChain===z.CHAIN.SOLANA?"SOL":"USDC",s=W.state.address??"",r=new URL(t.url);r.searchParams.append("publicKey",Ch),r.searchParams.append("destinationCurrencyCode",e),r.searchParams.append("walletAddress",s),r.searchParams.append("externalCustomerId",S.state.projectId),oe.selectedProvider={...t,url:r.toString()}}else oe.selectedProvider=t},setOnrampProviders(t){if(Array.isArray(t)&&t.every(e=>typeof e=="string")){const e=t,s=ml.filter(r=>e.includes(r.name));oe.providers=s}else oe.providers=[]},setPurchaseCurrency(t){oe.purchaseCurrency=t},setPaymentCurrency(t){oe.paymentCurrency=t},setPurchaseAmount(t){oo.state.purchaseAmount=t},setPaymentAmount(t){oo.state.paymentAmount=t},async getAvailableCurrencies(){const t=await J.getOnrampOptions();oe.purchaseCurrencies=t.purchaseCurrencies,oe.paymentCurrencies=t.paymentCurrencies,oe.paymentCurrency=t.paymentCurrencies[0]||no,oe.purchaseCurrency=t.purchaseCurrencies[0]||ci,await V.fetchCurrencyImages(t.paymentCurrencies.map(e=>e.id)),await V.fetchTokenImages(t.purchaseCurrencies.map(e=>e.symbol))},async getQuote(){oe.quotesLoading=!0;try{const t=await J.getOnrampQuote({purchaseCurrency:oe.purchaseCurrency,paymentCurrency:oe.paymentCurrency,amount:oe.paymentAmount?.toString()||"0",network:oe.purchaseCurrency?.symbol});return oe.quotesLoading=!1,oe.purchaseAmount=Number(t?.purchaseAmount.amount),t}catch(t){return oe.error=t.message,oe.quotesLoading=!1,null}finally{oe.quotesLoading=!1}},resetState(){oe.selectedProvider=null,oe.error=null,oe.purchaseCurrency=ci,oe.paymentCurrency=no,oe.purchaseCurrencies=[ci],oe.paymentCurrencies=[],oe.paymentAmount=void 0,oe.purchaseAmount=void 0,oe.quotesLoading=!1}},oo=vt(Zh),fa=2147483648,Xh={convertEVMChainIdToCoinType(t){if(t>=fa)throw new Error("Invalid chainId");return(fa|t)>>>0}},Ct=_e({suggestions:[],loading:!1}),Qh={state:Ct,subscribe(t){return Xe(Ct,()=>t(Ct))},subscribeKey(t,e){return Qe(Ct,t,e)},async resolveName(t){try{return await J.lookupEnsName(t)}catch(e){const s=e;throw new Error(s?.reasons?.[0]?.description||"Error resolving name")}},async isNameRegistered(t){try{return await J.lookupEnsName(t),!0}catch{return!1}},async getSuggestions(t){try{Ct.loading=!0,Ct.suggestions=[];const e=await J.getEnsNameSuggestions(t);return Ct.suggestions=e.suggestions.map(s=>({...s,name:s.name}))||[],Ct.suggestions}catch(e){const s=li.parseEnsApiError(e,"Error fetching name suggestions");throw new Error(s)}finally{Ct.loading=!1}},async getNamesForAddress(t){try{if(!p.state.activeCaipNetwork)return[];const s=F.getEnsFromCacheForAddress(t);if(s)return s;const r=await J.reverseLookupEnsName({address:t});return F.updateEnsCache({address:t,ens:r,timestamp:Date.now()}),r}catch(e){const s=li.parseEnsApiError(e,"Error fetching names for address");throw new Error(s)}},async registerName(t){const e=p.state.activeCaipNetwork;if(!e)throw new Error("Network not found");const s=W.state.address,r=q.getAuthConnector();if(!s||!r)throw new Error("Address or auth connector not found");Ct.loading=!0;try{const i=JSON.stringify({name:t,attributes:{},timestamp:Math.floor(Date.now()/1e3)});re.pushTransactionStack({onCancel(){re.replace("RegisterAccountName")}});const n=await Y.signMessage(i);Ct.loading=!1;const o=e.id;if(!o)throw new Error("Network not found");const a=Xh.convertEVMChainIdToCoinType(Number(o));await J.registerEnsName({coinType:a,address:s,signature:n,message:i}),W.setProfileName(t,e.chainNamespace),re.replace("RegisterAccountNameSuccess")}catch(i){const n=li.parseEnsApiError(i,`Error registering name ${t}`);throw re.replace("RegisterAccountName"),new Error(n)}finally{Ct.loading=!1}},validateName(t){return/^[a-zA-Z0-9-]{4,}$/u.test(t)},parseEnsApiError(t,e){return t?.reasons?.[0]?.description||e}},li=vt(Qh);var eu=Object.defineProperty,tu=(t,e,s)=>e in t?eu(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,ga=(t,e,s)=>tu(t,typeof e!="symbol"?e+"":e,s);let su=class extends Br{constructor(e){super(),this.opts=e,ga(this,"protocol","wc"),ga(this,"version",2)}};var ru=Object.defineProperty,iu=(t,e,s)=>e in t?ru(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,nu=(t,e,s)=>iu(t,e+"",s);let ou=class extends Br{constructor(e,s){super(),this.core=e,this.logger=s,nu(this,"records",new Map)}},au=class{constructor(e,s){this.logger=e,this.core=s}},cu=class extends Br{constructor(e,s){super(),this.relayer=e,this.logger=s}},lu=class extends Br{constructor(e){super()}},du=class{constructor(e,s,r,i){this.core=e,this.logger=s,this.name=r}},hu=class extends Br{constructor(e,s){super(),this.relayer=e,this.logger=s}},uu=class extends Br{constructor(e,s){super(),this.core=e,this.logger=s}},pu=class{constructor(e,s,r){this.core=e,this.logger=s,this.store=r}},fu=class{constructor(e,s){this.projectId=e,this.logger=s}},gu=class{constructor(e,s,r){this.core=e,this.logger=s,this.telemetryEnabled=r}};var mu=Object.defineProperty,wu=(t,e,s)=>e in t?mu(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,ma=(t,e,s)=>wu(t,typeof e!="symbol"?e+"":e,s);let yu=class{constructor(e){this.opts=e,ma(this,"protocol","wc"),ma(this,"version",2)}},bu=class{constructor(e){this.client=e}};var vu={};const Eu=":";function _r(t){const[e,s]=t.split(Eu);return{namespace:e,reference:s}}function vl(t,e){return t.includes(":")?[t]:e.chains||[]}var Cu=Object.defineProperty,Iu=Object.defineProperties,Nu=Object.getOwnPropertyDescriptors,wa=Object.getOwnPropertySymbols,Au=Object.prototype.hasOwnProperty,_u=Object.prototype.propertyIsEnumerable,ya=(t,e,s)=>e in t?Cu(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,ba=(t,e)=>{for(var s in e||(e={}))Au.call(e,s)&&ya(t,s,e[s]);if(wa)for(var s of wa(e))_u.call(e,s)&&ya(t,s,e[s]);return t},Su=(t,e)=>Iu(t,Nu(e));const Pu="ReactNative",wt={reactNative:"react-native",node:"node",browser:"browser",unknown:"unknown"},ku="js";function ln(){return typeof process<"u"&&typeof process.versions<"u"&&typeof process.versions.node<"u"}function Ss(){return!os.getDocument()&&!!os.getNavigator()&&navigator.product===Pu}function Ou(){return Ss()&&typeof global<"u"&&typeof(global==null?void 0:global.Platform)<"u"&&(global==null?void 0:global.Platform.OS)==="android"}function Tu(){return Ss()&&typeof global<"u"&&typeof(global==null?void 0:global.Platform)<"u"&&(global==null?void 0:global.Platform.OS)==="ios"}function jr(){return!ln()&&!!os.getNavigator()&&!!os.getDocument()}function Oi(){return Ss()?wt.reactNative:ln()?wt.node:jr()?wt.browser:wt.unknown}function va(){var t;try{return Ss()&&typeof global<"u"&&typeof(global==null?void 0:global.Application)<"u"?(t=global.Application)==null?void 0:t.applicationId:void 0}catch{return}}function $u(t,e){const s=new URLSearchParams(t);for(const r of Object.keys(e).sort())if(e.hasOwnProperty(r)){const i=e[r];i!==void 0&&s.set(r,i)}return s.toString()}function xu(t){var e,s;const r=El();try{return t!=null&&t.url&&r.url&&new URL(t.url).host!==new URL(r.url).host&&(console.warn(`The configured WalletConnect 'metadata.url':${t.url} differs from the actual page url:${r.url}. This is probably unintended and can lead to issues.`),t.url=r.url),(e=t?.icons)!=null&&e.length&&t.icons.length>0&&(t.icons=t.icons.filter(i=>i!=="")),Su(ba(ba({},r),t),{url:t?.url||r.url,name:t?.name||r.name,description:t?.description||r.description,icons:(s=t?.icons)!=null&&s.length&&t.icons.length>0?t.icons:r.icons})}catch(i){return console.warn("Error populating app metadata",i),t||r}}function El(){return Kd.getWindowMetadata()||{name:"",description:"",url:"",icons:[""]}}function Ru(){if(Oi()===wt.reactNative&&typeof global<"u"&&typeof(global==null?void 0:global.Platform)<"u"){const{OS:s,Version:r}=global.Platform;return[s,r].join("-")}const t=Jd();if(t===null)return"unknown";const e=t.os?t.os.replace(" ","").toLowerCase():"unknown";return t.type==="browser"?[e,t.name,t.version].join("-"):[e,t.version].join("-")}function Uu(){var t;const e=Oi();return e===wt.browser?[e,((t=os.getLocation())==null?void 0:t.host)||"unknown"].join(":"):e}function Cl(t,e,s){const r=Ru(),i=Uu();return[[t,e].join("-"),[ku,s].join("-"),r,i].join("/")}function Du({protocol:t,version:e,relayUrl:s,sdkVersion:r,auth:i,projectId:n,useOnCloseEvent:o,bundleId:a,packageName:c}){const l=s.split("?"),d=Cl(t,e,r),h={auth:i,ua:d,projectId:n,useOnCloseEvent:o,packageName:c||void 0,bundleId:a||void 0},u=$u(l[1]||"",h);return l[0]+"?"+u}function qs(t,e){return t.filter(s=>e.includes(s)).length===t.length}function ao(t){return Object.fromEntries(t.entries())}function co(t){return new Map(Object.entries(t))}function Rs(t=U.FIVE_MINUTES,e){const s=U.toMiliseconds(t||U.FIVE_MINUTES);let r,i,n,o;return{resolve:a=>{n&&r&&(clearTimeout(n),r(a),o=Promise.resolve(a))},reject:a=>{n&&i&&(clearTimeout(n),i(a))},done:()=>new Promise((a,c)=>{if(o)return a(o);n=setTimeout(()=>{const l=new Error(e);o=Promise.reject(l),c(l)},s),r=a,i=c})}}function bs(t,e,s){return new Promise(async(r,i)=>{const n=setTimeout(()=>i(new Error(s)),e);try{const o=await t;r(o)}catch(o){i(o)}clearTimeout(n)})}function Il(t,e){if(typeof e=="string"&&e.startsWith(`${t}:`))return e;if(t.toLowerCase()==="topic"){if(typeof e!="string")throw new Error('Value must be "string" for expirer target type: topic');return`topic:${e}`}else if(t.toLowerCase()==="id"){if(typeof e!="number")throw new Error('Value must be "number" for expirer target type: id');return`id:${e}`}throw new Error(`Unknown expirer target type: ${t}`)}function Lu(t){return Il("topic",t)}function Mu(t){return Il("id",t)}function Nl(t){const[e,s]=t.split(":"),r={id:void 0,topic:void 0};if(e==="topic"&&typeof s=="string")r.topic=s;else if(e==="id"&&Number.isInteger(Number(s)))r.id=Number(s);else throw new Error(`Invalid target, expected id:number or topic:string, got ${e}:${s}`);return r}function De(t,e){return U.fromMiliseconds(Date.now()+U.toMiliseconds(t))}function gs(t){return Date.now()>=U.toMiliseconds(t)}function pe(t,e){return`${t}${e?`:${e}`:""}`}function Kt(t=[],e=[]){return[...new Set([...t,...e])]}async function Bu({id:t,topic:e,wcDeepLink:s}){var r;try{if(!s)return;const i=typeof s=="string"?JSON.parse(s):s,n=i?.href;if(typeof n!="string")return;const o=qu(n,t,e),a=Oi();if(a===wt.browser){if(!((r=os.getDocument())!=null&&r.hasFocus())){console.warn("Document does not have focus, skipping deeplink.");return}ju(o)}else a===wt.reactNative&&typeof(global==null?void 0:global.Linking)<"u"&&await global.Linking.openURL(o)}catch(i){console.error(i)}}function qu(t,e,s){const r=`requestId=${e}&sessionTopic=${s}`;t.endsWith("/")&&(t=t.slice(0,-1));let i=`${t}`;if(t.startsWith("https://t.me")){const n=t.includes("?")?"&startapp=":"?startapp=";i=`${i}${n}${Hu(r,!0)}`}else i=`${i}/wc?${r}`;return i}function ju(t){let e="_self";zu()?e="_top":(Wu()||t.startsWith("https://")||t.startsWith("http://"))&&(e="_blank"),window.open(t,e,"noreferrer noopener")}async function Fu(t,e){let s="";try{if(jr()&&(s=localStorage.getItem(e),s))return s;s=await t.getItem(e)}catch(r){console.error(r)}return s}function Ea(t,e){if(!t.includes(e))return null;const s=t.split(/([&,?,=])/),r=s.indexOf(e);return s[r+2]}function Ca(){return typeof crypto<"u"&&crypto!=null&&crypto.randomUUID?crypto.randomUUID():"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/gu,t=>{const e=Math.random()*16|0;return(t==="x"?e:e&3|8).toString(16)})}function jo(){return typeof process<"u"&&vu.IS_VITEST==="true"}function Wu(){return typeof window<"u"&&(!!window.TelegramWebviewProxy||!!window.Telegram||!!window.TelegramWebviewProxyProto)}function zu(){try{return window.self!==window.top}catch{return!1}}function Hu(t,e=!1){const s=Buffer.from(t).toString("base64");return e?s.replace(/[=]/g,""):s}function Al(t){return Buffer.from(t,"base64").toString("utf-8")}function Vu(t){return new Promise(e=>setTimeout(e,t))}function bi(t){if(!Number.isSafeInteger(t)||t<0)throw new Error("positive integer expected, got "+t)}function Ku(t){return t instanceof Uint8Array||ArrayBuffer.isView(t)&&t.constructor.name==="Uint8Array"}function Ti(t,...e){if(!Ku(t))throw new Error("Uint8Array expected");if(e.length>0&&!e.includes(t.length))throw new Error("Uint8Array expected of length "+e+", got length="+t.length)}function Fo(t){if(typeof t!="function"||typeof t.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");bi(t.outputLen),bi(t.blockLen)}function Or(t,e=!0){if(t.destroyed)throw new Error("Hash instance has been destroyed");if(e&&t.finished)throw new Error("Hash#digest() has already been called")}function _l(t,e){Ti(t);const s=e.outputLen;if(t.length<s)throw new Error("digestInto() expects output buffer of length at least "+s)}const Fi=BigInt(2**32-1),Ia=BigInt(32);function Gu(t,e=!1){return e?{h:Number(t&Fi),l:Number(t>>Ia&Fi)}:{h:Number(t>>Ia&Fi)|0,l:Number(t&Fi)|0}}function Ju(t,e=!1){let s=new Uint32Array(t.length),r=new Uint32Array(t.length);for(let i=0;i<t.length;i++){const{h:n,l:o}=Gu(t[i],e);[s[i],r[i]]=[n,o]}return[s,r]}const Yu=(t,e,s)=>t<<s|e>>>32-s,Zu=(t,e,s)=>e<<s|t>>>32-s,Xu=(t,e,s)=>e<<s-32|t>>>64-s,Qu=(t,e,s)=>t<<s-32|e>>>64-s,rr=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;function ep(t){return new Uint32Array(t.buffer,t.byteOffset,Math.floor(t.byteLength/4))}function $n(t){return new DataView(t.buffer,t.byteOffset,t.byteLength)}function Bt(t,e){return t<<32-e|t>>>e}const Na=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function tp(t){return t<<24&4278190080|t<<8&16711680|t>>>8&65280|t>>>24&255}function Aa(t){for(let e=0;e<t.length;e++)t[e]=tp(t[e])}function sp(t){if(typeof t!="string")throw new Error("utf8ToBytes expected string, got "+typeof t);return new Uint8Array(new TextEncoder().encode(t))}function Tr(t){return typeof t=="string"&&(t=sp(t)),Ti(t),t}function rp(...t){let e=0;for(let r=0;r<t.length;r++){const i=t[r];Ti(i),e+=i.length}const s=new Uint8Array(e);for(let r=0,i=0;r<t.length;r++){const n=t[r];s.set(n,i),i+=n.length}return s}let Wo=class{clone(){return this._cloneInto()}};function Sl(t){const e=r=>t().update(Tr(r)).digest(),s=t();return e.outputLen=s.outputLen,e.blockLen=s.blockLen,e.create=()=>t(),e}function Fr(t=32){if(rr&&typeof rr.getRandomValues=="function")return rr.getRandomValues(new Uint8Array(t));if(rr&&typeof rr.randomBytes=="function")return rr.randomBytes(t);throw new Error("crypto.getRandomValues must be defined")}const Pl=[],kl=[],Ol=[],ip=BigInt(0),Kr=BigInt(1),np=BigInt(2),op=BigInt(7),ap=BigInt(256),cp=BigInt(113);for(let t=0,e=Kr,s=1,r=0;t<24;t++){[s,r]=[r,(2*s+3*r)%5],Pl.push(2*(5*r+s)),kl.push((t+1)*(t+2)/2%64);let i=ip;for(let n=0;n<7;n++)e=(e<<Kr^(e>>op)*cp)%ap,e&np&&(i^=Kr<<(Kr<<BigInt(n))-Kr);Ol.push(i)}const[lp,dp]=Ju(Ol,!0),_a=(t,e,s)=>s>32?Xu(t,e,s):Yu(t,e,s),Sa=(t,e,s)=>s>32?Qu(t,e,s):Zu(t,e,s);function hp(t,e=24){const s=new Uint32Array(10);for(let r=24-e;r<24;r++){for(let o=0;o<10;o++)s[o]=t[o]^t[o+10]^t[o+20]^t[o+30]^t[o+40];for(let o=0;o<10;o+=2){const a=(o+8)%10,c=(o+2)%10,l=s[c],d=s[c+1],h=_a(l,d,1)^s[a],u=Sa(l,d,1)^s[a+1];for(let g=0;g<50;g+=10)t[o+g]^=h,t[o+g+1]^=u}let i=t[2],n=t[3];for(let o=0;o<24;o++){const a=kl[o],c=_a(i,n,a),l=Sa(i,n,a),d=Pl[o];i=t[d],n=t[d+1],t[d]=c,t[d+1]=l}for(let o=0;o<50;o+=10){for(let a=0;a<10;a++)s[a]=t[o+a];for(let a=0;a<10;a++)t[o+a]^=~s[(a+2)%10]&s[(a+4)%10]}t[0]^=lp[r],t[1]^=dp[r]}s.fill(0)}let up=class Tl extends Wo{constructor(e,s,r,i=!1,n=24){if(super(),this.blockLen=e,this.suffix=s,this.outputLen=r,this.enableXOF=i,this.rounds=n,this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,bi(r),0>=this.blockLen||this.blockLen>=200)throw new Error("Sha3 supports only keccak-f1600 function");this.state=new Uint8Array(200),this.state32=ep(this.state)}keccak(){Na||Aa(this.state32),hp(this.state32,this.rounds),Na||Aa(this.state32),this.posOut=0,this.pos=0}update(e){Or(this);const{blockLen:s,state:r}=this;e=Tr(e);const i=e.length;for(let n=0;n<i;){const o=Math.min(s-this.pos,i-n);for(let a=0;a<o;a++)r[this.pos++]^=e[n++];this.pos===s&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;const{state:e,suffix:s,pos:r,blockLen:i}=this;e[r]^=s,(s&128)!==0&&r===i-1&&this.keccak(),e[i-1]^=128,this.keccak()}writeInto(e){Or(this,!1),Ti(e),this.finish();const s=this.state,{blockLen:r}=this;for(let i=0,n=e.length;i<n;){this.posOut>=r&&this.keccak();const o=Math.min(r-this.posOut,n-i);e.set(s.subarray(this.posOut,this.posOut+o),i),this.posOut+=o,i+=o}return e}xofInto(e){if(!this.enableXOF)throw new Error("XOF is not possible for this instance");return this.writeInto(e)}xof(e){return bi(e),this.xofInto(new Uint8Array(e))}digestInto(e){if(_l(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){const{blockLen:s,suffix:r,outputLen:i,rounds:n,enableXOF:o}=this;return e||(e=new Tl(s,r,i,o,n)),e.state32.set(this.state32),e.pos=this.pos,e.posOut=this.posOut,e.finished=this.finished,e.rounds=n,e.suffix=r,e.outputLen=i,e.enableXOF=o,e.destroyed=this.destroyed,e}};const pp=(t,e,s)=>Sl(()=>new up(e,t,s)),fp=pp(1,136,256/8),gp="https://rpc.walletconnect.org/v1";function $l(t){const e=`�Ethereum Signed Message:
5${t.length}`,s=new TextEncoder().encode(e+t);return"0x"+Buffer.from(fp(s)).toString("hex")}async function mp(t,e,s,r,i,n){switch(s.t){case"eip191":return await wp(t,e,s.s);case"eip1271":return await yp(t,e,s.s,r,i,n);default:throw new Error(`verifySignature failed: Attempted to verify CacaoSignature with unknown type: ${s.t}`)}}async function wp(t,e,s){return(await Yd({hash:$l(e),signature:s})).toLowerCase()===t.toLowerCase()}async function yp(t,e,s,r,i,n){const o=_r(r);if(!o.namespace||!o.reference)throw new Error(`isValidEip1271Signature failed: chainId must be in CAIP-2 format, received: ${r}`);try{const a="0x1626ba7e",c="0000000000000000000000000000000000000000000000000000000000000040",l="0000000000000000000000000000000000000000000000000000000000000041",d=s.substring(2),h=$l(e).substring(2),u=a+h+c+l+d,g=await fetch(`${n||gp}/?chainId=${r}&projectId=${i}`,{method:"POST",body:JSON.stringify({id:bp(),jsonrpc:"2.0",method:"eth_call",params:[{to:t,data:u},"latest"]})}),{result:w}=await g.json();return w?w.slice(0,a.length).toLowerCase()===a.toLowerCase():!1}catch(a){return console.error("isValidEip1271Signature: ",a),!1}}function bp(){return Date.now()+Math.floor(Math.random()*1e3)}function vp(t){const e=atob(t),s=new Uint8Array(e.length);for(let o=0;o<e.length;o++)s[o]=e.charCodeAt(o);const r=s[0];if(r===0)throw new Error("No signatures found");const i=1+r*64;if(s.length<i)throw new Error("Transaction data too short for claimed signature count");if(s.length<100)throw new Error("Transaction too short");const n=Buffer.from(t,"base64").slice(1,65);return dl.encode(n)}var Ep=Object.defineProperty,Cp=Object.defineProperties,Ip=Object.getOwnPropertyDescriptors,Pa=Object.getOwnPropertySymbols,Np=Object.prototype.hasOwnProperty,Ap=Object.prototype.propertyIsEnumerable,ka=(t,e,s)=>e in t?Ep(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,_p=(t,e)=>{for(var s in e||(e={}))Np.call(e,s)&&ka(t,s,e[s]);if(Pa)for(var s of Pa(e))Ap.call(e,s)&&ka(t,s,e[s]);return t},Sp=(t,e)=>Cp(t,Ip(e));const Pp="did:pkh:",zo=t=>t?.split(":"),kp=t=>{const e=t&&zo(t);if(e)return t.includes(Pp)?e[3]:e[1]},lo=t=>{const e=t&&zo(t);if(e)return e[2]+":"+e[3]},dn=t=>{const e=t&&zo(t);if(e)return e.pop()};async function Oa(t){const{cacao:e,projectId:s}=t,{s:r,p:i}=e,n=xl(i,i.iss),o=dn(i.iss);return await mp(o,n,r,lo(i.iss),s)}const xl=(t,e)=>{const s=`${t.domain} wants you to sign in with your Ethereum account:`,r=dn(e);if(!t.aud&&!t.uri)throw new Error("Either `aud` or `uri` is required to construct the message");let i=t.statement||void 0;const n=`URI: ${t.aud||t.uri}`,o=`Version: ${t.version}`,a=`Chain ID: ${kp(e)}`,c=`Nonce: ${t.nonce}`,l=`Issued At: ${t.iat}`,d=t.exp?`Expiration Time: ${t.exp}`:void 0,h=t.nbf?`Not Before: ${t.nbf}`:void 0,u=t.requestId?`Request ID: ${t.requestId}`:void 0,g=t.resources?`Resources:${t.resources.map(m=>`
6- ${m}`).join("")}`:void 0,w=Qi(t.resources);if(w){const m=vi(w);i=Mp(i,m)}return[s,r,"",i,"",n,o,a,c,l,d,h,u,g].filter(m=>m!=null).join(`
7`)};function Op(t){return Buffer.from(JSON.stringify(t)).toString("base64")}function Tp(t){return JSON.parse(Buffer.from(t,"base64").toString("utf-8"))}function Hs(t){if(!t)throw new Error("No recap provided, value is undefined");if(!t.att)throw new Error("No `att` property found");const e=Object.keys(t.att);if(!(e!=null&&e.length))throw new Error("No resources found in `att` property");e.forEach(s=>{const r=t.att[s];if(Array.isArray(r))throw new Error(`Resource must be an object: ${s}`);if(typeof r!="object")throw new Error(`Resource must be an object: ${s}`);if(!Object.keys(r).length)throw new Error(`Resource object is empty: ${s}`);Object.keys(r).forEach(i=>{const n=r[i];if(!Array.isArray(n))throw new Error(`Ability limits ${i} must be an array of objects, found: ${n}`);if(!n.length)throw new Error(`Value of ${i} is empty array, must be an array with objects`);n.forEach(o=>{if(typeof o!="object")throw new Error(`Ability limits (${i}) must be an array of objects, found: ${o}`)})})})}function $p(t,e,s,r={}){return s?.sort((i,n)=>i.localeCompare(n)),{att:{[t]:xp(e,s,r)}}}function xp(t,e,s={}){e=e?.sort((i,n)=>i.localeCompare(n));const r=e.map(i=>({[`${t}/${i}`]:[s]}));return Object.assign({},...r)}function Rl(t){return Hs(t),`urn:recap:${Op(t).replace(/=/g,"")}`}function vi(t){const e=Tp(t.replace("urn:recap:",""));return Hs(e),e}function Rp(t,e,s){const r=$p(t,e,s);return Rl(r)}function Up(t){return t&&t.includes("urn:recap:")}function Dp(t,e){const s=vi(t),r=vi(e),i=Lp(s,r);return Rl(i)}function Lp(t,e){Hs(t),Hs(e);const s=Object.keys(t.att).concat(Object.keys(e.att)).sort((i,n)=>i.localeCompare(n)),r={att:{}};return s.forEach(i=>{var n,o;Object.keys(((n=t.att)==null?void 0:n[i])||{}).concat(Object.keys(((o=e.att)==null?void 0:o[i])||{})).sort((a,c)=>a.localeCompare(c)).forEach(a=>{var c,l;r.att[i]=Sp(_p({},r.att[i]),{[a]:((c=t.att[i])==null?void 0:c[a])||((l=e.att[i])==null?void 0:l[a])})})}),r}function Mp(t="",e){Hs(e);const s="I further authorize the stated URI to perform the following actions on my behalf: ";if(t.includes(s))return t;const r=[];let i=0;Object.keys(e.att).forEach(a=>{const c=Object.keys(e.att[a]).map(h=>({ability:h.split("/")[0],action:h.split("/")[1]}));c.sort((h,u)=>h.action.localeCompare(u.action));const l={};c.forEach(h=>{l[h.ability]||(l[h.ability]=[]),l[h.ability].push(h.action)});const d=Object.keys(l).map(h=>(i++,`(${i}) '${h}': '${l[h].join("', '")}' for '${a}'.`));r.push(d.join(", ").replace(".,","."))});const n=r.join(" "),o=`${s}${n}`;return`${t?t+" ":""}${o}`}function Ta(t){var e;const s=vi(t);Hs(s);const r=(e=s.att)==null?void 0:e.eip155;return r?Object.keys(r).map(i=>i.split("/")[1]):[]}function $a(t){const e=vi(t);Hs(e);const s=[];return Object.values(e.att).forEach(r=>{Object.values(r).forEach(i=>{var n;(n=i?.[0])!=null&&n.chains&&s.push(i[0].chains)})}),[...new Set(s.flat())]}function Qi(t){if(!t)return;const e=t?.[t.length-1];return Up(e)?e:void 0}function xn(t){if(!Number.isSafeInteger(t)||t<0)throw new Error("positive integer expected, got "+t)}function Ul(t){return t instanceof Uint8Array||ArrayBuffer.isView(t)&&t.constructor.name==="Uint8Array"}function mt(t,...e){if(!Ul(t))throw new Error("Uint8Array expected");if(e.length>0&&!e.includes(t.length))throw new Error("Uint8Array expected of length "+e+", got length="+t.length)}function xa(t,e=!0){if(t.destroyed)throw new Error("Hash instance has been destroyed");if(e&&t.finished)throw new Error("Hash#digest() has already been called")}function Bp(t,e){mt(t);const s=e.outputLen;if(t.length<s)throw new Error("digestInto() expects output buffer of length at least "+s)}function Ra(t){if(typeof t!="boolean")throw new Error(`boolean expected, not ${t}`)}const Es=t=>new Uint32Array(t.buffer,t.byteOffset,Math.floor(t.byteLength/4)),qp=t=>new DataView(t.buffer,t.byteOffset,t.byteLength),jp=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;if(!jp)throw new Error("Non little-endian hardware is not supported");function Fp(t){if(typeof t!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(t))}function ho(t){if(typeof t=="string")t=Fp(t);else if(Ul(t))t=uo(t);else throw new Error("Uint8Array expected, got "+typeof t);return t}function Wp(t,e){if(e==null||typeof e!="object")throw new Error("options must be defined");return Object.assign(t,e)}function zp(t,e){if(t.length!==e.length)return!1;let s=0;for(let r=0;r<t.length;r++)s|=t[r]^e[r];return s===0}const Hp=(t,e)=>{function s(r,...i){if(mt(r),t.nonceLength!==void 0){const l=i[0];if(!l)throw new Error("nonce / iv required");t.varSizeNonce?mt(l):mt(l,t.nonceLength)}const n=t.tagLength;n&&i[1]!==void 0&&mt(i[1]);const o=e(r,...i),a=(l,d)=>{if(d!==void 0){if(l!==2)throw new Error("cipher output not supported");mt(d)}};let c=!1;return{encrypt(l,d){if(c)throw new Error("cannot encrypt() twice with same key + nonce");return c=!0,mt(l),a(o.encrypt.length,d),o.encrypt(l,d)},decrypt(l,d){if(mt(l),n&&l.length<n)throw new Error("invalid ciphertext length: smaller than tagLength="+n);return a(o.decrypt.length,d),o.decrypt(l,d)}}}return Object.assign(s,t),s};function Ua(t,e,s=!0){if(e===void 0)return new Uint8Array(t);if(e.length!==t)throw new Error("invalid output length, expected "+t+", got: "+e.length);if(s&&!Vp(e))throw new Error("invalid output, must be aligned");return e}function Da(t,e,s,r){if(typeof t.setBigUint64=="function")return t.setBigUint64(e,s,r);const i=BigInt(32),n=BigInt(4294967295),o=Number(s>>i&n),a=Number(s&n);t.setUint32(e+4,o,r),t.setUint32(e+0,a,r)}function Vp(t){return t.byteOffset%4===0}function uo(t){return Uint8Array.from(t)}function $r(...t){for(let e=0;e<t.length;e++)t[e].fill(0)}const Dl=t=>Uint8Array.from(t.split("").map(e=>e.charCodeAt(0))),Kp=Dl("expand 16-byte k"),Gp=Dl("expand 32-byte k"),Jp=Es(Kp),Yp=Es(Gp);function ce(t,e){return t<<e|t>>>32-e}function po(t){return t.byteOffset%4===0}const Wi=64,Zp=16,Ll=2**32-1,La=new Uint32Array;function Xp(t,e,s,r,i,n,o,a){const c=i.length,l=new Uint8Array(Wi),d=Es(l),h=po(i)&&po(n),u=h?Es(i):La,g=h?Es(n):La;for(let w=0;w<c;o++){if(t(e,s,r,d,o,a),o>=Ll)throw new Error("arx: counter overflow");const m=Math.min(Wi,c-w);if(h&&m===Wi){const f=w/4;if(w%4!==0)throw new Error("arx: invalid block position");for(let y=0,b;y<Zp;y++)b=f+y,g[b]=u[b]^d[y];w+=Wi;continue}for(let f=0,y;f<m;f++)y=w+f,n[y]=i[y]^l[f];w+=m}}function Qp(t,e){const{allowShortKeys:s,extendNonceFn:r,counterLength:i,counterRight:n,rounds:o}=Wp({allowShortKeys:!1,counterLength:8,counterRight:!1,rounds:20},e);if(typeof t!="function")throw new Error("core must be a function");return xn(i),xn(o),Ra(n),Ra(s),(a,c,l,d,h=0)=>{mt(a),mt(c),mt(l);const u=l.length;if(d===void 0&&(d=new Uint8Array(u)),mt(d),xn(h),h<0||h>=Ll)throw new Error("arx: counter overflow");if(d.length<u)throw new Error(`arx: output (${d.length}) is shorter than data (${u})`);const g=[];let w=a.length,m,f;if(w===32)g.push(m=uo(a)),f=Yp;else if(w===16&&s)m=new Uint8Array(32),m.set(a),m.set(a,16),f=Jp,g.push(m);else throw new Error(`arx: invalid 32-byte key, got length=${w}`);po(c)||g.push(c=uo(c));const y=Es(m);if(r){if(c.length!==24)throw new Error("arx: extended nonce must be 24 bytes");r(f,y,Es(c.subarray(0,16)),y),c=c.subarray(16)}const b=16-i;if(b!==c.length)throw new Error(`arx: nonce must be ${b} or 16 bytes`);if(b!==12){const O=new Uint8Array(12);O.set(c,n?0:12-c.length),c=O,g.push(c)}const I=Es(c);return Xp(t,f,y,I,l,d,h,o),$r(...g),d}}const He=(t,e)=>t[e++]&255|(t[e++]&255)<<8;class ef{constructor(e){this.blockLen=16,this.outputLen=16,this.buffer=new Uint8Array(16),this.r=new Uint16Array(10),this.h=new Uint16Array(10),this.pad=new Uint16Array(8),this.pos=0,this.finished=!1,e=ho(e),mt(e,32);const s=He(e,0),r=He(e,2),i=He(e,4),n=He(e,6),o=He(e,8),a=He(e,10),c=He(e,12),l=He(e,14);this.r[0]=s&8191,this.r[1]=(s>>>13|r<<3)&8191,this.r[2]=(r>>>10|i<<6)&7939,this.r[3]=(i>>>7|n<<9)&8191,this.r[4]=(n>>>4|o<<12)&255,this.r[5]=o>>>1&8190,this.r[6]=(o>>>14|a<<2)&8191,this.r[7]=(a>>>11|c<<5)&8065,this.r[8]=(c>>>8|l<<8)&8191,this.r[9]=l>>>5&127;for(let d=0;d<8;d++)this.pad[d]=He(e,16+2*d)}process(e,s,r=!1){const i=r?0:2048,{h:n,r:o}=this,a=o[0],c=o[1],l=o[2],d=o[3],h=o[4],u=o[5],g=o[6],w=o[7],m=o[8],f=o[9],y=He(e,s+0),b=He(e,s+2),I=He(e,s+4),O=He(e,s+6),x=He(e,s+8),P=He(e,s+10),_=He(e,s+12),D=He(e,s+14);let v=n[0]+(y&8191),$=n[1]+((y>>>13|b<<3)&8191),E=n[2]+((b>>>10|I<<6)&8191),L=n[3]+((I>>>7|O<<9)&8191),H=n[4]+((O>>>4|x<<12)&8191),C=n[5]+(x>>>1&8191),k=n[6]+((x>>>14|P<<2)&8191),A=n[7]+((P>>>11|_<<5)&8191),B=n[8]+((_>>>8|D<<8)&8191),j=n[9]+(D>>>5|i),T=0,G=T+v*a+$*(5*f)+E*(5*m)+L*(5*w)+H*(5*g);T=G>>>13,G&=8191,G+=C*(5*u)+k*(5*h)+A*(5*d)+B*(5*l)+j*(5*c),T+=G>>>13,G&=8191;let Q=T+v*c+$*a+E*(5*f)+L*(5*m)+H*(5*w);T=Q>>>13,Q&=8191,Q+=C*(5*g)+k*(5*u)+A*(5*h)+B*(5*d)+j*(5*l),T+=Q>>>13,Q&=8191;let se=T+v*l+$*c+E*a+L*(5*f)+H*(5*m);T=se>>>13,se&=8191,se+=C*(5*w)+k*(5*g)+A*(5*u)+B*(5*h)+j*(5*d),T+=se>>>13,se&=8191;let Ee=T+v*d+$*l+E*c+L*a+H*(5*f);T=Ee>>>13,Ee&=8191,Ee+=C*(5*m)+k*(5*w)+A*(5*g)+B*(5*u)+j*(5*h),T+=Ee>>>13,Ee&=8191;let ue=T+v*h+$*d+E*l+L*c+H*a;T=ue>>>13,ue&=8191,ue+=C*(5*f)+k*(5*m)+A*(5*w)+B*(5*g)+j*(5*u),T+=ue>>>13,ue&=8191;let Oe=T+v*u+$*h+E*d+L*l+H*c;T=Oe>>>13,Oe&=8191,Oe+=C*a+k*(5*f)+A*(5*m)+B*(5*w)+j*(5*g),T+=Oe>>>13,Oe&=8191;let Le=T+v*g+$*u+E*h+L*d+H*l;T=Le>>>13,Le&=8191,Le+=C*c+k*a+A*(5*f)+B*(5*m)+j*(5*w),T+=Le>>>13,Le&=8191;let Ye=T+v*w+$*g+E*u+L*h+H*d;T=Ye>>>13,Ye&=8191,Ye+=C*l+k*c+A*a+B*(5*f)+j*(5*m),T+=Ye>>>13,Ye&=8191;let xe=T+v*m+$*w+E*g+L*u+H*h;T=xe>>>13,xe&=8191,xe+=C*d+k*l+A*c+B*a+j*(5*f),T+=xe>>>13,xe&=8191;let Re=T+v*f+$*m+E*w+L*g+H*u;T=Re>>>13,Re&=8191,Re+=C*h+k*d+A*l+B*c+j*a,T+=Re>>>13,Re&=8191,T=(T<<2)+T|0,T=T+G|0,G=T&8191,T=T>>>13,Q+=T,n[0]=G,n[1]=Q,n[2]=se,n[3]=Ee,n[4]=ue,n[5]=Oe,n[6]=Le,n[7]=Ye,n[8]=xe,n[9]=Re}finalize(){const{h:e,pad:s}=this,r=new Uint16Array(10);let i=e[1]>>>13;e[1]&=8191;for(let a=2;a<10;a++)e[a]+=i,i=e[a]>>>13,e[a]&=8191;e[0]+=i*5,i=e[0]>>>13,e[0]&=8191,e[1]+=i,i=e[1]>>>13,e[1]&=8191,e[2]+=i,r[0]=e[0]+5,i=r[0]>>>13,r[0]&=8191;for(let a=1;a<10;a++)r[a]=e[a]+i,i=r[a]>>>13,r[a]&=8191;r[9]-=8192;let n=(i^1)-1;for(let a=0;a<10;a++)r[a]&=n;n=~n;for(let a=0;a<10;a++)e[a]=e[a]&n|r[a];e[0]=(e[0]|e[1]<<13)&65535,e[1]=(e[1]>>>3|e[2]<<10)&65535,e[2]=(e[2]>>>6|e[3]<<7)&65535,e[3]=(e[3]>>>9|e[4]<<4)&65535,e[4]=(e[4]>>>12|e[5]<<1|e[6]<<14)&65535,e[5]=(e[6]>>>2|e[7]<<11)&65535,e[6]=(e[7]>>>5|e[8]<<8)&65535,e[7]=(e[8]>>>8|e[9]<<5)&65535;let o=e[0]+s[0];e[0]=o&65535;for(let a=1;a<8;a++)o=(e[a]+s[a]|0)+(o>>>16)|0,e[a]=o&65535;$r(r)}update(e){xa(this);const{buffer:s,blockLen:r}=this;e=ho(e);const i=e.length;for(let n=0;n<i;){const o=Math.min(r-this.pos,i-n);if(o===r){for(;r<=i-n;n+=r)this.process(e,n);continue}s.set(e.subarray(n,n+o),this.pos),this.pos+=o,n+=o,this.pos===r&&(this.process(s,0,!1),this.pos=0)}return this}destroy(){$r(this.h,this.r,this.buffer,this.pad)}digestInto(e){xa(this),Bp(e,this),this.finished=!0;const{buffer:s,h:r}=this;let{pos:i}=this;if(i){for(s[i++]=1;i<16;i++)s[i]=0;this.process(s,0,!0)}this.finalize();let n=0;for(let o=0;o<8;o++)e[n++]=r[o]>>>0,e[n++]=r[o]>>>8;return e}digest(){const{buffer:e,outputLen:s}=this;this.digestInto(e);const r=e.slice(0,s);return this.destroy(),r}}function tf(t){const e=(r,i)=>t(i).update(ho(r)).digest(),s=t(new Uint8Array(32));return e.outputLen=s.outputLen,e.blockLen=s.blockLen,e.create=r=>t(r),e}const sf=tf(t=>new ef(t));function rf(t,e,s,r,i,n=20){let o=t[0],a=t[1],c=t[2],l=t[3],d=e[0],h=e[1],u=e[2],g=e[3],w=e[4],m=e[5],f=e[6],y=e[7],b=i,I=s[0],O=s[1],x=s[2],P=o,_=a,D=c,v=l,$=d,E=h,L=u,H=g,C=w,k=m,A=f,B=y,j=b,T=I,G=O,Q=x;for(let Ee=0;Ee<n;Ee+=2)P=P+$|0,j=ce(j^P,16),C=C+j|0,$=ce($^C,12),P=P+$|0,j=ce(j^P,8),C=C+j|0,$=ce($^C,7),_=_+E|0,T=ce(T^_,16),k=k+T|0,E=ce(E^k,12),_=_+E|0,T=ce(T^_,8),k=k+T|0,E=ce(E^k,7),D=D+L|0,G=ce(G^D,16),A=A+G|0,L=ce(L^A,12),D=D+L|0,G=ce(G^D,8),A=A+G|0,L=ce(L^A,7),v=v+H|0,Q=ce(Q^v,16),B=B+Q|0,H=ce(H^B,12),v=v+H|0,Q=ce(Q^v,8),B=B+Q|0,H=ce(H^B,7),P=P+E|0,Q=ce(Q^P,16),A=A+Q|0,E=ce(E^A,12),P=P+E|0,Q=ce(Q^P,8),A=A+Q|0,E=ce(E^A,7),_=_+L|0,j=ce(j^_,16),B=B+j|0,L=ce(L^B,12),_=_+L|0,j=ce(j^_,8),B=B+j|0,L=ce(L^B,7),D=D+H|0,T=ce(T^D,16),C=C+T|0,H=ce(H^C,12),D=D+H|0,T=ce(T^D,8),C=C+T|0,H=ce(H^C,7),v=v+$|0,G=ce(G^v,16),k=k+G|0,$=ce($^k,12),v=v+$|0,G=ce(G^v,8),k=k+G|0,$=ce($^k,7);let se=0;r[se++]=o+P|0,r[se++]=a+_|0,r[se++]=c+D|0,r[se++]=l+v|0,r[se++]=d+$|0,r[se++]=h+E|0,r[se++]=u+L|0,r[se++]=g+H|0,r[se++]=w+C|0,r[se++]=m+k|0,r[se++]=f+A|0,r[se++]=y+B|0,r[se++]=b+j|0,r[se++]=I+T|0,r[se++]=O+G|0,r[se++]=x+Q|0}const nf=Qp(rf,{counterRight:!1,counterLength:4,allowShortKeys:!1}),of=new Uint8Array(16),Ma=(t,e)=>{t.update(e);const s=e.length%16;s&&t.update(of.subarray(s))},af=new Uint8Array(32);function Ba(t,e,s,r,i){const n=t(e,s,af),o=sf.create(n);i&&Ma(o,i),Ma(o,r);const a=new Uint8Array(16),c=qp(a);Da(c,0,BigInt(i?i.length:0),!0),Da(c,8,BigInt(r.length),!0),o.update(a);const l=o.digest();return $r(n,a),l}const cf=t=>(e,s,r)=>({encrypt(i,n){const o=i.length;n=Ua(o+16,n,!1),n.set(i);const a=n.subarray(0,-16);t(e,s,a,a,1);const c=Ba(t,e,s,a,r);return n.set(c,o),$r(c),n},decrypt(i,n){n=Ua(i.length-16,n,!1);const o=i.subarray(0,-16),a=i.subarray(-16),c=Ba(t,e,s,o,r);if(!zp(a,c))throw new Error("invalid tag");return n.set(i.subarray(0,-16)),t(e,s,n,n,1),$r(c),n}}),Ml=Hp({blockSize:64,nonceLength:12,tagLength:16},cf(nf));let Bl=class extends Wo{constructor(e,s){super(),this.finished=!1,this.destroyed=!1,Fo(e);const r=Tr(s);if(this.iHash=e.create(),typeof this.iHash.update!="function")throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;const i=this.blockLen,n=new Uint8Array(i);n.set(r.length>i?e.create().update(r).digest():r);for(let o=0;o<n.length;o++)n[o]^=54;this.iHash.update(n),this.oHash=e.create();for(let o=0;o<n.length;o++)n[o]^=106;this.oHash.update(n),n.fill(0)}update(e){return Or(this),this.iHash.update(e),this}digestInto(e){Or(this),Ti(e,this.outputLen),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||(e=Object.create(Object.getPrototypeOf(this),{}));const{oHash:s,iHash:r,finished:i,destroyed:n,blockLen:o,outputLen:a}=this;return e=e,e.finished=i,e.destroyed=n,e.blockLen=o,e.outputLen=a,e.oHash=s._cloneInto(e.oHash),e.iHash=r._cloneInto(e.iHash),e}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}};const yn=(t,e,s)=>new Bl(t,e).update(s).digest();yn.create=(t,e)=>new Bl(t,e);function lf(t,e,s){return Fo(t),s===void 0&&(s=new Uint8Array(t.outputLen)),yn(t,Tr(s),Tr(e))}const Rn=new Uint8Array([0]),qa=new Uint8Array;function df(t,e,s,r=32){if(Fo(t),bi(r),r>255*t.outputLen)throw new Error("Length should be <= 255*HashLen");const i=Math.ceil(r/t.outputLen);s===void 0&&(s=qa);const n=new Uint8Array(i*t.outputLen),o=yn.create(t,e),a=o._cloneInto(),c=new Uint8Array(o.outputLen);for(let l=0;l<i;l++)Rn[0]=l+1,a.update(l===0?qa:c).update(s).update(Rn).digestInto(c),n.set(c,t.outputLen*l),o._cloneInto(a);return o.destroy(),a.destroy(),c.fill(0),Rn.fill(0),n.slice(0,r)}const hf=(t,e,s,r,i)=>df(t,lf(t,e,s),r,i);function uf(t,e,s,r){if(typeof t.setBigUint64=="function")return t.setBigUint64(e,s,r);const i=BigInt(32),n=BigInt(4294967295),o=Number(s>>i&n),a=Number(s&n),c=r?4:0,l=r?0:4;t.setUint32(e+c,o,r),t.setUint32(e+l,a,r)}function pf(t,e,s){return t&e^~t&s}function ff(t,e,s){return t&e^t&s^e&s}let gf=class extends Wo{constructor(e,s,r,i){super(),this.blockLen=e,this.outputLen=s,this.padOffset=r,this.isLE=i,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(e),this.view=$n(this.buffer)}update(e){Or(this);const{view:s,buffer:r,blockLen:i}=this;e=Tr(e);const n=e.length;for(let o=0;o<n;){const a=Math.min(i-this.pos,n-o);if(a===i){const c=$n(e);for(;i<=n-o;o+=i)this.process(c,o);continue}r.set(e.subarray(o,o+a),this.pos),this.pos+=a,o+=a,this.pos===i&&(this.process(s,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){Or(this),_l(e,this),this.finished=!0;const{buffer:s,view:r,blockLen:i,isLE:n}=this;let{pos:o}=this;s[o++]=128,this.buffer.subarray(o).fill(0),this.padOffset>i-o&&(this.process(r,0),o=0);for(let h=o;h<i;h++)s[h]=0;uf(r,i-8,BigInt(this.length*8),n),this.process(r,0);const a=$n(e),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen should be aligned to 32bit");const l=c/4,d=this.get();if(l>d.length)throw new Error("_sha2: outputLen bigger than state");for(let h=0;h<l;h++)a.setUint32(4*h,d[h],n)}digest(){const{buffer:e,outputLen:s}=this;this.digestInto(e);const r=e.slice(0,s);return this.destroy(),r}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());const{blockLen:s,buffer:r,length:i,finished:n,destroyed:o,pos:a}=this;return e.length=i,e.pos=a,e.finished=n,e.destroyed=o,i%s&&e.buffer.set(r),e}};const mf=new Uint32Array([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]),hs=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),us=new Uint32Array(64);class wf extends gf{constructor(){super(64,32,8,!1),this.A=hs[0]|0,this.B=hs[1]|0,this.C=hs[2]|0,this.D=hs[3]|0,this.E=hs[4]|0,this.F=hs[5]|0,this.G=hs[6]|0,this.H=hs[7]|0}get(){const{A:e,B:s,C:r,D:i,E:n,F:o,G:a,H:c}=this;return[e,s,r,i,n,o,a,c]}set(e,s,r,i,n,o,a,c){this.A=e|0,this.B=s|0,this.C=r|0,this.D=i|0,this.E=n|0,this.F=o|0,this.G=a|0,this.H=c|0}process(e,s){for(let h=0;h<16;h++,s+=4)us[h]=e.getUint32(s,!1);for(let h=16;h<64;h++){const u=us[h-15],g=us[h-2],w=Bt(u,7)^Bt(u,18)^u>>>3,m=Bt(g,17)^Bt(g,19)^g>>>10;us[h]=m+us[h-7]+w+us[h-16]|0}let{A:r,B:i,C:n,D:o,E:a,F:c,G:l,H:d}=this;for(let h=0;h<64;h++){const u=Bt(a,6)^Bt(a,11)^Bt(a,25),g=d+u+pf(a,c,l)+mf[h]+us[h]|0,w=(Bt(r,2)^Bt(r,13)^Bt(r,22))+ff(r,i,n)|0;d=l,l=c,c=a,a=o+g|0,o=n,n=i,i=r,r=g+w|0}r=r+this.A|0,i=i+this.B|0,n=n+this.C|0,o=o+this.D|0,a=a+this.E|0,c=c+this.F|0,l=l+this.G|0,d=d+this.H|0,this.set(r,i,n,o,a,c,l,d)}roundClean(){us.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}}const $i=Sl(()=>new wf);const bn=BigInt(0),vn=BigInt(1),yf=BigInt(2);function Vs(t){return t instanceof Uint8Array||ArrayBuffer.isView(t)&&t.constructor.name==="Uint8Array"}function xi(t){if(!Vs(t))throw new Error("Uint8Array expected")}function xr(t,e){if(typeof e!="boolean")throw new Error(t+" boolean expected, got "+e)}const bf=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function Rr(t){xi(t);let e="";for(let s=0;s<t.length;s++)e+=bf[t[s]];return e}function Ir(t){const e=t.toString(16);return e.length&1?"0"+e:e}function Ho(t){if(typeof t!="string")throw new Error("hex string expected, got "+typeof t);return t===""?bn:BigInt("0x"+t)}const Qt={_0:48,_9:57,A:65,F:70,a:97,f:102};function ja(t){if(t>=Qt._0&&t<=Qt._9)return t-Qt._0;if(t>=Qt.A&&t<=Qt.F)return t-(Qt.A-10);if(t>=Qt.a&&t<=Qt.f)return t-(Qt.a-10)}function Ur(t){if(typeof t!="string")throw new Error("hex string expected, got "+typeof t);const e=t.length,s=e/2;if(e%2)throw new Error("hex string expected, got unpadded hex of length "+e);const r=new Uint8Array(s);for(let i=0,n=0;i<s;i++,n+=2){const o=ja(t.charCodeAt(n)),a=ja(t.charCodeAt(n+1));if(o===void 0||a===void 0){const c=t[n]+t[n+1];throw new Error('hex string expected, got non-hex character "'+c+'" at index '+n)}r[i]=o*16+a}return r}function Fs(t){return Ho(Rr(t))}function Ei(t){return xi(t),Ho(Rr(Uint8Array.from(t).reverse()))}function Dr(t,e){return Ur(t.toString(16).padStart(e*2,"0"))}function En(t,e){return Dr(t,e).reverse()}function vf(t){return Ur(Ir(t))}function gt(t,e,s){let r;if(typeof e=="string")try{r=Ur(e)}catch(n){throw new Error(t+" must be hex string or Uint8Array, cause: "+n)}else if(Vs(e))r=Uint8Array.from(e);else throw new Error(t+" must be hex string or Uint8Array");const i=r.length;if(typeof s=="number"&&i!==s)throw new Error(t+" of length "+s+" expected, got "+i);return r}function Ci(...t){let e=0;for(let r=0;r<t.length;r++){const i=t[r];xi(i),e+=i.length}const s=new Uint8Array(e);for(let r=0,i=0;r<t.length;r++){const n=t[r];s.set(n,i),i+=n.length}return s}function Ef(t,e){if(t.length!==e.length)return!1;let s=0;for(let r=0;r<t.length;r++)s|=t[r]^e[r];return s===0}function Cf(t){if(typeof t!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(t))}const Un=t=>typeof t=="bigint"&&bn<=t;function Cn(t,e,s){return Un(t)&&Un(e)&&Un(s)&&e<=t&&t<s}function is(t,e,s,r){if(!Cn(e,s,r))throw new Error("expected valid "+t+": "+s+" <= n < "+r+", got "+e)}function ql(t){let e;for(e=0;t>bn;t>>=vn,e+=1);return e}function If(t,e){return t>>BigInt(e)&vn}function Nf(t,e,s){return t|(s?vn:bn)<<BigInt(e)}const Vo=t=>(yf<<BigInt(t-1))-vn,Dn=t=>new Uint8Array(t),Fa=t=>Uint8Array.from(t);function jl(t,e,s){if(typeof t!="number"||t<2)throw new Error("hashLen must be a number");if(typeof e!="number"||e<2)throw new Error("qByteLen must be a number");if(typeof s!="function")throw new Error("hmacFn must be a function");let r=Dn(t),i=Dn(t),n=0;const o=()=>{r.fill(1),i.fill(0),n=0},a=(...d)=>s(i,r,...d),c=(d=Dn())=>{i=a(Fa([0]),d),r=a(),d.length!==0&&(i=a(Fa([1]),d),r=a())},l=()=>{if(n++>=1e3)throw new Error("drbg: tried 1000 values");let d=0;const h=[];for(;d<e;){r=a();const u=r.slice();h.push(u),d+=r.length}return Ci(...h)};return(d,h)=>{o(),c(d);let u;for(;!(u=h(l()));)c();return o(),u}}const Af={bigint:t=>typeof t=="bigint",function:t=>typeof t=="function",boolean:t=>typeof t=="boolean",string:t=>typeof t=="string",stringOrUint8Array:t=>typeof t=="string"||Vs(t),isSafeInteger:t=>Number.isSafeInteger(t),array:t=>Array.isArray(t),field:(t,e)=>e.Fp.isValid(t),hash:t=>typeof t=="function"&&Number.isSafeInteger(t.outputLen)};function Wr(t,e,s={}){const r=(i,n,o)=>{const a=Af[n];if(typeof a!="function")throw new Error("invalid validator function");const c=t[i];if(!(o&&c===void 0)&&!a(c,t))throw new Error("param "+String(i)+" is invalid. Expected "+n+", got "+c)};for(const[i,n]of Object.entries(e))r(i,n,!1);for(const[i,n]of Object.entries(s))r(i,n,!0);return t}const _f=()=>{throw new Error("not implemented")};function fo(t){const e=new WeakMap;return(s,...r)=>{const i=e.get(s);if(i!==void 0)return i;const n=t(s,...r);return e.set(s,n),n}}var Sf=Object.freeze({__proto__:null,isBytes:Vs,abytes:xi,abool:xr,bytesToHex:Rr,numberToHexUnpadded:Ir,hexToNumber:Ho,hexToBytes:Ur,bytesToNumberBE:Fs,bytesToNumberLE:Ei,numberToBytesBE:Dr,numberToBytesLE:En,numberToVarBytesBE:vf,ensureBytes:gt,concatBytes:Ci,equalBytes:Ef,utf8ToBytes:Cf,inRange:Cn,aInRange:is,bitLen:ql,bitGet:If,bitSet:Nf,bitMask:Vo,createHmacDrbg:jl,validateObject:Wr,notImplemented:_f,memoized:fo});const ze=BigInt(0),ke=BigInt(1),Ds=BigInt(2),Pf=BigInt(3),go=BigInt(4),Wa=BigInt(5),za=BigInt(8);function lt(t,e){const s=t%e;return s>=ze?s:e+s}function Fl(t,e,s){if(e<ze)throw new Error("invalid exponent, negatives unsupported");if(s<=ze)throw new Error("invalid modulus");if(s===ke)return ze;let r=ke;for(;e>ze;)e&ke&&(r=r*t%s),t=t*t%s,e>>=ke;return r}function xt(t,e,s){let r=t;for(;e-- >ze;)r*=r,r%=s;return r}function mo(t,e){if(t===ze)throw new Error("invert: expected non-zero number");if(e<=ze)throw new Error("invert: expected positive modulus, got "+e);let s=lt(t,e),r=e,i=ze,n=ke;for(;s!==ze;){const o=r/s,a=r%s,c=i-n*o;r=s,s=a,i=n,n=c}if(r!==ke)throw new Error("invert: does not exist");return lt(i,e)}function kf(t){const e=(t-ke)/Ds;let s,r,i;for(s=t-ke,r=0;s%Ds===ze;s/=Ds,r++);for(i=Ds;i<t&&Fl(i,e,t)!==t-ke;i++)if(i>1e3)throw new Error("Cannot find square root: likely non-prime P");if(r===1){const o=(t+ke)/go;return function(a,c){const l=a.pow(c,o);if(!a.eql(a.sqr(l),c))throw new Error("Cannot find square root");return l}}const n=(s+ke)/Ds;return function(o,a){if(o.pow(a,e)===o.neg(o.ONE))throw new Error("Cannot find square root");let c=r,l=o.pow(o.mul(o.ONE,i),s),d=o.pow(a,n),h=o.pow(a,s);for(;!o.eql(h,o.ONE);){if(o.eql(h,o.ZERO))return o.ZERO;let u=1;for(let w=o.sqr(h);u<c&&!o.eql(w,o.ONE);u++)w=o.sqr(w);const g=o.pow(l,ke<<BigInt(c-u-1));l=o.sqr(g),d=o.mul(d,g),h=o.mul(h,l),c=u}return d}}function Of(t){if(t%go===Pf){const e=(t+ke)/go;return function(s,r){const i=s.pow(r,e);if(!s.eql(s.sqr(i),r))throw new Error("Cannot find square root");return i}}if(t%za===Wa){const e=(t-Wa)/za;return function(s,r){const i=s.mul(r,Ds),n=s.pow(i,e),o=s.mul(r,n),a=s.mul(s.mul(o,Ds),n),c=s.mul(o,s.sub(a,s.ONE));if(!s.eql(s.sqr(c),r))throw new Error("Cannot find square root");return c}}return kf(t)}const Tf=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function $f(t){const e={ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"},s=Tf.reduce((r,i)=>(r[i]="function",r),e);return Wr(t,s)}function xf(t,e,s){if(s<ze)throw new Error("invalid exponent, negatives unsupported");if(s===ze)return t.ONE;if(s===ke)return e;let r=t.ONE,i=e;for(;s>ze;)s&ke&&(r=t.mul(r,i)),i=t.sqr(i),s>>=ke;return r}function Rf(t,e){const s=new Array(e.length),r=e.reduce((n,o,a)=>t.is0(o)?n:(s[a]=n,t.mul(n,o)),t.ONE),i=t.inv(r);return e.reduceRight((n,o,a)=>t.is0(o)?n:(s[a]=t.mul(n,s[a]),t.mul(n,o)),i),s}function Wl(t,e){const s=e!==void 0?e:t.toString(2).length,r=Math.ceil(s/8);return{nBitLength:s,nByteLength:r}}function zl(t,e,s=!1,r={}){if(t<=ze)throw new Error("invalid field: expected ORDER > 0, got "+t);const{nBitLength:i,nByteLength:n}=Wl(t,e);if(n>2048)throw new Error("invalid field: expected ORDER of <= 2048 bytes");let o;const a=Object.freeze({ORDER:t,isLE:s,BITS:i,BYTES:n,MASK:Vo(i),ZERO:ze,ONE:ke,create:c=>lt(c,t),isValid:c=>{if(typeof c!="bigint")throw new Error("invalid field element: expected bigint, got "+typeof c);return ze<=c&&c<t},is0:c=>c===ze,isOdd:c=>(c&ke)===ke,neg:c=>lt(-c,t),eql:(c,l)=>c===l,sqr:c=>lt(c*c,t),add:(c,l)=>lt(c+l,t),sub:(c,l)=>lt(c-l,t),mul:(c,l)=>lt(c*l,t),pow:(c,l)=>xf(a,c,l),div:(c,l)=>lt(c*mo(l,t),t),sqrN:c=>c*c,addN:(c,l)=>c+l,subN:(c,l)=>c-l,mulN:(c,l)=>c*l,inv:c=>mo(c,t),sqrt:r.sqrt||(c=>(o||(o=Of(t)),o(a,c))),invertBatch:c=>Rf(a,c),cmov:(c,l,d)=>d?l:c,toBytes:c=>s?En(c,n):Dr(c,n),fromBytes:c=>{if(c.length!==n)throw new Error("Field.fromBytes: expected "+n+" bytes, got "+c.length);return s?Ei(c):Fs(c)}});return Object.freeze(a)}function Hl(t){if(typeof t!="bigint")throw new Error("field order must be bigint");const e=t.toString(2).length;return Math.ceil(e/8)}function Vl(t){const e=Hl(t);return e+Math.ceil(e/2)}function Uf(t,e,s=!1){const r=t.length,i=Hl(e),n=Vl(e);if(r<16||r<n||r>1024)throw new Error("expected "+n+"-1024 bytes of input, got "+r);const o=s?Ei(t):Fs(t),a=lt(o,e-ke)+ke;return s?En(a,i):Dr(a,i)}const Ha=BigInt(0),zi=BigInt(1);function Ln(t,e){const s=e.negate();return t?s:e}function Kl(t,e){if(!Number.isSafeInteger(t)||t<=0||t>e)throw new Error("invalid window size, expected [1.."+e+"], got W="+t)}function Mn(t,e){Kl(t,e);const s=Math.ceil(e/t)+1,r=2**(t-1);return{windows:s,windowSize:r}}function Df(t,e){if(!Array.isArray(t))throw new Error("array expected");t.forEach((s,r)=>{if(!(s instanceof e))throw new Error("invalid point at index "+r)})}function Lf(t,e){if(!Array.isArray(t))throw new Error("array of scalars expected");t.forEach((s,r)=>{if(!e.isValid(s))throw new Error("invalid scalar at index "+r)})}const Bn=new WeakMap,Gl=new WeakMap;function qn(t){return Gl.get(t)||1}function Mf(t,e){return{constTimeNegate:Ln,hasPrecomputes(s){return qn(s)!==1},unsafeLadder(s,r,i=t.ZERO){let n=s;for(;r>Ha;)r&zi&&(i=i.add(n)),n=n.double(),r>>=zi;return i},precomputeWindow(s,r){const{windows:i,windowSize:n}=Mn(r,e),o=[];let a=s,c=a;for(let l=0;l<i;l++){c=a,o.push(c);for(let d=1;d<n;d++)c=c.add(a),o.push(c);a=c.double()}return o},wNAF(s,r,i){const{windows:n,windowSize:o}=Mn(s,e);let a=t.ZERO,c=t.BASE;const l=BigInt(2**s-1),d=2**s,h=BigInt(s);for(let u=0;u<n;u++){const g=u*o;let w=Number(i&l);i>>=h,w>o&&(w-=d,i+=zi);const m=g,f=g+Math.abs(w)-1,y=u%2!==0,b=w<0;w===0?c=c.add(Ln(y,r[m])):a=a.add(Ln(b,r[f]))}return{p:a,f:c}},wNAFUnsafe(s,r,i,n=t.ZERO){const{windows:o,windowSize:a}=Mn(s,e),c=BigInt(2**s-1),l=2**s,d=BigInt(s);for(let h=0;h<o;h++){const u=h*a;if(i===Ha)break;let g=Number(i&c);if(i>>=d,g>a&&(g-=l,i+=zi),g===0)continue;let w=r[u+Math.abs(g)-1];g<0&&(w=w.negate()),n=n.add(w)}return n},getPrecomputes(s,r,i){let n=Bn.get(r);
7return n||(n=this.precomputeWindow(r,s),s!==1&&Bn.set(r,i(n))),n},wNAFCached(s,r,i){const n=qn(s);return this.wNAF(n,this.getPrecomputes(n,s,i),r)},wNAFCachedUnsafe(s,r,i,n){const o=qn(s);return o===1?this.unsafeLadder(s,r,n):this.wNAFUnsafe(o,this.getPrecomputes(o,s,i),r,n)},setWindowSize(s,r){Kl(r,e),Gl.set(s,r),Bn.delete(s)}}}function Bf(t,e,s,r){if(Df(s,t),Lf(r,e),s.length!==r.length)throw new Error("arrays of points and scalars must have equal length");const i=t.ZERO,n=ql(BigInt(s.length)),o=n>12?n-3:n>4?n-2:n?2:1,a=(1<<o)-1,c=new Array(a+1).fill(i),l=Math.floor((e.BITS-1)/o)*o;let d=i;for(let h=l;h>=0;h-=o){c.fill(i);for(let g=0;g<r.length;g++){const w=r[g],m=Number(w>>BigInt(h)&BigInt(a));c[m]=c[m].add(s[g])}let u=i;for(let g=c.length-1,w=i;g>0;g--)w=w.add(c[g]),u=u.add(w);if(d=d.add(u),h!==0)for(let g=0;g<o;g++)d=d.double()}return d}function Jl(t){return $f(t.Fp),Wr(t,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...Wl(t.n,t.nBitLength),...t,p:t.Fp.ORDER})}BigInt(0),BigInt(1),BigInt(2),BigInt(8);const ir=BigInt(0),jn=BigInt(1);function qf(t){return Wr(t,{a:"bigint"},{montgomeryBits:"isSafeInteger",nByteLength:"isSafeInteger",adjustScalarBytes:"function",domain:"function",powPminus2:"function",Gu:"bigint"}),Object.freeze({...t})}function jf(t){const e=qf(t),{P:s}=e,r=b=>lt(b,s),i=e.montgomeryBits,n=Math.ceil(i/8),o=e.nByteLength,a=e.adjustScalarBytes||(b=>b),c=e.powPminus2||(b=>Fl(b,s-BigInt(2),s));function l(b,I,O){const x=r(b*(I-O));return I=r(I-x),O=r(O+x),[I,O]}const d=(e.a-BigInt(2))/BigInt(4);function h(b,I){is("u",b,ir,s),is("scalar",I,ir,s);const O=I,x=b;let P=jn,_=ir,D=b,v=jn,$=ir,E;for(let H=BigInt(i-1);H>=ir;H--){const C=O>>H&jn;$^=C,E=l($,P,D),P=E[0],D=E[1],E=l($,_,v),_=E[0],v=E[1],$=C;const k=P+_,A=r(k*k),B=P-_,j=r(B*B),T=A-j,G=D+v,Q=D-v,se=r(Q*k),Ee=r(G*B),ue=se+Ee,Oe=se-Ee;D=r(ue*ue),v=r(x*r(Oe*Oe)),P=r(A*j),_=r(T*(A+r(d*T)))}E=l($,P,D),P=E[0],D=E[1],E=l($,_,v),_=E[0],v=E[1];const L=c(_);return r(P*L)}function u(b){return En(r(b),n)}function g(b){const I=gt("u coordinate",b,n);return o===32&&(I[31]&=127),Ei(I)}function w(b){const I=gt("scalar",b),O=I.length;if(O!==n&&O!==o){let x=""+n+" or "+o;throw new Error("invalid scalar, expected "+x+" bytes, got "+O)}return Ei(a(I))}function m(b,I){const O=g(I),x=w(b),P=h(O,x);if(P===ir)throw new Error("invalid private or public key received");return u(P)}const f=u(e.Gu);function y(b){return m(b,f)}return{scalarMult:m,scalarMultBase:y,getSharedSecret:(b,I)=>m(b,I),getPublicKey:b=>y(b),utils:{randomPrivateKey:()=>e.randomBytes(e.nByteLength)},GuBytes:f}}const wo=BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949");BigInt(0);const Ff=BigInt(1),Va=BigInt(2),Wf=BigInt(3),zf=BigInt(5);BigInt(8);function Hf(t){const e=BigInt(10),s=BigInt(20),r=BigInt(40),i=BigInt(80),n=wo,o=t*t%n*t%n,a=xt(o,Va,n)*o%n,c=xt(a,Ff,n)*t%n,l=xt(c,zf,n)*c%n,d=xt(l,e,n)*l%n,h=xt(d,s,n)*d%n,u=xt(h,r,n
vendor: 11,461 bytes, line 7
7)*h%n,g=xt(u,i,n)*u%n,w=xt(g,i,n)*u%n,m=xt(w,e,n)*l%n;return{pow_p_5_8:xt(m,Va,n)*t%n,b2:o}}function Vf(t){return t[0]&=248,t[31]&=127,t[31]|=64,t}const yo=jf({P:wo,a:BigInt(486662),montgomeryBits:255,nByteLength:32,Gu:BigInt(9),powPminus2:t=>{const e=wo,{pow_p_5_8:s,b2:r}=Hf(t);return lt(xt(s,Wf,e)*r,e)},adjustScalarBytes:Vf,randomBytes:Fr});function Ka(t){t.lowS!==void 0&&xr("lowS",t.lowS),t.prehash!==void 0&&xr("prehash",t.prehash)}function Kf(t){const e=Jl(t);Wr(e,{a:"field",b:"field"},{allowedPrivateKeyLengths:"array",wrapPrivateKey:"boolean",isTorsionFree:"function",clearCofactor:"function",allowInfinityPoint:"boolean",fromBytes:"function",toBytes:"function"});const{endo:s,Fp:r,a:i}=e;if(s){if(!r.eql(i,r.ZERO))throw new Error("invalid endomorphism, can only be defined for Koblitz curves that have a=0");if(typeof s!="object"||typeof s.beta!="bigint"||typeof s.splitScalar!="function")throw new Error("invalid endomorphism, expected beta: bigint and splitScalar: function")}return Object.freeze({...e})}const{bytesToNumberBE:Gf,hexToBytes:Jf}=Sf;class Yf extends Error{constructor(e=""){super(e)}}const ss={Err:Yf,_tlv:{encode:(t,e)=>{const{Err:s}=ss;if(t<0||t>256)throw new s("tlv.encode: wrong tag");if(e.length&1)throw new s("tlv.encode: unpadded data");const r=e.length/2,i=Ir(r);if(i.length/2&128)throw new s("tlv.encode: long form length too big");const n=r>127?Ir(i.length/2|128):"";return Ir(t)+n+i+e},decode(t,e){const{Err:s}=ss;let r=0;if(t<0||t>256)throw new s("tlv.encode: wrong tag");if(e.length<2||e[r++]!==t)throw new s("tlv.decode: wrong tlv");const i=e[r++],n=!!(i&128);let o=0;if(!n)o=i;else{const c=i&127;if(!c)throw new s("tlv.decode(long): indefinite length not supported");if(c>4)throw new s("tlv.decode(long): byte length is too big");const l=e.subarray(r,r+c);if(l.length!==c)throw new s("tlv.decode: length bytes not complete");if(l[0]===0)throw new s("tlv.decode(long): zero leftmost byte");for(const d of l)o=o<<8|d;if(r+=c,o<128)throw new s("tlv.decode(long): not minimal encoding")}const a=e.subarray(r,r+o);if(a.length!==o)throw new s("tlv.decode: wrong value length");return{v:a,l:e.subarray(r+o)}}},_int:{encode(t){const{Err:e}=ss;if(t<rs)throw new e("integer: negative integers are not allowed");let s=Ir(t);if(Number.parseInt(s[0],16)&8&&(s="00"+s),s.length&1)throw new e("unexpected DER parsing assertion: unpadded hex");return s},decode(t){const{Err:e}=ss;if(t[0]&128)throw new e("invalid signature integer: negative");if(t[0]===0&&!(t[1]&128))throw new e("invalid signature integer: unnecessary leading zero");return Gf(t)}},toSig(t){const{Err:e,_int:s,_tlv:r}=ss,i=typeof t=="string"?Jf(t):t;xi(i);const{v:n,l:o}=r.decode(48,i);if(o.length)throw new e("invalid signature: left bytes after parsing");const{v:a,l:c}=r.decode(2,n),{v:l,l:d}=r.decode(2,c);if(d.length)throw new e("invalid signature: left bytes after parsing");return{r:s.decode(a),s:s.decode(l)}},hexFromSig(t){const{_tlv:e,_int:s}=ss,r=e.encode(2,s.encode(t.r)),i=e.encode(2,s.encode(t.s)),n=r+i;return e.encode(48,n)}},rs=BigInt(0),qe=BigInt(1);BigInt(2);const Ga=BigInt(3);BigInt(4);function Zf(t){const e=Kf(t),{Fp:s}=e,r=zl(e.n,e.nBitLength),i=e.toBytes||((m,f,y)=>{const b=f.toAffine();return Ci(Uint8Array.from([4]),s.toBytes(b.x),s.toBytes(b.y))}),n=e.fromBytes||(m=>{const f=m.subarray(1),y=s.fromBytes(f.subarray(0,s.BYTES)),b=s.fromBytes(f.subarray(s.BYTES,2*s.BYTES));return{x:y,y:b}});function o(m){const{a:f,b:y}=e,b=s.sqr(m),I=s.mul(b,m);return s.add(s.add(I,s.mul(m,f)),y)}if(!s.eql(s.sqr(e.Gy),o(e.Gx)))throw new Error("bad generator point: equation left != right");function a(m){return Cn(m,qe,e.n)}function c(m){const{allowedPrivateKeyLengths:f,nByteLength:y,wrapPrivateKey:b,n:I}=e;if(f&&typeof m!="bigint"){if(Vs(m)&&(m=Rr(m)),typeof m!="string"||!f.includes(m.length))throw new Error("invalid private key");m=m.padStart(y*2,"0")}let O;try{O=typeof m=="bigint"?m:Fs(gt("private key",m,y))}catch{throw new Error("invalid private key, expected hex or "+y+" bytes, got "+typeof m)}return b&&(O=lt(O,I)),is("private key",O,qe,I),O}function l(m){if(!(m instanceof u))throw new Error("ProjectivePoint expected")}const d=fo((m,f)=>{const{px:y,py:b,pz:I}=m;if(s.eql(I,s.ONE))return{x:y,y:b};const O=m.is0();f==null&&(f=O?s.ONE:s.inv(I));const x=s.mul(y,f),P=s.mul(b,f),_=s.mul(I,f);if(O)return{x:s.ZERO,y:s.ZERO};if(!s.eql(_,s.ONE))throw new Error("invZ was invalid");return{x,y:P}}),h=fo(m=>{if(m.is0()){if(e.allowInfinityPoint&&!s.is0(m.py))return;throw new Error("bad point: ZERO")}const{x:f,y}=m.toAffine();if(!s.isValid(f)||!s.isValid(y))throw new Error("bad point: x or y not FE");const b=s.sqr(y),I=o(f);if(!s.eql(b,I))throw new Error("bad point: equation left != right");if(!m.isTorsionFree())throw new Error("bad point: not in prime-order subgroup");return!0});class u{constructor(f,y,b){if(this.px=f,this.py=y,this.pz=b,f==null||!s.isValid(f))throw new Error("x required");if(y==null||!s.isValid(y))throw new Error("y required");if(b==null||!s.isValid(b))throw new Error("z required");Object.freeze(this)}static fromAffine(f){const{x:y,y:b}=f||{};if(!f||!s.isValid(y)||!s.isValid(b))throw new Error("invalid affine point");if(f instanceof u)throw new Error("projective point not allowed");const I=O=>s.eql(O,s.ZERO);return I(y)&&I(b)?u.ZERO:new u(y,b,s.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(f){const y=s.invertBatch(f.map(b=>b.pz));return f.map((b,I)=>b.toAffine(y[I])).map(u.fromAffine)}static fromHex(f){const y=u.fromAffine(n(gt("pointHex",f)));return y.assertValidity(),y}static fromPrivateKey(f){return u.BASE.multiply(c(f))}static msm(f,y){return Bf(u,r,f,y)}_setWindowSize(f){w.setWindowSize(this,f)}assertValidity(){h(this)}hasEvenY(){const{y:f}=this.toAffine();if(s.isOdd)return!s.isOdd(f);throw new Error("Field doesn't support isOdd")}equals(f){l(f);const{px:y,py:b,pz:I}=this,{px:O,py:x,pz:P}=f,_=s.eql(s.mul(y,P),s.mul(O,I)),D=s.eql(s.mul(b,P),s.mul(x,I));return _&&D}negate(){return new u(this.px,s.neg(this.py),this.pz)}double(){const{a:f,b:y}=e,b=s.mul(y,Ga),{px:I,py:O,pz:x}=this;let P=s.ZERO,_=s.ZERO,D=s.ZERO,v=s.mul(I,I),$=s.mul(O,O),E=s.mul(x,x),L=s.mul(I,O);return L=s.add(L,L),D=s.mul(I,x),D=s.add(D,D),P=s.mul(f,D),_=s.mul(b,E),_=s.add(P,_),P=s.sub($,_),_=s.add($,_),_=s.mul(P,_),P=s.mul(L,P),D=s.mul(b,D),E=s.mul(f,E),L=s.sub(v,E),L=s.mul(f,L),L=s.add(L,D),D=s.add(v,v),v=s.add(D,v),v=s.add(v,E),v=s.mul(v,L),_=s.add(_,v),E=s.mul(O,x),E=s.add(E,E),v=s.mul(E,L),P=s.sub(P,v),D=s.mul(E,$),D=s.add(D,D),D=s.add(D,D),new u(P,_,D)}add(f){l(f);const{px:y,py:b,pz:I}=this,{px:O,py:x,pz:P}=f;let _=s.ZERO,D=s.ZERO,v=s.ZERO;const $=e.a,E=s.mul(e.b,Ga);let L=s.mul(y,O),H=s.mul(b,x),C=s.mul(I,P),k=s.add(y,b),A=s.add(O,x);k=s.mul(k,A),A=s.add(L,H),k=s.sub(k,A),A=s.add(y,I);let B=s.add(O,P);return A=s.mul(A,B),B=s.add(L,C),A=s.sub(A,B),B=s.add(b,I),_=s.add(x,P),B=s.mul(B,_),_=s.add(H,C),B=s.sub(B,_),v=s.mul($,A),_=s.mul(E,C),v=s.add(_,v),_=s.sub(H,v),v=s.add(H,v),D=s.mul(_,v),H=s.add(L,L),H=s.add(H,L),C=s.mul($,C),A=s.mul(E,A),H=s.add(H,C),C=s.sub(L,C),C=s.mul($,C),A=s.add(A,C),L=s.mul(H,A),D=s.add(D,L),L=s.mul(B,A),_=s.mul(k,_),_=s.sub(_,L),L=s.mul(k,H),v=s.mul(B,v),v=s.add(v,L),new u(_,D,v)}subtract(f){return this.add(f.negate())}is0(){return this.equals(u.ZERO)}wNAF(f){return w.wNAFCached(this,f,u.normalizeZ)}multiplyUnsafe(f){const{endo:y,n:b}=e;is("scalar",f,rs,b);const I=u.ZERO;if(f===rs)return I;if(this.is0()||f===qe)return this;if(!y||w.hasPrecomputes(this))return w.wNAFCachedUnsafe(this,f,u.normalizeZ);let{k1neg:O,k1:x,k2neg:P,k2:_}=y.splitScalar(f),D=I,v=I,$=this;for(;x>rs||_>rs;)x&qe&&(D=D.add($)),_&qe&&(v=v.add($)),$=$.double(),x>>=qe,_>>=qe;return O&&(D=D.negate()),P&&(v=v.negate()),v=new u(s.mul(v.px,y.beta),v.py,v.pz),D.add(v)}multiply(f){const{endo:y,n:b}=e;is("scalar",f,qe,b);let I,O;if(y){const{k1neg:x,k1:P,k2neg:_,k2:D}=y.splitScalar(f);let{p:v,f:$}=this.wNAF(P),{p:E,f:L}=this.wNAF(D);v=w.constTimeNegate(x,v),E=w.constTimeNegate(_,E),E=new u(s.mul(E.px,y.beta),E.py,E.pz),I=v.add(E),O=$.add(L)}else{const{p:x,f:P}=this.wNAF(f);I=x,O=P}return u.normalizeZ([I,O])[0]}multiplyAndAddUnsafe(f,y,b){const I=u.BASE,O=(P,_)=>_===rs||_===qe||!P.equals(I)?P.multiplyUnsafe(_):P.multiply(_),x=O(this,y).add(O(f,b));return x.is0()?void 0:x}toAffine(f){return d(this,f)}isTorsionFree(){const{h:f,isTorsionFree:y}=e;if(f===qe)return!0;if(y)return y(u,this);throw new Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){const{h:f,clearCofactor:y}=e;return f===qe?this:y?y(u,this):this.multiplyUnsafe(e.h)}toRawBytes(f=!0){return xr("isCompressed",f),this.assertValidity(),i(u,this,f)}toHex(f=!0){return xr("isCompressed",f),Rr(this.toRawBytes(f))}}u.BASE=new u(e.Gx,e.Gy,s.ONE),u.ZERO=new u(s.ZERO,s.ONE,s.ZERO);const g=e.nBitLength,w=Mf(u,e.endo?Math.ceil(g/2):g);return{CURVE:e,ProjectivePoint:u,normPrivateKeyToScalar:c,weierstrassEquation:o,isWithinCurveOrder:a}}function Xf(t){const e=Jl(t);return Wr(e,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...e})}function Qf(t){const e=Xf(t),{Fp:s,n:r}=e,i=s.BYTES+1,n=2*s.BYTES+1;function o(C){return lt(C,r)}function a(C){return mo(C,r)}const{ProjectivePoint:c,normPrivateKeyToScalar:l,weierstrassEquation:d,isWithinCurveOrder:h}=Zf({...e,toBytes(C,k,A){const B=k.toAffine(),j=s.toBytes(B.x),T=Ci;return xr("isCompressed",A),A?T(Uint8Array.from([k.hasEvenY()?2:3]),j):T(Uint8Array.from([4]),j,s.toBytes(B.y))},fromBytes(C){const k=C.length,A=C[0],B=C.subarray(1);if(k===i&&(A===2||A===3)){const j=Fs(B);if(!Cn(j,qe,s.ORDER))throw new Error("Point is not on curve");const T=d(j);let G;try{G=s.sqrt(T)}catch(se){const Ee=se instanceof Error?": "+se.message:"";throw new Error("Point is not on curve"+Ee)}const Q=(G&qe)===qe;return(A&1)===1!==Q&&(G=s.neg(G)),{x:j,y:G}}else if(k===n&&A===4){const j=s.fromBytes(B.subarray(0,s.BYTES)),T=s.fromBytes(B.subarray(s.BYTES,2*s.BYTES));return{x:j,y:T}}else{const j=i,T=n;throw new Error("invalid Point, expected length of "+j+", or uncompressed "+T+", got "+k)}}}),u=C=>Rr(Dr(C,e.nByteLength));function g(C){const k=r>>qe;return C>k}function w(C){return g(C)?o(-C):C}const m=(C,k,A)=>Fs(C.slice(k,A));class f{constructor(k,A,B){this.r=k,this.s=A,this.recovery=B,this.assertValidity()}static fromCompact(k){const A=e.nByteLength;return k=gt("compactSignature",k,A*2),new f(m(k,0,A),m(k,A,2*A))}static fromDER(k){const{r:A,s:B}=ss.toSig(gt("DER",k));return new f(A,B)}assertValidity(){is("r",this.r,qe,r),is("s",this.s,qe,r)}addRecoveryBit(k){return new f(this.r,this.s,k)}recoverPublicKey(k){const{r:A,s:B,recovery:j}=this,T=P(gt("msgHash",k));if(j==null||![0,1,2,3].includes(j))throw new Error("recovery id invalid");const G=j===2||j===3?A+e.n:A;if(G>=s.ORDER)throw new Error("recovery id 2 or 3 invalid");const Q=(j&1)===0?"02":"03",se=c.fromHex(Q+u(G)),Ee=a(G),ue=o(-T*Ee),Oe=o(B*Ee),Le=c.BASE.multiplyAndAddUnsafe(se,ue,Oe);if(!Le)throw new Error("point at infinify");return Le.assertValidity(),Le}hasHighS(){return g(this.s)}normalizeS(){return this.hasHighS()?new f(this.r,o(-this.s),this.recovery):this}toDERRawBytes(){return Ur(this.toDERHex())}toDERHex(){return ss.hexFromSig({r:this.r,s:this.s})}toCompactRawBytes(){return Ur(this.toCompactHex())}toCompactHex(){return u(this.r)+u(this.s)}}const y={isValidPrivateKey(C){try{return l(C),!0}catch{return!1}},normPrivateKeyToScalar:l,randomPrivateKey:()=>
7{const C=Vl(e.n);return Uf(e.randomBytes(C),e.n)},precompute(C=8,k=c.BASE){return k._setWindowSize(C),k.multiply(BigInt(3)),k}};function b(C,k=!0){return c.fromPrivateKey(C).toRawBytes(k)}function I(C){const k=Vs(C),A=typeof C=="string",B=(k||A)&&C.length;return k?B===i||B===n:A?B===2*i||B===2*n:C instanceof c}function O(C,k,A=!0){if(I(C))throw new Error("first arg must be private key");if(!I(k))throw new Error("second arg must be public key");return c.fromHex(k).multiply(l(C)).toRawBytes(A)}const x=e.bits2int||function(C){if(C.length>8192)throw new Error("input is too large");const k=Fs(C),A=C.length*8-e.nBitLength;return A>0?k>>BigInt(A):k},P=e.bits2int_modN||function(C){return o(x(C))},_=Vo(e.nBitLength);function D(C){return is("num < 2^"+e.nBitLength,C,rs,_),Dr(C,e.nByteLength)}function v(C,k,A=$){if(["recovered","canonical"].some(xe=>xe in A))throw new Error("sign() legacy options not supported");const{hash:B,randomBytes:j}=e;let{lowS:T,prehash:G,extraEntropy:Q}=A;T==null&&(T=!0),C=gt("msgHash",C),Ka(A),G&&(C=gt("prehashed msgHash",B(C)));const se=P(C),Ee=l(k),ue=[D(Ee),D(se)];if(Q!=null&&Q!==!1){const xe=Q===!0?j(s.BYTES):Q;ue.push(gt("extraEntropy",xe))}const Oe=Ci(...ue),Le=se;function Ye(xe){const Re=x(xe);if(!h(Re))return;const Ps=a(Re),Jt=c.BASE.multiply(Re).toAffine(),Mt=o(Jt.x);if(Mt===rs)return;const Yt=o(Ps*o(Le+Mt*Ee));if(Yt===rs)return;let tr=(Jt.x===Mt?0:2)|Number(Jt.y&qe),Bi=Yt;return T&&g(Yt)&&(Bi=w(Yt),tr^=1),new f(Mt,Bi,tr)}return{seed:Oe,k2sig:Ye}}const $={lowS:e.lowS,prehash:!1},E={lowS:e.lowS,prehash:!1};function L(C,k,A=$){const{seed:B,k2sig:j}=v(C,k,A),T=e;return jl(T.hash.outputLen,T.nByteLength,T.hmac)(B,j)}c.BASE._setWindowSize(8);function H(C,k,A,B=E){const j=C;k=gt("msgHash",k),A=gt("publicKey",A);const{lowS:T,prehash:G,format:Q}=B;if(Ka(B),"strict"in B)throw new Error("options.strict was renamed to lowS");if(Q!==void 0&&Q!=="compact"&&Q!=="der")throw new Error("format must be compact or der");const se=typeof j=="string"||Vs(j),Ee=!se&&!Q&&typeof j=="object"&&j!==null&&typeof j.r=="bigint"&&typeof j.s=="bigint";if(!se&&!Ee)throw new Error("invalid signature, expected Uint8Array, hex string or Signature instance");let ue,Oe;try{if(Ee&&(ue=new f(j.r,j.s)),se){try{Q!=="compact"&&(ue=f.fromDER(j))}catch(Yt){if(!(Yt instanceof ss.Err))throw Yt}!ue&&Q!=="der"&&(ue=f.fromCompact(j))}Oe=c.fromHex(A)}catch{return!1}if(!ue||T&&ue.hasHighS())return!1;G&&(k=e.hash(k));const{r:Le,s:Ye}=ue,xe=P(k),Re=a(Ye),Ps=o(xe*Re),Jt=o(Le*Re),Mt=c.BASE.multiplyAndAddUnsafe(Oe,Ps,Jt)?.toAffine();return Mt?o(Mt.x)===Le:!1}return{CURVE:e,getPublicKey:b,getSharedSecret:O,sign:L,verify:H,ProjectivePoint:c,Signature:f,utils:y}}function eg(t){return{hash:t,hmac:(e,...s)=>yn(t,e,rp(...s)),randomBytes:Fr}}function tg(t,e){const s=r=>Qf({...t,...eg(r)});return{...s(e),create:s}}const Yl=zl(BigInt("0xffffffff00000001000000000000000000000000ffffffffffffffffffffffff")),sg=Yl.create(BigInt("-3")),rg=BigInt("0x5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b"),ig=tg({a:sg,b:rg,Fp:Yl,n:BigInt("0xffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551"),Gx:BigInt("0x6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296"),Gy:BigInt("0x4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5"),h:BigInt(1),lowS:!1},$i),Zl="base10",tt="base16",Dt="base64pad",ms="base64url",Ri="utf8",Xl=0,ns=1,Ui=2,ng=0,Ja=1,di=12,Ko=32;function og(){const t=yo.utils.randomPrivateKey(),e=yo.getPublicKey(t);return{privateKey:dt(t,tt),publicKey:dt(e,tt)}}function bo(){const t=Fr(Ko);return dt(t,tt)}function ag(t,e){const s=yo.getSharedSecret(St(t,tt),St(e,tt)),r=hf($i,s,void 0,void 0,Ko);return dt(r,tt)}function en(t){const e=$i(St(t,tt));return dt(e,tt)}function Ht(t){const e=$i(St(t,Ri));return dt(e,tt)}function Ql(t){return St(`${t}`,Zl)}function Ks(t){return Number(dt(t,Zl))}function ed(t){return t.replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}function td(t){const e=t.replace(/-/g,"+").replace(/_/g,"/"),s=(4-e.length%4)%4;return e+"=".repeat(s)}function cg(t){const e=Ql(typeof t.type<"u"?t.type:Xl);if(Ks(e)===ns&&typeof t.senderPublicKey>"u")throw new Error("Missing sender public key for type 1 envelope");const s=typeof t.senderPublicKey<"u"?St(t.senderPublicKey,tt):void 0,r=typeof t.iv<"u"?St(t.iv,tt):Fr(di),i=St(t.symKey,tt),n=Ml(i,r).encrypt
vendor: 2,857 bytes, line 7
7(St(t.message,Ri)),o=sd({type:e,sealed:n,iv:r,senderPublicKey:s});return t.encoding===ms?ed(o):o}function lg(t){const e=St(t.symKey,tt),{sealed:s,iv:r}=Ii({encoded:t.encoded,encoding:t.encoding}),i=Ml(e,r).decrypt(s);if(i===null)throw new Error("Failed to decrypt");return dt(i,Ri)}function dg(t,e){const s=Ql(Ui),r=Fr(di),i=St(t,Ri),n=sd({type:s,sealed:i,iv:r});return e===ms?ed(n):n}function hg(t,e){const{sealed:s}=Ii({encoded:t,encoding:e});return dt(s,Ri)}function sd(t){if(Ks(t.type)===Ui)return dt(oi([t.type,t.sealed]),Dt);if(Ks(t.type)===ns){if(typeof t.senderPublicKey>"u")throw new Error("Missing sender public key for type 1 envelope");return dt(oi([t.type,t.senderPublicKey,t.iv,t.sealed]),Dt)}return dt(oi([t.type,t.iv,t.sealed]),Dt)}function Ii(t){const e=(t.encoding||Dt)===ms?td(t.encoded):t.encoded,s=St(e,Dt),r=s.slice(ng,Ja),i=Ja;if(Ks(r)===ns){const c=i+Ko,l=c+di,d=s.slice(i,c),h=s.slice(c,l),u=s.slice(l);return{type:r,sealed:u,iv:h,senderPublicKey:d}}if(Ks(r)===Ui){const c=s.slice(i),l=Fr(di);return{type:r,sealed:c,iv:l}}const n=i+di,o=s.slice(i,n),a=s.slice(n);return{type:r,sealed:a,iv:o}}function ug(t,e){const s=Ii({encoded:t,encoding:e?.encoding});return rd({type:Ks(s.type),senderPublicKey:typeof s.senderPublicKey<"u"?dt(s.senderPublicKey,tt):void 0,receiverPublicKey:e?.receiverPublicKey})}function rd(t){const e=t?.type||Xl;if(e===ns){if(typeof t?.senderPublicKey>"u")throw new Error("missing sender public key");if(typeof t?.receiverPublicKey>"u")throw new Error("missing receiver public key")}return{type:e,senderPublicKey:t?.senderPublicKey,receiverPublicKey:t?.receiverPublicKey}}function Ya(t){return t.type===ns&&typeof t.senderPublicKey=="string"&&typeof t.receiverPublicKey=="string"}function Za(t){return t.type===Ui}function pg(t){const e=Buffer.from(t.x,"base64"),s=Buffer.from(t.y,"base64");return oi([new Uint8Array([4]),e,s])}function fg(t,e){const[s,r,i]=t.split("."),n=Buffer.from(td(i),"base64");if(n.length!==64)throw new Error("Invalid signature length");const o=n.slice(0,32),a=n.slice(32,64),c=`${s}.${r}`,l=$i(c),d=pg(e);if(!ig.verify(oi([o,a]),l,d))throw new Error("Invalid signature");return so(t).payload}const gg="irn";function hn(t){return t?.relay||{protocol:gg}}function ri(t){const e=Gd[t];if(typeof e>"u")throw new Error(`Relay Protocol not supported: ${t}`);return e}function mg(t,e="-"){const s={},r="relay"+e;return Object.keys(t).forEach(i=>{if(i.startsWith(r)){const n=i.replace(r,""),o=t[i];s[n]=o}}),s}function Xa(t){if(!t.includes("wc:")){const l=Al(t);l!=null&&l.includes("wc:")&&(t=l)}t=t.includes("wc://")?t.replace("wc://",""):t,t=t.includes("wc:")?t.replace("wc:",""):t;const e=t.indexOf(":"),s=t.indexOf("?")!==-1?t.indexOf("?"):void 0,r=t.substring(0,e),i=t.substring(e+1,s).split("@"),n=typeof s<"u"?t.substring(s):"",o=new URLSearchParams(n),a={};o.forEach((l,d)=>{a[d]=l});
7const c=typeof a.methods=="string"?a.methods.split(","):void 0;return{protocol:r,topic:wg(i[0]),version:parseInt(i[1],10),symKey:a.symKey,relay:mg(a),methods:c,expiryTimestamp:a.expiryTimestamp?parseInt(a.expiryTimestamp,10):void 0}}function wg(t){return t.startsWith("//")?t.substring(2):t}function yg(t,e="-"){const s="relay",r={};return Object.keys(t).forEach(i=>{const n=i,o=s+e+n;t[n]&&(r[o]=t[n])}),r}function Qa(t){const e=new URLSearchParams,s=yg(t.relay);Object.keys(s).sort().forEach(i=>{e.set(i,s[i])}),e.set("symKey",t.symKey),t.expiryTimestamp&&e.set("expiryTimestamp",t.expiryTimestamp.toString()),t.methods&&e.set("methods",t.methods.join(","));const r=e.toString();return`${t.protocol}:${t.topic}@${t.version}?${r}`}function Hi(t,e,s){return`${t}?wc_ev=${s}&topic=${e}`}var bg=Object.defineProperty,vg=Object.defineProperties,Eg=Object.getOwnPropertyDescriptors,ec=Object.getOwnPropertySymbols,Cg=Object.prototype.hasOwnProperty,Ig=Object.prototype.propertyIsEnumerable,tc=(t,e,s)=>e in t?bg(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,Ng=(t,e)=>{for(var s in e||(e={}))Cg.call(e,s)&&tc(t,s,e[s]);if(ec)for(var s of ec(e))Ig.call(e,s)&&tc(t,s,e[s]);return t},Ag=(t,e)=>vg(t,Eg(e));function zr(t){const e=[];return t.forEach(s=>{const[r,i]=s.split(":");e.push(`${r}:${i}`)}),e}function _g(t){const e=[];return Object.values(t).forEach(s=>{e.push(...zr(s.accounts))}),e}function Sg(t,e){const s=[];return Object.values(t).forEach(r=>{zr(r.accounts).includes(e)&&s.push(...r.methods)}),s}function Pg(t,e){const s=[];return Object.values(t).forEach(r=>{zr(r.accounts).includes(e)&&s.push(...r.events)}),s}function In(t){return t.includes(":")}function Nr(t){return In(t)?t.split(":")[0]:t}function sc(t){var e,s,r;const i={};if(!Is(t))return i;for(const[n,o]of Object.entries(t)){const a=In(n)?[n]:o.chains,c=o.methods||[],l=o.events||[],d=Nr(n);i[d]=Ag(Ng({},i[d]),{chains:Kt(a,(e=i[d])==null?void 0:e.chains),methods:Kt(c,(s=i[d])==null?void 0:s.methods),events:Kt(l,(r=i[d])==null?void 0:r.events)})}return i}function kg(t){const e={};return t?.forEach(s=>{var r;const[i,n]=s.split(":");e[i]||(e[i]={accounts:[],chains:[],events:[],methods:[]}),e[i].accounts.push(s),(r=e[i].chains)==null||r.push(`${i}:${n}`)}),e}function rc(t,e){e=e.map(r=>r.replace("did:pkh:",""));const s=kg(e);for(const[r,i]of Object.entries(s))i.methods?i.methods=Kt(i.methods,t):i.methods=t,i.events=["chainChanged","accountsChanged"];return s}function Og(t,e){var s,r,i,n,o,a;const c=sc(t),l=sc(e),d={},h=Object.keys(c).concat(Object.keys(l));for(const u of h)d[u]={chains:Kt((s=c[u])==null?void 0:s.chains,(r=l[u])==null?void 0:r.chains),methods:Kt((i=c[u])==null?void 0:i.methods,(n=l[u])==null?void 0:n.methods),events:Kt((o=c[u])==null?void 0:o.events,(a=l[u])==null?void 0:a.events)};return d}const Tg={INVALID_METHOD:{message:"Invalid method.",code:1001},INVALID_EVENT:{message:"Invalid event.",code:1002},INVALID_UPDATE_REQUEST:{message:"Invalid update request.",code:1003},INVALID_EXTEND_REQUEST:{message:"Invalid extend request.",code:1004},INVALID_SESSION_SETTLE_REQUEST:{message:"Invalid session settle request.",code:1005},UNAUTHORIZED_METHOD:{message:"Unauthorized method.",code:3001},UNAUTHORIZED_EVENT:{message:"Unauthorized event.",code:3002},UNAUTHORIZED_UPDATE_REQUEST:{message:"Unauthorized update request.",code:3003},UNAUTHORIZED_EXTEND_REQUEST:{message:"Unauthorized extend request.",code:3004},USER_REJECTED:{message:"User rejected.",code:5e3},USER_REJECTED_CHAINS:{message:"User rejected chains.",code:5001},USER_REJECTED_METHODS:{message:"User rejected methods.",code:5002},USER_REJECTED_EVENTS:{message:"User rejected events.",code:5003},UNSUPPORTED_CHAINS:{message:"Unsupported chains.",code:5100},UNSUPPORTED_METHODS:{message:"Unsupported methods.",code:5101},UNSUPPORTED_EVENTS:{message:"Unsupported events.",code:5102},UNSUPPORTED_ACCOUNTS:{message:"Unsupported accounts.",code:5103},UNSUPPORTED_NAMESPACE_KEY:{message:"Unsupported namespace key.",code:5104},USER_DISCONNECTED:{message:"User disconnected.",code:6e3},SESSION_SETTLEMENT_FAILED:{message:"Session settlement failed.",code:7e3},WC_METHOD_UNSUPPORTED:{message:"Unsupported wc_ method.",code:10001}},$g={NOT_INITIALIZED:{message:"Not initialized.",code:1},NO_MATCHING_KEY:{message:"No matching key.",code:2},RESTORE_WILL_OVERRIDE:{message:"Restore will override.",code:3},RESUBSCRIBED:{message:"Resubscribed.",code:4},MISSING_OR_INVALID:{message:"Missing or invalid.",code:5},EXPIRED:{message:"Expired.",code:6},UNKNOWN_TYPE:{message:"Unknown type.",code:7},MISMATCHED_TOPIC:{message:"Mismatched topic.",code:8},NON_CONFORMING_NAMESPACES:{message:"Non conforming namespaces.",code:9}};function R(t,e){const{message:s,code:r}=$g[t];return{message:e?`${s} ${e}
7`:s,code:r}}function we(t,e){const{message:s,code:r}=Tg[t];return{message:e?`${s} ${e}`:s,code:r}}function Cs(t,e){return!!Array.isArray(t)}function Is(t){return Object.getPrototypeOf(t)===Object.prototype&&Object.keys(t).length}function Ge(t){return typeof t>"u"}function $e(t,e){return e&&Ge(t)?!0:typeof t=="string"&&!!t.trim().length}function Go(t,e){return e&&Ge(t)?!0:typeof t=="number"&&!isNaN(t)}function xg(t,e){const{requiredNamespaces:s}=e,r=Object.keys(t.namespaces),i=Object.keys(s);let n=!0;return qs(i,r)?(r.forEach(o=>{const{accounts:a,methods:c,events:l}=t.namespaces[o],d=zr(a),h=s[o];(!qs(vl(o,h),d)||!qs(h.methods,c)||!qs(h.events,l))&&(n=!1)}),n):!1}function un(t){return $e(t,!1)&&t.includes(":")?t.split(":").length===2:!1}function Rg(t){if($e(t,!1)&&t.includes(":")){const e=t.split(":");if(e.length===3){const s=e[0]+":"+e[1];return!!e[2]&&un(s)}}return!1}function Ug(t){function e(s){try{return typeof new URL(s)<"u"}catch{return!1}}try{if($e(t,!1)){if(e(t))return!0;const s=Al(t);return e(s)}}catch{}return!1}function Dg(t){var e;return(e=t?.proposer)==null?void 0:e.publicKey}function Lg(t){return t?.topic}function Mg(t,e){let s=null;return $e(t?.publicKey,!1)||(s=R("MISSING_OR_INVALID",`${e} controller public key should be a string`)),s}function ic(t){let e=!0;return Cs(t)?t.length&&(e=t.every(s=>$e(s,!1))):e=!1,e}function Bg(t,e,s){let r=null;return Cs(e)&&e.length?e.forEach(i=>{r||un(i)||(r=we("UNSUPPORTED_CHAINS",`${s}, chain ${i} should be a string and conform to "namespace:chainId" format`))}):un(t)||(r=we("UNSUPPORTED_CHAINS",`${s}, chains must be defined as "namespace:chainId" e.g. "eip155:1": {...} in the namespace key OR as an array of CAIP-2 chainIds e.g. eip155: { chains: ["eip155:1", "eip155:5"] }`)),r}function qg(t,e,s){let r=null;return Object.entries(t).forEach(([i,n])=>{if(r)return;const o=Bg(i,vl(i,n),`${e} ${s}`);o&&(r=o)}),r}function jg(t,e){let s=null;return Cs(t)?t.forEach(r=>{s||Rg(r)||(s=we("UNSUPPORTED_ACCOUNTS",`${e}, account ${r} should be a string and conform to "namespace:chainId:address" format`))}):s=we("UNSUPPORTED_ACCOUNTS",`${e}, accounts should be an array of strings conforming to "namespace:chainId:address" format`),s}function Fg(t,e){let s=null;return Object.values(t).forEach(r=>{if(s)return;const i=jg(r?.accounts,`${e} namespace`);i&&(s=i)}),s}function Wg(t,e){let s=null;return ic(t?.methods)?ic(t?.events)||(s=we("UNSUPPORTED_EVENTS",`${e}, events should be an array of strings or empty array for no events`)):s=we("UNSUPPORTED_METHODS",`${e}, methods should be an array of strings or empty array for no methods`),s}function id(t,e){let s=null;return Object.values(t).forEach(r=>{if(s)return;const i=Wg(r,`${e}, namespace`);i&&(s=i)}),s}function zg(t,e,s){let r=null;if(t&&Is(t)){const i=id(t,e);i&&(r=i);const n=qg(t,e,s);n&&(r=n)}else r=R("MISSING_OR_INVALID",`${e}, ${s} should be an object with data`);return r}function Fn(t,e){let s=null;if(t&&Is(t)){const r=id(t,e);r&&(s=r);const i=Fg(t,e);i&&(s=i)}else s=R("MISSING_OR_INVALID",`${e}, namespaces should be an object with data`);return s}function nd(t){return $e(t.protocol,!0)}function Hg(t,e){let s=!1;return t?t&&Cs(t)&&t.length&&t.forEach(r=>{s=nd(r)}):s=!0,s}function Vg(t){return typeof t=="number"}function ct(t){return typeof t<"u"&&typeof t!==null}function Kg(t){return!(!t||typeof t!="object"||!t.code||!Go(t.code,!1)||!t.message||!$e(t.message,!1))}function Gg(t){return!(Ge(t)||!$e(t.method,!1))}function Jg(t){return!(Ge(t)||Ge(t.result)&&Ge(t.error)||!Go(t.id,!1)||!$e(t.jsonrpc,!1))}function Yg(t){return!(Ge(t)||!$e(t.name,!1))}function nc(t,e){return!(!un(e)||!_g(t).includes(e))}function Zg(t,e,s){return $e(s,!1)?Sg(t,e).includes(s):!1}function Xg(t,e,s){return $e(s,!1)?Pg(t,e).includes(s):!1}function oc(t,e,s){let r=null;const i=Qg(t),n=em(e),o=Object.keys(i),a=Object.keys(n),c=ac(Object.keys(t)),l=ac(Object.keys(e)),d=c.filter(h=>!l.includes(h));return d.length&&(r=R("NON_CONFORMING_NAMESPACES",`${s} namespaces keys don't satisfy requiredNamespaces.
8      Required: ${d.toString()}
9      Received: ${Object.keys(e).toString()}`)),qs(o,a)||(r=R("NON_CONFORMING_NAMESPACES",`${s} namespaces chains don't satisfy required namespaces.
10      Required: ${o.toString()}
11      Approved: ${a.toString()}`)),Object.keys(e).forEach(h=>{if(!h.includes(":")||r)return;const u=zr(e[h].accounts);u.includes(h)||(r=R("NON_CONFORMING_NAMESPACES",`${s} namespaces accounts don't satisfy namespace accounts for ${h}
12        Required: ${h}
13        Approved: ${u.toString()}`))}),o.forEach(h=>{r||(qs(i[h].methods,n[h].methods)?qs(i[h].events,n[h].events)||(r=R("NON_CONFORMING_NAMESPACES",`${s} namespaces events don't satisfy namespace events for ${h}`)):r=R("NON_CONFORMING_NAMESPACES",`${s} namespaces methods don't satisfy namespace methods for ${h}`))}),r}function Qg(t){const e={};return Object.keys(t).forEach(s=>{var r;s.includes(":")?e[s]=t[s]:(r=t[s].chains)==null||r.forEach(i=>
vendor: 38,929 bytes, line 13
13{e[i]={methods:t[s].methods,events:t[s].events}})}),e}function ac(t){return[...new Set(t.map(e=>e.includes(":")?e.split(":")[0]:e))]}function em(t){const e={};return Object.keys(t).forEach(s=>{s.includes(":")?e[s]=t[s]:zr(t[s].accounts)?.forEach(i=>{e[i]={accounts:t[s].accounts.filter(n=>n.includes(`${i}:`)),methods:t[s].methods,events:t[s].events}})}),e}function tm(t,e){return Go(t,!1)&&t<=e.max&&t>=e.min}function cc(){const t=Oi();return new Promise(e=>{switch(t){case wt.browser:e(sm());break;case wt.reactNative:e(rm());break;case wt.node:e(im());break;default:e(!0)}})}function sm(){return jr()&&navigator?.onLine}async function rm(){return Ss()&&typeof global<"u"&&global!=null&&global.NetInfo?(await(global==null?void 0:global.NetInfo.fetch()))?.isConnected:!0}function im(){return!0}function nm(t){switch(Oi()){case wt.browser:om(t);break;case wt.reactNative:am(t);break}}function om(t){!Ss()&&jr()&&(window.addEventListener("online",()=>t(!0)),window.addEventListener("offline",()=>t(!1)))}function am(t){Ss()&&typeof global<"u"&&global!=null&&global.NetInfo&&global?.NetInfo.addEventListener(e=>t(e?.isConnected))}function cm(){var t;return jr()&&os.getDocument()?((t=os.getDocument())==null?void 0:t.visibilityState)==="visible":!0}const Wn={};class Gr{static get(e){return Wn[e]}static set(e,s){Wn[e]=s}static delete(e){delete Wn[e]}}var lm={};const od="wc",ad=2,vo="core",Gt=`${od}@2:${vo}:`,dm={logger:"error"},hm={database:":memory:"},um="crypto",lc="client_ed25519_seed",pm=U.ONE_DAY,fm="keychain",gm="0.3",mm="messages",wm="0.3",dc=U.SIX_HOURS,ym="publisher",cd="irn",bm="error",ld="wss://relay.walletconnect.org",vm="relayer",je={message:"relayer_message",message_ack:"relayer_message_ack",connect:"relayer_connect",disconnect:"relayer_disconnect",error:"relayer_error",connection_stalled:"relayer_connection_stalled",transport_closed:"relayer_transport_closed",publish:"relayer_publish"},Em="_subscription",It={payload:"payload",connect:"connect",disconnect:"disconnect",error:"error"},Cm=.1,Eo="2.21.0",Ae={link_mode:"link_mode",relay:"relay"},tn={inbound:"inbound",outbound:"outbound"},Im="0.3",Nm="WALLETCONNECT_CLIENT_ID",hc="WALLETCONNECT_LINK_MODE_APPS",pt={created:"subscription_created",deleted:"subscription_deleted",expired:"subscription_expired",disabled:"subscription_disabled",sync:"subscription_sync",resubscribed:"subscription_resubscribed"},Am="subscription",_m="0.3",Sm="pairing",Pm="0.3",Jr={wc_pairingDelete:{req:{ttl:U.ONE_DAY,prompt:!1,tag:1e3},res:{ttl:U.ONE_DAY,prompt:!1,tag:1001}},wc_pairingPing:{req:{ttl:U.THIRTY_SECONDS,prompt:!1,tag:1002},res:{ttl:U.THIRTY_SECONDS,prompt:!1,tag:1003}},unregistered_method:{req:{ttl:U.ONE_DAY,prompt:!1,tag:0},res:{ttl:U.ONE_DAY,prompt:!1,tag:0}}},Ls={create:"pairing_create",expire:"pairing_expire",delete:"pairing_delete",ping:"pairing_ping"},Ot={created:"history_created",updated:"history_updated",deleted:"history_deleted",sync:"history_sync"},km="history",Om="0.3",Tm="expirer",_t={created:"expirer_created",deleted:"expirer_deleted",expired:"expirer_expired",sync:"expirer_sync"},$m="0.3",xm="verify-api",Rm="https://verify.walletconnect.com",dd="https://verify.walletconnect.org",hi=dd,Um=`${hi}/v3`,Dm=[Rm,dd],Lm="echo",Mm="https://echo.walletconnect.com",Ft={pairing_started:"pairing_started",pairing_uri_validation_success:"pairing_uri_validation_success",pairing_uri_not_expired:"pairing_uri_not_expired",store_new_pairing:"store_new_pairing",subscribing_pairing_topic:"subscribing_pairing_topic",subscribe_pairing_topic_success:"subscribe_pairing_topic_success",existing_pairing:"existing_pairing",pairing_not_expired:"pairing_not_expired",emit_inactive_pairing:"emit_inactive_pairing",emit_session_proposal:"emit_session_proposal",subscribing_to_pairing_topic:"subscribing_to_pairing_topic"},ts={no_wss_connection:"no_wss_connection",no_internet_connection:"no_internet_connection",malformed_pairing_uri:"malformed_pairing_uri",active_pairing_already_exists:"active_pairing_already_exists",subscribe_pairing_topic_failure:"subscribe_pairing_topic_failure",pairing_expired:"pairing_expired",proposal_expired:"proposal_expired",proposal_listener_not_found:"proposal_listener_not_found"},Tt={session_approve_started:"session_approve_started",proposal_not_expired:"proposal_not_expired",session_namespaces_validation_success:"session_namespaces_validation_success",create_session_topic:"create_session_topic",subscribing_session_topic:"subscribing_session_topic",subscribe_session_topic_success:"subscribe_session_topic_success",publishing_session_approve:"publishing_session_approve",session_approve_publish_success:"session_approve_publish_success",store_session:"store_session",publishing_session_settle:"publishing_session_settle",session_settle_publish_success:"session_settle_publish_success"},Os={no_internet_connection:"no_internet_connection",no_wss_connection:"no_wss_connection",proposal_expired:"proposal_expired",subscribe_session_topic_failure:"subscribe_session_topic_failure",session_approve_publish_failure:"session_approve_publish_failure",session_settle_publish_failure:"session_settle_publish_failure",session_approve_namespace_validation_failure:"session_approve_namespace_validation_failure",proposal_not_found:"proposal_not_found"},Ts={authenticated_session_approve_started:"authenticated_session_approve_started",create_authenticated_session_topic:"create_authenticated_session_topic",cacaos_verified:"cacaos_verified",store_authenticated_session:"store_authenticated_session",subscribing_authenticated_session_topic:"subscribing_authenticated_session_topic",subscribe_authenticated_session_topic_success:"subscribe_authenticated_session_topic_success",publishing_authenticated_session_approve:"publishing_authenticated_session_approve"},Yr={no_internet_connection:"no_internet_connection",invalid_cacao:"invalid_cacao",subscribe_authenticated_session_topic_failure:"subscribe_authenticated_session_topic_failure",authenticated_session_approve_publish_failure:"authenticated_session_approve_publish_failure",authenticated_session_pending_request_not_found:"authenticated_session_pending_request_not_found"},Bm=.1,qm="event-client",jm=86400,Fm="https://pulse.walletconnect.org/batch";function Wm(t,e){if(t.length>=255)throw new TypeError("Alphabet too long");for(var s=new Uint8Array(256),r=0;r<s.length;r++)s[r]=255;for(var i=0;i<t.length;i++){var n=t.charAt(i),o=n.charCodeAt(0);if(s[o]!==255)throw new TypeError(n+" is ambiguous");s[o]=i}var a=t.length,c=t.charAt(0),l=Math.log(a)/Math.log(256),d=Math.log(256)/Math.log(a);function h(w){if(w instanceof Uint8Array||(ArrayBuffer.isView(w)?w=new Uint8Array(w.buffer,w.byteOffset,w.byteLength):Array.isArray(w)&&(w=Uint8Array.from(w))),!(w instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(w.length===0)return"";for(var m=0,f=0,y=0,b=w.length;y!==b&&w[y]===0;)y++,m++;for(var I=(b-y)*d+1>>>0,O=new Uint8Array(I);y!==b;){for(var x=w[y],P=0,_=I-1;(x!==0||P<f)&&_!==-1;_--,P++)x+=256*O[_]>>>0,O[_]=x%a>>>0,x=x/a>>>0;if(x!==0)throw new Error("Non-zero carry");f=P,y++}for(var D=I-f;D!==I&&O[D]===0;)D++;for(var v=c.repeat(m);D<I;++D)v+=t.charAt(O[D]);return v}function u(w){if(typeof w!="string")throw new TypeError("Expected String");if(w.length===0)return new Uint8Array;var m=0;if(w[m]!==" "){for(var f=0,y=0;w[m]===c;)f++,m++;for(var b=(w.length-m)*l+1>>>0,I=new Uint8Array(b);w[m];){var O=s[w.charCodeAt(m)];if(O===255)return;for(var x=0,P=b-1;(O!==0||x<y)&&P!==-1;P--,x++)O+=a*I[P]>>>0,I[P]=O%256>>>0,O=O/256>>>0;if(O!==0)throw new Error("Non-zero carry");y=x,m++}if(w[m]!==" "){for(var _=b-y;_!==b&&I[_]===0;)_++;for(var D=new Uint8Array(f+(b-_)),v=f;_!==b;)D[v++]=I[_++];return D}}}function g(w){var m=u(w);if(m)return m;throw new Error(`Non-${e} character`)}return{encode:h,decodeUnsafe:u,decode:g}}var zm=Wm,Hm=zm;const hd=t=>{if(t instanceof Uint8Array&&t.constructor.name==="Uint8Array")return t;if(t instanceof ArrayBuffer)return new Uint8Array(t);if(ArrayBuffer.isView(t))return new Uint8Array(t.buffer,t.byteOffset,t.byteLength);throw new Error("Unknown type, must be binary type")},Vm=t=>new TextEncoder().encode(t),Km=t=>new TextDecoder().decode(t);class Gm{constructor(e,s,r){this.name=e,this.prefix=s,this.baseEncode=r}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}}class Jm{constructor(e,s,r){if(this.name=e,this.prefix=s,s.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=s.codePointAt(0),this.baseDecode=r}decode(e){if(typeof e=="string"){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))}else throw Error("Can only multibase decode strings")}or(e){return ud(this,e)}}class Ym{constructor(e){this.decoders=e}or(e){return ud(this,e)}decode(e){const s=e[0],r=this.decoders[s];if(r)return r.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}}const ud=(t,e)=>new Ym({...t.decoders||{[t.prefix]:t},...e.decoders||{[e.prefix]:e}});class Zm{constructor(e,s,r,i){this.name=e,this.prefix=s,this.baseEncode=r,this.baseDecode=i,this.encoder=new Gm(e,s,r),this.decoder=new Jm(e,s,i)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}}const Nn=({name:t,prefix:e,encode:s,decode:r})=>new Zm(t,e,s,r),Di=({prefix:t,name:e,alphabet:s})=>{const{encode:r,decode:i}=Hm(s,e);return Nn({prefix:t,name:e,encode:r,decode:n=>hd(i(n))})},Xm=(t,e,s,r)=>{const i={};for(let d=0;d<e.length;++d)i[e[d]]=d;let n=t.length;for(;t[n-1]==="=";)--n;const o=new Uint8Array(n*s/8|0);let a=0,c=0,l=0;for(let d=0;d<n;++d){const h=i[t[d]];if(h===void 0)throw new SyntaxError(`Non-${r} character`);c=c<<s|h,a+=s,a>=8&&(a-=8,o[l++]=255&c>>a)}if(a>=s||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return o},Qm=(t,e,s)=>{const r=e[e.length-1]==="=",i=(1<<s)-1;let n="",o=0,a=0;for(let c=0;c<t.length;++c)for(a=a<<8|t[c],o+=8;o>s;)o-=s,n+=e[i&a>>o];if(o&&(n+=e[i&a<<s-o]),r)for(;n.length*s&7;)n+="=";return n},Je=({name:t,prefix:e,bitsPerChar:s,alphabet:r})=>Nn({prefix:e,name:t,encode(i){return Qm(i,r,s)},decode(i){return Xm(i,r,s,t)}}),ew=Nn({prefix:"\0",name:"identity",encode:t=>Km(t),decode:t=>Vm(t)});var tw=Object.freeze({__proto__:null,identity:ew});const sw=Je({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var rw=Object.freeze({__proto__:null,base2:sw});const iw=Je({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var nw=Object.freeze({__proto__:null,base8:iw});const ow=Di({prefix:"9",name:"base10",alphabet:"0123456789"});var aw=Object.freeze({__proto__:null,base10:ow});const cw=Je({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),lw=Je({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var dw=Object.freeze({__proto__:null,base16:cw,base16upper:lw});const hw=Je({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),uw=Je({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),pw=Je({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),fw=Je({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),gw=Je({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),mw=Je({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),ww=Je({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),yw=Je({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),bw=Je({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var vw=Object.freeze({__proto__:null,base32:hw,base32upper:uw,base32pad:pw,base32padupper:fw,base32hex:gw,base32hexupper:mw,base32hexpad:ww,base32hexpadupper:yw,base32z:bw});const Ew=Di({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),Cw=Di({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var Iw=Object.freeze({__proto__:null,base36:Ew,base36upper:Cw});const Nw=Di({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),Aw=Di({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var _w=Object.freeze({__proto__:null,base58btc:Nw,base58flickr:Aw});const Sw=Je({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),Pw=Je({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),kw=Je({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),Ow=Je({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var Tw=Object.freeze({__proto__:null,base64:Sw,base64pad:Pw,base64url:kw,base64urlpad:Ow});const pd=Array.from("🚀🪐☄🛰🌌🌑🌒🌓🌔🌕🌖🌗🌘🌍🌏🌎🐉☀💻🖥💾💿😂❤😍🤣😊🙏💕😭😘👍😅👏😁🔥🥰💔💖💙😢🤔😆🙄💪😉☺👌🤗💜😔😎😇🌹🤦🎉💞✌✨🤷😱😌🌸🙌😋💗💚😏💛🙂💓🤩😄😀🖤😃💯🙈👇🎶😒🤭❣😜💋👀😪😑💥🙋😞😩😡🤪👊🥳😥🤤👉💃😳✋😚😝😴🌟😬🙃🍀🌷😻😓⭐✅🥺🌈😈🤘💦✔😣🏃💐☹🎊💘😠☝😕🌺🎂🌻😐🖕💝🙊😹🗣💫💀👑🎵🤞😛🔴😤🌼😫⚽🤙☕🏆🤫👈😮🙆🍻🍃🐶💁😲🌿🧡🎁⚡🌞🎈❌✊👋😰🤨😶🤝🚶💰🍓💢🤟🙁🚨💨🤬✈🎀🍺🤓😙💟🌱😖👶🥴▶➡❓💎💸⬇😨🌚🦋😷🕺⚠🙅😟😵👎🤲🤠🤧📌🔵💅🧐🐾🍒😗🤑🌊🤯🐷☎💧😯💆👆🎤🙇🍑❄🌴💣🐸💌📍🥀🤢👅💡💩👐📸👻🤐🤮🎼🥵🚩🍎🍊👼💍📣🥂"),$w=pd.reduce((t,e,s)=>(t[s]=e,t),[]),xw=pd.reduce((t,e,s)=>(t[e.codePointAt(0)]=s,t),[]);function Rw(t){return t.reduce((e,s)=>(e+=$w[s],e),"")}function Uw(t){const e=[];for(const s of t){const r=xw[s.codePointAt(0)];if(r===void 0)throw new Error(`Non-base256emoji character: ${s}`);e.push(r)}return new Uint8Array(e)}const Dw=Nn({prefix:"🚀",name:"base256emoji",encode:Rw,decode:Uw});var Lw=Object.freeze({__proto__:null,base256emoji:Dw}),Mw=fd,uc=128,Bw=-128,qw=Math.pow(2,31);function fd(t,e,s){e=e||[],s=s||0;for(var r=s;t>=qw;)e[s++]=t&255|uc,t/=128;for(;t&Bw;)e[s++]=t&255|uc,t>>>=7;return e[s]=t|0,fd.bytes=s-r+1,e}var jw=Co,Fw=128,pc=127;function Co(t,r){var s=0,r=r||0,i=0,n=r,o,a=t.length;do{if(n>=a)throw Co.bytes=0,new RangeError("Could not decode varint");o=t[n++],s+=i<28?(o&pc)<<i:(o&pc)*Math.pow(2,i),i+=7}while(o>=Fw);return Co.bytes=n-r,s}var Ww=Math.pow(2,7),zw=Math.pow(2,14),Hw=Math.pow(2,21),Vw=Math.pow(2,28),Kw=Math.pow(2,35),Gw=Math.pow(2,42),Jw=Math.pow(2,49),Yw=Math.pow(2,56),Zw=Math.pow(2,63),Xw=function(t){return t<Ww?1:t<zw?2:t<Hw?3:t<Vw?4:t<Kw?5:t<Gw?6:t<Jw?7:t<Yw?8:t<Zw?9:10},Qw={encode:Mw,decode:jw,encodingLength:Xw},gd=Qw;const fc=(t,e,s=0)=>(gd.encode(t,e,s),e),gc=t=>gd.encodingLength(t),Io=(t,e)=>{const s=e.byteLength,r=gc(t),i=r+gc(s),n=new Uint8Array(i+s);return fc(t,n,0),fc(s,n,r),n.set(e,i),new ey(t,s,e,n)};class ey{constructor(e,s,r,i){this.code=e,this.size=s,this.digest=r,this.bytes=i}}const md=({name:t,code:e,encode:s})=>new ty(t,e,s);class ty{constructor(e,s,r){this.name=e,this.code=s,this.encode=r}digest(e){if(e instanceof Uint8Array){const s=this.encode(e);return s instanceof Uint8Array?Io(this.code,s):s.then(r=>Io(this.code,r))}else throw Error("Unknown type, must be binary type")}}const wd=t=>async e=>new Uint8Array(await crypto.subtle.digest(t,e)),sy=md({name:"sha2-256",code:18,encode:wd("SHA-256")}),ry=md({name:"sha2-512",code:19,encode:wd("SHA-512")});var iy=Object.freeze({__proto__:null,sha256:sy,sha512:ry});const yd=0,ny="identity",bd=hd,oy=t=>Io(yd,bd(t)),ay={code:yd,name:ny,encode:bd,digest:oy};var cy=Object.freeze({__proto__:null,identity:ay});new TextEncoder,new TextDecoder;const mc={...tw,...rw,...nw,...aw,...dw,...vw,...Iw,..._w,...Tw,...Lw};({...iy,...cy});function ly(t=0){return globalThis.Buffer!=null&&globalThis.Buffer.allocUnsafe!=null?globalThis.Buffer.allocUnsafe(t):new Uint8Array(t)}function vd(t,e,s,r){return{name:t,prefix:e,encoder:{name:t,prefix:e,encode:s},decoder:{decode:r}}}const wc=vd("utf8","u",t=>"u"+new TextDecoder("utf8").decode(t),t=>new TextEncoder().encode(t.substring(1))),zn=vd("ascii","a",t=>{let e="a";for(let s=0;s<t.length;s++)e+=String.fromCharCode(t[s]);return e},t=>{t=t.substring(1);const e=ly(t.length);for(let s=0;s<t.length;s++)e[s]=t.charCodeAt(s);return e}),dy={utf8:wc,"utf-8":wc,hex:mc.base16,latin1:zn,ascii:zn,binary:zn,...mc};function hy(t,e="utf8"){const s=dy[e];if(!s)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(t,"utf8"):s.decoder.decode(`${s.prefix}${t}`)}var uy=Object.defineProperty,py=(t,e,s)=>e in t?uy(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,qt=(t,e,s)=>py(t,typeof e!="symbol"?e+"":e,s);class fy{constructor(e,s){this.core=e,this.logger=s,qt(this,"keychain",new Map),qt(this,"name",fm),qt(this,"version",gm),qt(this,"initialized",!1),qt(this,"storagePrefix",Gt),qt(this,"init",async()=>{if(!this.initialized){const r=await this.getKeyChain();typeof r<"u"&&(this.keychain=r),this.initialized=!0}}),qt(this,"has",r=>(this.isInitialized(),this.keychain.has(r))),qt(this,"set",async(r,i)=>{this.isInitialized(),this.keychain.set(r,i),await this.persist()}),qt(this,"get",r=>{this.isInitialized();const i=this.keychain.get(r);if(typeof i>"u"){const{message:n}=R("NO_MATCHING_KEY",`${this.name}: ${r}`);throw new Error(n)}return i}),qt(this,"del",async r=>{this.isInitialized(),this.keychain.delete(r),await this.persist()}),this.core=e,this.logger=st(s,this.name)}get context(){return bt(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+"//"+this.name}async setKeyChain(e){await this.core.storage.setItem(this.storageKey,ao(e))}async getKeyChain(){const e=await this.core.storage.getItem(this.storageKey);return typeof e<"u"?co(e):void 0}async persist(){await this.setKeyChain(this.keychain)}isInitialized(){if(!this.initialized){const{message:e}=R("NOT_INITIALIZED",this.name);throw new Error(e)}}}var gy=Object.defineProperty,my=(t,e,s)=>e in t?gy(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,Ve=(t,e,s)=>my(t,typeof e!="symbol"?e+"":e,s);class wy{constructor(e,s,r){this.core=e,this.logger=s,Ve(this,"name",um),Ve(this,"keychain"),Ve(this,"randomSessionIdentifier",bo()),Ve(this,"initialized",!1),Ve(this,"init",async()=>{this.initialized||(await this.keychain.init(),this.initialized=!0)}),Ve(this,"hasKeys",i=>(this.isInitialized(),this.keychain.has(i))),Ve(this,"getClientId",async()=>{this.isInitialized();const i=await this.getClientSeed(),n=na(i);return eh(n.publicKey)}),Ve(this,"generateKeyPair",()=>{this.isInitialized();const i=og();return this.setPrivateKey(i.publicKey,i.privateKey)}),Ve(this,"signJWT",async i=>{this.isInitialized();const n=await this.getClientSeed(),o=na(n),a=this.randomSessionIdentifier;return await th(a,i,pm,o)}),Ve(this,"generateSharedKey",(i,n,o)=>{this.isInitialized();const a=this.getPrivateKey(i),c=ag(a,n);return this.setSymKey(c,o)}),Ve(this,"setSymKey",async(i,n)=>{this.isInitialized();const o=n||en(i);return await this.keychain.set(o,i),o}),Ve(this,"deleteKeyPair",async i=>{this.isInitialized(),await this.keychain.del(i)}),Ve(this,"deleteSymKey",async i=>{this.isInitialized(),await this.keychain.del(i)}),Ve(this,"encode",async(i,n,o)=>{this.isInitialized();const a=rd(o),c=sh(n);if(Za(a))return dg(c,o?.encoding);if(Ya(a)){const u=a.senderPublicKey,g=a.receiverPublicKey;i=await this.generateSharedKey(u,g)}const l=this.getSymKey(i),{type:d,senderPublicKey:h}=a;return cg({type:d,symKey:l,message:c,senderPublicKey:h,encoding:o?.encoding})}),Ve(this,"decode",async(i,n,o)=>{this.isInitialized();const a=ug(n,o);if(Za(a)){const c=hg(n,o?.encoding);return oa(c)}if(Ya(a)){const c=a.receiverPublicKey,l=a.senderPublicKey;i=await this.generateSharedKey(c,l)}try{const c=this.getSymKey(i),l=lg({symKey:c,encoded:n,encoding:o?.encoding});return oa(l)}catch(c){this.logger.error(`Failed to decode message from topic: '${i}', clientId: '${await this.getClientId()}'`),this.logger.error(c)}}),Ve(this,"getPayloadType",(i,n=Dt)=>{const o=Ii({encoded:i,encoding:n});return Ks(o.type)}),Ve(this,"getPayloadSenderPublicKey",(i,n=Dt)=>{const o=Ii({encoded:i,encoding:n});return o.senderPublicKey?dt(o.senderPublicKey,tt):void 0}),this.core=e,this.logger=st(s,this.name),this.keychain=r||new fy(this.core,this.logger)}get context(){return bt(this.logger)}async setPrivateKey(e,s){return await this.keychain.set(e,s),e}getPrivateKey(e){return this.keychain.get(e)}async getClientSeed(){let e="";try{e=this.keychain.get(lc)}catch{e=bo(),await this.keychain.set(lc,e)}return hy(e,"base16")}getSymKey(e){return this.keychain.get(e)}isInitialized(){if(!this.initialized){const{message:e}=R("NOT_INITIALIZED",this.name);throw new Error(e)}}}var yy=Object.defineProperty,by=Object.defineProperties,vy=Object.getOwnPropertyDescriptors,yc=Object.getOwnPropertySymbols,Ey=Object.prototype.hasOwnProperty,Cy=Object.prototype.propertyIsEnumerable,No=(t,e,s)=>e in t?yy(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,Iy=(t,e)=>{for(var s in e||(e={}))Ey.call(e,s)&&No(t,s,e[s]);if(yc)for(var s of yc(e))Cy.call(e,s)&&No(t,s,e[s]);return t},Ny=(t,e)=>by(t,vy(e)),ut=(t,e,s)=>No(t,typeof e!="symbol"?e+"":e,s);class Ay extends au{constructor(e,s){super(e,s),this.logger=e,this.core=s,ut(this,"messages",new Map),ut(this,"messagesWithoutClientAck",new Map),ut(this,"name",mm),ut(this,"version",wm),ut(this,"initialized",!1),ut(this,"storagePrefix",Gt),ut(this,"init",async()=>{if(!this.initialized){this.logger.trace("Initialized");try{const r=await this.getRelayerMessages();typeof r<"u"&&(this.messages=r);const i=await this.getRelayerMessagesWithoutClientAck();typeof i<"u"&&(this.messagesWithoutClientAck=i),this.logger.debug(`Successfully Restored records for ${this.name}`),this.logger.trace({type:"method",method:"restore",size:this.messages.size})}catch(r){this.logger.debug(`Failed to Restore records for ${this.name}`),this.logger.error(r)}finally{this.initialized=!0}}}),ut(this,"set",async(r,i,n)=>{this.isInitialized();const o=Ht(i);let a=this.messages.get(r);if(typeof a>"u"&&(a={}),typeof a[o]<"u")return o;if(a[o]=i,this.messages.set(r,a),n===tn.inbound){const c=this.messagesWithoutClientAck.get(r)||{};this.messagesWithoutClientAck.set(r,Ny(Iy({},c),{[o]:i}))}return await this.persist(),o}),ut(this,"get",r=>{this.isInitialized();let i=this.messages.get(r);return typeof i>"u"&&(i={}),i}),ut(this,"getWithoutAck",r=>{this.isInitialized();const i={};for(const n of r){const o=this.messagesWithoutClientAck.get(n)||{};i[n]=Object.values(o)}return i}),ut(this,"has",(r,i)=>{this.isInitialized();const n=this.get(r),o=Ht(i);return typeof n[o]<"u"}),ut(this,"ack",async(r,i)=>{this.isInitialized();const n=this.messagesWithoutClientAck.get(r);if(typeof n>"u")return;const o=Ht(i);delete n[o],Object.keys(n).length===0?this.messagesWithoutClientAck.delete(r):this.messagesWithoutClientAck.set(r,n),await this.persist()}),ut(this,"del",async r=>{this.isInitialized(),this.messages.delete(r),this.messagesWithoutClientAck.delete(r),await this.persist()}),this.logger=st(e,this.name),this.core=s}get context(){return bt(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+"//"+this.name}get storageKeyWithoutClientAck(){return this.storagePrefix+this.version+this.core.customStoragePrefix+"//"+this.name+"_withoutClientAck"}async setRelayerMessages(e){await this.core.storage.setItem(this.storageKey,ao(e))}async setRelayerMessagesWithoutClientAck(e){await this.core.storage.setItem(this.storageKeyWithoutClientAck,ao(e))}async getRelayerMessages(){const e=await this.core.storage.getItem(this.storageKey);return typeof e<"u"?co(e):void 0}async getRelayerMessagesWithoutClientAck(){const e=await this.core.storage.getItem(this.storageKeyWithoutClientAck);return typeof e<"u"?co(e):void 0}async persist(){await this.setRelayerMessages(this.messages),await this.setRelayerMessagesWithoutClientAck(this.messagesWithoutClientAck)}isInitialized(){if(!this.initialized){const{message:e}=R("NOT_INITIALIZED",this.name);throw new Error(e)}}}var _y=Object.defineProperty,Sy=Object.defineProperties,Py=Object.getOwnPropertyDescriptors,bc=Object.getOwnPropertySymbols,ky=Object.prototype.hasOwnProperty,Oy=Object.prototype.propertyIsEnumerable,Ao=(t,e,s)=>e in t?_y(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,Vi=(t,e)=>{for(var s in e||(e={}))ky.call(e,s)&&Ao(t,s,e[s]);if(bc)for(var s of bc(e))Oy.call(e,s)&&Ao(t,s,e[s]);return t},Hn=(t,e)=>Sy(t,Py(e)),$t=(t,e,s)=>Ao(t,typeof e!="symbol"?e+"":e,s);class Ty extends cu{constructor(e,s){super(e,s),this.relayer=e,this.logger=s,$t(this,"events",new Js.EventEmitter),$t(this,"name",ym),$t(this,"queue",new Map),$t(this,"publishTimeout",U.toMiliseconds(U.ONE_MINUTE)),$t(this,"initialPublishTimeout",U.toMiliseconds(U.ONE_SECOND*15)),$t(this,"needsTransportRestart",!1),$t(this,"publish",async(r,i,n)=>{var o;this.logger.debug("Publishing Payload"),this.logger.trace({type:"method",method:"publish",params:{topic:r,message:i,opts:n}});const a=n?.ttl||dc,c=hn(n),l=n?.prompt||!1,d=n?.tag||0,h=n?.id||Cr().toString(),u={topic:r,message:i,opts:{ttl:a,relay:c,prompt:l,tag:d,id:h,attestation:n?.attestation,tvf:n?.tvf}},g=`Failed to publish payload, please try again. id:${h} tag:${d}`;try{const w=new Promise(async m=>{const f=({id:b})=>{u.opts.id===b&&(this.removeRequestFromQueue(b),this.relayer.events.removeListener(je.publish,f),m(u))};this.relayer.events.on(je.publish,f);const y=bs(new Promise((b,I)=>{this.rpcPublish({topic:r,message:i,ttl:a,prompt:l,tag:d,id:h,attestation:n?.attestation,tvf:n?.tvf}).then(b).catch(O=>{this.logger.warn(O,O?.message),I(O)})}),this.initialPublishTimeout,`Failed initial publish, retrying.... id:${h} tag:${d}`);try{await y,this.events.removeListener(je.publish,f)}catch(b){this.queue.set(h,Hn(Vi({},u),{attempt:1})),this.logger.warn(b,b?.message)}});this.logger.trace({type:"method",method:"publish",params:{id:h,topic:r,message:i,opts:n}}),await bs(w,this.publishTimeout,g)}catch(w){if(this.logger.debug("Failed to Publish Payload"),this.logger.error(w),(o=n?.internal)!=null&&o.throwOnFailedPublish)throw w}finally{this.queue.delete(h)}}),$t(this,"on",(r,i)=>{this.events.on(r,i)}),$t(this,"once",(r,i)=>{this.events.once(r,i)}),$t(this,"off",(r,i)=>{this.events.off(r,i)}),$t(this,"removeListener",(r,i)=>{this.events.removeListener(r,i)}),this.relayer=e,this.logger=st(s,this.name),this.registerEventListeners()}get context(){return bt(this.logger)}async rpcPublish(e){var s,r,i,n;const{topic:o,message:a,ttl:c=dc,prompt:l,tag:d,id:h,attestation:u,tvf:g}=e,w={method:ri(hn().protocol).publish,params:Vi({topic:o,message:a,ttl:c,prompt:l,tag:d,attestation:u},g),id:h};Ge((s=w.params)==null?void 0:s.prompt)&&((r=w.params)==null||delete r.prompt),Ge((i=w.params)==null?void 0:i.tag)&&((n=w.params)==null||delete n.tag),this.logger.debug("Outgoing Relay Payload"),this.logger.trace({type:"message",direction:"outgoing",request:w});const m=await this.relayer.request(w);return this.relayer.events.emit(je.publish,e),this.logger.debug("Successfully Published Payload"),m}removeRequestFromQueue(e){this.queue.delete(e)}checkQueue(){this.queue.forEach(async(e,s)=>{const r=e.attempt+1;this.queue.set(s,Hn(Vi({},e),{attempt:r}));const{topic:i,message:n,opts:o,attestation:a}=e;this.logger.warn({},`Publisher: queue->publishing: ${e.opts.id}, tag: ${e.opts.tag}, attempt: ${r}`),await this.rpcPublish(Hn(Vi({},e),{topic:i,message:n,ttl:o.ttl,prompt:o.prompt,tag:o.tag,id:o.id,attestation:a,tvf:o.tvf})),this.logger.warn({},`Publisher: queue->published: ${e.opts.id}`)})}registerEventListeners(){this.relayer.core.heartbeat.on(qr.pulse,()=>{if(this.needsTransportRestart){this.needsTransportRestart=!1,this.relayer.events.emit(je.connection_stalled);return}this.checkQueue()}),this.relayer.on(je.message_ack,e=>{this.removeRequestFromQueue(e.id.toString())})}}var $y=Object.defineProperty,xy=(t,e,s)=>e in t?$y(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,nr=(t,e,s)=>xy(t,typeof e!="symbol"?e+"":e,s);class Ry{constructor(){nr(this,"map",new Map),nr(this,"set",(e,s)=>{const r=this.get(e);this.exists(e,s)||this.map.set(e,[...r,s])}),nr(this,"get",e=>this.map.get(e)||[]),nr(this,"exists",(e,s)=>this.get(e).includes(s)),nr(this,"delete",(e,s)=>{if(typeof s>"u"){this.map.delete(e);return}if(!this.map.has(e))return;const r=this.get(e);if(!this.exists(e,s))return;const i=r.filter(n=>n!==s);if(!i.length){this.map.delete(e);return}this.map.set(e,i)}),nr(this,"clear",()=>{this.map.clear()})}get topics(){return Array.from(this.map.keys())}}var Uy=Object.defineProperty,Dy=Object.defineProperties,Ly=Object.getOwnPropertyDescriptors,vc=Object.getOwnPropertySymbols,My=Object.prototype.hasOwnProperty,By=Object.prototype.propertyIsEnumerable,_o=(t,e,s)=>e in t?Uy(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,Zr=(t,e)=>{for(var s in e||(e={}))My.call(e,s)&&_o(t,s,e[s]);if(vc)for(var s of vc(e))By.call(e,s)&&_o(t,s,e[s]);return t},Vn=(t,e)=>Dy(t,Ly(e)),ye=(t,e,s)=>_o(t,typeof e!="symbol"?e+"":e,s);class qy extends hu{constructor(e,s){super(e,s),this.relayer=e,this.logger=s,ye(this,"subscriptions",new Map),ye(this,"topicMap",new Ry),ye(this,"events",new Js.EventEmitter),ye(this,"name",Am),ye(this,"version",_m),ye(this,"pending",new Map),ye(this,"cached",[]),ye(this,"initialized",!1),ye(this,"storagePrefix",Gt),ye(this,"subscribeTimeout",U.toMiliseconds(U.ONE_MINUTE)),ye(this,"initialSubscribeTimeout",U.toMiliseconds(U.ONE_SECOND*15)),ye(this,"clientId"),ye(this,"batchSubscribeTopicsLimit",500),ye(this,"init",async()=>{this.initialized||(this.logger.trace("Initialized"),this.registerEventListeners(),await this.restore()),this.initialized=!0}),ye(this,"subscribe",async(r,i)=>{this.isInitialized(),this.logger.debug("Subscribing Topic"),this.logger.trace({type:"method",method:"subscribe",params:{topic:r,opts:i}});try{const n=hn(i),o={topic:r,relay:n,transportType:i?.transportType};this.pending.set(r,o);const a=await this.rpcSubscribe(r,n,i);return typeof a=="string"&&(this.onSubscribe(a,o),this.logger.debug("Successfully Subscribed Topic"),this.logger.trace({type:"method",method:"subscribe",params:{topic:r,opts:i}})),a}catch(n){throw this.logger.debug("Failed to Subscribe Topic"),this.logger.error(n),n}}),ye(this,"unsubscribe",async(r,i)=>{this.isInitialized(),typeof i?.id<"u"?await this.unsubscribeById(r,i.id,i):await this.unsubscribeByTopic(r,i)}),ye(this,"isSubscribed",r=>new Promise(i=>{i(this.topicMap.topics.includes(r))})),ye(this,"isKnownTopic",r=>new Promise(i=>{i(this.topicMap.topics.includes(r)||this.pending.has(r)||this.cached.some(n=>n.topic===r))})),ye(this,"on",(r,i)=>{this.events.on(r,i)}),ye(this,"once",(r,i)=>{this.events.once(r,i)}),ye(this,"off",(r,i)=>{this.events.off(r,i)}),ye(this,"removeListener",(r,i)=>{this.events.removeListener(r,i)}),ye(this,"start",async()=>{await this.onConnect()}),ye(this,"stop",async()=>{await this.onDisconnect()}),ye(this,"restart",async()=>{await this.restore(),await this.onRestart()}),ye(this,"checkPending",async()=>{if(this.pending.size===0&&(!this.initialized||!this.relayer.connected))return;const r=[];this.pending.forEach(i=>{r.push(i)}),await this.batchSubscribe(r)}),ye(this,"registerEventListeners",()=>{this.relayer.core.heartbeat.on(qr.pulse,async()=>{await this.checkPending()}),this.events.on(pt.created,async r=>{const i=pt.created;this.logger.info(`Emitting ${i}`),this.logger.debug({type:"event",event:i,data:r}),await this.persist()}),this.events.on(pt.deleted,async r=>{const i=pt.deleted;this.logger.info(`Emitting ${i}`),this.logger.debug({type:"event",event:i,data:r}),await this.persist()})}),this.relayer=e,this.logger=st(s,this.name),this.clientId=""}get context(){return bt(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.relayer.core.customStoragePrefix+"//"+this.name}get length(){return this.subscriptions.size}get ids(){return Array.from(this.subscriptions.keys())}get values(){return Array.from(this.subscriptions.values())}get topics(){return this.topicMap.topics}get hasAnyTopics(){return this.topicMap.topics.length>0||this.pending.size>0||this.cached.length>0||this.subscriptions.size>0}hasSubscription(e,s){let r=!1;try{r=this.getSubscription(e).topic===s}catch{}return r}reset(){this.cached=[],this.initialized=!0}onDisable(){this.values.length>0&&(this.cached=this.values),this.subscriptions.clear(),this.topicMap.clear()}async unsubscribeByTopic(e,s){const r=this.topicMap.get(e);await Promise.all(r.map(async i=>await this.unsubscribeById(e,i,s)))}async unsubscribeById(e,s,r){this.logger.debug("Unsubscribing Topic"),this.logger.trace({type:"method",method:"unsubscribe",params:{topic:e,id:s,opts:r}});try{const i=hn(r);await this.restartToComplete({topic:e,id:s,relay:i}),await this.rpcUnsubscribe(e,s,i);const n=we("USER_DISCONNECTED",`${this.name}, ${e}`);await this.onUnsubscribe(e,s,n),this.logger.debug("Successfully Unsubscribed Topic"),this.logger.trace({type:"method",method:"unsubscribe",params:{topic:e,id:s,opts:r}})}catch(i){throw this.logger.debug("Failed to Unsubscribe Topic"),this.logger.error(i),i}}async rpcSubscribe(e,s,r){var i;(!r||r?.transportType===Ae.relay)&&await this.restartToComplete({topic:e,id:e,relay:s});const n={method:ri(s.protocol).subscribe,params:{topic:e}};this.logger.debug("Outgoing Relay Payload"),this.logger.trace({type:"payload",direction:"outgoing",request:n});const o=(i=r?.internal)==null?void 0:i.throwOnFailedPublish;try{const a=await this.getSubscriptionId(e);if(r?.transportType===Ae.link_mode)return setTimeout(()=>{(this.relayer.connected||this.relayer.connecting)&&this.relayer.request(n).catch(d=>this.logger.warn(d))},U.toMiliseconds(U.ONE_SECOND)),a;const c=new Promise(async d=>{const h=u=>{u.topic===e&&(this.events.removeListener(pt.created,h),d(u.id))};this.events.on(pt.created,h);try{const u=await bs(new Promise((g,w)=>{this.relayer.request(n).catch(m=>{this.logger.warn(m,m?.message),w(m)}).then(g)}),this.initialSubscribeTimeout,`Subscribing to ${e} failed, please try again`);this.events.removeListener(pt.created,h),d(u)}catch{}}),l=await bs(c,this.subscribeTimeout,`Subscribing to ${e} failed, please try again`);if(!l&&o)throw new Error(`Subscribing to ${e} failed, please try again`);return l?a:null}catch(a){if(this.logger.debug("Outgoing Relay Subscribe Payload stalled"),this.relayer.events.emit(je.connection_stalled),o)throw a}return null}async rpcBatchSubscribe(e){if(!e.length)return;const s=e[0].relay,r={method:ri(s.protocol).batchSubscribe,params:{topics:e.map(i=>i.topic)}};this.logger.debug("Outgoing Relay Payload"),this.logger.trace({type:"payload",direction:"outgoing",request:r});try{await await bs(new Promise(i=>{this.relayer.request(r).catch(n=>this.logger.warn(n)).then(i)}),this.subscribeTimeout,"rpcBatchSubscribe failed, please try again")}catch{this.relayer.events.emit(je.connection_stalled)}}async rpcBatchFetchMessages(e){if(!e.length)return;const s=e[0].relay,r={method:ri(s.protocol).batchFetchMessages,params:{topics:e.map(n=>n.topic)}};this.logger.debug("Outgoing Relay Payload"),this.logger.trace({type:"payload",direction:"outgoing",request:r});let i;try{i=await await bs(new Promise((n,o)=>{this.relayer.request(r).catch(a=>{this.logger.warn(a),o(a)}).then(n)}),this.subscribeTimeout,"rpcBatchFetchMessages failed, please try again")}catch{this.relayer.events.emit(je.connection_stalled)}return i}rpcUnsubscribe(e,s,r){const i={method:ri(r.protocol).unsubscribe,params:{topic:e,id:s}};return this.logger.debug("Outgoing Relay Payload"),this.logger.trace({type:"payload",direction:"outgoing",request:i}),this.relayer.request(i)}onSubscribe(e,s){this.setSubscription(e,Vn(Zr({},s),{id:e})),this.pending.delete(s.topic)}onBatchSubscribe(e){e.length&&e.forEach(s=>{this.setSubscription(s.id,Zr({},s)),this.pending.delete(s.topic)})}async onUnsubscribe(e,s,r){this.events.removeAllListeners(s),this.hasSubscription(s,e)&&this.deleteSubscription(s,r),await this.relayer.messages.del(e)}async setRelayerSubscriptions(e){await this.relayer.core.storage.setItem(this.storageKey,e)}async getRelayerSubscriptions(){return await this.relayer.core.storage.getItem(this.storageKey)}setSubscription(e,s){this.logger.debug("Setting subscription"),this.logger.trace({type:"method",method:"setSubscription",id:e,subscription:s}),this.addSubscription(e,s)}addSubscription(e,s){this.subscriptions.set(e,Zr({},s)),this.topicMap.set(s.topic,e),this.events.emit(pt.created,s)}getSubscription(e){this.logger.debug("Getting subscription"),this.logger.trace({type:"method",method:"getSubscription",id:e});const s=this.subscriptions.get(e);if(!s){const{message:r}=R("NO_MATCHING_KEY",`${this.name}: ${e}`);throw new Error(r)}return s}deleteSubscription(e,s){this.logger.debug("Deleting subscription"),this.logger.trace({type:"method",method:"deleteSubscription",id:e,reason:s});const r=this.getSubscription(e);this.subscriptions.delete(e),this.topicMap.delete(r.topic,e),this.events.emit(pt.deleted,Vn(Zr({},r),{reason:s}))}async persist(){await this.setRelayerSubscriptions(this.values),this.events.emit(pt.sync)}async onRestart(){if(this.cached.length){const e=[...this.cached],s=Math.ceil(this.cached.length/this.batchSubscribeTopicsLimit);for(let r=0;r<s;r++){const i=e.splice(0,this.batchSubscribeTopicsLimit);await this.batchSubscribe(i)}}this.events.emit(pt.resubscribed)}async restore(){try{const e=await this.getRelayerSubscriptions();if(typeof e>"u"||!e.length)return;if(this.subscriptions.size){const{message:s}=R("RESTORE_WILL_OVERRIDE",this.name);throw this.logger.error(s),this.logger.error(`${this.name}: ${JSON.stringify(this.values)}`),new Error(s)}this.cached=e,this.logger.debug(`Successfully Restored subscriptions for ${this.name}`),this.logger.trace({type:"method",method:"restore",subscriptions:this.values})}catch(e){this.logger.debug(`Failed to Restore subscriptions for ${this.name}`),this.logger.error(e)}}async batchSubscribe(e){e.length&&(await this.rpcBatchSubscribe(e),this.onBatchSubscribe(await Promise.all(e.map(async s=>Vn(Zr({}
13,s),{id:await this.getSubscriptionId(s.topic)})))))}async batchFetchMessages(e){if(!e.length)return;this.logger.trace(`Fetching batch messages for ${e.length} subscriptions`);const s=await this.rpcBatchFetchMessages(e);s&&s.messages&&(await Vu(U.toMiliseconds(U.ONE_SECOND)),await this.relayer.handleBatchMessageEvents(s.messages))}async onConnect(){await this.restart(),this.reset()}onDisconnect(){this.onDisable()}isInitialized(){if(!this.initialized){const{message:e}=R("NOT_INITIALIZED",this.name);throw new Error(e)}}async restartToComplete(e){!this.relayer.connected&&!this.relayer.connecting&&(this.cached.push(e),await this.relayer.transportOpen())}async getClientId(){return this.clientId||(this.clientId=await this.relayer.core.crypto.getClientId()),this.clientId}async getSubscriptionId(e){return Ht(e+await this.getClientId())}}var jy=Object.defineProperty,Ec=Object.getOwnPropertySymbols,Fy=Object.prototype.hasOwnProperty,Wy=Object.prototype.propertyIsEnumerable,So=(t,e,s)=>e in t?jy(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,Cc=(t,e)=>{for(var s in e||(e={}))Fy.call(e,s)&&So(t,s,e[s]);if(Ec)for(var s of Ec(e))Wy.call(e,s)&&So(t,s,e[s]);return t},le=(t,e,s)=>So(t,typeof e!="symbol"?e+"":e,s);class zy extends lu{constructor(e){super(e),le(this,"protocol","wc"),le(this,"version",2),le(this,"core"),le(this,"logger"),le(this,"events",new Js.EventEmitter),le(this,"provider"),le(this,"messages"),le(this,"subscriber"),le(this,"publisher"),le(this,"name",vm),le(this,"transportExplicitlyClosed",!1),le(this,"initialized",!1),le(this,"connectionAttemptInProgress",!1),le(this,"relayUrl"),le(this,"projectId"),le(this,"packageName"),le(this,"bundleId"),le(this,"hasExperiencedNetworkDisruption",!1),le(this,"pingTimeout"),le(this,"heartBeatTimeout",U.toMiliseconds(U.THIRTY_SECONDS+U.FIVE_SECONDS)),le(this,"reconnectTimeout"),le(this,"connectPromise"),le(this,"reconnectInProgress",!1),le(this,"requestsInFlight",[]),le(this,"connectTimeout",U.toMiliseconds(U.ONE_SECOND*15)),le(this,"request",async s=>{var r,i;this.logger.debug("Publishing Request Payload");const n=s.id||Cr().toString();await this.toEstablishConnection();try{this.logger.trace({id:n,method:s.method,topic:(r=s.params)==null?void 0:r.topic},"relayer.request - publishing...");const o=`${n}:${((i=s.params)==null?void 0:i.tag)||""}`;this.requestsInFlight.push(o);const a=await this.provider.request(s);return this.requestsInFlight=this.requestsInFlight.filter(c=>c!==o),a}catch(o){throw this.logger.debug(`Failed to Publish Request: ${n}`),o}}),le(this,"resetPingTimeout",()=>{ln()&&(clearTimeout(this.pingTimeout),this.pingTimeout=setTimeout(()=>{var s,r,i,n;try{this.logger.debug({},"pingTimeout: Connection stalled, terminating..."),(n=(i=(r=(s=this.provider)==null?void 0:s.connection)==null?void 0:r.socket)==null?void 0:i.terminate)==null||n.call(i)}catch(o){this.logger.warn(o,o?.message)}},this.heartBeatTimeout))}),le(this,"onPayloadHandler",s=>{this.onProviderPayload(s),this.resetPingTimeout()}),le(this,"onConnectHandler",()=>{this.logger.warn({},"Relayer connected 🛜"),this.startPingTimeout(),this.events.emit(je.connect)}),le(this,"onDisconnectHandler",()=>{this.logger.warn({},"Relayer disconnected 🛑"),this.requestsInFlight=[],this.onProviderDisconnect()}),le(this,"onProviderErrorHandler",s=>{this.logger.fatal(`Fatal socket error: ${s.message}`),this.events.emit(je.error,s),this.logger.fatal("Fatal socket error received, closing transport"),this.transportClose()}),le(this,"registerProviderListeners",()=>{this.provider.on(It.payload,this.onPayloadHandler),this.provider.on(It.connect,this.onConnectHandler),this.provider.on(It.disconnect,this.onDisconnectHandler),this.provider.on(It.error,this.onProviderErrorHandler)}),this.core=e.core,this.logger=typeof e.logger<"u"&&typeof e.logger!="string"?st(e.logger,this.name):Lo(Si({level:e.logger||bm})),this.messages=new Ay(this.logger,e.core),this.subscriber=new qy(this,this.logger),this.publisher=new Ty(this,this.logger),this.relayUrl=e?.relayUrl||ld,this.projectId=e.projectId,Ou()?this.packageName=va():Tu()&&(this.bundleId=va()),this.provider={}}
vendor: 24,790 bytes, line 13
13async init(){if(this.logger.trace("Initialized"),this.registerEventListeners(),await Promise.all([this.messages.init(),this.subscriber.init()]),this.initialized=!0,this.subscriber.hasAnyTopics)try{await this.transportOpen()}catch(e){this.logger.warn(e,e?.message)}}get context(){return bt(this.logger)}get connected(){var e,s,r;return((r=(s=(e=this.provider)==null?void 0:e.connection)==null?void 0:s.socket)==null?void 0:r.readyState)===1||!1}get connecting(){var e,s,r;return((r=(s=(e=this.provider)==null?void 0:e.connection)==null?void 0:s.socket)==null?void 0:r.readyState)===0||this.connectPromise!==void 0||!1}async publish(e,s,r){this.isInitialized(),await this.publisher.publish(e,s,r),await this.recordMessageEvent({topic:e,message:s,publishedAt:Date.now(),transportType:Ae.relay},tn.outbound)}async subscribe(e,s){var r,i,n;this.isInitialized(),(!(s!=null&&s.transportType)||s?.transportType==="relay")&&await this.toEstablishConnection();const o=typeof((r=s?.internal)==null?void 0:r.throwOnFailedPublish)>"u"?!0:(i=s?.internal)==null?void 0:i.throwOnFailedPublish;let a=((n=this.subscriber.topicMap.get(e))==null?void 0:n[0])||"",c;const l=d=>{d.topic===e&&(this.subscriber.off(pt.created,l),c())};return await Promise.all([new Promise(d=>{c=d,this.subscriber.on(pt.created,l)}),new Promise(async(d,h)=>{a=await this.subscriber.subscribe(e,Cc({internal:{throwOnFailedPublish:o}},s)).catch(u=>{o&&h(u)})||a,d()})]),a}async unsubscribe(e,s){this.isInitialized(),await this.subscriber.unsubscribe(e,s)}on(e,s){this.events.on(e,s)}once(e,s){this.events.once(e,s)}off(e,s){this.events.off(e,s)}removeListener(e,s){this.events.removeListener(e,s)}async transportDisconnect(){this.provider.disconnect&&(this.hasExperiencedNetworkDisruption||this.connected)?await bs(this.provider.disconnect(),2e3,"provider.disconnect()").catch(()=>this.onProviderDisconnect()):this.onProviderDisconnect()}async transportClose(){this.transportExplicitlyClosed=!0,await this.transportDisconnect()}async transportOpen(e){if(!this.subscriber.hasAnyTopics){this.logger.warn("Starting WS connection skipped because the client has no topics to work with.");return}if(this.connectPromise?(this.logger.debug({},"Waiting for existing connection attempt to resolve..."),await this.connectPromise,this.logger.debug({},"Existing connection attempt resolved")):(this.connectPromise=new Promise(async(s,r)=>{await this.connect(e).then(s).catch(r).finally(()=>{this.connectPromise=void 0})}),await this.connectPromise),!this.connected)throw new Error(`Couldn't establish socket connection to the relay server: ${this.relayUrl}`)}async restartTransport(e){this.logger.debug({},"Restarting transport..."),!this.connectionAttemptInProgress&&(this.relayUrl=e||this.relayUrl,await this.confirmOnlineStateOrThrow(),await this.transportClose(),await this.transportOpen())}async confirmOnlineStateOrThrow(){if(!await cc())throw new Error("No internet connection detected. Please restart your network and try again.")}async handleBatchMessageEvents(e){if(e?.length===0){this.logger.trace("Batch message events is empty. Ignoring...");return}const s=e.sort((r,i)=>r.publishedAt-i.publishedAt);this.logger.debug(`Batch of ${s.length} message events sorted`);for(const r of s)try{await this.onMessageEvent(r)}catch(i){this.logger.warn(i,"Error while processing batch message event: "+i?.message)}this.logger.trace(`Batch of ${s.length} message events processed`)}async onLinkMessageEvent(e,s){const{topic:r}=e;if(!s.sessionExists){const i=De(U.FIVE_MINUTES),n={topic:r,expiry:i,relay:{protocol:"irn"},active:!1};await this.core.pairing.pairings.set(r,n)}this.events.emit(je.message,e),await this.recordMessageEvent(e,tn.inbound)}async connect(e){await this.confirmOnlineStateOrThrow(),e&&e!==this.relayUrl&&(this.relayUrl=e,await this.transportDisconnect()),this.connectionAttemptInProgress=!0,this.transportExplicitlyClosed=!1;let s=1;for(;s<6;){try{if(this.transportExplicitlyClosed)break;this.logger.debug({},`Connecting to ${this.relayUrl}, attempt: ${s}...`),await this.createProvider(),await new Promise(async(r,i)=>{const n=()=>{i(new Error("Connection interrupted while trying to subscribe"))};this.provider.once(It.disconnect,n),await bs(new Promise((o,a)=>{this.provider.connect().then(o).catch(a)}),this.connectTimeout,`Socket stalled when trying to connect to ${this.relayUrl}`).catch(o=>{i(o)}).finally(()=>{this.provider.off(It.disconnect,n),clearTimeout(this.reconnectTimeout)}),await new Promise(async(o,a)=>{const c=()=>{a(new Error("Connection interrupted while trying to subscribe"))};this.provider.once(It.disconnect,c),await this.subscriber.start().then(o).catch(a).finally(()=>{this.provider.off(It.disconnect,c)})}),this.hasExperiencedNetworkDisruption=!1,r()})}catch(r){await this.subscriber.stop();const i=r;this.logger.warn({},i.message),this.hasExperiencedNetworkDisruption=!0}finally{this.connectionAttemptInProgress=!1}if(this.connected){this.logger.debug({},`Connected to ${this.relayUrl} successfully on attempt: ${s}`);break}await new Promise(r=>setTimeout(r,U.toMiliseconds(s*1))),s++}}startPingTimeout(){var e,s,r,i,n;if(ln())try{(s=(e=this.provider)==null?void 0:e.connection)!=null&&s.socket&&((n=(i=(r=this.provider)==null?void 0:r.connection)==null?void 0:i.socket)==null||n.on("ping",()=>{this.resetPingTimeout()})),this.resetPingTimeout()}catch(o){this.logger.warn(o,o?.message)}}async createProvider(){this.provider.connection&&this.unregisterProviderListeners();const e=await this.core.crypto.signJWT(this.relayUrl);this.provider=new Pt(new Qd(Du({sdkVersion:Eo,protocol:this.protocol,version:this.version,relayUrl:this.relayUrl,projectId:this.projectId,auth:e,useOnCloseEvent:!0,bundleId:this.bundleId,packageName:this.packageName}))),this.registerProviderListeners()}async recordMessageEvent(e,s){const{topic:r,message:i}=e;await this.messages.set(r,i,s)}async shouldIgnoreMessageEvent(e){const{topic:s,message:r}=e;if(!r||r.length===0)return this.logger.warn(`Ignoring invalid/empty message: ${r}`),!0;if(!await this.subscriber.isKnownTopic(s))return this.logger.warn(`Ignoring message for unknown topic ${s}`),!0;const i=this.messages.has(s,r);return i&&this.logger.warn(`Ignoring duplicate message: ${r}`),i}async onProviderPayload(e){if(this.logger.debug("Incoming Relay Payload"),this.logger.trace({type:"payload",direction:"incoming",payload:e}),Mo(e)){if(!e.method.endsWith(Em))return;const s=e.params,{topic:r,message:i,publishedAt:n,attestation:o}=s.data,a={topic:r,message:i,publishedAt:n,transportType:Ae.relay,attestation:o};this.logger.debug("Emitting Relayer Payload"),this.logger.trace(Cc({type:"event",event:s.id},a)),this.events.emit(s.id,a),await this.acknowledgePayload(e),await this.onMessageEvent(a)}else Bo(e)&&this.events.emit(je.message_ack,e)}async onMessageEvent(e){await this.shouldIgnoreMessageEvent(e)||(await this.recordMessageEvent(e,tn.inbound),this.events.emit(je.message,e))}async acknowledgePayload(e){const s=mn(e.id,!0);await this.provider.connection.send(s)}unregisterProviderListeners(){this.provider.off(It.payload,this.onPayloadHandler),this.provider.off(It.connect,this.onConnectHandler),this.provider.off(It.disconnect,this.onDisconnectHandler),this.provider.off(It.error,this.onProviderErrorHandler),clearTimeout(this.pingTimeout)}async registerEventListeners(){let e=await cc();nm(async s=>{e!==s&&(e=s,s?await this.transportOpen().catch(r=>this.logger.error(r,r?.message)):(this.hasExperiencedNetworkDisruption=!0,await this.transportDisconnect(),this.transportExplicitlyClosed=!1))}),this.core.heartbeat.on(qr.pulse,async()=>{if(!this.transportExplicitlyClosed&&!this.connected&&cm())try{await this.confirmOnlineStateOrThrow(),await this.transportOpen()}catch(s){this.logger.warn(s,s?.message)}})}async onProviderDisconnect(){clearTimeout(this.pingTimeout),this.events.emit(je.disconnect),this.connectionAttemptInProgress=!1,!this.reconnectInProgress&&(this.reconnectInProgress=!0,await this.subscriber.stop(),this.subscriber.hasAnyTopics&&(this.transportExplicitlyClosed||(this.reconnectTimeout=setTimeout(async()=>{await this.transportOpen().catch(e=>this.logger.error(e,e?.message)),this.reconnectTimeout=void 0,this.reconnectInProgress=!1},U.toMiliseconds(Cm)))))}isInitialized(){if(!this.initialized){const{message:e}=R("NOT_INITIALIZED",this.name);throw new Error(e)}}async toEstablishConnection(){if(await this.confirmOnlineStateOrThrow(),!this.connected){if(this.connectPromise){await this.connectPromise;return}await this.connect()}}}function Hy(){}function Ic(t){if(!t||typeof t!="object")return!1;const e=Object.getPrototypeOf(t);return e===null||e===Object.prototype||Object.getPrototypeOf(e)===null?Object.prototype.toString.call(t)==="[object Object]":!1}function Nc(t){return Object.getOwnPropertySymbols(t).filter(e=>Object.prototype.propertyIsEnumerable.call(t,e))}function Ac(t){return t==null?t===void 0?"[object Undefined]":"[object Null]":Object.prototype.toString.call(t)}const Vy="[object RegExp]",Ky="[object String]",Gy="[object Number]",Jy="[object Boolean]",_c="[object Arguments]",Yy="[object Symbol]",Zy="[object Date]",Xy="[object Map]",Qy="[object Set]",eb="[object Array]",tb="[object Function]",sb="[object ArrayBuffer]",Kn="[object Object]",rb="[object Error]",ib="[object DataView]",nb="[object Uint8Array]",ob="[object Uint8ClampedArray]",ab="[object Uint16Array]",cb="[object Uint32Array]",lb="[object BigUint64Array]",db="[object Int8Array]",hb="[object Int16Array]",ub="[object Int32Array]",pb="[object BigInt64Array]",fb="[object Float32Array]",gb="[object Float64Array]";function mb(t,e){return t===e||Number.isNaN(t)&&Number.isNaN(e)}function wb(t,e,s){return ii(t,e,void 0,void 0,void 0,void 0,s)}function ii(t,e,s,r,i,n,o){const a=o(t,e,s,r,i,n);if(a!==void 0)return a;if(typeof t==typeof e)switch(typeof t){case"bigint":case"string":case"boolean":case"symbol":case"undefined":return t===e;case"number":return t===e||Object.is(t,e);case"function":return t===e;case"object":return ui(t,e,n,o)}return ui(t,e,n,o)}function ui(t,e,s,r){if(Object.is(t,e))return!0;let i=Ac(t),n=Ac(e);if(i===_c&&(i=Kn),n===_c&&(n=Kn),i!==n)return!1;switch(i){case Ky:return t.toString()===e.toString();case Gy:{const c=t.valueOf(),l=e.valueOf();return mb(c,l)}case Jy:case Zy:case Yy:return Object.is(t.valueOf(),e.valueOf());case Vy:return t.source===e.source&&t.flags===e.flags;case tb:return t===e}s=s??new Map;const o=s.get(t),a=s.get(e);if(o!=null&&a!=null)return o===e;s.set(t,e),s.set(e,t);try{switch(i){case Xy:{if(t.size!==e.size)return!1;for(const[c,l]of t.entries())if(!e.has(c)||!ii(l,e.get(c),c,t,e,s,r))return!1;return!0}case Qy:{if(t.size!==e.size)return!1;const c=Array.from(t.values()),l=Array.from(e.values());for(let d=0;d<c.length;d++){const h=c[d],u=l.findIndex(g=>ii(h,g,void 0,t,e,s,r));if(u===-1)return!1;l.splice(u,1)}return!0}case eb:case nb:case ob:case ab:case cb:case lb:case db:case hb:case ub:case pb:case fb:case gb:{if(typeof Buffer<"u"&&Buffer.isBuffer(t)!==Buffer.isBuffer(e)||t.length!==e.length)return!1;for(let c=0;c<t.length;c++)if(!ii(t[c],e[c],c,t,e,s,r))return!1;return!0}case sb:return t.byteLength!==e.byteLength?!1:ui(new Uint8Array(t),new Uint8Array(e),s,r);case ib:return t.byteLength!==e.byteLength||t.byteOffset!==e.byteOffset?!1:ui(new Uint8Array(t),new Uint8Array(e),s,r);case rb:return t.name===e.name&&t.message===e.message;case Kn:{if(!(ui(t.constructor,e.constructor,s,r)||Ic(t)&&Ic(e)))return!1;const c=[...Object.keys(t),...Nc(t)],l=[...Object.keys(e),...Nc(e)];if(c.length!==l.length)return!1;for(let d=0;d<c.length;d++){const h=c[d],u=t[h];if(!Object.hasOwn(e,h))return!1;const g=e[h];if(!ii(u,g,h,t,e,s,r))return!1}return!0}default:return!1}}finally{s.delete(t),s.delete(e)}}function yb(t,e){return wb(t,e,Hy)}var bb=Object.defineProperty,Sc=Object.getOwnPropertySymbols,vb=Object.prototype.hasOwnProperty,Eb=Object.prototype.propertyIsEnumerable,Po=(t,e,s)=>e in t?bb(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,Pc=(t,e)=>{for(var s in e||(e={}))vb.call(e,s)&&Po(t,s,e[s]);if(Sc)for(var s of Sc(e))Eb.call(e,s)&&Po(t,s,e[s]);return t},ot=(t,e,s)=>Po(t,typeof e!="symbol"?e+"":e,s);class Qs extends du{constructor(e,s,r,i=Gt,n=void 0){super(e,s,r,i),this.core=e,this.logger=s,this.name=r,ot(this,"map",new Map),ot(this,"version",Im),ot(this,"cached",[]),ot(this,"initialized",!1),ot(this,"getKey"),ot(this,"storagePrefix",Gt),ot(this,"recentlyDeleted",[]),ot(this,"recentlyDeletedLimit",200),ot(this,"init",async()=>{this.initialized||(this.logger.trace("Initialized"),await this.restore(),this.cached.forEach(o=>{this.getKey&&o!==null&&!Ge(o)?this.map.set(this.getKey(o),o):Dg(o)?this.map.set(o.id,o):Lg(o)&&this.map.set(o.topic,o)}),this.cached=[],this.initialized=!0)}),ot(this,"set",async(o,a)=>{this.isInitialized(),this.map.has(o)?await this.update(o,a):(this.logger.debug("Setting value"),this.logger.trace({type:"method",method:"set",key:o,value:a}),this.map.set(o,a),await this.persist())}),ot(this,"get",o=>(this.isInitialized(),this.logger.debug("Getting value"),this.logger.trace({type:"method",method:"get",key:o}),this.getData(o))),ot(this,"getAll",o=>(this.isInitialized(),o?this.values.filter(a=>Object.keys(o).every(c=>yb(a[c],o[c]))):this.values)),ot(this,"update",async(o,a)=>{this.isInitialized(),this.logger.debug("Updating value"),this.logger.trace({type:"method",method:"update",key:o,update:a});const c=Pc(Pc({},this.getData(o)),a);this.map.set(o,c),await this.persist()}),ot(this,"delete",async(o,a)=>{this.isInitialized(),this.map.has(o)&&(this.logger.debug("Deleting value"),this.logger.trace({type:"method",method:"delete",key:o,reason:a}),this.map.delete(o),this.addToRecentlyDeleted(o),await this.persist())}),this.logger=st(s,this.name),this.storagePrefix=i,this.getKey=n}get context(){return bt(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+"//"+this.name}get length(){return this.map.size}get keys(){return Array.from(this.map.keys())}get values(){return Array.from(this.map.values())}addToRecentlyDeleted(e){this.recentlyDeleted.push(e),this.recentlyDeleted.length>=this.recentlyDeletedLimit&&this.recentlyDeleted.splice(0,this.recentlyDeletedLimit/2)}async setDataStore(e){await this.core.storage.setItem(this.storageKey,e)}async getDataStore(){return await this.core.storage.getItem(this.storageKey)}getData(e){const s=this.map.get(e);if(!s){if(this.recentlyDeleted.includes(e)){const{message:i}=R("MISSING_OR_INVALID",`Record was recently deleted - ${this.name}: ${e}`);throw this.logger.error(i),new Error(i)}const{message:r}=R("NO_MATCHING_KEY",`${this.name}: ${e}`);throw this.logger.error(r),new Error(r)}return s}async persist(){await this.setDataStore(this.values)}async restore(){try{const e=await this.getDataStore();if(typeof e>"u"||!e.length)return;if(this.map.size){const{message:s}=R("RESTORE_WILL_OVERRIDE",this.name);throw this.logger.error(s),new Error(s)}this.cached=e,this.logger.debug(`Successfully Restored value for ${this.name}`),this.logger.trace({type:"method",method:"restore",value:this.values})}catch(e){this.logger.debug(`Failed to Restore value for ${this.name}`),this.logger.error(e)}}isInitialized(){if(!this.initialized){const{message:e}=R("NOT_INITIALIZED",this.name);throw new Error(e)}}}var Cb=Object.defineProperty,Ib=(t,e,s)=>e in t?Cb(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,ie=(t,e,s)=>Ib(t,typeof e!="symbol"?e+"":e,s);class Nb{constructor(e,s){this.core=e,this.logger=s,ie(this,"name",Sm),ie(this,"version",Pm),ie(this,"events",new qo),ie(this,"pairings"),ie(this,"initialized",!1),ie(this,"storagePrefix",Gt),ie(this,"ignoredPayloadTypes",[ns]),ie(this,"registeredMethods",[]),ie(this,"init",async()=>{this.initialized||(await this.pairings.init(),await this.cleanup(),this.registerRelayerEvents(),this.registerExpirerEvents(),this.initialized=!0,this.logger.trace("Initialized"))}),ie(this,"register",({methods:r})=>{this.isInitialized(),this.registeredMethods=[...new Set([...this.registeredMethods,...r])]}),ie(this,"create",async r=>{this.isInitialized();const i=bo(),n=await this.core.crypto.setSymKey(i),o=De(U.FIVE_MINUTES),a={protocol:cd},c={topic:n,expiry:o,relay:a,active:!1,methods:r?.methods},l=Qa({protocol:this.core.protocol,version:this.core.version,topic:n,symKey:i,relay:a,expiryTimestamp:o,methods:r?.methods});return this.events.emit(Ls.create,c),this.core.expirer.set(n,o),await this.pairings.set(n,c),await this.core.relayer.subscribe(n,{transportType:r?.transportType}),{topic:n,uri:l}}),ie(this,"pair",async r=>{this.isInitialized();const i=this.core.eventClient.createEvent({properties:{topic:r?.uri,trace:[Ft.pairing_started]}});this.isValidPair(r,i);const{topic:n,symKey:o,relay:a,expiryTimestamp:c,methods:l}=Xa(r.uri);i.props.properties.topic=n,i.addTrace(Ft.pairing_uri_validation_success),i.addTrace(Ft.pairing_uri_not_expired);let d;if(this.pairings.keys.includes(n)){if(d=this.pairings.get(n),i.addTrace(Ft.existing_pairing),d.active)throw i.setError(ts.active_pairing_already_exists),new Error(`Pairing already exists: ${n}. Please try again with a new connection URI.`);i.addTrace(Ft.pairing_not_expired)}const h=c||De(U.FIVE_MINUTES),u={topic:n,relay:a,expiry:h,active:!1,methods:l};this.core.expirer.set(n,h),await this.pairings.set(n,u),i.addTrace(Ft.store_new_pairing),r.activatePairing&&await this.activate({topic:n}),this.events.emit(Ls.create,u),i.addTrace(Ft.emit_inactive_pairing),this.core.crypto.keychain.has(n)||await this.core.crypto.setSymKey(o,n),i.addTrace(Ft.subscribing_pairing_topic);try{await this.core.relayer.confirmOnlineStateOrThrow()}catch{i.setError(ts.no_internet_connection)}try{await this.core.relayer.subscribe(n,{relay:a})}catch(g){throw i.setError(ts.subscribe_pairing_topic_failure),g}return i.addTrace(Ft.subscribe_pairing_topic_success),u}),ie(this,"activate",async({topic:r})=>{this.isInitialized();const i=De(U.FIVE_MINUTES);this.core.expirer.set(r,i),await this.pairings.update(r,{active:!0,expiry:i})}),ie(this,"ping",async r=>{this.isInitialized(),await this.isValidPing(r),this.logger.warn("ping() is deprecated and will be removed in the next major release.");const{topic:i}=r;if(this.pairings.keys.includes(i)){const n=await this.sendRequest(i,"wc_pairingPing",{}),{done:o,resolve:a,reject:c}=Rs();this.events.once(pe("pairing_ping",n),({error:l})=>{l?c(l):a()}),await o()}}),ie(this,"updateExpiry",async({topic:r,expiry:i})=>{this.isInitialized(),await this.pairings.update(r,{expiry:i})}),ie(this,"updateMetadata",async({topic:r,metadata:i})=>{this.isInitialized(),await this.pairings.update(r,{peerMetadata:i})}),ie(this,"getPairings",()=>(this.isInitialized(),this.pairings.values)),ie(this,"disconnect",async r=>{this.isInitialized(),await this.isValidDisconnect(r);const{topic:i}=r;this.pairings.keys.includes(i)&&(await this.sendRequest(i,"wc_pairingDelete",we("USER_DISCONNECTED")),await this.deletePairing(i))}),ie(this,"formatUriFromPairing",r=>{this.isInitialized();const{topic:i,relay:n,expiry:o,methods:a}=r,c=this.core.crypto.keychain.get(i);return Qa({protocol:this.core.protocol,version:this.core.version,topic:i,symKey:c,relay:n,expiryTimestamp:o,methods:a})}),ie(this,"sendRequest",async(r,i,n)=>{const o=Bs(i,n),a=await this.core.crypto.encode(r,o),c=Jr[i].req;return this.core.history.set(r,o),this.core.relayer.publish(r,a,c),o.id}),ie(this,"sendResult",async(r,i,n)=>{const o=mn(r,n),a=await this.core.crypto.encode(i,o),c=(await this.core.history.get(i,r)).request.method,l=Jr[c].res;await this.core.relayer.publish(i,a,l),await this.core.history.resolve(o)}),ie(this,"sendError",async(r,i,n)=>{const o=ul(r,n),a=await this.core.crypto.encode(i,o),c=(await this.core.history.get(i,r)).request.method,l=Jr[c]?Jr[c].res:Jr.unregistered_method.res;await this.core.relayer.publish(i,a,l),await this.core.history.resolve(o)}),ie(this,"deletePairing",async(r,i)=>{await this.core.relayer.unsubscribe(r),await Promise.all([this.pairings.delete(r,we("USER_DISCONNECTED")),this.core.crypto.deleteSymKey(r),i?Promise.resolve():this.core.expirer.del(r)])}),ie(this,"cleanup",async()=>{const r=this.pairings.getAll().filter(i=>gs(i.expiry));await Promise.all(r.map(i=>this.deletePairing(i.topic)))}),ie(this,"onRelayEventRequest",async r=>{const{topic:i,payload:n}=r;switch(n.method){case"wc_pairingPing":return await this.onPairingPingRequest(i,n);case"wc_pairingDelete":return await this.onPairingDeleteRequest(i,n);default:return await this.onUnknownRpcMethodRequest(i,n)}}),ie(this,"onRelayEventResponse",async r=>{const{topic:i,payload:n}=r,o=(await this.core.history.get(i,n.id)).request.method;switch(o){case"wc_pairingPing":return this.onPairingPingResponse(i,n);default:return this.onUnknownRpcMethodResponse(o)}}),ie(this,"onPairingPingRequest",async(r,i)=>{const{id:n}=i;try{this.isValidPing({topic:r}),await this.sendResult(n,r,!0),this.events.emit(Ls.ping,{id:n,topic:r})}catch(o){await this.sendError(n,r,o),this.logger.error(o)}}),ie(this,"onPairingPingResponse",(r,i)=>{const{id:n}=i;setTimeout(()=>{es(i)?this.events.emit(pe("pairing_ping",n),{}):Wt(i)&&this.events.emit(pe("pairing_ping",n),{error:i.error})},500)}),ie(this,"onPairingDeleteRequest",async(r,i)=>{const{id:n}=i;try{this.isValidDisconnect({topic:r}),await this.deletePairing(r),this.events.emit(Ls.delete,{id:n,topic:r})}catch(o){await this.sendError(n,r,o),this.logger.error(o)}}),ie(this,"onUnknownRpcMethodRequest",async(r,i)=>{const{id:n,method:o}=i;try{if(this.registeredMethods.includes(o))return;const a=we("WC_METHOD_UNSUPPORTED",o);await this.sendError(n,r,a),this.logger.error(a)}catch(a){await this.sendError(n,r,a),this.logger.error(a)}}),ie(this,"onUnknownRpcMethodResponse",r=>{this.registeredMethods.includes(r)||this.logger.error(we("WC_METHOD_UNSUPPORTED",r))}),ie(this,"isValidPair",(r,i)=>{var n;if(!ct(r)){const{message:a}=R("MISSING_OR_INVALID",`pair() params: ${r}`);throw i.setError(ts.malformed_pairing_uri),new Error(a)}if(!Ug(r.uri)){const{message:a}=R("MISSING_OR_INVALID",`pair() uri: ${r.uri}`);throw i.setError(ts.malformed_pairing_uri),new Error(a)}const o=Xa(r?.uri);if(!((n=o?.relay)!=null&&n.protocol)){const{message:a}=R("MISSING_OR_INVALID","pair() uri#relay-protocol");throw i.setError(ts.malformed_pairing_uri),new Error(a)}if(!(o!=null&&o.symKey)){const{message:a}=R("MISSING_OR_INVALID","pair() uri#symKey");throw i.setError(ts.malformed_pairing_uri),new Error(a)}if(o!=null&&o.expiryTimestamp&&U.toMiliseconds(o?.expiryTimestamp)<Date.now()){i.setError(ts.pairing_expired);const{message:a}=R("EXPIRED","pair() URI has expired. Please try again with a new connection URI.");throw new Error(a)}}),ie(this,"isValidPing",async r=>{if(!ct(r)){const{message:n}=R("MISSING_OR_INVALID",`ping() params: ${r}`);throw new Error(n)}const{topic:i}=r;await this.isValidPairingTopic(i)}),ie(this,"isValidDisconnect",async r=>{if(!ct(r)){const{message:n}=R("MISSING_OR_INVALID",`disconnect() params: ${r}`);throw new Error(n)}const{topic:i}=r;await this.isValidPairingTopic(i)}),ie(this,"isValidPairingTopic",async r=>{if(!$e(r,!1)){const{message:i}=R("MISSING_OR_INVALID",`pairing topic should be a string: ${r}`);throw new Error(i)}if(!this.pairings.keys.includes(r)){const{message:i}=R("NO_MATCHING_KEY",`pairing topic doesn't exist: ${r}`);throw new Error(i)}if(gs(this.pairings.get(r).expiry)){await this.deletePairing(r);const{message:i}=R("EXPIRED",`pairing topic: ${r}`);throw new Error(i)}}),this.core=e,this.logger=st(s,this.name),this.pairings=new Qs(this.core,this.logger,this.name,this.storagePrefix)}get context(){return bt(this.logger)}isInitialized(){if(!this.initialized){const{message:e}=R("NOT_INITIALIZED",this.name);throw new Error(e)}}registerRelayerEvents(){this.core.relayer.on(je.message,async e=>{const{topic:s,message:r,transportType:i}=e;if(this.pairings.keys.includes(s)&&i!==Ae.link_mode&&!this.ignoredPayloadTypes.includes(this.core.crypto.getPayloadType(r)))try{const n=await this.core.crypto.decode(s,r);Mo(n)?(this.core.history.set(s,n),await this.onRelayEventRequest({topic:s,payload:n})):Bo(n)&&(await this.core.history.resolve(n),await this.onRelayEventResponse({topic:s,payload:n}),this.core.history.delete(s,n.id)),await this.core.relayer.messages.ack(s,r)}catch(n){this.logger.error(n)}})}registerExpirerEvents(){this.core.expirer.on(_t.expired,async e=>{const{topic:s}=Nl(e.target);s&&this.pairings.keys.includes(s)&&(await this.deletePairing(s,!0),this.events.emit(Ls.expire,{topic:s}))})}}var Ab=Object.defineProperty,_b=(t,e,s)=>e in t?Ab(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,Ke=(t,e,s)=>_b(t,typeof e!="symbol"?e+"":e,s);class Sb extends ou{constructor(e,s){super(e,s),this.core=e,this.logger=s,Ke(this,"records",new Map),Ke(this,"events",new Js.EventEmitter),Ke(this,"name",km),Ke(this,"version",Om),Ke(this,"cac
13hed",[]),Ke(this,"initialized",!1),Ke(this,"storagePrefix",Gt),Ke(this,"init",async()=>{this.initialized||(this.logger.trace("Initialized"),await this.restore(),this.cached.forEach(r=>this.records.set(r.id,r)),this.cached=[],this.registerEventListeners(),this.initialized=!0)}),Ke(this,"set",(r,i,n)=>{if(this.isInitialized(),this.logger.debug("Setting JSON-RPC request history record"),this.logger.trace({type:"method",method:"set",topic:r,request:i,chainId:n}),this.records.has(i.id))return;const o={id:i.id,topic:r,request:{method:i.method,params:i.params||null},chainId:n,expiry:De(U.THIRTY_DAYS)};this.records.set(o.id,o),this.persist(),this.events.emit(Ot.created,o)}),Ke(this,"resolve",async r=>{if(this.isInitialized(),this.logger.debug("Updating JSON-RPC response history record"),this.logger.trace({type:"method",method:"update",response:r}),!this.records.has(r.id))return;const i=await this.getRecord(r.id);typeof i.response>"u"&&(i.response=Wt(r)?{error:r.error}:{result:r.result},this.records.set(i.id,i),this.persist(),this.events.emit(Ot.updated,i))}),Ke(this,"get",async(r,i)=>(this.isInitialized(),this.logger.debug("Getting record"),this.logger.trace({type:"method",method:"get",topic:r,id:i}),await this.getRecord(i))),Ke(this,"delete",(r,i)=>{this.isInitialized(),this.logger.debug("Deleting record"),this.logger.trace({type:"method",method:"delete",id:i}),this.values.forEach(n=>{if(n.topic===r){if(typeof i<"u"&&n.id!==i)return;this.records.delete(n.id),this.events.emit(Ot.deleted,n)}}),this.persist()}),Ke(this,"exists",async(r,i)=>(this.isInitialized(),this.records.has(i)?(await this.getRecord(i)).topic===r:!1)),Ke(this,"on",(r,i)=>{this.events.on(r,i)}),Ke(this,"once",(r,i)=>{this.events.once(r,i)}),Ke(this,"off",(r,i)=>{this.events.off(r,i)}),Ke(this,"removeListener",(r,i)=>{this.events.removeListener(r,i)}),this.logger=st(s,this.name)}get context(){return bt(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+"//"+this.name}get size(){return this.records.size}get keys(){return Array.from(this.records.keys())}get values(){return Array.from(this.records.values())}get pending(){const e=[];return this.values.forEach(s=>{if(typeof s.response<"u")return;const r={topic:s.topic,request:Bs(s.request.method,s.request.params,s.id),chainId:s.chainId};return e.push(r)}),e}async setJsonRpcRecords(e){await this.core.storage.setItem(this.storageKey,e)}async getJsonRpcRecords(){return await this.core.storage.getItem(this.storageKey)}getRecord(e){this.isInitialized();const s=this.records.get(e);if(!s){const{message:r}=R("NO_MATCHING_KEY",`${this.name}: ${e}`);throw new Error(r)}return s}async persist(){await this.setJsonRpcRecords(this.values),this.events.emit(Ot.sync)}async restore(){try{const e=await this.getJsonRpcRecords();if(typeof e>"u"||!e.length)return;if(this.records.size){const{message:s}=R("RESTORE_WILL_OVERRIDE",this.name);throw this.logger.error(s),new Error(s)}this.cached=e,this.logger.debug(`Successfully Restored records for ${this.name}`),this.logger.trace({type:"method",method:"restore",records:this.values})}catch(e){this.logger.debug(`Failed to Restore records for ${this.name}`),this.logger.error(e)}}registerEventListeners(){this.events.on(Ot.created,e=>{const s=Ot.created;this.logger.info(`Emitting ${s}`),this.logger.debug({type:"event",event:s,record:e})}),this.events.on(Ot.updated,e=>{const s=Ot.updated;this.logger.info(`Emitting ${s}`),this.logger.debug({type:"event",event:s,record:e})}),this.events.on(Ot.deleted,e=>{const s=Ot.deleted;this.logger.info(`Emitting ${s}`),this.logger.debug({type:"event",event:s,record:e})}),this.core.heartbeat.on(qr.pulse,()=>{this.cleanup()})}cleanup(){try{this.isInitialized();let e=!1;this.records.forEach(s=>{U.toMiliseconds(s.expiry||0)-Date.now()<=0&&(this.logger.info(`Deleting expired history log: ${s.id}`),this.records.delete(s.id),this.events.emit(Ot.deleted,s,!1),e=!0)}),e&&this.persist()}catch(e){this.logger.warn(e)}}isInitialized(){if(!this.initialized){const{message:e}=R("NOT_INITIALIZED",this.name);throw new Error(e)}}}var Pb=Object.defineProperty,kb=(t,e,s)=>e in t?Pb(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,Ze=(t,e,s)=>kb(t,typeof e!="symbol"?e+"":e,s);class Ob extends uu{constructor(e,s){super(e,s),this.core=e,this.logger=s,Ze(this,"expirations",new Map),Ze(this,"events",new Js.EventEmitter),Ze(this,"name",Tm),Ze(this,"version",$m),Ze(this,"cac
13hed",[]),Ze(this,"initialized",!1),Ze(this,"storagePrefix",Gt),Ze(this,"init",async()=>{this.initialized||(this.logger.trace("Initialized"),await this.restore(),this.cached.forEach(r=>this.expirations.set(r.target,r)),this.cached=[],this.registerEventListeners(),this.initialized=!0)}),Ze(this,"has",r=>{try{const i=this.formatTarget(r);return typeof this.getExpiration(i)<"u"}catch{return!1}}),Ze(this,"set",(r,i)=>{this.isInitialized();const n=this.formatTarget(r),o={target:n,expiry:i};this.expirations.set(n,o),this.checkExpiry(n,o),this.events.emit(_t.created,{target:n,expiration:o})}),Ze(this,"get",r=>{this.isInitialized();const i=this.formatTarget(r);return this.getExpiration(i)}),Ze(this,"del",r=>{if(this.isInitialized(),this.has(r)){const i=this.formatTarget(r),n=this.getExpiration(i);this.expirations.delete(i),this.events.emit(_t.deleted,{target:i,expiration:n})}}),Ze(this,"on",(r,i)=>{this.events.on(r,i)}),Ze(this,"once",(r,i)=>{this.events.once(r,i)}),Ze(this,"off",(r,i)=>{this.events.off(r,i)}),Ze(this,"removeListener",(r,i)=>{this.events.removeListener(r,i)}),this.logger=st(s,this.name)}get context(){return bt(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+"//"+this.name}get length(){return this.expirations.size}get keys(){return Array.from(this.expirations.keys())}get values(){return Array.from(this.expirations.values())}formatTarget(e){if(typeof e=="string")return Lu(e);if(typeof e=="number")return Mu(e);const{message:s}=R("UNKNOWN_TYPE",`Target type: ${typeof e}`);throw new Error(s)}async setExpirations(e){await this.core.storage.setItem(this.storageKey,e)}async getExpirations(){return await this.core.storage.getItem(this.storageKey)}async persist(){await this.setExpirations(this.values),this.events.emit(_t.sync)}async restore(){try{const e=await this.getExpirations();if(typeof e>"u"||!e.length)return;if(this.expirations.size){const{message:s}=R("RESTORE_WILL_OVERRIDE",this.name);throw this.logger.error(s),new Error(s)}this.cached=e,this.logger.debug(`Successfully Restored expirations for ${this.name}`),this.logger.trace({type:"method",method:"restore",expirations:this.values})}catch(e){this.logger.debug(`Failed to Restore expirations for ${this.name}`),this.logger.error(e)}}getExpiration(e){const s=this.expirations.get(e);if(!s){const{message:r}=R("NO_MATCHING_KEY",`${this.name}: ${e}`);throw this.logger.warn(r),new Error(r)}return s}checkExpiry(e,s){const{expiry:r}=s;U.toMiliseconds(r)-Date.now()<=0&&this.expire(e,s)}expire(e,s){this.expirations.delete(e),this.events.emit(_t.expired,{target:e,expiration:s})}checkExpirations(){this.core.relayer.connected&&this.expirations.forEach((e,s)=>this.checkExpiry(s,e))}registerEventListeners(){this.core.heartbeat.on(qr.pulse,()=>this.checkExpirations()),this.events.on(_t.created,e=>{const s=_t.created;this.logger.info(`Emitting ${s}`),this.logger.debug({type:"event",event:s,data:e}),this.persist()}),this.events.on(_t.expired,e=>{const s=_t.expired;this.logger.info(`Emitting ${s}`),this.logger.debug({type:"event",event:s,data:e}),this.persist()}),this.events.on(_t.deleted,e=>{const s=_t.deleted;this.logger.info(`Emitting ${s}`),this.logger.debug({type:"event",event:s,data:e}),this.persist()})}isInitialized(){if(!this.initialized){const{message:e}=R("NOT_INITIALIZED",this.name);throw new Error(e)}}}var Tb=Object.defineProperty,$b=(t,e,s)=>e in t?Tb(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,Te=(t,e,s)=>$b(t,typeof e!="symbol"?e+"":e,s);class xb extends pu{constructor(e,s,r){super(e,s,r),this.core=e,this.logger=s,this.store=r,Te(this,"name",xm),Te(this,"abortController"),Te(this,"isDevEnv"),Te(this,"verifyUrlV3",Um),Te(this,"storagePrefix",Gt),Te(this,"version",ad),Te(this,"publicKey"),Te(this,"fetchPromise"),Te(this,"init",async()=>{var i;this.isDevEnv||(this.publicKey=await this.store.getItem(this.storeKey),this.publicKey&&U.toMiliseconds((i=this.publicKey)==null?void 0:i.expiresAt)<Date.now()&&(this.logger.debug("verify v2 public key expired"),await this.removePublicKey()))}),Te(this,"register",async i=>{if(!jr()||this.isDevEnv)return;const n=window.location.origin,{id:o,decryptedId:a}=i,c=`${this.verifyUrlV3}/attestation?projectId=${this.core.projectId}&origin=${n}&id=${o}&decryptedId=${a}`;try{const l=os.getDocument(),d=this.startAbortTimer(U.ONE_SECOND*5),h=await new Promise((u,g)=>{const w=()=>{window.removeEventListener("message",f),l.body.removeChild(m),g("attestation aborted")};this.abortController.signal.addEventListener("abort",w);const m=l.createElement("iframe");m.src=c,m.style.display="none",m.addEventListener("error",w,{signal:this.abortController.signal});const f=y=>
vendor: 16,667 bytes, line 13
13{if(y.data&&typeof y.data=="string")try{const b=JSON.parse(y.data);if(b.type==="verify_attestation"){if(so(b.attestation).payload.id!==o)return;clearInterval(d),l.body.removeChild(m),this.abortController.signal.removeEventListener("abort",w),window.removeEventListener("message",f),u(b.attestation===null?"":b.attestation)}}catch(b){this.logger.warn(b)}};l.body.appendChild(m),window.addEventListener("message",f,{signal:this.abortController.signal})});return this.logger.debug("jwt attestation",h),h}catch(l){this.logger.warn(l)}return""}),Te(this,"resolve",async i=>{if(this.isDevEnv)return"";const{attestationId:n,hash:o,encryptedId:a}=i;if(n===""){this.logger.debug("resolve: attestationId is empty, skipping");return}if(n){if(so(n).payload.id!==a)return;const l=await this.isValidJwtAttestation(n);if(l){if(!l.isVerified){this.logger.warn("resolve: jwt attestation: origin url not verified");return}return l}}if(!o)return;const c=this.getVerifyUrl(i?.verifyUrl);return this.fetchAttestation(o,c)}),Te(this,"fetchAttestation",async(i,n)=>{this.logger.debug(`resolving attestation: ${i} from url: ${n}`);const o=this.startAbortTimer(U.ONE_SECOND*5),a=await fetch(`${n}/attestation/${i}?v2Supported=true`,{signal:this.abortController.signal});return clearTimeout(o),a.status===200?await a.json():void 0}),Te(this,"getVerifyUrl",i=>{let n=i||hi;return Dm.includes(n)||(this.logger.info(`verify url: ${n}, not included in trusted list, assigning default: ${hi}`),n=hi),n}),Te(this,"fetchPublicKey",async()=>{try{this.logger.debug(`fetching public key from: ${this.verifyUrlV3}`);const i=this.startAbortTimer(U.FIVE_SECONDS),n=await fetch(`${this.verifyUrlV3}/public-key`,{signal:this.abortController.signal});return clearTimeout(i),await n.json()}catch(i){this.logger.warn(i)}}),Te(this,"persistPublicKey",async i=>{this.logger.debug("persisting public key to local storage",i),await this.store.setItem(this.storeKey,i),this.publicKey=i}),Te(this,"removePublicKey",async()=>{this.logger.debug("removing verify v2 public key from storage"),await this.store.removeItem(this.storeKey),this.publicKey=void 0}),Te(this,"isValidJwtAttestation",async i=>{const n=await this.getPublicKey();try{if(n)return this.validateAttestation(i,n)}catch(a){this.logger.error(a),this.logger.warn("error validating attestation")}const o=await this.fetchAndPersistPublicKey();try{if(o)return this.validateAttestation(i,o)}catch(a){this.logger.error(a),this.logger.warn("error validating attestation")}}),Te(this,"getPublicKey",async()=>this.publicKey?this.publicKey:await this.fetchAndPersistPublicKey()),Te(this,"fetchAndPersistPublicKey",async()=>{if(this.fetchPromise)return await this.fetchPromise,this.publicKey;this.fetchPromise=new Promise(async n=>{const o=await this.fetchPublicKey();o&&(await this.persistPublicKey(o),n(o))});const i=await this.fetchPromise;return this.fetchPromise=void 0,i}),Te(this,"validateAttestation",(i,n)=>{const o=fg(i,n.publicKey),a={hasExpired:U.toMiliseconds(o.exp)<Date.now(),payload:o};if(a.hasExpired)throw this.logger.warn("resolve: jwt attestation expired"),new Error("JWT attestation expired");return{origin:a.payload.origin,isScam:a.payload.isScam,isVerified:a.payload.isVerified}}),this.logger=st(s,this.name),this.abortController=new AbortController,this.isDevEnv=jo(),this.init()}get storeKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+"//verify:public:key"}get context(){return bt(this.logger)}startAbortTimer(e){return this.abortController=new AbortController,setTimeout(()=>this.abortController.abort(),U.toMiliseconds(e))}}var Rb=Object.defineProperty,Ub=(t,e,s)=>e in t?Rb(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,kc=(t,e,s)=>Ub(t,typeof e!="symbol"?e+"":e,s);class Db extends fu{constructor(e,s){super(e,s),this.projectId=e,this.logger=s,kc(this,"context",Lm),kc(this,"registerDeviceToken",async r=>{const{clientId:i,token:n,notificationType:o,enableEncrypted:a=!1}=r,c=`${Mm}/${this.projectId}/clients`;await fetch(c,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({client_id:i,type:o,token:n,always_raw:a})})}),this.logger=st(s,this.context)}}var Lb=Object.defineProperty,Oc=Object.getOwnPropertySymbols,Mb=Object.prototype.hasOwnProperty,Bb=Object.prototype.propertyIsEnumerable,ko=(t,e,s)=>e in t?Lb(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,Xr=(t,e)=>{for(var s in e||(e={}))Mb.call(e,s)&&ko(t,s,e[s]);if(Oc)for(var s of Oc(e))Bb.call(e,s)&&ko(t,s,e[s]);return t},Me=(t,e,s)=>ko(t,typeof e!="symbol"?e+"":e,s);class qb extends gu{constructor(e,s,r=!0){super(e,s,r),this.core=e,this.logger=s,Me(this,"context",qm),Me(this,"storagePrefix",Gt),Me(this,"storageVersion",Bm),Me(this,"events",new Map),Me(this,"shouldPersist",!1),Me(this,"init",async()=>{if(!jo())try{const i={eventId:Ca(),timestamp:Date.now(),domain:this.getAppDomain(),props:{event:"INIT",type:"",properties:{client_id:await this.core.crypto.getClientId(),user_agent:Cl(this.core.relayer.protocol,this.core.relayer.version,Eo)}}};await this.sendEvent([i])}catch(i){this.logger.warn(i)}}),Me(this,"createEvent",i=>{const{event:n="ERROR",type:o="",properties:{topic:a,trace:c}}=i,l=Ca(),d=this.core.projectId||"",h=Date.now(),u=Xr({eventId:l,timestamp:h,props:{event:n,type:o,properties:{topic:a,trace:c}},bundleId:d,domain:this.getAppDomain()},this.setMethods(l));return this.telemetryEnabled&&(this.events.set(l,u),this.shouldPersist=!0),u}),Me(this,"getEvent",i=>{const{eventId:n,topic:o}=i;if(n)return this.events.get(n);const a=Array.from(this.events.values()).find(c=>c.props.properties.topic===o);if(a)return Xr(Xr({},a),this.setMethods(a.eventId))}),Me(this,"deleteEvent",i=>{const{eventId:n}=i;this.events.delete(n),this.shouldPersist=!0}),Me(this,"setEventListeners",()=>{this.core.heartbeat.on(qr.pulse,async()=>{this.shouldPersist&&await this.persist(),this.events.forEach(i=>{U.fromMiliseconds(Date.now())-U.fromMiliseconds(i.timestamp)>jm&&(this.events.delete(i.eventId),this.shouldPersist=!0)})})}),Me(this,"setMethods",i=>({addTrace:n=>this.addTrace(i,n),setError:n=>this.setError(i,n)})),Me(this,"addTrace",(i,n)=>{const o=this.events.get(i);o&&(o.props.properties.trace.push(n),this.events.set(i,o),this.shouldPersist=!0)}),Me(this,"setError",(i,n)=>{const o=this.events.get(i);o&&(o.props.type=n,o.timestamp=Date.now(),this.events.set(i,o),this.shouldPersist=!0)}),Me(this,"persist",async()=>{await this.core.storage.setItem(this.storageKey,Array.from(this.events.values())),this.shouldPersist=!1}),Me(this,"restore",async()=>{try{const i=await this.core.storage.getItem(this.storageKey)||[];if(!i.length)return;i.forEach(n=>{this.events.set(n.eventId,Xr(Xr({},n),this.setMethods(n.eventId)))})}catch(i){this.logger.warn(i)}}),Me(this,"submit",async()=>{if(!this.telemetryEnabled||this.events.size===0)return;const i=[];for(const[n,o]of this.events)o.props.type&&i.push(o);if(i.length!==0)try{if((await this.sendEvent(i)).ok)for(const n of i)this.events.delete(n.eventId),this.shouldPersist=!0}catch(n){this.logger.warn(n)}}),Me(this,"sendEvent",async i=>{const n=this.getAppDomain()?"":"&sp=desktop";return await fetch(`${Fm}?projectId=${this.core.projectId}&st=events_sdk&sv=js-${Eo}${n}`,{method:"POST",body:JSON.stringify(i)})}),Me(this,"getAppDomain",()=>El().url),this.logger=st(s,this.context),this.telemetryEnabled=r,r?this.restore().then(async()=>{await this.submit(),this.setEventListeners()}):this.persist()}get storageKey(){return this.storagePrefix+this.storageVersion+this.core.customStoragePrefix+"//"+this.context}}var jb=Object.defineProperty,Tc=Object.getOwnPropertySymbols,Fb=Object.prototype.hasOwnProperty,Wb=Object.prototype.propertyIsEnumerable,Oo=(t,e,s)=>e in t?jb(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,$c=(t,e)=>{for(var s in e||(e={}))Fb.call(e,s)&&Oo(t,s,e[s]);if(Tc)for(var s of Tc(e))Wb.call(e,s)&&Oo(t,s,e[s]);return t},Ie=(t,e,s)=>Oo(t,typeof e!="symbol"?e+"":e,s);let zb=class Ed extends su{constructor(e){var s;super(e),Ie(this,"protocol",od),Ie(this,"version",ad),Ie(this,"name",vo),Ie(this,"relayUrl"),Ie(this,"projectId"),Ie(this,"customStoragePrefix"),Ie(this,"events",new Js.EventEmitter),Ie(this,"logger"),Ie(this,"heartbeat"),Ie(this,"relayer"),Ie(this,"crypto"),Ie(this,"storage"),Ie(this,"history"),Ie(this,"expirer"),Ie(this,"pairing"),Ie(this,"verify"),Ie(this,"echoClient"),Ie(this,"linkModeSupportedApps"),Ie(this,"eventClient"),Ie(this,"initialized",!1),Ie(this,"logChunkController"),Ie(this,"on",(a,c)=>this.events.on(a,c)),Ie(this,"once",(a,c)=>this.events.once(a,c)),Ie(this,"off",(a,c)=>this.events.off(a,c)),Ie(this,"removeListener",(a,c)=>this.events.removeListener(a,c)),Ie(this,"dispatchEnvelope",({topic:a,message:c,sessionExists:l})=>{if(!a||!c)return;const d={topic:a,message:c,publishedAt:Date.now(),transportType:Ae.link_mode};this.relayer.onLinkMessageEvent(d,{sessionExists:l})});const r=this.getGlobalCore(e?.customStoragePrefix);if(r)try{return this.customStoragePrefix=r.customStoragePrefix,this.logger=r.logger,this.heartbeat=r.heartbeat,this.crypto=r.crypto,this.history=r.history,this.expirer=r.expirer,this.storage=r.storage,this.relayer=r.relayer,this.pairing=r.pairing,this.verify=r.verify,this.echoClient=r.echoClient,this.linkModeSupportedApps=r.linkModeSupportedApps,this.eventClient=r.eventClient,this.initialized=r.initialized,this.logChunkController=r.logChunkController,r}catch(a){console.warn("Failed to copy global core",a)}this.projectId=e?.projectId,this.relayUrl=e?.relayUrl||ld,this.customStoragePrefix=e!=null&&e.customStoragePrefix?`:${e.customStoragePrefix}`:"";const i=Si({level:typeof e?.logger=="string"&&e.logger?e.logger:dm.logger,name:vo}),{logger:n,chunkLoggerController:o}=hl({opts:i,maxSizeInBytes:e?.maxLogBlobSizeInBytes,loggerOverride:e?.logger});this.logChunkController=o,(s=this.logChunkController)!=null&&s.downloadLogsBlobInBrowser&&(window.downloadLogsBlobInBrowser=async()=>{var a,c;(a=this.logChunkController)!=null&&a.downloadLogsBlobInBrowser&&((c=this.logChunkController)==null||c.downloadLogsBlobInBrowser({clientId:await this.crypto.getClientId()}))}),this.logger=st(n,this.name),this.heartbeat=new Zd,this.crypto=new wy(this,this.logger,e?.keychain),this.history=new Sb(this,this.logger),this.expirer=new Ob(this,this.logger),this.storage=e!=null&&e.storage?e.storage:new Xd($c($c({},hm),e?.storageOptions)),this.relayer=new zy({core:this,logger:this.logger,relayUrl:this.relayUrl,projectId:this.projectId}),this.pairing=new Nb(this,this.logger),this.verify=new xb(this,this.logger,this.storage),this.echoClient=new Db(this.projectId||"",this.logger),this.linkModeSupportedApps=[],this.eventClient=new qb(this,this.logger,e?.telemetryEnabled),this.setGlobalCore(this)}static async init(e){const s=new Ed(e);await s.initialize();const r=await s.crypto.getClientId();return await s.storage.setItem(Nm,r),s}get context(){return bt(this.logger)}async start(){this.initialized||await this.initialize()}async getLogsBlob(){var e;return(e=this.logChunkController)==null?void 0:e.logsToBlob({clientId:await this.crypto.getClientId()})}async addLinkModeSupportedApp(e){this.linkModeSupportedApps.includes(e)||(this.linkModeSupportedApps.push(e),await this.storage.setItem(hc,this.linkModeSupportedApps))}async initialize(){this.logger.trace("Initialized");try{await this.crypto.init(),await this.history.init(),await this.expirer.init(),await this.relayer.init(),await this.heartbeat.init(),await this.pairing.init(),this.linkModeSupportedApps=await this.storage.getItem(hc)||[],this.initialized=!0,this.logger.info("Core Initialization Success")}catch(e){throw this.logger.warn(`Core Initialization Failure at epoch ${Date.now()}`,e),this.logger.error(e.message),e}}getGlobalCore(e=""){try{if(this.isGlobalCoreDisabled())return;const s=`_walletConnectCore_${e}`,r=`${s}_count`;return globalThis[r]=(globalThis[r]||0)+1,globalThis[r]>1&&console.warn(`WalletConnect Core is already initialized. This is probably a mistake and can lead to unexpected behavior. Init() was called ${globalThis[r]} times.`),globalThis[s]}catch(s){console.warn("Failed to get global WalletConnect core",s);return}}setGlobalCore(e){var s;try{if(this.isGlobalCoreDisabled())return;const r=`_walletConnectCore_${((s=e.opts)==null?void 0:s.customStoragePrefix)||""}`;globalThis[r]=e}catch(r){console.warn("Failed to set global WalletConnect core",r)}}isGlobalCoreDisabled(){try{return typeof process<"u"&&lm.DISABLE_GLOBAL_CORE==="true"}catch{return!0}}};const Hb=zb,Cd="wc",Id=2,Nd="client",Jo=`${Cd}@${Id}:${Nd}:`,Gn={name:Nd,logger:"error"},xc="WALLETCONNECT_DEEPLINK_CHOICE",Vb="proposal",Rc="Proposal expired",Kb="session",or=U.SEVEN_DAYS,Gb="engine",Be={wc_sessionPropose:{req:{ttl:U.FIVE_MINUTES,prompt:!0,tag:1100},res:{ttl:U.FIVE_MINUTES,prompt:!1,tag:1101},reject:{ttl:U.FIVE_MINUTES,prompt:!1,tag:1120},autoReject:{ttl:U.FIVE_MINUTES,prompt:!1,tag:1121}},wc_sessionSettle:{req:{ttl:U.FIVE_MINUTES,prompt:!1,tag:1102},res:{ttl:U.FIVE_MINUTES,prompt:!1,tag:1103}},wc_sessionUpdate:{req:{ttl:U.ONE_DAY,prompt:!1,tag:1104},res:{ttl:U.ONE_DAY,prompt:!1,tag:1105}},wc_sessionExtend:{req:{ttl:U.ONE_DAY,prompt:!1,tag:1106},res:{ttl:U.ONE_DAY,prompt:!1,tag:1107}},wc_sessionRequest:{req:{ttl:U.FIVE_MINUTES,prompt:!0,tag:1108},res:{ttl:U.FIVE_MINUTES,prompt:!1,tag:1109}},wc_sessionEvent:{req:{ttl:U.FIVE_MINUTES,prompt:!0,tag:1110},res:{ttl:U.FIVE_MINUTES,prompt:!1,tag:1111}},wc_sessionDelete:{req:{ttl:U.ONE_DAY,prompt:!1,tag:1112},res:{ttl:U.ONE_DAY,prompt:!1,tag:1113}},wc_sessionPing:{req:{ttl:U.ONE_DAY,prompt:!1,tag:1114},res:{ttl:U.ONE_DAY,prompt:!1,tag:1115}},wc_sessionAuthenticate:{req:{ttl:U.ONE_HOUR,prompt:!0,tag:1116},res:{ttl:U.ONE_HOUR,prompt:!1,tag:1117},reject:{ttl:U.FIVE_MINUTES,prompt:!1,tag:1118},autoReject:{ttl:U.FIVE_MINUTES,prompt:!1,tag:1119}}},Jn={min:U.FIVE_MINUTES,max:U.SEVEN_DAYS},jt={idle:"IDLE",active:"ACTIVE"},Uc={eth_sendTransaction:{key:""},eth_sendRawTransaction:{key:""},wallet_sendCalls:{key:""},solana_signTransaction:{key:"signature"},solana_signAllTransactions:{key:"transactions"},solana_signAndSendTransaction:{key:"signature"}},Jb="request",Yb=["wc_sessionPropose","wc_sessionRequest","wc_authRequest","wc_sessionAuthenticate"],Zb="wc",Xb="auth",Qb="authKeys",ev="pairingTopics",tv="requests",An=`${Zb}@${1.5}:${Xb}:`,sn=`${An}:PUB_KEY`;var sv=Object.defineProperty,rv=Object.defineProperties,iv=Object.getOwnPropertyDescriptors,Dc=Object.getOwnPropertySymbols,nv=Object.prototype.hasOwnProperty,ov=Object.prototype.propertyIsEnumerable,To=(t,e,s)=>e in t?sv(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,be=(t,e)=>{for(var s in e||(e={}))nv.call(e,s)&&To(t,s,e[s]);if(Dc)for(var s of Dc(e))ov.call(e,s)&&To(t,s,e[s]);return t},et=(t,e)=>rv(t,iv(e)),N=(t,e,s)=>To(t,typeof e!="symbol"?e+"":e,s);class av extends bu{constructor(e){super(e),N(this,"name",Gb),N(this,"events",new qo),N(this,"initialized",!1),N(this,"requestQueue",{state:jt.idle,queue:[]}),N(this,"sessionRequestQueue",{state:jt.idle,queue:[]}),N(this,"requestQueueDelay",U.ONE_SECOND),N(this,"expectedPairingMethodMap",new Map),N(this,"recentlyDeletedMap",new Map),N(this,"recentlyDeletedLimit",200),N(this,"relayMessageCache",[]),N(this,"pendingSessions",new Map),N(this,"init",async()=>{this.initialized||(await this.cleanup(),this.registerRelayerEvents(),this.registerExpirerEvents(),this.registerPairingEvents(),await this.registerLinkModeListeners(),this.client.core.pairing.register({methods:Object.keys(Be)}),this.initialized=!0,setTimeout(async()=>{await this.processPendingMessageEvents(),this.sessionRequestQueue.queue=this.getPendingSessionRequests(),this.processSessionRequestQueue()},U.toMiliseconds(this.requestQueueDelay)))}),N(this,"connect",async s=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();const r=et(be({},s),{requiredNamespaces:s.requiredNamespaces||{},optionalNamespaces:s.optionalNamespaces||{}});await this.isValidConnect(r),r.optionalNamespaces=Og(r.requiredNamespaces,r.optionalNamespaces),r.requiredNamespaces={};const{pairingTopic:i,requiredNamespaces:n,optionalNamespaces:o,sessionProperties:a,scopedProperties:c,relays:l}=r;let d=i,h,u=!1;try{if(d){const P=this.client.core.pairing.pairings.get(d);this.client.logger.warn("connect() with existing pairing topic is deprecated and will be removed in the next major release."),u=P.active}}catch(P){throw this.client.logger.error(`connect() -> pairing.get(${d}) failed`),P}if(!d||!u){const{topic:P,uri:_}=await this.client.core.pairing.create();d=P,h=_}if(!d){const{message:P}=R("NO_MATCHING_KEY",`connect() pairing topic: ${d}`);throw new Error(P)}const g=await this.client.core.crypto.generateKeyPair(),w=Be.wc_
13sessionPropose.req.ttl||U.FIVE_MINUTES,m=De(w),f=et(be(be({requiredNamespaces:n,optionalNamespaces:o,relays:l??[{protocol:cd}],proposer:{publicKey:g,metadata:this.client.metadata},expiryTimestamp:m,pairingTopic:d},a&&{sessionProperties:a}),c&&{scopedProperties:c}),{id:as()}),y=pe("session_connect",f.id),{reject:b,resolve:I,done:O}=Rs(w,Rc),x=({id:P})=>{P===f.id&&(this.client.events.off("proposal_expire",x),this.pendingSessions.delete(f.id),this.events.emit(y,{error:{message:Rc,code:0}}))};return this.client.events.on("proposal_expire",x),this.events.once(y,({error:P,session:_})=>{this.client.events.off("proposal_expire",x),P?b(P):_&&I(_)}),await this.sendRequest({topic:d,method:"wc_sessionPropose",params:f,throwOnFailedPublish:!0,clientRpcId:f.id}),await this.setProposal(f.id,f),{uri:h,approval:O}}),N(this,"pair",async s=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();try{return await this.client.core.pairing.pair(s)}catch(r){throw this.client.logger.error("pair() failed"),r}}),N(this,"approve",async s=>{var r,i,n;const o=this.client.core.eventClient.createEvent({properties:{topic:(r=s?.id)==null?void 0:r.toString(),trace:[Tt.session_approve_started]}});try{this.isInitialized(),await this.confirmOnlineStateOrThrow()}catch(v){throw o.setError(Os.no_internet_connection),v}try{await this.isValidProposalId(s?.id)}catch(v){throw this.client.logger.error(`approve() -> proposal.get(${s?.id}) failed`),o.setError(Os.proposal_not_found),v}try{await this.isValidApprove(s)}catch(v){throw this.client.logger.error("approve() -> isValidApprove() failed"),o.setError(Os.session_approve_namespace_validation_failure),v}const{id:a,relayProtocol:c,namespaces:l,sessionProperties:d,scopedProperties:h,sessionConfig:u}=s,g=this.client.proposal.get(a);this.client.core.eventClient.deleteEvent({eventId:o.eventId});const{pairingTopic:w,proposer:m,requiredNamespaces:f,optionalNamespaces:y}=g;let b=(i=this.client.core.eventClient)==null?void 0:i.getEvent({topic:w});b||(b=(n=this.client.core.eventClient)==null?void 0:n.createEvent({type:Tt.session_approve_started,properties:{topic:w,trace:[Tt.session_approve_started,Tt.session_namespaces_validation_success]}}));const I=await this.client.core.crypto.generateKeyPair(),O=m.publicKey,x=await this.client.core.crypto.generateSharedKey(I,O),P=be(be(be({relay:{protocol:c??"irn"},namespaces:l,controller:{publicKey:I,metadata:this.client.metadata},expiry:De(or)},d&&{sessionProperties:d}),h&&{scopedProperties:h}),u&&{sessionConfig:u}),_=Ae.relay;b.addTrace(Tt.subscribing_session_topic);try{await this.client.core.relayer.subscribe(x,{transportType:_})}catch(v){throw b.setError(Os.subscribe_session_topic_failure),v}b.addTrace(Tt.subscribe_session_topic_success);const D=et(be({},P),{topic:x,requiredNamespaces:f,optionalNamespaces:y,pairingTopic:w,acknowledged:!1,self:P.controller,peer:{publicKey:m.publicKey,metadata:m.metadata},controller:I,transportType:Ae.relay});await this.client.session.set(x,D),b.addTrace(Tt.store_session);try{b.addTrace(Tt.publishing_session_settle),await this.sendRequest({topic:x,method:"wc_sessionSettle",params:P,throwOnFailedPublish:!0}).catch(v=>{throw b?.setError(Os.session_settle_publish_failure),v}),b.addTrace(Tt.session_settle_publish_success),b.addTrace(Tt.publishing_session_approve),await this.sendResult({id:a,topic:w,result:{relay:{protocol:c??"irn"},responderPublicKey:I},throwOnFailedPublish:!0}).catch(v=>{throw b?.setError(Os.session_approve_publish_failure),v}),b.addTrace(Tt.session_approve_publish_success)}catch(v){throw this.client.logger.error(v),this.client.session.delete(x,we("USER_DISCONNECTED")),await this.client.core.relayer.unsubscribe(x),v}return this.client.core.eventClient.deleteEvent({eventId:b.eventId}),await this.client.core.pairing.updateMetadata({topic:w,metadata:m.metadata}),await this.client.proposal.delete(a,we("USER_DISCONNECTED")),await this.client.core.pairing.activate({topic:w}),await this.setExpiry(x,De(or)),{topic:x,acknowledged:()=>Promise.resolve(this.client.session.get(x))}}),N(this,"reject",async s=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();try{await this.isValidReject(s)}catch(o){throw this.client.logger.error("reject() -> isValidReject() failed"),o}const{id:r,reason:i}=s;let n;try{n=this.client.proposal.get(r).pairingTopic}catch(o){throw this.client.logger.error(`reject() -> proposal.get(${r}) failed`),o}
13n&&(await this.sendError({id:r,topic:n,error:i,rpcOpts:Be.wc_sessionPropose.reject}),await this.client.proposal.delete(r,we("USER_DISCONNECTED")))}),N(this,"update",async s=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();try{await this.isValidUpdate(s)}catch(h){throw this.client.logger.error("update() -> isValidUpdate() failed"),h}const{topic:r,namespaces:i}=s,{done:n,resolve:o,reject:a}=Rs(),c=as(),l=Cr().toString(),d=this.client.session.get(r).namespaces;return this.events.once(pe("session_update",c),({error:h})=>{h?a(h):o()}),await this.client.session.update(r,{namespaces:i}),await this.sendRequest({topic:r,method:"wc_sessionUpdate",params:{namespaces:i},throwOnFailedPublish:!0,clientRpcId:c,relayRpcId:l}).catch(h=>{this.client.logger.error(h),this.client.session.update(r,{namespaces:d}),a(h)}),{acknowledged:n}}),N(this,"extend",async s=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();try{await this.isValidExtend(s)}catch(c){throw this.client.logger.error("extend() -> isValidExtend() failed"),c}const{topic:r}=s,i=as(),{done:n,resolve:o,reject:a}=Rs();return this.events.once(pe("session_extend",i),({error:c})=>{c?a(c):o()}),await this.setExpiry(r,De(or)),this.sendRequest({topic:r,method:"wc_sessionExtend",params:{},clientRpcId:i,throwOnFailedPublish:!0}).catch(c=>{a(c)}),{acknowledged:n}}),N(this,"request",async s=>{this.isInitialized();try{await this.isValidRequest(s)}catch(y){throw this.client.logger.error("request() -> isValidRequest() failed"),y}const{chainId:r,request:i,topic:n,expiry:o=Be.wc_sessionRequest.req.ttl}=s,a=this.client.session.get(n);a?.transportType===Ae.relay&&await this.confirmOnlineStateOrThrow();const c=as(),l=Cr().toString(),{done:d,resolve:h,reject:u}=Rs(o,"Request expired. Please try again.");this.events.once(pe("session_request",c),({error:y,result:b})=>{y?u(y):h(b)});const g="wc_sessionRequest",w=this.getAppLinkIfEnabled(a.peer.metadata,a.transportType);if(w)return await this.sendRequest({clientRpcId:c,relayRpcId:l,topic:n,method:g,params:{request:et(be({},i),{expiryTimestamp:De(o)}),chainId:r},expiry:o,throwOnFailedPublish:!0,appLink:w}).catch(y=>u(y)),this.client.events.emit("session_request_sent",{topic:n,request:i,chainId:r,id:c}),await d();const m={request:et(be({},i),{expiryTimestamp:De(o)}),chainId:r},f=this.shouldSetTVF(g,m);return await Promise.all([new Promise(async y=>{await this.sendRequest(be({clientRpcId:c,relayRpcId:l,topic:n,method:g,params:m,expiry:o,throwOnFailedPublish:!0},f&&{tvf:this.getTVFParams(c,m)})).catch(b=>u(b)),this.client.events.emit("session_request_sent",{topic:n,request:i,chainId:r,id:c}),y()}),new Promise(async y=>{var b;if(!((b=a.sessionConfig)!=null&&b.disableDeepLink)){const I=await Fu(this.client.core.storage,xc);await Bu({id:c,topic:n,wcDeepLink:I})}y()}),d()]).then(y=>y[2])}),N(this,"respond",async s=>{this.isInitialized(),await this.isValidRespond(s);const{topic:r,response:i}=s,{id:n}=i,o=this.client.session.get(r);o.transportType===Ae.relay&&await this.confirmOnlineStateOrThrow();const a=this.getAppLinkIfEnabled(o.peer.metadata,o.transportType);es(i)?await this.sendResult({id:n,topic:r,result:i.result,throwOnFailedPublish:!0,appLink:a}):Wt(i)&&await this.sendError({id:n,topic:r,error:i.error,appLink:a}),this.cleanupAfterResponse(s)}),N(this,"ping",async s=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();try{await this.isValidPing(s)}catch(i){throw this.client.logger.error("ping() -> isValidPing() failed"),i}const{topic:r}=s;if(this.client.session.keys.includes(r)){const i=as(),n=Cr().toString(),{done:o,resolve:a,reject:c}=Rs();this.events.once(pe("session_ping",i),({error:l})=>{l?c(l):a()}),await Promise.all([this.sendRequest({topic:r,method:"wc_sessionPing",params:{},throwOnFailedPublish:!0,clientRpcId:i,relayRpcId:n}),o()])}else this.client.core.pairing.pairings.keys.includes(r)&&(this.client.logger.warn("ping() on pairing topic is deprecated and will be removed in the next major release."),await this.client.core.pairing.ping({topic:r}))}),N(this,"emit",async s=>{this.isInitialized(),await this.confirmOnlineStateOrThrow(),await this.isValidEmit(s);
vendor: 10,008 bytes, line 13
13const{topic:r,event:i,chainId:n}=s,o=Cr().toString(),a=as();await this.sendRequest({topic:r,method:"wc_sessionEvent",params:{event:i,chainId:n},throwOnFailedPublish:!0,relayRpcId:o,clientRpcId:a})}),N(this,"disconnect",async s=>{this.isInitialized(),await this.confirmOnlineStateOrThrow(),await this.isValidDisconnect(s);const{topic:r}=s;if(this.client.session.keys.includes(r))await this.sendRequest({topic:r,method:"wc_sessionDelete",params:we("USER_DISCONNECTED"),throwOnFailedPublish:!0}),await this.deleteSession({topic:r,emitEvent:!1});else if(this.client.core.pairing.pairings.keys.includes(r))await this.client.core.pairing.disconnect({topic:r});else{const{message:i}=R("MISMATCHED_TOPIC",`Session or pairing topic not found: ${r}`);throw new Error(i)}}),N(this,"find",s=>(this.isInitialized(),this.client.session.getAll().filter(r=>xg(r,s)))),N(this,"getPendingSessionRequests",()=>this.client.pendingRequest.getAll()),N(this,"authenticate",async(s,r)=>{var i;this.isInitialized(),this.isValidAuthenticate(s);const n=r&&this.client.core.linkModeSupportedApps.includes(r)&&((i=this.client.metadata.redirect)==null?void 0:i.linkMode),o=n?Ae.link_mode:Ae.relay;o===Ae.relay&&await this.confirmOnlineStateOrThrow();const{chains:a,statement:c="",uri:l,domain:d,nonce:h,type:u,exp:g,nbf:w,methods:m=[],expiry:f}=s,y=[...s.resources||[]],{topic:b,uri:I}=await this.client.core.pairing.create({methods:["wc_sessionAuthenticate"],transportType:o});this.client.logger.info({message:"Generated new pairing",pairing:{topic:b,uri:I}});const O=await this.client.core.crypto.generateKeyPair(),x=en(O);if(await Promise.all([this.client.auth.authKeys.set(sn,{responseTopic:x,publicKey:O}),this.client.auth.pairingTopics.set(x,{topic:x,pairingTopic:b})]),await this.client.core.relayer.subscribe(x,{transportType:o}),this.client.logger.info(`sending request to new pairing topic: ${b}`),m.length>0){const{namespace:T}=_r(a[0]);let G=Rp(T,"request",m);Qi(y)&&(G=Dp(G,y.pop())),y.push(G)}const P=f&&f>Be.wc_sessionAuthenticate.req.ttl?f:Be.wc_sessionAuthenticate.req.ttl,_={authPayload:{type:u??"caip122",chains:a,statement:c,aud:l,domain:d,version:"1",nonce:h,iat:new Date().toISOString(),exp:g,nbf:w,resources:y},requester:{publicKey:O,metadata:this.client.metadata},expiryTimestamp:De(P)},D={eip155:{chains:a,methods:[...new Set(["personal_sign",...m])],events:["chainChanged","accountsChanged"]}},v={requiredNamespaces:{},optionalNamespaces:D,relays:[{protocol:"irn"}],pairingTopic:b,proposer:{publicKey:O,metadata:this.client.metadata},expiryTimestamp:De(Be.wc_sessionPropose.req.ttl),id:as()},{done:$,resolve:E,reject:L}=Rs(P,"Request expired"),H=as(),C=pe("session_connect",v.id),k=pe("session_request",H),A=async({error:T,session:G})=>{this.events.off(k,B),T?L(T):G&&E({session:G})},B=async T=>{var G,Q,se;if(await this.deletePendingAuthRequest(H,{message:"fulfilled",code:0}),T.error){const Re=we("WC_METHOD_UNSUPPORTED","wc_sessionAuthenticate");return T.error.code===Re.code?void 0:(this.events.off(C,A),L(T.error.message))}await this.deleteProposal(v.id),this.events.off(C,A);const{cacaos:Ee,responder:ue}=T.result,Oe=[],Le=[];for(const Re of Ee){await Oa({cacao:Re,projectId:this.client.core.projectId})||(this.client.logger.error(Re,"Signature verification failed"),L(we("SESSION_SETTLEMENT_FAILED","Signature verification failed")));const{p:Ps}=Re,Jt=Qi(Ps.resources),Mt=[lo(Ps.iss)],Yt=dn(Ps.iss);if(Jt){const tr=Ta(Jt),Bi=$a(Jt);Oe.push(...tr),Mt.push(...Bi)}for(const tr of Mt)Le.push(`${tr}:${Yt}`)}const Ye=await this.client.core.crypto.generateSharedKey(O,ue.publicKey);let xe;Oe.length>0&&(xe={topic:Ye,acknowledged:!0,self:{publicKey:O,metadata:this.client.metadata},peer:ue,controller:ue.publicKey,expiry:De(or),requiredNamespaces:{},optionalNamespaces:{},relay:{protocol:"irn"},pairingTopic:b,namespaces:rc([...new Set(Oe)],[...new Set(Le)]),transportType:o},await this.client.core.relayer.subscribe(Ye,{transportType:o}),await this.client.session.set(Ye,xe),b&&await this.client.core.pairing.updateMetadata({topic:b,metadata:ue.metadata}),xe=this.client.session.get(Ye)),(G=this.client.metadata.redirect)!=null&&G.linkMode&&(Q=ue.metadata.redirect)!=null&&Q.linkMode&&(se=ue.metadata.redirect)!=null&&se.universal&&r&&(this.client.core.addLinkModeSupportedApp(ue.metadata.redirect.universal),this.client.session.update(Ye,{transportType:Ae.link_mode})),E({auths:Ee,session:xe})};this.events.once(C,A),this.events.once(k,B);let j;try{if(n){const T=Bs("wc_sessionAuthenticate",_,H);this.client.core.history.set(b,T);const G=await this.client.core.crypto.encode("",T,{type:Ui,encoding:ms});j=Hi(r,b,G)}else await Promise.all([this.sendRequest({topic:b,method:"wc_sessionAuthenticate",params:_,expiry:s.expiry,throwOnFailedPublish:!0,clientRpcId:H}),this.sendRequest({topic:b,method:"wc_sessionPropose",params:v,expiry:Be.wc_sessionPropose.req.ttl,throwOnFailedPublish:!0,clientRpcId:v.id})])}catch(T){throw this.events.off(C,A),this.events.off(k,B),T}return await this.setProposal(v.id,v),await this.setAuthRequest(H,{request:et(be({},_),{verifyContext:{}}),pairingTopic:b,transportType:o}),{uri:j??I,response:$}}),N(this,"approveSessionAuthenticate",async s=>{const{id:r,auths:i}=s,n=this.client.core.eventClient.createEvent({properties:{topic:r.toString(),trace:[Ts.authenticated_session_approve_started]}});try{this.isInitialized()}catch(f){throw n.setError(Yr.no_internet_connection),f}const o=this.getPendingAuthRequest(r);if(!o)throw n.setError(Yr.authenticated_session_pending_request_not_found),new Error(`Could not find pending auth request with id ${r}`);const a=o.transportType||Ae.relay;a===Ae.relay&&await this.confirmOnlineStateOrThrow();const c=o.requester.publicKey,l=await this.client.core.crypto.generateKeyPair(),d=en(c),h={type:ns,receiverPublicKey:c,senderPublicKey:l},u=[],g=[];for(const f of i){if(!await Oa({cacao:f,projectId:this.client.core.projectId})){n.setError(Yr.invalid_cacao);const x=we("SESSION_SETTLEMENT_FAILED","Signature verification failed");throw await this.sendError({id:r,topic:d,error:x,encodeOpts:h}),new Error(x.message)}n.addTrace(Ts.cacaos_verified);const{p:y}=f,b=Qi(y.resources),I=[lo(y.iss)],O=dn(y.iss);if(b){const x=Ta(b),P=$a(b);u.push(...x),I.push(...P)}for(const x of I)g.push(`${x}:${O}`)}const w=await this.client.core.crypto.generateSharedKey(l,c);n.addTrace(Ts.create_authenticated_session_topic);let m;if(u?.length>0){m={topic:w,acknowledged:!0,self:{publicKey:l,metadata:this.client.metadata},peer:{publicKey:c,metadata:o.requester.metadata},controller:c,expiry:De(or),authentication:i,requiredNamespaces:{},optionalNamespaces:{},relay:{protocol:"irn"},pairingTopic:o.pairingTopic,namespaces:rc([...new Set(u)],[...new Set(g)]),transportType:a},n.addTrace(Ts.subscribing_authenticated_session_topic);try{await this.client.core.relayer.subscribe(w,{transportType:a})}catch(f){throw n.setError(Yr.subscribe_authenticated_session_topic_failure),f}n.addTrace(Ts.subscribe_authenticated_session_topic_success),await this.client.session.set(w,m),n.addTrace(Ts.store_authenticated_session),await this.client.core.pairing.updateMetadata({topic:o.pairingTopic,metadata:o.requester.metadata})}n.addTrace(Ts.publishing_authenticated_session_approve);try{await this.sendResult({topic:d,id:r,result:{cacaos:i,responder:{publicKey:l,metadata:this.client.metadata}},encodeOpts:h,throwOnFailedPublish:!0,appLink:this.getAppLinkIfEnabled(o.requester.metadata,a)})}catch(f){throw n.setError(Yr.authenticated_session_approve_publish_failure),f}return await this.client.auth.requests.delete(r,{message:"fulfilled",code:0}),await this.client.core.pairing.activate({topic:o.pairingTopic}),this.client.core.eventClient.deleteEvent({eventId:n.eventId}),{session:m}}),N(this,"rejectSessionAuthenticate",async s=>{this.isInitialized();const{id:r,reason:i}=s,n=this.getPendingAuthRequest(r);if(!n)throw new Error(`Could not find pending auth request with id ${r}`);n.transportType===Ae.relay&&await this.confirmOnlineStateOrThrow();const o=n.requester.publicKey,a=await this.client.core.crypto.generateKeyPair(),c=en(o),l={type:ns,receiverPublicKey:o,senderPublicKey:a};await this.sendError({id:r,topic:c,error:i,encodeOpts:l,rpcOpts:Be.wc_sessionAuthenticate.reject,appLink:this.getAppLinkIfEnabled(n.requester.metadata,n.transportType)}),await this.client.auth.requests.delete(r,{message:"rejected",code:0}),await this.client.proposal.delete(r,we("USER_DISCONNECTED"))}),N(this,"formatAuthMessage",s=>{this.isInitialized();const{request:r,iss:i}=s;return xl(r,i)}),N(this,"processRelayMessageCache",()=>{setTimeout(async()=>{if(this.relayMessageCache.length!==0)for(;this.relayMessageCache.length>0;)try{const s=this.relayMessageCache.shift();s&&await this.onRelayMessage(s)}catch(s){this.client.logger.error(s)}},50)}),N(this,"cleanupDuplicatePairings",async s=>{if(s.pairingTopic)try{const r=this.client.core.pairing.pairings.get(s.pairingTopic),i=this.client.core.pairing.pairings.getAll().filter(n=>{var o,a;return((o=n.peerMetadata)==null?void 0:o.url)&&((a=n.peerMetadata)==null?void 0:a.url)===s.peer.metadata.url&&n.topic&&n.topic!==r.topic});if(i.length===0)return;this.client.logger.info(`Cleaning up ${i.length} duplicate pairing(s)`),await Promise.all(i.map(n=>this.client.core.pairing.disconnect({topic:n.topic}))),this.client.logger.info("Duplicate pairings clean up finished")}catch(r){this.client.logger.error(r)}}),N(this,"deleteSession",async s=>{var r;const{topic:i,expirerHasDeleted:n=!1,emitEvent:o=!0,id:a=0}=s,{self:c}=this.client.session.get(i);await this.client.core.relayer.unsubscribe(i),await this.client.session.delete(i,we("USER_DISCONNECTED")),this.addToRecentlyDeleted(i,"session"),this.client.core.crypto.keychain.has(c.publicKey)&&await this.client.core.crypto.deleteKeyPair(c.publicKey),this.client.core.crypto.keychain.has(i)&&await this.client.core.crypto.deleteSymKey(i),n||this.client.core.expirer.del(i),this.client.core.storage.removeItem(xc).catch(l=>this.client.logger.warn(l)),this.getPendingSessionRequests().forEac
13h(l=>{l.topic===i&&this.deletePendingSessionRequest(l.id,we("USER_DISCONNECTED"))}),i===((r=this.sessionRequestQueue.queue[0])==null?void 0:r.topic)&&(this.sessionRequestQueue.state=jt.idle),o&&this.client.events.emit("session_delete",{id:a,topic:i})}),N(this,"deleteProposal",async(s,r)=>{if(r)try{const i=this.client.proposal.get(s);this.client.core.eventClient.getEvent({topic:i.pairingTopic})?.setError(Os.proposal_expired)}catch{}await Promise.all([this.client.proposal.delete(s,we("USER_DISCONNECTED")),r?Promise.resolve():this.client.core.expirer.del(s)]),this.addToRecentlyDeleted(s,"proposal")}),N(this,"deletePendingSessionRequest",async(s,r,i=!1)=>{await Promise.all([this.client.pendingRequest.delete(s,r),i?Promise.resolve():this.client.core.expirer.del(s)]),this.addToRecentlyDeleted(s,"request"),this.sessionRequestQueue.queue=this.sessionRequestQueue.queue.filter(n=>n.id!==s),i&&(this.sessionRequestQueue.state=jt.idle,this.client.events.emit("session_request_expire",{id:s}))}),N(this,"deletePendingAuthRequest",async(s,r,i=!1)=>{await Promise.all([this.client.auth.requests.delete(s,r),i?Promise.resolve():this.client.core.expirer.del(s)])}),N(this,"setExpiry",async(s,r)=>{this.client.session.keys.includes(s)&&(this.client.core.expirer.set(s,r),await this.client.session.update(s,{expiry:r}))}),N(this,"setProposal",async(s,r)=>{this.client.core.expirer.set(s,De(Be.wc_sessionPropose.req.ttl)),await this.client.proposal.set(s,r)}),N(this,"setAuthRequest",async(s,r)=>{const{request:i,pairingTopic:n,transportType:o=Ae.relay}=r;this.client.core.expirer.set(s,i.expiryTimestamp),await this.client.auth.requests.set(s,{authPayload:i.authPayload,requester:i.requester,expiryTimestamp:i.expiryTimestamp,id:s,pairingTopic:n,verifyContext:i.verifyContext,transportType:o})}),N(this,"setPendingSessionRequest",async s=>{const{id:r,topic:i,params:n,verifyContext:o}=s,a=n.request.expiryTimestamp||De(Be.wc_sessionRequest.req.ttl);this.client.core.expirer.set(r,a),await this.client.pendingRequest.set(r,{id:r,topic:i,params:n,verifyContext:o})}),N(this,"sendRequest",async s=>{const{topic:r,method:i,params:n,expiry:o,relayRpcId:a,clientRpcId:c,throwOnFailedPublish:l,appLink:d,tvf:h}=s,u=Bs(i,n,c);let g;const w=!!d;try{const y=w?ms:Dt;g=await this.client.core.crypto.encode(r,u,{encoding:y})}catch(y){throw await this.cleanup(),this.client.logger.error(`sendRequest() -> core.crypto.encode() for topic ${r} failed`),y}let m;if(Yb.includes(i)){const y=Ht(JSON.stringify(u)),b=Ht(g);m=await this.client.core.verify.register({id:b,decryptedId:y})}const f=Be[i].req;if(f.attestation=m,o&&(f.ttl=o),a&&(f.id=a),this.client.core.history.set(r,u),w){const y=Hi(d,r,g);await global.Linking.openURL(y,this.client.name)}else{const y=Be[i].req;o&&(y.ttl=o),a&&(y.id=a),y.tvf=et(be({},h),{correlationId:u.id}),l?(y.internal=et(be({},y.internal),{throwOnFailedPublish:!0}),await this.client.core.relayer.publish(r,g,y)):this.client.core.relayer.publish(r,g,y).catch(b=>this.client.logger.error(b))}return u.id}),N(this,"sendResult",async s=>{const{id:r,topic:i,result:n,throwOnFailedPublish:o,encodeOpts:a,appLink:c}=s,l=mn(r,n);let d;const h=c&&typeof(global==null?void 0:global.Linking)<"u";try{const w=h?ms:Dt;d=await this.client.core.crypto.encode(i,l,et(be({},a||{}),{encoding:w}))}catch(w){throw await this.cleanup(),this.client.logger.error(`sendResult() -> core.crypto.encode() for topic ${i} failed`),w}let u,g;try{u=await this.client.core.history.get(i,r);const w=u.request;try{this.shouldSetTVF(w.method,w.params)&&(g=this.getTVFParams(r,w.params,n))}catch(m){this.client.logger.warn("sendResult() -> getTVFParams() failed",m)}}catch(w){throw this.client.logger.error(`sendResult() -> history.get(${i}, ${r}) failed`),w}if(h){const w=Hi(c,i,d);await global.Linking.openURL(w,this.client.name)}else{const w=u.request.method,m=Be[w].res;m.tvf=et(be({},g),{correlationId:r}),o?(m.internal=et(be({},m.internal),{throwOnFailedPublish:!0}),await this.client.core.relayer.publish(i,d,m)):this.client.core.relayer.publish(i,d,m).catch(f=>this.client.logger.error(f))}await this.client.core.history.resolve(l)}),N(this,"sendError",async s=>{const{id:r,topic:i,error:n,encodeOpts:o,rpcOpts:a,appLink:c}=s,l=ul(r,n);let d;const h=c&&typeof(global==null?void 0:global.Linking)<"u";try{const g=h?ms:Dt;d=await this.client.core.crypto.encode(i,l,et(be({},o||{}),{encoding:g}))}catch(g){throw await this.cleanup(),this.client.logger.error(`sendError() -> core.crypto.encode() for topic ${i} failed`),g}let u;try{u=await this.client.core.history.get(i,r)}catch(g){throw this.client.logger.error(`sendError() -> history.get(${i}, ${r}) failed`),g}if(h){const g=Hi(c,i,d);await global.Linking.openURL(g,this.client.name)}else{const g=u.request.method,w=a||Be[g].res;this.client.core.relayer.publish(i,d,w)}await this.client.core.history.resolve(l)}),N(this,"cleanup",async()=>{const s=[],r=[];
vendor: 14,044 bytes, line 13
13this.client.session.getAll().forEach(i=>{let n=!1;gs(i.expiry)&&(n=!0),this.client.core.crypto.keychain.has(i.topic)||(n=!0),n&&s.push(i.topic)}),this.client.proposal.getAll().forEach(i=>{gs(i.expiryTimestamp)&&r.push(i.id)}),await Promise.all([...s.map(i=>this.deleteSession({topic:i})),...r.map(i=>this.deleteProposal(i))])}),N(this,"onProviderMessageEvent",async s=>{!this.initialized||this.relayMessageCache.length>0?this.relayMessageCache.push(s):await this.onRelayMessage(s)}),N(this,"onRelayEventRequest",async s=>{this.requestQueue.queue.push(s),await this.processRequestsQueue()}),N(this,"processRequestsQueue",async()=>{if(this.requestQueue.state===jt.active){this.client.logger.info("Request queue already active, skipping...");return}for(this.client.logger.info(`Request queue starting with ${this.requestQueue.queue.length} requests`);this.requestQueue.queue.length>0;){this.requestQueue.state=jt.active;const s=this.requestQueue.queue.shift();if(s)try{await this.processRequest(s)}catch(r){this.client.logger.warn(r)}}this.requestQueue.state=jt.idle}),N(this,"processRequest",async s=>{const{topic:r,payload:i,attestation:n,transportType:o,encryptedId:a}=s,c=i.method;if(!this.shouldIgnorePairingRequest({topic:r,requestMethod:c}))switch(c){case"wc_sessionPropose":return await this.onSessionProposeRequest({topic:r,payload:i,attestation:n,encryptedId:a});case"wc_sessionSettle":return await this.onSessionSettleRequest(r,i);case"wc_sessionUpdate":return await this.onSessionUpdateRequest(r,i);case"wc_sessionExtend":return await this.onSessionExtendRequest(r,i);case"wc_sessionPing":return await this.onSessionPingRequest(r,i);case"wc_sessionDelete":return await this.onSessionDeleteRequest(r,i);case"wc_sessionRequest":return await this.onSessionRequest({topic:r,payload:i,attestation:n,encryptedId:a,transportType:o});case"wc_sessionEvent":return await this.onSessionEventRequest(r,i);case"wc_sessionAuthenticate":return await this.onSessionAuthenticateRequest({topic:r,payload:i,attestation:n,encryptedId:a,transportType:o});default:return this.client.logger.info(`Unsupported request method ${c}`)}}),N(this,"onRelayEventResponse",async s=>{const{topic:r,payload:i,transportType:n}=s,o=(await this.client.core.history.get(r,i.id)).request.method;switch(o){case"wc_sessionPropose":return this.onSessionProposeResponse(r,i,n);case"wc_sessionSettle":return this.onSessionSettleResponse(r,i);case"wc_sessionUpdate":return this.onSessionUpdateResponse(r,i);case"wc_sessionExtend":return this.onSessionExtendResponse(r,i);case"wc_sessionPing":return this.onSessionPingResponse(r,i);case"wc_sessionRequest":return this.onSessionRequestResponse(r,i);case"wc_sessionAuthenticate":return this.onSessionAuthenticateResponse(r,i);default:return this.client.logger.info(`Unsupported response method ${o}`)}}),N(this,"onRelayEventUnknownPayload",s=>{const{topic:r}=s,{message:i}=R("MISSING_OR_INVALID",`Decoded payload on topic ${r} is not identifiable as a JSON-RPC request or a response.`);throw new Error(i)}),N(this,"shouldIgnorePairingRequest",s=>{const{topic:r,requestMethod:i}=s,n=this.expectedPairingMethodMap.get(r);return!n||n.includes(i)?!1:!!(n.includes("wc_sessionAuthenticate")&&this.client.events.listenerCount("session_authenticate")>0)}),N(this,"onSessionProposeRequest",async s=>{const{topic:r,payload:i,attestation:n,encryptedId:o}=s,{params:a,id:c}=i;try{const l=this.client.core.eventClient.getEvent({topic:r});this.client.events.listenerCount("session_proposal")===0&&(console.warn("No listener for session_proposal event"),l?.setError(ts.proposal_listener_not_found)),this.isValidConnect(be({},i.params));const d=a.expiryTimestamp||De(Be.wc_sessionPropose.req.ttl),h=be({id:c,pairingTopic:r,expiryTimestamp:d},a);await this.setProposal(c,h);const u=await this.getVerifyContext({attestationId:n,hash:Ht(JSON.stringify(i)),encryptedId:o,metadata:h.proposer.metadata});l?.addTrace(Ft.emit_session_proposal),this.client.events.emit("session_proposal",{id:c,params:h,verifyContext:u})}catch(l){await this.sendError({id:c,topic:r,error:l,rpcOpts:Be.wc_sessionPropose.autoReject}),this.client.logger.error(l)}}),N(this,"onSessionProposeResponse",async(s,r,i)=>{const{id:n}=r;if(es(r)){const{result:o}=r;this.client.logger.trace({type:"method",method:"onSessionProposeResponse",result:o});const a=this.client.proposal.get(n);this.client.logger.trace({type:"method",method:"onSessionProposeResponse",proposal:a});const c=a.proposer.publicKey;this.client.logger.trace({type:"method",method:"onSessionProposeResponse",selfPublicKey:c});const l=o.responderPublicKey;this.client.logger.trace({type:"method",method:"onSessionProposeResponse",peerPublicKey:l});const d=await this.client.core.crypto.generateSharedKey(c,l);this.pendingSessions.set(n,{sessionTopic:d,pairingTopic:s,proposalId:n,publicKey:c});const h=await this.client.core.relayer.subscribe(d,{transportType:i});this.client.logger.trace({type:"method",method:"onSessionProposeResponse",subscriptionId:h}),await this.client.core.pairing.activate({topic:s})}else if(Wt(r)){await this.client.proposal.delete(n,we("USER_DISCONNECTED"));const o=pe("session_connect",n);if(this.events.listenerCount(o)===0)throw new Error(`emitting ${o} without any listeners, 954`);this.events.emit(o,{error:r.error})}}),N(this,"onSessionSettleRequest",async(s,r)=>{const{id:i,params:n}=r;try{this.isValidSessionSettleRequest(n);const{relay:o,controller:a,expiry:c,namespaces:l,sessionProperties:d,scopedProperties:h,sessionConfig:u}=r.params,g=[...this.pendingSessions.values()].find(f=>f.sessionTopic===s);if(!g)return this.client.logger.error(`Pending session not found for topic ${s}`);const w=this.client.proposal.get(g.proposalId),m=et(be(be(be({topic:s,relay:o,expiry:c,namespaces:l,acknowledged:!0,pairingTopic:g.pairingTopic,requiredNamespaces:w.requiredNamespaces,optionalNamespaces:w.optionalNamespaces,controller:a.publicKey,self:{publicKey:g.publicKey,metadata:this.client.metadata},peer:{publicKey:a.publicKey,metadata:a.metadata}},d&&{sessionProperties:d}),h&&{scopedProperties:h}),u&&{sessionConfig:u}),{transportType:Ae.relay});await this.client.session.set(m.topic,m),await this.setExpiry(m.topic,m.expiry),await this.client.core.pairing.updateMetadata({topic:g.pairingTopic,metadata:m.peer.metadata}),this.client.events.emit("session_connect",{session:m}),this.events.emit(pe("session_connect",g.proposalId),{session:m}),this.pendingSessions.delete(g.proposalId),this.deleteProposal(g.proposalId,!1),this.cleanupDuplicatePairings(m),await this.sendResult({id:r.id,topic:s,result:!0,throwOnFailedPublish:!0})}catch(o){await this.sendError({id:i,topic:s,error:o}),this.client.logger.error(o)}}),N(this,"onSessionSettleResponse",async(s,r)=>{const{id:i}=r;es(r)?(await this.client.session.update(s,{acknowledged:!0}),this.events.emit(pe("session_approve",i),{})):Wt(r)&&(await this.client.session.delete(s,we("USER_DISCONNECTED")),this.events.emit(pe("session_approve",i),{error:r.error}))}),N(this,"onSessionUpdateRequest",async(s,r)=>{const{params:i,id:n}=r;try{const o=`${s}_session_update`,a=Gr.get(o);if(a&&this.isRequestOutOfSync(a,n)){this.client.logger.warn(`Discarding out of sync request - ${n}`),this.sendError({id:n,topic:s,error:we("INVALID_UPDATE_REQUEST")});return}this.isValidUpdate(be({topic:s},i));try{Gr.set(o,n),await this.client.session.update(s,{namespaces:i.namespaces}),await this.sendResult({id:n,topic:s,result:!0,throwOnFailedPublish:!0})}catch(c){throw Gr.delete(o),c}this.client.events.emit("session_update",{id:n,topic:s,params:i})}catch(o){await this.sendError({id:n,topic:s,error:o}),this.client.logger.error(o)}}),N(this,"isRequestOutOfSync",(s,r)=>r.toString().slice(0,-3)<s.toString().slice(0,-3)),N(this,"onSessionUpdateResponse",(s,r)=>{const{id:i}=r,n=pe("session_update",i);if(this.events.listenerCount(n)===0)throw new Error(`emitting ${n} without any listeners`);es(r)?this.events.emit(pe("session_update",i),{}):Wt(r)&&this.events.emit(pe("session_update",i),{error:r.error})}),N(this,"onSessionExtendRequest",async(s,r)=>{const{id:i}=r;try{this.isValidExtend({topic:s}),await this.setExpiry(s,De(or)),await this.sendResult({id:i,topic:s,result:!0,throwOnFailedPublish:!0}),this.client.events.emit("session_extend",{id:i,topic:s})}catch(n){await this.sendError({id:i,topic:s,error:n}),this.client.logger.error(n)}}),N(this,"onSessionExtendResponse",(s,r)=>{const{id:i}=r,n=pe("session_extend",i);if(this.events.listenerCount(n)===0)throw new Error(`emitting ${n} without any listeners`);es(r)?this.events.emit(pe("session_extend",i),{}):Wt(r)&&this.events.emit(pe("session_extend",i),{error:r.error})}),N(this,"onSessionPingRequest",async(s,r)=>{const{id:i}=r;try{this.isValidPing({topic:s}),await this.sendResult({id:i,topic:s,result:!0,throwOnFailedPublish:!0}),this.client.events.emit("session_ping",{id:i,topic:s})}catch(n){await this.sendError({id:i,topic:s,error:n}),this.client.logger.error(n)}}),N(this,"onSessionPingResponse",(s,r)=>{const{id:i}=r,n=pe("session_ping",i);setTimeout(()=>{if(this.events.listenerCount(n)===0)throw new Error(`emitting ${n} without any listeners 2176`);es(r)?this.events.emit(pe("session_ping",i),{}):Wt(r)&&this.events.emit(pe("session_ping",i),{error:r.error})},500)}),N(this,"onSessionDeleteRequest",async(s,r)=>{const{id:i}=r;try{this.isValidDisconnect({topic:s,reason:r.params}),Promise.all([new Promise(n=>{this.client.core.relayer.once(je.publish,async()=>{n(await this.deleteSession({topic:s,id:i}))})}),this.sendResult({id:i,topic:s,result:!0,throwOnFailedPublish:!0}),this.cleanupPendingSentRequestsForTopic({topic:s,error:we("USER_DISCONNECTED")})]).catch(n=>this.client.logger.error(n))}catch(n){this.client.logger.error(n)}}),N(this,"onSessionRequest",async s=>{var r,i,n;const{topic:o,payload:a,attestation:c,encryptedId:l,transportType:d}=s,{id:h,params:u}=a;try{await this.isValidRequest(be({topic:o},u));const g=this.client.session.get(o),w=await this.getVerifyContext({attestationId:c,hash:Ht(JSON.stringify(Bs("wc_sessionRequest",u,h))),encryptedId:l,metadata:g.peer.metadata,transportType:d}),m={id:h,topic:o,params:u,verifyContext:w};await this.setPendingSessionRequest(m),d===Ae.link_mode&&(r=g.peer.metadata.redirect)!=null&&r.universal&&this.client.core.addLinkModeSupportedApp((i=g.peer.metadata.redirect)==null?void 0:i.universal),(n=this.client.signConfig)!=null&&n.disableRequestQueue?this.emitSessionRequest(m):(this.addSessionRequestToSessionRequestQueue(m),this.processSessionRequestQueue())}catch(g){await this.sendError({id:h,topic:o,error:g}),this.client.logger.error(g)}}),N(this,"onSessionRequestResponse",(s,r)=>{const{id:i}=r,n=pe("session_request",i);if(this.events.listenerCount(n)===0)throw new Error(`emitting ${n} without any listeners`);es(r)?this.events.emit(pe("session_request",i),{result:r.result}):Wt(r)&&this.events.emit(pe("session_request",i),{error:r.error})}),N(this,"onSessionEventRequest",async(s,r)=>{const{id:i,params:n}=r;try{const o=`${s}_session_event_${n.event.name}`,a=Gr.get(o);if(a&&this.isRequestOutOfSync(a,i)){this.client.logger.info(`Discarding out of sync request - ${i}`);return}this.isValidEmit(be({topic:s},n)),this.client.events.emit("session_event",{id:i,topic:s,params:n}),Gr.set(o,i)}catch(o){await this.sendError({id:i,topic:s,error:o}),this.client.logger.error(o)}}),N(this,"onSessionAuthenticateResponse",(s,r)=>{const{id:i}=r;this.client.logger.trace({type:"method",method:"onSessionAuthenticateResponse",topic:s,payload:r}),es(r)?this.events.emit(pe("session_request",i),{result:r.result}):Wt(r)&&this.events.emit(pe("session_request",i),{error:r.error})}),N(this,"onSessionAuthenticateRequest",async s=>{var r;const{topic:i,payload:n,attestation:o,encryptedId:a,transportType:c}=s;try{const{requester:l,authPayload:d,expiryTimestamp:h}=n.params,u=await this.getVerifyContext({attestationId:o,hash:Ht(JSON.stringify(n)),encryptedId:a,metadata:l.metadata,transportType:c}),g={requester:l,pairingTopic:i,id:n.id,authPayload:d,verifyContext:u,expiryTimestamp:h};await this.setAuthRequest(n.id,{request:g,pairingTopic:i,transportType:c}),c===Ae.link_mode&&(r=l.metadata.redirect)!=null&&r.universal&&this.client.core.addLinkModeSupportedApp(l.metadata.redirect.universal),this.client.events.emit("session_authenticate",{topic:i,params:n.params,id:n.id,verifyContext:u})}catch(l){this.client.logger.error(l);const d=n.params.requester.publicKey,h=await this.client.core.crypto.generateKeyPair(),u=this.getAppLinkIfEnabled(n.params.requester.metadata,c),g={type:ns,receiverPublicKey:d,senderPublicKey:h};await this.sendError({id:n.id,topic:i,error:l,encodeOpts:g,rpcOpts:Be.wc_sessionAuthenticate.autoReject,appLink:u})}}),N(this,"addSessionRequestToSessionRequestQueue",s=>{this.sessionRequestQueue.queue.push(s)}),N(this,"cleanupAfterResponse",s=>{this.deletePendingSessionRequest(s.response.id,{message:"fulfilled",code:0}),setTimeout(()=>{this.sessionRequestQueue.state=jt.idle,this.processSessionRequestQueue()},U.toMiliseconds(this.requestQueueDelay))}),N(this,"cleanupPendingSentRequestsForTopic",({topic:s,error:r})=>{const i=this.client.core.history.pending;i.length>0&&i.filter(n=>n.topic===s&&n.request.method==="wc_sessionRequest").forEach(n=>{const o=n.request.id,a=pe("session_request",o);if(this.events.listenerCount(a)===0)throw new Error(`emitting ${a} without any listeners`);this.events.emit(pe("session_request",n.request.id),{error:r})})}),N(this,"processSessionRequestQueue",()=>{if(this.sessionRequestQueue.state===jt.active){this.client.logger.info("session request queue is already active.");return}const s=this.sessionRequestQueue.queue[0];if(!s){this.client.logger.info("session request queue is empty.");return}try{this.sessionRequestQueue.state=jt.active,this.emitSessionRequest(s)}catch(r){this.client.logger.error(r)}}),N(this,"emitSessionRequest",s=>{this.client.events.emit("session_request",s)}),N(this,"onPairingCreated",s=>{if(s.methods&&this.expectedPairingMethodMap.set(s.topic,s.methods),s.active)return;const r=this.client.proposal.getAll().find(i=>i.pairingTopic===s.topic);
13r&&this.onSessionProposeRequest({topic:s.topic,payload:Bs("wc_sessionPropose",et(be({},r),{requiredNamespaces:r.requiredNamespaces,optionalNamespaces:r.optionalNamespaces,relays:r.relays,proposer:r.proposer,sessionProperties:r.sessionProperties,scopedProperties:r.scopedProperties}),r.id)})}),N(this,"isValidConnect",async s=>{if(!ct(s)){const{message:l}=R("MISSING_OR_INVALID",`connect() params: ${JSON.stringify(s)}`);throw new Error(l)}const{pairingTopic:r,requiredNamespaces:i,optionalNamespaces:n,sessionProperties:o,scopedProperties:a,relays:c}=s;if(Ge(r)||await this.isValidPairingTopic(r),!Hg(c)){const{message:l}=R("MISSING_OR_INVALID",`connect() relays: ${c}`);throw new Error(l)}if(!Ge(i)&&Is(i)!==0){const l="requiredNamespaces are deprecated and are automatically assigned to optionalNamespaces";["fatal","error","silent"].includes(this.client.logger.level)?console.warn(l):this.client.logger.warn(l),this.validateNamespaces(i,"requiredNamespaces")}if(!Ge(n)&&Is(n)!==0&&this.validateNamespaces(n,"optionalNamespaces"),Ge(o)||this.validateSessionProps(o,"sessionProperties"),!Ge(a)){this.validateSessionProps(a,"scopedProperties");const l=Object.keys(i||{}).concat(Object.keys(n||{}));if(!Object.keys(a).every(d=>l.includes(d)))throw new Error(`Scoped properties must be a subset of required/optional namespaces, received: ${JSON.stringify(a)}, required/optional namespaces: ${JSON.stringify(l)}`)}}),N(this,"validateNamespaces",(s,r)=>{const i=zg(s,"connect()",r);if(i)throw new Error(i.message)}),N(this,"isValidApprove",async s=>{if(!ct(s))throw new Error(R("MISSING_OR_INVALID",`approve() params: ${s}`).message);const{id:r,namespaces:i,relayProtocol:n,sessionProperties:o,scopedProperties:a}=s;this.checkRecentlyDeleted(r),await this.isValidProposalId(r);const c=this.client.proposal.get(r),l=Fn(i,"approve()");if(l)throw new Error(l.message);const d=oc(c.requiredNamespaces,i,"approve()");if(d)throw new Error(d.message);if(!$e(n,!0)){const{message:h}=R("MISSING_OR_INVALID",`approve() relayProtocol: ${n}`);throw new Error(h)}if(Ge(o)||this.validateSessionProps(o,"sessionProperties"),!Ge(a)){this.validateSessionProps(a,"scopedProperties");const h=new Set(Object.keys(i));if(!Object.keys(a).every(u=>h.has(u)))throw new Error(`Scoped properties must be a subset of approved namespaces, received: ${JSON.stringify(a)}, approved namespaces: ${Array.from(h).join(", ")}`)}}),N(this,"isValidReject",async s=>{if(!ct(s)){const{message:n}=R("MISSING_OR_INVALID",`reject() params: ${s}`);throw new Error(n)}const{id:r,reason:i}=s;if(this.checkRecentlyDeleted(r),await this.isValidProposalId(r),!Kg(i)){const{message:n}=R("MISSING_OR_INVALID",`reject() reason: ${JSON.stringify(i)}`);throw new Error(n)}}),N(this,"isValidSessionSettleRequest",s=>{if(!ct(s)){const{message:l}=R("MISSING_OR_INVALID",`onSessionSettleRequest() params: ${s}`);throw new Error(l)}const{relay:r,controller:i,namespaces:n,expiry:o}=s;if(!nd(r)){const{message:l}=R("MISSING_OR_INVALID","onSessionSettleRequest() relay protocol should be a string");throw new Error(l)}const a=Mg(i,"onSessionSettleRequest()");if(a)throw new Error(a.message);const c=Fn(n,"onSessionSettleRequest()");if(c)throw new Error(c.message);if(gs(o)){const{message:l}=R("EXPIRED","onSessionSettleRequest()");throw new Error(l)}}),N(this,"isValidUpdate",async s=>{if(!ct(s)){const{message:c}=R("MISSING_OR_INVALID",`update() params: ${s}`);throw new Error(c)}const{topic:r,namespaces:i}=s;this.checkRecentlyDeleted(r),await this.isValidSessionTopic(r);const n=this.client.session.get(r),o=Fn(i,"update()");if(o)throw new Error(o.message);const a=oc(n.requiredNamespaces,i,"update()");if(a)throw new Error(a.message)}),N(this,"isValidExtend",async s=>{if(!ct(s)){const{message:i}=R("MISSING_OR_INVALID",`extend() params: ${s}`);throw new Error(i)}const{topic:r}=s;this.checkRecentlyDeleted(r),await this.isValidSessionTopic(r)}),N(this,"isValidRequest",async s=>{if(!ct(s)){const{message:c}=R("MISSING_OR_INVALID",`request() params: ${s}`);throw new Error(c)}const{topic:r,request:i,chainId:n,expiry:o}=s;this.checkRecentlyDeleted(r),await this.isValidSessionTopic(r);const{namespaces:a}=this.client.session.get(r);if(!nc(a,n)){const{message:c}=R("MISSING_OR_INVALID",`request() chainId: ${n}`);throw new Error(c)}if(!Gg(i)){const{message:c}=R("MISSING_OR_INVALID",`request() ${JSON.stringify(i)}`);throw new Error(c)}if(!Zg(a,n,i.method)){const{message:c}=R("MISSING_OR_INVALID",`request() method: ${i.method}`);throw new Error(c)}if(o&&!tm(o,Jn)){const{message:c}=R("MISSING_OR_INVALID",`request() expiry: ${o}. Expiry must be a number (in seconds) between ${Jn.min} and ${Jn.max}`);throw new Error(c)}}),N(this,"isValidRespond",async s=>{var r;if(!ct(s)){const{message:o}=R("MISSING_OR_INVALID",`respond() params: ${s}`);throw new Error(o)}const{topic:i,response:n}=s;try{await this.isValidSessionTopic(i)}catch(o){throw(r=s?.response)!=null&&r.id&&this.cleanupAfterResponse(s),o}if(!Jg(n)){const{message:o}=R("MISSING_OR_INVALID",`respond() response: ${JSON.stringify(n)}`);throw new Error(o)}}),N(this,"isValidPing",async s=>{if(!ct(s)){const{message:i}=R("MISSING_OR_INVALID",`ping() params: ${s}`);throw new Error(i)}const{topic:r}=s;await this.isValidSessionOrPairingTopic(r)}),N(this,"isValidEmit",async s=>{if(!ct(s)){const{message:a}=R("MISSING_OR_INVALID",`emit() params: ${s}`);throw new Error(a)}
vendor: 10,458 bytes, line 13
13const{topic:r,event:i,chainId:n}=s;await this.isValidSessionTopic(r);const{namespaces:o}=this.client.session.get(r);if(!nc(o,n)){const{message:a}=R("MISSING_OR_INVALID",`emit() chainId: ${n}`);throw new Error(a)}if(!Yg(i)){const{message:a}=R("MISSING_OR_INVALID",`emit() event: ${JSON.stringify(i)}`);throw new Error(a)}if(!Xg(o,n,i.name)){const{message:a}=R("MISSING_OR_INVALID",`emit() event: ${JSON.stringify(i)}`);throw new Error(a)}}),N(this,"isValidDisconnect",async s=>{if(!ct(s)){const{message:i}=R("MISSING_OR_INVALID",`disconnect() params: ${s}`);throw new Error(i)}const{topic:r}=s;await this.isValidSessionOrPairingTopic(r)}),N(this,"isValidAuthenticate",s=>{const{chains:r,uri:i,domain:n,nonce:o}=s;if(!Array.isArray(r)||r.length===0)throw new Error("chains is required and must be a non-empty array");if(!$e(i,!1))throw new Error("uri is required parameter");if(!$e(n,!1))throw new Error("domain is required parameter");if(!$e(o,!1))throw new Error("nonce is required parameter");if([...new Set(r.map(c=>_r(c).namespace))].length>1)throw new Error("Multi-namespace requests are not supported. Please request single namespace only.");const{namespace:a}=_r(r[0]);if(a!=="eip155")throw new Error("Only eip155 namespace is supported for authenticated sessions. Please use .connect() for non-eip155 chains.")}),N(this,"getVerifyContext",async s=>{const{attestationId:r,hash:i,encryptedId:n,metadata:o,transportType:a}=s,c={verified:{verifyUrl:o.verifyUrl||hi,validation:"UNKNOWN",origin:o.url||""}};try{if(a===Ae.link_mode){const d=this.getAppLinkIfEnabled(o,a);return c.verified.validation=d&&new URL(d).origin===new URL(o.url).origin?"VALID":"INVALID",c}const l=await this.client.core.verify.resolve({attestationId:r,hash:i,encryptedId:n,verifyUrl:o.verifyUrl});l&&(c.verified.origin=l.origin,c.verified.isScam=l.isScam,c.verified.validation=l.origin===new URL(o.url).origin?"VALID":"INVALID")}catch(l){this.client.logger.warn(l)}return this.client.logger.debug(`Verify context: ${JSON.stringify(c)}`),c}),N(this,"validateSessionProps",(s,r)=>{Object.values(s).forEach((i,n)=>{if(i==null){const{message:o}=R("MISSING_OR_INVALID",`${r} must contain an existing value for each key. Received: ${i} for key ${Object.keys(s)[n]}`);throw new Error(o)}})}),N(this,"getPendingAuthRequest",s=>{const r=this.client.auth.requests.get(s);return typeof r=="object"?r:void 0}),N(this,"addToRecentlyDeleted",(s,r)=>{if(this.recentlyDeletedMap.set(s,r),this.recentlyDeletedMap.size>=this.recentlyDeletedLimit){let i=0;const n=this.recentlyDeletedLimit/2;for(const o of this.recentlyDeletedMap.keys()){if(i++>=n)break;this.recentlyDeletedMap.delete(o)}}}),N(this,"checkRecentlyDeleted",s=>{const r=this.recentlyDeletedMap.get(s);if(r){const{message:i}=R("MISSING_OR_INVALID",`Record was recently deleted - ${r}: ${s}`);throw new Error(i)}}),N(this,"isLinkModeEnabled",(s,r)=>{var i,n,o,a,c,l,d,h,u;return!s||r!==Ae.link_mode?!1:((n=(i=this.client.metadata)==null?void 0:i.redirect)==null?void 0:n.linkMode)===!0&&((a=(o=this.client.metadata)==null?void 0:o.redirect)==null?void 0:a.universal)!==void 0&&((l=(c=this.client.metadata)==null?void 0:c.redirect)==null?void 0:l.universal)!==""&&((d=s?.redirect)==null?void 0:d.universal)!==void 0&&((h=s?.redirect)==null?void 0:h.universal)!==""&&((u=s?.redirect)==null?void 0:u.linkMode)===!0&&this.client.core.linkModeSupportedApps.includes(s.redirect.universal)&&typeof(global==null?void 0:global.Linking)<"u"}),N(this,"getAppLinkIfEnabled",(s,r)=>{var i;return this.isLinkModeEnabled(s,r)?(i=s?.redirect)==null?void 0:i.universal:void 0}),N(this,"handleLinkModeMessage",({url:s})=>{if(!s||!s.includes("wc_ev")||!s.includes("topic"))return;const r=Ea(s,"topic")||"",i=decodeURIComponent(Ea(s,"wc_ev")||""),n=this.client.session.keys.includes(r);n&&this.client.session.update(r,{transportType:Ae.link_mode}),this.client.core.dispatchEnvelope({topic:r,message:i,sessionExists:n})}),N(this,"registerLinkModeListeners",async()=>{var s;if(jo()||Ss()&&(s=this.client.metadata.redirect)!=null&&s.linkMode){const r=global==null?void 0:global.Linking;if(typeof r<"u"){r.addEventListener("url",this.handleLinkModeMessage,this.client.name);const i=await r.getInitialURL();i&&setTimeout(()=>{this.handleLinkModeMessage({url:i})},50)}}}),N(this,"shouldSetTVF",(s,r)=>{if(!r||s!=="wc_sessionRequest")return!1;const{request:i}=r;return Object.keys(Uc).includes(i.method)}),N(this,"getTVFParams",(s,r,i)=>{var n,o;try{const a=r.request.method,c=this.extractTxHashesFromResult(a,i);return et(be({correlationId:s,rpcMethods:[a],chainId:r.chainId},this.isValidContractData(r.request.params)&&{contractAddresses:[(o=(n=r.request.params)==null?void 0:n[0])==null?void 0:o.to]}),{txHashes:c})}catch(a){this.client.logger.warn("Error getting TVF params",a)}return{}}),N(this,"isValidContractData",s=>{var r;if(!s)return!1;try{const i=s?.data||((r=s?.[0])==null?void 0:r.data);if(!i.startsWith("0x"))return!1;const n=i.slice(2);return/^[0-9a-fA-F]*$/.test(n)?n.length%2===0:!1}catch{}return!1}),N(this,"extractTxHashesFromResult",(s,r)=>{try{const i=Uc[s];if(typeof r=="string")return[r];const n=r[i.key];if(Cs(n))return s==="solana_signAllTransactions"?n.map(o=>vp(o)):n;if(typeof n=="string")return[n]}catch(i){this.client.logger.warn("Error extracting tx hashes from result",i)}return[]})}async processPendingMessageEvents(){try{const e=this.client.session.keys,s=this.client.core.relayer.messages.getWithoutAck(e);for(const[r,i]of Object.entries(s))for(const n of i)try{await this.onProviderMessageEvent({topic:r,message:n,publishedAt:Date.now()})}catch{this.client.logger.warn(`Error processing pending message event for topic: ${r}, message: ${n}`)}}catch(e){this.client.logger.warn("processPendingMessageEvents failed",e)}}isInitialized(){if(!this.initialized){const{message:e}=R("NOT_INITIALIZED",this.name);throw new Error(e)}}async confirmOnlineStateOrThrow(){await this.client.core.relayer.confirmOnlineStateOrThrow()}registerRelayerEvents(){this.client.core.relayer.on(je.message,e=>{this.onProviderMessageEvent(e)})}async onRelayMessage(e){const{topic:s,message:r,attestation:i,transportType:n}=e,{publicKey:o}=this.client.auth.authKeys.keys.includes(sn)?this.client.auth.authKeys.get(sn):{publicKey:void 0};try{const a=await this.client.core.crypto.decode(s,r,{receiverPublicKey:o,encoding:n===Ae.link_mode?ms:Dt});Mo(a)?(this.client.core.history.set(s,a),await this.onRelayEventRequest({topic:s,payload:a,attestation:i,transportType:n,encryptedId:Ht(r)})):Bo(a)?(await this.client.core.history.resolve(a),await this.onRelayEventResponse({topic:s,payload:a,transportType:n}),this.client.core.history.delete(s,a.id)):await this.onRelayEventUnknownPayload({topic:s,payload:a,transportType:n}),await this.client.core.relayer.messages.ack(s,r)}catch(a){this.client.logger.error(a)}}registerExpirerEvents(){this.client.core.expirer.on(_t.expired,async e=>{const{topic:s,id:r}=Nl(e.target);if(r&&this.client.pendingRequest.keys.includes(r))return await this.deletePendingSessionRequest(r,R("EXPIRED"),!0);if(r&&this.client.auth.requests.keys.includes(r))return await this.deletePendingAuthRequest(r,R("EXPIRED"),!0);s?this.client.session.keys.includes(s)&&(await this.deleteSession({topic:s,expirerHasDeleted:!0}),this.client.events.emit("session_expire",{topic:s})):r&&(await this.deleteProposal(r,!0),this.client.events.emit("proposal_expire",{id:r}))})}registerPairingEvents(){this.client.core.pairing.events.on(Ls.create,e=>this.onPairingCreated(e)),this.client.core.pairing.events.on(Ls.delete,e=>{this.addToRecentlyDeleted(e.topic,"pairing")})}isValidPairingTopic(e){if(!$e(e,!1)){const{message:s}=R("MISSING_OR_INVALID",`pairing topic should be a string: ${e}`);throw new Error(s)}if(!this.client.core.pairing.pairings.keys.includes(e)){const{message:s}=R("NO_MATCHING_KEY",`pairing topic doesn't exist: ${e}`);throw new Error(s)}if(gs(this.client.core.pairing.pairings.get(e).expiry)){const{message:s}=R("EXPIRED",`pairing topic: ${e}`);throw new Error(s)}}async isValidSessionTopic(e){if(!$e(e,!1)){const{message:s}=R("MISSING_OR_INVALID",`session topic should be a string: ${e}`);throw new Error(s)}if(this.checkRecentlyDeleted(e),!this.client.session.keys.includes(e)){const{message:s}=R("NO_MATCHING_KEY",`session topic doesn't exist: ${e}`);throw new Error(s)}if(gs(this.client.session.get(e).expiry)){await this.deleteSession({topic:e});const{message:s}=R("EXPIRED",`session topic: ${e}`);throw new Error(s)}if(!this.client.core.crypto.keychain.has(e)){const{message:s}=R("MISSING_OR_INVALID",`session topic does not exist in keychain: ${e}`);throw await this.deleteSession({topic:e}),new Error(s)}}async isValidSessionOrPairingTopic(e){if(this.checkRecentlyDeleted(e),this.client.session.keys.includes(e))await this.isValidSessionTopic(e);else if(this.client.core.pairing.pairings.keys.includes(e))this.isValidPairingTopic(e);else if($e(e,!1)){const{message:s}=R("NO_MATCHING_KEY",`session or pairing topic doesn't exist: ${e}`);throw new Error(s)}else{const{message:s}=R("MISSING_OR_INVALID",`session or pairing topic should be a string: ${e}`);throw new Error(s)}}async isValidProposalId(e){if(!Vg(e)){const{message:s}=R("MISSING_OR_INVALID",`proposal id should be a number: ${e}`);throw new Error(s)}if(!this.client.proposal.keys.includes(e)){const{message:s}=R("NO_MATCHING_KEY",`proposal id doesn't exist: ${e}`);throw new Error(s)}if(gs(this.client.proposal.get(e).expiryTimestamp)){await this.deleteProposal(e);const{message:s}=R("EXPIRED",`proposal id: ${e}`);throw new Error(s)}}}class cv extends Qs{constructor(e,s){super(e,s,Vb,Jo),this.core=e,this.logger=s}}let lv=class extends Qs{constructor(e,s){super(e,s,Kb,Jo),this.core=e,this.logger=s}};class dv extends Qs{constructor(e,s){super(e,s,Jb,Jo,r=>r.id),this.core=e,this.logger=s}}class hv extends Qs{constructor(e,s){super(e,s,Qb,An,()=>sn),this.core=e,this.logger=s}}class uv extends Qs{constructor(e,s){super(e,s,ev,An),this.core=e,this.logger=s}}class pv extends Qs{constructor(e,s){super(e,s,tv,An,r=>r.id),this.core=e,this.logger=s}}var fv=Object.defineProperty,gv=(t,e,s)=>e in t?fv(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,Yn=(t,e,s)=>gv(t,typeof e!="symbol"?e+"":e,s);class mv{constructor(e,s){this.core=e,this.logger=s,Yn(this,"authKeys"),Yn(this,"pairingTopics"),Yn(this,"requests"),this.authKeys=new hv(this.core,this.logger),this.pairingTopics=new uv(this.core,this.logger),this.requests=new pv(this.core,this.logger)}
13async init(){await this.authKeys.init(),await this.pairingTopics.init(),await this.requests.init()}}var wv=Object.defineProperty,yv=(t,e,s)=>e in t?wv(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,ne=(t,e,s)=>yv(t,typeof e!="symbol"?e+"":e,s);let bv=class Ad extends yu{constructor(e){super(e),ne(this,"protocol",Cd),ne(this,"version",Id),ne(this,"name",Gn.name),ne(this,"metadata"),ne(this,"core"),ne(this,"logger"),ne(this,"events",new Js.EventEmitter),ne(this,"engine"),ne(this,"session"),ne(this,"proposal"),ne(this,"pendingRequest"),ne(this,"auth"),ne(this,"signConfig"),ne(this,"on",(r,i)=>this.events.on(r,i)),ne(this,"once",(r,i)=>this.events.once(r,i)),ne(this,"off",(r,i)=>this.events.off(r,i)),ne(this,"removeListener",(r,i)=>this.events.removeListener(r,i)),ne(this,"removeAllListeners",r=>this.events.removeAllListeners(r)),ne(this,"connect",async r=>{try{return await this.engine.connect(r)}catch(i){throw this.logger.error(i.message),i}}),ne(this,"pair",async r=>{try{return await this.engine.pair(r)}catch(i){throw this.logger.error(i.message),i}}),ne(this,"approve",async r=>{try{return await this.engine.approve(r)}catch(i){throw this.logger.error(i.message),i}}),ne(this,"reject",async r=>{try{return await this.engine.reject(r)}catch(i){throw this.logger.error(i.message),i}}),ne(this,"update",async r=>{try{return await this.engine.update(r)}catch(i){throw this.logger.error(i.message),i}}),ne(this,"extend",async r=>{try{return await this.engine.extend(r)}catch(i){throw this.logger.error(i.message),i}}),ne(this,"request",async r=>{try{return await this.engine.request(r)}catch(i){throw this.logger.error(i.message),i}}),ne(this,"respond",async r=>{try{return await this.engine.respond(r)}catch(i){throw this.logger.error(i.message),i}}),ne(this,"ping",async r=>{try{return await this.engine.ping(r)}catch(i){throw this.logger.error(i.message),i}}),ne(this,"emit",async r=>{try{return await this.engine.emit(r)}catch(i){throw this.logger.error(i.message),i}}),ne(this,"disconnect",async r=>{try{return await this.engine.disconnect(r)}catch(i){throw this.logger.error(i.message),i}}),ne(this,"find",r=>{try{return this.engine.find(r)}catch(i){throw this.logger.error(i.message),i}}),ne(this,"getPendingSessionRequests",()=>{try{return this.engine.getPendingSessionRequests()}catch(r){throw this.logger.error(r.message),r}}),ne(this,"authenticate",async(r,i)=>{try{return await this.engine.authenticate(r,i)}catch(n){throw this.logger.error(n.message),n}}),ne(this,"formatAuthMessage",r=>{try{return this.engine.formatAuthMessage(r)}catch(i){throw this.logger.error(i.message),i}}),ne(this,"approveSessionAuthenticate",async r=>{try{return await this.engine.approveSessionAuthenticate(r)}catch(i){throw this.logger.error(i.message),i}}),ne(this,"rejectSessionAuthenticate",async r=>{try{return await this.engine.rejectSessionAuthenticate(r)}catch(i){throw this.logger.error(i.message),i}}),this.name=e?.name||Gn.name,this.metadata=xu(e?.metadata),this.signConfig=e?.signConfig;const s=typeof e?.logger<"u"&&typeof e?.logger!="string"?e.logger:Lo(Si({level:e?.logger||Gn.logger}));this.core=e?.core||new Hb(e),this.logger=st(s,this.name),this.session=new lv(this.core,this.logger),this.proposal=new cv(this.core,this.logger),this.pendingRequest=new dv(this.core,this.logger),this.engine=new av(this),this.auth=new mv(this.core,this.logger)}static async init(e){const s=new Ad(e);return await s.initialize(),s}get context(){return bt(this.logger)}get pairing(){return this.core.pairing.pairings}async initialize(){this.logger.trace("Initialized");try{await this.core.start(),await this.session.init(),await this.proposal.init(),await this.pendingRequest.init(),await this.auth.init(),await this.engine.init(),this.logger.info("SignClient Initialization Success"),setTimeout(()=>{this.engine.processRelayMessageCache()},U.toMiliseconds(U.ONE_SECOND))}catch(e){throw this.logger.info("SignClient Initialization Failure"),this.logger.error(e.message),e}}};const Lc="error",vv="wss://relay.walletconnect.org",Ev="wc",Cv="universal_provider",Ki=`${Ev}@2:${Cv}:`,_d="https://rpc.walletconnect.org/v1/",br="generic",Iv=`${_d}bundler`,kt={DEFAULT_CHAIN_CHANGED:"default_chain_changed"};function Nv(){}function Yo(t){return t==null||typeof t!="object"&&typeof t!="function"}function Zo(t){return ArrayBuffer.isView(t)&&!(t instanceof DataView)}function Av(t){if(Yo(t))return t;if(Array.isArray(t)||Zo(t)||t instanceof ArrayBuffer||typeof SharedArrayBuffer<"u"&&t instanceof SharedArrayBuffer)return t.slice(0);const e=Object.getPrototypeOf(t),s=e.constructor;if(t instanceof Date||t instanceof Map||t instanceof Set)return new s(t);if(t instanceof RegExp){const r=new s(t);return r.lastIndex=t.lastIndex,r}if(t instanceof DataView)return new s(t.buffer.slice(0));if(t instanceof Error){const r=new s(t.message);return r.stack=t.stack,r.name=t.name,r.cause=t.cause,r}if(typeof File<"u"&&t instanceof File)return new s([t],t.name,{type:t.type,lastModified:t.lastModified});if(typeof t=="object"){const r=Object.create(e);return Object.assign(r,t)}return t}function Mc(t){return typeof t=="object"&&t!==null}function Sd(t){return Object.getOwnPropertySymbols(t).filter(e=>Object.prototype.propertyIsEnumerable.call(t,e))}
vendor: 6,457 bytes, line 13
13function Pd(t){return t==null?t===void 0?"[object Undefined]":"[object Null]":Object.prototype.toString.call(t)}const _v="[object RegExp]",kd="[object String]",Od="[object Number]",Td="[object Boolean]",$d="[object Arguments]",Sv="[object Symbol]",Pv="[object Date]",kv="[object Map]",Ov="[object Set]",Tv="[object Array]",$v="[object ArrayBuffer]",xv="[object Object]",Rv="[object DataView]",Uv="[object Uint8Array]",Dv="[object Uint8ClampedArray]",Lv="[object Uint16Array]",Mv="[object Uint32Array]",Bv="[object Int8Array]",qv="[object Int16Array]",jv="[object Int32Array]",Fv="[object Float32Array]",Wv="[object Float64Array]";function zv(t,e){return Ar(t,void 0,t,new Map,e)}function Ar(t,e,s,r=new Map,i=void 0){const n=i?.(t,e,s,r);if(n!=null)return n;if(Yo(t))return t;if(r.has(t))return r.get(t);if(Array.isArray(t)){const o=new Array(t.length);r.set(t,o);for(let a=0;a<t.length;a++)o[a]=Ar(t[a],a,s,r,i);return Object.hasOwn(t,"index")&&(o.index=t.index),Object.hasOwn(t,"input")&&(o.input=t.input),o}if(t instanceof Date)return new Date(t.getTime());if(t instanceof RegExp){const o=new RegExp(t.source,t.flags);return o.lastIndex=t.lastIndex,o}if(t instanceof Map){const o=new Map;r.set(t,o);for(const[a,c]of t)o.set(a,Ar(c,a,s,r,i));return o}if(t instanceof Set){const o=new Set;r.set(t,o);for(const a of t)o.add(Ar(a,void 0,s,r,i));return o}if(typeof Buffer<"u"&&Buffer.isBuffer(t))return t.subarray();if(Zo(t)){const o=new(Object.getPrototypeOf(t)).constructor(t.length);r.set(t,o);for(let a=0;a<t.length;a++)o[a]=Ar(t[a],a,s,r,i);return o}if(t instanceof ArrayBuffer||typeof SharedArrayBuffer<"u"&&t instanceof SharedArrayBuffer)return t.slice(0);if(t instanceof DataView){const o=new DataView(t.buffer.slice(0),t.byteOffset,t.byteLength);return r.set(t,o),Ms(o,t,s,r,i),o}if(typeof File<"u"&&t instanceof File){const o=new File([t],t.name,{type:t.type});return r.set(t,o),Ms(o,t,s,r,i),o}if(t instanceof Blob){const o=new Blob([t],{type:t.type});return r.set(t,o),Ms(o,t,s,r,i),o}if(t instanceof Error){const o=new t.constructor;return r.set(t,o),o.message=t.message,o.name=t.name,o.stack=t.stack,o.cause=t.cause,Ms(o,t,s,r,i),o}if(typeof t=="object"&&Hv(t)){const o=Object.create(Object.getPrototypeOf(t));return r.set(t,o),Ms(o,t,s,r,i),o}return t}function Ms(t,e,s=t,r,i){const n=[...Object.keys(e),...Sd(e)];for(let o=0;o<n.length;o++){const a=n[o],c=Object.getOwnPropertyDescriptor(t,a);(c==null||c.writable)&&(t[a]=Ar(e[a],a,s,r,i))}}function Hv(t){switch(Pd(t)){case $d:case Tv:case $v:case Rv:case Td:case Pv:case Fv:case Wv:case Bv:case qv:case jv:case kv:case Od:case xv:case _v:case Ov:case kd:case Sv:case Uv:case Dv:case Lv:case Mv:return!0;default:return!1}}function Vv(t,e){return zv(t,(s,r,i,n)=>{if(typeof t=="object")switch(Object.prototype.toString.call(t)){case Od:case kd:case Td:{const o=new t.constructor(t?.valueOf());return Ms(o,t),o}case $d:{const o={};return Ms(o,t),o.length=t.length,o[Symbol.iterator]=t[Symbol.iterator],o}default:return}})}function Bc(t){return Vv(t)}function qc(t){return t!==null&&typeof t=="object"&&Pd(t)==="[object Arguments]"}function Kv(t){return Zo(t)}function Gv(t){if(typeof t!="object"||t==null)return!1;if(Object.getPrototypeOf(t)===null)return!0;if(Object.prototype.toString.call(t)!=="[object Object]"){const s=t[Symbol.toStringTag];return s==null||!Object.getOwnPropertyDescriptor(t,Symbol.toStringTag)?.writable?!1:t.toString()===`[object ${s}]`}let e=t;for(;Object.getPrototypeOf(e)!==null;)e=Object.getPrototypeOf(e);return Object.getPrototypeOf(t)===e}function Jv(t,...e){const s=e.slice(0,-1),r=e[e.length-1];let i=t;for(let n=0;n<s.length;n++){const o=s[n];i=$o(i,o,r,new Map)}return i}function $o(t,e,s,r){if(Yo(t)&&(t=Object(t)),e==null||typeof e!="object")return t;if(r.has(e))return Av(r.get(e));if(r.set(e,t),Array.isArray(e)){e=e.slice();for(let n=0;n<e.length;n++)e[n]=e[n]??void 0}const i=[...Object.keys(e),...Sd(e)];for(let n=0;n<i.length;n++){const o=i[n];let a=e[o],c=t[o];if(qc(a)&&(a={...a}),qc(c)&&(c={...c}),typeof Buffer<"u"&&Buffer.isBuffer(a)&&(a=Bc(a)),Array.isArray(a))if(typeof c=="object"&&c!=null){const d=[],h=Reflect.ownKeys(c);for(let u=0;u<h.length;u++){const g=h[u];d[g]=c[g]}c=d}else c=[];const l=s(c,a,o,t,e,r);l!=null?t[o]=l:Array.isArray(a)||Mc(c)&&Mc(a)?t[o]=$o(c,a,s,r):c==null&&Gv(a)?t[o]=$o({},a,s,r):c==null&&Kv(a)?t[o]=Bc(a):(c===void 0||a!==void 0)&&(t[o]=a)}return t}function Yv(t,...e){return Jv(t,...e,Nv)}var Zv=Object.defineProperty,Xv=Object.defineProperties,Qv=Object.getOwnPropertyDescriptors,jc=Object.getOwnPropertySymbols,e0=Object.prototype.hasOwnProperty,t0=Object.prototype.propertyIsEnumerable,Fc=(t,e,s)=>e in t?Zv(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,Gi=(t,e)=>{for(var s in e||(e={}))e0.call(e,s)&&Fc(t,s,e[s]);if(jc)for(var s of jc(e))t0.call(e,s)&&Fc(t,s,e[s]);return t},s0=(t,e)=>Xv(t,Qv(e));function yt(t,e,s){var r;const i=_r(t);return((r=e.rpcMap)==null?void 0:r[i.reference])||`${_d}?chainId=${i.namespace}:${i.reference}&projectId=${s}`}function er(t){return t.includes(":")?t.split(":")[1]:t}function xd(t){return t.map(e=>`${e.split(":")[0]}:${e.split(":")[1]}`)}function r0(t,e){const s=Object.keys(e.namespaces).filter(i=>i.includes(t));if(!s.length)return[];const r=[];return s.forEach(i=>{const n=e.namespaces[i].accounts;r.push(...n)}),r}function Ji(t={},e={}){const s=Wc(t),r=Wc(e);return Yv(s,r)}function Wc(t){var e,s,r,i,n;const o={};if(!Is(t))return o;for(const[a,c]of Object.entries(t)){const l=In(a)?[a]:c.chains,d=c.methods||[],h=c.events||[],u=c.rpcMap||{},g=Nr(a);o[g]=s0(Gi(Gi({},o[g]),c),{chains:Kt(l,(e=o[g])==null?void 0:e.chains),methods:Kt(d,(s=o[g])==null?void 0:s.methods),events:Kt(h,(r=o[g])==null?void 0:r.events)}),(Is(u)||Is(((i=o[g])==null?void 0:i.rpcMap)||{}))&&(o[g].rpcMap=Gi(Gi({},u),(n=o[g])==null?void 0:n.rpcMap))}return o}function zc(t){return t.includes(":")?t.split(":")[2]:t}function Hc(t){const e={};for(const[s,r]of Object.entries(t)){const i=r.methods||[],n=r.events||[],o=r.accounts||[],a=In(s)?[s]:r.chains?r.chains:xd(r.accounts);e[s]={chains:a,methods:i,events:n,accounts:o}}return e}function Zn(t){return typeof t=="number"?t:t.includes("0x")?parseInt(t,16):(t=t.includes(":")?t.split(":")[1]:t,isNaN(Number(t))?t:Number(t))}const Rd={},de=t=>Rd[t],Xn=(t,e)=>{Rd[t]=e};var i0=Object.defineProperty,n0=(t,e,s)=>e in t?i0(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,ar=(t,e,s)=>n0(t,typeof e!="symbol"?e+"":e,s);
13class o0{constructor(e){ar(this,"name","polkadot"),ar(this,"client"),ar(this,"httpProviders"),ar(this,"events"),ar(this,"namespace"),ar(this,"chainId"),this.namespace=e.namespace,this.events=de("events"),this.client=de("client"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(e){this.namespace=Object.assign(this.namespace,e)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const e=this.namespace.chains[0];if(!e)throw new Error("ChainId not found");return e.split(":")[1]}request(e){return this.namespace.methods.includes(e.request.method)?this.client.request(e):this.getHttpProvider().request(e.request)}setDefaultChain(e,s){this.httpProviders[e]||this.setHttpProvider(e,s),this.chainId=e,this.events.emit(kt.DEFAULT_CHAIN_CHANGED,`${this.name}:${e}`)}getAccounts(){const e=this.namespace.accounts;return e?e.filter(s=>s.split(":")[1]===this.chainId.toString()).map(s=>s.split(":")[2])||[]:[]}createHttpProviders(){const e={};return this.namespace.chains.forEach(s=>{var r;const i=er(s);e[i]=this.createHttpProvider(i,(r=this.namespace.rpcMap)==null?void 0:r[s])}),e}getHttpProvider(){const e=`${this.name}:${this.chainId}`,s=this.httpProviders[e];if(typeof s>"u")throw new Error(`JSON-RPC provider for ${e} not found`);return s}setHttpProvider(e,s){const r=this.createHttpProvider(e,s);r&&(this.httpProviders[e]=r)}createHttpProvider(e,s){const r=s||yt(e,this.namespace,this.client.core.projectId);if(!r)throw new Error(`No RPC url provided for chainId: ${e}`);return new Pt(new Lt(r,de("disableProviderPing")))}}var a0=Object.defineProperty,c0=Object.defineProperties,l0=Object.getOwnPropertyDescriptors,Vc=Object.getOwnPropertySymbols,d0=Object.prototype.hasOwnProperty,h0=Object.prototype.propertyIsEnumerable,xo=(t,e,s)=>e in t?a0(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,Kc=(t,e)=>{for(var s in e||(e={}))d0.call(e,s)&&xo(t,s,e[s]);if(Vc)for(var s of Vc(e))h0.call(e,s)&&xo(t,s,e[s]);return t},Gc=(t,e)=>c0(t,l0(e)),cr=(t,e,s)=>xo(t,typeof e!="symbol"?e+"":e,s);class u0{constructor(e){cr(this,"name","eip155"),cr(this,"client"),cr(this,"chainId"),cr(this,"namespace"),cr(this,"httpProviders"),cr(this,"events"),this.namespace=e.namespace,this.events=de("events"),this.client=de("client"),this.httpProviders=this.createHttpProviders(),this.chainId=parseInt(this.getDefaultChain())}async request(e){switch(e.request.method){case"eth_requestAccounts":return this.getAccounts();case"eth_accounts":return this.getAccounts();case"wallet_switchEthereumChain":return await this.handleSwitchChain(e);case"eth_chainId":return parseInt(this.getDefaultChain());case"wallet_getCapabilities":return await this.getCapabilities(e);case"wallet_getCallsStatus":return await this.getCallStatus(e)}return this.namespace.methods.includes(e.request.method)?await this.client.request(e):this.getHttpProvider().request(e.request)}updateNamespace(e){this.namespace=Object.assign(this.namespace,e)}setDefaultChain(e,s){this.httpProviders[e]||this.setHttpProvider(parseInt(e),s),this.chainId=parseInt(e),this.events.emit(kt.DEFAULT_CHAIN_CHANGED,`${this.name}:${e}`)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId.toString();if(this.namespace.defaultChain)return this.namespace.defaultChain;const e=this.namespace.chains[0];if(!e)throw new Error("ChainId not found");return e.split(":")[1]}createHttpProvider(e,s){const r=s||yt(`${this.name}:${e}`,this.namespace,this.client.core.projectId);if(!r)throw new Error(`No RPC url provided for chainId: ${e}`);return new Pt(new Lt(r,de("disableProviderPing")))}setHttpProvider(e,s){const r=this.createHttpProvider(e,s);r&&(this.httpProviders[e]=r)}createHttpProviders(){const e={};return this.namespace.chains.forEach(s=>{var r;const i=parseInt(er(s));e[i]=this.createHttpProvider(i,(r=this.namespace.rpcMap)==null?void 0:r[s])}),e}getAccounts(){const e=this.namespace.accounts;return e?[...new Set(e.filter(s=>s.split(":")[1]===this.chainId.toString()).map(s=>s.split(":")[2]))]:[]}getHttpProvider(){const e=this.chainId,s=this.httpProviders[e];if(typeof s>"u")throw new Error(`JSON-RPC provider for ${e} not found`);return s}async handleSwitchChain(e){var s,r;let i=e.request.params?(s=e.request.params[0])==null?void 0:s.chainId:"0x0";i=i.startsWith("0x")?i:`0x${i}`;const n=parseInt(i,16);if(this.isChainApproved(n))this.setDefaultChain(`${n}`);else if(this.namespace.methods.includes("wallet_switchEthereumChain"))await this.client.request({topic:e.topic,request:{method:e.request.method,params:[{chainId:i}]},chainId:(r=this.namespace.chains)==null?void 0:r[0]}),this.setDefaultChain(`${n}`);else throw new Error(`Failed to switch to chain 'eip155:${n}'. The chain is not approved or the wallet does not support 'wallet_switchEthereumChain' method.`);return null}isChainApproved(e){return this.namespace.chains.includes(`${this.name}:${e}`)}async getCapabilities(e){var s,r,i,n,o;const a=(r=(s=e.request)==null?void 0:s.params)==null?void 0:r[0],c=((n=(i=e.request)==null?void 0:i.params)==null?void 0:n[1])||[],l=`${a}${c.join(",")}`;if(!a)throw new Error("Missing address parameter in `wallet_getCapabilities` request");const d=this.client.session.get(e.topic),h=((o=d?.sessionProperties)==null?void 0:o.capabilities)||{};if(h!=null&&h[l])return h?.[l];const u=await this.client.request(e);try{await this.client.session.update(e.topic,{sessionProperties:Gc(Kc({},d.sessionProperties||{}),{capabilities:Gc(Kc({},h||{}),{[l]:u})})})}catch(g){console.warn("Failed to update session with capabilities",g)}return u}async getCallStatus(e){var s,r;const i=this.client.session.get(e.topic),n=(s=i.sessionProperties)==null?void 0:s.bundler_name;if(n){const a=this.getBundlerUrl(e.chainId,n);try{return await this.getUserOperationReceipt(a,e)}catch(c){console.warn("Failed to fetch call status from bundler",c,a)}}const o=(r=i.sessionProperties)==null?void 0:r.bundler_url;if(o)try{return await this.getUserOperationReceipt(o,e)}catch(a){console.warn("Failed to fetch call status from custom bundler",a,o)}if(this.namespace.methods.includes(e.request.method))return await this.client.request(e);throw new Error("Fetching call status not approved by the wallet.")}async getUserOperationReceipt(e,s){var r;const i=new URL(e),n=await fetch(i,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(Bs("eth_getUserOperationReceipt",[(r=s.request.params)==null?void 0:r[0]]))});if(!n.ok)throw new Error(`Failed to fetch user operation receipt - ${n.status}`);return await n.json()}
13getBundlerUrl(e,s){return`${Iv}?projectId=${this.client.core.projectId}&chainId=${e}&bundler=${s}`}}var p0=Object.defineProperty,f0=(t,e,s)=>e in t?p0(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,lr=(t,e,s)=>f0(t,typeof e!="symbol"?e+"":e,s);class g0{constructor(e){lr(this,"name","solana"),lr(this,"client"),lr(this,"httpProviders"),lr(this,"events"),lr(this,"namespace"),lr(this,"chainId"),this.namespace=e.namespace,this.events=de("events"),this.client=de("client"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(e){this.namespace=Object.assign(this.namespace,e)}requestAccounts(){return this.getAccounts()}request(e){return this.namespace.methods.includes(e.request.method)?this.client.request(e):this.getHttpProvider().request(e.request)}setDefaultChain(e,s){this.httpProviders[e]||this.setHttpProvider(e,s),this.chainId=e,this.events.emit(kt.DEFAULT_CHAIN_CHANGED,`${this.name}:${e}`)}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const e=this.namespace.chains[0];if(!e)throw new Error("ChainId not found");return e.split(":")[1]}getAccounts(){const e=this.namespace.accounts;return e?[...new Set(e.filter(s=>s.split(":")[1]===this.chainId.toString()).map(s=>s.split(":")[2]))]:[]}createHttpProviders(){const e={};return this.namespace.chains.forEach(s=>{var r;const i=er(s);e[i]=this.createHttpProvider(i,(r=this.namespace.rpcMap)==null?void 0:r[s])}),e}getHttpProvider(){const e=`${this.name}:${this.chainId}`,s=this.httpProviders[e];if(typeof s>"u")throw new Error(`JSON-RPC provider for ${e} not found`);return s}setHttpProvider(e,s){const r=this.createHttpProvider(e,s);r&&(this.httpProviders[e]=r)}createHttpProvider(e,s){const r=s||yt(e,this.namespace,this.client.core.projectId);if(!r)throw new Error(`No RPC url provided for chainId: ${e}`);return new Pt(new Lt(r,de("disableProviderPing")))}}var m0=Object.defineProperty,w0=(t,e,s)=>e in t?m0(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,dr=(t,e,s)=>w0(t,typeof e!="symbol"?e+"":e,s);class y0{constructor(e){dr(this,"name","cosmos"),dr(this,"client"),dr(this,"httpProviders"),dr(this,"events"),dr(this,"namespace"),dr(this,"chainId"),this.namespace=e.namespace,this.events=de("events"),this.client=de("client"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(e){this.namespace=Object.assign(this.namespace,e)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const e=this.namespace.chains[0];if(!e)throw new Error("ChainId not found");return e.split(":")[1]}request(e){return this.namespace.methods.includes(e.request.method)?this.client.request(e):this.getHttpProvider().request(e.request)}setDefaultChain(e,s){this.httpProviders[e]||this.setHttpProvider(e,s),this.chainId=e,this.events.emit(kt.DEFAULT_CHAIN_CHANGED,`${this.name}:${this.chainId}`)}getAccounts(){const e=this.namespace.accounts;return e?[...new Set(e.filter(s=>s.split(":")[1]===this.chainId.toString()).map(s=>s.split(":")[2]))]:[]}createHttpProviders(){const e={};return this.namespace.chains.forEach(s=>{var r;const i=er(s);e[i]=this.createHttpProvider(i,(r=this.namespace.rpcMap)==null?void 0:r[s])}),e}getHttpProvider(){const e=`${this.name}:${this.chainId}`,s=this.httpProviders[e];if(typeof s>"u")throw new Error(`JSON-RPC provider for ${e} not found`);return s}setHttpProvider(e,s){const r=this.createHttpProvider(e,s);r&&(this.httpProviders[e]=r)}createHttpProvider(e,s){const r=s||yt(e,this.namespace,this.client.core.projectId);if(!r)throw new Error(`No RPC url provided for chainId: ${e}`);return new Pt(new Lt(r,de("disableProviderPing")))}}var b0=Object.defineProperty,v0=(t,e,s)=>e in t?b0(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,hr=(t,e,s)=>v0(t,typeof e!="symbol"?e+"":e,s);class E0{constructor(e){hr(this,"name","algorand"),hr(this,"client"),hr(this,"httpProviders"),hr(this,"events"),hr(this,"namespace"),hr(this,"chainId"),this.namespace=e.namespace,this.events=de("events"),this.client=de("client"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(e){this.namespace=Object.assign(this.namespace,e)}requestAccounts(){return this.getAccounts()}request(e){return this.namespace.methods.includes(e.request.method)?this.client.request(e):this.getHttpProvider().request(e.request)}setDefaultChain(e,s){if(!this.httpProviders[e]){const r=s||yt(`${this.name}:${e}`,this.namespace,this.client.core.projectId);if(!r)throw new Error(`No RPC url provided for chainId: ${e}`);this.setHttpProvider(e,r)}this.chainId=e,this.events.emit(kt.DEFAULT_CHAIN_CHANGED,`${this.name}:${this.chainId}`)}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const e=this.namespace.chains[0];if(!e)throw new Error("ChainId not found");return e.split(":")[1]}getAccounts(){const e=this.namespace.accounts;return e?[...new Set(e.filter(s=>s.split(":")[1]===this.chainId.toString()).map(s=>s.split(":")[2]))]:[]}createHttpProviders(){const e={};return this.namespace.chains.forEach(s=>{var r;e[s]=this.createHttpProvider(s,(r=this.namespace.rpcMap)==null?void 0:r[s])}),e}getHttpProvider(){const e=`${this.name}:${this.chainId}`,s=this.httpProviders[e];if(typeof s>"u")throw new Error(`JSON-RPC provider for ${e} not found`);return s}setHttpProvider(e,s){const r=this.createHttpProvider(e,s);r&&(this.httpProviders[e]=r)}createHttpProvider(e,s){const r=s||yt(e,this.namespace,this.client.core.projectId);return typeof r>"u"?void 0:new Pt(new Lt(r,de("disableProviderPing")))}}var C0=Object.defineProperty,I0=(t,e,s)=>e in t?C0(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,ur=(t,e,s)=>I0(t,typeof e!="symbol"?e+"":e,s);class N0{constructor(e){ur(this,"name","cip34"),ur(this,"client"),ur(this,"httpProviders"),ur(this,"events"),ur(this,"namespace"),ur(this,"chainId"),this.namespace=e.namespace,this.events=de("events"),this.client=de("client"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(e){this.namespace=Object.assign(this.namespace,e)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const e=this.namespace.chains[0];if(!e)throw new Error("ChainId not found");return e.split(":")[1]}request(e){return this.namespace.methods.includes(e.request.method)?this.client.request(e):this.getHttpProvider().request(e.request)}setDefaultChain(e,s){this.httpProviders[e]||this.setHttpProvider(e,s),this.chainId=e,this.events.emit(kt.DEFAULT_CHAIN_CHANGED,`${this.name}:${this.chainId}`)}getAccounts(){const e=this.namespace.accounts;return e?[...new Set(e.filter(s=>s.split(":")[1]===this.chainId.toString()).map(s=>s.split(":")[2]))]:[]}createHttpProviders(){const e={};return this.namespace.chains.forEach(s=>{const r=this.getCardanoRPCUrl(s),i=er(s);e[i]=this.createHttpProvider(i,r)}),e}getHttpProvider(){const e=`${this.name}:${this.chainId}`,s=this.httpProviders[e];if(typeof s>"u")throw new Error(`JSON-RPC provider for ${e} not found`);return s}getCardanoRPCUrl(e){const s=this.namespace.rpcMap;if(s)return s[e]}setHttpProvider(e,s){const r=this.createHttpProvider(e,s);r&&(this.httpProviders[e]=r)}createHttpProvider(e,s){const r=s||this.getCardanoRPCUrl(e);if(!r)throw new Error(`No RPC url provided for chainId: ${e}`);return new Pt(new Lt(r,de("disableProviderPing")))}}var A0=Object.defineProperty,_0=(t,e,s)=>e in t?A0(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,pr=(t,e,s)=>_0(t,typeof e!="symbol"?e+"":e,s);class S0{constructor(e){pr(this,"name","elrond"),pr(this,"client"),pr(this,"httpProviders"),pr(this,"events"),pr(this,"namespace"),pr(this,"chainId"),this.namespace=e.namespace,this.events=de("events"),this.client=de("client"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(e){this.namespace=Object.assign(this.namespace,e)}requestAccounts(){return this.getAccounts()}request(e){return this.namespace.methods.includes(e.request.method)?this.client.request(e):this.getHttpProvider().request(e.request)}setDefaultChain(e,s){this.httpProviders[e]||this.setHttpProvider(e,s),this.chainId=e,this.events.emit(kt.DEFAULT_CHAIN_CHANGED,`${this.name}:${e}`)}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const e=this.namespace.chains[0];if(!e)throw new Error("ChainId not found");return e.split(":")[1]}getAccounts(){const e=this.namespace.accounts;return e?[...new Set(e.filter(s=>s.split(":")[1]===this.chainId.toString()).map(s=>s.split(":")[2]))]:[]}createHttpProviders(){const e={};return this.namespace.chains.forEach(s=>{var r;const i=er(s);e[i]=this.createHttpProvider(i,(r=this.namespace.rpcMap)==null?void 0:r[s])}),e}getHttpProvider(){const e=`${this.name}:${this.chainId}`,s=this.httpProviders[e];if(typeof s>"u")throw new Error(`JSON-RPC provider for ${e} not found`);return s}setHttpProvider(e,s){const r=this.createHttpProvider(e,s);r&&(this.httpProviders[e]=r)}createHttpProvider(e,s){const r=s||yt(e,this.namespace,this.client.core.projectId);if(!r)throw new Error(`No RPC url provided for chainId: ${e}`);return new Pt(new Lt(r,de("disableProviderPing")))}}var P0=Object.defineProperty,k0=(t,e,s)=>e in t?P0(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,fr=(t,e,s)=>k0(t,typeof e!="symbol"?e+"":e,s);class O0{constructor(e){fr(this,"name","multiversx"),fr(this,"client"),fr(this,"httpProviders"),fr(this,"events"),fr(this,"namespace"),fr(this,"chainId"),this.namespace=e.namespace,this.events=de("events"),this.client=de("client"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(e){this.namespace=Object.assign(this.namespace,e)}requestAccounts(){return this.getAccounts()}request(e){return this.namespace.methods.includes(e.request.method)?this.client.request(e):this.getHttpProvider().request(e.request)}setDefaultChain(e,s){this.httpProviders[e]||this.setHttpProvider(e,s),this.chainId=e,this.events.emit(kt.DEFAULT_CHAIN_CHANGED,`${this.name}:${e}`)}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const e=this.namespace.chains[0];if(!e)throw new Error("ChainId not found");return e.split(":")[1]}getAccounts(){const e=this.namespace.accounts;return e?[...new Set(e.filter(s=>s.split(":")[1]===this.chainId.toString()).map(s=>s.split(":")[2]))]:[]}createHttpProviders(){const e={};return this.namespace.chains.forEach(s=>{var r;const i=er(s);e[i]=this.createHttpProvider(i,(r=this.namespace.rpcMap)==null?void 0:r[s])}),e}getHttpProvider(){const e=`${this.name}:${this.chainId}`,s=this.httpProviders[e];if(typeof s>"u")throw new Error(`JSON-RPC provider for ${e} not found`);return s}setHttpProvider(e,s){const r=this.createHttpProvider(e,s);r&&(this.httpProviders[e]=r)}createHttpProvider(e,s){const r=s||yt(e,this.namespace,this.client.core.projectId);if(!r)throw new Error(`No RPC url provided for chainId: ${e}`);return new Pt(new Lt(r,de("disableProviderPing")))}}var T0=Object.defineProperty,$0=(t,e,s)=>e in t?T0(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,gr=(t,e,s)=>$0(t,typeof e!="symbol"?e+"":e,s);class x0{constructor(e){gr(this,"name","near"),gr(this,"client"),gr(this,"httpProviders"),gr(this,"events"),gr(this,"namespace"),gr(this,"chainId"),this.namespace=e.namespace,this.events=de("events"),this.client=de("client"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(e){this.namespace=Object.assign(this.namespace,e)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const e=this.namespace.chains[0];if(!e)throw new Error("ChainId not found");return e.split(":")[1]}request(e){return this.namespace.methods.includes(e.request.method)?this.client.request(e):this.getHttpProvider().request(e.request)}setDefaultChain(e,s){if(this.chainId=e,!this.httpProviders[e]){const r=s||yt(`${this.name}:${e}`,this.namespace);if(!r)throw new Error(`No RPC url provided for chainId: ${e}`);this.setHttpProvider(e,r)}this.events.emit(kt.DEFAULT_CHAIN_CHANGED,`${this.name}:${this.chainId}`)}getAccounts(){const e=this.namespace.accounts;return e?e.filter(s=>s.split(":")[1]===this.chainId.toString()).map(s=>s.split(":")[2])||[]:[]}createHttpProviders(){const e={};return this.namespace.chains.forEach(s=>{var r;e[s]=this.createHttpProvider(s,(r=this.namespace.rpcMap)==null?void 0:r[s])}),e}getHttpProvider(){const e=`${this.name}:${this.chainId}`,s=this.httpProviders[e];if(typeof s>"u")throw new Error(`JSON-RPC provider for ${e} not found`);return s}setHttpProvider(e,s){const r=this.createHttpProvider(e,s);r&&(this.httpProviders[e]=r)}createHttpProvider(e,s){const r=s||yt(e,this.namespace);return typeof r>"u"?void 0:new Pt(new Lt(r,de("disableProviderPing")))}}var R0=Object.defineProperty,U0=(t,e,s)=>e in t?R0(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,mr=(t,e,s)=>U0(t,typeof e!="symbol"?e+"":e,s);class D0{constructor(e){mr(this,"name","tezos"),mr(this,"client"),mr(this,"httpProviders"),mr(this,"events"),mr(this,"namespace"),mr(this,"chainId"),this.namespace=e.namespace,this.events=de("events"),this.client=de("client"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(e){this.namespace=Object.assign(this.namespace,e)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const e=this.namespace.chains[0];if(!e)throw new Error("ChainId not found");return e.split(":")[1]}request(e){return this.namespace.methods.includes(e.request.method)?this.client.request(e):this.getHttpProvider().request(e.request)}setDefaultChain(e,s){if(this.chainId=e,!this.httpProviders[e]){const r=s||yt(`${this.name}:${e}`,this.namespace);if(!r)throw new Error(`No RPC url provided for chainId: ${e}`);this.setHttpProvider(e,r)}this.events.emit(kt.DEFAULT_CHAIN_CHANGED,`${this.name}:${this.chainId}`)}getAccounts(){const e=this.namespace.accounts;return e?e.filter(s=>s.split(":")[1]===this.chainId.toString()).map(s=>s.split(":")[2])||[]:[]}createHttpProviders(){const e={};return this.namespace.chains.forEach(s=>{e[s]=this.createHttpProvider(s)}),e}getHttpProvider(){const e=`${this.name}:${this.chainId}`,s=this.httpProviders[e];if(typeof s>"u")throw new Error(`JSON-RPC provider for ${e} not found`);return s}setHttpProvider(e,s){const r=this.createHttpProvider(e,s);r&&(this.httpProviders[e]=r)}createHttpProvider(e,s){const r=s||yt(e,this.namespace);return typeof r>"u"?void 0:new Pt(new Lt(r))}}var L0=Object.defineProperty,M0=(t,e,s)=>e in t?L0(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,wr=(t,e,s)=>M0(t,typeof e!="symbol"?e+"":e,s);class B0{constructor(e){wr(this,"name",br),wr(this,"client"),wr(this,"httpProviders"),wr(this,"events"),wr(this,"namespace"),wr(this,"chainId"),this.namespace=e.namespace,this.events=de("events"),this.client=de("client"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(e){this.namespace.chains=[...new Set((this.namespace.chains||[]).concat(e.chains||[]))],this.namespace.accounts=[...new Set((this.namespace.accounts||[]).concat(e.accounts||[]))],this.namespace.methods=[...new Set((this.namespace.methods||[]).concat(e.methods||[]))],this.namespace.events=[...new Set((this.namespace.events||[]).concat(e.events||[]))],this.httpProviders=this.createHttpProviders()}requestAccounts(){return this.getAccounts()}request(e){return this.namespace.methods.includes(e.request.method)?this.client.request(e):this.getHttpProvider(e.chainId).request(e.request)}setDefaultChain(e,s){this.httpProviders[e]||this.setHttpProvider(e,s),this.chainId=e,this.events.emit(kt.DEFAULT_CHAIN_CHANGED,`${this.name}:${e}`)}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain
vendor: 8,659 bytes, line 13
13;const e=this.namespace.chains[0];if(!e)throw new Error("ChainId not found");return e.split(":")[1]}getAccounts(){const e=this.namespace.accounts;return e?[...new Set(e.filter(s=>s.split(":")[1]===this.chainId.toString()).map(s=>s.split(":")[2]))]:[]}createHttpProviders(){var e,s;const r={};return(s=(e=this.namespace)==null?void 0:e.accounts)==null||s.forEach(i=>{const n=_r(i);r[`${n.namespace}:${n.reference}`]=this.createHttpProvider(i)}),r}getHttpProvider(e){const s=this.httpProviders[e];if(typeof s>"u")throw new Error(`JSON-RPC provider for ${e} not found`);return s}setHttpProvider(e,s){const r=this.createHttpProvider(e,s);r&&(this.httpProviders[e]=r)}createHttpProvider(e,s){const r=s||yt(e,this.namespace,this.client.core.projectId);if(!r)throw new Error(`No RPC url provided for chainId: ${e}`);return new Pt(new Lt(r,de("disableProviderPing")))}}var q0=Object.defineProperty,j0=Object.defineProperties,F0=Object.getOwnPropertyDescriptors,Jc=Object.getOwnPropertySymbols,W0=Object.prototype.hasOwnProperty,z0=Object.prototype.propertyIsEnumerable,Ro=(t,e,s)=>e in t?q0(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,Yi=(t,e)=>{for(var s in e||(e={}))W0.call(e,s)&&Ro(t,s,e[s]);if(Jc)for(var s of Jc(e))z0.call(e,s)&&Ro(t,s,e[s]);return t},Qn=(t,e)=>j0(t,F0(e)),Nt=(t,e,s)=>Ro(t,typeof e!="symbol"?e+"":e,s);let H0=class Ud{constructor(e){Nt(this,"client"),Nt(this,"namespaces"),Nt(this,"optionalNamespaces"),Nt(this,"sessionProperties"),Nt(this,"scopedProperties"),Nt(this,"events",new qo),Nt(this,"rpcProviders",{}),Nt(this,"session"),Nt(this,"providerOpts"),Nt(this,"logger"),Nt(this,"uri"),Nt(this,"disableProviderPing",!1),this.providerOpts=e,this.logger=typeof e?.logger<"u"&&typeof e?.logger!="string"?e.logger:Lo(Si({level:e?.logger||Lc})),this.disableProviderPing=e?.disableProviderPing||!1}static async init(e){const s=new Ud(e);return await s.initialize(),s}async request(e,s,r){const[i,n]=this.validateChain(s);if(!this.session)throw new Error("Please call connect() before request()");return await this.getProvider(i).request({request:Yi({},e),chainId:`${i}:${n}`,topic:this.session.topic,expiry:r})}sendAsync(e,s,r,i){const n=new Date().getTime();this.request(e,r,i).then(o=>s(null,mn(n,o))).catch(o=>s(o,void 0))}async enable(){if(!this.client)throw new Error("Sign Client not initialized");return this.session||await this.connect({namespaces:this.namespaces,optionalNamespaces:this.optionalNamespaces,sessionProperties:this.sessionProperties,scopedProperties:this.scopedProperties}),await this.requestAccounts()}async disconnect(){var e;if(!this.session)throw new Error("Please call connect() before enable()");await this.client.disconnect({topic:(e=this.session)==null?void 0:e.topic,reason:we("USER_DISCONNECTED")}),await this.cleanup()}async connect(e){if(!this.client)throw new Error("Sign Client not initialized");if(this.setNamespaces(e),await this.cleanupPendingPairings(),!e.skipPairing)return await this.pair(e.pairingTopic)}async authenticate(e,s){if(!this.client)throw new Error("Sign Client not initialized");this.setNamespaces(e),await this.cleanupPendingPairings();const{uri:r,response:i}=await this.client.authenticate(e,s);r&&(this.uri=r,this.events.emit("display_uri",r));const n=await i();if(this.session=n.session,this.session){const o=Hc(this.session.namespaces);this.namespaces=Ji(this.namespaces,o),await this.persist("namespaces",this.namespaces),this.onConnect()}return n}on(e,s){this.events.on(e,s)}once(e,s){this.events.once(e,s)}removeListener(e,s){this.events.removeListener(e,s)}off(e,s){this.events.off(e,s)}get isWalletConnect(){return!0}async pair(e){const{uri:s,approval:r}=await this.client.connect({pairingTopic:e,requiredNamespaces:this.namespaces,optionalNamespaces:this.optionalNamespaces,sessionProperties:this.sessionProperties,scopedProperties:this.scopedProperties});s&&(this.uri=s,this.events.emit("display_uri",s));const i=await r();this.session=i;const n=Hc(i.namespaces);return this.namespaces=Ji(this.namespaces,n),await this.persist("namespaces",this.namespaces),await this.persist("optionalNamespaces",this.optionalNamespaces),this.onConnect(),this.session}setDefaultChain(e,s){try{if(!this.session)return;const[r,i]=this.validateChain(e),n=this.getProvider(r);n.name===br?n.setDefaultChain(`${r}:${i}`,s):n.setDefaultChain(i,s)}catch(r){if(!/Please call connect/.test(r.message))throw r}}async cleanupPendingPairings(e={}){this.logger.info("Cleaning up inactive pairings...");const s=this.client.pairing.getAll();if(Cs(s)){for(const r of s)e.deletePairings?this.client.core.expirer.set(r.topic,0):await this.client.core.relayer.subscriber.unsubscribe(r.topic);this.logger.info(`Inactive pairings cleared: ${s.length}`)}}abortPairingAttempt(){this.logger.warn("abortPairingAttempt is deprecated. This is now a no-op.")}async checkStorage(){this.namespaces=await this.getFromStore("namespaces")||{},this.optionalNamespaces=await this.getFromStore("optionalNamespaces")||{},this.session&&this.createProviders()}async initialize(){this.logger.trace("Initialized"),await this.createClient(),await this.checkStorage(),this.registerEventListeners()}async createClient(){var e,s;if(this.client=this.providerOpts.client||await bv.init({core:this.providerOpts.core,logger:this.providerOpts.logger||Lc,relayUrl:this.providerOpts.relayUrl||vv,projectId:this.providerOpts.projectId,metadata:this.providerOpts.metadata,storageOptions:this.providerOpts.storageOptions,storage:this.providerOpts.storage,name:this.providerOpts.name,customStoragePrefix:this.providerOpts.customStoragePrefix,telemetryEnabled:this.providerOpts.telemetryEnabled}),this.providerOpts.session)try{this.session=this.client.session.get(this.providerOpts.session.topic)}catch(r){throw this.logger.error("Failed to get session",r),new Error(`The provided session: ${(s=(e=this.providerOpts)==null?void 0:e.session)==null?void 0:s.topic} doesn't exist in the Sign client`)}else{const r=this.client.session.getAll();this.session=r[0]}this.logger.trace("SignClient Initialized")}createProviders(){if(!this.client)throw new Error("Sign Client not initialized");if(!this.session)throw new Error("Session not initialized. Please call connect() before enable()");const e=[...new Set(Object.keys(this.session.namespaces).map(s=>Nr(s)))];Xn("client",this.client),Xn("events",this.events),Xn("disableProviderPing",this.disableProviderPing),e.forEach(s=>{if(!this.session)return;const r=r0(s,this.session),i=xd(r),n=Ji(this.namespaces,this.optionalNamespaces),o=Qn(Yi({},n[s]),{accounts:r,chains:i});switch(s){case"eip155":this.rpcProviders[s]=new u0({namespace:o});break;case"algorand":this.rpcProviders[s]=new E0({namespace:o});break;case"solana":this.rpcProviders[s]=new g0({namespace:o});break;case"cosmos":this.rpcProviders[s]=new y0({namespace:o});break;case"polkadot":this.rpcProviders[s]=new o0({namespace:o});break;case"cip34":this.rpcProviders[s]=new N0({namespace:o});break;case"elrond":this.rpcProviders[s]=new S0({namespace:o});break;case"multiversx":this.rpcProviders[s]=new O0({namespace:o});break;case"near":this.rpcProviders[s]=new x0({namespace:o});break;case"tezos":this.rpcProviders[s]=new D0({namespace:o});break;default:this.rpcProviders[br]?this.rpcProviders[br].updateNamespace(o):this.rpcProviders[br]=new B0({namespace:o})}})}registerEventListeners(){if(typeof this.client>"u")throw new Error("Sign Client is not initialized");this.client.on("session_ping",e=>{var s;const{topic:r}=e;r===((s=this.session)==null?void 0:s.topic)&&this.events.emit("session_ping",e)}),this.client.on("session_event",e=>{var s;const{params:r,topic:i}=e;if(i!==((s=this.session)==null?void 0:s.topic))return;const{event:n}=r;if(n.name==="accountsChanged"){const o=n.data;o&&Cs(o)&&this.events.emit("accountsChanged",o.map(zc))}else if(n.name==="chainChanged"){const o=r.chainId,a=r.event.data,c=Nr(o),l=Zn(o)!==Zn(a)?`${c}:${Zn(a)}`:o;this.onChainChanged(l)}else this.events.emit(n.name,n.data);this.events.emit("session_event",e)}),this.client.on("session_update",({topic:e,params:s})=>{var r,i;if(e!==((r=this.session)==null?void 0:r.topic))return;const{namespaces:n}=s,o=(i=this.client)==null?void 0:i.session.get(e);this.session=Qn(Yi({},o),{namespaces:n}),this.onSessionUpdate(),this.events.emit("session_update",{topic:e,params:s})}),this.client.on("session_delete",async e=>{var s;e.topic===((s=this.session)==null?void 0:s.topic)&&(await this.cleanup(),this.events.emit("session_delete",e),this.events.emit("disconnect",Qn(Yi({},we("USER_DISCONNECTED")),{data:e.topic})))}),this.on(kt.DEFAULT_CHAIN_CHANGED,e=>{this.onChainChanged(e,!0)})}getProvider(e){return this.rpcProviders[e]||this.rpcProviders[br]}
13onSessionUpdate(){Object.keys(this.rpcProviders).forEach(e=>{var s;this.getProvider(e).updateNamespace((s=this.session)==null?void 0:s.namespaces[e])})}setNamespaces(e){const{namespaces:s={},optionalNamespaces:r={},sessionProperties:i,scopedProperties:n}=e;this.optionalNamespaces=Ji(s,r),this.sessionProperties=i,this.scopedProperties=n}validateChain(e){const[s,r]=e?.split(":")||["",""];if(!this.namespaces||!Object.keys(this.namespaces).length)return[s,r];if(s&&!Object.keys(this.namespaces||{}).map(o=>Nr(o)).includes(s))throw new Error(`Namespace '${s}' is not configured. Please call connect() first with namespace config.`);if(s&&r)return[s,r];const i=Nr(Object.keys(this.namespaces)[0]),n=this.rpcProviders[i].getDefaultChain();return[i,n]}async requestAccounts(){const[e]=this.validateChain();return await this.getProvider(e).requestAccounts()}async onChainChanged(e,s=!1){if(!this.namespaces)return;const[r,i]=this.validateChain(e);if(!i)return;this.updateNamespaceChain(r,i),this.events.emit("chainChanged",i);const n=this.getProvider(r).getDefaultChain();s||this.getProvider(r).setDefaultChain(i),this.emitAccountsChangedOnChainChange({namespace:r,previousChainId:n,newChainId:e}),await this.persist("namespaces",this.namespaces)}emitAccountsChangedOnChainChange({namespace:e,previousChainId:s,newChainId:r}){var i,n;try{if(s===r)return;const o=(n=(i=this.session)==null?void 0:i.namespaces[e])==null?void 0:n.accounts;if(!o)return;const a=o.filter(c=>c.includes(`${r}:`)).map(zc);if(!Cs(a))return;this.events.emit("accountsChanged",a)}catch(o){this.logger.warn("Failed to emit accountsChanged on chain change",o)}}updateNamespaceChain(e,s){if(!this.namespaces)return;const r=this.namespaces[e]?e:`${e}:${s}`,i={chains:[],methods:[],events:[],defaultChain:s};this.namespaces[r]?this.namespaces[r]&&(this.namespaces[r].defaultChain=s):this.namespaces[r]=i}onConnect(){this.createProviders(),this.events.emit("connect",{session:this.session})}async cleanup(){this.namespaces=void 0,this.optionalNamespaces=void 0,this.sessionProperties=void 0,await this.deleteFromStore("namespaces"),await this.deleteFromStore("optionalNamespaces"),await this.deleteFromStore("sessionProperties"),this.session=void 0,await this.cleanupPendingPairings({deletePairings:!0}),await this.cleanupStorage()}async persist(e,s){var r;const i=((r=this.session)==null?void 0:r.topic)||"";await this.client.core.storage.setItem(`${Ki}/${e}${i}`,s)}async getFromStore(e){var s;const r=((s=this.session)==null?void 0:s.topic)||"";return await this.client.core.storage.getItem(`${Ki}/${e}${r}`)}async deleteFromStore(e){var s;const r=((s=this.session)==null?void 0:s.topic)||"";await this.client.core.storage.removeItem(`${Ki}/${e}${r}`)}async cleanupStorage(){var e;try{if(((e=this.client)==null?void 0:e.session.length)>0)return;const s=await this.client.core.storage.getKeys();for(const r of s)r.startsWith(Ki)&&await this.client.core.storage.removeItem(r)}catch(s){this.logger.warn("Failed to cleanup storage",s)}}};const pi={getSIWX(){return S.state.siwx},async initializeIfEnabled(){const t=S.state.siwx,e=p.getActiveCaipAddress();if(!(t&&e))return;const[s,r,i]=e.split(":");if(p.checkIfSupportedNetwork(s))try{if((await t.getSessions(`${s}:${r}`,i)).length)return;await We.open({view:"SIWXSignMessage"})}catch(n){console.error("SIWXUtil:initializeIfEnabled",n),Pe.sendEvent({type:"track",event:"SIWX_AUTH_ERROR",properties:this.getSIWXEventProperties()}),await Y._getClient()?.disconnect().catch(console.error),re.reset("Connect"),Ut.showError("A problem occurred while trying initialize authentication")}},async requestSignMessage(){const t=S.state.siwx,e=Z.getPlainAddress(p.getActiveCaipAddress()),s=p.getActiveCaipNetwork(),r=Y._getClient();if(!t)throw new Error("SIWX is not enabled");if(!e)throw new Error("No ActiveCaipAddress found");if(!s)throw new Error("No ActiveCaipNetwork or client found");if(!r)throw new Error("No ConnectionController client found");try{const i=await t.createMessage({chainId:s.caipNetworkId,accountAddress:e}),n=i.toString();q.getConnectorId(s.chainNamespace)===z.CONNECTOR_ID.AUTH&&re.pushTransactionStack({});const a=await r.signMessage(n);await t.addSession({data:i,message:n,signature:a}),We.close(),Pe.sendEvent({type:"track",event:"SIWX_AUTH_SUCCESS",properties:this.getSIWXEventProperties()})}catch(i){const n=this.getSIWXEventProperties();(!We.state.open||re.state.view==="ApproveTransaction")&&await We.open({view:"SIWXSignMessage"}),n.isSmartAccount?Ut.showError("This application might not support Smart Accounts"):Ut.showError("Signature declined"),Pe.sendEvent({type:"track",event:"SIWX_AUTH_ERROR",properties:n}),console.error("SWIXUtil:requestSignMessage",i)}}
13,async cancelSignMessage(){try{this.getSIWX()?.getRequired?.()?await Y.disconnect():We.close(),re.reset("Connect"),Pe.sendEvent({event:"CLICK_CANCEL_SIWX",type:"track",properties:this.getSIWXEventProperties()})}catch(t){console.error("SIWXUtil:cancelSignMessage",t)}},async getSessions(){const t=S.state.siwx,e=Z.getPlainAddress(p.getActiveCaipAddress()),s=p.getActiveCaipNetwork();return t&&e&&s?t.getSessions(s.caipNetworkId,e):[]},async isSIWXCloseDisabled(){const t=this.getSIWX();if(t){const e=re.state.view==="ApproveTransaction",s=re.state.view==="SIWXSignMessage";if(e||s)return t.getRequired?.()&&(await this.getSessions()).length===0}return!1},async universalProviderAuthenticate({universalProvider:t,chains:e,methods:s}){const r=pi.getSIWX(),i=new Set(e.map(a=>a.split(":")[0]));if(!r||i.size!==1||!i.has("eip155"))return!1;const n=await r.createMessage({chainId:p.getActiveCaipNetwork()?.caipNetworkId||"",accountAddress:""}),o=await t.authenticate({nonce:n.nonce,domain:n.domain,uri:n.uri,exp:n.expirationTime,iat:n.issuedAt,nbf:n.notBefore,requestId:n.requestId,version:n.version,resources:n.resources,statement:n.statement,chainId:n.chainId,methods:s,chains:[n.chainId,...e.filter(a=>a!==n.chainId)]});if(Ut.showLoading("Authenticating...",{autoClose:!1}),W.setConnectedWalletInfo({...o.session.peer.metadata,name:o.session.peer.metadata.name,icon:o.session.peer.metadata.icons?.[0],type:"WALLET_CONNECT"},Array.from(i)[0]),o?.auths?.length){const a=o.auths.map(c=>{const l=t.client.formatAuthMessage({request:c.p,iss:c.p.iss});return{data:{...c.p,accountAddress:c.p.iss.split(":").slice(-1).join(""),chainId:c.p.iss.split(":").slice(2,4).join(":"),uri:c.p.aud,version:c.p.version||n.version,expirationTime:c.p.exp,issuedAt:c.p.iat,notBefore:c.p.nbf},message:l,signature:c.s.s,cacao:c}});try{await r.setSessions(a),Pe.sendEvent({type:"track",event:"SIWX_AUTH_SUCCESS",properties:pi.getSIWXEventProperties()})}catch(c){throw console.error("SIWX:universalProviderAuth - failed to set sessions",c),Pe.sendEvent({type:"track",event:"SIWX_AUTH_ERROR",properties:pi.getSIWXEventProperties()}),await t.disconnect().catch(console.error),c}finally{Ut.hide()}}return!0},getSIWXEventProperties(){const t=p.state.activeChain;return{network:p.state.activeCaipNetwork?.caipNetworkId||"",isSmartAccount:W.state.preferredAccountTypes?.[t]===ai.ACCOUNT_TYPES.SMART_ACCOUNT}},async clearSessions(){const t=this.getSIWX();t&&await t.setSessions([])}};function Zi(t,e){return q.getConnectorId(t)===e}function V0(t){const e=Array.from(p.state.chains.keys());let s=[];return t?(s.push([t,p.state.chains.get(t)]),Zi(t,z.CONNECTOR_ID.WALLET_CONNECT)?e.forEach(r=>{r!==t&&Zi(r,z.CONNECTOR_ID.WALLET_CONNECT)&&s.push([r,p.state.chains.get(r)])}):Zi(t,z.CONNECTOR_ID.AUTH)&&e.forEach(r=>{r!==t&&Zi(r,z.CONNECTOR_ID.AUTH)&&s.push([r,p.state.chains.get(r)])})):s=Array.from(p.state.chains.entries()),s}const ps={EIP155:"eip155",CONNECTOR_TYPE_WALLET_CONNECT:"WALLET_CONNECT",CONNECTOR_TYPE_INJECTED:"INJECTED",CONNECTOR_TYPE_ANNOUNCED:"ANNOUNCED"},pn={NetworkImageIds:{1:"ba0ba0cd-17c6-4806-ad93-f9d174f17900",42161:"3bff954d-5cb0-47a0-9a23-d20192e74600",43114:"30c46e53-e989-45fb-4549-be3bd4eb3b00",56:"93564157-2e8e-4ce7-81df-b264dbee9b00",250:"06b26297-fe0c-4733-5d6b-ffa5498aac00",10:"ab9c186a-c52f-464b-2906-ca59d760a400",137:"41d04d42-da3b-4453-8506-668cc0727900",5e3:"e86fae9b-b770-4eea-e520-150e12c81100",295:"6a97d510-cac8-4e58-c7ce-e8681b044c00",11155111:"e909ea0a-f92a-4512-c8fc-748044ea6800",84532:"a18a7ecd-e307-4360-4746-283182228e00",1301:"4eeea7ef-0014-4649-5d1d-07271a80f600",130:"2257980a-3463-48c6-cbac-a42d2a956e00",10143:"0a728e83-bacb-46db-7844-948f05434900",100:"02b53f6a-e3d4-479e-1cb4-21178987d100",9001:"f926ff41-260d-4028-635e-91913fc28e00",324:"b310f07f-4ef7-49f3-7073-2a0a39685800",314:"5a73b3dd-af74-424e-cae0-0de859ee9400",4689:"34e68754-e536-40da-c153-6ef2e7188a00",1088:"3897a66d-40b9-4833-162f-a2c90531c900",1284:"161038da-44ae-4ec7-1208-0ea569454b00",1285:"f1d73bb6-5450-4e18-38f7-fb6484264a00",7777777:"845c60df-d429-4991-e687-91ae45791600",42220:"ab781bbc-ccc6-418d-d32d-789b15da1f00",8453:"7289c336-3981-4081-c5f4-efc26ac64a00",1313161554:"3ff73439-a619-4894-9262-4470c773a100",2020:"b8101fc0-9c19-4b6f-ec65-f6dfff106e00",2021:"b8101fc0-9c19-4b6f-ec65-f6dfff106e00",80094:"e329c2c9-59b0-4a02-83e4-212ff3779900",2741:"fc2427d1-5af9-4a9c-8da5-6f94627cd900","5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp":"a1b58899-f671-4276-6a5e-56ca5bd59700","4uhcVJyU9pJkvQyS88uRDiswHXSCkY3z":"a1b58899-f671-4276-6a5e-56ca5bd59700",EtWTRABZaYq6iMfeYKouRu166VU2xqa1:"a1b58899-f671-4276-6a5e-56ca5bd59700","000000000019d6689c085ae165831e93":"0b4838db-0161-4ffe-022d-532bf03dba00","000000000933ea01ad0ee984209779ba":"39354064-d79b-420b-065d-f980c4b78200"},ConnectorImageIds:{[z.CONNECTOR_ID.COINBASE]:"0c2840c3-5b04-4c44-9661-fbd4b49e1800",[z.CONNECTOR_ID.COINBASE_SDK]:"0c2840c3-5b04-4c44-9661-fbd4b49e1800",[z.CONNECTOR_ID.SAFE]:"461db637-8616-43ce-035a-d89b8a1d5800",[z.CONNECTOR_ID.LEDGER]:"54a1aa77-d202-4f8d-0fb2-5d2bb6db0300",[z.CONNECTOR_ID.WALLET_CONNECT]:"ef1a1fcf-7fe8-4d69-bd6d-fda1345b4400",[z.CONNECTOR_ID.INJECTED]:"07ba87ed-43aa-4adf-454
130-9e6a2b9cae00"},ConnectorNamesMap:{[z.CONNECTOR_ID.INJECTED]:"Browser Wallet",[z.CONNECTOR_ID.WALLET_CONNECT]:"WalletConnect",[z.CONNECTOR_ID.COINBASE]:"Coinbase",[z.CONNECTOR_ID.COINBASE_SDK]:"Coinbase",[z.CONNECTOR_ID.LEDGER]:"Ledger",[z.CONNECTOR_ID.SAFE]:"Safe"}},Xo={getCaipTokens(t){if(!t)return;const e={};return Object.entries(t).forEach(([s,r])=>{e[`${ps.EIP155}:${s}`]=r}),e},isLowerCaseMatch(t,e){return t?.toLowerCase()===e?.toLowerCase()}};new AbortController;const yr={UniversalProviderErrors:{UNAUTHORIZED_DOMAIN_NOT_ALLOWED:{message:"Unauthorized: origin not allowed",alertErrorKey:"INVALID_APP_CONFIGURATION"},JWT_VALIDATION_ERROR:{message:"JWT validation error: JWT Token is not yet valid",alertErrorKey:"JWT_TOKEN_NOT_VALID"},INVALID_KEY:{message:"Unauthorized: invalid key",alertErrorKey:"INVALID_PROJECT_ID"}},ALERT_ERRORS:{SWITCH_NETWORK_NOT_FOUND:{shortMessage:"Network Not Found",longMessage:"Network not found - please make sure it is included in 'networks' array in createAppKit function"},INVALID_APP_CONFIGURATION:{shortMessage:"Invalid App Configuration",longMessage:()=>`Origin ${K0()?window.origin:"unknown"} not found on Allowlist - update configuration on cloud.reown.com`},IFRAME_LOAD_FAILED:{shortMessage:"Network Error - Could not load embedded wallet",longMessage:()=>"There was an issue loading the embedded wallet. Please try again later."},IFRAME_REQUEST_TIMEOUT:{shortMessage:"Embedded Wallet Request Timed Out",longMessage:()=>"There was an issue doing the request to the embedded wallet. Please try again later."},UNVERIFIED_DOMAIN:{shortMessage:"Invalid App Configuration",longMessage:()=>"There was an issue loading the embedded wallet. Please verify that your domain is allowed at cloud.reown.com"},JWT_TOKEN_NOT_VALID:{shortMessage:"Session Expired",longMessage:"Invalid session found on UniversalProvider - please check your time settings and connect again"},INVALID_PROJECT_ID:{shortMessage:"Invalid App Configuration",longMessage:"Invalid Project ID - update configuration"},PROJECT_ID_NOT_CONFIGURED:{shortMessage:"Project ID Not Configured",longMessage:"Project ID Not Configured - update configuration on cloud.reown.com"}}};function K0(){return typeof window<"u"}const G0={createLogger(t,e="error"){const s=Si({level:e}),{logger:r}=hl({opts:s});return r.error=(...i)=>{for(const n of i)if(n instanceof Error){t(n,...i);return}t(void 0,...i)},r}},J0="rpc.walletconnect.org";function Yc(t,e){const s=new URL("https://rpc.walletconnect.org/v1/");return s.searchParams.set("chainId",t),s.searchParams.set("projectId",e),s.toString()}const eo=["near:mainnet","solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","eip155:1101","eip155:56","eip155:42161","eip155:7777777","eip155:59144","eip155:324","solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1","eip155:5000","solana:4sgjmw1sunhzsxgspuhpqldx6wiyjntz","eip155:80084","eip155:5003","eip155:100","eip155:8453","eip155:42220","eip155:1313161555","eip155:17000","eip155:1","eip155:300","eip155:1313161554","eip155:1329","eip155:84532","eip155:421614","eip155:11155111","eip155:8217","eip155:43114","solana:4uhcVJyU9pJkvQyS88uRDiswHXSCkY3z","eip155:999999999","eip155:11155420","eip155:80002","eip155:97","eip155:43113","eip155:137","eip155:10","eip155:1301","bip122:000000000019d6689c085ae165831e93","bip122:000000000933ea01ad0ee984209779ba"],vr={extendRpcUrlWithProjectId(t,e){let s=!1;try{s=new URL(t).host===J0}catch{s=!1}if(s){const r=new URL(t);return r.searchParams.has("projectId")||r.searchParams.set("projectId",e),r.toString()}return t},isCaipNetwork(t){return"chainNamespace"in t&&"caipNetworkId"in t},getChainNamespace(t){return this.isCaipNetwork(t)?t.chainNamespace:z.CHAIN.EVM},getCaipNetworkId(t){return this.isCaipNetwork(t)?t.caipNetworkId:`${z.CHAIN.EVM}:${t.id}`},getDefaultRpcUrl(t,e,s){const r=t.rpcUrls?.default?.http?.[0];return eo.includes(e)?Yc(e,s):r||""},extendCaipNetwork(t,{customNetworkImageUrls:e,projectId:s,customRpcUrls:r}){const i=this.getChainNamespace(t),n=this.getCaipNetworkId(t),o=t.rpcUrls.default.http?.[0],a=this.getDefaultRpcUrl(t,n,s),c=t?.rpcUrls?.chainDefault?.http?.[0]||o,l=r?.[n]?.map(u=>u.url)||[],d=[...l,a],h=[...l];return c&&!h.includes(c)&&h.push(c),{...t,chainNamespace:i,caipNetworkId:n,assets:{imageId:pn.NetworkImageIds[t.id],imageUrl:e?.[t.id]},rpcUrls:{...t.rpcUrls,default:{http:d},chainDefault:{http:h}}}},extendCaipNetworks(t,{customNetworkImageUrls:e,projectId:s,customRpcUrls:r}){return t.map(i=>vr.extendCaipNetwork(i,{customNetworkImageUrls:e,customRpcUrls:r,projectId:s}))}
13,getViemTransport(t,e,s){const r=[];return s?.forEach(i=>{r.push(qi(i.url,i.config))}),eo.includes(t.caipNetworkId)&&r.push(qi(Yc(t.caipNetworkId,e),{fetchOptions:{headers:{"Content-Type":"text/plain"}}})),t?.rpcUrls?.default?.http?.forEach(i=>{r.push(qi(i))}),sa(r)},extendWagmiTransports(t,e,s){if(eo.includes(t.caipNetworkId)){const r=this.getDefaultRpcUrl(t,t.caipNetworkId,e);return sa([s,qi(r)])}return s},getUnsupportedNetwork(t){return{id:t.split(":")[1],caipNetworkId:t,name:z.UNSUPPORTED_NETWORK_NAME,chainNamespace:t.split(":")[0],nativeCurrency:{name:"",decimals:0,symbol:""},rpcUrls:{default:{http:[]}}}},getCaipNetworkFromStorage(t){const e=F.getActiveCaipNetworkId(),s=p.getAllRequestedCaipNetworks(),r=Array.from(p.state.chains?.keys()||[]),i=e?.split(":")[0],n=i?r.includes(i):!1,o=s?.find(c=>c.caipNetworkId===e);return n&&!o&&e?this.getUnsupportedNetwork(e):o||t||s?.[0]}},fn={eip155:void 0,solana:void 0,polkadot:void 0,bip122:void 0,cosmos:void 0},at=_e({providers:{...fn},providerIds:{...fn}}),Se={state:at,subscribeKey(t,e){return Qe(at,t,e)},subscribe(t){return Xe(at,()=>{t(at)})},subscribeProviders(t){return Xe(at.providers,()=>t(at.providers))},setProvider(t,e){e&&(at.providers[t]=zs(e))},getProvider(t){return at.providers[t]},setProviderId(t,e){e&&(at.providerIds[t]=e)},getProviderId(t){if(t)return at.providerIds[t]},reset(){at.providers={...fn},at.providerIds={...fn}},resetChain(t){at.providers[t]=void 0,at.providerIds[t]=void 0}},Y0={VIEW_DIRECTION:{Next:"next",Prev:"prev"},DEFAULT_CONNECT_METHOD_ORDER:["email","social","wallet"],ANIMATION_DURATIONS:{HeaderText:120,ModalHeight:150,ViewTransition:150}},Uo={filterOutDuplicatesByRDNS(t){const e=S.state.enableEIP6963?q.state.connectors:[],s=F.getRecentWallets(),r=e.map(a=>a.info?.rdns).filter(Boolean),i=s.map(a=>a.rdns).filter(Boolean),n=r.concat(i);if(n.includes("io.metamask.mobile")&&Z.isMobile()){const a=n.indexOf("io.metamask.mobile");n[a]="io.metamask"}return t.filter(a=>!n.includes(String(a?.rdns)))},filterOutDuplicatesByIds(t){const e=q.state.connectors.filter(a=>a.type==="ANNOUNCED"||a.type==="INJECTED"),s=F.getRecentWallets(),r=e.map(a=>a.explorerId),i=s.map(a=>a.id),n=r.concat(i);return t.filter(a=>!n.includes(a?.id))},filterOutDuplicateWallets(t){const e=this.filterOutDuplicatesByRDNS(t);return this.filterOutDuplicatesByIds(e)},markWalletsAsInstalled(t){const{connectors:e}=q.state,{featuredWalletIds:s}=S.state,r=e.filter(o=>o.type==="ANNOUNCED").reduce((o,a)=>(a.info?.rdns&&(o[a.info.rdns]=!0),o),{});return t.map(o=>({...o,installed:!!o.rdns&&!!r[o.rdns??""]})).sort((o,a)=>{const c=Number(a.installed)-Number(o.installed);if(c!==0)return c;if(s?.length){const l=s.indexOf(o.id),d=s.indexOf(a.id);if(l!==-1&&d!==-1)return l-d;if(l!==-1)return-1;if(d!==-1)return 1}return 0})},getConnectOrderMethod(t,e){const s=t?.connectMethodsOrder||S.state.features?.connectMethodsOrder,r=e||q.state.connectors;if(s)return s;const{injected:i,announced:n}=rn.getConnectorsByType(r,V.state.recommended,V.state.featured),o=i.filter(rn.showConnector),a=n.filter(rn.showConnector);return o.length||a.length?["wallet","email","social"]:Y0.DEFAULT_CONNECT_METHOD_ORDER},isExcluded(t){const e=!!t.rdns&&V.state.excludedWallets.some(r=>r.rdns===t.rdns),s=!!t.name&&V.state.excludedWallets.some(r=>Xo.isLowerCaseMatch(r.name,t.name));return e||s}},rn={getConnectorsByType(t,e,s){const{customWallets:r}=S.state,i=F.getRecentWallets(),n=Uo.filterOutDuplicateWallets(e),o=Uo.filterOutDuplicateWallets(s),a=t.filter(h=>h.type==="MULTI_CHAIN"),c=t.filter(h=>h.type==="ANNOUNCED"),l=t.filter(h=>h.type==="INJECTED"),d=t.filter(h=>h.type==="EXTERNAL");return{custom:r,recent:i,external:d,multiChain:a,announced:c,injected:l,recommended:n,featured:o}},showConnector(t){const e=t.info?.rdns,s=!!e&&V.state.excludedWallets.some(i=>!!i.rdns&&i.rdns===e),r=!!t.name&&V.state.excludedWallets.some(i=>Xo.isLowerCaseMatch(i.name,t.name));return!(t.type==="INJECTED"&&(t.name==="Browser Wallet"&&(!Z.isMobile()||Z.isMobile()&&!e&&!Y.checkInstalled())||s||r)||(t.type==="ANNOUNCED"||t.type==="EXTERNAL")&&(s||r))},getIsConnectedWithWC(){return Array.from(p.state.chains.values()).some(s=>q.getConnectorId(s.namespace)===z.CONNECTOR_ID.WALLET_CONNECT)},getConnectorTypeOrder({recommended:t,featured:e,custom:s,recent:r,announced:i,injected:n,multiChain:o,external:a,overriddenConnectors:c=S.state.features?.connectorTypeOrder??[]}){const l=rn.getIsConnectedWithWC(),u=[{type:"walletConnect",isEnabled:S.state.enableWalletConnect&&!l},{type:"recent",isEnabled:r.length>0},{type:"injected",isEnabled:[...n,...i,...o].length>0},{type:"featured",isEnabled:e.length>0},{type:"custom",isEnabled:s&&s.length>0},{type:"external",isEnabled:a.length>0},{type:"recommended",isEnabled:t.length>0}].filter(f=>f.isEnabled),g=new Set(u.map(f=>f.type)),w=c.filter(f=>g.has(f)).map(f=>({type:f,isEnabled:!0})),m=u.filter(({type:f})=>!w.some(({type:b})=>b===f));return Array.from(new Set([...w,...m].map(({type:f})=>f)))}};const nn=globalThis,Qo=nn.ShadowRoot&&(nn.ShadyCSS===void 0||nn.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,ea=Symbol(),Zc=new WeakMap;let Dd=class{constructor(e,s,r){if(this._$cssResult$=!0,r!==ea)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=e,this.t=s}get styleSheet(){let e=this.o;const s=this.t;if(Qo&&e===void 0){const r=s!==void 0&&s.length===1;r&&(e=Zc.get(s)),e===void 0&&((this.o=e=new CSSStyleSheet).replaceSync(this.cssText),r&&Zc.set(s,e))}return e}toString(){return this.cssText}};const At=t=>new Dd(typeof t=="string"?t:t+"",void 0,ea),Sr=(t,...e)=>{const s=t.length===1?t[0]:e.reduce(((r,i,n)=>r+(o=>{if(o._$cssResult$===!0)return o.cssText;if(typeof o=="number")return o;throw Error("Value passed to 'css' function must be a 'css' function result: "+o+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(i)+t[n+1]),t[0]);return new Dd(s,t,ea)},Z0=(t,e)=>{if(Qo)t.adoptedStyleSheets=e.map((s=>s instanceof CSSStyleSheet?s:s.styleSheet));else for(const s of e){const r=document.createElement("style"),i=nn.litNonce;i!==void 0&&r.setAttribute("nonce",i),r.textContent=s.cssText,t.appendChild(r)}},Xc=Qo?t=>t:t=>t instanceof CSSStyleSheet?(e=>{let s="";for(const r of e.cssRules)s+=r.cssText;return At(s)})(t):t;const{is:X0,defineProperty:Q0,getOwnPropertyDescriptor:eE,getOwnPropertyNames:tE,getOwnPropertySymbols:sE,getPrototypeOf:rE}=Object,Ns=globalThis,Qc=Ns.trustedTypes,iE=Qc?Qc.emptyScript:"",nE=Ns.reactiveElementPolyfillSupport,fi=(t,e)=>t,Do={toAttribute(t,e){switch(e){case Boolean:t=t?iE:null;break;case Object:case Array:t=t==null?t:JSON.stringify(t)}return t},fromAttribute(t,e){let s=t;switch(e){case Boolean:s=t!==null;break;case Number:s=t===null?null:Number(t);break;case Object:case Array:try{s=JSON.parse(t)}catch{s=null}}return s}},Ld=(t,e)=>!X0(t,e),el={attribute:!0,type:String,converter:Do,reflect:!1,useDefault:!1,hasChanged:Ld};Symbol.metadata??(Symbol.metadata=Symbol("metadata")),Ns.litPropertyMetadata??(Ns.litPropertyMetadata=new WeakMap);let Er=class extends HTMLElement{static addInitializer(e){this._$Ei(),(this.l??(this.l=[])).push(e)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(e,s=el){if(s.state&&(s.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(e)&&((s=Object.create(s)).wrapped=!0),this.elementProperties.set(e,s),!s.noAccessor){const r=Symbol(),i=this.getPropertyDescriptor(e,r,s);i!==void 0&&Q0(this.prototype,e,i)}}static getPropertyDescriptor(e,s,r){const{get:i,set:n}=eE(this.prototype,e)??{get(){return this[s]},set(o){this[s]=o}};return{get:i,set(o){const a=i?.call(this);n?.call(this,o),this.requestUpdate(e,a,r)},configurable:!0,enumerable:!0}}static getPropertyOptions(e){return this.elementProperties.get(e)??el}static _$Ei(){if(this.hasOwnProperty(fi("elementProperties")))return;const e=rE(this);e.finalize(),e.l!==void 0&&(this.l=[...e.l]),this.elementProperties=new Map(e.elementProperties)}static finalize(){if(this.hasOwnProperty(fi("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(fi("properties"))){const s=this.properties,r=[...tE(s),...sE(s)];for(const i of r)this.createProperty(i,s[i])}const e=this[Symbol.metadata];if(e!==null){const s=litPropertyMetadata.get(e);if(s!==void 0)for(const[r,i]of s)this.elementProperties.set(r,i)}this._$Eh=new Map;for(const[s,r]of this.elementProperties){const i=this._$Eu(s,r);i!==void 0&&this._$Eh.set(i,s)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(e){const s=[];if(Array.isArray(e)){const r=new Set(e.flat(1/0).reverse());for(const i of r)s.unshift(Xc(i))}else e!==void 0&&s.push(Xc(e));return s}static _$Eu(e,s){const r=s.attribute;return r===!1?void 0:typeof r=="string"?r:typeof e=="string"?e.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise((e=>this.enableUpdating=e)),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach((e=>e(this)))}addController(e){(this._$EO??(this._$EO=new Set)).add(e),this.renderRoot!==void 0&&this.isConnected&&e.hostConnected?.()}
vendor: 13,519 bytes, lines 13-71
13removeController(e){this._$EO?.delete(e)}_$E_(){const e=new Map,s=this.constructor.elementProperties;for(const r of s.keys())this.hasOwnProperty(r)&&(e.set(r,this[r]),delete this[r]);e.size>0&&(this._$Ep=e)}createRenderRoot(){const e=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return Z0(e,this.constructor.elementStyles),e}connectedCallback(){this.renderRoot??(this.renderRoot=this.createRenderRoot()),this.enableUpdating(!0),this._$EO?.forEach((e=>e.hostConnected?.()))}enableUpdating(e){}disconnectedCallback(){this._$EO?.forEach((e=>e.hostDisconnected?.()))}attributeChangedCallback(e,s,r){this._$AK(e,r)}_$ET(e,s){const r=this.constructor.elementProperties.get(e),i=this.constructor._$Eu(e,r);if(i!==void 0&&r.reflect===!0){const n=(r.converter?.toAttribute!==void 0?r.converter:Do).toAttribute(s,r.type);this._$Em=e,n==null?this.removeAttribute(i):this.setAttribute(i,n),this._$Em=null}}_$AK(e,s){const r=this.constructor,i=r._$Eh.get(e);if(i!==void 0&&this._$Em!==i){const n=r.getPropertyOptions(i),o=typeof n.converter=="function"?{fromAttribute:n.converter}:n.converter?.fromAttribute!==void 0?n.converter:Do;this._$Em=i;const a=o.fromAttribute(s,n.type);this[i]=a??this._$Ej?.get(i)??a,this._$Em=null}}requestUpdate(e,s,r){if(e!==void 0){const i=this.constructor,n=this[e];if(r??(r=i.getPropertyOptions(e)),!((r.hasChanged??Ld)(n,s)||r.useDefault&&r.reflect&&n===this._$Ej?.get(e)&&!this.hasAttribute(i._$Eu(e,r))))return;this.C(e,s,r)}this.isUpdatePending===!1&&(this._$ES=this._$EP())}C(e,s,{useDefault:r,reflect:i,wrapped:n},o){r&&!(this._$Ej??(this._$Ej=new Map)).has(e)&&(this._$Ej.set(e,o??s??this[e]),n!==!0||o!==void 0)||(this._$AL.has(e)||(this.hasUpdated||r||(s=void 0),this._$AL.set(e,s)),i===!0&&this._$Em!==e&&(this._$Eq??(this._$Eq=new Set)).add(e))}async _$EP(){this.isUpdatePending=!0;try{await this._$ES}catch(s){Promise.reject(s)}const e=this.scheduleUpdate();return e!=null&&await e,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??(this.renderRoot=this.createRenderRoot()),this._$Ep){for(const[i,n]of this._$Ep)this[i]=n;this._$Ep=void 0}const r=this.constructor.elementProperties;if(r.size>0)for(const[i,n]of r){const{wrapped:o}=n,a=this[i];o!==!0||this._$AL.has(i)||a===void 0||this.C(i,void 0,n,a)}}let e=!1;const s=this._$AL;try{e=this.shouldUpdate(s),e?(this.willUpdate(s),this._$EO?.forEach((r=>r.hostUpdate?.())),this.update(s)):this._$EM()}catch(r){throw e=!1,this._$EM(),r}e&&this._$AE(s)}willUpdate(e){}_$AE(e){this._$EO?.forEach((s=>s.hostUpdated?.())),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(e)),this.updated(e)}_$EM(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(e){return!0}update(e){this._$Eq&&(this._$Eq=this._$Eq.forEach((s=>this._$ET(s,this[s])))),this._$EM()}updated(e){}firstUpdated(e){}};Er.elementStyles=[],Er.shadowRootOptions={mode:"open"},Er[fi("elementProperties")]=new Map,Er[fi("finalized")]=new Map,nE?.({ReactiveElement:Er}),(Ns.reactiveElementVersions??(Ns.reactiveElementVersions=[])).push("2.1.1");const gi=globalThis,gn=gi.trustedTypes,tl=gn?gn.createPolicy("lit-html",{createHTML:t=>t}):void 0,Md="$lit$",ws=`lit$${Math.random().toFixed(9).slice(2)}$`,Bd="?"+ws,oE=`<${Bd}>`,Gs=document,Ni=()=>Gs.createComment(""),Ai=t=>t===null||typeof t!="object"&&typeof t!="function",ta=Array.isArray,aE=t=>ta(t)||typeof t?.[Symbol.iterator]=="function",to=`[ 	
14\f\r]`,Qr=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,sl=/-->/g,rl=/>/g,$s=RegExp(`>|${to}(?:([^\\s"'>=/]+)(${to}*=${to}*(?:[^ 	
15\f\r"'\`<>=]|("|')|))|$)`,"g"),il=/'/g,nl=/"/g,qd=/^(?:script|style|textarea|title)$/i,jd=t=>(e,...s)=>({_$litType$:t,strings:e,values:s}),GE=jd(1),JE=jd(2),Lr=Symbol.for("lit-noChange"),Fe=Symbol.for("lit-nothing"),ol=new WeakMap,js=Gs.createTreeWalker(Gs,129);function Fd(t,e){if(!ta(t)||!t.hasOwnProperty("raw"))throw Error("invalid template strings array");return tl!==void 0?tl.createHTML(e):e}const cE=(t,e)=>{const s=t.length-1,r=[];let i,n=e===2?"<svg>":e===3?"<math>":"",o=Qr;for(let a=0;a<s;a++){const c=t[a];let l,d,h=-1,u=0;for(;u<c.length&&(o.lastIndex=u,d=o.exec(c),d!==null);)u=o.lastIndex,o===Qr?d[1]==="!--"?o=sl:d[1]!==void 0?o=rl:d[2]!==void 0?(qd.test(d[2])&&(i=RegExp("</"+d[2],"g")),o=$s):d[3]!==void 0&&(o=$s):o===$s?d[0]===">"?(o=i??Qr,h=-1):d[1]===void 0?h=-2:(h=o.lastIndex-d[2].length,l=d[1],o=d[3]===void 0?$s:d[3]==='"'?nl:il):o===nl||o===il?o=$s:o===sl||o===rl?o=Qr:(o=$s,i=void 0);const g=o===$s&&t[a+1].startsWith("/>")?" ":"";n+=o===Qr?c+oE:h>=0?(r.push(l),c.slice(0,h)+Md+c.slice(h)+ws+g):c+ws+(h===-2?a:g)}return[Fd(t,n+(t[s]||"<?>")+(e===2?"</svg>":e===3?"</math>":"")),r]};class _i{constructor({strings:e,_$litType$:s},r){let i;this.parts=[];let n=0,o=0;const a=e.length-1,c=this.parts,[l,d]=cE(e,s);if(this.el=_i.createElement(l,r),js.currentNode=this.el.content,s===2||s===3){const h=this.el.content.firstChild;h.replaceWith(...h.childNodes)}for(;(i=js.nextNode())!==null&&c.length<a;){if(i.nodeType===1){if(i.hasAttributes())for(const h of i.getAttributeNames())if(h.endsWith(Md)){const u=d[o++],g=i.getAttribute(h).split(ws),w=/([.?@])?(.*)/.exec(u);c.push({type:1,index:n,name:w[2],strings:g,ctor:w[1]==="."?dE:w[1]==="?"?hE:w[1]==="@"?uE:_n}),i.removeAttribute(h)}else h.startsWith(ws)&&(c.push({type:6,index:n}),i.removeAttribute(h));if(qd.test(i.tagName)){const h=i.textContent.split(ws),u=h.length-1;if(u>0){i.textContent=gn?gn.emptyScript:"";for(let g=0;g<u;g++)i.append(h[g],Ni()),js.nextNode(),c.push({type:2,index:++n});i.append(h[u],Ni())}}}else if(i.nodeType===8)if(i.data===Bd)c.push({type:2,index:n});else{let h=-1;for(;(h=i.data.indexOf(ws,h+1))!==-1;)c.push({type:7,index:n}),h+=ws.length-1}n++}}static createElement(e,s){const r=Gs.createElement("template");return r.innerHTML=e,r}}function Mr(t,e,s=t,r){if(e===Lr)return e;let i=r!==void 0?s._$Co?.[r]:s._$Cl;const n=Ai(e)?void 0:e._$litDirective$;return i?.constructor!==n&&(i?._$AO?.(!1),n===void 0?i=void 0:(i=new n(t),i._$AT(t,s,r)),r!==void 0?(s._$Co??(s._$Co=[]))[r]=i:s._$Cl=i),i!==void 0&&(e=Mr(t,i._$AS(t,e.values),i,r)),e}class lE{constructor(e,s){this._$AV=[],this._$AN=void 0,this._$AD=e,this._$AM=s}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(e){const{el:{content:s},parts:r}=this._$AD,i=(e?.creationScope??Gs).importNode(s,!0);js.currentNode=i;let n=js.nextNode(),o=0,a=0,c=r[0];for(;c!==void 0;){if(o===c.index){let l;c.type===2?l=new Li(n,n.nextSibling,this,e):c.type===1?l=new c.ctor(n,c.name,c.strings,this,e):c.type===6&&(l=new pE(n,this,e)),this._$AV.push(l),c=r[++a]}o!==c?.index&&(n=js.nextNode(),o++)}return js.currentNode=Gs,i}p(e){let s=0;for(const r of this._$AV)r!==void 0&&(r.strings!==void 0?(r._$AI(e,r,s),s+=r.strings.length-2):r._$AI(e[s])),s++}}class Li{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(e,s,r,i){this.type=2,this._$AH=Fe,this._$AN=void 0,this._$AA=e,this._$AB=s,this._$AM=r,this.options=i,this._$Cv=i?.isConnected??!0}get parentNode(){let e=this._$AA.parentNode;const s=this._$AM;return s!==void 0&&e?.nodeType===11&&(e=s.parentNode),e}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(e,s=this){e=Mr(this,e,s),Ai(e)?e===Fe||e==null||e===""?(this._$AH!==Fe&&this._$AR(),this._$AH=Fe):e!==this._$AH&&e!==Lr&&this._(e):e._$litType$!==void 0?this.$(e):e.nodeType!==void 0?this.T(e):aE(e)?this.k(e):this._(e)}O(e){return this._$AA.parentNode.insertBefore(e,this._$AB)}T(e){this._$AH!==e&&(this._$AR(),this._$AH=this.O(e))}_(e){this._$AH!==Fe&&Ai(this._$AH)?this._$AA.nextSibling.data=e:this.T(Gs.createTextNode(e)),this._$AH=e}$(e){const{values:s,_$litType$:r}=e,i=typeof r=="number"?this._$AC(e):(r.el===void 0&&(r.el=_i.createElement(Fd(r.h,r.h[0]),this.options)),r);if(this._$AH?._$AD===i)this._$AH.p(s);else{const n=new lE(i,this),o=n.u(this.options);n.p(s),this.T(o),this._$AH=n}}_$AC(e){let s=ol.get(e.strings);return s===void 0&&ol.set(e.strings,s=new _i(e)),s}k(e){ta(this._$AH)||(this._$AH=[],this._$AR());const s=this._$AH;let r,i=0;for(const n of e)i===s.length?s.push(r=new Li(this.O(Ni()),this.O(Ni()),this,this.options)):r=s[i],r._$AI(n),i++;i<s.length&&(this._$AR(r&&r._$AB.nextSibling,i),s.length=i)}_$AR(e=this._$AA.nextSibling,s){for(this._$AP?.(!1,!0,s);e!==this._$AB;){const r=e.nextSibling;e.remove(),e=r}}setConnected(e){this._$AM===void 0&&(this._$Cv=e,this._$AP?.(e))}}class _n{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(e,s,r,i,n){this.type=1,this._$AH=Fe,this._$AN=void 0,this.element=e,this.name=s,this._$AM=i,this.options=n,r.length>2||r[0]!==""||r[1]!==""?(this._$AH=Array(r.length-1).fill(new String),this.strings=r):this._$AH=Fe}_$AI(e,s=this,r,i){const n=this.strings;let o=!1;if(n===void 0)e=Mr(this,e,s,0),o=!Ai(e)||e!==this._$AH&&e!==Lr,o&&(this._$AH=e);else{const a=e;let c,l;for(e=n[0],c=0;c<n.length-1;c++)l=Mr(this,a[r+c],s,c),l===Lr&&(l=this._$AH[c]),o||(o=!Ai(l)||l!==this._$AH[c]),l===Fe?e=Fe:e!==Fe&&(e+=(l??"")+n[c+1]),this._$AH[c]=l}o&&!i&&this.j(e)}j(e){e===Fe?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,e??"")}}class dE extends _n{constructor(){super(...arguments),this.type=3}j(e){this.element[this.name]=e===Fe?void 0:e}}class hE extends _n{constructor(){super(...arguments),this.type=4}j(e){this.element.toggleAttribute(this.name,!!e&&e!==Fe)}}class uE extends _n{constructor(e,s,r,i,n){super(e,s,r,i,n),this.type=5}_$AI(e,s=this){if((e=Mr(this,e,s,0)??Fe)===Lr)return;const r=this._$AH,i=e===Fe&&r!==Fe||e.capture!==r.capture||e.once!==r.once||e.passive!==r.passive,n=e!==Fe&&(r===Fe||i);i&&this.element.removeEventListener(this.name,this,r),n&&this.element.addEventListener(this.name,this,e),this._$AH=e}handleEvent(e){typeof this._$AH=="function"?this._$AH.call(this.options?.host??this.element,e):this._$AH.handleEvent(e)}}class pE{constructor(e,s,r){this.element=e,this.type=6,this._$AN=void 0,this._$AM=s,this.options=r}get _$AU(){return this._$AM._$AU}_$AI(e){Mr(this,e)}}const fE=gi.litHtmlPolyfillSupport;fE?.(_i,Li),(gi.litHtmlVersions??(gi.litHtmlVersions=[])).push("3.3.1");const gE=(t,e,s)=>{const r=s?.renderBefore??e;let i=r._$litPart$;if(i===void 0){const n=s?.renderBefore??null;r._$litPart$=i=new Li(e.insertBefore(Ni(),n),n,void 0,s??{})}return i._$AI(t),i};const mi=globalThis;class on extends Er{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){var s;const e=super.createRenderRoot();return(s=this.renderOptions).renderBefore??(s.renderBefore=e.firstChild),e}update(e){const s=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(e),this._$Do=gE(s,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return Lr}}on._$litElement$=!0,on.finalized=!0,mi.litElementHydrateSupport?.({LitElement:on});const mE=mi.litElementPolyfillSupport;mE?.({LitElement:on});(mi.litElementVersions??(mi.litElementVersions=[])).push("4.2.1");let wi,As,_s;function YE(t,e){wi=document.createElement("style"),As=document.createElement("style"),_s=document.createElement("style"),wi.textContent=Pr(t).core.cssText,As.textContent=Pr(t).dark.cssText,_s.textContent=Pr(t).light.cssText,document.head.appendChild(wi),document.head.appendChild(As),document.head.appendChild(_s),Wd(e)}function Wd(t){As&&_s&&(t==="light"?(As.removeAttribute("media"),_s.media="enabled"):(_s.removeAttribute("media"),As.media="enabled"))}function wE(t){wi&&As&&_s&&(wi.textContent=Pr(t).core.cssText,As.textContent=Pr(t).dark.cssText,_s.textContent=Pr(t).light.cssText)}function Pr(t){return{core:Sr`
16      @import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap');
17      @keyframes w3m-shake {
18        0% {
19          transform: scale(1) rotate(0deg);
20        }
21        20% {
22          transform: scale(1) rotate(-1deg);
23        }
24        40% {
25          transform: scale(1) rotate(1.5deg);
26        }
27        60% {
28          transform: scale(1) rotate(-1.5deg);
29        }
30        80% {
31          transform: scale(1) rotate(1deg);
32        }
33        100% {
34          transform: scale(1) rotate(0deg);
35        }
36      }
37      @keyframes w3m-iframe-fade-out {
38        0% {
39          opacity: 1;
40        }
41        100% {
42          opacity: 0;
43        }
44      }
45      @keyframes w3m-iframe-zoom-in {
46        0% {
47          transform: translateY(50px);
48          opacity: 0;
49        }
50        100% {
51          transform: translateY(0px);
52          opacity: 1;
53        }
54      }
55      @keyframes w3m-iframe-zoom-in-mobile {
56        0% {
57          transform: scale(0.95);
58          opacity: 0;
59        }
60        100% {
61          transform: scale(1);
62          opacity: 1;
63        }
64      }
65      :root {
66        --w3m-modal-width: 360px;
67        --w3m-color-mix-strength: ${At(t?.["--w3m-color-mix-strength"]?`${t["--w3m-color-mix-strength"]}%`:"0%")};
68        --w3m-font-family: ${At(t?.["--w3m-font-family"]||"Inter, Segoe UI, Roboto, Oxygen, Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;")};
69        --w3m-font-size-master: ${At(t?.["--w3m-font-size-master"]||"10px")};
70        --w3m-border-radius-master: ${At(t?.["--w3m-border-radius-master"]||"4px")};
71        --w3m-z-index: ${At(t?.["--w3m-z-index"]||
vendor: 15,824 bytes, lines 71-497
71999)};
72
73        --wui-font-family: var(--w3m-font-family);
74
75        --wui-font-size-mini: calc(var(--w3m-font-size-master) * 0.8);
76        --wui-font-size-micro: var(--w3m-font-size-master);
77        --wui-font-size-tiny: calc(var(--w3m-font-size-master) * 1.2);
78        --wui-font-size-small: calc(var(--w3m-font-size-master) * 1.4);
79        --wui-font-size-paragraph: calc(var(--w3m-font-size-master) * 1.6);
80        --wui-font-size-medium: calc(var(--w3m-font-size-master) * 1.8);
81        --wui-font-size-large: calc(var(--w3m-font-size-master) * 2);
82        --wui-font-size-title-6: calc(var(--w3m-font-size-master) * 2.2);
83        --wui-font-size-medium-title: calc(var(--w3m-font-size-master) * 2.4);
84        --wui-font-size-2xl: calc(var(--w3m-font-size-master) * 4);
85
86        --wui-border-radius-5xs: var(--w3m-border-radius-master);
87        --wui-border-radius-4xs: calc(var(--w3m-border-radius-master) * 1.5);
88        --wui-border-radius-3xs: calc(var(--w3m-border-radius-master) * 2);
89        --wui-border-radius-xxs: calc(var(--w3m-border-radius-master) * 3);
90        --wui-border-radius-xs: calc(var(--w3m-border-radius-master) * 4);
91        --wui-border-radius-s: calc(var(--w3m-border-radius-master) * 5);
92        --wui-border-radius-m: calc(var(--w3m-border-radius-master) * 7);
93        --wui-border-radius-l: calc(var(--w3m-border-radius-master) * 9);
94        --wui-border-radius-3xl: calc(var(--w3m-border-radius-master) * 20);
95
96        --wui-font-weight-light: 400;
97        --wui-font-weight-regular: 500;
98        --wui-font-weight-medium: 600;
99        --wui-font-weight-bold: 700;
100
101        --wui-letter-spacing-2xl: -1.6px;
102        --wui-letter-spacing-medium-title: -0.96px;
103        --wui-letter-spacing-title-6: -0.88px;
104        --wui-letter-spacing-large: -0.8px;
105        --wui-letter-spacing-medium: -0.72px;
106        --wui-letter-spacing-paragraph: -0.64px;
107        --wui-letter-spacing-small: -0.56px;
108        --wui-letter-spacing-tiny: -0.48px;
109        --wui-letter-spacing-micro: -0.2px;
110        --wui-letter-spacing-mini: -0.16px;
111
112        --wui-spacing-0: 0px;
113        --wui-spacing-4xs: 2px;
114        --wui-spacing-3xs: 4px;
115        --wui-spacing-xxs: 6px;
116        --wui-spacing-2xs: 7px;
117        --wui-spacing-xs: 8px;
118        --wui-spacing-1xs: 10px;
119        --wui-spacing-s: 12px;
120        --wui-spacing-m: 14px;
121        --wui-spacing-l: 16px;
122        --wui-spacing-2l: 18px;
123        --wui-spacing-xl: 20px;
124        --wui-spacing-xxl: 24px;
125        --wui-spacing-2xl: 32px;
126        --wui-spacing-3xl: 40px;
127        --wui-spacing-4xl: 90px;
128        --wui-spacing-5xl: 95px;
129
130        --wui-icon-box-size-xxs: 14px;
131        --wui-icon-box-size-xs: 20px;
132        --wui-icon-box-size-sm: 24px;
133        --wui-icon-box-size-md: 32px;
134        --wui-icon-box-size-mdl: 36px;
135        --wui-icon-box-size-lg: 40px;
136        --wui-icon-box-size-2lg: 48px;
137        --wui-icon-box-size-xl: 64px;
138
139        --wui-icon-size-inherit: inherit;
140        --wui-icon-size-xxs: 10px;
141        --wui-icon-size-xs: 12px;
142        --wui-icon-size-sm: 14px;
143        --wui-icon-size-md: 16px;
144        --wui-icon-size-mdl: 18px;
145        --wui-icon-size-lg: 20px;
146        --wui-icon-size-xl: 24px;
147        --wui-icon-size-xxl: 28px;
148
149        --wui-wallet-image-size-inherit: inherit;
150        --wui-wallet-image-size-sm: 40px;
151        --wui-wallet-image-size-md: 56px;
152        --wui-wallet-image-size-lg: 80px;
153
154        --wui-visual-size-size-inherit: inherit;
155        --wui-visual-size-sm: 40px;
156        --wui-visual-size-md: 55px;
157        --wui-visual-size-lg: 80px;
158
159        --wui-box-size-md: 100px;
160        --wui-box-size-lg: 120px;
161
162        --wui-ease-out-power-2: cubic-bezier(0, 0, 0.22, 1);
163        --wui-ease-out-power-1: cubic-bezier(0, 0, 0.55, 1);
164
165        --wui-ease-in-power-3: cubic-bezier(0.66, 0, 1, 1);
166        --wui-ease-in-power-2: cubic-bezier(0.45, 0, 1, 1);
167        --wui-ease-in-power-1: cubic-bezier(0.3, 0, 1, 1);
168
169        --wui-ease-inout-power-1: cubic-bezier(0.45, 0, 0.55, 1);
170
171        --wui-duration-lg: 200ms;
172        --wui-duration-md: 125ms;
173        --wui-duration-sm: 75ms;
174
175        --wui-path-network-sm: path(
176          'M15.4 2.1a5.21 5.21 0 0 1 5.2 0l11.61 6.7a5.21 5.21 0 0 1 2.61 4.52v13.4c0 1.87-1 3.59-2.6 4.52l-11.61 6.7c-1.62.93-3.6.93-5.22 0l-11.6-6.7a5.21 5.21 0 0 1-2.61-4.51v-13.4c0-1.87 1-3.6 2.6-4.52L15.4 2.1Z'
177        );
178
179        --wui-path-network-md: path(
180          'M43.4605 10.7248L28.0485 1.61089C25.5438 0.129705 22.4562 0.129705 19.9515 1.61088L4.53951 10.7248C2.03626 12.2051 0.5 14.9365 0.5 17.886V36.1139C0.5 39.0635 2.03626 41.7949 4.53951 43.2752L19.9515 52.3891C22.4562 53.8703 25.5438 53.8703 28.0485 52.3891L43.4605 43.2752C45.9637 41.7949 47.5 39.0635 47.5 36.114V17.8861C47.5 14.9365 45.9637 12.2051 43.4605 10.7248Z'
181        );
182
183        --wui-path-network-lg: path(
184          'M78.3244 18.926L50.1808 2.45078C45.7376 -0.150261 40.2624 -0.150262 35.8192 2.45078L7.6756 18.926C3.23322 21.5266 0.5 26.3301 0.5 31.5248V64.4752C0.5 69.6699 3.23322 74.4734 7.6756 77.074L35.8192 93.5492C40.2624 96.1503 45.7376 96.1503 50.1808 93.5492L78.3244 77.074C82.7668 74.4734 85.5 69.6699 85.5 64.4752V31.5248C85.5 26.3301 82.7668 21.5266 78.3244 18.926Z'
185        );
186
187        --wui-width-network-sm: 36px;
188        --wui-width-network-md: 48px;
189        --wui-width-network-lg: 86px;
190
191        --wui-height-network-sm: 40px;
192        --wui-height-network-md: 54px;
193        --wui-height-network-lg: 96px;
194
195        --wui-icon-size-network-xs: 12px;
196        --wui-icon-size-network-sm: 16px;
197        --wui-icon-size-network-md: 24px;
198        --wui-icon-size-network-lg: 42px;
199
200        --wui-color-inherit: inherit;
201
202        --wui-color-inverse-100: #fff;
203        --wui-color-inverse-000: #000;
204
205        --wui-cover: rgba(20, 20, 20, 0.8);
206
207        --wui-color-modal-bg: var(--wui-color-modal-bg-base);
208
209        --wui-color-accent-100: var(--wui-color-accent-base-100);
210        --wui-color-accent-090: var(--wui-color-accent-base-090);
211        --wui-color-accent-080: var(--wui-color-accent-base-080);
212
213        --wui-color-success-100: var(--wui-color-success-base-100);
214        --wui-color-success-125: var(--wui-color-success-base-125);
215
216        --wui-color-warning-100: var(--wui-color-warning-base-100);
217
218        --wui-color-error-100: var(--wui-color-error-base-100);
219        --wui-color-error-125: var(--wui-color-error-base-125);
220
221        --wui-color-blue-100: var(--wui-color-blue-base-100);
222        --wui-color-blue-90: var(--wui-color-blue-base-90);
223
224        --wui-icon-box-bg-error-100: var(--wui-icon-box-bg-error-base-100);
225        --wui-icon-box-bg-blue-100: var(--wui-icon-box-bg-blue-base-100);
226        --wui-icon-box-bg-success-100: var(--wui-icon-box-bg-success-base-100);
227        --wui-icon-box-bg-inverse-100: var(--wui-icon-box-bg-inverse-base-100);
228
229        --wui-all-wallets-bg-100: var(--wui-all-wallets-bg-100);
230
231        --wui-avatar-border: var(--wui-avatar-border-base);
232
233        --wui-thumbnail-border: var(--wui-thumbnail-border-base);
234
235        --wui-wallet-button-bg: var(--wui-wallet-button-bg-base);
236
237        --wui-box-shadow-blue: var(--wui-color-accent-glass-020);
238      }
239
240      @supports (background: color-mix(in srgb, white 50%, black)) {
241        :root {
242          --wui-color-modal-bg: color-mix(
243            in srgb,
244            var(--w3m-color-mix) var(--w3m-color-mix-strength),
245            var(--wui-color-modal-bg-base)
246          );
247
248          --wui-box-shadow-blue: color-mix(in srgb, var(--wui-color-accent-100) 20%, transparent);
249
250          --wui-color-accent-100: color-mix(
251            in srgb,
252            var(--wui-color-accent-base-100) 100%,
253            transparent
254          );
255          --wui-color-accent-090: color-mix(
256            in srgb,
257            var(--wui-color-accent-base-100) 90%,
258            transparent
259          );
260          --wui-color-accent-080: color-mix(
261            in srgb,
262            var(--wui-color-accent-base-100) 80%,
263            transparent
264          );
265          --wui-color-accent-glass-090: color-mix(
266            in srgb,
267            var(--wui-color-accent-base-100) 90%,
268            transparent
269          );
270          --wui-color-accent-glass-080: color-mix(
271            in srgb,
272            var(--wui-color-accent-base-100) 80%,
273            transparent
274          );
275          --wui-color-accent-glass-020: color-mix(
276            in srgb,
277            var(--wui-color-accent-base-100) 20%,
278            transparent
279          );
280          --wui-color-accent-glass-015: color-mix(
281            in srgb,
282            var(--wui-color-accent-base-100) 15%,
283            transparent
284          );
285          --wui-color-accent-glass-010: color-mix(
286            in srgb,
287            var(--wui-color-accent-base-100) 10%,
288            transparent
289          );
290          --wui-color-accent-glass-005: color-mix(
291            in srgb,
292            var(--wui-color-accent-base-100) 5%,
293            transparent
294          );
295          --wui-color-accent-002: color-mix(
296            in srgb,
297            var(--wui-color-accent-base-100) 2%,
298            transparent
299          );
300
301          --wui-color-fg-100: color-mix(
302            in srgb,
303            var(--w3m-color-mix) var(--w3m-color-mix-strength),
304            var(--wui-color-fg-100)
305          );
306          --wui-color-fg-125: color-mix(
307            in srgb,
308            var(--w3m-color-mix) var(--w3m-color-mix-strength),
309            var(--wui-color-fg-125)
310          );
311          --wui-color-fg-150: color-mix(
312            in srgb,
313            var(--w3m-color-mix) var(--w3m-color-mix-strength),
314            var(--wui-color-fg-150)
315          );
316          --wui-color-fg-175: color-mix(
317            in srgb,
318            var(--w3m-color-mix) var(--w3m-color-mix-strength),
319            var(--wui-color-fg-175)
320          );
321          --wui-color-fg-200: color-mix(
322            in srgb,
323            var(--w3m-color-mix) var(--w3m-color-mix-strength),
324            var(--wui-color-fg-200)
325          );
326          --wui-color-fg-225: color-mix(
327            in srgb,
328            var(--w3m-color-mix) var(--w3m-color-mix-strength),
329            var(--wui-color-fg-225)
330          );
331          --wui-color-fg-250: color-mix(
332            in srgb,
333            var(--w3m-color-mix) var(--w3m-color-mix-strength),
334            var(--wui-color-fg-250)
335          );
336          --wui-color-fg-275: color-mix(
337            in srgb,
338            var(--w3m-color-mix) var(--w3m-color-mix-strength),
339            var(--wui-color-fg-275)
340          );
341          --wui-color-fg-300: color-mix(
342            in srgb,
343            var(--w3m-color-mix) var(--w3m-color-mix-strength),
344            var(--wui-color-fg-300)
345          );
346          --wui-color-fg-325: color-mix(
347            in srgb,
348            var(--w3m-color-mix) var(--w3m-color-mix-strength),
349            var(--wui-color-fg-325)
350          );
351          --wui-color-fg-350: color-mix(
352            in srgb,
353            var(--w3m-color-mix) var(--w3m-color-mix-strength),
354            var(--wui-color-fg-350)
355          );
356
357          --wui-color-bg-100: color-mix(
358            in srgb,
359            var(--w3m-color-mix) var(--w3m-color-mix-strength),
360            var(--wui-color-bg-100)
361          );
362          --wui-color-bg-125: color-mix(
363            in srgb,
364            var(--w3m-color-mix) var(--w3m-color-mix-strength),
365            var(--wui-color-bg-125)
366          );
367          --wui-color-bg-150: color-mix(
368            in srgb,
369            var(--w3m-color-mix) var(--w3m-color-mix-strength),
370            var(--wui-color-bg-150)
371          );
372          --wui-color-bg-175: color-mix(
373            in srgb,
374            var(--w3m-color-mix) var(--w3m-color-mix-strength),
375            var(--wui-color-bg-175)
376          );
377          --wui-color-bg-200: color-mix(
378            in srgb,
379            var(--w3m-color-mix) var(--w3m-color-mix-strength),
380            var(--wui-color-bg-200)
381          );
382          --wui-color-bg-225: color-mix(
383            in srgb,
384            var(--w3m-color-mix) var(--w3m-color-mix-strength),
385            var(--wui-color-bg-225)
386          );
387          --wui-color-bg-250: color-mix(
388            in srgb,
389            var(--w3m-color-mix) var(--w3m-color-mix-strength),
390            var(--wui-color-bg-250)
391          );
392          --wui-color-bg-275: color-mix(
393            in srgb,
394            var(--w3m-color-mix) var(--w3m-color-mix-strength),
395            var(--wui-color-bg-275)
396          );
397          --wui-color-bg-300: color-mix(
398            in srgb,
399            var(--w3m-color-mix) var(--w3m-color-mix-strength),
400            var(--wui-color-bg-300)
401          );
402          --wui-color-bg-325: color-mix(
403            in srgb,
404            var(--w3m-color-mix) var(--w3m-color-mix-strength),
405            var(--wui-color-bg-325)
406          );
407          --wui-color-bg-350: color-mix(
408            in srgb,
409            var(--w3m-color-mix) var(--w3m-color-mix-strength),
410            var(--wui-color-bg-350)
411          );
412
413          --wui-color-success-100: color-mix(
414            in srgb,
415            var(--w3m-color-mix) var(--w3m-color-mix-strength),
416            var(--wui-color-success-base-100)
417          );
418          --wui-color-success-125: color-mix(
419            in srgb,
420            var(--w3m-color-mix) var(--w3m-color-mix-strength),
421            var(--wui-color-success-base-125)
422          );
423
424          --wui-color-warning-100: color-mix(
425            in srgb,
426            var(--w3m-color-mix) var(--w3m-color-mix-strength),
427            var(--wui-color-warning-base-100)
428          );
429
430          --wui-color-error-100: color-mix(
431            in srgb,
432            var(--w3m-color-mix) var(--w3m-color-mix-strength),
433            var(--wui-color-error-base-100)
434          );
435          --wui-color-blue-100: color-mix(
436            in srgb,
437            var(--w3m-color-mix) var(--w3m-color-mix-strength),
438            var(--wui-color-blue-base-100)
439          );
440          --wui-color-blue-90: color-mix(
441            in srgb,
442            var(--w3m-color-mix) var(--w3m-color-mix-strength),
443            var(--wui-color-blue-base-90)
444          );
445          --wui-color-error-125: color-mix(
446            in srgb,
447            var(--w3m-color-mix) var(--w3m-color-mix-strength),
448            var(--wui-color-error-base-125)
449          );
450
451          --wui-icon-box-bg-error-100: color-mix(
452            in srgb,
453            var(--w3m-color-mix) var(--w3m-color-mix-strength),
454            var(--wui-icon-box-bg-error-base-100)
455          );
456          --wui-icon-box-bg-accent-100: color-mix(
457            in srgb,
458            var(--w3m-color-mix) var(--w3m-color-mix-strength),
459            var(--wui-icon-box-bg-blue-base-100)
460          );
461          --wui-icon-box-bg-success-100: color-mix(
462            in srgb,
463            var(--w3m-color-mix) var(--w3m-color-mix-strength),
464            var(--wui-icon-box-bg-success-base-100)
465          );
466          --wui-icon-box-bg-inverse-100: color-mix(
467            in srgb,
468            var(--w3m-color-mix) var(--w3m-color-mix-strength),
469            var(--wui-icon-box-bg-inverse-base-100)
470          );
471
472          --wui-all-wallets-bg-100: color-mix(
473            in srgb,
474            var(--w3m-color-mix) var(--w3m-color-mix-strength),
475            var(--wui-all-wallets-bg-100)
476          );
477
478          --wui-avatar-border: color-mix(
479            in srgb,
480            var(--w3m-color-mix) var(--w3m-color-mix-strength),
481            var(--wui-avatar-border-base)
482          );
483
484          --wui-thumbnail-border: color-mix(
485            in srgb,
486            var(--w3m-color-mix) var(--w3m-color-mix-strength),
487            var(--wui-thumbnail-border-base)
488          );
489
490          --wui-wallet-button-bg: color-mix(
491            in srgb,
492            var(--w3m-color-mix) var(--w3m-color-mix-strength),
493            var(--wui-wallet-button-bg-base)
494          );
495        }
496      }
497    `,
497light:Sr`
498      :root {
499        --w3m-color-mix: ${At(t?.["--w3m-color-mix"]||"#fff")};
500        --w3m-accent: ${At(ys(t,"dark")["--w3m-accent"])};
501        --w3m-default: #fff;
502
503        --wui-color-modal-bg-base: ${At(ys(t,"dark")["--w3m-background"])};
504        --wui-color-accent-base-100: var(--w3m-accent);
505
506        --wui-color-blueberry-100: hsla(230, 100%, 67%, 1);
507        --wui-color-blueberry-090: hsla(231, 76%, 61%, 1);
508        --wui-color-blueberry-080: hsla(230, 59%, 55%, 1);
509        --wui-color-blueberry-050: hsla(231, 100%, 70%, 0.1);
510
511        --wui-color-fg-100: #e4e7e7;
512        --wui-color-fg-125: #d0d5d5;
513        --wui-color-fg-150: #a8b1b1;
514        --wui-color-fg-175: #a8b0b0;
515        --wui-color-fg-200: #949e9e;
516        --wui-color-fg-225: #868f8f;
517        --wui-color-fg-250: #788080;
518        --wui-color-fg-275: #788181;
519        --wui-color-fg-300: #6e7777;
520        --wui-color-fg-325: #9a9a9a;
521        --wui-color-fg-350: #363636;
522
523        --wui-color-bg-100: #141414;
524        --wui-color-bg-125: #191a1a;
525        --wui-color-bg-150: #1e1f1f;
526        --wui-color-bg-175: #222525;
527        --wui-color-bg-200: #272a2a;
528        --wui-color-bg-225: #2c3030;
529        --wui-color-bg-250: #313535;
530        --wui-color-bg-275: #363b3b;
531        --wui-color-bg-300: #3b4040;
532        --wui-color-bg-325: #252525;
533        --wui-color-bg-350: #ffffff;
534
535        --wui-color-success-base-100: #26d962;
536        --wui-color-success-base-125: #30a46b;
537
538        --wui-color-warning-base-100: #f3a13f;
539
540        --wui-color-error-base-100: #f25a67;
541        --wui-color-error-base-125: #df4a34;
542
543        --wui-color-blue-base-100: rgba(102, 125, 255, 1);
544        --wui-color-blue-base-90: rgba(102, 125, 255, 0.9);
545
546        --wui-color-success-glass-001: rgba(38, 217, 98, 0.01);
547        --wui-color-success-glass-002: rgba(38, 217, 98, 0.02);
548        --wui-color-success-glass-005: rgba(38, 217, 98, 0.05);
549        --wui-color-success-glass-010: rgba(38, 217, 98, 0.1);
550        --wui-color-success-glass-015: rgba(38, 217, 98, 0.15);
551        --wui-color-success-glass-020: rgba(38, 217, 98, 0.2);
552        --wui-color-success-glass-025: rgba(38, 217, 98, 0.25);
553        --wui-color-success-glass-030: rgba(38, 217, 98, 0.3);
554        --wui-color-success-glass-060: rgba(38, 217, 98, 0.6);
555        --wui-color-success-glass-080: rgba(38, 217, 98, 0.8);
556
557        --wui-color-success-glass-reown-020: rgba(48, 164, 107, 0.2);
558
559        --wui-color-warning-glass-reown-020: rgba(243, 161, 63, 0.2);
560
561        --wui-color-error-glass-001: rgba(242, 90, 103, 0.01);
562        --wui-color-error-glass-002: rgba(242, 90, 103, 0.02);
563        --wui-color-error-glass-005: rgba(242, 90, 103, 0.05);
564        --wui-color-error-glass-010: rgba(242, 90, 103, 0.1);
565        --wui-color-error-glass-015: rgba(242, 90, 103, 0.15);
566        --wui-color-error-glass-020: rgba(242, 90, 103, 0.2);
567        --wui-color-error-glass-025: rgba(242, 90, 103, 0.25);
568        --wui-color-error-glass-030: rgba(242, 90, 103, 0.3);
569        --wui-color-error-glass-060: rgba(242, 90, 103, 0.6);
570        --wui-color-error-glass-080: rgba(242, 90, 103, 0.8);
571
572        --wui-color-error-glass-reown-020: rgba(223, 74, 52, 0.2);
573
574        --wui-color-gray-glass-001: rgba(255, 255, 255, 0.01);
575        --wui-color-gray-glass-002: rgba(255, 255, 255, 0.02);
576        --wui-color-gray-glass-005: rgba(255, 255, 255, 0.05);
577        --wui-color-gray-glass-010: rgba(255, 255, 255, 0.1);
578        --wui-color-gray-glass-015: rgba(255, 255, 255, 0.15);
579        --wui-color-gray-glass-020: rgba(255, 255, 255, 0.2);
580        --wui-color-gray-glass-025: rgba(255, 255, 255, 0.25);
581        --wui-color-gray-glass-030: rgba(255, 255, 255, 0.3);
582        --wui-color-gray-glass-060: rgba(255, 255, 255, 0.6);
583        --wui-color-gray-glass-080: rgba(255, 255, 255, 0.8);
584        --wui-color-gray-glass-090: rgba(255, 255, 255, 0.9);
585
586        --wui-color-dark-glass-100: rgba(42, 42, 42, 1);
587
588        --wui-icon-box-bg-error-base-100: #3c2426;
589        --wui-icon-box-bg-blue-base-100: #20303f;
590        --wui-icon-box-bg-success-base-100: #1f3a28;
591        --wui-icon-box-bg-inverse-base-100: #243240;
592
593        --wui-all-wallets-bg-100: #222b35;
594
595        --wui-avatar-border-base: #252525;
596
597        --wui-thumbnail-border-base: #252525;
598
599        --wui-wallet-button-bg-base: var(--wui-color-bg-125);
600
601        --w3m-card-embedded-shadow-color: rgb(17 17 18 / 25%);
602      }
603    `,dark:Sr`
604      :root {
605        --w3m-color-mix: ${At(t?.["--w3m-color-mix"]||"#000")};
606        --w3m-accent: ${At(ys(t,"light")["--w3m-accent"])};
607        --w3m-default: #000;
608
609        --wui-color-modal-bg-base: ${At(ys(t,"light")["--w3m-background"])};
610        --wui-color-accent-base-100: var(--w3m-accent);
611
612        --wui-color-blueberry-100: hsla(231, 100%, 70%, 1);
613        --wui-color-blueberry-090: hsla(231, 97%, 72%, 1);
614        --wui-color-blueberry-080: hsla(231, 92%, 74%, 1);
615
616        --wui-color-fg-100: #141414;
617        --wui-color-fg-125: #2d3131;
618        --wui-color-fg-150: #474d4d;
619        --wui-color-fg-175: #636d6d;
620        --wui-color-fg-200: #798686;
621        --wui-color-fg-225: #828f8f;
622        --wui-color-fg-250: #8b9797;
623        --wui-color-fg-275: #95a0a0;
624        --wui-color-fg-300: #9ea9a9;
625        --wui-color-fg-325: #9a9a9a;
626        --wui-color-fg-350: #d0d0d0;
627
628        --wui-color-bg-100: #ffffff;
629        --wui-color-bg-125: #f5fafa;
630        --wui-color-bg-150: #f3f8f8;
631        --wui-color-bg-175: #eef4f4;
632        --wui-color-bg-200: #eaf1f1;
633        --wui-color-bg-225: #e5eded;
634        --wui-color-bg-250: #e1e9e9;
635        --wui-color-bg-275: #dce7e7;
636        --wui-color-bg-300: #d8e3e3;
637        --wui-color-bg-325: #f3f3f3;
638        --wui-color-bg-350: #202020;
639
640        --wui-color-success-base-100: #26b562;
641        --wui-color-success-base-125: #30a46b;
642
643        --wui-color-warning-base-100: #f3a13f;
644
645        --wui-color-error-base-100: #f05142;
646        --wui-color-error-base-125: #df4a34;
647
648        --wui-color-blue-base-100: rgba(102, 125, 255, 1);
649        --wui-color-blue-base-90: rgba(102, 125, 255, 0.9);
650
651        --wui-color-success-glass-001: rgba(38, 181, 98, 0.01);
652        --wui-color-success-glass-002: rgba(38, 181, 98, 0.02);
653        --wui-color-success-glass-005: rgba(38, 181, 98, 0.05);
654        --wui-color-success-glass-010: rgba(38, 181, 98, 0.1);
655        --wui-color-success-glass-015: rgba(38, 181, 98, 0.15);
656        --wui-color-success-glass-020: rgba(38, 181, 98, 0.2);
657        --wui-color-success-glass-025: rgba(38, 181, 98, 0.25);
658        --wui-color-success-glass-030: rgba(38, 181, 98, 0.3);
659        --wui-color-success-glass-060: rgba(38, 181, 98, 0.6);
660        --wui-color-success-glass-080: rgba(38, 181, 98, 0.8);
661
662        --wui-color-success-glass-reown-020: rgba(48, 164, 107, 0.2);
663
664        --wui-color-warning-glass-reown-020: rgba(243, 161, 63, 0.2);
665
666        --wui-color-error-glass-001: rgba(240, 81, 66, 0.01);
667        --wui-color-error-glass-002: rgba(240, 81, 66, 0.02);
668        --wui-color-error-glass-005: rgba(240, 81, 66, 0.05);
669        --wui-color-error-glass-010: rgba(240, 81, 66, 0.1);
670        --wui-color-error-glass-015: rgba(240, 81, 66, 0.15);
671        --wui-color-error-glass-020: rgba(240, 81, 66, 0.2);
672        --wui-color-error-glass-025: rgba(240, 81, 66, 0.25);
673        --wui-color-error-glass-030: rgba(240, 81, 66, 0.3);
674        --wui-color-error-glass-060: rgba(240, 81, 66, 0.6);
675        --wui-color-error-glass-080: rgba(240, 81, 66, 0.8);
676
677        --wui-color-error-glass-reown-020: rgba(223, 74, 52, 0.2);
678
679        --wui-icon-box-bg-error-base-100: #f4dfdd;
680        --wui-icon-box-bg-blue-base-100: #d9ecfb;
681        --wui-icon-box-bg-success-base-100: #daf0e4;
682        --wui-icon-box-bg-inverse-base-100: #dcecfc;
683
684        --wui-all-wallets-bg-100: #e8f1fa;
685
686        --wui-avatar-border-base: #f3f4f4;
687
688        --wui-thumbnail-border-base: #eaefef;
689
690        --wui-wallet-button-bg-base: var(--wui-color-bg-125);
691
692        --wui-color-gray-glass-001: rgba(0, 0, 0, 0.01);
693        --wui-color-gray-glass-002: rgba(0, 0, 0, 0.02);
694        --wui-color-gray-glass-005: rgba(0, 0, 0, 0.05);
695        --wui-color-gray-glass-010: rgba(0, 0, 0, 0.1);
696        --wui-color-gray-glass-015: rgba(0, 0, 0, 0.15);
697        --wui-color-gray-glass-020: rgba(0, 0, 0, 0.2);
698        --wui-color-gray-glass-025: rgba(0, 0, 0, 0.25);
699        --wui-color-gray-glass-030: rgba(0, 0, 0, 0.3);
700        --wui-color-gray-glass-060: rgba(0, 0, 0, 0.6);
701        --wui-color-gray-glass-080: rgba(0, 0, 0, 0.8);
702        --wui-color-gray-glass-090: rgba(0, 0, 0, 0.9);
703
704        --wui-color-dark-glass-100: rgba(233, 233, 233, 1);
705
706        --w3m-card-embedded-shadow-color: rgb(224 225 233 / 25%);
707      }
708    `}}const ZE=Sr`
709  *,
710  *::after,
711  *::before,
712  :host {
713    margin: 0;
714    padding: 0;
715    box-sizing: border-box;
716    font-style: normal;
717    text-rendering: optimizeSpeed;
718    -webkit-font-smoothing: antialiased;
719    -moz-osx-font-smoothing: grayscale;
720    -webkit-tap-highlight-color: transparent;
721    font-family: var(--wui-font-family);
722    backface-visibility: hidden;
723  }
724`,XE=Sr`
725  button,
726  a {
727    cursor: pointer;
728    display: flex;
729    justify-content: center;
730    align-items: center;
731    position: relative;
732    transition:
733      color var(--wui-duration-lg) var(--wui-ease-out-power-1),
734      background-color var(--wui-duration-lg) var(--wui-ease-out-power-1),
735      border var(--wui-duration-lg) var(--wui-ease-out-power-1),
736      border-radius var(--wui-duration-lg) var(--wui-ease-out-power-1),
737      box-shadow var(--wui-duration-lg) var(--wui-ease-out-power-1);
738    will-change: background-color, color, border, box-shadow, border-radius;
739    outline: none;
740    border: none;
741    column-gap: var(--wui-spacing-3xs);
742    background-color: transparent;
743    text-decoration: none;
744  }
745
746  wui-flex {
747    transition: border-radius var(--wui-duration-lg) var(--wui-ease-out-power-1);
748    will-change: border-radius;
749  }
750
751  button:disabled > wui-wallet-image,
752  button:disabled > wui-all-wallets-image,
753  button:disabled > wui-network-image,
754  button:disabled > wui-image,
755  button:disabled > wui-transaction-visual,
756  button:disabled > wui-logo {
757    filter: grayscale(1);
758  }
759
760  @media (hover: hover) and (pointer: fine) {
761    button:hover:enabled {
762      background-color: var(--wui-color-gray-glass-005);
763    }
764
765    button:active:enabled {
766      background-color: var(--wui-color-gray-glass-010);
767    }
768  }
769
770  button:disabled > wui-icon-box {
771    opacity: 0.5;
772  }
773
774  input {
775    border: none;
776    outline: none;
777    appearance: none;
778  }
779`,QE=Sr`
780  .wui-color-inherit {
781    color: var(--wui-color-inherit);
782  }
783
784  .wui-color-accent-100 {
785    color: var(--wui-color-accent-100);
786  }
787
788  .wui-color-error-100 {
789    color: var(--wui-color-error-100);
790  }
791
792  .wui-color-blue-100 {
793    color: var(--wui-color-blue-100);
794  }
795
796  .wui-color-blue-90 {
797    color: var(--wui-color-blue-90);
798  }
799
800  .wui-color-error-125 {
801    color: var(--wui-color-error-125);
802  }
803
804  .wui-color-success-100 {
805    color: var(--wui-color-success-100);
806  }
807
808  .wui-color-success-125 {
809    color: var(--wui-color-success-125);
810  }
811
812  .wui-color-inverse-100 {
813    color: var(--wui-color-inverse-100);
814  }
815
816  .wui-color-inverse-000 {
817    color: var(--wui-color-inverse-000);
818  }
819
820  .wui-color-fg-100 {
821    color: var(--wui-color-fg-100);
822  }
823
824  .wui-color-fg-200 {
825    color: var(--wui-color-fg-200);
826  }
827
828  .wui-color-fg-300 {
829    color: var(--wui-color-fg-300);
830  }
831
832  .wui-color-fg-325 {
833    color: var(--wui-color-fg-325);
834  }
835
836  .wui-color-fg-350 {
837    color: var(--wui-color-fg-350);
838  }
839
840  .wui-bg-color-inherit {
841    background-color: var(--wui-color-inherit);
842  }
843
844  .wui-bg-color-blue-100 {
845    background-color: var(--wui-color-accent-100);
846  }
847
848  .wui-bg-color-error-100 {
849    background-color: var(--wui-color-error-100);
850  }
851
852  .wui-bg-color-error-125 {
853    background-color: var(--wui-color-error-125);
854  }
855
856  .wui-bg-color-success-100 {
857    background-color: var(--wui-color-success-100);
858  }
859
860  .wui-bg-color-success-125 {
861    background-color: var(--wui-color-success-100);
862  }
863
864  .wui-bg-color-inverse-100 {
865    background-color: var(--wui-color-inverse-100);
866  }
867
868  .wui-bg-color-inverse-000 {
869    background-color: var(--wui-color-inverse-000);
870  }
871
872  .wui-bg-color-fg-100 {
873    background-color: var(--wui-color-fg-100);
874  }
875
876  .wui-bg-color-fg-200 {
877    background-color: var(--wui-color-fg-200);
878  }
879
880  .wui-bg-color-fg-300 {
881    background-color: var(--wui-color-fg-300);
882  }
883
884  .wui-color-fg-325 {
885    background-color: var(--wui-color-fg-325);
886  }
887
888  .wui-color-fg-350 {
889    background-color: var(--wui-color-fg-350);
890  }
891`,ni={ERROR_CODE_UNRECOGNIZED_CHAIN_ID:4902,ERROR_CODE_DEFAULT:5e3,ERROR_INVALID_CHAIN_ID:32603,DEFAULT_ALLOWED_ANCESTORS:["http://localhost:*","https://*.pages.dev","https://*.vercel.app","https://*.ngrok-free.app","https://secure-mobile.walletconnect.com","https://secure-mobile.walletconnect.org"]};function Mi(t){return{formatters:void 0,fees:void 0,serializers:void 0,...t}}const al=Mi({id:"5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",name:"Solana",network:"solana-mainnet",nativeCurrency:{name:"Solana",symbol:"SOL",decimals:9},rpcUrls:{default:{http:["https://rpc.walletconnect.org/v1"]}},blockExplorers:{default:{name:"Solscan",url:"https://solscan.io"}},testnet:!1,chainNamespace:"solana",caipNetworkId:"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",deprecatedCaipNetworkId:"solana:4sGjMW1sUnHzSxGspuhpqLDx6wiyjNtZ"}
891),cl=Mi({id:"EtWTRABZaYq6iMfeYKouRu166VU2xqa1",name:"Solana Devnet",network:"solana-devnet",nativeCurrency:{name:"Solana",symbol:"SOL",decimals:9},rpcUrls:{default:{http:["https://rpc.walletconnect.org/v1"]}},blockExplorers:{default:{name:"Solscan",url:"https://solscan.io"}},testnet:!0,chainNamespace:"solana",caipNetworkId:"solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1",deprecatedCaipNetworkId:"solana:8E9rvCKLFQia2Y35HXjjpWzj8weVo44K"});Mi({id:"4uhcVJyU9pJkvQyS88uRDiswHXSCkY3z",name:"Solana Testnet",network:"solana-testnet",nativeCurrency:{name:"Solana",symbol:"SOL",decimals:9},rpcUrls:{default:{http:["https://rpc.walletconnect.org/v1"]}},blockExplorers:{default:{name:"Solscan",url:"https://solscan.io"}},testnet:!0,chainNamespace:"solana",caipNetworkId:"solana:4uhcVJyU9pJkvQyS88uRDiswHXSCkY3z"});Mi({id:"000000000019d6689c085ae165831e93",caipNetworkId:"bip122:000000000019d6689c085ae165831e93",chainNamespace:"bip122",name:"Bitcoin",nativeCurrency:{name:"Bitcoin",symbol:"BTC",decimals:8},rpcUrls:{default:{http:["https://rpc.walletconnect.org/v1"]}}});Mi({id:"000000000933ea01ad0ee984209779ba",caipNetworkId:"bip122:000000000933ea01ad0ee984209779ba",chainNamespace:"bip122",name:"Bitcoin Testnet",nativeCurrency:{name:"Bitcoin",symbol:"BTC",decimals:8},rpcUrls:{default:{http:["https://rpc.walletconnect.org/v1"]}},testnet:!0});const yE={solana:["solana_signMessage","solana_signTransaction","solana_requestAccounts","solana_getAccounts","solana_signAllTransactions","solana_signAndSendTransaction"],eip155:["eth_accounts","eth_requestAccounts","eth_sendRawTransaction","eth_sign","eth_signTransaction","eth_signTypedData","eth_signTypedData_v3","eth_signTypedData_v4","eth_sendTransaction","personal_sign","wallet_switchEthereumChain","wallet_addEthereumChain","wallet_getPermissions","wallet_requestPermissions","wallet_registerOnboarding","wallet_watchAsset","wallet_scanQRCode","wallet_getCallsStatus","wallet_showCallsStatus","wallet_sendCalls","wallet_getCapabilities","wallet_grantPermissions","wallet_revokePermissions","wallet_getAssets"],bip122:["sendTransfer","signMessage","signPsbt","getAccountAddresses"]},an={getMethodsByChainNamespace(t){return yE[t]||[]},createDefaultNamespace(t){return{methods:this.getMethodsByChainNamespace(t),events:["accountsChanged","chainChanged"],chains:[],rpcMap:{}}},applyNamespaceOverrides(t,e){if(!e)return{...t};const s={...t},r=new Set;if(e.methods&&Object.keys(e.methods).forEach(i=>r.add(i)),e.chains&&Object.keys(e.chains).forEach(i=>r.add(i)),e.events&&Object.keys(e.events).forEach(i=>r.add(i)),e.rpcMap&&Object.keys(e.rpcMap).forEach(i=>{const[n]=i.split(":");n&&r.add(n)}),r.forEach(i=>{s[i]||(s[i]=this.createDefaultNamespace(i))}),e.methods&&Object.entries(e.methods).forEach(([i,n])=>{s[i]&&(s[i].methods=n)}),e.chains&&Object.entries(e.chains).forEach(([i,n])=>{s[i]&&(s[i].chains=n)}),e.events&&Object.entries(e.events).forEach(([i,n])=>{s[i]&&(s[i].events=n)}),e.rpcMap){const i=new Set;Object.entries(e.rpcMap).forEach(([n,o])=>{const[a,c]=n.split(":");!a||!c||!s[a]||(s[a].rpcMap||(s[a].rpcMap={}),i.has(a)||(s[a].rpcMap={},i.add(a)),s[a].rpcMap[c]=o)})}return s},createNamespaces(t,e){const s=t.reduce((r,i)=>{const{id:n,chainNamespace:o,rpcUrls:a}=i,c=a.default.http[0];r[o]||(r[o]=this.createDefaultNamespace(o));const l=`${o}:${n}`,d=r[o];switch(d.chains.push(l),l){case al.caipNetworkId:d.chains.push(al.deprecatedCaipNetworkId);break;case cl.caipNetworkId:d.chains.push(cl.deprecatedCaipNetworkId);break}return d?.rpcMap&&c&&(d.rpcMap[n]=c),r},{});return this.applyNamespaceOverrides(s,e)},resolveReownName:async t=>{const e=await li.resolveName(t);return(Object.values(e?.addresses)||[])[0]?.address||!1},getChainsFromNamespaces(t={}){return Object.values(t).flatMap(e=>{const s=e.chains||[],r=e.accounts.map(i=>{const[n,o]=i.split(":");return`${n}:${o}`});return Array.from(new Set([...s,...r]))})},isSessionEventData(t){return typeof t=="object"&&t!==null&&"id"in t&&"topic"in t&&"params"in t&&typeof t.params=="object"&&t.params!==null&&"chainId"in t.params&&"event"in t.params&&typeof t.params.event=="object"&&t.params.event!==null},isOriginAllowed(t,e,s){for(const r of[...e,...s])if(r.includes("*")){const n=`^${r.replace(/[.*+?^${}()|[\]\\]/gu,"\\$&").replace(/\\\*/gu,".*")}$`;if(new RegExp(n,"u").test(t))return!0}
891else try{if(new URL(r).origin===t)return!0}catch{if(r===t)return!0}return!1}};class zd{constructor({provider:e,namespace:s}){this.id=z.CONNECTOR_ID.WALLET_CONNECT,this.name=pn.ConnectorNamesMap[z.CONNECTOR_ID.WALLET_CONNECT],this.type="WALLET_CONNECT",this.imageId=pn.ConnectorImageIds[z.CONNECTOR_ID.WALLET_CONNECT],this.getCaipNetworks=p.getCaipNetworks.bind(p),this.caipNetworks=this.getCaipNetworks(),this.provider=e,this.chain=s}get chains(){return this.getCaipNetworks()}async connectWalletConnect(){if(!await this.authenticate()){const s=this.getCaipNetworks(),r=S.state.universalProviderConfigOverride,i=an.createNamespaces(s,r);await this.provider.connect({optionalNamespaces:i})}return{clientId:await this.provider.client.core.crypto.getClientId(),session:this.provider.session}}async disconnect(){await this.provider.disconnect()}async authenticate(){const e=this.chains.map(s=>s.caipNetworkId);return pi.universalProviderAuthenticate({universalProvider:this.provider,chains:e,methods:bE})}}const bE=["eth_accounts","eth_requestAccounts","eth_sendRawTransaction","eth_sign","eth_signTransaction","eth_signTypedData","eth_signTypedData_v3","eth_signTypedData_v4","eth_sendTransaction","personal_sign","wallet_switchEthereumChain","wallet_addEthereumChain","wallet_getPermissions","wallet_requestPermissions","wallet_registerOnboarding","wallet_watchAsset","wallet_scanQRCode","wallet_getCallsStatus","wallet_sendCalls","wallet_getCapabilities","wallet_grantPermissions","wallet_revokePermissions","wallet_getAssets"];class vE{constructor(e){this.availableConnectors=[],this.eventListeners=new Map,this.getCaipNetworks=s=>p.getCaipNetworks(s),e&&this.construct(e)}construct(e){this.projectId=e.projectId,this.namespace=e.namespace,this.adapterType=e.adapterType}get connectors(){return this.availableConnectors}get networks(){return this.getCaipNetworks(this.namespace)}setAuthProvider(e){this.addConnector({id:z.CONNECTOR_ID.AUTH,type:"AUTH",name:z.CONNECTOR_NAMES.AUTH,provider:e,imageId:pn.ConnectorImageIds[z.CONNECTOR_ID.AUTH],chain:this.namespace,chains:[]})}addConnector(...e){const s=new Set;this.availableConnectors=[...e,...this.availableConnectors].filter(r=>s.has(r.id)?!1:(s.add(r.id),!0)),this.emit("connectors",this.availableConnectors)}setStatus(e,s){W.setStatus(e,s)}on(e,s){this.eventListeners.has(e)||this.eventListeners.set(e,new Set),this.eventListeners.get(e)?.add(s)}off(e,s){const r=this.eventListeners.get(e);r&&r.delete(s)}removeAllEventListeners(){this.eventListeners.forEach(e=>{e.clear()})}emit(e,s){const r=this.eventListeners.get(e);r&&r.forEach(i=>i(s))}async connectWalletConnect(e){return{clientId:(await this.getWalletConnectConnector().connectWalletConnect()).clientId}}async switchNetwork(e){const{caipNetwork:s,providerType:r}=e;if(!e.provider)return;const i="provider"in e.provider?e.provider.provider:e.provider;if(r==="WALLET_CONNECT"){i.setDefaultChain(s.caipNetworkId);return}if(i&&r==="AUTH"){const n=i,o=W.state.preferredAccountTypes?.[s.chainNamespace];await n.switchNetwork(s.caipNetworkId);const a=await n.getUser({chainId:s.caipNetworkId,preferredAccountType:o});this.emit("switchNetwork",a)}}getWalletConnectConnector(){const e=this.connectors.find(s=>s instanceof zd);if(!e)throw new Error("WalletConnectConnector not found");return e}}class EE extends vE{setUniversalProvider(e){this.addConnector(new zd({provider:e,caipNetworks:this.getCaipNetworks(),namespace:this.namespace}))}async connect(e){return Promise.resolve({id:"WALLET_CONNECT",type:"WALLET_CONNECT",chainId:Number(e.chainId),provider:this.provider,address:""})}async disconnect(){try{await this.getWalletConnectConnector().disconnect()}catch(e){console.warn("UniversalAdapter:disconnect - error",e)}}async getAccounts({namespace:e}){const r=this.provider?.session?.namespaces?.[e]?.accounts?.map(i=>{const[,,n]=i.split(":");return n}).filter((i,n,o)=>o.indexOf(i)===n)||[];return Promise.resolve({accounts:r.map(i=>Z.createAccount(e,i,e==="bip122"?"payment":"eoa"))})}async syncConnectors(){return Promise.resolve()}async getBalance(e){if(!(e.caipNetwork&&ve.BALANCE_SUPPORTED_CHAINS.includes(e.caipNetwork?.chainNamespace))||e.caipNetwork?.testnet)return{balance:"0.00",symbol:e.caipNetwork?.nativeCurrency.symbol||""};if(W.state.balanceLoading&&e.chainId===p.state.activeCaipNetwork?.id)return{balance:W.state.balance||"0.00",symbol:W.state.balanceSymbol||""};const i=(await W.fetchTokenBalance()).find(n=>n.chainId===`${e.caipNetwork?.chainNamespace}:${e.chainId}`&&n.symbol===e.caipNetwork?.nativeCurrency.symbol);return{balance:i?.quantity.numeric||"0.00",symbol:i?.symbol||e.caipNetwork?.nativeCurrency.symbol||""}}async signMessage(e){const{provider:s,message:r,address:i}=e;
vendor: 5,783 bytes, line 891
891if(!s)throw new Error("UniversalAdapter:signMessage - provider is undefined");let n="";return p.state.activeCaipNetwork?.chainNamespace===z.CHAIN.SOLANA?n=(await s.request({method:"solana_signMessage",params:{message:dl.encode(new TextEncoder().encode(r)),pubkey:i}},p.state.activeCaipNetwork?.caipNetworkId)).signature:n=await s.request({method:"personal_sign",params:[r,i]},p.state.activeCaipNetwork?.caipNetworkId),{signature:n}}async estimateGas(){return Promise.resolve({gas:BigInt(0)})}async sendTransaction(){return Promise.resolve({hash:""})}walletGetAssets(e){return Promise.resolve({})}async writeContract(){return Promise.resolve({hash:""})}parseUnits(){return 0n}formatUnits(){return"0"}async getCapabilities(){return Promise.resolve({})}async grantPermissions(){return Promise.resolve({})}async revokePermissions(){return Promise.resolve("0x")}async syncConnection(){return Promise.resolve({id:"WALLET_CONNECT",type:"WALLET_CONNECT",chainId:1,provider:this.provider,address:""})}async switchNetwork(e){const{caipNetwork:s}=e,r=this.getWalletConnectConnector();if(s.chainNamespace===z.CHAIN.EVM)try{await r.provider?.request({method:"wallet_switchEthereumChain",params:[{chainId:ra(s.id)}]})}catch(i){if(i.code===ni.ERROR_CODE_UNRECOGNIZED_CHAIN_ID||i.code===ni.ERROR_INVALID_CHAIN_ID||i.code===ni.ERROR_CODE_DEFAULT||i?.data?.originalError?.code===ni.ERROR_CODE_UNRECOGNIZED_CHAIN_ID)try{await r.provider?.request({method:"wallet_addEthereumChain",params:[{chainId:ra(s.id),rpcUrls:[s?.rpcUrls.chainDefault?.http],chainName:s.name,nativeCurrency:s.nativeCurrency,blockExplorerUrls:[s.blockExplorers?.default.url]}]})}catch{throw new Error("Chain is not supported")}}r.provider.setDefaultChain(s.caipNetworkId)}getWalletConnectProvider(){return this.connectors.find(r=>r.type==="WALLET_CONNECT")?.provider}}const CE=["email","socials","swaps","onramp","activity","reownBranding"],Xi={email:{apiFeatureName:"social_login",localFeatureName:"email",returnType:!1,isLegacy:!1,isAvailableOnBasic:!1,processApi:t=>{if(!t?.config)return!1;const e=t.config;return!!t.isEnabled&&e.includes("email")},processFallback:t=>t===void 0?ve.DEFAULT_REMOTE_FEATURES.email:!!t},socials:{apiFeatureName:"social_login",localFeatureName:"socials",returnType:!1,isLegacy:!1,isAvailableOnBasic:!1,processApi:t=>{if(!t?.config)return!1;const e=t.config;return t.isEnabled&&e.length>0?e.filter(s=>s!=="email"):!1},processFallback:t=>t===void 0?ve.DEFAULT_REMOTE_FEATURES.socials:typeof t=="boolean"?t?ve.DEFAULT_REMOTE_FEATURES.socials:!1:t},swaps:{apiFeatureName:"swap",localFeatureName:"swaps",returnType:!1,isLegacy:!1,isAvailableOnBasic:!1,processApi:t=>{if(!t?.config)return!1;const e=t.config;return t.isEnabled&&e.length>0?e:!1},processFallback:t=>t===void 0?ve.DEFAULT_REMOTE_FEATURES.swaps:typeof t=="boolean"?t?ve.DEFAULT_REMOTE_FEATURES.swaps:!1:t},onramp:{apiFeatureName:"onramp",localFeatureName:"onramp",returnType:!1,isLegacy:!1,isAvailableOnBasic:!1,processApi:t=>{if(!t?.config)return!1;const e=t.config;return t.isEnabled&&e.length>0?e:!1},processFallback:t=>t===void 0?ve.DEFAULT_REMOTE_FEATURES.onramp:typeof t=="boolean"?t?ve.DEFAULT_REMOTE_FEATURES.onramp:!1:t},activity:{apiFeatureName:"activity",localFeatureName:"history",returnType:!1,isLegacy:!0,isAvailableOnBasic:!1,processApi:t=>!!t.isEnabled,processFallback:t=>t===void 0?ve.DEFAULT_REMOTE_FEATURES.activity:!!t},reownBranding:{apiFeatureName:"reown_branding",localFeatureName:"reownBranding",returnType:!1,isLegacy:!1,isAvailableOnBasic:!1,processApi:t=>!!t.isEnabled,processFallback:t=>t===void 0?ve.DEFAULT_REMOTE_FEATURES.reownBranding:!!t}},IE={localSettingsOverridden:new Set,getApiConfig(t,e){return e?.find(s=>s.id===t)},addWarning(t,e){if(t!==void 0){const s=Xi[e],r=s.isLegacy?`"features.${s.localFeatureName}" (now "${e}")`:`"features.${e}"`;this.localSettingsOverridden.add(r)}},processFeature(t,e,s,r,i){const n=Xi[t],o=e[n.localFeatureName];if(i&&!n.isAvailableOnBasic)return!1;if(r){const a=this.getApiConfig(n.apiFeatureName,s);return a?.config===null?this.processFallbackFeature(t,o):a?.config?(o!==void 0&&this.addWarning(o,t),this.processApiFeature(t,a)):!1}return this.processFallbackFeature(t,o)},processApiFeature(t,e){return Xi[t].processApi(e)},processFallbackFeature(t,e){return Xi[t].processFallback(e)},async fetchRemoteFeatures(t){const e=t.basic??!1,s=t.features||{};this.localSettingsOverridden.clear();let r=null,i=!1;try{r=await V.fetchProjectConfig(),i=r!=null}catch(o){console.warn("[Reown Config] Failed to fetch remote project configuration. Using local/default values.",o)}const n=i&&!e?ve.DEFAULT_REMOTE_FEATURES:ve.DEFAULT_REMOTE_FEATURES_DISABLED;try{for(const o of CE){const a=this.processFeature(o,s,r,i,e);Object.assign(n,{[o]:a})}}catch(o){return console.warn("[Reown Config] Failed to process the configuration from Cloud. Using default values.",o),ve.DEFAULT_REMOTE_FEATURES}if(i&&this.localSettingsOverridden.size>0){const o=`Your local configuration for ${Array.from(this.localSettingsOverridden).join(", ")} was ignored because a remote configuration was successfully fetched. Please manage these features via your project dashboard on dashboard.reown.com.`;Us.open({shortMessage:"Local configuration ignored",longMessage:`[Reown Config Notice] ${o}`},"warning")}return n}};class NE{constructor(e){this.chainNamespaces=[],this.remoteFeatures={},this.reportedAlertErrors={},this.getCaipNetwork=(s,r)=>{if(s){const i=p.getNetworkData(s)?.requestedCaipNetworks?.find(a=>a.id===r);if(i)return i;const n=p.getNetworkData(s)?.caipNetwork;return n||p.getRequestedCaipNetworks(s).filter(a=>a.chainNamespace===s)?.[0]}return p.state.activeCaipNetwork||this.defaultCaipNetwork},this.getCaipNetworkId=()=>{const s=this.getCaipNetwork();if(s)return s.id},this.getCaipNetworks=s=>
891p.getCaipNetworks(s),this.getActiveChainNamespace=()=>p.state.activeChain,this.setRequestedCaipNetworks=(s,r)=>{p.setRequestedCaipNetworks(s,r)},this.getApprovedCaipNetworkIds=()=>p.getAllApprovedCaipNetworkIds(),this.getCaipAddress=s=>p.state.activeChain===s||!s?p.state.activeCaipAddress:p.getAccountProp("caipAddress",s),this.setClientId=s=>{J.setClientId(s)},this.getProvider=s=>Se.getProvider(s),this.getProviderType=s=>Se.getProviderId(s),this.getPreferredAccountType=s=>W.state.preferredAccountTypes?.[s],this.setCaipAddress=(s,r)=>{W.setCaipAddress(s,r),s&&S.state.enableEmbedded&&this.close()},this.setBalance=(s,r,i)=>{W.setBalance(s,r,i)},this.setProfileName=(s,r)=>{W.setProfileName(s,r)},this.setProfileImage=(s,r)=>{W.setProfileImage(s,r)},this.setUser=(s,r)=>{W.setUser(s,r)},this.resetAccount=s=>{W.resetAccount(s)},this.setCaipNetwork=s=>{p.setActiveCaipNetwork(s)},this.setCaipNetworkOfNamespace=(s,r)=>{p.setChainNetworkData(r,{caipNetwork:s})},this.setAllAccounts=(s,r)=>{W.setAllAccounts(s,r),S.setHasMultipleAddresses(s?.length>1)},this.setStatus=(s,r)=>{W.setStatus(s,r),q.isConnected()?F.setConnectionStatus("connected"):F.setConnectionStatus("disconnected")},this.getAddressByChainNamespace=s=>p.getAccountProp("address",s),this.setConnectors=s=>{const r=[...q.state.allConnectors,...s];q.setConnectors(r)},this.setConnections=(s,r)=>{Y.setConnections(s,r)},this.fetchIdentity=s=>J.fetchIdentity(s),this.getReownName=s=>li.getNamesForAddress(s),this.getConnectors=()=>q.getConnectors(),this.getConnectorImage=s=>wl.getConnectorImage(s),this.setConnectedWalletInfo=(s,r)=>{const i=Se.getProviderId(r),n=s?{...s,type:i}:void 0;W.setConnectedWalletInfo(n,r)},this.getIsConnectedState=()=>!!p.state.activeCaipAddress,this.addAddressLabel=(s,r,i)=>{W.addAddressLabel(s,r,i)},this.removeAddressLabel=(s,r)=>{W.removeAddressLabel(s,r)},this.getAddress=s=>p.state.activeChain===s||!s?W.state.address:p.getAccountProp("address",s),this.setApprovedCaipNetworksData=s=>p.setApprovedCaipNetworksData(s),this.resetNetwork=s=>{p.resetNetwork(s)},this.addConnector=s=>{q.addConnector(s)},this.resetWcConnection=()=>{Y.resetWcConnection()},this.setAddressExplorerUrl=(s,r)=>{W.setAddressExplorerUrl(s,r)},this.setSmartAccountDeployed=(s,r)=>{W.setSmartAccountDeployed(s,r)},this.setSmartAccountEnabledNetworks=(s,r)=>{p.setSmartAccountEnabledNetworks(s,r)},this.setPreferredAccountType=(s,r)=>{W.setPreferredAccountType(s,r)},this.setEIP6963Enabled=s=>{S.setEIP6963Enabled(s)},this.handleUnsafeRPCRequest=()=>{if(this.isOpen()){if(this.isTransactionStackEmpty())return;this.redirect("ApproveTransaction")}else this.open({view:"ApproveTransaction"})},this.options=e,this.version=e.sdkVersion,this.caipNetworks=this.extendCaipNetworks(e),this.chainNamespaces=this.getChainNamespacesSet(e.adapters,this.caipNetworks),this.defaultCaipNetwork=this.extendDefaultCaipNetwork(e),this.chainAdapters=this.createAdapters(e.adapters),this.readyPromise=this.initialize(e)}getChainNamespacesSet(e,s){const r=e?.map(n=>n.namespace).filter(n=>!!n);if(r?.length)return[...new Set(r)];const i=s?.map(n=>n.chainNamespace);return[...new Set(i)]}async initialize(e){this.initializeProjectSettings(e),this.initControllers(e),await this.initChainAdapters(),this.sendInitializeEvent(e),await this.syncExistingConnection(),this.remoteFeatures=await IE.fetchRemoteFeatures(e),S.setRemoteFeatures(this.remoteFeatures),this.remoteFeatures.onramp&&oo.setOnrampProviders(this.remoteFeatures.onramp),(S.state.remoteFeatures?.email||Array.isArray(S.state.remoteFeatures?.socials)&&S.state.remoteFeatures?.socials.length>0)&&await this.checkAllowedOrigins()}async checkAllowedOrigins(){const e=await V.fetchAllowedOrigins();if(e&&Z.isClient()){const s=window.location.origin;an.isOriginAllowed(s,e,ni.DEFAULT_ALLOWED_ANCESTORS)||Us.open(yr.ALERT_ERRORS.INVALID_APP_CONFIGURATION,"error")}else Us.open(yr.ALERT_ERRORS.PROJECT_ID_NOT_CONFIGURED,"error")}sendInitializeEvent(e){const{...s}=e;delete s.adapters,delete s.universalProvider,Pe.sendEvent({type:"track",event:"INITIALIZE",properties:{...s,networks:e.networks.map(r=>r.id),siweConfig:{options:e.siweConfig?.options||{}}}})}initControllers(e){this.initializeOptionsController(e),this.initializeChainController(e),this.initializeThemeController(e),this.initializeConnectionController(e),this.initializeConnectorController()}initializeThemeController(e){e.themeMode&&ft.setThemeMode(e.themeMode),e.themeVariables&&ft.setThemeVariables(e.themeVariables)}initializeChainController(e){if(!this.connectionControllerClient||!this.networkControllerClient)throw new Error("ConnectionControllerClient and NetworkControllerClient must be set");p.initialize(e.adapters??[],this.caipNetworks,{connectionControllerClient:this.connectionControllerClient,networkControllerClient:this.networkControllerClient});const s=this.getDefaultNetwork();s&&p.setActiveCaipNetwork(s)}initializeConnectionController(e){Y.setWcBasic(e.basic??!1)}initializeConnectorController(){q.initialize(this.chainNamespaces)}initializeProjectSettings(e){S.setProjectId(e.projectId),S.setSdkVersion(e.sdkVersion)}initializeOptionsController(e){S.setDebug(e.debug!==!1),S.setEnableWalletConnect(e.enableWalletConnect!==!1),S.setEnableWalletGuide(e.enableWalletGuide!==!1),S.setEnableWallets(e.enableWallets!==!1),S.setEIP6963Enabled(e.enableEIP6963!==!1),S.setEnableNetworkSwitch(e.enableNetworkSwitch!==!1),S.setEnableAuthLogger(e.enableAuthLogger!==!1),S.setCustomRpcUrls(e.customRpcUrls),S.setEnableEmbedded(e.enableEmbedded),S.setAllWallets(e.allWallets),S.setIncludeWalletIds(e.includeWalletIds),S.setExcludeWalletIds(e.excludeWalletIds),S.setFeaturedWalletIds(e.featuredWalletIds),S.setTokens(e.tokens),S.setTermsConditionsUrl(e.termsConditionsUrl),S.setPrivacyPolicyUrl(e.privacyPolicyUrl),S.setCustomWallets(e.customWallets),S.setFeatures(e.features),S.setAllowUnsupportedChain(e.allowUnsupportedChain),S.setUniversalProviderConfigOverride(e.universalProviderConfigOverride),S.setPreferUniversalLinks(e.experimental_preferUniversalLinks),S.setDefaultAccountTypes(e.defaultAccountTypes);const s=F.getPreferredAccountTypes()||{},r={...S.state.defaultAccountTypes,...s};W.setPreferredAccountTypes(r);const i=this.getDefaultMetaData();if(!e.metadata&&i&&(e.metadata=i),S.setMetadata(e.metadata),S.setDisableAppend(e.disableAppend),S.setEnableEmbedded(e.enableEmbedded),S.setSIWX(e.siwx),!e.projectId){Us.open(yr.ALERT_ERRORS.PROJECT_ID_NOT_CONFIGURED,"error");return}if(e.adapters?.find(o=>o.namespace===z.CHAIN.EVM)&&e.siweConfig){if(e.siwx)throw new Error("Cannot set both `siweConfig` and `siwx` options");S.setSIWX(e.siweConfig.mapToSIWX())}}getDefaultMetaData(){return Z.isClient()?{name:document.getElementsByTagName("title")?.[0]?.textContent||"",description:document.querySelector('meta[property="og:description"]')?.content||"",url:window.location.origin,icons:[document.querySelector('link[rel~="icon"]')?.href||""]}:null}setUnsupportedNetwork(e){const s=this.getActiveChainNamespace();if(s){const r=vr.getUnsupportedNetwork(`${s}:${e}`);p.setActiveCaipNetwork(r)}}getDefaultNetwork(){return vr.getCaipNetworkFromStorage(this.defaultCaipNetwork)}
891extendCaipNetwork(e,s){return vr.extendCaipNetwork(e,{customNetworkImageUrls:s.chainImages,projectId:s.projectId})}extendCaipNetworks(e){return vr.extendCaipNetworks(e.networks,{customNetworkImageUrls:e.chainImages,customRpcUrls:e.customRpcUrls,projectId:e.projectId})}extendDefaultCaipNetwork(e){const s=e.networks.find(i=>i.id===e.defaultNetwork?.id);return s?vr.extendCaipNetwork(s,{customNetworkImageUrls:e.chainImages,customRpcUrls:e.customRpcUrls,projectId:e.projectId}):void 0}async disconnectNamespace(e){try{const s=this.getAdapter(e),r=Se.getProvider(e),i=Se.getProviderId(e),{caipAddress:n}=p.getAccountData(e)||{};this.setLoading(!0,e),n&&s?.disconnect&&await s.disconnect({provider:r,providerType:i}),F.removeConnectedNamespace(e),Se.resetChain(e),this.setUser(void 0,e),this.setStatus("disconnected",e),this.setConnectedWalletInfo(void 0,e),q.removeConnectorId(e),p.resetAccount(e),p.resetNetwork(e),this.setLoading(!1,e)}catch(s){throw this.setLoading(!1,e),new Error(`Failed to disconnect chain ${e}: ${s.message}`)}}createClients(){this.connectionControllerClient={connectWalletConnect:async()=>{const e=p.state.activeChain,s=this.getAdapter(e),r=this.getCaipNetwork(e)?.id;if(!s)throw new Error("Adapter not found");const i=await s.connectWalletConnect(r);this.close(),this.setClientId(i?.clientId||null),F.setConnectedNamespaces([...p.state.chains.keys()]),this.chainNamespaces.forEach(n=>{q.setConnectorId(ps.CONNECTOR_TYPE_WALLET_CONNECT,n)}),await this.syncWalletConnectAccount()},connectExternal:async({id:e,info:s,type:r,provider:i,chain:n,caipNetwork:o,socialUri:a})=>{const c=p.state.activeChain,l=n||c,d=this.getAdapter(l);if(n&&n!==c&&!o){const m=this.getCaipNetworks().find(f=>f.chainNamespace===n);m&&this.setCaipNetwork(m)}if(!d)throw new Error("Adapter not found");const h=this.getCaipNetwork(l),u=await d.connect({id:e,info:s,type:r,provider:i,socialUri:a,chainId:o?.id||h?.id,rpcUrl:o?.rpcUrls?.default?.http?.[0]||h?.rpcUrls?.default?.http?.[0]});if(!u)return;F.addConnectedNamespace(l),this.syncProvider({...u,chainNamespace:l});const g=W.state.allAccounts,{accounts:w}=g?.length>0?{accounts:[...g]}:await d.getAccounts({namespace:l,id:e});this.setAllAccounts(w,l),this.setStatus("connected",l),this.syncConnectedWalletInfo(l)},reconnectExternal:async({id:e,info:s,type:r,provider:i})=>{const n=p.state.activeChain,o=this.getAdapter(n);o?.reconnect&&(await o?.reconnect({id:e,info:s,type:r,provider:i,chainId:this.getCaipNetwork()?.id}),F.addConnectedNamespace(n),this.syncConnectedWalletInfo(n))},disconnect:async e=>{const s=V0(e);try{const r=await Promise.allSettled(s.map(async([n])=>this.disconnectNamespace(n)));he.resetSend(),Y.resetWcConnection(),await pi.clearSessions(),q.setFilterByNamespace(void 0);const i=r.filter(n=>n.status==="rejected");if(i.length>0)throw new Error(i.map(n=>n.reason.message).join(", "));F.deleteConnectedSocialProvider(),Pe.sendEvent({type:"track",event:"DISCONNECT_SUCCESS",properties:{namespace:e||"all"}})}catch(r){throw new Error(`Failed to disconnect chains: ${r.message}`)}},checkInstalled:e=>e?e.some(s=>!!window.ethereum?.[String(s)]):!!window.ethereum,signMessage:async e=>(await this.getAdapter(p.state.activeChain)?.signMessage({message:e,address:W.state.address,provider:Se.getProvider(p.state.activeChain)}))?.signature||"",sendTransaction:async e=>{const s=e.chainNamespace;if(ve.SEND_SUPPORTED_NAMESPACES.includes(s)){const r=this.getAdapter(p.state.activeChain),i=Se.getProvider(s);return(await r?.sendTransaction({...e,caipNetwork:this.getCaipNetwork(),provider:i}))?.hash||""}return""},estimateGas:async e=>{if(e.chainNamespace===z.CHAIN.EVM){const s=this.getAdapter(p.state.activeChain),r=Se.getProvider(p.state.activeChain),i=this.getCaipNetwork();if(!i)throw new Error("CaipNetwork is undefined");return(await s?.estimateGas({...e,provider:r,caipNetwork:i}))?.gas||0n}return 0n},getEnsAvatar:async()=>(await this.syncIdentity({address:W.state.address,chainId:Number(this.getCaipNetwork()?.id),chainNamespace:p.state.activeChain}),W.state.profileImage||!1),getEnsAddress:async e=>await an.resolveReownName(e),writeContract:async e=>{const s=this.getAdapter(p.state.activeChain),r=this.getCaipNetwork(),i=this.getCaipAddress(),n=Se.getProvider(p.state.activeChain);if(!r||!i)throw new Error("CaipNetwork or CaipAddress is undefined");return(await s?.writeContract({...e,caipNetwork:r,provider:n,caipAddress:i}))?.hash},parseUnits:(e,s)=>this.getAdapter(p.state.activeChain)?.parseUnits({value:e,decimals:s})??0n,formatUnits:(e,s)=>this.getAdapter(p.state.activeChain)?.formatUnits({value:e,decimals:s})??"0",getCapabilities:async e=>await this.getAdapter(p.state.activeChain)?.getCapabilities(e),grantPermissions:async e=>await this.getAdapter(p.state.activeChain)?.grantPermissions(e),revokePermissions:async e=>{const s=this.getAdapter(p.state.activeChain);return s?.revokePermissions?await s.revokePermissions(e):"0x"},walletGetAssets:async e=>await this.getAdapter(p.state.activeChain)?.walletGetAssets(e)??{},updateBalance:e=>{const s=this.getCaipNetwork(e);!s||!W.state.address||this.updateNativeBalance(W.state.address,s?.id,e)}},this.networkControllerClient={switchCaipNetwork:async e=>await this.switchCaipNetwork(e),getApprovedCaipNetworksData:async()=>this.getApprovedCaipNetworksData()},Y.setClient(this.connectionControllerClient)}getApprovedCaipNetworksData(){if(Se.getProviderId(p.state.activeChain)===ps.CONNECTOR_TYPE_WALLET_CONNECT){const s=this.universalProvider?.session?.namespaces;return{supportsAllNetworks:this.universalProvider?.session?.peer?.metadata.name==="MetaMask Wallet",approvedCaipNetworkIds:this.getChainsFromNamespaces(s)}}return{supportsAllNetworks:!0,approvedCaipNetworkIds:[]}}async switchCaipNetwork(e){if(!e)return;const s=e.chainNamespace;if(this.getAddressByChainNamespace(e.chainNamespace)){const i=Se.getProvider(s),n=Se.getProviderId(s);if(e.chainNamespace===p.state.activeChain)await this.getAdapter(s)?.switchNetwork({caipNetwork:e,provider:i,providerType:n});else if(this.setCaipNetwork(e),n===ps.CONNECTOR_TYPE_WALLET_CONNECT)this.syncWalletConnectAccount();else{const o=this.getAddressByChainNamespace(s);o&&this.syncAccount({address:o,chainId:e.id,chainNamespace:s})}}else this.setCaipNetwork(e)}
891getChainsFromNamespaces(e={}){return Object.values(e).flatMap(s=>{const r=s.chains||[],i=s.accounts.map(n=>{const{chainId:o,chainNamespace:a}=cs.parseCaipAddress(n);return`${a}:${o}`});return Array.from(new Set([...r,...i]))})}createAdapters(e){return this.createClients(),this.chainNamespaces.reduce((s,r)=>{const i=e?.find(n=>n.namespace===r);return i?(i.construct({namespace:r,projectId:this.options?.projectId,networks:this.getCaipNetworks()}),s[r]=i):s[r]=new EE({namespace:r,networks:this.getCaipNetworks()}),s},{})}async initChainAdapter(e){this.onConnectors(e),this.listenAdapter(e),await this.chainAdapters?.[e].syncConnectors(this.options,this),await this.createUniversalProviderForAdapter(e)}async initChainAdapters(){await Promise.all(this.chainNamespaces.map(async e=>{await this.initChainAdapter(e)}))}onConnectors(e){this.getAdapter(e)?.on("connectors",this.setConnectors.bind(this))}listenAdapter(e){const s=this.getAdapter(e);if(!s)return;const r=F.getConnectionStatus();r==="connected"?this.setStatus("connecting",e):r==="disconnected"?(F.clearAddressCache(),this.setStatus(r,e)):this.setStatus(r,e),s.on("switchNetwork",({address:i,chainId:n})=>{const o=this.getCaipNetworks().find(l=>l.id===n||l.caipNetworkId===n),a=p.state.activeChain===e,c=p.getAccountProp("address",e);if(o){const l=a&&i?i:c;l&&this.syncAccount({address:l,chainId:o.id,chainNamespace:e})}else this.setUnsupportedNetwork(n)}),s.on("disconnect",this.disconnect.bind(this,e)),s.on("connections",i=>{this.setConnections(i,e)}),s.on("pendingTransactions",()=>{const i=W.state.address,n=p.state.activeCaipNetwork;!i||!n?.id||this.updateNativeBalance(i,n.id,n.chainNamespace)}),s.on("accountChanged",({address:i,chainId:n})=>{const o=p.state.activeChain===e;o&&n?this.syncAccount({address:i,chainId:n,chainNamespace:e}):o&&p.state.activeCaipNetwork?.id?this.syncAccount({address:i,chainId:p.state.activeCaipNetwork?.id,chainNamespace:e}):this.syncAccountInfo(i,n,e),this.syncAllAccounts(e)})}async createUniversalProviderForAdapter(e){await this.getUniversalProvider(),this.universalProvider&&this.chainAdapters?.[e]?.setUniversalProvider?.(this.universalProvider)}async syncExistingConnection(){await Promise.allSettled(this.chainNamespaces.map(e=>this.syncNamespaceConnection(e)))}async syncNamespaceConnection(e){try{e===z.CHAIN.EVM&&Z.isSafeApp()&&q.setConnectorId(z.CONNECTOR_ID.SAFE,e);const s=q.getConnectorId(e);switch(this.setStatus("connecting",e),s){case z.CONNECTOR_ID.WALLET_CONNECT:await this.syncWalletConnectAccount();break;case z.CONNECTOR_ID.AUTH:break;default:await this.syncAdapterConnection(e)}}catch(s){console.warn("AppKit couldn't sync existing connection",s),this.setStatus("disconnected",e)}}async syncAdapterConnection(e){const s=this.getAdapter(e),r=q.getConnectorId(e),i=this.getCaipNetwork(e),o=q.getConnectors(e).find(a=>a.id===r);try{if(!s||!o)throw new Error(`Adapter or connector not found for namespace ${e}`);if(!i?.id)throw new Error("CaipNetwork not found");const a=await s?.syncConnection({namespace:e,id:o.id,chainId:i.id,rpcUrl:i?.rpcUrls?.default?.http?.[0]});if(a){const c=await s?.getAccounts({namespace:e,id:o.id});c&&c.accounts.length>0?this.setAllAccounts(c.accounts,e):this.setAllAccounts([Z.createAccount(e,a.address,"eoa")],e),this.syncProvider({...a,chainNamespace:e}),await this.syncAccount({...a,chainNamespace:e}),this.setStatus("connected",e)}else this.setStatus("disconnected",e)}catch{this.setStatus("disconnected",e)}}async syncWalletConnectAccount(){const e=this.chainNamespaces.map(async s=>{const r=this.getAdapter(s),i=this.universalProvider?.session?.namespaces?.[s]?.accounts||[],n=p.state.activeCaipNetwork?.id,o=i.find(a=>{const{chainId:c}=cs.parseCaipAddress(a);return c===n?.toString()})||i[0];if(o){const a=cs.validateCaipAddress(o),{chainId:c,address:l}=cs.parseCaipAddress(a);if(Se.setProviderId(s,ps.CONNECTOR_TYPE_WALLET_CONNECT),this.caipNetworks&&p.state.activeCaipNetwork&&r?.namespace!==z.CHAIN.EVM){const d=r?.getWalletConnectProvider({caipNetworks:this.getCaipNetworks(),provider:this.universalProvider,activeCaipNetwork:p.state.activeCaipNetwork});Se.setProvider(s,d)}else Se.setProvider(s,this.universalProvider);q.setConnectorId(z.CONNECTOR_ID.WALLET_CONNECT,s),F.addConnectedNamespace(s),this.syncWalletConnectAccounts(s),await this.syncAccount({address:l,chainId:c,chainNamespace:s})}else this.setStatus("disconnected",s);this.syncConnectedWalletInfo(s),await p.setApprovedCaipNetworksData(s)});await Promise.all(e)}syncWalletConnectAccounts(e){const s=this.universalProvider?.session?.namespaces?.[e]?.accounts?.map(r=>{const{address:i}=cs.parseCaipAddress(r);return i}).filter((r,i,n)=>n.indexOf(r)===i);s&&this.setAllAccounts(s.map(r=>Z.createAccount(e,r,e==="bip122"?"payment":"eoa")),e)}syncProvider({type:e,provider:s,id:r,chainNamespace:i}){Se.setProviderId(i,e),Se.setProvider(i,s),q.setConnectorId(r,i)}async syncAllAccounts(e){const s=q.getConnectorId(e);if(!s)return;const i=await this.getAdapter(e)?.getAccounts({namespace:e,id:s});i&&i.accounts.length>0&&this.setAllAccounts(i.accounts,e)}async syncAccount(e){const s=e.chainNamespace===p.state.activeChain,r=p.getCaipNetworkByNamespace(e.chainNamespace,e.chainId),{address:i,chainId:n,chainNamespace:o}=e,{chainId:a}=F.getActiveNetworkProps(),c=n||a,l=p.state.activeCaipNetwork?.name===z.UNSUPPORTED_NETWORK_NAME,d=p.getNetworkProp("supportsAllNetworks",o);if(this.setStatus("connected",o),!(l&&!d)&&c){let h=this.getCaipNetworks().find(w=>w.id.toString()===c.toString()),u=this.getCaipNetworks().find(w=>w.chainNamespace===o);if(!d&&!h&&!u){const w=this.getApprovedCaipNetworkIds()||[],m=w.find(y=>cs.parseCaipNetworkId(y)?.chainId===c.toString()),f=w.find(y=>cs.parseCaipNetworkId(y)?.chainNamespace===o);h=this.getCaipNetworks().find(y=>y.caipNetworkId===m),u=this.getCaipNetworks().find(y=>y.caipNetworkId===f||"deprecatedCaipNetworkId"in y&&y.deprecatedCaipNetworkId===f)}const g=h||u;g?.chainNamespace===p.state.activeChain?S.state.enableNetworkSwitch&&!S.state.allowUnsupportedChain&&p.state.activeCaipNetwork?.name===z.UNSUPPORTED_NETWORK_NAME?p.showUnsupportedChainUI():this.setCaipNetwork(g):s||r&&this.setCaipNetworkOfNamespace(r,o),this.syncConnectedWalletInfo(o),Xo.isLowerCaseMatch(i,W.state.address)||this.syncAccountInfo(i,g?.id,o),s?await this.syncBalance({address:i,chainId:g?.id,chainNamespace:o}):await this.syncBalance({address:i,chainId:r?.id,chainNamespace:o})}}async syncAccountInfo(e,s,r){const i=this.getCaipAddress(r),n=s||i?.split(":")[1];if(!n)return;const o=`${r}:${n}:${e}`;this.setCaipAddress(o,r),await this.syncIdentity({address:e,chainId:n,chainNamespace:r})}async syncReownName(e,s){try{const r=await this.getReownName(e);
891if(r[0]){const i=r[0];this.setProfileName(i.name,s)}else this.setProfileName(null,s)}catch{this.setProfileName(null,s)}}syncConnectedWalletInfo(e){const s=q.getConnectorId(e),r=Se.getProviderId(e);if(r===ps.CONNECTOR_TYPE_ANNOUNCED||r===ps.CONNECTOR_TYPE_INJECTED){if(s){const i=this.getConnectors().find(n=>n.id===s);if(i){const{info:n,name:o,imageUrl:a}=i,c=a||this.getConnectorImage(i);this.setConnectedWalletInfo({name:o,icon:c,...n},e)}}}else if(r===ps.CONNECTOR_TYPE_WALLET_CONNECT){const i=Se.getProvider(e);i?.session&&this.setConnectedWalletInfo({...i.session.peer.metadata,name:i.session.peer.metadata.name,icon:i.session.peer.metadata.icons?.[0]},e)}else if(s&&s===z.CONNECTOR_ID.COINBASE){const i=this.getConnectors().find(n=>n.id===z.CONNECTOR_ID.COINBASE);this.setConnectedWalletInfo({name:"Coinbase Wallet",icon:this.getConnectorImage(i)},e)}}async syncBalance(e){!pl.getNetworksByNamespace(this.getCaipNetworks(),e.chainNamespace).find(r=>r.id.toString()===e.chainId?.toString())||!e.chainId||await this.updateNativeBalance(e.address,e.chainId,e.chainNamespace)}async ready(){await this.readyPromise}async updateNativeBalance(e,s,r){const i=this.getAdapter(r),n=p.getCaipNetworkByNamespace(r,s);if(i){const o=await i.getBalance({address:e,chainId:s,caipNetwork:n,tokens:this.options.tokens});return this.setBalance(o.balance,o.symbol,r),o}}async initializeUniversalAdapter(){const e=G0.createLogger((r,...i)=>{r&&this.handleAlertError(r),console.error(...i)}),s={projectId:this.options?.projectId,metadata:{name:this.options?.metadata?this.options?.metadata.name:"",description:this.options?.metadata?this.options?.metadata.description:"",url:this.options?.metadata?this.options?.metadata.url:"",icons:this.options?.metadata?this.options?.metadata.icons:[""]},logger:e};S.setManualWCControl(!!this.options?.manualWCControl),this.universalProvider=this.options.universalProvider??await H0.init(s),this.listenWalletConnect()}listenWalletConnect(){this.universalProvider&&(this.universalProvider.on("display_uri",e=>{Y.setUri(e)}),this.universalProvider.on("connect",Y.finalizeWcConnection),this.universalProvider.on("disconnect",()=>{this.chainNamespaces.forEach(e=>{this.resetAccount(e)}),Y.resetWcConnection()}),this.universalProvider.on("chainChanged",e=>{const s=this.getCaipNetworks().find(i=>i.id==e),r=this.getCaipNetwork();if(!s){this.setUnsupportedNetwork(e);return}r?.id!==s?.id&&this.setCaipNetwork(s)}),this.universalProvider.on("session_event",e=>{if(an.isSessionEventData(e)){const{name:s,data:r}=e.params.event;s==="accountsChanged"&&Array.isArray(r)&&Z.isCaipAddress(r[0])&&this.syncAccount(cs.parseCaipAddress(r[0]))}}))}createUniversalProvider(){return!this.universalProviderInitPromise&&Z.isClient()&&this.options?.projectId&&(this.universalProviderInitPromise=this.initializeUniversalAdapter()),this.universalProviderInitPromise}
891async getUniversalProvider(){if(!this.universalProvider)try{await this.createUniversalProvider()}catch(e){Pe.sendEvent({type:"error",event:"INTERNAL_SDK_ERROR",properties:{errorType:"UniversalProviderInitError",errorMessage:e instanceof Error?e.message:"Unknown",uncaught:!1}}),console.error("AppKit:getUniversalProvider - Cannot create provider",e)}return this.universalProvider}handleAlertError(e){const s=Object.entries(yr.UniversalProviderErrors).find(([,{message:a}])=>e.message.includes(a)),[r,i]=s??[],{message:n,alertErrorKey:o}=i??{};if(r&&n&&!this.reportedAlertErrors[r]){const a=yr.ALERT_ERRORS[o];a&&(Us.open(a,"error"),this.reportedAlertErrors[r]=!0)}}getAdapter(e){if(e)return this.chainAdapters?.[e]}createAdapter(e){if(!e)return;const s=e.namespace;if(!s)return;this.createClients();const r=e;r.namespace=s,r.construct({namespace:s,projectId:this.options?.projectId,networks:this.getCaipNetworks()}),this.chainNamespaces.includes(s)||this.chainNamespaces.push(s),this.chainAdapters&&(this.chainAdapters[s]=r)}async open(e){if(await this.injectModalUi(),e?.uri&&Y.setUri(e.uri),e?.arguments)switch(e?.view){case"Swap":return We.open({...e,data:{swap:e.arguments}})}return We.open(e)}async close(){await this.injectModalUi(),We.close()}setLoading(e,s){We.setLoading(e,s)}async disconnect(e){await Y.disconnect(e)}getSIWX(){return S.state.siwx}getError(){return""}getChainId(){return p.state.activeCaipNetwork?.id}async switchNetwork(e){const s=this.getCaipNetworks().find(r=>r.id===e.id);if(!s){Us.open(yr.ALERT_ERRORS.SWITCH_NETWORK_NOT_FOUND,"error");return}await p.switchActiveNetwork(s)}getWalletProvider(){return p.state.activeChain?Se.state.providers[p.state.activeChain]:null}getWalletProviderType(){return Se.getProviderId(p.state.activeChain)}subscribeProviders(e){return Se.subscribeProviders(e)}getThemeMode(){return ft.state.themeMode}getThemeVariables(){return ft.state.themeVariables}setThemeMode(e){ft.setThemeMode(e),Wd(ft.state.themeMode)}setTermsConditionsUrl(e){S.setTermsConditionsUrl(e)}setPrivacyPolicyUrl(e){S.setPrivacyPolicyUrl(e)}setThemeVariables(e){ft.setThemeVariables(e),wE(ft.state.themeVariables)}subscribeTheme(e){return ft.subscribe(e)}getWalletInfo(){return W.state.connectedWalletInfo}getAccount(e){const s=q.getAuthConnector(e),r=p.getAccountData(e),i=p.state.activeChain,n=F.getConnectedConnectorId(e||i);if(r)return{allAccounts:r.allAccounts,caipAddress:r.caipAddress,address:Z.getPlainAddress(r.caipAddress),isConnected:!!r.caipAddress,status:r.status,embeddedWalletInfo:s&&n===z.CONNECTOR_ID.AUTH?{user:r.user?{...r.user,username:F.getConnectedSocialUsername()}:void 0,authProvider:r.socialProvider||"email",accountType:r.preferredAccountTypes?.[e||i],isSmartAccountDeployed:!!r.smartAccountDeployed}:void 0}}subscribeAccount(e,s){const r=()=>{const i=this.getAccount(s);i&&e(i)};s?p.subscribeChainProp("accountState",r,s):p.subscribe(r),q.subscribe(r)}subscribeNetwork(e){return p.subscribe(({activeCaipNetwork:s})=>{e({caipNetwork:s,chainId:s?.id,caipNetworkId:s?.caipNetworkId})})}subscribeWalletInfo(e){return W.subscribeKey("connectedWalletInfo",e)}subscribeShouldUpdateToAddress(e){W.subscribeKey("shouldUpdateToAddress",e)}subscribeCaipNetworkChange(e){p.subscribeKey("activeCaipNetwork",e)}getState(){return vs.state}subscribeState(e){return vs.subscribe(e)}showErrorMessage(e){Ut.showError(e)}showSuccessMessage(e){Ut.showSuccess(e)}getEvent(){return{...Pe.state}}subscribeEvents(e){return Pe.subscribe(e)}replace(e){re.replace(e)}redirect(e){re.push(e)}popTransactionStack(e){re.popTransactionStack(e)}isOpen(){return We.state.open}isTransactionStackEmpty(){return re.state.transactionStack.length===0}static getInstance(){return this.instance}updateFeatures(e){S.setFeatures(e)}updateRemoteFeatures(e){S.setRemoteFeatures(e)}updateOptions(e){const r={...S.state||{},...e};S.setOptions(r)}setConnectMethodsOrder(e){S.setConnectMethodsOrder(e)}setWalletFeaturesOrder(e){S.setWalletFeaturesOrder(e)}setCollapseWallets(e){S.setCollapseWallets(e)}setSocialsOrder(e){S.setSocialsOrder(e)}getConnectMethodsOrder(){return Uo.getConnectOrderMethod(S.state.features,q.getConnectors())}
891addNetwork(e,s){if(this.chainAdapters&&!this.chainAdapters[e])throw new Error(`Adapter for namespace ${e} doesn't exist`);const r=this.extendCaipNetwork(s,this.options);this.getCaipNetworks().find(i=>i.id===r.id)||p.addNetwork(r)}removeNetwork(e,s){if(this.chainAdapters&&!this.chainAdapters[e])throw new Error(`Adapter for namespace ${e} doesn't exist`);this.getCaipNetworks().find(i=>i.id===s)&&p.removeNetwork(e,s)}}let ll=!1;class Hd extends NE{async open(e){q.isConnected()||await super.open(e)}async close(){await super.close(),this.options.manualWCControl&&Y.finalizeWcConnection()}async syncIdentity(e){return Promise.resolve()}async syncBalance(e){return Promise.resolve()}async injectModalUi(){if(!ll&&Z.isClient()){if(await ia(()=>import("./basic-ChJ5KCyG.js"),__vite__mapDeps([0,1,2,3,4,5])),await ia(()=>import("./w3m-modal-C019VCj-.js"),__vite__mapDeps([6,1,2,3,4,5])),!document.querySelector("w3m-modal")){const s=document.createElement("w3m-modal");!S.state.disableAppend&&!S.state.enableEmbedded&&document.body.insertAdjacentElement("beforeend",s)}ll=!0}}}const AE="1.7.8";function _E(t){return new Hd({...t,basic:!0,sdkVersion:`html-core-${AE}`})}const eC=Object.freeze(Object.defineProperty({__proto__:null,AppKit:Hd,createAppKit:_E},Symbol.toStringTag,{value:"Module"}));export{Us as A,Y as B,p as C,F as D,Pe as E,ve as F,eC as G,We as M,S as O,re as R,pi as S,ft as T,Uo as W,Xe as a,JE as b,on as c,QE as d,XE as e,wl as f,Rt as g,Y0 as h,Sr as i,q as j,W as k,Ut as l,V as m,YE as n,Z as o,_e as p,z as q,ZE as r,Qe as s,Ld as t,Do as u,Fe as v,vt as w,GE as x,Lr as y,rn as z};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.