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.