@supanovaapp/sdk 0.2.39 → 0.2.40

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs.js CHANGED
@@ -421,7 +421,7 @@ Resources:
421
421
  `)}getSetCookie(){return this.get("set-cookie")||[]}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(e){return e instanceof this?e:new this(e)}static concat(e,...n){const r=new this(e);return n.forEach(i=>r.set(i)),r}static accessor(e){const r=(this[VX]=this[VX]={accessors:{}}).accessors,i=this.prototype;function s(a){const o=Vv(a);r[o]||(Zft(i,a),r[o]=!0)}return $e.isArray(e)?e.forEach(s):s(e),this}};Lo.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);$e.reduceDescriptors(Lo.prototype,({value:t},e)=>{let n=e[0].toUpperCase()+e.slice(1);return{get:()=>t,set(r){this[n]=r}}});$e.freezeMethods(Lo);function XT(t,e){const n=this||X5,r=e||n,i=Lo.from(r.headers);let s=r.data;return $e.forEach(t,function(o){s=o.call(n,s,i.normalize(),e?e.status:void 0)}),i.normalize(),s}function Aye(t){return!!(t&&t.__CANCEL__)}function ev(t,e,n){un.call(this,t??"canceled",un.ERR_CANCELED,e,n),this.name="CanceledError"}$e.inherits(ev,un,{__CANCEL__:!0});function Sye(t,e,n){const r=n.config.validateStatus;!n.status||!r||r(n.status)?t(n):e(new un("Request failed with status code "+n.status,[un.ERR_BAD_REQUEST,un.ERR_BAD_RESPONSE][Math.floor(n.status/100)-4],n.config,n.request,n))}function Kft(t){const e=/^([-+\w]{1,25})(:?\/\/|:)/.exec(t);return e&&e[1]||""}function Gft(t,e){t=t||10;const n=new Array(t),r=new Array(t);let i=0,s=0,a;return e=e!==void 0?e:1e3,function(c){const l=Date.now(),d=r[s];a||(a=l),n[i]=c,r[i]=l;let u=s,h=0;for(;u!==i;)h+=n[u++],u=u%t;if(i=(i+1)%t,i===s&&(s=(s+1)%t),l-a<e)return;const p=d&&l-d;return p?Math.round(h*1e3/p):void 0}}function Yft(t,e){let n=0,r=1e3/e,i,s;const a=(l,d=Date.now())=>{n=d,i=null,s&&(clearTimeout(s),s=null),t(...l)};return[(...l)=>{const d=Date.now(),u=d-n;u>=r?a(l,d):(i=l,s||(s=setTimeout(()=>{s=null,a(i)},r-u)))},()=>i&&a(i)]}const GA=(t,e,n=3)=>{let r=0;const i=Gft(50,250);return Yft(s=>{const a=s.loaded,o=s.lengthComputable?s.total:void 0,c=a-r,l=i(c),d=a<=o;r=a;const u={loaded:a,total:o,progress:o?a/o:void 0,bytes:c,rate:l||void 0,estimated:l&&o&&d?(o-a)/l:void 0,event:s,lengthComputable:o!=null,[e?"download":"upload"]:!0};t(u)},n)},qX=(t,e)=>{const n=t!=null;return[r=>e[0]({lengthComputable:n,total:t,loaded:r}),e[1]]},ZX=t=>(...e)=>$e.asap(()=>t(...e)),Jft=Ea.hasStandardBrowserEnv?((t,e)=>n=>(n=new URL(n,Ea.origin),t.protocol===n.protocol&&t.host===n.host&&(e||t.port===n.port)))(new URL(Ea.origin),Ea.navigator&&/(msie|trident)/i.test(Ea.navigator.userAgent)):()=>!0,Xft=Ea.hasStandardBrowserEnv?{write(t,e,n,r,i,s,a){if(typeof document>"u")return;const o=[`${t}=${encodeURIComponent(e)}`];$e.isNumber(n)&&o.push(`expires=${new Date(n).toUTCString()}`),$e.isString(r)&&o.push(`path=${r}`),$e.isString(i)&&o.push(`domain=${i}`),s===!0&&o.push("secure"),$e.isString(a)&&o.push(`SameSite=${a}`),document.cookie=o.join("; ")},read(t){if(typeof document>"u")return null;const e=document.cookie.match(new RegExp("(?:^|; )"+t+"=([^;]*)"));return e?decodeURIComponent(e[1]):null},remove(t){this.write(t,"",Date.now()-864e5,"/")}}:{write(){},read(){return null},remove(){}};function Qft(t){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(t)}function e0t(t,e){return e?t.replace(/\/?\/$/,"")+"/"+e.replace(/^\/+/,""):t}function _ye(t,e,n){let r=!Qft(e);return t&&(r||n==!1)?e0t(t,e):e}const KX=t=>t instanceof Lo?{...t}:t;function xm(t,e){e=e||{};const n={};function r(l,d,u,h){return $e.isPlainObject(l)&&$e.isPlainObject(d)?$e.merge.call({caseless:h},l,d):$e.isPlainObject(d)?$e.merge({},d):$e.isArray(d)?d.slice():d}function i(l,d,u,h){if($e.isUndefined(d)){if(!$e.isUndefined(l))return r(void 0,l,u,h)}else return r(l,d,u,h)}function s(l,d){if(!$e.isUndefined(d))return r(void 0,d)}function a(l,d){if($e.isUndefined(d)){if(!$e.isUndefined(l))return r(void 0,l)}else return r(void 0,d)}function o(l,d,u){if(u in e)return r(l,d);if(u in t)return r(void 0,l)}const c={url:s,method:s,data:s,baseURL:a,transformRequest:a,transformResponse:a,paramsSerializer:a,timeout:a,timeoutMessage:a,withCredentials:a,withXSRFToken:a,adapter:a,responseType:a,xsrfCookieName:a,xsrfHeaderName:a,onUploadProgress:a,onDownloadProgress:a,decompress:a,maxContentLength:a,maxBodyLength:a,beforeRedirect:a,transport:a,httpAgent:a,httpsAgent:a,cancelToken:a,socketPath:a,responseEncoding:a,validateStatus:o,headers:(l,d,u)=>i(KX(l),KX(d),u,!0)};return $e.forEach(Object.keys({...t,...e}),function(d){const u=c[d]||i,h=u(t[d],e[d],d);$e.isUndefined(h)&&u!==o||(n[d]=h)}),n}const $ye=t=>{const e=xm({},t);let{data:n,withXSRFToken:r,xsrfHeaderName:i,xsrfCookieName:s,headers:a,auth:o}=e;if(e.headers=a=Lo.from(a),e.url=xye(_ye(e.baseURL,e.url,e.allowAbsoluteUrls),t.params,t.paramsSerializer),o&&a.set("Authorization","Basic "+btoa((o.username||"")+":"+(o.password?unescape(encodeURIComponent(o.password)):""))),$e.isFormData(n)){if(Ea.hasStandardBrowserEnv||Ea.hasStandardBrowserWebWorkerEnv)a.setContentType(void 0);else if($e.isFunction(n.getHeaders)){const c=n.getHeaders(),l=["content-type","content-length"];Object.entries(c).forEach(([d,u])=>{l.includes(d.toLowerCase())&&a.set(d,u)})}}if(Ea.hasStandardBrowserEnv&&(r&&$e.isFunction(r)&&(r=r(e)),r||r!==!1&&Jft(e.url))){const c=i&&s&&Xft.read(s);c&&a.set(i,c)}return e},t0t=typeof XMLHttpRequest<"u",n0t=t0t&&function(t){return new Promise(function(n,r){const i=$ye(t);let s=i.data;const a=Lo.from(i.headers).normalize();let{responseType:o,onUploadProgress:c,onDownloadProgress:l}=i,d,u,h,p,g;function m(){p&&p(),g&&g(),i.cancelToken&&i.cancelToken.unsubscribe(d),i.signal&&i.signal.removeEventListener("abort",d)}let y=new XMLHttpRequest;y.open(i.method.toUpperCase(),i.url,!0),y.timeout=i.timeout;function b(){if(!y)return;const v=Lo.from("getAllResponseHeaders"in y&&y.getAllResponseHeaders()),C={data:!o||o==="text"||o==="json"?y.responseText:y.response,status:y.status,statusText:y.statusText,headers:v,config:t,request:y};Sye(function(S){n(S),m()},function(S){r(S),m()},C),y=null}"onloadend"in y?y.onloadend=b:y.onreadystatechange=function(){!y||y.readyState!==4||y.status===0&&!(y.responseURL&&y.responseURL.indexOf("file:")===0)||setTimeout(b)},y.onabort=function(){y&&(r(new un("Request aborted",un.ECONNABORTED,t,y)),y=null)},y.onerror=function(E){const C=E&&E.message?E.message:"Network Error",w=new un(C,un.ERR_NETWORK,t,y);w.event=E||null,r(w),y=null},y.ontimeout=function(){let E=i.timeout?"timeout of "+i.timeout+"ms exceeded":"timeout exceeded";const C=i.transitional||Eye;i.timeoutErrorMessage&&(E=i.timeoutErrorMessage),r(new un(E,C.clarifyTimeoutError?un.ETIMEDOUT:un.ECONNABORTED,t,y)),y=null},s===void 0&&a.setContentType(null),"setRequestHeader"in y&&$e.forEach(a.toJSON(),function(E,C){y.setRequestHeader(C,E)}),$e.isUndefined(i.withCredentials)||(y.withCredentials=!!i.withCredentials),o&&o!=="json"&&(y.responseType=i.responseType),l&&([h,g]=GA(l,!0),y.addEventListener("progress",h)),c&&y.upload&&([u,p]=GA(c),y.upload.addEventListener("progress",u),y.upload.addEventListener("loadend",p)),(i.cancelToken||i.signal)&&(d=v=>{y&&(r(!v||v.type?new ev(null,t,y):v),y.abort(),y=null)},i.cancelToken&&i.cancelToken.subscribe(d),i.signal&&(i.signal.aborted?d():i.signal.addEventListener("abort",d)));const x=Kft(i.url);if(x&&Ea.protocols.indexOf(x)===-1){r(new un("Unsupported protocol "+x+":",un.ERR_BAD_REQUEST,t));return}y.send(s||null)})},r0t=(t,e)=>{const{length:n}=t=t?t.filter(Boolean):[];if(e||n){let r=new AbortController,i;const s=function(l){if(!i){i=!0,o();const d=l instanceof Error?l:this.reason;r.abort(d instanceof un?d:new ev(d instanceof Error?d.message:d))}};let a=e&&setTimeout(()=>{a=null,s(new un(`timeout ${e} of ms exceeded`,un.ETIMEDOUT))},e);const o=()=>{t&&(a&&clearTimeout(a),a=null,t.forEach(l=>{l.unsubscribe?l.unsubscribe(s):l.removeEventListener("abort",s)}),t=null)};t.forEach(l=>l.addEventListener("abort",s));const{signal:c}=r;return c.unsubscribe=()=>$e.asap(o),c}},i0t=function*(t,e){let n=t.byteLength;if(n<e){yield t;return}let r=0,i;for(;r<n;)i=r+e,yield t.slice(r,i),r=i},s0t=async function*(t,e){for await(const n of a0t(t))yield*i0t(n,e)},a0t=async function*(t){if(t[Symbol.asyncIterator]){yield*t;return}const e=t.getReader();try{for(;;){const{done:n,value:r}=await e.read();if(n)break;yield r}}finally{await e.cancel()}},GX=(t,e,n,r)=>{const i=s0t(t,e);let s=0,a,o=c=>{a||(a=!0,r&&r(c))};return new ReadableStream({async pull(c){try{const{done:l,value:d}=await i.next();if(l){o(),c.close();return}let u=d.byteLength;if(n){let h=s+=u;n(h)}c.enqueue(new Uint8Array(d))}catch(l){throw o(l),l}},cancel(c){return o(c),i.return()}},{highWaterMark:2})},YX=64*1024,{isFunction:kE}=$e,o0t=(({Request:t,Response:e})=>({Request:t,Response:e}))($e.global),{ReadableStream:JX,TextEncoder:XX}=$e.global,QX=(t,...e)=>{try{return!!t(...e)}catch{return!1}},c0t=t=>{t=$e.merge.call({skipUndefined:!0},o0t,t);const{fetch:e,Request:n,Response:r}=t,i=e?kE(e):typeof fetch=="function",s=kE(n),a=kE(r);if(!i)return!1;const o=i&&kE(JX),c=i&&(typeof XX=="function"?(g=>m=>g.encode(m))(new XX):async g=>new Uint8Array(await new n(g).arrayBuffer())),l=s&&o&&QX(()=>{let g=!1;const m=new n(Ea.origin,{body:new JX,method:"POST",get duplex(){return g=!0,"half"}}).headers.has("Content-Type");return g&&!m}),d=a&&o&&QX(()=>$e.isReadableStream(new r("").body)),u={stream:d&&(g=>g.body)};i&&["text","arrayBuffer","blob","formData","stream"].forEach(g=>{!u[g]&&(u[g]=(m,y)=>{let b=m&&m[g];if(b)return b.call(m);throw new un(`Response type '${g}' is not supported`,un.ERR_NOT_SUPPORT,y)})});const h=async g=>{if(g==null)return 0;if($e.isBlob(g))return g.size;if($e.isSpecCompliantForm(g))return(await new n(Ea.origin,{method:"POST",body:g}).arrayBuffer()).byteLength;if($e.isArrayBufferView(g)||$e.isArrayBuffer(g))return g.byteLength;if($e.isURLSearchParams(g)&&(g=g+""),$e.isString(g))return(await c(g)).byteLength},p=async(g,m)=>{const y=$e.toFiniteNumber(g.getContentLength());return y??h(m)};return async g=>{let{url:m,method:y,data:b,signal:x,cancelToken:v,timeout:E,onDownloadProgress:C,onUploadProgress:w,responseType:S,headers:I,withCredentials:P="same-origin",fetchOptions:T}=$ye(g),M=e||fetch;S=S?(S+"").toLowerCase():"text";let R=r0t([x,v&&v.toAbortSignal()],E),O=null;const $=R&&R.unsubscribe&&(()=>{R.unsubscribe()});let A;try{if(w&&l&&y!=="get"&&y!=="head"&&(A=await p(I,b))!==0){let F=new n(m,{method:"POST",body:b,duplex:"half"}),W;if($e.isFormData(b)&&(W=F.headers.get("content-type"))&&I.setContentType(W),F.body){const[q,V]=qX(A,GA(ZX(w)));b=GX(F.body,YX,q,V)}}$e.isString(P)||(P=P?"include":"omit");const k=s&&"credentials"in n.prototype,L={...T,signal:R,method:y.toUpperCase(),headers:I.normalize().toJSON(),body:b,duplex:"half",credentials:k?P:void 0};O=s&&new n(m,L);let D=await(s?M(O,T):M(m,L));const N=d&&(S==="stream"||S==="response");if(d&&(C||N&&$)){const F={};["status","statusText","headers"].forEach(Z=>{F[Z]=D[Z]});const W=$e.toFiniteNumber(D.headers.get("content-length")),[q,V]=C&&qX(W,GA(ZX(C),!0))||[];D=new r(GX(D.body,YX,q,()=>{V&&V(),$&&$()}),F)}S=S||"text";let j=await u[$e.findKey(u,S)||"text"](D,g);return!N&&$&&$(),await new Promise((F,W)=>{Sye(F,W,{data:j,headers:Lo.from(D.headers),status:D.status,statusText:D.statusText,config:g,request:O})})}catch(k){throw $&&$(),k&&k.name==="TypeError"&&/Load failed|fetch/i.test(k.message)?Object.assign(new un("Network Error",un.ERR_NETWORK,g,O),{cause:k.cause||k}):un.from(k,k&&k.code,g,O)}}},l0t=new Map,Iye=t=>{let e=t&&t.env||{};const{fetch:n,Request:r,Response:i}=e,s=[r,i,n];let a=s.length,o=a,c,l,d=l0t;for(;o--;)c=s[o],l=d.get(c),l===void 0&&d.set(c,l=o?new Map:c0t(e)),d=l;return l};Iye();const AW={http:_ft,xhr:n0t,fetch:{get:Iye}};$e.forEach(AW,(t,e)=>{if(t){try{Object.defineProperty(t,"name",{value:e})}catch{}Object.defineProperty(t,"adapterName",{value:e})}});const eQ=t=>`- ${t}`,d0t=t=>$e.isFunction(t)||t===null||t===!1;function u0t(t,e){t=$e.isArray(t)?t:[t];const{length:n}=t;let r,i;const s={};for(let a=0;a<n;a++){r=t[a];let o;if(i=r,!d0t(r)&&(i=AW[(o=String(r)).toLowerCase()],i===void 0))throw new un(`Unknown adapter '${o}'`);if(i&&($e.isFunction(i)||(i=i.get(e))))break;s[o||"#"+a]=i}if(!i){const a=Object.entries(s).map(([c,l])=>`adapter ${c} `+(l===!1?"is not supported by the environment":"is not available in the build"));let o=n?a.length>1?`since :
422
422
  `+a.map(eQ).join(`
423
423
  `):" "+eQ(a[0]):"as no adapter specified";throw new un("There is no suitable adapter to dispatch the request "+o,"ERR_NOT_SUPPORT")}return i}const kye={getAdapter:u0t,adapters:AW};function QT(t){if(t.cancelToken&&t.cancelToken.throwIfRequested(),t.signal&&t.signal.aborted)throw new ev(null,t)}function tQ(t){return QT(t),t.headers=Lo.from(t.headers),t.data=XT.call(t,t.transformRequest),["post","put","patch"].indexOf(t.method)!==-1&&t.headers.setContentType("application/x-www-form-urlencoded",!1),kye.getAdapter(t.adapter||X5.adapter,t)(t).then(function(r){return QT(t),r.data=XT.call(t,t.transformResponse,r),r.headers=Lo.from(r.headers),r},function(r){return Aye(r)||(QT(t),r&&r.response&&(r.response.data=XT.call(t,t.transformResponse,r.response),r.response.headers=Lo.from(r.response.headers))),Promise.reject(r)})}const Tye="1.13.2",X_={};["object","boolean","number","function","string","symbol"].forEach((t,e)=>{X_[t]=function(r){return typeof r===t||"a"+(e<1?"n ":" ")+t}});const nQ={};X_.transitional=function(e,n,r){function i(s,a){return"[Axios v"+Tye+"] Transitional option '"+s+"'"+a+(r?". "+r:"")}return(s,a,o)=>{if(e===!1)throw new un(i(a," has been removed"+(n?" in "+n:"")),un.ERR_DEPRECATED);return n&&!nQ[a]&&(nQ[a]=!0,console.warn(i(a," has been deprecated since v"+n+" and will be removed in the near future"))),e?e(s,a,o):!0}};X_.spelling=function(e){return(n,r)=>(console.warn(`${r} is likely a misspelling of ${e}`),!0)};function h0t(t,e,n){if(typeof t!="object")throw new un("options must be an object",un.ERR_BAD_OPTION_VALUE);const r=Object.keys(t);let i=r.length;for(;i-- >0;){const s=r[i],a=e[s];if(a){const o=t[s],c=o===void 0||a(o,s,t);if(c!==!0)throw new un("option "+s+" must be "+c,un.ERR_BAD_OPTION_VALUE);continue}if(n!==!0)throw new un("Unknown option "+s,un.ERR_BAD_OPTION)}}const UC={assertOptions:h0t,validators:X_},Vd=UC.validators;let Ug=class{constructor(e){this.defaults=e||{},this.interceptors={request:new HX,response:new HX}}async request(e,n){try{return await this._request(e,n)}catch(r){if(r instanceof Error){let i={};Error.captureStackTrace?Error.captureStackTrace(i):i=new Error;const s=i.stack?i.stack.replace(/^.+\n/,""):"";try{r.stack?s&&!String(r.stack).endsWith(s.replace(/^.+\n.+\n/,""))&&(r.stack+=`
424
- `+s):r.stack=s}catch{}}throw r}}_request(e,n){typeof e=="string"?(n=n||{},n.url=e):n=e||{},n=xm(this.defaults,n);const{transitional:r,paramsSerializer:i,headers:s}=n;r!==void 0&&UC.assertOptions(r,{silentJSONParsing:Vd.transitional(Vd.boolean),forcedJSONParsing:Vd.transitional(Vd.boolean),clarifyTimeoutError:Vd.transitional(Vd.boolean)},!1),i!=null&&($e.isFunction(i)?n.paramsSerializer={serialize:i}:UC.assertOptions(i,{encode:Vd.function,serialize:Vd.function},!0)),n.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls!==void 0?n.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:n.allowAbsoluteUrls=!0),UC.assertOptions(n,{baseUrl:Vd.spelling("baseURL"),withXsrfToken:Vd.spelling("withXSRFToken")},!0),n.method=(n.method||this.defaults.method||"get").toLowerCase();let a=s&&$e.merge(s.common,s[n.method]);s&&$e.forEach(["delete","get","head","post","put","patch","common"],g=>{delete s[g]}),n.headers=Lo.concat(a,s);const o=[];let c=!0;this.interceptors.request.forEach(function(m){typeof m.runWhen=="function"&&m.runWhen(n)===!1||(c=c&&m.synchronous,o.unshift(m.fulfilled,m.rejected))});const l=[];this.interceptors.response.forEach(function(m){l.push(m.fulfilled,m.rejected)});let d,u=0,h;if(!c){const g=[tQ.bind(this),void 0];for(g.unshift(...o),g.push(...l),h=g.length,d=Promise.resolve(n);u<h;)d=d.then(g[u++],g[u++]);return d}h=o.length;let p=n;for(;u<h;){const g=o[u++],m=o[u++];try{p=g(p)}catch(y){m.call(this,y);break}}try{d=tQ.call(this,p)}catch(g){return Promise.reject(g)}for(u=0,h=l.length;u<h;)d=d.then(l[u++],l[u++]);return d}getUri(e){e=xm(this.defaults,e);const n=_ye(e.baseURL,e.url,e.allowAbsoluteUrls);return xye(n,e.params,e.paramsSerializer)}};$e.forEach(["delete","get","head","options"],function(e){Ug.prototype[e]=function(n,r){return this.request(xm(r||{},{method:e,url:n,data:(r||{}).data}))}});$e.forEach(["post","put","patch"],function(e){function n(r){return function(s,a,o){return this.request(xm(o||{},{method:e,headers:r?{"Content-Type":"multipart/form-data"}:{},url:s,data:a}))}}Ug.prototype[e]=n(),Ug.prototype[e+"Form"]=n(!0)});let p0t=class Pye{constructor(e){if(typeof e!="function")throw new TypeError("executor must be a function.");let n;this.promise=new Promise(function(s){n=s});const r=this;this.promise.then(i=>{if(!r._listeners)return;let s=r._listeners.length;for(;s-- >0;)r._listeners[s](i);r._listeners=null}),this.promise.then=i=>{let s;const a=new Promise(o=>{r.subscribe(o),s=o}).then(i);return a.cancel=function(){r.unsubscribe(s)},a},e(function(s,a,o){r.reason||(r.reason=new ev(s,a,o),n(r.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(e){if(this.reason){e(this.reason);return}this._listeners?this._listeners.push(e):this._listeners=[e]}unsubscribe(e){if(!this._listeners)return;const n=this._listeners.indexOf(e);n!==-1&&this._listeners.splice(n,1)}toAbortSignal(){const e=new AbortController,n=r=>{e.abort(r)};return this.subscribe(n),e.signal.unsubscribe=()=>this.unsubscribe(n),e.signal}static source(){let e;return{token:new Pye(function(i){e=i}),cancel:e}}};function f0t(t){return function(n){return t.apply(null,n)}}function g0t(t){return $e.isObject(t)&&t.isAxiosError===!0}const Kj={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511,WebServerIsDown:521,ConnectionTimedOut:522,OriginIsUnreachable:523,TimeoutOccurred:524,SslHandshakeFailed:525,InvalidSslCertificate:526};Object.entries(Kj).forEach(([t,e])=>{Kj[e]=t});function Oye(t){const e=new Ug(t),n=lye(Ug.prototype.request,e);return $e.extend(n,Ug.prototype,e,{allOwnKeys:!0}),$e.extend(n,e,null,{allOwnKeys:!0}),n.create=function(i){return Oye(xm(t,i))},n}const Si=Oye(X5);Si.Axios=Ug;Si.CanceledError=ev;Si.CancelToken=p0t;Si.isCancel=Aye;Si.VERSION=Tye;Si.toFormData=J_;Si.AxiosError=un;Si.Cancel=Si.CanceledError;Si.all=function(e){return Promise.all(e)};Si.spread=f0t;Si.isAxiosError=g0t;Si.mergeConfig=xm;Si.AxiosHeaders=Lo;Si.formToJSON=t=>Cye($e.isHTMLForm(t)?new FormData(t):t);Si.getAdapter=kye.getAdapter;Si.HttpStatusCode=Kj;Si.default=Si;const{Axios:hZt,AxiosError:pZt,CanceledError:fZt,isCancel:gZt,CancelToken:mZt,VERSION:yZt,all:wZt,Cancel:bZt,isAxiosError:vZt,spread:xZt,toFormData:EZt,AxiosHeaders:CZt,HttpStatusCode:AZt,formToJSON:SZt,getAdapter:_Zt,mergeConfig:$Zt}=Si;class Nye{client;getAccessToken;nodeIdentifier;supaAppId;sdkVersion;constructor(e={nodeIdentifier:""}){const n=e.baseURL||void 0||"https://stage_api.supa.fyi";this.nodeIdentifier=e.nodeIdentifier,this.supaAppId=e.supaAppId;const r=e.sdkVersion?.trim(),i="0.2.39".trim();this.sdkVersion=r||i||void 0,this.client=Si.create({baseURL:n,headers:{"Content-Type":"application/json"}}),this.getAccessToken=e.getAccessToken,this.client.interceptors.request.use(async s=>{if(this.getAccessToken)try{const a=await this.getAccessToken();a&&(s.headers.Authorization=`Bearer ${a}`)}catch(a){console.error("[Supa SDK] ❌ Failed to get access token:",a)}return s.url?.startsWith("/canton/")&&(s.headers["X-Canton-Node-Id"]=this.nodeIdentifier),this.supaAppId&&(s.headers["X-Supa-App-Id"]=this.supaAppId),this.sdkVersion&&(s.headers["X-Supa-SDK"]=this.sdkVersion),console.group(`[Supa SDK] 📤 REQUEST: ${s.method?.toUpperCase()} ${s.url}`),console.log("Headers:",{"Content-Type":s.headers["Content-Type"],Authorization:s.headers.Authorization?`Bearer ***${String(s.headers.Authorization).slice(-20)}`:"none","X-Canton-Node-Id":s.headers["X-Canton-Node-Id"]||"none","X-Supa-App-Id":s.headers["X-Supa-App-Id"]||"none","X-Supa-SDK":s.headers["X-Supa-SDK"]||"none"}),s.data&&console.log("Request Body:",s.data),console.groupEnd(),s},s=>Promise.reject(s)),this.client.interceptors.response.use(s=>(console.group(`[Supa SDK] 📥 RESPONSE: ${s.status} ${s.config.method?.toUpperCase()} ${s.config.url}`),console.log("Status:",s.status,s.statusText),console.log("Response Data:",s.data),console.groupEnd(),s),s=>{if(s.response){console.group(`[Supa SDK] ❌ ERROR RESPONSE: ${s.response.status} ${s.config?.method?.toUpperCase()} ${s.config?.url}`),console.error("Status:",s.response.status,s.response.statusText),console.error("Request Body:",s.config?.data),console.error("Response Data:",s.response.data),console.groupEnd();const a={statusCode:s.response.status,message:s.response.data?.message||s.message,error:s.response.data?.error};return Promise.reject(a)}return console.error("[Supa SDK] ❌ Network error:",s.message),Promise.reject({statusCode:0,message:s.message||"Network error"})})}async get(e,n){return(await this.client.get(e,n)).data}async post(e,n,r){return(await this.client.post(e,n,r)).data}async put(e,n,r){return(await this.client.put(e,n,r)).data}async delete(e,n){return(await this.client.delete(e,n)).data}async patch(e,n,r){return(await this.client.patch(e,n,r)).data}setAccessTokenGetter(e){this.getAccessToken=e}getBaseURL(){return this.client.defaults.baseURL||""}}let YA=null;function Rye(t){return YA=new Nye(t),YA}function m0t(){if(!YA)throw new Error("ApiClient not initialized. Call createApiClient first.");return YA}const td=t=>{const e=t.startsWith("0x")?t.slice(2):t,n=new Uint8Array(e.match(/.{1,2}/g)?.map(r=>parseInt(r,16))||[]);return Mye(n)},nd=t=>{const e=jye(t);return"0x"+Array.from(e).map(n=>n.toString(16).padStart(2,"0")).join("")},Mye=t=>btoa(String.fromCharCode(...t)),jye=t=>{const e=atob(t.replace(/\s/g,"")),n=new Uint8Array(e.length);for(let r=0;r<e.length;r++)n[r]=e.charCodeAt(r);return n},y0t=t=>{let e=t.startsWith("0x")?t.slice(2):t;return e.startsWith("00")&&(e=e.slice(2)),"0x"+e},Dye=t=>{let e=t.startsWith("0x")?t.slice(2):t;e.startsWith("00")&&(e=e.slice(2));try{const n=new Uint8Array(e.match(/.{1,2}/g).map(r=>parseInt(r,16)));return btoa(String.fromCharCode(...n))}catch{throw new Error("Failed to convert public key to base64")}},w0t="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz",Lye=t=>{let e=0;for(const i of t)if(i==="1")e++;else break;let n=BigInt(0);for(const i of t){const s=w0t.indexOf(i);if(s===-1)throw new Error(`Invalid base58 character: ${i}`);n=n*BigInt(58)+BigInt(s)}const r=[];for(;n>0;)r.unshift(Number(n%BigInt(256))),n=n/BigInt(256);for(let i=0;i<e;i++)r.unshift(0);return new Uint8Array(r)},Bye=t=>{const e=Lye(t);if(e.length!==32)throw new Error(`Invalid Solana address: expected 32 bytes, got ${e.length}`);return btoa(String.fromCharCode(...e))};class Q_{constructor(e){this.client=e}meCache=null;meCacheTimestamp=0;mePendingPromise=null;CACHE_TTL=300*1e3;static AMULET_INSTRUMENT_ID="Amulet";invalidateMeCache(){this.meCache=null,this.meCacheTimestamp=0,this.mePendingPromise=null}validateTransferAmount(e){const n=e.split(".");if(n.length>1&&n[1].length>10)throw new Error(`Amount cannot have more than 10 decimal places. Got: ${n[1].length}`)}async registerCanton(e,n=0){if(n>4)throw new Error("Failed to register Canton wallet after multiple attempts");const{publicKey:r,signFunction:i,inviteCode:s}=e,o=await(async()=>{try{const h={publicKey:r};return s&&(h.inviteCode=s),await this.client.post("/canton/register/prepare",h)}catch(h){if(console.log("[Canton Service] Registration prepare error:",h),h?.statusCode===400&&(h?.error==="CantonWalletAlreadyExistsError"||typeof h?.message=="string"&&h.message.toLowerCase().includes("canton wallet already exists")))return console.log("[Canton Service] ✅ Canton wallet already exists - treating as registered"),"registered";if(h?.error==="CantonMainnetNodeNotEnabledForThisUser"||h?.message?.includes("enable mainnet node access")||h?.error==="CantonInviteCodeAlreadyUsedOrInvalid"||h?.statusCode===400&&(h?.message?.toLowerCase().includes("invite code")||h?.message?.toLowerCase().includes("invitecode")))throw h;return console.log("[Canton Service] Retrying registration after error..."),await new Promise(p=>setTimeout(p,1500)),this.registerCanton(e,n+1)}})();if(!o)return;if(o==="registered")return"registered";const c=o.hash,l=nd(c),d=await i(l),u=td(d);await this.client.post("/canton/register/submit",{hash:c,signature:u}),this.invalidateMeCache()}async tapDevnet(e,n){const{amount:r,signFunction:i}=e,s=await this.client.post("/canton/devnet/tap",{amount:r});n?.onCostEstimation&&s.costEstimation&&await n.onCostEstimation(s.costEstimation);const a=s.hash,o=nd(a),c=await i(o),l=td(c);return await this.submitPreparedAndWait(a,l,n)}async submitPrepared(e,n,r){return await this.client.post("/canton/api/submit_prepared",{hash:e,signature:n,deduplicationPeriod:r})}async submitMultiplePrepared(e){return await this.client.post("/canton/api/submit_multiple_prepared",e)}async queryCompletion(e){return await this.client.get(`/canton/api/query_completion?submissionId=${encodeURIComponent(e)}`)}async submitPreparedAndWait(e,n,r={}){const{timeout:i=3e4,pollInterval:s=1e3,deduplicationPeriod:a}=r,o=await this.submitPrepared(e,n,a),{submissionId:c}=o;if(r.onSubmissionId)try{await r.onSubmissionId(c)}catch(d){console.error(d)}const l=Date.now();for(;Date.now()-l<i;){const d=await this.queryCompletion(c);if(d.status==="completed")return this.invalidateMeCache(),d;await new Promise(u=>setTimeout(u,s))}throw new Error(`Transaction completion timeout after ${i}ms for submissionId: ${c}`)}async getMe(e=!1){const n=Date.now();return!e&&this.meCache&&n-this.meCacheTimestamp<this.CACHE_TTL?this.meCache:this.mePendingPromise?this.mePendingPromise:(this.mePendingPromise=this.client.get("/canton/api/me").then(r=>(this.meCache=r,this.meCacheTimestamp=Date.now(),this.mePendingPromise=null,r)).catch(r=>{throw this.mePendingPromise=null,r}),this.mePendingPromise)}async getActiveContracts(e,n){const r=new URLSearchParams;e&&e.forEach(a=>r.append("templateIds",a)),n?.limit!==void 0&&r.append("limit",String(n.limit)),n&&"offset"in n&&n.offset!==void 0&&r.append("offset",String(n.offset));const i=r.toString(),s=i?`/canton/api/active_contracts?${i}`:"/canton/api/active_contracts";return await this.client.get(s)}async signMessage(e,n){const i=new TextEncoder().encode(e),s=await crypto.subtle.digest("SHA-256",i),o="0x"+Array.from(new Uint8Array(s)).map(c=>c.toString(16).padStart(2,"0")).join("");return await n(o)}async prepareTransaction(e,n,r){return await this.client.post("/canton/api/prepare_transaction",{commands:e,disclosedContracts:n,commandId:r})}async checkRegistrationStatus(){try{return await this.getMe(),!0}catch{return!1}}async prepareTransferPreapproval(){const e=await this.client.post("/canton/api/prepare_transfer_preapproval",{});return this.invalidateMeCache(),e}async prepareInitializationTransactions(){return await this.client.post("/canton/api/prepare_initialization_transactions",{})}async getBalances(){return await this.client.get("/canton/api/balances")}async prepareTransfer(e){this.validateTransferAmount(e.amount);const n=await this.client.post("/canton/transfers/prepare_transfer",e);return this.invalidateMeCache(),n}async calculateTransferFee(e){const n=new URLSearchParams;return e.partyId&&n.append("partyId",e.partyId),n.append("instrumentId",e.instrumentId),e.instrumentAdmin&&n.append("instrumentAdmin",e.instrumentAdmin),await this.client.get(`/canton/transfers/calculate_transfer_fee?${n.toString()}`)}async prepareAmuletTransfer(e){return{...await this.prepareTransfer({receiverPartyId:e.receiverPartyId,amount:e.amount,instrumentId:Q_.AMULET_INSTRUMENT_ID,memo:e.memo}),receiverPartyId:e.receiverPartyId,amount:e.amount,memo:e.memo}}async prepareAmuletTranafer(e){return await this.prepareAmuletTransfer(e)}async getPendingIncomingTransfers(){return await this.client.get("/canton/transfers/pending_incoming_transfers")}async prepareResponseToIncomingTransfer(e){return await this.client.post("/canton/transfers/prepare_response_to_incoming_transfer",e)}async getTransactions(e={}){const{limit:n=20,beforeOffsetExclusive:r}=e,i=new URLSearchParams;return i.append("limit",String(n)),r!==void 0&&i.append("beforeOffsetExclusive",String(r)),await this.client.get(`/canton/api/transactions?${i.toString()}`)}async getPriceHistory(e){return await this.client.get(`/canton/prices/history?interval=${encodeURIComponent(e)}`)}}let JA=null;function b0t(t){return JA=new Q_(t),JA}function v0t(){if(!JA)throw new Error("CantonService not initialized. Call createCantonService first or use SDK within SupaProvider.");return JA}class Uye{constructor(e){this.client=e}userMeCache=null;userMeCacheTimestamp=0;userMePendingPromise=null;supaPointsBalanceCache=null;supaPointsBalanceCacheTimestamp=0;supaPointsBalancePendingPromise=null;privyBalanceCache=null;privyBalanceCacheTimestamp=0;privyBalancePendingPromise=null;USER_CACHE_TTL=300*1e3;invalidateSupaPointsCache(){this.supaPointsBalanceCache=null,this.supaPointsBalanceCacheTimestamp=0,this.supaPointsBalancePendingPromise=null}async getCurrentUser(e=!1){const n=Date.now();return!e&&this.userMeCache&&n-this.userMeCacheTimestamp<this.USER_CACHE_TTL?this.userMeCache:this.userMePendingPromise?this.userMePendingPromise:(this.userMePendingPromise=this.client.get("/user/me").then(r=>(this.userMeCache=r,this.userMeCacheTimestamp=Date.now(),this.userMePendingPromise=null,r)).catch(r=>{throw this.userMePendingPromise=null,r}),this.userMePendingPromise)}async getAllUsers(){return await this.client.get("/user/all")}async getUserByPrivyId(e){return await this.client.get(`/user/${e}`)}async getSmartWalletBalances(e=!1){return await this.client.get("/user/smart_wallet_balances",{params:{force:e}})}async createDialog(e){return await this.client.post("/dialogs",{text:e})}async getAllDialogs(e){return await this.client.get("/dialogs",{params:e})}async getDialog(e){return await this.client.get(`/dialogs/${e}`)}async deleteDialog(e){return await this.client.delete(`/dialogs/${e}`)}async createMessage(e,n){return await this.client.post(`/dialogs/${e}/messages`,{text:n})}async getDialogMessages(e,n){return await this.client.get(`/dialogs/${e}/messages`,{params:n})}async getMessage(e){return await this.client.get(`/messages/${e}`)}async getTokenPricesByAddresses(e){return await this.client.post("/onchain/tokens_prices_by_addresses",{addresses:e})}async getTokenPrices(e){return await this.client.get("/onchain/tokens_prices",{params:{symbols:e.join(",")}})}async getTokenPriceHistory(e){return await this.client.get("/onchain/token_price_history",{params:e})}async getTokens24hrPriceChanges(e){return await this.client.post("/onchain/tokens_24hr_changes",{tokens:e})}async getTokenInfo(e,n){const r=Array.isArray(n)?n.join(","):n;return await this.client.get(`/onchain/token_info/${e}`,{params:{token:r}})}async getAccountTokenBalances(e,n,r=!1){return await this.client.get(`/onchain/account_tokens_balances/${e}`,{params:{account:n,force:r}})}async getTransactions(e){return await this.client.get("/transactions",{params:e})}async forceLoadTransactions(e){return await this.client.post("/transactions/transactions_force",null,{params:e})}async getSupaPointsBalance(e=!1){const n=Date.now();return!e&&this.supaPointsBalanceCache&&n-this.supaPointsBalanceCacheTimestamp<this.USER_CACHE_TTL?this.supaPointsBalanceCache:this.supaPointsBalancePendingPromise?this.supaPointsBalancePendingPromise:(this.supaPointsBalancePendingPromise=this.client.get("/supa_points/balance").then(r=>(this.supaPointsBalanceCache=r,this.supaPointsBalanceCacheTimestamp=Date.now(),this.supaPointsBalancePendingPromise=null,r)).catch(r=>{throw this.supaPointsBalancePendingPromise=null,r}),this.supaPointsBalancePendingPromise)}async getSupaPointsHistory(e){return await this.client.get("/supa_points/history",{params:e})}async dailyLogin(){const e=await this.client.post("/supa_points/daily_login");return this.invalidateSupaPointsCache(),e}async checkPaymasterSponsorship(e){return await this.client.post("/paymaster",e)}async getPrivyBalance(e=!1){const n=Date.now();return!e&&this.privyBalanceCache&&n-this.privyBalanceCacheTimestamp<this.USER_CACHE_TTL?this.privyBalanceCache:this.privyBalancePendingPromise?this.privyBalancePendingPromise:(this.privyBalancePendingPromise=this.client.get("/privy/balance").then(r=>(this.privyBalanceCache=r,this.privyBalanceCacheTimestamp=Date.now(),this.privyBalancePendingPromise=null,r)).catch(r=>{throw this.privyBalancePendingPromise=null,r}),this.privyBalancePendingPromise)}}let XA=null;function x0t(t){return XA=new Uye(t),XA}function E0t(){if(!XA)throw new Error("ApiService not initialized. Call createApiService first or use SDK within SupaProvider.");return XA}const Yi={backdrop:{position:"fixed",inset:0,backgroundColor:"rgba(0, 0, 0, 0.7)",backdropFilter:"blur(4px)"},panelWrapper:{position:"fixed",inset:0,zIndex:9999,overflowY:"auto",display:"flex",alignItems:"center",justifyContent:"center",padding:"16px"},panel:{backgroundColor:"var(--privy-color-background-2)",border:"1px solid var(--privy-color-border-default)",borderRadius:"var(--privy-border-radius-mdlg)",maxWidth:"560px",width:"100%",maxHeight:"85vh",overflow:"hidden",display:"flex",flexDirection:"column",boxShadow:"0 25px 50px -12px rgba(0, 0, 0, 0.5)"},header:{padding:"20px 24px",borderBottom:"1px solid var(--privy-color-border-default)",display:"flex",alignItems:"center",justifyContent:"space-between"},title:{fontSize:"18px",fontWeight:600,color:"var(--privy-color-foreground)",margin:0,display:"flex",alignItems:"center",gap:"12px",fontFamily:'-apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif'},closeButton:{background:"transparent",border:"none",padding:"8px",cursor:"pointer",color:"var(--privy-color-icon-muted)",borderRadius:"var(--privy-border-radius-sm)",display:"flex",alignItems:"center",justifyContent:"center",transition:"all 150ms"},body:{padding:"24px",overflowY:"auto",flex:1,fontFamily:'-apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif'},messageContainer:{backgroundColor:"var(--privy-color-background)",border:"1px solid var(--privy-color-border-default)",borderRadius:"var(--privy-border-radius-md)",padding:"16px",maxHeight:"400px",overflowY:"auto",marginBottom:"16px"},messageContent:{fontFamily:'"SF Mono", "Fira Code", "JetBrains Mono", monospace',fontSize:"14px",lineHeight:1.6,color:"var(--privy-color-foreground)",whiteSpace:"pre-wrap",wordBreak:"break-word",margin:0},footer:{padding:"16px 24px",borderTop:"1px solid var(--privy-color-border-default)",display:"flex",gap:"12px",justifyContent:"flex-end",backgroundColor:"var(--privy-color-background)"},button:{padding:"12px 20px",borderRadius:"var(--privy-border-radius-md)",fontSize:"14px",fontWeight:600,cursor:"pointer",transition:"all 150ms",fontFamily:'-apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif',border:"none"},rejectButton:{backgroundColor:"transparent",border:"1px solid var(--privy-color-border-default)",color:"var(--privy-color-foreground-2)"},confirmButton:{backgroundColor:"var(--privy-color-accent)",color:"var(--privy-color-background)"},description:{fontSize:"14px",color:"var(--privy-color-foreground-2)",marginBottom:"16px",lineHeight:1.5},infoBox:{backgroundColor:"var(--privy-color-info-bg)",border:"1px solid var(--privy-color-border-info)",borderRadius:"var(--privy-border-radius-md)",padding:"12px 16px",display:"flex",gap:"12px",alignItems:"flex-start",marginTop:"16px"},infoText:{fontSize:"13px",color:"var(--privy-color-foreground-2)",lineHeight:1.5,margin:0}},C0t=()=>f.jsxs("svg",{width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[f.jsx("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),f.jsx("line",{x1:"6",y1:"6",x2:"18",y2:"18"})]}),A0t=()=>f.jsxs("svg",{width:"22",height:"22",viewBox:"0 0 24 24",fill:"none",stroke:"var(--privy-color-accent)",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[f.jsx("path",{d:"M12 19l7-7 3 3-7 7-3-3z"}),f.jsx("path",{d:"M18 13l-1.5-7.5L2 2l3.5 14.5L13 18l5-5z"}),f.jsx("path",{d:"M2 2l7.586 7.586"}),f.jsx("circle",{cx:"11",cy:"11",r:"2"})]}),S0t=()=>f.jsxs("svg",{width:"22",height:"22",viewBox:"0 0 24 24",fill:"none",stroke:"var(--privy-color-accent)",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[f.jsx("line",{x1:"22",y1:"2",x2:"11",y2:"13"}),f.jsx("polygon",{points:"22 2 15 22 11 13 2 9 22 2"})]}),_0t=()=>f.jsxs("svg",{width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"var(--privy-color-icon-interactive)",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[f.jsx("circle",{cx:"12",cy:"12",r:"10"}),f.jsx("line",{x1:"12",y1:"16",x2:"12",y2:"12"}),f.jsx("line",{x1:"12",y1:"8",x2:"12.01",y2:"8"})]});function O4({open:t=!1,onClose:e,onConfirm:n,onReject:r,title:i="Confirm Action",message:s,confirmText:a="Confirm",rejectText:o="Cancel",description:c,infoText:l,icon:d,loading:u=!1}){const{theme:h}=Md(),p=()=>{r(),e()},g=()=>{n()},m=h==="dark"?"privy-dark":"privy-light";return f.jsx(uF,{show:t,as:_.Fragment,children:f.jsxs(sfe,{onClose:e,style:{position:"relative",zIndex:9999},children:[f.jsx(mm,{as:_.Fragment,enter:"ease-out duration-200",enterFrom:"opacity-0",enterTo:"opacity-100",leave:"ease-in duration-150",leaveFrom:"opacity-100",leaveTo:"opacity-0",children:f.jsx("div",{style:Yi.backdrop})}),f.jsx("div",{style:Yi.panelWrapper,children:f.jsx(mm,{as:_.Fragment,enter:"ease-out duration-200",enterFrom:"opacity-0 scale-95",enterTo:"opacity-100 scale-100",leave:"ease-in duration-150",leaveFrom:"opacity-100 scale-100",leaveTo:"opacity-0 scale-95",children:f.jsxs(pF,{className:m,style:Yi.panel,children:[f.jsxs("div",{style:Yi.header,children:[f.jsxs(ife,{style:Yi.title,children:[d||f.jsx(A0t,{}),i]}),f.jsx("button",{onClick:p,style:Yi.closeButton,onMouseEnter:y=>{y.currentTarget.style.backgroundColor="var(--privy-color-background-hover)",y.currentTarget.style.color="var(--privy-color-icon-default-hover)"},onMouseLeave:y=>{y.currentTarget.style.backgroundColor="transparent",y.currentTarget.style.color="var(--privy-color-icon-muted)"},children:f.jsx(C0t,{})})]}),f.jsxs("div",{style:Yi.body,children:[c&&f.jsx("p",{style:Yi.description,children:c}),Array.isArray(s)?f.jsx("div",{style:{display:"flex",flexDirection:"column",gap:"12px"},children:s.map((y,b)=>f.jsx("div",{style:{...Yi.messageContainer,marginBottom:0},children:f.jsx("pre",{style:Yi.messageContent,children:y})},b))}):f.jsx("div",{style:Yi.messageContainer,children:f.jsx("pre",{style:Yi.messageContent,children:s})}),l&&f.jsxs("div",{style:Yi.infoBox,children:[f.jsx(_0t,{}),f.jsx("p",{style:Yi.infoText,children:l})]})]}),f.jsxs("div",{style:Yi.footer,children:[f.jsx("button",{onClick:p,disabled:u,style:{...Yi.button,...Yi.rejectButton,opacity:u?.5:1},onMouseEnter:y=>{u||(y.currentTarget.style.backgroundColor="var(--privy-color-background-hover)",y.currentTarget.style.color="var(--privy-color-foreground-hover)")},onMouseLeave:y=>{y.currentTarget.style.backgroundColor="transparent",y.currentTarget.style.color="var(--privy-color-foreground-2)"},children:o}),f.jsx("button",{onClick:g,disabled:u,style:{...Yi.button,...Yi.confirmButton,opacity:u?.7:1},onMouseEnter:y=>{u||(y.currentTarget.style.backgroundColor="var(--privy-color-accent-hover)")},onMouseLeave:y=>{y.currentTarget.style.backgroundColor="var(--privy-color-accent)"},children:u?"Processing...":a})]})]})})})]})})}function Gj({open:t,onClose:e,onConfirm:n,onReject:r,message:i,loading:s=!1,title:a="Sign Message",description:o="You are about to sign the following message:",confirmText:c="Sign",rejectText:l="Reject"}){return f.jsx(O4,{open:t,onClose:e,onConfirm:n,onReject:r,title:a,message:i,confirmText:c,rejectText:l,description:o,infoText:"Signing a message proves ownership of your wallet without exposing private keys or making any blockchain transactions.",loading:s})}function Yj({open:t,onClose:e,onConfirm:n,onReject:r,transaction:i,loading:s=!1,title:a="Sign Transaction",description:o,confirmText:c="Sign & Send",rejectText:l="Reject",infoText:d="You are submitting a transaction, please be careful"}){const u=Array.isArray(i)?i.length:1,h=u>1?`${String(a)} (${u})`:a,p=o??(u>1?`Review and sign the following transactions (${u}).`:"Review and sign the following transaction:");return f.jsx(O4,{open:t,onClose:e,onConfirm:n,onReject:r,title:h,message:i,confirmText:c,rejectText:l,description:p,infoText:d,icon:f.jsx(S0t,{}),loading:s})}const $0t=()=>{let{refreshSessionAndUser:t,privy:e}=Ge();return _.useMemo((()=>({async createWallet(n){let r=await s9(e,{request:{chain_type:n.chainType}}),i=await t();if(!i)throw Error("User must be authenticated before creating a Privy wallet");return{user:i,wallet:r}}})),[t,e])},I0t=()=>{let{user:t}=rn(),{privy:e}=Ge(),{signWithUserSigner:n}=cW();return _.useMemo((()=>({async signRawHash({address:r,chainType:i,hash:s}){if(!t)throw Error("User must be authenticated before signing");let a=mU(t,i).filter((c=>Ri(c))).find((c=>c.address===r));if(!a)throw Error("Wallet not found");let o=await oPe(e,n,{wallet_id:a.id,params:{hash:s}});if(o.data&&"signature"in o.data&&o.data.encoding==="hex")return{signature:o.data.signature};throw Error("Failed to sign")}})),[e,n,t])};function e$(t){return new Uint8Array(qt.getTransactionDecoder().decode(t).messageBytes)}async function q6({solanaClient:t,tx:e}){let n=qt.getBase64Decoder().decode(e$(e)),{value:r}=await t.rpc.getFeeForMessage(n).send();return r??0n}async function SW({solanaClient:t,tx:e,replaceRecentBlockhash:n}){let{value:r}=await t.rpc.simulateTransaction(qt.getBase64Decoder().decode(e),{commitment:"confirmed",encoding:"base64",sigVerify:!1,replaceRecentBlockhash:n}).send();if(r.err==="BlockhashNotFound"&&n)throw Error("Simulation failed: Blockhash not found");return r.err==="BlockhashNotFound"?await SW({solanaClient:t,tx:e,replaceRecentBlockhash:!0}):{logs:r.logs??[],error:r.err,hasError:!!r.err,hasFunds:r.logs?.every((i=>!/insufficient funds/gi.test(i)&&!/insufficient lamports/gi.test(i)))??!0}}const X2=(...t)=>{if(typeof Buffer>"u")throw new se("Buffer is not defined.",void 0,he.BUFFER_NOT_DEFINED);return Buffer.from(...t)};async function Fye({rpcSubscriptions:t,signature:e,timeout:n}){let r=new AbortController,i=await t.signatureNotifications(e,{commitment:"confirmed"}).subscribe({abortSignal:r.signal}),s=await Promise.race([new Promise((a=>{setTimeout((()=>{r.abort(),a(Error("Transaction confirmation timed out"))}),n)})),new Promise((async a=>{for await(let o of i){if(r.abort(),o.value.err)return a(Error("Transaction confirmation failed"));a(void 0)}}))]);if(s instanceof Error)throw s}function k0t({rpc:t,rpcSubscriptions:e,chain:n,blockExplorerUrl:r}){let i=(function({rpc:s,rpcSubscriptions:a}){return async o=>new Promise((async(c,l)=>{try{let d=await s.sendTransaction(X2(o).toString("base64"),{preflightCommitment:"confirmed",encoding:"base64"}).send();await Fye({rpcSubscriptions:a,signature:d,timeout:1e4}),c({signature:new Uint8Array(qt.getBase58Encoder().encode(d))})}catch(d){l(d)}}))})({rpc:t,rpcSubscriptions:e});return{rpc:t,rpcSubscriptions:e,chain:n,blockExplorerUrl:r,sendAndConfirmTransaction:i}}function _W(){let t=it(),e=_.useMemo((()=>Object.fromEntries(["solana:mainnet","solana:devnet","solana:testnet"].map((n=>[n,t.solanaRpcs[n]?k0t({chain:n,rpc:t.solanaRpcs[n].rpc,rpcSubscriptions:t.solanaRpcs[n].rpcSubscriptions,blockExplorerUrl:t.solanaRpcs[n].blockExplorerUrl??`https://explorer.solana.com?cluster=${n.replace("solana:","")}`}):null])))),[t.solanaRpcs]);return _.useCallback((n=>{if(!e[n])throw Error(`No RPC configuration found for chain ${n}`);return e[n]}),[e])}const Wye=["solana:mainnet","solana:devnet","solana:testnet"];function T0t(t){return qt.getBase58Decoder().decode(t)}function qv(t,e){if(!Object.prototype.hasOwnProperty.call(t,e))throw TypeError("attempted to use private field on non-instance");return t}var P0t=0,jl="__private_"+P0t+++"__implementation";function zc(t,e){if(!Object.prototype.hasOwnProperty.call(t,e))throw TypeError("attempted to use private field on non-instance");return t}var O0t=0;function tv(t){return"__private_"+O0t+++"_"+t}var Zv=tv("_address"),Kv=tv("_publicKey"),Gv=tv("_chains"),Yv=tv("_features"),Jv=tv("_label"),Xv=tv("_icon");let N0t=class zye{get address(){return zc(this,Zv)[Zv]}get publicKey(){return zc(this,Kv)[Kv].slice()}get chains(){return zc(this,Gv)[Gv].slice()}get features(){return zc(this,Yv)[Yv].slice()}get label(){return zc(this,Jv)[Jv]}get icon(){return zc(this,Xv)[Xv]}constructor({address:e,publicKey:n,label:r,icon:i}){Object.defineProperty(this,Zv,{writable:!0,value:void 0}),Object.defineProperty(this,Kv,{writable:!0,value:void 0}),Object.defineProperty(this,Gv,{writable:!0,value:void 0}),Object.defineProperty(this,Yv,{writable:!0,value:void 0}),Object.defineProperty(this,Jv,{writable:!0,value:void 0}),Object.defineProperty(this,Xv,{writable:!0,value:void 0}),zc(this,Zv)[Zv]=e,zc(this,Kv)[Kv]=n,zc(this,Gv)[Gv]=Wye,zc(this,Jv)[Jv]=r,zc(this,Xv)[Xv]=i,zc(this,Yv)[Yv]=["solana:signAndSendTransaction","solana:signTransaction","solana:signMessage"],new.target===zye&&Object.freeze(this)}};function ln(t,e){if(!Object.prototype.hasOwnProperty.call(t,e))throw TypeError("attempted to use private field on non-instance");return t}var R0t=0;function Pa(t){return"__private_"+R0t+++"_"+t}var pc=Pa("_listeners"),Qv=Pa("_version"),e6=Pa("_name"),t6=Pa("_icon"),Ma=Pa("_injection"),n6=Pa("_isPrivyWallet"),L1=Pa("_accounts"),r6=Pa("_on"),B1=Pa("_emit"),eP=Pa("_off"),U1=Pa("_connected"),i6=Pa("_connect"),s6=Pa("_disconnect"),a6=Pa("_signMessage"),o6=Pa("_signAndSendTransaction"),c6=Pa("_signTransaction");function M0t(t,...e){ln(this,pc)[pc][t]?.forEach((n=>n.apply(null,e)))}function j0t(t,e){ln(this,pc)[pc][t]=ln(this,pc)[pc][t]?.filter((n=>e!==n))}function D0t(t,e,n){let r=structuredClone(qt.getTransactionDecoder().decode(t)),i=qt.address(e);return i in r.signatures&&(r.signatures[i]=n),new Uint8Array(qt.getTransactionEncoder().encode(r))}function Hye(){let{isHeadlessSigning:t,walletProxy:e,initializeWalletProxy:n,recoverEmbeddedWallet:r,openModal:i,privy:s,client:a}=Ge(),{user:o}=Vw(),{setModalData:c}=dt(),{signWithUserSigner:l}=cW();return{signMessage:({message:d,address:u,options:h})=>new Promise((async(p,g)=>{let m=mc(o,u);if(m?.walletClientType!=="privy")return void g(new se("Wallet is not a Privy wallet",void 0,he.EMBEDDED_WALLET_NOT_FOUND));let{entropyId:y,entropyIdVerifier:b}=zi(o,m),x=Ri(m),v=X2(d).toString("base64");if(v.length<1)return void g(new se("Message must be a non-empty string",void 0,he.INVALID_MESSAGE));let E=async()=>{let C;if(!o)throw Error("User must be authenticated before signing with a Privy wallet");let w=await a.getAccessToken();if(!w)throw Error("User must be authenticated to use their embedded wallet.");let S=e??await n(15e3);if(!S)throw Error("Failed to initialize embedded wallet proxy.");if(!await r({address:m.address}))throw Error("Unable to connect to wallet");if(x){let I=await fc(s,l,{chain_type:"solana",method:"signMessage",params:{message:v,encoding:"base64"},wallet_id:m.id});if(!I.data||!("signature"in I.data))throw Error("Failed to sign message");C=I.data.signature}else{let{response:I}=await S.rpc({accessToken:w,entropyId:y,entropyIdVerifier:b,chainType:"solana",hdWalletIndex:m.walletIndex??0,requesterAppId:h?.uiOptions?.requesterAppId,request:{method:"signMessage",params:{message:v}}});C=I.data.signature}return C};if(t({showWalletUIs:h?.uiOptions?.showWalletUIs}))try{let C=await E(),w=new Uint8Array(X2(C,"base64"));p({signature:w})}catch(C){g(C)}else c({signMessage:{method:"solana_signMessage",data:v,confirmAndSign:E,onSuccess:C=>{p({signature:new Uint8Array(X2(C,"base64"))})},onFailure:C=>{g(C)},uiOptions:h?.uiOptions??{}},connectWallet:{recoveryMethod:m.recoveryMethod,connectingWalletAddress:m.address,entropyId:y,entropyIdVerifier:b,isUnifiedWallet:x,onCompleteNavigateTo:"SignRequestScreen",onFailure:C=>{g(new se("Failed to connect to wallet",C,he.UNKNOWN_CONNECT_WALLET_ERROR))}}}),i("EmbeddedWalletConnectingScreen")}))}}function rQ(){let{isHeadlessSigning:t,openModal:e}=Ge(),{setModalData:n}=dt(),{signMessage:r}=Hye(),{user:i}=Vw();return{signTransaction:async({transaction:s,options:a,chain:o="solana:mainnet",address:c})=>{async function l(d){let{signature:u}=await r({message:e$(d),address:c,options:{...a,uiOptions:{...a?.uiOptions,showWalletUIs:!1}}});return{signedTransaction:D0t(d,c,u)}}return t({showWalletUIs:a?.uiOptions?.showWalletUIs})?l(s):new Promise((async(d,u)=>{let h=mc(i,c);if(h?.walletClientType!=="privy")return void u(new se("Wallet is not a Privy wallet",void 0,he.EMBEDDED_WALLET_NOT_FOUND));let{entropyId:p,entropyIdVerifier:g}=zi(i,h),m=Ri(h);function y(x){return v=>{u(v instanceof se?v:new se("Failed to connect to wallet",v,x))}}let b={account:h,transaction:s,chain:o,signOnly:!0,uiOptions:a?.uiOptions||{},onConfirm:l,onSuccess:d,onFailure:y(he.TRANSACTION_FAILURE)};n({connectWallet:{recoveryMethod:h.recoveryMethod,connectingWalletAddress:h.address,entropyId:p,entropyIdVerifier:g,isUnifiedWallet:m,onCompleteNavigateTo:"StandardSignAndSendTransactionScreen",onFailure:y(he.UNKNOWN_CONNECT_WALLET_ERROR)},standardSignAndSendTransaction:b}),e("EmbeddedWalletConnectingScreen")}))}}}let Jj=new class extends mf{setImplementation(t){qv(this,jl)[jl]=t}async signMessage(t){return qv(this,jl)[jl].signMessage(t)}async signAndSendTransaction(t){return qv(this,jl)[jl].signAndSendTransaction(t)}async signTransaction(t){return qv(this,jl)[jl].signTransaction(t)}constructor(t){super(),Object.defineProperty(this,jl,{writable:!0,value:void 0}),qv(this,jl)[jl]=t}}({signTransaction:XI("signTransaction was not injected"),signAndSendTransaction:XI("signAndSendTransaction was not injected"),signMessage:XI("signMessage was not injected")}),iQ=new class{get version(){return ln(this,Qv)[Qv]}get name(){return ln(this,e6)[e6]}get icon(){return ln(this,t6)[t6]}get chains(){return Wye.slice()}get features(){return{"standard:connect":{version:"1.0.0",connect:ln(this,i6)[i6]},"standard:disconnect":{version:"1.0.0",disconnect:ln(this,s6)[s6]},"standard:events":{version:"1.0.0",on:ln(this,r6)[r6]},"solana:signAndSendTransaction":{version:"1.0.0",supportedTransactionVersions:["legacy",0],signAndSendTransaction:ln(this,o6)[o6]},"solana:signTransaction":{version:"1.0.0",supportedTransactionVersions:["legacy",0],signTransaction:ln(this,c6)[c6]},"solana:signMessage":{version:"1.0.0",signMessage:ln(this,a6)[a6]},"privy:":{privy:{signMessage:ln(this,Ma)[Ma].signMessage,signTransaction:ln(this,Ma)[Ma].signTransaction,signAndSendTransaction:ln(this,Ma)[Ma].signAndSendTransaction}}}}get accounts(){return ln(this,L1)[L1].slice()}get isPrivyWallet(){return ln(this,n6)[n6]}constructor({name:t,icon:e,version:n,injection:r,wallets:i}){Object.defineProperty(this,B1,{value:M0t}),Object.defineProperty(this,eP,{value:j0t}),Object.defineProperty(this,pc,{writable:!0,value:void 0}),Object.defineProperty(this,Qv,{writable:!0,value:void 0}),Object.defineProperty(this,e6,{writable:!0,value:void 0}),Object.defineProperty(this,t6,{writable:!0,value:void 0}),Object.defineProperty(this,Ma,{writable:!0,value:void 0}),Object.defineProperty(this,n6,{writable:!0,value:void 0}),Object.defineProperty(this,L1,{writable:!0,value:void 0}),Object.defineProperty(this,r6,{writable:!0,value:void 0}),Object.defineProperty(this,U1,{writable:!0,value:void 0}),Object.defineProperty(this,i6,{writable:!0,value:void 0}),Object.defineProperty(this,s6,{writable:!0,value:void 0}),Object.defineProperty(this,a6,{writable:!0,value:void 0}),Object.defineProperty(this,o6,{writable:!0,value:void 0}),Object.defineProperty(this,c6,{writable:!0,value:void 0}),ln(this,pc)[pc]={},ln(this,r6)[r6]=(s,a)=>(ln(this,pc)[pc][s]?.push(a)||(ln(this,pc)[pc][s]=[a]),()=>ln(this,eP)[eP](s,a)),ln(this,U1)[U1]=s=>{s!=null&&(ln(this,L1)[L1]=s.map((({address:a})=>new N0t({address:a,publicKey:GU.decode(a)})))),ln(this,B1)[B1]("change",{accounts:this.accounts})},ln(this,i6)[i6]=async()=>(ln(this,B1)[B1]("change",{accounts:this.accounts}),{accounts:this.accounts}),ln(this,s6)[s6]=async()=>{ln(this,B1)[B1]("change",{accounts:this.accounts})},ln(this,a6)[a6]=async(...s)=>{let a=[];for(let{account:o,...c}of s){let{signature:l}=await ln(this,Ma)[Ma].signMessage({...c,address:o.address});a.push({signedMessage:c.message,signature:l})}return a},ln(this,o6)[o6]=async(...s)=>{let a=[];for(let o of s){let{signature:c}=await ln(this,Ma)[Ma].signAndSendTransaction({...o,transaction:o.transaction,address:o.account.address,chain:o.chain||"solana:mainnet",options:o.options});a.push({signature:c})}return a},ln(this,c6)[c6]=async(...s)=>{let a=[];for(let{transaction:o,account:c,options:l,chain:d}of s){let{signedTransaction:u}=await ln(this,Ma)[Ma].signTransaction({transaction:o,address:c.address,chain:d||"solana:mainnet",options:l});a.push({signedTransaction:u})}return a},ln(this,e6)[e6]=t,ln(this,t6)[t6]=e,ln(this,Qv)[Qv]=n,ln(this,Ma)[Ma]=r,ln(this,L1)[L1]=[],ln(this,n6)[n6]=!0,r.on("accountChanged",ln(this,U1)[U1],this),ln(this,U1)[U1](i)}}({name:"Privy",version:"1.0.0",icon:"data:image/png;base64,AAABAAEAFBQAAAAAIABlAQAAFgAAAIlQTkcNChoKAAAADUlIRFIAAAAUAAAAFAgGAAAAjYkdDQAAAAlwSFlzAAAOwwAADsMBx2+oZAAAAQVJREFUeJxiYMANZIC4E4ivAPFPIP4FxDeAuB+IlfDowwBMQFwJxF+B+D8O/AOI66Bq8QJGIF6ExyB0vAqImfEZmEeCYTDcgMswPiB+T4aB34FYApuBsWQYBsP52AycToGBK7EZuJECAw9jM3AVBQbuwWZgIwUGTsZmoDkFBnpiMxAEjpJh2FV8iVsbiD+TYBgoDVrgMgwGnID4HRGGgTKBGyHDYEAaiBdCSxh0g/5AU4Q8sYYhAzEgjoGmABBOgFo2eACowFABYn0oVgViAVINkQTiZUD8DIj/ATF6GILEXgLxCiCWIsZAbiAuBeKtQHwHiEHJ6C8UfwHie0C8E4jLoWpRAAAAAP//rcbhsQAAAAZJREFUAwBYFs3VKJ0cuQAAAABJRU5ErkJggg==",wallets:[],injection:Jj});function L0t(){let{ready:t}=_l(),{user:e}=Vw(),{signMessage:n}=Hye(),{signTransaction:r}=rQ(),{signAndSendTransaction:i}=(function(){let o=it(),{isHeadlessSigning:c,openModal:l}=Ge(),{setModalData:d}=dt(),{signTransaction:u}=rQ(),h=_W(),{user:p}=Vw(),{signWithUserSigner:g}=cW();return{signAndSendTransaction:async({transaction:m,address:y,chain:b="solana:mainnet",options:x})=>{let v=mc(p,y);if(v?.walletClientType!=="privy")throw new se("Wallet is not a Privy wallet",void 0,he.EMBEDDED_WALLET_NOT_FOUND);let E=Ri(v);async function C(w){if(x?.sponsor)return await(async P=>{if(!E)throw new se("Sponsoring transactions is only supported for wallets on the TEE stack",he.INVALID_DATA);let T=new cde({appId:o.id,clientId:o.appClientId,storage:jt}),M=await fc(T,g,{chain_type:"solana",method:"signAndSendTransaction",sponsor:!0,params:{transaction:X2(P).toString("base64"),encoding:"base64"},caip2:`solana:${(await h(b).rpc.getGenesisHash().send()).substring(0,32)}`,wallet_id:v.id});if(M.data&&"hash"in M.data)return{signature:GU.decode(M.data.hash)};throw Error("Failed to sign and send transaction")})(w);let{signedTransaction:S}=await u({transaction:w,address:y,chain:b,options:{...x,uiOptions:{...x?.uiOptions,showWalletUIs:!1}}}),{signature:I}=await h(b).sendAndConfirmTransaction(S);return{signature:I}}return c({showWalletUIs:x?.uiOptions?.showWalletUIs})?C(m):new Promise((async(w,S)=>{let I,P,{entropyId:T,entropyIdVerifier:M}=zi(p,v);function R(A){return k=>{S(k instanceof se?k:new se("Failed to connect to wallet",k,A))}}let O={account:v,transaction:m,chain:b,signOnly:!1,uiOptions:x?.uiOptions||{},onConfirm:C,onSuccess:w,onFailure:R(he.TRANSACTION_FAILURE),isSponsored:!!x?.sponsor},$={recoveryMethod:v.recoveryMethod,connectingWalletAddress:v.address,entropyId:T,entropyIdVerifier:M,isUnifiedWallet:E,onCompleteNavigateTo:"StandardSignAndSendTransactionScreen",onFailure:R(he.UNKNOWN_CONNECT_WALLET_ERROR)};o.fundingConfig&&(I=uRe({address:y,appConfig:o,methodScreen:"FundingMethodSelectionScreen",fundWalletConfig:{...x,asset:"native-currency",chain:b},externalSolanaFundingScreen:"FundSolWalletWithExternalSolanaWallet"}),P={amount:o.fundingConfig.defaultRecommendedAmount,asset:"SOL",chain:b,destinationAddress:y,afterSuccessScreen:"StandardSignAndSendTransactionScreen",sourceWalletData:void 0}),d({connectWallet:$,standardSignAndSendTransaction:O,funding:I,solanaFundingData:P}),l("EmbeddedWalletConnectingScreen")}))}}})(),s=_.useMemo((()=>{let o=[...zde(e).sort(((l,d)=>(l.walletIndex??0)-(d.walletIndex??0)))],c=yU(e);return c.length?[...o,...c]:o}),[e]),a=_.useMemo((()=>({signMessage:async({message:o,address:c,options:l})=>await n({message:o,address:c,options:l}),signTransaction:async({transaction:o,address:c,chain:l,options:d})=>await r({transaction:o,address:c,chain:l,options:d}),async signAndSendTransaction({transaction:o,address:c,chain:l,options:d}){let{signature:u}=await i({transaction:o,address:c,chain:l,options:d});return{signature:u}}})),[n,r,i]);return _.useEffect((()=>{Jj?.setImplementation(a)}),[a]),_.useEffect((()=>{var o;!t||(o=iQ.accounts).length===s.length&&o.every(((c,l)=>c.address===s[l]?.address))||Jj?.emit("accountChanged",s)}),[t,s]),{ready:t,wallet:iQ}}function B0t(){let{client:t}=Ge(),{ready:e,wallet:n}=L0t(),[r,i]=_.useState([]),[s,a]=_.useState([]);return _.useEffect((()=>{let o=[n,...r.filter((d=>d.chainType==="solana"&&!!d.wallet.features)).map((d=>d.wallet))];a(o);let c=r.flatMap((d=>{let u=()=>a([...o]);return d.on("walletsUpdated",u),{connector:d,off:u}})),l=o.map((d=>d.features["standard:events"]?.on("change",(()=>{a([...o])}))));return()=>{l.forEach((d=>d?.())),c.forEach((({connector:d,off:u})=>d.off("walletsUpdated",u)))}}),[r]),_.useEffect((()=>{i(t.connectors?.walletConnectors.filter((c=>c.chainType==="solana"))??[]);let o=()=>{i(t.connectors?.walletConnectors.filter((c=>c.chainType==="solana"))??[])};return t.connectors?.on("connectorInitialized",o),()=>{t.connectors?.off("connectorInitialized",o)}}),[e,t.connectors]),{ready:e,wallets:s}}function $W(){let{ready:t,wallets:e}=B0t();return{ready:t,wallets:_.useMemo((()=>e.flatMap((n=>n.accounts.map((r=>new hU({wallet:n,account:r})))))),[e])}}function U0t(){let{user:t,getAccessToken:e}=rn(),{walletProxy:n,openModal:r,client:i}=Ge(),{setModalData:s}=dt(),a=it();return _.useMemo((()=>({exportWallet:o=>new Promise((async(c,l)=>{if(!t)return void l(new se("User must be authenticated before exporting their Privy wallet"));let d=o?.address?mc(t,o.address):C5(t);if(!d)return void l(new se("User must have an embedded wallet."));if(!A5(d))return void l(Error(`Export is not supported for ${d.chainType} wallets`));let u=Ri(d),{entropyId:h,entropyIdVerifier:p}=zi(t,d);await e()?n?(s({connectWallet:{recoveryMethod:d.recoveryMethod,connectingWalletAddress:d.address,isUnifiedWallet:u,entropyId:h,entropyIdVerifier:p,onCompleteNavigateTo:"EmbeddedWalletKeyExportScreen",onFailure:l,shouldForceMFA:!0},keyExport:{appId:a.id,appClientId:a.appClientId,origin:i.apiUrl,address:d.address,entropyId:h,entropyIdVerifier:p,hdWalletIndex:d.walletIndex,chainType:d.chainType,walletId:d.id,isUnifiedWallet:u,imported:d.imported,onSuccess:c,onFailure:l}}),r("EmbeddedWalletConnectingScreen")):l(new se("Wallet not ready for export")):l(new se("Must have valid access token."))}))})),[t,e,n,r,i,s,a])}function F0t(){let{create:t}=Phe();return{createWallet:async e=>{e&&"target"in e&&e&&(e=void 0);let{account:n}=await t({chainType:"solana",options:e});return{wallet:n}}}}function W0t(){return{signMessage:async function(...t){let e=[];for(let n of t)e.push(await n.wallet.signMessage({...n,options:n.options}));return t.length===1?e[0]:[...e]}}}const t$=()=>{const{apiClient:t,config:e}=Md(),{login:n}=ORe(),{logout:r}=Rue(),{authenticated:i,ready:s,user:a,getAccessToken:o,exportWallet:c}=Vw(),{exportWallet:l}=U0t(),d=e.withExport??!1;_.useEffect(()=>{i&&t.setAccessTokenGetter(o)},[i,t,o]);const u=()=>{n()},h=async()=>{await r()},p=_.useCallback(async g=>{if(!d)throw new Error("Wallet export is not enabled. Set withExport: true in SupaProvider config to enable wallet export functionality.");return d?g?.address?l({address:g.address}):l():c(g)},[d,l,c]);return{login:u,logout:h,authenticated:i,loading:!s,user:a,getAccessToken:o,ready:s,exportWallet:p}},z0t=(t,e)=>t==="solana"?"solana":t==="stellar"?"stellar":e?"solana":"stellar",H0t=t=>{const e=t.startsWith("0x")?t.slice(2):t,n=new Uint8Array(e.length/2);for(let r=0;r<n.length;r++)n[r]=parseInt(e.substr(r*2,2),16);return n},V0t=t=>"0x"+Array.from(t).map(e=>e.toString(16).padStart(2,"0")).join("");function nv(){const{signTransactionConfirm:t,setModalLoading:e,config:n}=Md(),r=n.withExport??!1,{signRawHash:i}=I0t(),{signMessage:s}=W0t(),{wallets:a}=$W(),o=_.useRef(a);return _.useEffect(()=>{o.current=a},[a]),{signRawHashWithModal:_.useCallback(async(l,d)=>{const{skipModal:u=!1,title:h="Sign Hash",description:p="You are about to sign the following hash:",confirmText:g="Sign",rejectText:m="Reject",infoText:y,displayHash:b,showTechnicalDetails:x=!1}=d||{},v=b||(x?JSON.stringify({address:l.address,chainType:l.chainType,hash:l.hash},null,2):l.hash),E=async()=>{if(z0t(l.chainType,r)==="solana"){let S=o.current.find(T=>T.address===l.address);if(!S)for(let M=1;M<=30&&(await new Promise(R=>setTimeout(R,500)),S=o.current.find(R=>R.address===l.address),!S);M++);if(!S)throw new Error(`Wallet not found for address: ${l.address}`);const I=H0t(l.hash),P=await s({message:I,wallet:S,options:{uiOptions:{showWalletUIs:!1}}});return{signature:V0t(P.signature)}}else return await i({address:l.address,chainType:"stellar",hash:l.hash})};if(!u){if(!(await t({transaction:v,title:h,description:p,confirmText:g,rejectText:m,infoText:y})).confirmed)return null;e(!0);try{return await E()}finally{e(!1)}}return await E()},[r,i,s,t,e])}}const n$=(t,e,n="stellar")=>{const r=[];if(console.log("[getCantonWallets] chainType:",n),console.log("[getCantonWallets] wallets:",e?.map(a=>({address:a.address,chainType:a.chainType,walletClientType:a.walletClientType}))),console.log("[getCantonWallets] linkedAccounts:",t?.linkedAccounts?.filter(a=>a.type==="wallet").map(a=>({address:a.address,chainType:a.chainType}))),t?.linkedAccounts){const a=t.linkedAccounts.filter(o=>o.type==="wallet"&&o.chainType===n);r.push(...a)}const i=e.filter(a=>a.chainType===n);return r.push(...i),Array.from(new Map(r.map(a=>[a.address,a])).values())},QA=t=>{if(!t)throw new Error("Wallet is required");if(t.chainType==="solana"&&t.address)return Bye(t.address);let e=t.publicKey||t.public_key;if(!e&&t.linkedAccount&&(e=t.linkedAccount.publicKey||t.linkedAccount.public_key),!e)throw new Error("Public key not found in wallet. Wallet may still be creating. Please wait...");if(typeof e!="string")throw new Error(`Invalid publicKey type: ${typeof e}`);if(!/^(0x)?[0-9a-fA-F]+$/.test(e))throw new Error(`publicKey is not in hex format: ${e.substring(0,20)}...`);return Dye(e)},q0t=t=>t&&(t.chainType==="stellar"||t.chainType==="solana"),Z0t=(t,e,n="stellar")=>{const r=n$(t,e,n);if(r.length===0)throw new Error(`No ${n} wallet found. Please create one first.`);return r[0]};function oy(){const{user:t,authenticated:e}=t$(),{wallets:n}=_l(),{wallets:r}=$W(),{config:i}=Md(),s=i.withExport?"solana":"stellar";let a=[];e&&(i.withExport?r&&r.length>0&&(a=r.map(c=>({address:c.address,chainType:"solana",walletClientType:"privy"})),console.log("[useCantonWallet] mapped wallets:",a)):a=n$(t,n,s));const o=a[0]||null;return{cantonWallets:a,cantonWallet:o}}const K0t=oy,y3="supa-sdk:canton:matched-signing-wallet:v1",Vye=t=>t==="stellar"||t==="solana",IW=()=>{if(typeof window>"u")return null;try{return window.localStorage}catch{return null}},G0t=()=>{const t=IW();if(!t)return null;const e=t.getItem(y3);if(!e)return null;try{const n=JSON.parse(e);return typeof n?.address!="string"||!Vye(n?.chainType)||typeof n?.cantonPublicKey!="string"||typeof n?.savedAt!="number"?(t.removeItem(y3),null):n}catch{return t.removeItem(y3),null}},TE=(t,e)=>{const n=IW();if(!n)return;const r={address:t.wallet.address,chainType:t.chainType,cantonPublicKey:e,savedAt:Date.now()};try{n.setItem(y3,JSON.stringify(r))}catch{}},sQ=()=>{const t=IW();t&&t.removeItem(y3)},w3=t=>{if(!t||typeof t!="string")return null;const e=t.replace(/\s/g,"");if(!e)return null;const n=e.length%4;return n===0?e:`${e}${"=".repeat(4-n)}`},Y0t=(t,e)=>{if(!t?.address)return null;const n=Vye(t.chainType)?t.chainType:e;return{wallet:{...t,chainType:n},chainType:n}},J0t=(t,e,n)=>n$(t,e,n).filter(r=>typeof r?.address=="string"&&r.address.length>0).map(r=>({...r,chainType:n})),X0t=({primaryWallet:t,stellarWallets:e,solanaWallets:n,cantonPublicKey:r,defaultChainType:i})=>{const s=new Map,a=(d,u)=>{if(!d)return;const h=Y0t(d,u);h&&s.set(`${h.chainType}:${h.wallet.address}`,h)};a(t,i);for(const d of e)a(d,"stellar");for(const d of n)a(d,"solana");const o=Array.from(s.values());if(o.length===0)throw new Error("No Canton wallet found. Please create a wallet first.");const c=w3(r);let l=G0t();if(l&&c&&l.cantonPublicKey!==c&&(sQ(),l=null),c)for(const d of o)try{const u=w3(QA(d.wallet));if(u&&u===c)return TE(d,c),d}catch{}if(l){const d=l,u=o.find(h=>h.chainType===d.chainType&&h.wallet.address===d.address);if(u){if(!c)return TE(u,d.cantonPublicKey),u;const h=c;try{const p=w3(QA(u.wallet));if(p&&p===h)return TE(u,h),u}catch{return TE(u,d.cantonPublicKey),u}}sQ()}return o.find(d=>d.chainType===i)||o[0]},qye=_.createContext(null);function Xj({cantonService:t,children:e,withExport:n=!1,autoOnboarding:r=!0,autoTransferPreapproval:i=!1}){const{user:s,authenticated:a}=t$(),{wallets:o}=_l(),{signRawHashWithModal:c}=nv(),{createWallet:l}=$0t(),{createWallet:d}=F0t(),{cantonWallet:u,cantonWallets:h}=oy(),p=n?"solana":"stellar",g=_.useRef(o),m=_.useRef(s);_.useEffect(()=>{g.current=o,m.current=s},[o,s]);const[y,b]=_.useState(!1),[x,v]=_.useState(null),[E,C]=_.useState(!1),[w,S]=_.useState(null),[I,P]=_.useState(null),T=_.useRef(!1),M=_.useRef(!1),R=_.useRef(!1),O=_.useRef(!1),$=_.useRef(null),A=_.useRef(null),k=_.useRef(null),L=_.useRef(null),D=_.useRef(!1),N=_.useCallback(We=>J0t(m.current,g.current,We),[]),j=_.useCallback(async()=>{let We=w3(w?.publicKey);if(!We&&E)try{const Me=await t.getMe();S(Me),We=w3(Me.publicKey)}catch{}return X0t({primaryWallet:u,stellarWallets:N("stellar"),solanaWallets:N("solana"),cantonPublicKey:We,defaultChainType:p})},[u,p,N,w?.publicKey,E,t]);_.useEffect(()=>{a&&u&&!T.current&&(T.current=!0,F())},[a,u]);const F=async()=>{try{const We=await t.checkRegistrationStatus();C(We)}catch{C(!1)}};_.useEffect(()=>{a&&u&&E&&!M.current&&(M.current=!0,(async()=>{try{const Me=await t.getMe();if(S(Me),!i)return;!Me.transferPreapprovalSet&&!D.current&&u&&(D.current=!0,nt(Me).catch(rt=>{console.warn("[Supa SDK] ❌ Failed to automatically setup transfer preapproval:",rt)}))}catch(Me){console.error("[Supa SDK] Failed to fetch Canton user info:",Me)}})())},[a,u,E,i]);const W=_.useCallback(()=>{v(null)},[]),q=_.useCallback(()=>{console.log("[Supa SDK] 🔄 Resetting Canton state..."),b(!1),v(null),C(!1),S(null),P(null),T.current=!1,M.current=!1,R.current=!1,O.current=!1,D.current=!1,$.current=null,A.current=null,k.current=null,L.current=null,console.log("[Supa SDK] ✅ Canton state reset complete")},[]),V=_.useCallback(async()=>{if(!a)throw new Error("User must be authenticated to create wallet");b(!0),v(null);try{const We=n?await d():await l({chainType:"stellar"});if(We){const Me=We.wallet||We;if(Me.public_key||Me.publicKey||Me.address)return console.log(`[Supa SDK] ✅ ${n?"Solana":"Stellar"} wallet created successfully`),Me;await new Promise(Ie=>setTimeout(Ie,2e3));const rt=N(p);return rt[0]?(console.log(`[Supa SDK] ✅ ${n?"Solana":"Stellar"} wallet created successfully`),rt[0]):Me}return null}catch(We){if(We.message?.toLowerCase().includes("already has an embedded wallet")||We.message?.toLowerCase().includes("already has a wallet")){console.log("[Supa SDK] Wallet already exists, fetching existing one...");const rt=10;for(let $t=1;$t<=rt;$t++){const B=N(p)[0];if(B)return console.log("[Supa SDK] ✅ Found existing wallet:",B.address),b(!1),B;$t<rt&&(console.log(`[Supa SDK] Wallet not found in state, polling... (${$t}/${rt})`),await new Promise(U=>setTimeout(U,500)))}const Ie=new Error("Wallet exists in Privy but not found in local state. Please refresh the page.");throw v(Ie),Ie}const Me=new Error(`Failed to create ${n?"Solana":"Stellar"} wallet: ${We.message}`);throw v(Me),Me}finally{b(!1)}},[a,l,d,n,N,p]),Z=_.useCallback(async We=>{try{const{wallet:Me,chainType:rt}=await j(),Ie=nd(We),$t=await c({address:Me.address,chainType:rt,hash:Ie},{title:"Sign Hash",description:"You are about to sign the following hash.",confirmText:"Sign",rejectText:"Reject",displayHash:`Hash: ${We}`});if(!$t)throw new Error("User rejected signature");return td($t.signature)}catch(Me){throw new Error(`Failed to sign hash: ${Me.message}`)}},[j,c]),te=_.useCallback(async We=>{if($.current)return $.current;if(E){console.log("[Supa SDK] ✅ Canton wallet already registered, skipping");return}const Me=(async()=>{b(!0),v(null);try{let rt=u;if(!rt){const J=await V();if(J?rt=J:(await new Promise(ue=>setTimeout(ue,2e3)),rt=N(p)[0]||null),!rt)throw new Error("Failed to create Canton wallet. Please try again.")}rt&&rt.chainType!=="solana"&&rt.chainType!=="stellar"&&(rt={...rt,chainType:p});let Ie=null,$t=0;const z=10;for(;$t<z&&!Ie;)try{Ie=QA(rt);break}catch(J){if($t++,$t>=z)throw new Error(`${J.message} After ${z} attempts, the wallet is still not ready.`);await new Promise(ue=>setTimeout(ue,2e3));const ee=N(p);ee[0]&&(rt=ee[0],rt.chainType!=="solana"&&rt.chainType!=="stellar"&&(rt={...rt,chainType:p}))}if(!Ie)throw new Error("Failed to obtain public key from wallet");await new Promise(J=>setTimeout(J,1e3));const B=async J=>{let ee=0;const ue=5;for(console.log("[Supa SDK] 🔐 Signing with wallet:",rt.address);ee<ue;)try{console.log(`[Supa SDK] 🔐 Sign attempt ${ee+1}/${ue}...`);const we=await c({address:rt.address,chainType:rt.chainType||p,hash:J},{skipModal:!0});if(!we)throw new Error("User rejected signature");return console.log("[Supa SDK] ✅ Signature obtained successfully"),we.signature}catch(we){if(ee++,console.log(`[Supa SDK] ❌ Sign attempt ${ee} failed:`,we.message),(we.message?.includes("Wallet not found")||we.message?.includes("not initialized")||we.message?.includes("proxy")||we.message?.includes("Wallet"))&&ee<ue){const st=ee===1?2e3:ee===2?3e3:4e3;console.log(`[Supa SDK] ⏳ Waiting ${st/1e3}s before retry...`),await new Promise(Ht=>setTimeout(Ht,st));continue}throw we}throw new Error("Failed to sign after multiple attempts")};if(await t.registerCanton({publicKey:Ie,signFunction:B,inviteCode:We})==="registered"){console.log("[Supa SDK] ✅ Canton wallet already registered or registration completed"),C(!0);return}console.log("[Supa SDK] ✅ Canton wallet registered successfully"),C(!0)}catch(rt){console.error("[Supa SDK] ❌ Canton registration failed:",rt);const Ie=new Error(`Failed to register Canton wallet: ${rt.message}`);throw v(Ie),Ie}finally{b(!1),$.current=null}})();return $.current=Me,Me},[u,V,c,t,E,N,p]),ne=_.useCallback(async(We,Me)=>{b(!0),v(null);try{const rt=async Ie=>{const{wallet:$t,chainType:z}=await j(),B=await c({address:$t.address,chainType:z,hash:Ie},{title:"Tap Devnet Faucet",description:`You are requesting ${We} tokens from the devnet faucet.`,confirmText:"Confirm & Sign",rejectText:"Cancel",displayHash:`Request ${We} Canton tokens from devnet faucet`});if(!B)throw new Error("User rejected signature");return B.signature};return await t.tapDevnet({amount:We,signFunction:rt},Me)}catch(rt){const Ie=new Error(`Failed to tap devnet: ${rt.message}`);throw v(Ie),Ie}finally{b(!1)}},[j,c,t]),Q=_.useCallback(async()=>{if(A.current)return A.current;const We=(async()=>{try{const Me=await t.getMe();return S(Me),Me}finally{setTimeout(()=>{A.current=null},100)}})();return A.current=We,We},[t]),re=_.useCallback(async(We,Me)=>await t.getActiveContracts(We,Me),[t]),fe=_.useCallback(async()=>{if(k.current)return k.current;const We=(async()=>{try{const Me=await t.getBalances();return P(Me),Me}finally{setTimeout(()=>{k.current=null},100)}})();return k.current=We,We},[t]),Ae=_.useCallback(async We=>{b(!0),v(null);try{const Me=async rt=>{const{wallet:Ie,chainType:$t}=await j(),z=await c({address:Ie.address,chainType:$t,hash:rt},{title:"Sign Message",description:"You are about to sign the following message:",confirmText:"Sign",rejectText:"Reject",displayHash:We});if(!z)throw new Error("User rejected signature");return z.signature};return await t.signMessage(We,Me)}catch(Me){const rt=new Error(`Failed to sign message: ${Me.message}`);throw v(rt),rt}finally{b(!1)}},[j,c,t]),Ne=_.useCallback(async(We,Me,rt)=>{b(!0),v(null);try{const{wallet:Ie,chainType:$t}=await j(),z=await t.prepareTransaction(We,Me,rt?.commandId);rt?.onCostEstimation&&z.costEstimation&&await rt.onCostEstimation(z.costEstimation);const B=nd(z.hash),U=await c({address:Ie.address,chainType:$t,hash:B},{title:"Sign Transaction",description:"Review and sign the following transaction.",confirmText:"Sign & Send",rejectText:"Reject",displayHash:`Transaction Hash: ${z.hash}`});if(!U)throw new Error("User rejected transaction");const J=td(U.signature);return await t.submitPreparedAndWait(z.hash,J,rt)}catch(Ie){const $t=new Error(`Failed to send transaction: ${Ie.message}`);throw v($t),$t}finally{b(!1)}},[j,c,t]),oe=_.useCallback(async(We,Me,rt,Ie)=>{b(!0),v(null);try{const{wallet:$t,chainType:z}=await j(),B=Ie?.instrumentId||"Amulet",U=Ie?.instrumentAdmin,J=B==="Amulet",ee=await t.prepareTransfer({receiverPartyId:We,amount:Me,instrumentId:B,instrumentAdmin:U,memo:rt});Ie?.onCostEstimation&&ee.costEstimation&&await Ie.onCostEstimation(ee.costEstimation);const ue=nd(ee.hash),we=await c({address:$t.address,chainType:z,hash:ue},{skipModal:Ie?.skipModal||!1,title:J?"Send Canton Coin":`Send ${B}`,description:`You are sending ${Me} ${J?"Canton Coin":B}${rt?` (${rt})`:""}.`,confirmText:"Confirm & Sign",rejectText:"Cancel",displayHash:`Sending ${Me} ${J?"CC":B} to ${We.slice(0,20)}...`});if(!we)throw new Error("User rejected transfer");const st=td(we.signature),Ht=await t.submitPreparedAndWait(ee.hash,st,Ie);return await fe().catch(()=>{}),Ht}catch($t){if($t.message?.includes("CantonTransferOnlySupportedForWalletsWithPreapprovedTransfers")){const U=new Error("Transfer preapproval required. The receiver wallet must have transfer preapproval enabled.");throw v(U),U}const z=Ie?.instrumentId&&Ie.instrumentId!=="Amulet"?`token ${Ie.instrumentId}`:"Canton Coin",B=new Error(`Failed to send ${z}: ${$t.message}`);throw v(B),B}finally{b(!1)}},[j,c,t,fe]),je=_.useCallback(async(We="Amulet",Me,rt)=>{const $t=(typeof rt=="string"?rt.trim():"")||w?.partyId||(await Q()).partyId;return await t.calculateTransferFee({partyId:$t,instrumentId:We,instrumentAdmin:Me})},[w,Q,t]),nt=_.useCallback(async We=>{if(L.current)return L.current;if((We||w)?.transferPreapprovalSet)return;D.current=!0;const rt=(async()=>{b(!0),v(null);try{const{wallet:Ie,chainType:$t}=await j();if(!We){const ee=await t.getMe();if(ee.transferPreapprovalSet){S(ee);return}}const z=await t.prepareTransferPreapproval(),B=nd(z.hash),U=await c({address:Ie.address,chainType:$t,hash:B},{skipModal:!0});if(!U)throw new Error("User rejected transfer preapproval signature");const J=td(U.signature);if(await t.submitPreparedAndWait(z.hash,J),We)S({...We,transferPreapprovalSet:!0});else{const ee=await t.getMe();S(ee)}}catch(Ie){const $t=new Error(`Failed to setup transfer preapproval: ${Ie.message}`);throw v($t),$t}finally{b(!1),L.current=null}})();return L.current=rt,rt},[j,c,t,w]),et=_.useCallback(async()=>nt(),[nt]),ht=_.useCallback(async()=>await t.getPendingIncomingTransfers(),[t]),Ke=_.useCallback(async(We,Me,rt)=>{b(!0),v(null);try{const{wallet:Ie,chainType:$t}=await j(),z=await t.prepareResponseToIncomingTransfer({contractId:We,accept:Me});rt?.onCostEstimation&&z.costEstimation&&await rt.onCostEstimation(z.costEstimation);const B=nd(z.hash),U=await c({address:Ie.address,chainType:$t,hash:B},{title:Me?"Accept Transfer":"Reject Transfer",description:`You are about to ${Me?"accept":"reject"} an incoming transfer.`,confirmText:"Confirm & Sign",rejectText:"Cancel",displayHash:`${Me?"Accepting":"Rejecting"} transfer ${We.slice(0,20)}...`});if(!U)throw new Error("User rejected signature");const J=td(U.signature),ee=await t.submitPreparedAndWait(z.hash,J,rt);return Me&&await fe().catch(()=>{}),ee}catch(Ie){const $t=new Error(`Failed to respond to transfer: ${Ie.message}`);throw v($t),$t}finally{b(!1)}},[j,c,t,fe]),Oe=_.useCallback(async We=>await t.getTransactions(We),[t]),qe=_.useCallback(async We=>await t.getPriceHistory(We),[t]);_.useEffect(()=>{if(console.log("[Supa SDK] auto-onboarding effect:",{autoOnboarding:r,authenticated:a,loading:y,cantonWallet:u?.address,hasAutoCreatedWallet:R.current}),!r||!a||y)return;(async()=>{if(console.log("[Supa SDK] runAutoOnboarding:",{cantonWallet:u?.address,hasAutoCreatedWallet:R.current,withExport:n}),!u&&!R.current){R.current=!0;try{n?await d():await l({chainType:"stellar"}),console.log(`[Supa SDK] ✅ ${n?"Solana":"Stellar"} wallet auto-created`)}catch(Me){console.warn(`[Supa SDK] ❌ Failed to auto-create ${n?"Solana":"Stellar"} wallet:`,Me)}return}if(u&&!E&&!O.current&&!$.current){O.current=!0;try{await te()}catch(Me){console.warn("[Supa SDK] ❌ Failed to auto-register Canton:",Me),O.current=!1}}})()},[r,a,y,u,E,l,d,te,n]);const zt={cantonWallet:u,cantonWallets:h,createCantonWallet:V,registerCanton:te,isRegistered:E,cantonUser:w,getMe:Q,getActiveContracts:re,cantonBalances:I,getBalances:fe,tapDevnet:ne,signHash:Z,signMessage:Ae,sendTransaction:Ne,sendCantonCoin:oe,calculateTransferFee:je,setupTransferPreapproval:et,getPendingIncomingTransfers:ht,respondToIncomingTransfer:Ke,getTransactions:Oe,getPriceHistory:qe,resetState:q,loading:y,error:x,clearError:W};return f.jsx(qye.Provider,{value:zt,children:e})}function Zye(){const t=_.useContext(qye);if(!t)throw new Error("useCantonContext must be used within CantonProvider (inside SupaProvider)");return t}const Q0t="0.2.39";typeof window<"u"&&!window.Buffer&&(window.Buffer=Upt.Buffer,console.log("[Supa SDK] ✅ Buffer polyfill initialized"));const Qj=_.createContext(null);function e1t({config:t,children:e}){const[n,r]=_.useState(null),[i,s]=_.useState({type:null,options:null,resolve:null,loading:!1});_.useEffect(()=>{const S=Rye({baseURL:t.apiBaseUrl,nodeIdentifier:t.nodeIdentifier,supaAppId:t.supaAppId,sdkVersion:Q0t}),I=b0t(S),P=x0t(S);r({apiClient:S,cantonService:I,apiService:P})},[t]);const a=_.useCallback(S=>I=>new Promise(P=>s({type:S,options:I,resolve:P,loading:!1})),[]),o=_.useCallback(a("confirm"),[a]),c=_.useCallback(a("signMessage"),[a]),l=_.useCallback(a("signTransaction"),[a]),d=_.useCallback(S=>{s(I=>({...I,loading:S}))},[]),u=_.useCallback(()=>{i.resolve&&i.resolve({confirmed:!1}),s({type:null,options:null,resolve:null,loading:!1})},[i.resolve]),h=_.useCallback(()=>{i.resolve&&i.resolve({confirmed:!0}),s({type:null,options:null,resolve:null,loading:!1})},[i.resolve]),p=_.useCallback(()=>{i.resolve&&i.resolve({confirmed:!1}),s({type:null,options:null,resolve:null,loading:!1})},[i.resolve]);if(!n)return null;const g=t.appearance?.theme||"light",m=g==="dark"?"privy-dark":"privy-light",y={embeddedWallets:{ethereum:{createOnLogin:"users-without-wallets"},...t.withExport&&{solana:{createOnLogin:"users-without-wallets"}}},appearance:{theme:g,accentColor:t.appearance?.accentColor?`#${t.appearance.accentColor.replace("#","")}`:void 0,logo:t.appearance?.logo},loginMethods:t.loginMethods||["email","wallet"],defaultChain:t.defaultChain,supportedChains:t.supportedChains},b={...n,config:t,theme:g,confirm:o,signMessageConfirm:c,signTransactionConfirm:l,setModalLoading:d,closeModal:u},x=i.type!==null,v=i.type==="confirm",E=i.type==="signMessage",C=i.type==="signTransaction",w=t.smartWallets?.enabled??!1;return f.jsx(Tut,{appId:t.privyAppId,clientId:t.privyClientId,config:y,children:w?f.jsx(Npt,{config:t.smartWallets?.paymasterContext?{paymasterContext:t.smartWallets.paymasterContext}:void 0,children:f.jsx(Qj.Provider,{value:b,children:f.jsx(Xj,{cantonService:n.cantonService,withExport:t.withExport,autoOnboarding:t.autoOnboarding,autoTransferPreapproval:t.onboardingStages?.transferPreapproval??!1,children:f.jsxs("div",{className:m,children:[e,v&&i.options&&f.jsx(O4,{open:x,onClose:p,onConfirm:h,onReject:p,loading:i.loading,...i.options}),E&&i.options&&f.jsx(Gj,{open:x,onClose:p,onConfirm:h,onReject:p,loading:i.loading,...i.options}),C&&i.options&&f.jsx(Yj,{open:x,onClose:p,onConfirm:h,onReject:p,loading:i.loading,...i.options})]})})})}):f.jsx(Qj.Provider,{value:b,children:f.jsx(Xj,{cantonService:n.cantonService,withExport:t.withExport,autoOnboarding:t.autoOnboarding,autoTransferPreapproval:t.onboardingStages?.transferPreapproval??!1,children:f.jsxs("div",{className:m,children:[e,v&&i.options&&f.jsx(O4,{open:x,onClose:p,onConfirm:h,onReject:p,loading:i.loading,...i.options}),E&&i.options&&f.jsx(Gj,{open:x,onClose:p,onConfirm:h,onReject:p,loading:i.loading,...i.options}),C&&i.options&&f.jsx(Yj,{open:x,onClose:p,onConfirm:h,onReject:p,loading:i.loading,...i.options})]})})})})}function Md(){const t=_.useContext(Qj);if(!t)throw new Error("useSupaContext must be used within SupaProvider");return t}function Kye(){return Zye()}const t1t=()=>{const{apiService:t}=Md();return{user:{getCurrent:()=>t.getCurrentUser(),getAll:()=>t.getAllUsers(),getByPrivyId:e=>t.getUserByPrivyId(e),getBalance:e=>t.getSmartWalletBalances(e)},dialogs:{create:e=>t.createDialog(e),findAll:e=>t.getAllDialogs(e),findOne:e=>t.getDialog(e),delete:e=>t.deleteDialog(e)},messages:{create:(e,n)=>t.createMessage(e,n),findAll:(e,n)=>t.getDialogMessages(e,n),findOne:e=>t.getMessage(e)},onchain:{getPricesByAddresses:e=>t.getTokenPricesByAddresses(e),getTokenPrices:e=>t.getTokenPrices(e),getPriceHistory:e=>t.getTokenPriceHistory(e),get24hrPriceChanges:e=>t.getTokens24hrPriceChanges(e),getTokenInfo:(e,n)=>t.getTokenInfo(e,n),getAccountBalances:(e,n,r)=>t.getAccountTokenBalances(e,n,r)},transactions:{get:e=>t.getTransactions(e),forceLoad:e=>t.forceLoadTransactions(e)},supaPoints:{getBalance:()=>t.getSupaPointsBalance(),getHistory:e=>t.getSupaPointsHistory(e),dailyLogin:()=>t.dailyLogin()},paymaster:{checkSponsorship:e=>t.checkPaymasterSponsorship(e)},privy:{getBalance:()=>t.getPrivyBalance()}}},Gye=()=>{const t=t$(),e=Kye(),n=t1t();return{auth:t,canton:e,api:n,onboard:async()=>{if(!t.authenticated){t.login();return}e.isRegistered||await e.registerCanton()},logout:async()=>{console.log("[Supa SDK] 🚪 Logging out..."),e.resetState(),await t.logout(),console.log("[Supa SDK] ✅ Logout complete")}}};function n1t(){const{cantonService:t}=Md(),{signRawHashWithModal:e}=nv(),{cantonWallet:n,cantonWallets:r}=oy(),[i,s]=_.useState(!1),[a,o]=_.useState(null),c=_.useCallback(()=>o(null),[]);return{signMessage:_.useCallback(async(d,u)=>{const{onSuccess:h,onRejection:p,onError:g,skipModal:m=!1,title:y="Sign Message",description:b="You are about to sign the following message.",confirmText:x="Sign",rejectText:v="Reject",displayContent:E,showTechnicalDetails:C=!1}=u||{};if(!n){const w=new Error("No Canton wallet found. Please create one first.");return o(w),g?.(w),null}o(null),s(!0);try{const w=async I=>{const P=await e({address:n.address,chainType:n.chainType,hash:I},{skipModal:m,title:y,description:b,confirmText:x,rejectText:v,infoText:"Signing a message proves ownership of your wallet without exposing private keys or making any blockchain transactions.",displayHash:C?void 0:E||d,showTechnicalDetails:C});if(!P)throw new Error("User rejected signature");return P.signature},S=await t.signMessage(d,w);return h?.(S),S}catch(w){if(w.message.includes("rejected"))p?.();else{const I=new Error(`Failed to sign message: ${w.message}`);o(I),g?.(I)}return null}finally{s(!1)}},[n,e,t]),loading:i,error:a,clearError:c,cantonWallets:r,cantonWallet:n}}function r1t(){const{cantonService:t}=Md(),{signRawHashWithModal:e}=nv(),{cantonWallet:n,cantonWallets:r}=oy(),[i,s]=_.useState(!1),[a,o]=_.useState(null),c=_.useCallback(()=>o(null),[]);return{sendTransaction:_.useCallback(async(d,u,h)=>{const{onSuccess:p,onRejection:g,onError:m,skipModal:y=!1,modalTitle:b="Sign Transaction",modalDescription:x="Review and sign the following transaction.",modalConfirmText:v="Sign & Send",modalRejectText:E="Reject",modalDisplayContent:C,showTechnicalDetails:w=!1,commandId:S,submitOptions:I}=h||{};if(!n){const P=new Error("No Stellar wallet found. Please create one first.");return o(P),m?.(P),null}o(null),s(!0);try{const P=await t.prepareTransaction(d,u,S),T=C||(w?void 0:`Transaction Hash: ${P.hash}`),M=nd(P.hash),R=await e({address:n.address,chainType:"solana",hash:M},{skipModal:y,title:b,description:x,confirmText:v,rejectText:E,infoText:"You are submitting a transaction, please be careful",displayHash:T,showTechnicalDetails:w});if(!R)return g?.(),null;const O=td(R.signature),$=await t.submitPreparedAndWait(P.hash,O,I);return p?.($),$}catch(P){if(P.message.includes("rejected"))g?.();else{const M=new Error(`Failed to send transaction: ${P.message}`);o(M),m?.(M)}return null}finally{s(!1)}},[n,e,t]),loading:i,error:a,clearError:c,cantonWallets:r,cantonWallet:n}}function h2(t){if(t instanceof Error)return t.message;if(typeof t=="string")return t;try{return JSON.stringify(t)}catch{return String(t)}}function aQ(t){const e=h2(t).toLowerCase();return e.includes("rejected")||e.includes("user rejected")||e.includes("user denied")||e.includes("cancelled")||e.includes("canceled")||e.includes("denied")}function Hy(t,e){const n=t+1;return e?`tx #${n} (${e})`:`tx #${n}`}async function i1t(t){const{queryCompletion:e,submissionId:n,label:r,options:i}=t,{timeout:s=3e4,pollInterval:a=1e3}=i||{},o=Date.now();for(;Date.now()-o<s;){const c=await e(n);if(c.status==="completed")return c;await new Promise(l=>setTimeout(l,a))}throw new Error(`Timeout waiting for completion for ${r} after ${s}ms (submissionId: ${n})`)}function Yye(){const{cantonService:t,config:e,signTransactionConfirm:n}=Md(),{signRawHashWithModal:r}=nv(),{cantonWallet:i,cantonWallets:s}=oy(),[a,o]=_.useState(!1),[c,l]=_.useState(null),d=_.useCallback(()=>l(null),[]);return{sendMultipleTransactions:_.useCallback(async(h,p)=>{const{onSuccess:g,onRejection:m,onError:y,skipModal:b=!1,modalTitle:x="Sign Multiple Transactions",modalDescription:v,modalConfirmText:E="Sign & Send",modalRejectText:C="Reject",showTechnicalDetails:w=!1,deduplicationPeriod:S,submitOptions:I}=p||{};if(!i){const P=new Error("No Canton wallet found. Please create one first.");return l(P),y?.(P),null}if(!Array.isArray(h)||h.length===0){const P=new Error("No transactions provided.");return l(P),y?.(P),null}l(null),o(!0);try{const P=await Promise.allSettled(h.map(j=>t.prepareTransaction(j.commands,j.disclosedContracts,j.commandId))),T=[],M=[];if(P.forEach((j,F)=>{j.status==="fulfilled"?T[F]=j.value:M.push({index:F,error:h2(j.reason)})}),M.length){const j=M[0];throw new Error(`Failed to prepare ${M.length}/${h.length} transactions. First failure at ${Hy(j.index)}: ${j.error}`)}const R=T.map((j,F)=>{if(!w)return`Transaction Hash: ${j.hash}`;const W=h[F];return JSON.stringify({index:F+1,hash:j.hash,commands:W?.commands,disclosedContracts:W?.disclosedContracts},null,2)});if(!b){const j=T.length;if(!(await n({transaction:R,title:x,description:v??`You are about to sign ${j} transactions.`,confirmText:E,rejectText:C,infoText:"You are submitting transactions, please be careful"})).confirmed)return m?.(),null}const O=e.withExport?"solana":"stellar",$=[];for(let j=0;j<T.length;j++){const F=T[j];try{const W=nd(F.hash),q=await r({address:i.address,chainType:O,hash:W},{skipModal:!0});if(!q)return m?.(),null;$.push({hash:F.hash,signature:td(q.signature),...S&&{deduplicationPeriod:S}})}catch(W){if(aQ(W))return m?.(),null;throw new Error(`Failed to sign ${Hy(j,F.hash)}: ${h2(W)}`)}}let A;try{A=await t.submitMultiplePrepared($)}catch{A=(await Promise.allSettled($.map(async W=>{const q=await t.submitPrepared(W.hash,W.signature,W.deduplicationPeriod);return{hash:W.hash,success:!0,submissionId:q.submissionId}}))).map((W,q)=>{const V=$[q]?.hash??"";return W.status==="fulfilled"?W.value:{hash:V,success:!1,error:h2(W.reason)}})}const k=A.map((j,F)=>({r:j,idx:F})).filter(({r:j})=>!j.success);if(k.length){const j=k.slice(0,3).map(({r:W,idx:q})=>`${Hy(q,W.hash)}: ${W.error??"Unknown error"}`).join("; "),F=k.length>3?` (+${k.length-3} more)`:"";throw new Error(`Failed to submit ${k.length}/${A.length} transactions: ${j}${F}`)}const L=await Promise.allSettled(A.map((j,F)=>{const W=j.submissionId;return W?i1t({queryCompletion:q=>t.queryCompletion(q),submissionId:W,label:Hy(F,j.hash),options:I}):Promise.reject(new Error(`Missing submissionId for ${Hy(F,j.hash)}`))})),D=[],N=[];if(L.forEach((j,F)=>{j.status==="fulfilled"?D[F]=j.value:N.push({index:F,error:h2(j.reason)})}),N.length){const j=N[0];throw new Error(`Failed to wait for completion for ${N.length}/${A.length} transactions. First failure at ${Hy(j.index,A[j.index]?.hash)}: ${j.error}`)}return g?.(D),D}catch(P){if(aQ(P))m?.();else{const T=new Error(`Failed to send multiple transactions: ${h2(P)}`);l(T),y?.(T)}return null}finally{o(!1)}},[t,i,e.withExport,r,n]),loading:a,error:c,clearError:d,cantonWallets:s,cantonWallet:i}}function s1t(){const{sendMultipleTransactions:t,loading:e,error:n,clearError:r,cantonWallets:i,cantonWallet:s}=Yye();return{sendTransactions:(o,c)=>t(o,c),loading:e,error:n,clearError:r,cantonWallets:i,cantonWallet:s}}function a1t(){const{cantonService:t,config:e}=Md(),{cantonWallet:n}=oy(),{signRawHashWithModal:r}=nv(),[i,s]=_.useState(!1),[a,o]=_.useState(null),c=_.useCallback(()=>o(null),[]);return{runInitializationTransactions:_.useCallback(async()=>{if(console.log("[Init Txs] Starting initialization transactions..."),!n){const d=new Error("No Canton wallet found. Please create one first.");throw o(d),d}s(!0),o(null);try{console.log("[Init Txs] Preparing transactions...");const d=await t.prepareInitializationTransactions();if(console.log("[Init Txs] Prepared transactions:",d),!d.length)return console.log("[Init Txs] No transactions to initialize"),[];const u=e.withExport?"solana":"stellar";console.log("[Init Txs] Chain type:",u);const h=[];for(const p of d){console.log("[Init Txs] Signing transaction:",p.hash);const g=nd(p.hash),m=await r({address:n.address,chainType:u,hash:g},{skipModal:!0});if(!m)throw console.error("[Init Txs] User rejected signature"),new Error("User rejected initialization transaction signature");console.log("[Init Txs] Transaction signed successfully"),h.push({hash:p.hash,signature:td(m.signature)})}console.log("[Init Txs] Submitting all transactions...");try{const p=await t.submitMultiplePrepared(h);return console.log("[Init Txs] ✅ All transactions submitted:",p),p}catch(p){console.warn("[Init Txs] Batch submit failed, trying individual submits:",p);const m=(await Promise.allSettled(h.map(async y=>{const b=await t.submitPrepared(y.hash,y.signature);return{hash:y.hash,submissionId:b.submissionId}}))).map((y,b)=>{const x=h[b]?.hash??"";return y.status==="fulfilled"?{hash:x,success:!0,submissionId:y.value.submissionId}:{hash:x,success:!1,error:y.reason?.message??String(y.reason??"Unknown error")}});return console.log("[Init Txs] ✅ Individual submits completed:",m),m}}catch(d){console.error("[Init Txs] ❌ Error:",d);const u=new Error(`Failed to run initialization transactions: ${d.message??String(d)}`);throw o(u),u}finally{s(!1)}},[n,t,e.withExport,r]),loading:i,error:a,clearError:c}}function o1t(){const{confirm:t,signMessageConfirm:e,signTransactionConfirm:n,setModalLoading:r,closeModal:i}=Md();return{confirm:t,signMessageConfirm:e,signTransactionConfirm:n,setModalLoading:r,closeModal:i}}function c1t(){const{client:t,getClientForChain:e}=Rpt();return{client:t,getClientForChain:e,address:t?.account?.address,ready:!!t}}function Jye(t){return"contractEntry"in t&&t.contractEntry!=null}function l1t(t){if(Jye(t)){const e=t.contractEntry.JsActiveContract.createdEvent;return{contractId:e.contractId,templateId:e.templateId,createArgument:e.createArgument,createdEventBlob:e.createdEventBlob,createdAt:e.createdAt}}return{contractId:t.contractId,templateId:t.templateId,createArgument:t.createArgument,createdEventBlob:t.createdEventBlob,createdAt:null}}const Pe={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"},CHAIN_NAME_MAP:{eip155:"EVM Networks",solana:"Solana",polkadot:"Polkadot",bip122:"Bitcoin",cosmos:"Cosmos",sui:"Sui",stacks:"Stacks"},ADAPTER_TYPES:{BITCOIN:"bitcoin",SOLANA:"solana",WAGMI:"wagmi",ETHERS:"ethers",ETHERS5:"ethers5"},USDT_CONTRACT_ADDRESSES:["0xdac17f958d2ee523a2206206994597c13d831ec7","0xc2132d05d31c914a87c6611c10748aeb04b58e8f","0x9702230a8ea53601f5cd2dc00fdbc13d4df4a8c7","0x919C1c267BC06a7039e03fcc2eF738525769109c","0x48065fbBE25f71C9282ddf5e1cD6D6A887483D5e","0x55d398326f99059fF775485246999027B3197955","0xfd086bc7cd5c481dcc9c85ebe478a1c0b69fcbb9"],SOLANA_SPL_TOKEN_ADDRESSES:{SOL:"So11111111111111111111111111111111111111112"},HTTP_STATUS_CODES:{SERVER_ERROR:500,TOO_MANY_REQUESTS:429,SERVICE_UNAVAILABLE:503,FORBIDDEN:403},UNSUPPORTED_NETWORK_NAME:"Unknown Network",SECURE_SITE_SDK_ORIGIN:(typeof process<"u"&&typeof process.env<"u"?process.env.NEXT_PUBLIC_SECURE_SITE_ORIGIN:void 0)||"https://secure.walletconnect.org",REMOTE_FEATURES_ALERTS:{MULTI_WALLET_NOT_ENABLED:{DEFAULT:{displayMessage:"Multi-Wallet Not Enabled",debugMessage:"Multi-wallet support is not enabled. Please enable it in your AppKit configuration at cloud.reown.com."},CONNECTIONS_HOOK:{displayMessage:"Multi-Wallet Not Enabled",debugMessage:"Multi-wallet support is not enabled. Please enable it in your AppKit configuration at cloud.reown.com to use the useAppKitConnections hook."},CONNECTION_HOOK:{displayMessage:"Multi-Wallet Not Enabled",debugMessage:"Multi-wallet support is not enabled. Please enable it in your AppKit configuration at cloud.reown.com to use the useAppKitConnection hook."}}},IS_DEVELOPMENT:typeof process<"u"&&process.env.NODE_ENV==="development"},kW={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(n=>n.chainNamespace===e)||[]},getFirstNetworkByNamespace(t,e){return this.getNetworksByNamespace(t,e)[0]},getNetworkNameByCaipNetworkId(t,e){if(!e)return;const n=t.find(i=>i.caipNetworkId===e);if(n)return n.name;const[r]=e.split(":");return Pe.CHAIN_NAME_MAP?.[r]||void 0}},Xye=["eip155","solana","polkadot","bip122","cosmos","sui","stacks"];var d1t=20,u1t=1,Em=1e6,oQ=1e6,h1t=-7,p1t=21,f1t=!1,Q5="[big.js] ",cy=Q5+"Invalid ",r$=cy+"decimal places",g1t=cy+"rounding mode",Qye=Q5+"Division by zero",ar={},Au=void 0,m1t=/^-?(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i;function e2e(){function t(e){var n=this;if(!(n instanceof t))return e===Au?e2e():new t(e);if(e instanceof t)n.s=e.s,n.e=e.e,n.c=e.c.slice();else{if(typeof e!="string"){if(t.strict===!0&&typeof e!="bigint")throw TypeError(cy+"value");e=e===0&&1/e<0?"-0":String(e)}y1t(n,e)}n.constructor=t}return t.prototype=ar,t.DP=d1t,t.RM=u1t,t.NE=h1t,t.PE=p1t,t.strict=f1t,t.roundDown=0,t.roundHalfUp=1,t.roundHalfEven=2,t.roundUp=3,t}function y1t(t,e){var n,r,i;if(!m1t.test(e))throw Error(cy+"number");for(t.s=e.charAt(0)=="-"?(e=e.slice(1),-1):1,(n=e.indexOf("."))>-1&&(e=e.replace(".","")),(r=e.search(/e/i))>0?(n<0&&(n=r),n+=+e.slice(r+1),e=e.substring(0,r)):n<0&&(n=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=n-r-1,t.c=[],n=0;r<=i;)t.c[n++]=+e.charAt(r++)}return t}function ly(t,e,n,r){var i=t.c;if(n===Au&&(n=t.constructor.RM),n!==0&&n!==1&&n!==2&&n!==3)throw Error(g1t);if(e<1)r=n===3&&(r||!!i[0])||e===0&&(n===1&&i[0]>=5||n===2&&(i[0]>5||i[0]===5&&(r||i[1]!==Au))),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=n===1&&i[e]>=5||n===2&&(i[e]>5||i[e]===5&&(r||i[e+1]!==Au||i[e-1]&1))||n===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 dy(t,e,n){var r=t.e,i=t.c.join(""),s=i.length;if(e)i=i.charAt(0)+(s>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>s)for(r-=s;r--;)i+="0";else r<s&&(i=i.slice(0,r)+"."+i.slice(r));else s>1&&(i=i.charAt(0)+"."+i.slice(1));return t.s<0&&n?"-"+i:i}ar.abs=function(){var t=new this.constructor(this);return t.s=1,t};ar.cmp=function(t){var e,n=this,r=n.c,i=(t=new n.constructor(t)).c,s=n.s,a=t.s,o=n.e,c=t.e;if(!r[0]||!i[0])return r[0]?s:i[0]?-a:0;if(s!=a)return s;if(e=s<0,o!=c)return o>c^e?1:-1;for(a=(o=r.length)<(c=i.length)?o:c,s=-1;++s<a;)if(r[s]!=i[s])return r[s]>i[s]^e?1:-1;return o==c?0:o>c^e?1:-1};ar.div=function(t){var e=this,n=e.constructor,r=e.c,i=(t=new n(t)).c,s=e.s==t.s?1:-1,a=n.DP;if(a!==~~a||a<0||a>Em)throw Error(r$);if(!i[0])throw Error(Qye);if(!r[0])return t.s=s,t.c=[t.e=0],t;var o,c,l,d,u,h=i.slice(),p=o=i.length,g=r.length,m=r.slice(0,o),y=m.length,b=t,x=b.c=[],v=0,E=a+(b.e=e.e-t.e)+1;for(b.s=s,s=E<0?0:E,h.unshift(0);y++<o;)m.push(0);do{for(l=0;l<10;l++){if(o!=(y=m.length))d=o>y?1:-1;else for(u=-1,d=0;++u<o;)if(i[u]!=m[u]){d=i[u]>m[u]?1:-1;break}if(d<0){for(c=y==o?i:h;y;){if(m[--y]<c[y]){for(u=y;u&&!m[--u];)m[u]=9;--m[u],m[y]+=10}m[y]-=c[y]}for(;!m[0];)m.shift()}else break}x[v++]=d?l:++l,m[0]&&d?m[y]=r[p]||0:m=[r[p]]}while((p++<g||m[0]!==Au)&&s--);return!x[0]&&v!=1&&(x.shift(),b.e--,E--),v>E&&ly(b,E,n.RM,m[0]!==Au),b};ar.eq=function(t){return this.cmp(t)===0};ar.gt=function(t){return this.cmp(t)>0};ar.gte=function(t){return this.cmp(t)>-1};ar.lt=function(t){return this.cmp(t)<0};ar.lte=function(t){return this.cmp(t)<1};ar.minus=ar.sub=function(t){var e,n,r,i,s=this,a=s.constructor,o=s.s,c=(t=new a(t)).s;if(o!=c)return t.s=-c,s.plus(t);var l=s.c.slice(),d=s.e,u=t.c,h=t.e;if(!l[0]||!u[0])return u[0]?t.s=-c:l[0]?t=new a(s):t.s=1,t;if(o=d-h){for((i=o<0)?(o=-o,r=l):(h=d,r=u),r.reverse(),c=o;c--;)r.push(0);r.reverse()}else for(n=((i=l.length<u.length)?l:u).length,o=c=0;c<n;c++)if(l[c]!=u[c]){i=l[c]<u[c];break}if(i&&(r=l,l=u,u=r,t.s=-t.s),(c=(n=u.length)-(e=l.length))>0)for(;c--;)l[e++]=0;for(c=e;n>o;){if(l[--n]<u[n]){for(e=n;e&&!l[--e];)l[e]=9;--l[e],l[n]+=10}l[n]-=u[n]}for(;l[--c]===0;)l.pop();for(;l[0]===0;)l.shift(),--h;return l[0]||(t.s=1,l=[h=0]),t.c=l,t.e=h,t};ar.mod=function(t){var e,n=this,r=n.constructor,i=n.s,s=(t=new r(t)).s;if(!t.c[0])throw Error(Qye);return n.s=t.s=1,e=t.cmp(n)==1,n.s=i,t.s=s,e?new r(n):(i=r.DP,s=r.RM,r.DP=r.RM=0,n=n.div(t),r.DP=i,r.RM=s,this.minus(n.times(t)))};ar.neg=function(){var t=new this.constructor(this);return t.s=-t.s,t};ar.plus=ar.add=function(t){var e,n,r,i=this,s=i.constructor;if(t=new s(t),i.s!=t.s)return t.s=-t.s,i.minus(t);var a=i.e,o=i.c,c=t.e,l=t.c;if(!o[0]||!l[0])return l[0]||(o[0]?t=new s(i):t.s=i.s),t;if(o=o.slice(),e=a-c){for(e>0?(c=a,r=l):(e=-e,r=o),r.reverse();e--;)r.push(0);r.reverse()}for(o.length-l.length<0&&(r=l,l=o,o=r),e=l.length,n=0;e;o[e]%=10)n=(o[--e]=o[e]+l[e]+n)/10|0;for(n&&(o.unshift(n),++c),e=o.length;o[--e]===0;)o.pop();return t.c=o,t.e=c,t};ar.pow=function(t){var e=this,n=new e.constructor("1"),r=n,i=t<0;if(t!==~~t||t<-oQ||t>oQ)throw Error(cy+"exponent");for(i&&(t=-t);t&1&&(r=r.times(e)),t>>=1,!!t;)e=e.times(e);return i?n.div(r):r};ar.prec=function(t,e){if(t!==~~t||t<1||t>Em)throw Error(cy+"precision");return ly(new this.constructor(this),t,e)};ar.round=function(t,e){if(t===Au)t=0;else if(t!==~~t||t<-Em||t>Em)throw Error(r$);return ly(new this.constructor(this),t+this.e+1,e)};ar.sqrt=function(){var t,e,n,r=this,i=r.constructor,s=r.s,a=r.e,o=new i("0.5");if(!r.c[0])return new i(r);if(s<0)throw Error(Q5+"No square root");s=Math.sqrt(+dy(r,!0,!0)),s===0||s===1/0?(e=r.c.join(""),e.length+a&1||(e+="0"),s=Math.sqrt(e),a=((a+1)/2|0)-(a<0||a&1),t=new i((s==1/0?"5e":(s=s.toExponential()).slice(0,s.indexOf("e")+1))+a)):t=new i(s+""),a=t.e+(i.DP+=4);do n=t,t=o.times(n.plus(r.div(n)));while(n.c.slice(0,a).join("")!==t.c.slice(0,a).join(""));return ly(t,(i.DP-=4)+t.e+1,i.RM)};ar.times=ar.mul=function(t){var e,n=this,r=n.constructor,i=n.c,s=(t=new r(t)).c,a=i.length,o=s.length,c=n.e,l=t.e;if(t.s=n.s==t.s?1:-1,!i[0]||!s[0])return t.c=[t.e=0],t;for(t.e=c+l,a<o&&(e=i,i=s,s=e,l=a,a=o,o=l),e=new Array(l=a+o);l--;)e[l]=0;for(c=o;c--;){for(o=0,l=a+c;l>c;)o=e[l]+s[c]*i[l-c-1]+o,e[l--]=o%10,o=o/10|0;e[l]=o}for(o?++t.e:e.shift(),c=e.length;!e[--c];)e.pop();return t.c=e,t};ar.toExponential=function(t,e){var n=this,r=n.c[0];if(t!==Au){if(t!==~~t||t<0||t>Em)throw Error(r$);for(n=ly(new n.constructor(n),++t,e);n.c.length<t;)n.c.push(0)}return dy(n,!0,!!r)};ar.toFixed=function(t,e){var n=this,r=n.c[0];if(t!==Au){if(t!==~~t||t<0||t>Em)throw Error(r$);for(n=ly(new n.constructor(n),t+n.e+1,e),t=t+n.e+1;n.c.length<t;)n.c.push(0)}return dy(n,!1,!!r)};ar[Symbol.for("nodejs.util.inspect.custom")]=ar.toJSON=ar.toString=function(){var t=this,e=t.constructor;return dy(t,t.e<=e.NE||t.e>=e.PE,!!t.c[0])};ar.toNumber=function(){var t=+dy(this,!0,!0);if(this.constructor.strict===!0&&!this.eq(t.toString()))throw Error(Q5+"Imprecise conversion");return t};ar.toPrecision=function(t,e){var n=this,r=n.constructor,i=n.c[0];if(t!==Au){if(t!==~~t||t<1||t>Em)throw Error(cy+"precision");for(n=ly(new r(n),t,e);n.c.length<t;)n.c.push(0)}return dy(n,t<=n.e||n.e<=r.NE||n.e>=r.PE,!!i)};ar.valueOf=function(){var t=this,e=t.constructor;if(e.strict===!0)throw Error(Q5+"valueOf disallowed");return dy(t,t.e<=e.NE||t.e>=e.PE,!0)};var Lf=e2e();const Li={bigNumber(t){return t?new Lf(t):new Lf(0)},multiply(t,e){if(t===void 0||e===void 0)return new Lf(0);const n=new Lf(t),r=new Lf(e);return n.times(r)},toFixed(t,e=2){return t===void 0||t===""?new Lf(0).toFixed(e):new Lf(t).toFixed(e)},formatNumberToLocalString(t,e=2){return t===void 0||t===""?"0.00":typeof t=="number"?t.toLocaleString("en-US",{maximumFractionDigits:e,minimumFractionDigits:e,roundingMode:"floor"}):parseFloat(t).toLocaleString("en-US",{maximumFractionDigits:e,minimumFractionDigits:e,roundingMode:"floor"})},parseLocalStringToNumber(t){if(t===void 0||t==="")return 0;const e=t.replace(/,/gu,"");return new Lf(e).toNumber()}},w1t=[{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"}]}],b1t=[{type:"function",name:"approve",stateMutability:"nonpayable",inputs:[{name:"spender",type:"address"},{name:"amount",type:"uint256"}],outputs:[{type:"bool"}]}],v1t=[{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"}]}],x1t={getERC20Abi:t=>Pe.USDT_CONTRACT_ADDRESSES.includes(t)?v1t:w1t,getSwapAbi:()=>b1t},qs={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[n,r,i]=e;if(!n||!r||!i)throw new Error(`Invalid CAIP-10 address: ${t}`);return{chainNamespace:n,chainId:r,address:i}},parseCaipNetworkId(t){const e=t.split(":");if(e.length!==2)throw new Error(`Invalid CAIP-2 network id: ${t}`);const[n,r]=e;if(!n||!r)throw new Error(`Invalid CAIP-2 network id: ${t}`);return{chainNamespace:n,chainId:r}}},du={RPC_ERROR_CODE:{USER_REJECTED_REQUEST:4001},PROVIDER_RPC_ERROR_NAME:{PROVIDER_RPC:"ProviderRpcError",USER_REJECTED_REQUEST:"UserRejectedRequestError"},isRpcProviderError(t){try{if(typeof t=="object"&&t!==null){const e=t,n=typeof e.message=="string",r=typeof e.code=="number";return n&&r}return!1}catch{return!1}},isUserRejectedMessage(t){return t.toLowerCase().includes("user rejected")||t.toLowerCase().includes("user cancelled")||t.toLowerCase().includes("user canceled")},isUserRejectedRequestError(t){return du.isRpcProviderError(t)?t.code===du.RPC_ERROR_CODE.USER_REJECTED_REQUEST||du.isUserRejectedMessage(t.message):t instanceof Error?du.isUserRejectedMessage(t.message):!1}};class E1t extends Error{constructor(e,n){super(n.message,{cause:e}),this.name=du.PROVIDER_RPC_ERROR_NAME.PROVIDER_RPC,this.code=n.code}}class t2e extends E1t{constructor(e){super(e,{code:du.RPC_ERROR_CODE.USER_REJECTED_REQUEST,message:"User rejected the request"}),this.name=du.PROVIDER_RPC_ERROR_NAME.USER_REJECTED_REQUEST}}const Tt={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",RECENT_WALLET:"@appkit/recent_wallet",DEEPLINK_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",DISCONNECTED_CONNECTOR_IDS:"@appkit/disconnected_connector_ids",HISTORY_TRANSACTIONS_CACHE:"@appkit/history_transactions_cache",TOKEN_PRICE_CACHE:"@appkit/token_price_cache",RECENT_EMAILS:"@appkit/recent_emails",LATEST_APPKIT_VERSION:"@appkit/latest_version"};function tP(t){if(!t)throw new Error("Namespace is required for CONNECTED_CONNECTOR_ID");return`@appkit/${t}:connected_connector_id`}const _t={setItem(t,e){Z6()&&e!==void 0&&localStorage.setItem(t,e)},getItem(t){if(Z6())return localStorage.getItem(t)||void 0},removeItem(t){Z6()&&localStorage.removeItem(t)},clear(){Z6()&&localStorage.clear()}};function Z6(){return typeof window<"u"&&typeof localStorage<"u"}function e7(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":"#202020"}}const C1t=Symbol(),cQ=Object.getPrototypeOf,eD=new WeakMap,A1t=t=>t&&(eD.has(t)?eD.get(t):cQ(t)===Object.prototype||cQ(t)===Array.prototype),S1t=t=>A1t(t)&&t[C1t]||null,lQ=(t,e=!0)=>{eD.set(t,e)},t7={},TW=t=>typeof t=="object"&&t!==null,_1t=t=>TW(t)&&!e8.has(t)&&(Array.isArray(t)||!(Symbol.iterator in t))&&!(t instanceof WeakMap)&&!(t instanceof WeakSet)&&!(t instanceof Error)&&!(t instanceof Number)&&!(t instanceof Date)&&!(t instanceof String)&&!(t instanceof RegExp)&&!(t instanceof ArrayBuffer)&&!(t instanceof Promise),n2e=(t,e)=>{const n=tD.get(t);if(n?.[0]===e)return n[1];const r=Array.isArray(t)?[]:Object.create(Object.getPrototypeOf(t));return lQ(r,!0),tD.set(t,[e,r]),Reflect.ownKeys(t).forEach(i=>{if(Object.getOwnPropertyDescriptor(r,i))return;const s=Reflect.get(t,i),{enumerable:a}=Reflect.getOwnPropertyDescriptor(t,i),o={value:s,enumerable:a,configurable:!0};if(e8.has(s))lQ(s,!1);else if(e1.has(s)){const[c,l]=e1.get(s);o.value=n2e(c,l())}Object.defineProperty(r,i,o)}),Object.preventExtensions(r)},$1t=(t,e,n,r)=>({deleteProperty(i,s){const a=Reflect.get(i,s);n(s);const o=Reflect.deleteProperty(i,s);return o&&r(["delete",[s],a]),o},set(i,s,a,o){const c=!t()&&Reflect.has(i,s),l=Reflect.get(i,s,o);if(c&&(dQ(l,a)||N4.has(a)&&dQ(l,N4.get(a))))return!0;n(s),TW(a)&&(a=S1t(a)||a);const d=!e1.has(a)&&k1t(a)?Ar(a):a;return e(s,d),Reflect.set(i,s,d,o),r(["set",[s],a,l]),!0}}),e1=new WeakMap,e8=new WeakSet,tD=new WeakMap,FC=[1],N4=new WeakMap;let dQ=Object.is,I1t=(t,e)=>new Proxy(t,e),k1t=_1t,T1t=n2e,P1t=$1t;function Ar(t={}){if(!TW(t))throw new Error("object required");const e=N4.get(t);if(e)return e;let n=FC[0];const r=new Set,i=(y,b=++FC[0])=>{n!==b&&(s=n=b,r.forEach(x=>x(y,b)))};let s=n;const a=(y=FC[0])=>(s!==y&&(s=y,c.forEach(([b])=>{const x=b[1](y);x>n&&(n=x)})),n),o=y=>(b,x)=>{const v=[...b];v[1]=[y,...v[1]],i(v,x)},c=new Map,l=(y,b)=>{const x=!e8.has(b)&&e1.get(b);if(x){if((t7?"production":void 0)!=="production"&&c.has(y))throw new Error("prop listener already exists");if(r.size){const v=x[2](o(y));c.set(y,[x,v])}else c.set(y,[x])}},d=y=>{var b;const x=c.get(y);x&&(c.delete(y),(b=x[1])==null||b.call(x))},u=y=>(r.add(y),r.size===1&&c.forEach(([x,v],E)=>{if((t7?"production":void 0)!=="production"&&v)throw new Error("remove already exists");const C=x[2](o(E));c.set(E,[x,C])}),()=>{r.delete(y),r.size===0&&c.forEach(([x,v],E)=>{v&&(v(),c.set(E,[x]))})});let h=!0;const p=P1t(()=>h,l,d,i),g=I1t(t,p);N4.set(t,g);const m=[t,a,u];return e1.set(g,m),Reflect.ownKeys(t).forEach(y=>{const b=Object.getOwnPropertyDescriptor(t,y);"value"in b&&b.writable&&(g[y]=t[y])}),h=!1,g}function as(t,e,n){const r=e1.get(t);(t7?"production":void 0)!=="production"&&!r&&console.warn("Please use proxy object");let i;const s=[],a=r[2];let o=!1;const l=a(d=>{s.push(d),i||(i=Promise.resolve().then(()=>{i=void 0,o&&e(s.splice(0))}))});return o=!0,()=>{o=!1,l()}}function R4(t){const e=e1.get(t);(t7?"production":void 0)!=="production"&&!e&&console.warn("Please use proxy object");const[n,r]=e;return T1t(n,r())}function nb(t){return e8.add(t),t}function O1t(){return{proxyStateMap:e1,refSet:e8,snapCache:tD,versionHolder:FC,proxyCache:N4}}function os(t,e,n,r){let i=t[e];return as(t,()=>{const s=t[e];Object.is(i,s)||n(i=s)})}const{proxyStateMap:N1t,snapCache:R1t}=O1t(),PE=t=>N1t.has(t);function M1t(t){const e=[];let n=0;const r=new Map,i=new WeakMap,s=()=>{const l=R1t.get(o),d=l?.[1];if(d&&!i.has(d)){const u=new Map(r);i.set(d,u)}},a=l=>i.get(l)||r,o={data:e,index:n,epoch:0,get size(){return PE(this)||s(),a(this).size},get(l){const u=a(this).get(l);if(u===void 0){this.epoch;return}return this.data[u]},has(l){const d=a(this);return this.epoch,d.has(l)},set(l,d){if(!PE(this))throw new Error("Cannot perform mutations on a snapshot");const u=r.get(l);return u===void 0?(r.set(l,this.index),this.data[this.index++]=d):this.data[u]=d,this.epoch++,this},delete(l){if(!PE(this))throw new Error("Cannot perform mutations on a snapshot");const d=r.get(l);return d===void 0?!1:(delete this.data[d],r.delete(l),this.epoch++,!0)},clear(){if(!PE(this))throw new Error("Cannot perform mutations on a snapshot");this.data.length=0,this.index=0,this.epoch++,r.clear()},forEach(l){this.epoch,a(this).forEach((u,h)=>{l(this.data[u],h,this)})},*entries(){this.epoch;const l=a(this);for(const[d,u]of l)yield[d,this.data[u]]},*keys(){this.epoch;const l=a(this);for(const d of l.keys())yield d},*values(){this.epoch;const l=a(this);for(const d of l.values())yield this.data[d]},[Symbol.iterator](){return this.entries()},get[Symbol.toStringTag](){return"Map"},toJSON(){return new Map(this.entries())}},c=Ar(o);return Object.defineProperties(c,{size:{enumerable:!1},index:{enumerable:!1},epoch:{enumerable:!1},data:{enumerable:!1},toJSON:{enumerable:!1}}),Object.seal(c),c}const nP=(typeof process<"u"&&typeof process.env<"u"?process.env.NEXT_PUBLIC_SECURE_SITE_ORIGIN:void 0)||"https://secure.walletconnect.org",r2e=[{label:"Meld.io",name:"meld",feeRange:"1-2%",url:"https://meldcrypto.com",supportedChains:["eip155","solana"]}],j1t="WXETMuFUQmqqybHuRkSgxv:25B8LJHSfpG6LVjR2ytU5Cwh7Z4Sch2ocoU",bn={FOUR_MINUTES_MS:24e4,TEN_SEC_MS:1e4,FIVE_SEC_MS:5e3,THREE_SEC_MS:3e3,ONE_SEC_MS:1e3,SECURE_SITE:nP,SECURE_SITE_DASHBOARD:`${nP}/dashboard`,SECURE_SITE_FAVICON:`${nP}/images/favicon.png`,SOLANA_NATIVE_TOKEN_ADDRESS:"So11111111111111111111111111111111111111111",RESTRICTED_TIMEZONES:["ASIA/SHANGHAI","ASIA/URUMQI","ASIA/CHONGQING","ASIA/HARBIN","ASIA/KASHGAR","ASIA/MACAU","ASIA/HONG_KONG","ASIA/MACAO","ASIA/BEIJING","ASIA/HARBIN"],SWAP_SUGGESTED_TOKENS:["ETH","UNI","1INCH","AAVE","SOL","ADA","AVAX","DOT","LINK","NITRO","GAIA","MILK","TRX","NEAR","GNO","WBTC","DAI","WETH","USDC","USDT","ARB","BAL","BICO","CRV","ENS","MATIC","OP"],SWAP_POPULAR_TOKENS:["ETH","UNI","1INCH","AAVE","SOL","ADA","AVAX","DOT","LINK","NITRO","GAIA","MILK","TRX","NEAR","GNO","WBTC","DAI","WETH","USDC","USDT","ARB","BAL","BICO","CRV","ENS","MATIC","OP","METAL","DAI","CHAMP","WOLF","SALE","BAL","BUSD","MUST","BTCpx","ROUTE","HEX","WELT","amDAI","VSQ","VISION","AURUM","pSP","SNX","VC","LINK","CHP","amUSDT","SPHERE","FOX","GIDDY","GFC","OMEN","OX_OLD","DE","WNT"],BALANCE_SUPPORTED_CHAINS:[Pe.CHAIN.EVM,Pe.CHAIN.SOLANA],SEND_PARAMS_SUPPORTED_CHAINS:[Pe.CHAIN.EVM],SWAP_SUPPORTED_NETWORKS:["eip155:1","eip155:42161","eip155:10","eip155:324","eip155:8453","eip155:56","eip155:137","eip155:100","eip155:43114","eip155:250","eip155:8217","eip155:1313161554"],NAMES_SUPPORTED_CHAIN_NAMESPACES:[Pe.CHAIN.EVM],ONRAMP_SUPPORTED_CHAIN_NAMESPACES:[Pe.CHAIN.EVM,Pe.CHAIN.SOLANA],PAY_WITH_EXCHANGE_SUPPORTED_CHAIN_NAMESPACES:[Pe.CHAIN.EVM,Pe.CHAIN.SOLANA],ACTIVITY_ENABLED_CHAIN_NAMESPACES:[Pe.CHAIN.EVM],NATIVE_TOKEN_ADDRESS:{eip155:"0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee",solana:"So11111111111111111111111111111111111111111",polkadot:"0x",bip122:"0x",cosmos:"0x",sui:"0x",stacks:"0x"},CONVERT_SLIPPAGE_TOLERANCE:1,CONNECT_LABELS:{MOBILE:"Open and continue in the wallet app",WEB:"Open and continue in the wallet app"},SEND_SUPPORTED_NAMESPACES:[Pe.CHAIN.EVM,Pe.CHAIN.SOLANA],DEFAULT_REMOTE_FEATURES:{swaps:["1inch"],onramp:["meld"],email:!0,socials:["google","x","discord","farcaster","github","apple","facebook"],activity:!0,reownBranding:!0,multiWallet:!1,emailCapture:!1,payWithExchange:!1,payments:!1,reownAuthentication:!1},DEFAULT_REMOTE_FEATURES_DISABLED:{email:!1,socials:!1,swaps:!1,onramp:!1,activity:!1,reownBranding:!1,emailCapture:!1,reownAuthentication:!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,reownAuthentication:!1},DEFAULT_SOCIALS:["google","x","farcaster","discord","apple","github","facebook"],DEFAULT_ACCOUNT_TYPES:{bip122:"payment",eip155:"smartAccount",polkadot:"eoa",solana:"eoa"},ADAPTER_TYPES:{UNIVERSAL:"universal",SOLANA:"solana",WAGMI:"wagmi",ETHERS:"ethers",ETHERS5:"ethers5",BITCOIN:"bitcoin"},SIWX_DEFAULTS:{signOutOnDisconnect:!0}},ze={cacheExpiry:{portfolio:3e4,nativeBalance:3e4,ens:3e5,identity:3e5,transactionsHistory:15e3,tokenPrice:15e3,latestAppKitVersion:6048e5},isCacheExpired(t,e){return Date.now()-t>e},getActiveNetworkProps(){const t=ze.getActiveNamespace(),e=ze.getActiveCaipNetworkId(),n=e?e.split(":")[1]:void 0,r=n?isNaN(Number(n))?n:Number(n):void 0;return{namespace:t,caipNetworkId:e,chainId:r}},setWalletConnectDeepLink({name:t,href:e}){try{_t.setItem(Tt.DEEPLINK_CHOICE,JSON.stringify({href:e,name:t}))}catch{console.info("Unable to set WalletConnect deep link")}},getWalletConnectDeepLink(){try{const t=_t.getItem(Tt.DEEPLINK_CHOICE);if(t)return JSON.parse(t)}catch{console.info("Unable to get WalletConnect deep link")}},deleteWalletConnectDeepLink(){try{_t.removeItem(Tt.DEEPLINK_CHOICE)}catch{console.info("Unable to delete WalletConnect deep link")}},setActiveNamespace(t){try{_t.setItem(Tt.ACTIVE_NAMESPACE,t)}catch{console.info("Unable to set active namespace")}},setActiveCaipNetworkId(t){try{_t.setItem(Tt.ACTIVE_CAIP_NETWORK_ID,t),ze.setActiveNamespace(t.split(":")[0])}catch{console.info("Unable to set active caip network id")}},getActiveCaipNetworkId(){try{return _t.getItem(Tt.ACTIVE_CAIP_NETWORK_ID)}catch{console.info("Unable to get active caip network id");return}},deleteActiveCaipNetworkId(){try{_t.removeItem(Tt.ACTIVE_CAIP_NETWORK_ID)}catch{console.info("Unable to delete active caip network id")}},deleteConnectedConnectorId(t){try{const e=tP(t);_t.removeItem(e)}catch{console.info("Unable to delete connected connector id")}},setAppKitRecent(t){try{const e=ze.getRecentWallets();e.find(r=>r.id===t.id)||(e.unshift(t),e.length>2&&e.pop(),_t.setItem(Tt.RECENT_WALLETS,JSON.stringify(e)),_t.setItem(Tt.RECENT_WALLET,JSON.stringify(t)))}catch{console.info("Unable to set AppKit recent")}},getRecentWallets(){try{const t=_t.getItem(Tt.RECENT_WALLETS);return t?JSON.parse(t):[]}catch{console.info("Unable to get AppKit recent")}return[]},getRecentWallet(){try{const t=_t.getItem(Tt.RECENT_WALLET);return t?JSON.parse(t):null}catch{console.info("Unable to get AppKit recent")}return null},deleteRecentWallet(){try{_t.removeItem(Tt.RECENT_WALLET)}catch{console.info("Unable to delete AppKit recent")}},setConnectedConnectorId(t,e){try{const n=tP(t);_t.setItem(n,e)}catch{console.info("Unable to set Connected Connector Id")}},getActiveNamespace(){try{return _t.getItem(Tt.ACTIVE_NAMESPACE)}catch{console.info("Unable to get active namespace")}},getConnectedConnectorId(t){if(t)try{const e=tP(t);return _t.getItem(e)}catch{console.info("Unable to get connected connector id in namespace",t)}},setConnectedSocialProvider(t){try{_t.setItem(Tt.CONNECTED_SOCIAL,t)}catch{console.info("Unable to set connected social provider")}},getConnectedSocialProvider(){try{return _t.getItem(Tt.CONNECTED_SOCIAL)}catch{console.info("Unable to get connected social provider")}},deleteConnectedSocialProvider(){try{_t.removeItem(Tt.CONNECTED_SOCIAL)}catch{console.info("Unable to delete connected social provider")}},getConnectedSocialUsername(){try{return _t.getItem(Tt.CONNECTED_SOCIAL_USERNAME)}catch{console.info("Unable to get connected social username")}},getStoredActiveCaipNetworkId(){return _t.getItem(Tt.ACTIVE_CAIP_NETWORK_ID)?.split(":")?.[1]},setConnectionStatus(t){try{_t.setItem(Tt.CONNECTION_STATUS,t)}catch{console.info("Unable to set connection status")}},getConnectionStatus(){try{return _t.getItem(Tt.CONNECTION_STATUS)}catch{return}},getConnectedNamespaces(){try{const t=_t.getItem(Tt.CONNECTED_NAMESPACES);return t?.length?t.split(","):[]}catch{return[]}},setConnectedNamespaces(t){try{const e=Array.from(new Set(t));_t.setItem(Tt.CONNECTED_NAMESPACES,e.join(","))}catch{console.info("Unable to set namespaces in storage")}},addConnectedNamespace(t){try{const e=ze.getConnectedNamespaces();e.includes(t)||(e.push(t),ze.setConnectedNamespaces(e))}catch{console.info("Unable to add connected namespace")}},removeConnectedNamespace(t){try{const e=ze.getConnectedNamespaces(),n=e.indexOf(t);n>-1&&(e.splice(n,1),ze.setConnectedNamespaces(e))}catch{console.info("Unable to remove connected namespace")}},getTelegramSocialProvider(){try{return _t.getItem(Tt.TELEGRAM_SOCIAL_PROVIDER)}catch{return console.info("Unable to get telegram social provider"),null}},setTelegramSocialProvider(t){try{_t.setItem(Tt.TELEGRAM_SOCIAL_PROVIDER,t)}catch{console.info("Unable to set telegram social provider")}},removeTelegramSocialProvider(){try{_t.removeItem(Tt.TELEGRAM_SOCIAL_PROVIDER)}catch{console.info("Unable to remove telegram social provider")}},getBalanceCache(){let t={};try{const e=_t.getItem(Tt.PORTFOLIO_CACHE);t=e?JSON.parse(e):{}}catch{console.info("Unable to get balance cache")}return t},removeAddressFromBalanceCache(t){try{const e=ze.getBalanceCache();_t.setItem(Tt.PORTFOLIO_CACHE,JSON.stringify({...e,[t]:void 0}))}catch{console.info("Unable to remove address from balance cache",t)}},getBalanceCacheForCaipAddress(t){try{const n=ze.getBalanceCache()[t];if(n&&!this.isCacheExpired(n.timestamp,this.cacheExpiry.portfolio))return n.balance;ze.removeAddressFromBalanceCache(t)}catch{console.info("Unable to get balance cache for address",t)}},updateBalanceCache(t){try{const e=ze.getBalanceCache();e[t.caipAddress]=t,_t.setItem(Tt.PORTFOLIO_CACHE,JSON.stringify(e))}catch{console.info("Unable to update balance cache",t)}},getNativeBalanceCache(){let t={};try{const e=_t.getItem(Tt.NATIVE_BALANCE_CACHE);t=e?JSON.parse(e):{}}catch{console.info("Unable to get balance cache")}return t},removeAddressFromNativeBalanceCache(t){try{const e=ze.getBalanceCache();_t.setItem(Tt.NATIVE_BALANCE_CACHE,JSON.stringify({...e,[t]:void 0}))}catch{console.info("Unable to remove address from balance cache",t)}},getNativeBalanceCacheForCaipAddress(t){try{const n=ze.getNativeBalanceCache()[t];if(n&&!this.isCacheExpired(n.timestamp,this.cacheExpiry.nativeBalance))return n;console.info("Discarding cache for address",t),ze.removeAddressFromBalanceCache(t)}catch{console.info("Unable to get balance cache for address",t)}},updateNativeBalanceCache(t){try{const e=ze.getNativeBalanceCache();e[t.caipAddress]=t,_t.setItem(Tt.NATIVE_BALANCE_CACHE,JSON.stringify(e))}catch{console.info("Unable to update balance cache",t)}},getEnsCache(){let t={};try{const e=_t.getItem(Tt.ENS_CACHE);t=e?JSON.parse(e):{}}catch{console.info("Unable to get ens name cache")}return t},getEnsFromCacheForAddress(t){try{const n=ze.getEnsCache()[t];if(n&&!this.isCacheExpired(n.timestamp,this.cacheExpiry.ens))return n.ens;ze.removeEnsFromCache(t)}catch{console.info("Unable to get ens name from cache",t)}},updateEnsCache(t){try{const e=ze.getEnsCache();e[t.address]=t,_t.setItem(Tt.ENS_CACHE,JSON.stringify(e))}catch{console.info("Unable to update ens name cache",t)}},removeEnsFromCache(t){try{const e=ze.getEnsCache();_t.setItem(Tt.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=_t.getItem(Tt.IDENTITY_CACHE);t=e?JSON.parse(e):{}}catch{console.info("Unable to get identity cache")}return t},getIdentityFromCacheForAddress(t){try{const n=ze.getIdentityCache()[t];if(n&&!this.isCacheExpired(n.timestamp,this.cacheExpiry.identity))return n.identity;ze.removeIdentityFromCache(t)}catch{console.info("Unable to get identity from cache",t)}},updateIdentityCache(t){try{const e=ze.getIdentityCache();e[t.address]={identity:t.identity,timestamp:t.timestamp},_t.setItem(Tt.IDENTITY_CACHE,JSON.stringify(e))}catch{console.info("Unable to update identity cache",t)}},removeIdentityFromCache(t){try{const e=ze.getIdentityCache();_t.setItem(Tt.IDENTITY_CACHE,JSON.stringify({...e,[t]:void 0}))}catch{console.info("Unable to remove identity from cache",t)}},clearAddressCache(){try{_t.removeItem(Tt.PORTFOLIO_CACHE),_t.removeItem(Tt.NATIVE_BALANCE_CACHE),_t.removeItem(Tt.ENS_CACHE),_t.removeItem(Tt.IDENTITY_CACHE),_t.removeItem(Tt.HISTORY_TRANSACTIONS_CACHE)}catch{console.info("Unable to clear address cache")}},setPreferredAccountTypes(t){try{_t.setItem(Tt.PREFERRED_ACCOUNT_TYPES,JSON.stringify(t))}catch{console.info("Unable to set preferred account types",t)}},getPreferredAccountTypes(){try{const t=_t.getItem(Tt.PREFERRED_ACCOUNT_TYPES);return t?JSON.parse(t):{}}catch{console.info("Unable to get preferred account types")}return{}},setConnections(t,e){try{const n=ze.getConnections(),r=n[e]??[],i=new Map;for(const a of r)i.set(a.connectorId,{...a});for(const a of t){const o=i.get(a.connectorId),c=a.connectorId===Pe.CONNECTOR_ID.AUTH;if(o&&!c){const l=new Set(o.accounts.map(u=>u.address.toLowerCase())),d=a.accounts.filter(u=>!l.has(u.address.toLowerCase()));o.accounts.push(...d)}else i.set(a.connectorId,{...a})}const s={...n,[e]:Array.from(i.values())};_t.setItem(Tt.CONNECTIONS,JSON.stringify(s))}catch(n){console.error("Unable to sync connections to storage",n)}},getConnections(){try{const t=_t.getItem(Tt.CONNECTIONS);return t?JSON.parse(t):{}}catch(t){return console.error("Unable to get connections from storage",t),{}}},deleteAddressFromConnection({connectorId:t,address:e,namespace:n}){try{const r=ze.getConnections(),i=r[n]??[],s=new Map(i.map(o=>[o.connectorId,o])),a=s.get(t);a&&(a.accounts.filter(c=>c.address.toLowerCase()!==e.toLowerCase()).length===0?s.delete(t):s.set(t,{...a,accounts:a.accounts.filter(c=>c.address.toLowerCase()!==e.toLowerCase())})),_t.setItem(Tt.CONNECTIONS,JSON.stringify({...r,[n]:Array.from(s.values())}))}catch{console.error(`Unable to remove address "${e}" from connector "${t}" in namespace "${n}"`)}},getDisconnectedConnectorIds(){try{const t=_t.getItem(Tt.DISCONNECTED_CONNECTOR_IDS);return t?JSON.parse(t):{}}catch{console.info("Unable to get disconnected connector ids")}return{}},addDisconnectedConnectorId(t,e){try{const n=ze.getDisconnectedConnectorIds(),r=n[e]??[];r.push(t),_t.setItem(Tt.DISCONNECTED_CONNECTOR_IDS,JSON.stringify({...n,[e]:Array.from(new Set(r))}))}catch{console.error(`Unable to set disconnected connector id "${t}" for namespace "${e}"`)}},removeDisconnectedConnectorId(t,e){try{const n=ze.getDisconnectedConnectorIds();let r=n[e]??[];r=r.filter(i=>i.toLowerCase()!==t.toLowerCase()),_t.setItem(Tt.DISCONNECTED_CONNECTOR_IDS,JSON.stringify({...n,[e]:Array.from(new Set(r))}))}catch{console.error(`Unable to remove disconnected connector id "${t}" for namespace "${e}"`)}},isConnectorDisconnected(t,e){try{return(ze.getDisconnectedConnectorIds()[e]??[]).some(i=>i.toLowerCase()===t.toLowerCase())}catch{console.info(`Unable to get disconnected connector id "${t}" for namespace "${e}"`)}return!1},getTransactionsCache(){try{const t=_t.getItem(Tt.HISTORY_TRANSACTIONS_CACHE);return t?JSON.parse(t):{}}catch{console.info("Unable to get transactions cache")}return{}},getTransactionsCacheForAddress({address:t,chainId:e=""}){try{const r=ze.getTransactionsCache()[t]?.[e];if(r&&!this.isCacheExpired(r.timestamp,this.cacheExpiry.transactionsHistory))return r.transactions;ze.removeTransactionsCache({address:t,chainId:e})}catch{console.info("Unable to get transactions cache")}},updateTransactionsCache({address:t,chainId:e="",timestamp:n,transactions:r}){try{const i=ze.getTransactionsCache();i[t]={...i[t],[e]:{timestamp:n,transactions:r}},_t.setItem(Tt.HISTORY_TRANSACTIONS_CACHE,JSON.stringify(i))}catch{console.info("Unable to update transactions cache",{address:t,chainId:e,timestamp:n,transactions:r})}},removeTransactionsCache({address:t,chainId:e}){try{const n=ze.getTransactionsCache(),r=n?.[t]||{},{[e]:i,...s}=r;_t.setItem(Tt.HISTORY_TRANSACTIONS_CACHE,JSON.stringify({...n,[t]:s}))}catch{console.info("Unable to remove transactions cache",{address:t,chainId:e})}},getTokenPriceCache(){try{const t=_t.getItem(Tt.TOKEN_PRICE_CACHE);return t?JSON.parse(t):{}}catch{console.info("Unable to get token price cache")}return{}},getTokenPriceCacheForAddresses(t){try{const n=ze.getTokenPriceCache()[t.join(",")];if(n&&!this.isCacheExpired(n.timestamp,this.cacheExpiry.tokenPrice))return n.tokenPrice;ze.removeTokenPriceCache(t)}catch{console.info("Unable to get token price cache for addresses",t)}},updateTokenPriceCache(t){try{const e=ze.getTokenPriceCache();e[t.addresses.join(",")]={timestamp:t.timestamp,tokenPrice:t.tokenPrice},_t.setItem(Tt.TOKEN_PRICE_CACHE,JSON.stringify(e))}catch{console.info("Unable to update token price cache",t)}},removeTokenPriceCache(t){try{const e=ze.getTokenPriceCache();_t.setItem(Tt.TOKEN_PRICE_CACHE,JSON.stringify({...e,[t.join(",")]:void 0}))}catch{console.info("Unable to remove token price cache",t)}},getLatestAppKitVersion(){try{const t=this.getLatestAppKitVersionCache(),e=t?.version;return e&&!this.isCacheExpired(t.timestamp,this.cacheExpiry.latestAppKitVersion)?e:void 0}catch{console.info("Unable to get latest AppKit version")}},getLatestAppKitVersionCache(){try{const t=_t.getItem(Tt.LATEST_APPKIT_VERSION);return t?JSON.parse(t):{}}catch{console.info("Unable to get latest AppKit version cache")}return{}},updateLatestAppKitVersion(t){try{const e=ze.getLatestAppKitVersionCache();e.timestamp=t.timestamp,e.version=t.version,_t.setItem(Tt.LATEST_APPKIT_VERSION,JSON.stringify(e))}catch{console.info("Unable to update latest AppKit version on local storage",t)}}},Fe={isMobile(){return this.isClient()?!!(window?.matchMedia&&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 Fe.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()<=bn.TEN_SEC_MS:!0},isAllowedRetry(t,e=bn.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(Fe.isClient()&&window.self!==window.top)try{const t=window?.location?.ancestorOrigins?.[0],e="https://app.safe.global";if(t){const n=new URL(t),r=new URL(e);return n.hostname===r.hostname}}catch{return!1}return!1},getPairingExpiry(){return Date.now()+bn.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 n;return(...r)=>{function i(){t(...r)}n&&clearTimeout(n),n=setTimeout(i,e)}},isHttpUrl(t){return t.startsWith("http://")||t.startsWith("https://")},formatNativeUrl(t,e,n=null){if(Fe.isHttpUrl(t))return this.formatUniversalUrl(t,e);let r=t,i=n;r&&(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 s=encodeURIComponent(e);return{redirect:`${r}wc?uri=${s}`,redirectUniversalLink:i?`${i}wc?uri=${s}`:void 0,href:r}},formatUniversalUrl(t,e){if(!Fe.isHttpUrl(t))return this.formatNativeUrl(t,e);let n=t;n.endsWith("/")||(n=`${n}/`);const r=encodeURIComponent(e);return{redirect:`${n}wc?uri=${r}`,href:n}},getOpenTargetForPlatform(t){return t==="popupWindow"?t:this.isTelegram()?ze.getTelegramSocialProvider()?"_top":"_blank":t},openHref(t,e,n){window?.open(t,this.getOpenTargetForPlatform(e),n||"noreferrer noopener")},returnOpenHref(t,e,n){return window?.open(t,this.getOpenTargetForPlatform(e),n||"noreferrer noopener")},isTelegram(){return typeof window<"u"&&(!!window.TelegramWebviewProxy||!!window.Telegram||!!window.TelegramWebviewProxyProto)},isPWA(){if(typeof window>"u")return!1;const t=window?.matchMedia&&typeof window.matchMedia=="function"?window.matchMedia("(display-mode: standalone)")?.matches:!1,e=window?.navigator?.standalone;return!!(t||e)},async preloadImage(t){const e=new Promise((n,r)=>{const i=new Image;i.onload=n,i.onerror=r,i.crossOrigin="anonymous",i.src=t});return Promise.race([e,Fe.wait(2e3)])},parseBalance(t,e){let n="0.000";if(typeof t=="string"){const c=Number(t);if(!isNaN(c)){const l=(Math.floor(c*1e3)/1e3).toFixed(3);l&&(n=l)}}const[r,i]=n.split("."),s=r||"0",a=i||"000";return{formattedText:`${s}.${a}${e?` ${e}`:""}`,value:s,decimals:a,symbol:e}},getApiUrl(){return Pe.W3M_API_URL},getBlockchainApiUrl(){return Pe.BLOCKCHAIN_API_RPC_URL},getAnalyticsUrl(){return Pe.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 n={};return e&&t&&(t.forEach((r,i)=>{n[r]=i}),e.sort((r,i)=>{const s=n[r.id],a=n[i.id];return s!==void 0&&a!==void 0?s-a:s!==void 0?-1:a!==void 0?1:0})),e},calculateBalance(t){let e=0;for(const n of t)e+=n.value??0;return e},formatTokenBalance(t){const e=t.toFixed(2),[n,r]=e.split(".");return{dollars:n,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 n=new Set;return t.filter(r=>{const i=r[e];return n.has(i)?!1:(n.add(i),!0)})},generateSdkVersion(t,e,n){const i=t.length===0?bn.ADAPTER_TYPES.UNIVERSAL:t.map(s=>s.adapterType).join(",");return`${e}-${i}-${n}`},createAccount(t,e,n,r,i){return{namespace:t,address:e,type:n,publicKey:r,path:i}},isCaipAddress(t){if(typeof t!="string")return!1;const e=t.split(":"),n=e[0];return e.filter(Boolean).length===3&&n in Pe.CHAIN_NAME_MAP},getAccount(t){return t?typeof t=="string"?{address:t,chainId:void 0}:{address:t.address,chainId:t.chainId}:{address:void 0,chainId:void 0}},isMac(){const t=window?.navigator.userAgent.toLowerCase();return t.includes("macintosh")&&!t.includes("safari")},formatTelegramSocialLoginUrl(t){const e=`--${encodeURIComponent(window?.location.href)}`,n="state=";if(new URL(t).host==="auth.magic.link"){const i="provider_authorization_url=",s=t.substring(t.indexOf(i)+i.length),a=this.injectIntoUrl(decodeURIComponent(s),n,e);return t.replace(s,encodeURIComponent(a))}return this.injectIntoUrl(t,n,e)},injectIntoUrl(t,e,n){const r=t.indexOf(e);if(r===-1)throw new Error(`${e} parameter not found in the URL: ${t}`);const i=t.indexOf("&",r),s=e.length,a=i!==-1?i:t.length,o=t.substring(0,r+s),c=t.substring(r+s,a),l=t.substring(i),d=c+n;return o+d+l}};async function l6(...t){const e=await fetch(...t);if(!e.ok)throw new Error(`HTTP status code: ${e.status}`,{cause:e});return e}class t8{constructor({baseUrl:e,clientId:n}){this.baseUrl=e,this.clientId=n}async get({headers:e,signal:n,cache:r,...i}){const s=this.createUrl(i);return(await l6(s,{method:"GET",headers:e,signal:n,cache:r})).json()}async getBlob({headers:e,signal:n,...r}){const i=this.createUrl(r);return(await l6(i,{method:"GET",headers:e,signal:n})).blob()}async post({body:e,headers:n,signal:r,...i}){const s=this.createUrl(i);return(await l6(s,{method:"POST",headers:n,body:e?JSON.stringify(e):void 0,signal:r})).json()}async put({body:e,headers:n,signal:r,...i}){const s=this.createUrl(i);return(await l6(s,{method:"PUT",headers:n,body:e?JSON.stringify(e):void 0,signal:r})).json()}async delete({body:e,headers:n,signal:r,...i}){const s=this.createUrl(i);return(await l6(s,{method:"DELETE",headers:n,body:e?JSON.stringify(e):void 0,signal:r})).json()}createUrl({path:e,params:n}){const r=new URL(e,this.baseUrl);return n&&Object.entries(n).forEach(([i,s])=>{s&&r.searchParams.append(i,s)}),this.clientId&&r.searchParams.append("clientId",this.clientId),r}sendBeacon({body:e,...n}){const r=this.createUrl(n);return navigator.sendBeacon(r.toString(),e?JSON.stringify(e):void 0)}}const nD={getFeatureValue(t,e){const n=e?.[t];return n===void 0?bn.DEFAULT_FEATURES[t]:n},filterSocialsByPlatform(t){if(!t||!t.length)return t;if(Fe.isTelegram()){if(Fe.isIos())return t.filter(e=>e!=="google");if(Fe.isMac())return t.filter(e=>e!=="x");if(Fe.isAndroid())return t.filter(e=>!["facebook","x"].includes(e))}return t},isSocialsEnabled(){return Array.isArray(_e.state.features?.socials)&&_e.state.features?.socials.length>0||Array.isArray(_e.state.remoteFeatures?.socials)&&_e.state.remoteFeatures?.socials.length>0},isEmailEnabled(){return!!(_e.state.features?.email||_e.state.remoteFeatures?.email)}},Nt=Ar({features:bn.DEFAULT_FEATURES,projectId:"",sdkType:"appkit",sdkVersion:"html-wagmi-undefined",defaultAccountTypes:bn.DEFAULT_ACCOUNT_TYPES,enableNetworkSwitch:!0,experimental_preferUniversalLinks:!1,remoteFeatures:{},enableMobileFullScreen:!1}),_e={state:Nt,subscribeKey(t,e){return os(Nt,t,e)},setOptions(t){Object.assign(Nt,t)},setRemoteFeatures(t){if(!t)return;const e={...Nt.remoteFeatures,...t};Nt.remoteFeatures=e,Nt.remoteFeatures?.socials&&(Nt.remoteFeatures.socials=nD.filterSocialsByPlatform(Nt.remoteFeatures.socials)),Nt.features?.pay&&(Nt.remoteFeatures.email=!1,Nt.remoteFeatures.socials=!1)},setFeatures(t){if(!t)return;Nt.features||(Nt.features=bn.DEFAULT_FEATURES);const e={...Nt.features,...t};Nt.features=e,Nt.features?.pay&&Nt.remoteFeatures&&(Nt.remoteFeatures.email=!1,Nt.remoteFeatures.socials=!1)},setProjectId(t){Nt.projectId=t},setCustomRpcUrls(t){Nt.customRpcUrls=t},setAllWallets(t){Nt.allWallets=t},setIncludeWalletIds(t){Nt.includeWalletIds=t},setExcludeWalletIds(t){Nt.excludeWalletIds=t},setFeaturedWalletIds(t){Nt.featuredWalletIds=t},setTokens(t){Nt.tokens=t},setTermsConditionsUrl(t){Nt.termsConditionsUrl=t},setPrivacyPolicyUrl(t){Nt.privacyPolicyUrl=t},setCustomWallets(t){Nt.customWallets=t},setIsSiweEnabled(t){Nt.isSiweEnabled=t},setIsUniversalProvider(t){Nt.isUniversalProvider=t},setSdkVersion(t){Nt.sdkVersion=t},setMetadata(t){Nt.metadata=t},setDisableAppend(t){Nt.disableAppend=t},setEIP6963Enabled(t){Nt.enableEIP6963=t},setDebug(t){Nt.debug=t},setEnableWalletGuide(t){Nt.enableWalletGuide=t},setEnableAuthLogger(t){Nt.enableAuthLogger=t},setEnableWallets(t){Nt.enableWallets=t},setPreferUniversalLinks(t){Nt.experimental_preferUniversalLinks=t},setSIWX(t){if(t)for(const[e,n]of Object.entries(bn.SIWX_DEFAULTS))t[e]??=n;Nt.siwx=t},setConnectMethodsOrder(t){Nt.features={...Nt.features,connectMethodsOrder:t}},setWalletFeaturesOrder(t){Nt.features={...Nt.features,walletFeaturesOrder:t}},setSocialsOrder(t){Nt.remoteFeatures={...Nt.remoteFeatures,socials:t}},setCollapseWallets(t){Nt.features={...Nt.features,collapseWallets:t}},setEnableEmbedded(t){Nt.enableEmbedded=t},setAllowUnsupportedChain(t){Nt.allowUnsupportedChain=t},setManualWCControl(t){Nt.manualWCControl=t},setEnableNetworkSwitch(t){Nt.enableNetworkSwitch=t},setEnableMobileFullScreen(t){Nt.enableMobileFullScreen=Fe.isMobile()&&t},setEnableReconnect(t){Nt.enableReconnect=t},setDefaultAccountTypes(t={}){Object.entries(t).forEach(([e,n])=>{n&&(Nt.defaultAccountTypes[e]=n)})},setUniversalProviderConfigOverride(t){Nt.universalProviderConfigOverride=t},getUniversalProviderConfigOverride(){return Nt.universalProviderConfigOverride},getSnapshot(){return R4(Nt)}},J1=Object.freeze({message:"",variant:"success",svg:void 0,open:!1,autoClose:!0}),Ji=Ar({...J1}),D1t={state:Ji,subscribeKey(t,e){return os(Ji,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=Fe.parseError(t);this._showMessage({message:e,variant:"error"})},hide(){Ji.message=J1.message,Ji.variant=J1.variant,Ji.svg=J1.svg,Ji.open=J1.open,Ji.autoClose=J1.autoClose},_showMessage({message:t,svg:e,variant:n="success",autoClose:r=J1.autoClose}){Ji.open?(Ji.open=!1,setTimeout(()=>{Ji.message=t,Ji.variant=n,Ji.svg=e,Ji.open=!0,Ji.autoClose=r},150)):(Ji.message=t,Ji.variant=n,Ji.svg=e,Ji.open=!0,Ji.autoClose=r)}},Dn=D1t,L1t={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"}]}]},i2e=Fe.getBlockchainApiUrl(),fo=Ar({clientId:null,api:new t8({baseUrl:i2e,clientId:null}),supportedChains:{http:[],ws:[]}}),Dt={state:fo,async get(t){const{st:e,sv:n}=Dt.getSdkProperties(),r=_e.state.projectId,i={...t.params||{},st:e,sv:n,projectId:r};return fo.api.get({...t,params:i})},getSdkProperties(){const{sdkType:t,sdkVersion:e}=_e.state;return{st:t||"unknown",sv:e||"unknown"}},async isNetworkSupported(t){if(!t)return!1;try{fo.supportedChains.http.length||await Dt.getSupportedNetworks()}catch{return!1}return fo.supportedChains.http.includes(t)},async getSupportedNetworks(){try{const t=await Dt.get({path:"v1/supported-chains"});return fo.supportedChains=t,t}catch{return fo.supportedChains}},async fetchIdentity({address:t}){const e=ze.getIdentityFromCacheForAddress(t);if(e)return e;const n=await Dt.get({path:`/v1/identity/${t}`,params:{sender:K.state.activeCaipAddress?Fe.getPlainAddress(K.state.activeCaipAddress):void 0}});return ze.updateIdentityCache({address:t,identity:n,timestamp:Date.now()}),n},async fetchTransactions({account:t,cursor:e,signal:n,cache:r,chainId:i}){if(!await Dt.isNetworkSupported(K.state.activeCaipNetwork?.caipNetworkId))return{data:[],next:void 0};const a=ze.getTransactionsCacheForAddress({address:t,chainId:i});if(a)return a;const o=await Dt.get({path:`/v1/account/${t}/history`,params:{cursor:e,chainId:i},signal:n,cache:r});return ze.updateTransactionsCache({address:t,chainId:i,timestamp:Date.now(),transactions:o}),o},async fetchSwapQuote({amount:t,userAddress:e,from:n,to:r,gasPrice:i}){return await Dt.isNetworkSupported(K.state.activeCaipNetwork?.caipNetworkId)?Dt.get({path:"/v1/convert/quotes",headers:{"Content-Type":"application/json"},params:{amount:t,userAddress:e,from:n,to:r,gasPrice:i}}):{quotes:[]}},async fetchSwapTokens({chainId:t}){return await Dt.isNetworkSupported(K.state.activeCaipNetwork?.caipNetworkId)?Dt.get({path:"/v1/convert/tokens",params:{chainId:t}}):{tokens:[]}},async fetchTokenPrice({addresses:t}){if(!await Dt.isNetworkSupported(K.state.activeCaipNetwork?.caipNetworkId))return{fungibles:[]};const n=ze.getTokenPriceCacheForAddresses(t);if(n)return n;const r=await fo.api.post({path:"/v1/fungible/price",body:{currency:"usd",addresses:t,projectId:_e.state.projectId},headers:{"Content-Type":"application/json"}});return ze.updateTokenPriceCache({addresses:t,timestamp:Date.now(),tokenPrice:r}),r},async fetchSwapAllowance({tokenAddress:t,userAddress:e}){return await Dt.isNetworkSupported(K.state.activeCaipNetwork?.caipNetworkId)?Dt.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:n}=Dt.getSdkProperties();if(!await Dt.isNetworkSupported(K.state.activeCaipNetwork?.caipNetworkId))throw new Error("Network not supported for Gas Price");return Dt.get({path:"/v1/convert/gas-price",headers:{"Content-Type":"application/json"},params:{chainId:t,st:e,sv:n}})},async generateSwapCalldata({amount:t,from:e,to:n,userAddress:r,disableEstimate:i}){if(!await Dt.isNetworkSupported(K.state.activeCaipNetwork?.caipNetworkId))throw new Error("Network not supported for Swaps");return fo.api.post({path:"/v1/convert/build-transaction",headers:{"Content-Type":"application/json"},body:{amount:t,eip155:{slippage:bn.CONVERT_SLIPPAGE_TOLERANCE},projectId:_e.state.projectId,from:e,to:n,userAddress:r,disableEstimate:i}})},async generateApproveCalldata({from:t,to:e,userAddress:n}){const{st:r,sv:i}=Dt.getSdkProperties();if(!await Dt.isNetworkSupported(K.state.activeCaipNetwork?.caipNetworkId))throw new Error("Network not supported for Swaps");return Dt.get({path:"/v1/convert/build-approve",headers:{"Content-Type":"application/json"},params:{userAddress:n,from:t,to:e,st:r,sv:i}})},async getBalance(t,e,n){const{st:r,sv:i}=Dt.getSdkProperties();if(!await Dt.isNetworkSupported(K.state.activeCaipNetwork?.caipNetworkId))return Dn.showError("Token Balance Unavailable"),{balances:[]};const a=`${e}:${t}`,o=ze.getBalanceCacheForCaipAddress(a);if(o)return o;const c=await Dt.get({path:`/v1/account/${t}/balance`,params:{currency:"usd",chainId:e,forceUpdate:n,st:r,sv:i}});return ze.updateBalanceCache({caipAddress:a,balance:c,timestamp:Date.now()}),c},async lookupEnsName(t){return await Dt.isNetworkSupported(K.state.activeCaipNetwork?.caipNetworkId)?Dt.get({path:`/v1/profile/account/${t}`,params:{apiVersion:"2"}}):{addresses:{},attributes:[]}},async reverseLookupEnsName({address:t}){if(!await Dt.isNetworkSupported(K.state.activeCaipNetwork?.caipNetworkId))return[];const n=K.getAccountData()?.address;return Dt.get({path:`/v1/profile/reverse/${t}`,params:{sender:n,apiVersion:"2"}})},async getEnsNameSuggestions(t){return await Dt.isNetworkSupported(K.state.activeCaipNetwork?.caipNetworkId)?Dt.get({path:`/v1/profile/suggestions/${t}`,params:{zone:"reown.id"}}):{suggestions:[]}},async registerEnsName({coinType:t,address:e,message:n,signature:r}){return await Dt.isNetworkSupported(K.state.activeCaipNetwork?.caipNetworkId)?fo.api.post({path:"/v1/profile/account",body:{coin_type:t,address:e,message:n,signature:r},headers:{"Content-Type":"application/json"}}):{success:!1}},async generateOnRampURL({destinationWallets:t,partnerUserId:e,defaultNetwork:n,purchaseAmount:r,paymentAmount:i}){return await Dt.isNetworkSupported(K.state.activeCaipNetwork?.caipNetworkId)?(await fo.api.post({path:"/v1/generators/onrampurl",params:{projectId:_e.state.projectId},body:{destinationWallets:t,defaultNetwork:n,partnerUserId:e,defaultExperience:"buy",presetCryptoAmount:r,presetFiatAmount:i}})).url:""},async getOnrampOptions(){if(!await Dt.isNetworkSupported(K.state.activeCaipNetwork?.caipNetworkId))return{paymentCurrencies:[],purchaseCurrencies:[]};try{return await Dt.get({path:"/v1/onramp/options"})}catch{return L1t}},async getOnrampQuote({purchaseCurrency:t,paymentCurrency:e,amount:n,network:r}){try{return await Dt.isNetworkSupported(K.state.activeCaipNetwork?.caipNetworkId)?await fo.api.post({path:"/v1/onramp/quote",params:{projectId:_e.state.projectId},body:{purchaseCurrency:t,paymentCurrency:e,amount:n,network:r}}):null}catch{return{networkFee:{amount:n,currency:e.id},paymentSubtotal:{amount:n,currency:e.id},paymentTotal:{amount:n,currency:e.id},purchaseAmount:{amount:n,currency:e.id},quoteId:"mocked-quote-id"}}},async getSmartSessions(t){return await Dt.isNetworkSupported(K.state.activeCaipNetwork?.caipNetworkId)?Dt.get({path:`/v1/sessions/${t}`}):[]},async revokeSmartSession(t,e,n){return await Dt.isNetworkSupported(K.state.activeCaipNetwork?.caipNetworkId)?fo.api.post({path:`/v1/sessions/${t}/revoke`,params:{projectId:_e.state.projectId},body:{pci:e,signature:n}}):{success:!1}},setClientId(t){fo.clientId=t,fo.api=new t8({baseUrl:i2e,clientId:t})}},B1t="https://secure.walletconnect.org/sdk";typeof process<"u"&&typeof process.env<"u"&&process.env.NEXT_PUBLIC_SECURE_SITE_SDK_URL;typeof process<"u"&&typeof process.env<"u"&&process.env.NEXT_PUBLIC_DEFAULT_LOG_LEVEL;typeof process<"u"&&typeof process.env<"u"&&process.env.NEXT_PUBLIC_SECURE_SITE_SDK_VERSION;const wc={SAFE_RPC_METHODS:["eth_accounts","eth_blockNumber","eth_call","eth_chainId","eth_estimateGas","eth_feeHistory","eth_gasPrice","eth_getAccount","eth_getBalance","eth_getBlockByHash","eth_getBlockByNumber","eth_getBlockReceipts","eth_getBlockTransactionCountByHash","eth_getBlockTransactionCountByNumber","eth_getCode","eth_getFilterChanges","eth_getFilterLogs","eth_getLogs","eth_getProof","eth_getStorageAt","eth_getTransactionByBlockHashAndIndex","eth_getTransactionByBlockNumberAndIndex","eth_getTransactionByHash","eth_getTransactionCount","eth_getTransactionReceipt","eth_getUncleCountByBlockHash","eth_getUncleCountByBlockNumber","eth_maxPriorityFeePerGas","eth_newBlockFilter","eth_newFilter","eth_newPendingTransactionFilter","eth_sendRawTransaction","eth_syncing","eth_uninstallFilter","wallet_getCapabilities","wallet_getCallsStatus","eth_getUserOperationReceipt","eth_estimateUserOperationGas","eth_getUserOperationByHash","eth_supportedEntryPoints","wallet_getAssets"],NOT_SAFE_RPC_METHODS:["personal_sign","eth_signTypedData_v4","eth_sendTransaction","solana_signMessage","solana_signTransaction","solana_signAllTransactions","solana_signAndSendTransaction","wallet_sendCalls","wallet_grantPermissions","wallet_revokePermissions","eth_sendUserOperation"],GET_CHAIN_ID:"eth_chainId",RPC_METHOD_NOT_ALLOWED_MESSAGE:"Requested RPC call is not allowed",RPC_METHOD_NOT_ALLOWED_UI_MESSAGE:"Action not allowed",ACCOUNT_TYPES:{EOA:"eoa",SMART_ACCOUNT:"smartAccount"}},tl={PHANTOM:{id:"a797aa35c0fadbfc1a53e7f675162ed5226968b44a19ee3d24385c64d1d3c393",url:"https://phantom.app"},SOLFLARE:{id:"1ca0bdd4747578705b1939af023d120677c64fe6ca76add81fda36e350605e79",url:"https://solflare.com"},COINBASE:{id:"fd20dc426fb37566d803205b19bbc1d4096b248ac04548e3cfb6b3a38bd033aa",url:"https://go.cb-w.com"},BINANCE:{id:"2fafea35bb471d22889ccb49c08d99dd0a18a37982602c33f696a5723934ba25",appId:"yFK5FCqYprrXDiVFbhyRx7",deeplink:"bnc://app.binance.com/mp/app",url:"https://app.binance.com/en/download"}},U1t={handleMobileDeeplinkRedirect(t,e){const n=window.location.href,r=encodeURIComponent(n);if(t===tl.PHANTOM.id&&!("phantom"in window)){const i=n.startsWith("https")?"https":"http",s=n.split("/")[2],a=encodeURIComponent(`${i}://${s}`);window.location.href=`${tl.PHANTOM.url}/ul/browse/${r}?ref=${a}`}if(t===tl.SOLFLARE.id&&!("solflare"in window)&&(window.location.href=`${tl.SOLFLARE.url}/ul/v1/browse/${r}?ref=${r}`),e===Pe.CHAIN.SOLANA&&t===tl.COINBASE.id&&!("coinbaseSolana"in window)&&(window.location.href=`${tl.COINBASE.url}/dapp?cb_url=${r}`),e===Pe.CHAIN.BITCOIN&&t===tl.BINANCE.id&&!("binancew3w"in window)){const i=K.state.activeCaipNetwork,s=window.btoa("/pages/browser/index"),a=window.btoa(`url=${r}&defaultChainId=${i?.id??1}`),o=new URL(tl.BINANCE.deeplink);o.searchParams.set("appId",tl.BINANCE.appId),o.searchParams.set("startPagePath",s),o.searchParams.set("startPageQuery",a);const c=new URL(tl.BINANCE.url);c.searchParams.set("_dp",window.btoa(o.toString())),window.location.href=c.toString()}}},F1t=Object.freeze({enabled:!0,events:[]}),W1t=new t8({baseUrl:Fe.getAnalyticsUrl(),clientId:null}),z1t=5,H1t=60*1e3,Bf=Ar({...F1t}),V1t={state:Bf,subscribeKey(t,e){return os(Bf,t,e)},async sendError(t,e){if(!Bf.enabled)return;const n=Date.now();if(Bf.events.filter(s=>{const a=new Date(s.properties.timestamp||"").getTime();return n-a<H1t}).length>=z1t)return;const i={type:"error",event:e,properties:{errorType:t.name,errorMessage:t.message,stackTrace:t.stack,timestamp:new Date().toISOString()}};Bf.events.push(i);try{if(typeof window>"u")return;const{projectId:s,sdkType:a,sdkVersion:o}=_e.state;await W1t.post({path:"/e",params:{projectId:s,st:a,sv:o||"html-wagmi-4.2.2"},body:{eventId:Fe.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(){Bf.enabled=!0},disable(){Bf.enabled=!1},clearEvents(){Bf.events=[]}};class af extends Error{constructor(e,n,r){super(e),this.originalName="AppKitError",this.name="AppKitError",this.category=n,this.originalError=r,r&&r instanceof Error&&(this.originalName=r.name),Object.setPrototypeOf(this,af.prototype);let i=!1;if(r instanceof Error&&typeof r.stack=="string"&&r.stack){const s=r.stack,a=s.indexOf(`
424
+ `+s):r.stack=s}catch{}}throw r}}_request(e,n){typeof e=="string"?(n=n||{},n.url=e):n=e||{},n=xm(this.defaults,n);const{transitional:r,paramsSerializer:i,headers:s}=n;r!==void 0&&UC.assertOptions(r,{silentJSONParsing:Vd.transitional(Vd.boolean),forcedJSONParsing:Vd.transitional(Vd.boolean),clarifyTimeoutError:Vd.transitional(Vd.boolean)},!1),i!=null&&($e.isFunction(i)?n.paramsSerializer={serialize:i}:UC.assertOptions(i,{encode:Vd.function,serialize:Vd.function},!0)),n.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls!==void 0?n.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:n.allowAbsoluteUrls=!0),UC.assertOptions(n,{baseUrl:Vd.spelling("baseURL"),withXsrfToken:Vd.spelling("withXSRFToken")},!0),n.method=(n.method||this.defaults.method||"get").toLowerCase();let a=s&&$e.merge(s.common,s[n.method]);s&&$e.forEach(["delete","get","head","post","put","patch","common"],g=>{delete s[g]}),n.headers=Lo.concat(a,s);const o=[];let c=!0;this.interceptors.request.forEach(function(m){typeof m.runWhen=="function"&&m.runWhen(n)===!1||(c=c&&m.synchronous,o.unshift(m.fulfilled,m.rejected))});const l=[];this.interceptors.response.forEach(function(m){l.push(m.fulfilled,m.rejected)});let d,u=0,h;if(!c){const g=[tQ.bind(this),void 0];for(g.unshift(...o),g.push(...l),h=g.length,d=Promise.resolve(n);u<h;)d=d.then(g[u++],g[u++]);return d}h=o.length;let p=n;for(;u<h;){const g=o[u++],m=o[u++];try{p=g(p)}catch(y){m.call(this,y);break}}try{d=tQ.call(this,p)}catch(g){return Promise.reject(g)}for(u=0,h=l.length;u<h;)d=d.then(l[u++],l[u++]);return d}getUri(e){e=xm(this.defaults,e);const n=_ye(e.baseURL,e.url,e.allowAbsoluteUrls);return xye(n,e.params,e.paramsSerializer)}};$e.forEach(["delete","get","head","options"],function(e){Ug.prototype[e]=function(n,r){return this.request(xm(r||{},{method:e,url:n,data:(r||{}).data}))}});$e.forEach(["post","put","patch"],function(e){function n(r){return function(s,a,o){return this.request(xm(o||{},{method:e,headers:r?{"Content-Type":"multipart/form-data"}:{},url:s,data:a}))}}Ug.prototype[e]=n(),Ug.prototype[e+"Form"]=n(!0)});let p0t=class Pye{constructor(e){if(typeof e!="function")throw new TypeError("executor must be a function.");let n;this.promise=new Promise(function(s){n=s});const r=this;this.promise.then(i=>{if(!r._listeners)return;let s=r._listeners.length;for(;s-- >0;)r._listeners[s](i);r._listeners=null}),this.promise.then=i=>{let s;const a=new Promise(o=>{r.subscribe(o),s=o}).then(i);return a.cancel=function(){r.unsubscribe(s)},a},e(function(s,a,o){r.reason||(r.reason=new ev(s,a,o),n(r.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(e){if(this.reason){e(this.reason);return}this._listeners?this._listeners.push(e):this._listeners=[e]}unsubscribe(e){if(!this._listeners)return;const n=this._listeners.indexOf(e);n!==-1&&this._listeners.splice(n,1)}toAbortSignal(){const e=new AbortController,n=r=>{e.abort(r)};return this.subscribe(n),e.signal.unsubscribe=()=>this.unsubscribe(n),e.signal}static source(){let e;return{token:new Pye(function(i){e=i}),cancel:e}}};function f0t(t){return function(n){return t.apply(null,n)}}function g0t(t){return $e.isObject(t)&&t.isAxiosError===!0}const Kj={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511,WebServerIsDown:521,ConnectionTimedOut:522,OriginIsUnreachable:523,TimeoutOccurred:524,SslHandshakeFailed:525,InvalidSslCertificate:526};Object.entries(Kj).forEach(([t,e])=>{Kj[e]=t});function Oye(t){const e=new Ug(t),n=lye(Ug.prototype.request,e);return $e.extend(n,Ug.prototype,e,{allOwnKeys:!0}),$e.extend(n,e,null,{allOwnKeys:!0}),n.create=function(i){return Oye(xm(t,i))},n}const Si=Oye(X5);Si.Axios=Ug;Si.CanceledError=ev;Si.CancelToken=p0t;Si.isCancel=Aye;Si.VERSION=Tye;Si.toFormData=J_;Si.AxiosError=un;Si.Cancel=Si.CanceledError;Si.all=function(e){return Promise.all(e)};Si.spread=f0t;Si.isAxiosError=g0t;Si.mergeConfig=xm;Si.AxiosHeaders=Lo;Si.formToJSON=t=>Cye($e.isHTMLForm(t)?new FormData(t):t);Si.getAdapter=kye.getAdapter;Si.HttpStatusCode=Kj;Si.default=Si;const{Axios:hZt,AxiosError:pZt,CanceledError:fZt,isCancel:gZt,CancelToken:mZt,VERSION:yZt,all:wZt,Cancel:bZt,isAxiosError:vZt,spread:xZt,toFormData:EZt,AxiosHeaders:CZt,HttpStatusCode:AZt,formToJSON:SZt,getAdapter:_Zt,mergeConfig:$Zt}=Si;class Nye{client;getAccessToken;nodeIdentifier;supaAppId;sdkVersion;constructor(e={nodeIdentifier:""}){const n=e.baseURL||void 0||"https://stage_api.supa.fyi";this.nodeIdentifier=e.nodeIdentifier,this.supaAppId=e.supaAppId;const r=e.sdkVersion?.trim(),i="0.2.40".trim();this.sdkVersion=r||i||void 0,this.client=Si.create({baseURL:n,headers:{"Content-Type":"application/json"}}),this.getAccessToken=e.getAccessToken,this.client.interceptors.request.use(async s=>{if(this.getAccessToken)try{const a=await this.getAccessToken();a&&(s.headers.Authorization=`Bearer ${a}`)}catch(a){console.error("[Supa SDK] ❌ Failed to get access token:",a)}return s.url?.startsWith("/canton/")&&(s.headers["X-Canton-Node-Id"]=this.nodeIdentifier),this.supaAppId&&(s.headers["X-Supa-App-Id"]=this.supaAppId),this.sdkVersion&&(s.headers["X-Supa-SDK"]=this.sdkVersion),console.group(`[Supa SDK] 📤 REQUEST: ${s.method?.toUpperCase()} ${s.url}`),console.log("Headers:",{"Content-Type":s.headers["Content-Type"],Authorization:s.headers.Authorization?`Bearer ***${String(s.headers.Authorization).slice(-20)}`:"none","X-Canton-Node-Id":s.headers["X-Canton-Node-Id"]||"none","X-Supa-App-Id":s.headers["X-Supa-App-Id"]||"none","X-Supa-SDK":s.headers["X-Supa-SDK"]||"none"}),s.data&&console.log("Request Body:",s.data),console.groupEnd(),s},s=>Promise.reject(s)),this.client.interceptors.response.use(s=>(console.group(`[Supa SDK] 📥 RESPONSE: ${s.status} ${s.config.method?.toUpperCase()} ${s.config.url}`),console.log("Status:",s.status,s.statusText),console.log("Response Data:",s.data),console.groupEnd(),s),s=>{if(s.response){console.group(`[Supa SDK] ❌ ERROR RESPONSE: ${s.response.status} ${s.config?.method?.toUpperCase()} ${s.config?.url}`),console.error("Status:",s.response.status,s.response.statusText),console.error("Request Body:",s.config?.data),console.error("Response Data:",s.response.data),console.groupEnd();const a={statusCode:s.response.status,message:s.response.data?.message||s.message,error:s.response.data?.error};return Promise.reject(a)}return console.error("[Supa SDK] ❌ Network error:",s.message),Promise.reject({statusCode:0,message:s.message||"Network error"})})}async get(e,n){return(await this.client.get(e,n)).data}async post(e,n,r){return(await this.client.post(e,n,r)).data}async put(e,n,r){return(await this.client.put(e,n,r)).data}async delete(e,n){return(await this.client.delete(e,n)).data}async patch(e,n,r){return(await this.client.patch(e,n,r)).data}setAccessTokenGetter(e){this.getAccessToken=e}getBaseURL(){return this.client.defaults.baseURL||""}}let YA=null;function Rye(t){return YA=new Nye(t),YA}function m0t(){if(!YA)throw new Error("ApiClient not initialized. Call createApiClient first.");return YA}const td=t=>{const e=t.startsWith("0x")?t.slice(2):t,n=new Uint8Array(e.match(/.{1,2}/g)?.map(r=>parseInt(r,16))||[]);return Mye(n)},nd=t=>{const e=jye(t);return"0x"+Array.from(e).map(n=>n.toString(16).padStart(2,"0")).join("")},Mye=t=>btoa(String.fromCharCode(...t)),jye=t=>{const e=atob(t.replace(/\s/g,"")),n=new Uint8Array(e.length);for(let r=0;r<e.length;r++)n[r]=e.charCodeAt(r);return n},y0t=t=>{let e=t.startsWith("0x")?t.slice(2):t;return e.startsWith("00")&&(e=e.slice(2)),"0x"+e},Dye=t=>{let e=t.startsWith("0x")?t.slice(2):t;e.startsWith("00")&&(e=e.slice(2));try{const n=new Uint8Array(e.match(/.{1,2}/g).map(r=>parseInt(r,16)));return btoa(String.fromCharCode(...n))}catch{throw new Error("Failed to convert public key to base64")}},w0t="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz",Lye=t=>{let e=0;for(const i of t)if(i==="1")e++;else break;let n=BigInt(0);for(const i of t){const s=w0t.indexOf(i);if(s===-1)throw new Error(`Invalid base58 character: ${i}`);n=n*BigInt(58)+BigInt(s)}const r=[];for(;n>0;)r.unshift(Number(n%BigInt(256))),n=n/BigInt(256);for(let i=0;i<e;i++)r.unshift(0);return new Uint8Array(r)},Bye=t=>{const e=Lye(t);if(e.length!==32)throw new Error(`Invalid Solana address: expected 32 bytes, got ${e.length}`);return btoa(String.fromCharCode(...e))};class Q_{constructor(e){this.client=e}meCache=null;meCacheTimestamp=0;mePendingPromise=null;CACHE_TTL=300*1e3;static AMULET_INSTRUMENT_ID="Amulet";invalidateMeCache(){this.meCache=null,this.meCacheTimestamp=0,this.mePendingPromise=null}validateTransferAmount(e){const n=e.split(".");if(n.length>1&&n[1].length>10)throw new Error(`Amount cannot have more than 10 decimal places. Got: ${n[1].length}`)}async registerCanton(e,n=0){if(n>4)throw new Error("Failed to register Canton wallet after multiple attempts");const{publicKey:r,signFunction:i,inviteCode:s}=e,o=await(async()=>{try{const h={publicKey:r};return s&&(h.inviteCode=s),await this.client.post("/canton/register/prepare",h)}catch(h){if(console.log("[Canton Service] Registration prepare error:",h),h?.statusCode===400&&(h?.error==="CantonWalletAlreadyExistsError"||typeof h?.message=="string"&&h.message.toLowerCase().includes("canton wallet already exists")))return console.log("[Canton Service] ✅ Canton wallet already exists - treating as registered"),"registered";if(h?.error==="CantonMainnetNodeNotEnabledForThisUser"||h?.message?.includes("enable mainnet node access")||h?.error==="CantonInviteCodeAlreadyUsedOrInvalid"||h?.statusCode===400&&(h?.message?.toLowerCase().includes("invite code")||h?.message?.toLowerCase().includes("invitecode")))throw h;return console.log("[Canton Service] Retrying registration after error..."),await new Promise(p=>setTimeout(p,1500)),this.registerCanton(e,n+1)}})();if(!o)return;if(o==="registered")return"registered";const c=o.hash,l=nd(c),d=await i(l),u=td(d);await this.client.post("/canton/register/submit",{hash:c,signature:u}),this.invalidateMeCache()}async tapDevnet(e,n){const{amount:r,signFunction:i}=e,s=await this.client.post("/canton/devnet/tap",{amount:r});n?.onCostEstimation&&s.costEstimation&&await n.onCostEstimation(s.costEstimation);const a=s.hash,o=nd(a),c=await i(o),l=td(c);return await this.submitPreparedAndWait(a,l,n)}async submitPrepared(e,n,r){return await this.client.post("/canton/api/submit_prepared",{hash:e,signature:n,deduplicationPeriod:r})}async submitMultiplePrepared(e){return await this.client.post("/canton/api/submit_multiple_prepared",e)}async queryCompletion(e){return await this.client.get(`/canton/api/query_completion?submissionId=${encodeURIComponent(e)}`)}async submitPreparedAndWait(e,n,r={}){const{timeout:i=3e4,pollInterval:s=1e3,deduplicationPeriod:a}=r,o=await this.submitPrepared(e,n,a),{submissionId:c}=o;if(r.onSubmissionId)try{await r.onSubmissionId(c)}catch(d){console.error(d)}const l=Date.now();for(;Date.now()-l<i;){const d=await this.queryCompletion(c);if(d.status==="completed")return this.invalidateMeCache(),d;await new Promise(u=>setTimeout(u,s))}throw new Error(`Transaction completion timeout after ${i}ms for submissionId: ${c}`)}async getMe(e=!1){const n=Date.now();return!e&&this.meCache&&n-this.meCacheTimestamp<this.CACHE_TTL?this.meCache:this.mePendingPromise?this.mePendingPromise:(this.mePendingPromise=this.client.get("/canton/api/me").then(r=>(this.meCache=r,this.meCacheTimestamp=Date.now(),this.mePendingPromise=null,r)).catch(r=>{throw this.mePendingPromise=null,r}),this.mePendingPromise)}async getActiveContracts(e,n){const r=new URLSearchParams;e&&e.forEach(a=>r.append("templateIds",a)),n?.limit!==void 0&&r.append("limit",String(n.limit)),n&&"offset"in n&&n.offset!==void 0&&r.append("offset",String(n.offset));const i=r.toString(),s=i?`/canton/api/active_contracts?${i}`:"/canton/api/active_contracts";return await this.client.get(s)}async signMessage(e,n){const i=new TextEncoder().encode(e),s=await crypto.subtle.digest("SHA-256",i),o="0x"+Array.from(new Uint8Array(s)).map(c=>c.toString(16).padStart(2,"0")).join("");return await n(o)}async prepareTransaction(e,n,r){return await this.client.post("/canton/api/prepare_transaction",{commands:e,disclosedContracts:n,commandId:r})}async checkRegistrationStatus(){try{return await this.getMe(),!0}catch{return!1}}async prepareTransferPreapproval(){const e=await this.client.post("/canton/api/prepare_transfer_preapproval",{});return this.invalidateMeCache(),e}async prepareInitializationTransactions(){return await this.client.post("/canton/api/prepare_initialization_transactions",{})}async getBalances(){return await this.client.get("/canton/api/balances")}async prepareTransfer(e){this.validateTransferAmount(e.amount);const n=await this.client.post("/canton/transfers/prepare_transfer",e);return this.invalidateMeCache(),n}async calculateTransferFee(e){const n=new URLSearchParams;return e.partyId&&n.append("partyId",e.partyId),n.append("instrumentId",e.instrumentId),e.instrumentAdmin&&n.append("instrumentAdmin",e.instrumentAdmin),await this.client.get(`/canton/transfers/calculate_transfer_fee?${n.toString()}`)}async prepareAmuletTransfer(e){return{...await this.prepareTransfer({receiverPartyId:e.receiverPartyId,amount:e.amount,instrumentId:Q_.AMULET_INSTRUMENT_ID,memo:e.memo}),receiverPartyId:e.receiverPartyId,amount:e.amount,memo:e.memo}}async prepareAmuletTranafer(e){return await this.prepareAmuletTransfer(e)}async getPendingIncomingTransfers(){return await this.client.get("/canton/transfers/pending_incoming_transfers")}async prepareResponseToIncomingTransfer(e){return await this.client.post("/canton/transfers/prepare_response_to_incoming_transfer",e)}async getTransactions(e={}){const{limit:n=20,beforeOffsetExclusive:r}=e,i=new URLSearchParams;return i.append("limit",String(n)),r!==void 0&&i.append("beforeOffsetExclusive",String(r)),await this.client.get(`/canton/api/transactions?${i.toString()}`)}async getPriceHistory(e){return await this.client.get(`/canton/prices/history?interval=${encodeURIComponent(e)}`)}}let JA=null;function b0t(t){return JA=new Q_(t),JA}function v0t(){if(!JA)throw new Error("CantonService not initialized. Call createCantonService first or use SDK within SupaProvider.");return JA}class Uye{constructor(e){this.client=e}userMeCache=null;userMeCacheTimestamp=0;userMePendingPromise=null;supaPointsBalanceCache=null;supaPointsBalanceCacheTimestamp=0;supaPointsBalancePendingPromise=null;privyBalanceCache=null;privyBalanceCacheTimestamp=0;privyBalancePendingPromise=null;USER_CACHE_TTL=300*1e3;invalidateSupaPointsCache(){this.supaPointsBalanceCache=null,this.supaPointsBalanceCacheTimestamp=0,this.supaPointsBalancePendingPromise=null}async getCurrentUser(e=!1){const n=Date.now();return!e&&this.userMeCache&&n-this.userMeCacheTimestamp<this.USER_CACHE_TTL?this.userMeCache:this.userMePendingPromise?this.userMePendingPromise:(this.userMePendingPromise=this.client.get("/user/me").then(r=>(this.userMeCache=r,this.userMeCacheTimestamp=Date.now(),this.userMePendingPromise=null,r)).catch(r=>{throw this.userMePendingPromise=null,r}),this.userMePendingPromise)}async getAllUsers(){return await this.client.get("/user/all")}async getUserByPrivyId(e){return await this.client.get(`/user/${e}`)}async getSmartWalletBalances(e=!1){return await this.client.get("/user/smart_wallet_balances",{params:{force:e}})}async createDialog(e){return await this.client.post("/dialogs",{text:e})}async getAllDialogs(e){return await this.client.get("/dialogs",{params:e})}async getDialog(e){return await this.client.get(`/dialogs/${e}`)}async deleteDialog(e){return await this.client.delete(`/dialogs/${e}`)}async createMessage(e,n){return await this.client.post(`/dialogs/${e}/messages`,{text:n})}async getDialogMessages(e,n){return await this.client.get(`/dialogs/${e}/messages`,{params:n})}async getMessage(e){return await this.client.get(`/messages/${e}`)}async getTokenPricesByAddresses(e){return await this.client.post("/onchain/tokens_prices_by_addresses",{addresses:e})}async getTokenPrices(e){return await this.client.get("/onchain/tokens_prices",{params:{symbols:e.join(",")}})}async getTokenPriceHistory(e){return await this.client.get("/onchain/token_price_history",{params:e})}async getTokens24hrPriceChanges(e){return await this.client.post("/onchain/tokens_24hr_changes",{tokens:e})}async getTokenInfo(e,n){const r=Array.isArray(n)?n.join(","):n;return await this.client.get(`/onchain/token_info/${e}`,{params:{token:r}})}async getAccountTokenBalances(e,n,r=!1){return await this.client.get(`/onchain/account_tokens_balances/${e}`,{params:{account:n,force:r}})}async getTransactions(e){return await this.client.get("/transactions",{params:e})}async forceLoadTransactions(e){return await this.client.post("/transactions/transactions_force",null,{params:e})}async getSupaPointsBalance(e=!1){const n=Date.now();return!e&&this.supaPointsBalanceCache&&n-this.supaPointsBalanceCacheTimestamp<this.USER_CACHE_TTL?this.supaPointsBalanceCache:this.supaPointsBalancePendingPromise?this.supaPointsBalancePendingPromise:(this.supaPointsBalancePendingPromise=this.client.get("/supa_points/balance").then(r=>(this.supaPointsBalanceCache=r,this.supaPointsBalanceCacheTimestamp=Date.now(),this.supaPointsBalancePendingPromise=null,r)).catch(r=>{throw this.supaPointsBalancePendingPromise=null,r}),this.supaPointsBalancePendingPromise)}async getSupaPointsHistory(e){return await this.client.get("/supa_points/history",{params:e})}async dailyLogin(){const e=await this.client.post("/supa_points/daily_login");return this.invalidateSupaPointsCache(),e}async checkPaymasterSponsorship(e){return await this.client.post("/paymaster",e)}async getPrivyBalance(e=!1){const n=Date.now();return!e&&this.privyBalanceCache&&n-this.privyBalanceCacheTimestamp<this.USER_CACHE_TTL?this.privyBalanceCache:this.privyBalancePendingPromise?this.privyBalancePendingPromise:(this.privyBalancePendingPromise=this.client.get("/privy/balance").then(r=>(this.privyBalanceCache=r,this.privyBalanceCacheTimestamp=Date.now(),this.privyBalancePendingPromise=null,r)).catch(r=>{throw this.privyBalancePendingPromise=null,r}),this.privyBalancePendingPromise)}}let XA=null;function x0t(t){return XA=new Uye(t),XA}function E0t(){if(!XA)throw new Error("ApiService not initialized. Call createApiService first or use SDK within SupaProvider.");return XA}const Yi={backdrop:{position:"fixed",inset:0,backgroundColor:"rgba(0, 0, 0, 0.7)",backdropFilter:"blur(4px)"},panelWrapper:{position:"fixed",inset:0,zIndex:9999,overflowY:"auto",display:"flex",alignItems:"center",justifyContent:"center",padding:"16px"},panel:{backgroundColor:"var(--privy-color-background-2)",border:"1px solid var(--privy-color-border-default)",borderRadius:"var(--privy-border-radius-mdlg)",maxWidth:"560px",width:"100%",maxHeight:"85vh",overflow:"hidden",display:"flex",flexDirection:"column",boxShadow:"0 25px 50px -12px rgba(0, 0, 0, 0.5)"},header:{padding:"20px 24px",borderBottom:"1px solid var(--privy-color-border-default)",display:"flex",alignItems:"center",justifyContent:"space-between"},title:{fontSize:"18px",fontWeight:600,color:"var(--privy-color-foreground)",margin:0,display:"flex",alignItems:"center",gap:"12px",fontFamily:'-apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif'},closeButton:{background:"transparent",border:"none",padding:"8px",cursor:"pointer",color:"var(--privy-color-icon-muted)",borderRadius:"var(--privy-border-radius-sm)",display:"flex",alignItems:"center",justifyContent:"center",transition:"all 150ms"},body:{padding:"24px",overflowY:"auto",flex:1,fontFamily:'-apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif'},messageContainer:{backgroundColor:"var(--privy-color-background)",border:"1px solid var(--privy-color-border-default)",borderRadius:"var(--privy-border-radius-md)",padding:"16px",maxHeight:"400px",overflowY:"auto",marginBottom:"16px"},messageContent:{fontFamily:'"SF Mono", "Fira Code", "JetBrains Mono", monospace',fontSize:"14px",lineHeight:1.6,color:"var(--privy-color-foreground)",whiteSpace:"pre-wrap",wordBreak:"break-word",margin:0},footer:{padding:"16px 24px",borderTop:"1px solid var(--privy-color-border-default)",display:"flex",gap:"12px",justifyContent:"flex-end",backgroundColor:"var(--privy-color-background)"},button:{padding:"12px 20px",borderRadius:"var(--privy-border-radius-md)",fontSize:"14px",fontWeight:600,cursor:"pointer",transition:"all 150ms",fontFamily:'-apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif',border:"none"},rejectButton:{backgroundColor:"transparent",border:"1px solid var(--privy-color-border-default)",color:"var(--privy-color-foreground-2)"},confirmButton:{backgroundColor:"var(--privy-color-accent)",color:"var(--privy-color-background)"},description:{fontSize:"14px",color:"var(--privy-color-foreground-2)",marginBottom:"16px",lineHeight:1.5},infoBox:{backgroundColor:"var(--privy-color-info-bg)",border:"1px solid var(--privy-color-border-info)",borderRadius:"var(--privy-border-radius-md)",padding:"12px 16px",display:"flex",gap:"12px",alignItems:"flex-start",marginTop:"16px"},infoText:{fontSize:"13px",color:"var(--privy-color-foreground-2)",lineHeight:1.5,margin:0}},C0t=()=>f.jsxs("svg",{width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[f.jsx("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),f.jsx("line",{x1:"6",y1:"6",x2:"18",y2:"18"})]}),A0t=()=>f.jsxs("svg",{width:"22",height:"22",viewBox:"0 0 24 24",fill:"none",stroke:"var(--privy-color-accent)",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[f.jsx("path",{d:"M12 19l7-7 3 3-7 7-3-3z"}),f.jsx("path",{d:"M18 13l-1.5-7.5L2 2l3.5 14.5L13 18l5-5z"}),f.jsx("path",{d:"M2 2l7.586 7.586"}),f.jsx("circle",{cx:"11",cy:"11",r:"2"})]}),S0t=()=>f.jsxs("svg",{width:"22",height:"22",viewBox:"0 0 24 24",fill:"none",stroke:"var(--privy-color-accent)",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[f.jsx("line",{x1:"22",y1:"2",x2:"11",y2:"13"}),f.jsx("polygon",{points:"22 2 15 22 11 13 2 9 22 2"})]}),_0t=()=>f.jsxs("svg",{width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"var(--privy-color-icon-interactive)",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[f.jsx("circle",{cx:"12",cy:"12",r:"10"}),f.jsx("line",{x1:"12",y1:"16",x2:"12",y2:"12"}),f.jsx("line",{x1:"12",y1:"8",x2:"12.01",y2:"8"})]});function O4({open:t=!1,onClose:e,onConfirm:n,onReject:r,title:i="Confirm Action",message:s,confirmText:a="Confirm",rejectText:o="Cancel",description:c,infoText:l,icon:d,loading:u=!1}){const{theme:h}=Md(),p=()=>{r(),e()},g=()=>{n()},m=h==="dark"?"privy-dark":"privy-light";return f.jsx(uF,{show:t,as:_.Fragment,children:f.jsxs(sfe,{onClose:e,style:{position:"relative",zIndex:9999},children:[f.jsx(mm,{as:_.Fragment,enter:"ease-out duration-200",enterFrom:"opacity-0",enterTo:"opacity-100",leave:"ease-in duration-150",leaveFrom:"opacity-100",leaveTo:"opacity-0",children:f.jsx("div",{style:Yi.backdrop})}),f.jsx("div",{style:Yi.panelWrapper,children:f.jsx(mm,{as:_.Fragment,enter:"ease-out duration-200",enterFrom:"opacity-0 scale-95",enterTo:"opacity-100 scale-100",leave:"ease-in duration-150",leaveFrom:"opacity-100 scale-100",leaveTo:"opacity-0 scale-95",children:f.jsxs(pF,{className:m,style:Yi.panel,children:[f.jsxs("div",{style:Yi.header,children:[f.jsxs(ife,{style:Yi.title,children:[d||f.jsx(A0t,{}),i]}),f.jsx("button",{onClick:p,style:Yi.closeButton,onMouseEnter:y=>{y.currentTarget.style.backgroundColor="var(--privy-color-background-hover)",y.currentTarget.style.color="var(--privy-color-icon-default-hover)"},onMouseLeave:y=>{y.currentTarget.style.backgroundColor="transparent",y.currentTarget.style.color="var(--privy-color-icon-muted)"},children:f.jsx(C0t,{})})]}),f.jsxs("div",{style:Yi.body,children:[c&&f.jsx("p",{style:Yi.description,children:c}),Array.isArray(s)?f.jsx("div",{style:{display:"flex",flexDirection:"column",gap:"12px"},children:s.map((y,b)=>f.jsx("div",{style:{...Yi.messageContainer,marginBottom:0},children:f.jsx("pre",{style:Yi.messageContent,children:y})},b))}):f.jsx("div",{style:Yi.messageContainer,children:f.jsx("pre",{style:Yi.messageContent,children:s})}),l&&f.jsxs("div",{style:Yi.infoBox,children:[f.jsx(_0t,{}),f.jsx("p",{style:Yi.infoText,children:l})]})]}),f.jsxs("div",{style:Yi.footer,children:[f.jsx("button",{onClick:p,disabled:u,style:{...Yi.button,...Yi.rejectButton,opacity:u?.5:1},onMouseEnter:y=>{u||(y.currentTarget.style.backgroundColor="var(--privy-color-background-hover)",y.currentTarget.style.color="var(--privy-color-foreground-hover)")},onMouseLeave:y=>{y.currentTarget.style.backgroundColor="transparent",y.currentTarget.style.color="var(--privy-color-foreground-2)"},children:o}),f.jsx("button",{onClick:g,disabled:u,style:{...Yi.button,...Yi.confirmButton,opacity:u?.7:1},onMouseEnter:y=>{u||(y.currentTarget.style.backgroundColor="var(--privy-color-accent-hover)")},onMouseLeave:y=>{y.currentTarget.style.backgroundColor="var(--privy-color-accent)"},children:u?"Processing...":a})]})]})})})]})})}function Gj({open:t,onClose:e,onConfirm:n,onReject:r,message:i,loading:s=!1,title:a="Sign Message",description:o="You are about to sign the following message:",confirmText:c="Sign",rejectText:l="Reject"}){return f.jsx(O4,{open:t,onClose:e,onConfirm:n,onReject:r,title:a,message:i,confirmText:c,rejectText:l,description:o,infoText:"Signing a message proves ownership of your wallet without exposing private keys or making any blockchain transactions.",loading:s})}function Yj({open:t,onClose:e,onConfirm:n,onReject:r,transaction:i,loading:s=!1,title:a="Sign Transaction",description:o,confirmText:c="Sign & Send",rejectText:l="Reject",infoText:d="You are submitting a transaction, please be careful"}){const u=Array.isArray(i)?i.length:1,h=u>1?`${String(a)} (${u})`:a,p=o??(u>1?`Review and sign the following transactions (${u}).`:"Review and sign the following transaction:");return f.jsx(O4,{open:t,onClose:e,onConfirm:n,onReject:r,title:h,message:i,confirmText:c,rejectText:l,description:p,infoText:d,icon:f.jsx(S0t,{}),loading:s})}const $0t=()=>{let{refreshSessionAndUser:t,privy:e}=Ge();return _.useMemo((()=>({async createWallet(n){let r=await s9(e,{request:{chain_type:n.chainType}}),i=await t();if(!i)throw Error("User must be authenticated before creating a Privy wallet");return{user:i,wallet:r}}})),[t,e])},I0t=()=>{let{user:t}=rn(),{privy:e}=Ge(),{signWithUserSigner:n}=cW();return _.useMemo((()=>({async signRawHash({address:r,chainType:i,hash:s}){if(!t)throw Error("User must be authenticated before signing");let a=mU(t,i).filter((c=>Ri(c))).find((c=>c.address===r));if(!a)throw Error("Wallet not found");let o=await oPe(e,n,{wallet_id:a.id,params:{hash:s}});if(o.data&&"signature"in o.data&&o.data.encoding==="hex")return{signature:o.data.signature};throw Error("Failed to sign")}})),[e,n,t])};function e$(t){return new Uint8Array(qt.getTransactionDecoder().decode(t).messageBytes)}async function q6({solanaClient:t,tx:e}){let n=qt.getBase64Decoder().decode(e$(e)),{value:r}=await t.rpc.getFeeForMessage(n).send();return r??0n}async function SW({solanaClient:t,tx:e,replaceRecentBlockhash:n}){let{value:r}=await t.rpc.simulateTransaction(qt.getBase64Decoder().decode(e),{commitment:"confirmed",encoding:"base64",sigVerify:!1,replaceRecentBlockhash:n}).send();if(r.err==="BlockhashNotFound"&&n)throw Error("Simulation failed: Blockhash not found");return r.err==="BlockhashNotFound"?await SW({solanaClient:t,tx:e,replaceRecentBlockhash:!0}):{logs:r.logs??[],error:r.err,hasError:!!r.err,hasFunds:r.logs?.every((i=>!/insufficient funds/gi.test(i)&&!/insufficient lamports/gi.test(i)))??!0}}const X2=(...t)=>{if(typeof Buffer>"u")throw new se("Buffer is not defined.",void 0,he.BUFFER_NOT_DEFINED);return Buffer.from(...t)};async function Fye({rpcSubscriptions:t,signature:e,timeout:n}){let r=new AbortController,i=await t.signatureNotifications(e,{commitment:"confirmed"}).subscribe({abortSignal:r.signal}),s=await Promise.race([new Promise((a=>{setTimeout((()=>{r.abort(),a(Error("Transaction confirmation timed out"))}),n)})),new Promise((async a=>{for await(let o of i){if(r.abort(),o.value.err)return a(Error("Transaction confirmation failed"));a(void 0)}}))]);if(s instanceof Error)throw s}function k0t({rpc:t,rpcSubscriptions:e,chain:n,blockExplorerUrl:r}){let i=(function({rpc:s,rpcSubscriptions:a}){return async o=>new Promise((async(c,l)=>{try{let d=await s.sendTransaction(X2(o).toString("base64"),{preflightCommitment:"confirmed",encoding:"base64"}).send();await Fye({rpcSubscriptions:a,signature:d,timeout:1e4}),c({signature:new Uint8Array(qt.getBase58Encoder().encode(d))})}catch(d){l(d)}}))})({rpc:t,rpcSubscriptions:e});return{rpc:t,rpcSubscriptions:e,chain:n,blockExplorerUrl:r,sendAndConfirmTransaction:i}}function _W(){let t=it(),e=_.useMemo((()=>Object.fromEntries(["solana:mainnet","solana:devnet","solana:testnet"].map((n=>[n,t.solanaRpcs[n]?k0t({chain:n,rpc:t.solanaRpcs[n].rpc,rpcSubscriptions:t.solanaRpcs[n].rpcSubscriptions,blockExplorerUrl:t.solanaRpcs[n].blockExplorerUrl??`https://explorer.solana.com?cluster=${n.replace("solana:","")}`}):null])))),[t.solanaRpcs]);return _.useCallback((n=>{if(!e[n])throw Error(`No RPC configuration found for chain ${n}`);return e[n]}),[e])}const Wye=["solana:mainnet","solana:devnet","solana:testnet"];function T0t(t){return qt.getBase58Decoder().decode(t)}function qv(t,e){if(!Object.prototype.hasOwnProperty.call(t,e))throw TypeError("attempted to use private field on non-instance");return t}var P0t=0,jl="__private_"+P0t+++"__implementation";function zc(t,e){if(!Object.prototype.hasOwnProperty.call(t,e))throw TypeError("attempted to use private field on non-instance");return t}var O0t=0;function tv(t){return"__private_"+O0t+++"_"+t}var Zv=tv("_address"),Kv=tv("_publicKey"),Gv=tv("_chains"),Yv=tv("_features"),Jv=tv("_label"),Xv=tv("_icon");let N0t=class zye{get address(){return zc(this,Zv)[Zv]}get publicKey(){return zc(this,Kv)[Kv].slice()}get chains(){return zc(this,Gv)[Gv].slice()}get features(){return zc(this,Yv)[Yv].slice()}get label(){return zc(this,Jv)[Jv]}get icon(){return zc(this,Xv)[Xv]}constructor({address:e,publicKey:n,label:r,icon:i}){Object.defineProperty(this,Zv,{writable:!0,value:void 0}),Object.defineProperty(this,Kv,{writable:!0,value:void 0}),Object.defineProperty(this,Gv,{writable:!0,value:void 0}),Object.defineProperty(this,Yv,{writable:!0,value:void 0}),Object.defineProperty(this,Jv,{writable:!0,value:void 0}),Object.defineProperty(this,Xv,{writable:!0,value:void 0}),zc(this,Zv)[Zv]=e,zc(this,Kv)[Kv]=n,zc(this,Gv)[Gv]=Wye,zc(this,Jv)[Jv]=r,zc(this,Xv)[Xv]=i,zc(this,Yv)[Yv]=["solana:signAndSendTransaction","solana:signTransaction","solana:signMessage"],new.target===zye&&Object.freeze(this)}};function ln(t,e){if(!Object.prototype.hasOwnProperty.call(t,e))throw TypeError("attempted to use private field on non-instance");return t}var R0t=0;function Pa(t){return"__private_"+R0t+++"_"+t}var pc=Pa("_listeners"),Qv=Pa("_version"),e6=Pa("_name"),t6=Pa("_icon"),Ma=Pa("_injection"),n6=Pa("_isPrivyWallet"),L1=Pa("_accounts"),r6=Pa("_on"),B1=Pa("_emit"),eP=Pa("_off"),U1=Pa("_connected"),i6=Pa("_connect"),s6=Pa("_disconnect"),a6=Pa("_signMessage"),o6=Pa("_signAndSendTransaction"),c6=Pa("_signTransaction");function M0t(t,...e){ln(this,pc)[pc][t]?.forEach((n=>n.apply(null,e)))}function j0t(t,e){ln(this,pc)[pc][t]=ln(this,pc)[pc][t]?.filter((n=>e!==n))}function D0t(t,e,n){let r=structuredClone(qt.getTransactionDecoder().decode(t)),i=qt.address(e);return i in r.signatures&&(r.signatures[i]=n),new Uint8Array(qt.getTransactionEncoder().encode(r))}function Hye(){let{isHeadlessSigning:t,walletProxy:e,initializeWalletProxy:n,recoverEmbeddedWallet:r,openModal:i,privy:s,client:a}=Ge(),{user:o}=Vw(),{setModalData:c}=dt(),{signWithUserSigner:l}=cW();return{signMessage:({message:d,address:u,options:h})=>new Promise((async(p,g)=>{let m=mc(o,u);if(m?.walletClientType!=="privy")return void g(new se("Wallet is not a Privy wallet",void 0,he.EMBEDDED_WALLET_NOT_FOUND));let{entropyId:y,entropyIdVerifier:b}=zi(o,m),x=Ri(m),v=X2(d).toString("base64");if(v.length<1)return void g(new se("Message must be a non-empty string",void 0,he.INVALID_MESSAGE));let E=async()=>{let C;if(!o)throw Error("User must be authenticated before signing with a Privy wallet");let w=await a.getAccessToken();if(!w)throw Error("User must be authenticated to use their embedded wallet.");let S=e??await n(15e3);if(!S)throw Error("Failed to initialize embedded wallet proxy.");if(!await r({address:m.address}))throw Error("Unable to connect to wallet");if(x){let I=await fc(s,l,{chain_type:"solana",method:"signMessage",params:{message:v,encoding:"base64"},wallet_id:m.id});if(!I.data||!("signature"in I.data))throw Error("Failed to sign message");C=I.data.signature}else{let{response:I}=await S.rpc({accessToken:w,entropyId:y,entropyIdVerifier:b,chainType:"solana",hdWalletIndex:m.walletIndex??0,requesterAppId:h?.uiOptions?.requesterAppId,request:{method:"signMessage",params:{message:v}}});C=I.data.signature}return C};if(t({showWalletUIs:h?.uiOptions?.showWalletUIs}))try{let C=await E(),w=new Uint8Array(X2(C,"base64"));p({signature:w})}catch(C){g(C)}else c({signMessage:{method:"solana_signMessage",data:v,confirmAndSign:E,onSuccess:C=>{p({signature:new Uint8Array(X2(C,"base64"))})},onFailure:C=>{g(C)},uiOptions:h?.uiOptions??{}},connectWallet:{recoveryMethod:m.recoveryMethod,connectingWalletAddress:m.address,entropyId:y,entropyIdVerifier:b,isUnifiedWallet:x,onCompleteNavigateTo:"SignRequestScreen",onFailure:C=>{g(new se("Failed to connect to wallet",C,he.UNKNOWN_CONNECT_WALLET_ERROR))}}}),i("EmbeddedWalletConnectingScreen")}))}}function rQ(){let{isHeadlessSigning:t,openModal:e}=Ge(),{setModalData:n}=dt(),{signMessage:r}=Hye(),{user:i}=Vw();return{signTransaction:async({transaction:s,options:a,chain:o="solana:mainnet",address:c})=>{async function l(d){let{signature:u}=await r({message:e$(d),address:c,options:{...a,uiOptions:{...a?.uiOptions,showWalletUIs:!1}}});return{signedTransaction:D0t(d,c,u)}}return t({showWalletUIs:a?.uiOptions?.showWalletUIs})?l(s):new Promise((async(d,u)=>{let h=mc(i,c);if(h?.walletClientType!=="privy")return void u(new se("Wallet is not a Privy wallet",void 0,he.EMBEDDED_WALLET_NOT_FOUND));let{entropyId:p,entropyIdVerifier:g}=zi(i,h),m=Ri(h);function y(x){return v=>{u(v instanceof se?v:new se("Failed to connect to wallet",v,x))}}let b={account:h,transaction:s,chain:o,signOnly:!0,uiOptions:a?.uiOptions||{},onConfirm:l,onSuccess:d,onFailure:y(he.TRANSACTION_FAILURE)};n({connectWallet:{recoveryMethod:h.recoveryMethod,connectingWalletAddress:h.address,entropyId:p,entropyIdVerifier:g,isUnifiedWallet:m,onCompleteNavigateTo:"StandardSignAndSendTransactionScreen",onFailure:y(he.UNKNOWN_CONNECT_WALLET_ERROR)},standardSignAndSendTransaction:b}),e("EmbeddedWalletConnectingScreen")}))}}}let Jj=new class extends mf{setImplementation(t){qv(this,jl)[jl]=t}async signMessage(t){return qv(this,jl)[jl].signMessage(t)}async signAndSendTransaction(t){return qv(this,jl)[jl].signAndSendTransaction(t)}async signTransaction(t){return qv(this,jl)[jl].signTransaction(t)}constructor(t){super(),Object.defineProperty(this,jl,{writable:!0,value:void 0}),qv(this,jl)[jl]=t}}({signTransaction:XI("signTransaction was not injected"),signAndSendTransaction:XI("signAndSendTransaction was not injected"),signMessage:XI("signMessage was not injected")}),iQ=new class{get version(){return ln(this,Qv)[Qv]}get name(){return ln(this,e6)[e6]}get icon(){return ln(this,t6)[t6]}get chains(){return Wye.slice()}get features(){return{"standard:connect":{version:"1.0.0",connect:ln(this,i6)[i6]},"standard:disconnect":{version:"1.0.0",disconnect:ln(this,s6)[s6]},"standard:events":{version:"1.0.0",on:ln(this,r6)[r6]},"solana:signAndSendTransaction":{version:"1.0.0",supportedTransactionVersions:["legacy",0],signAndSendTransaction:ln(this,o6)[o6]},"solana:signTransaction":{version:"1.0.0",supportedTransactionVersions:["legacy",0],signTransaction:ln(this,c6)[c6]},"solana:signMessage":{version:"1.0.0",signMessage:ln(this,a6)[a6]},"privy:":{privy:{signMessage:ln(this,Ma)[Ma].signMessage,signTransaction:ln(this,Ma)[Ma].signTransaction,signAndSendTransaction:ln(this,Ma)[Ma].signAndSendTransaction}}}}get accounts(){return ln(this,L1)[L1].slice()}get isPrivyWallet(){return ln(this,n6)[n6]}constructor({name:t,icon:e,version:n,injection:r,wallets:i}){Object.defineProperty(this,B1,{value:M0t}),Object.defineProperty(this,eP,{value:j0t}),Object.defineProperty(this,pc,{writable:!0,value:void 0}),Object.defineProperty(this,Qv,{writable:!0,value:void 0}),Object.defineProperty(this,e6,{writable:!0,value:void 0}),Object.defineProperty(this,t6,{writable:!0,value:void 0}),Object.defineProperty(this,Ma,{writable:!0,value:void 0}),Object.defineProperty(this,n6,{writable:!0,value:void 0}),Object.defineProperty(this,L1,{writable:!0,value:void 0}),Object.defineProperty(this,r6,{writable:!0,value:void 0}),Object.defineProperty(this,U1,{writable:!0,value:void 0}),Object.defineProperty(this,i6,{writable:!0,value:void 0}),Object.defineProperty(this,s6,{writable:!0,value:void 0}),Object.defineProperty(this,a6,{writable:!0,value:void 0}),Object.defineProperty(this,o6,{writable:!0,value:void 0}),Object.defineProperty(this,c6,{writable:!0,value:void 0}),ln(this,pc)[pc]={},ln(this,r6)[r6]=(s,a)=>(ln(this,pc)[pc][s]?.push(a)||(ln(this,pc)[pc][s]=[a]),()=>ln(this,eP)[eP](s,a)),ln(this,U1)[U1]=s=>{s!=null&&(ln(this,L1)[L1]=s.map((({address:a})=>new N0t({address:a,publicKey:GU.decode(a)})))),ln(this,B1)[B1]("change",{accounts:this.accounts})},ln(this,i6)[i6]=async()=>(ln(this,B1)[B1]("change",{accounts:this.accounts}),{accounts:this.accounts}),ln(this,s6)[s6]=async()=>{ln(this,B1)[B1]("change",{accounts:this.accounts})},ln(this,a6)[a6]=async(...s)=>{let a=[];for(let{account:o,...c}of s){let{signature:l}=await ln(this,Ma)[Ma].signMessage({...c,address:o.address});a.push({signedMessage:c.message,signature:l})}return a},ln(this,o6)[o6]=async(...s)=>{let a=[];for(let o of s){let{signature:c}=await ln(this,Ma)[Ma].signAndSendTransaction({...o,transaction:o.transaction,address:o.account.address,chain:o.chain||"solana:mainnet",options:o.options});a.push({signature:c})}return a},ln(this,c6)[c6]=async(...s)=>{let a=[];for(let{transaction:o,account:c,options:l,chain:d}of s){let{signedTransaction:u}=await ln(this,Ma)[Ma].signTransaction({transaction:o,address:c.address,chain:d||"solana:mainnet",options:l});a.push({signedTransaction:u})}return a},ln(this,e6)[e6]=t,ln(this,t6)[t6]=e,ln(this,Qv)[Qv]=n,ln(this,Ma)[Ma]=r,ln(this,L1)[L1]=[],ln(this,n6)[n6]=!0,r.on("accountChanged",ln(this,U1)[U1],this),ln(this,U1)[U1](i)}}({name:"Privy",version:"1.0.0",icon:"data:image/png;base64,AAABAAEAFBQAAAAAIABlAQAAFgAAAIlQTkcNChoKAAAADUlIRFIAAAAUAAAAFAgGAAAAjYkdDQAAAAlwSFlzAAAOwwAADsMBx2+oZAAAAQVJREFUeJxiYMANZIC4E4ivAPFPIP4FxDeAuB+IlfDowwBMQFwJxF+B+D8O/AOI66Bq8QJGIF6ExyB0vAqImfEZmEeCYTDcgMswPiB+T4aB34FYApuBsWQYBsP52AycToGBK7EZuJECAw9jM3AVBQbuwWZgIwUGTsZmoDkFBnpiMxAEjpJh2FV8iVsbiD+TYBgoDVrgMgwGnID4HRGGgTKBGyHDYEAaiBdCSxh0g/5AU4Q8sYYhAzEgjoGmABBOgFo2eACowFABYn0oVgViAVINkQTiZUD8DIj/ATF6GILEXgLxCiCWIsZAbiAuBeKtQHwHiEHJ6C8UfwHie0C8E4jLoWpRAAAAAP//rcbhsQAAAAZJREFUAwBYFs3VKJ0cuQAAAABJRU5ErkJggg==",wallets:[],injection:Jj});function L0t(){let{ready:t}=_l(),{user:e}=Vw(),{signMessage:n}=Hye(),{signTransaction:r}=rQ(),{signAndSendTransaction:i}=(function(){let o=it(),{isHeadlessSigning:c,openModal:l}=Ge(),{setModalData:d}=dt(),{signTransaction:u}=rQ(),h=_W(),{user:p}=Vw(),{signWithUserSigner:g}=cW();return{signAndSendTransaction:async({transaction:m,address:y,chain:b="solana:mainnet",options:x})=>{let v=mc(p,y);if(v?.walletClientType!=="privy")throw new se("Wallet is not a Privy wallet",void 0,he.EMBEDDED_WALLET_NOT_FOUND);let E=Ri(v);async function C(w){if(x?.sponsor)return await(async P=>{if(!E)throw new se("Sponsoring transactions is only supported for wallets on the TEE stack",he.INVALID_DATA);let T=new cde({appId:o.id,clientId:o.appClientId,storage:jt}),M=await fc(T,g,{chain_type:"solana",method:"signAndSendTransaction",sponsor:!0,params:{transaction:X2(P).toString("base64"),encoding:"base64"},caip2:`solana:${(await h(b).rpc.getGenesisHash().send()).substring(0,32)}`,wallet_id:v.id});if(M.data&&"hash"in M.data)return{signature:GU.decode(M.data.hash)};throw Error("Failed to sign and send transaction")})(w);let{signedTransaction:S}=await u({transaction:w,address:y,chain:b,options:{...x,uiOptions:{...x?.uiOptions,showWalletUIs:!1}}}),{signature:I}=await h(b).sendAndConfirmTransaction(S);return{signature:I}}return c({showWalletUIs:x?.uiOptions?.showWalletUIs})?C(m):new Promise((async(w,S)=>{let I,P,{entropyId:T,entropyIdVerifier:M}=zi(p,v);function R(A){return k=>{S(k instanceof se?k:new se("Failed to connect to wallet",k,A))}}let O={account:v,transaction:m,chain:b,signOnly:!1,uiOptions:x?.uiOptions||{},onConfirm:C,onSuccess:w,onFailure:R(he.TRANSACTION_FAILURE),isSponsored:!!x?.sponsor},$={recoveryMethod:v.recoveryMethod,connectingWalletAddress:v.address,entropyId:T,entropyIdVerifier:M,isUnifiedWallet:E,onCompleteNavigateTo:"StandardSignAndSendTransactionScreen",onFailure:R(he.UNKNOWN_CONNECT_WALLET_ERROR)};o.fundingConfig&&(I=uRe({address:y,appConfig:o,methodScreen:"FundingMethodSelectionScreen",fundWalletConfig:{...x,asset:"native-currency",chain:b},externalSolanaFundingScreen:"FundSolWalletWithExternalSolanaWallet"}),P={amount:o.fundingConfig.defaultRecommendedAmount,asset:"SOL",chain:b,destinationAddress:y,afterSuccessScreen:"StandardSignAndSendTransactionScreen",sourceWalletData:void 0}),d({connectWallet:$,standardSignAndSendTransaction:O,funding:I,solanaFundingData:P}),l("EmbeddedWalletConnectingScreen")}))}}})(),s=_.useMemo((()=>{let o=[...zde(e).sort(((l,d)=>(l.walletIndex??0)-(d.walletIndex??0)))],c=yU(e);return c.length?[...o,...c]:o}),[e]),a=_.useMemo((()=>({signMessage:async({message:o,address:c,options:l})=>await n({message:o,address:c,options:l}),signTransaction:async({transaction:o,address:c,chain:l,options:d})=>await r({transaction:o,address:c,chain:l,options:d}),async signAndSendTransaction({transaction:o,address:c,chain:l,options:d}){let{signature:u}=await i({transaction:o,address:c,chain:l,options:d});return{signature:u}}})),[n,r,i]);return _.useEffect((()=>{Jj?.setImplementation(a)}),[a]),_.useEffect((()=>{var o;!t||(o=iQ.accounts).length===s.length&&o.every(((c,l)=>c.address===s[l]?.address))||Jj?.emit("accountChanged",s)}),[t,s]),{ready:t,wallet:iQ}}function B0t(){let{client:t}=Ge(),{ready:e,wallet:n}=L0t(),[r,i]=_.useState([]),[s,a]=_.useState([]);return _.useEffect((()=>{let o=[n,...r.filter((d=>d.chainType==="solana"&&!!d.wallet.features)).map((d=>d.wallet))];a(o);let c=r.flatMap((d=>{let u=()=>a([...o]);return d.on("walletsUpdated",u),{connector:d,off:u}})),l=o.map((d=>d.features["standard:events"]?.on("change",(()=>{a([...o])}))));return()=>{l.forEach((d=>d?.())),c.forEach((({connector:d,off:u})=>d.off("walletsUpdated",u)))}}),[r]),_.useEffect((()=>{i(t.connectors?.walletConnectors.filter((c=>c.chainType==="solana"))??[]);let o=()=>{i(t.connectors?.walletConnectors.filter((c=>c.chainType==="solana"))??[])};return t.connectors?.on("connectorInitialized",o),()=>{t.connectors?.off("connectorInitialized",o)}}),[e,t.connectors]),{ready:e,wallets:s}}function $W(){let{ready:t,wallets:e}=B0t();return{ready:t,wallets:_.useMemo((()=>e.flatMap((n=>n.accounts.map((r=>new hU({wallet:n,account:r})))))),[e])}}function U0t(){let{user:t,getAccessToken:e}=rn(),{walletProxy:n,openModal:r,client:i}=Ge(),{setModalData:s}=dt(),a=it();return _.useMemo((()=>({exportWallet:o=>new Promise((async(c,l)=>{if(!t)return void l(new se("User must be authenticated before exporting their Privy wallet"));let d=o?.address?mc(t,o.address):C5(t);if(!d)return void l(new se("User must have an embedded wallet."));if(!A5(d))return void l(Error(`Export is not supported for ${d.chainType} wallets`));let u=Ri(d),{entropyId:h,entropyIdVerifier:p}=zi(t,d);await e()?n?(s({connectWallet:{recoveryMethod:d.recoveryMethod,connectingWalletAddress:d.address,isUnifiedWallet:u,entropyId:h,entropyIdVerifier:p,onCompleteNavigateTo:"EmbeddedWalletKeyExportScreen",onFailure:l,shouldForceMFA:!0},keyExport:{appId:a.id,appClientId:a.appClientId,origin:i.apiUrl,address:d.address,entropyId:h,entropyIdVerifier:p,hdWalletIndex:d.walletIndex,chainType:d.chainType,walletId:d.id,isUnifiedWallet:u,imported:d.imported,onSuccess:c,onFailure:l}}),r("EmbeddedWalletConnectingScreen")):l(new se("Wallet not ready for export")):l(new se("Must have valid access token."))}))})),[t,e,n,r,i,s,a])}function F0t(){let{create:t}=Phe();return{createWallet:async e=>{e&&"target"in e&&e&&(e=void 0);let{account:n}=await t({chainType:"solana",options:e});return{wallet:n}}}}function W0t(){return{signMessage:async function(...t){let e=[];for(let n of t)e.push(await n.wallet.signMessage({...n,options:n.options}));return t.length===1?e[0]:[...e]}}}const t$=()=>{const{apiClient:t,config:e}=Md(),{login:n}=ORe(),{logout:r}=Rue(),{authenticated:i,ready:s,user:a,getAccessToken:o,exportWallet:c}=Vw(),{exportWallet:l}=U0t(),d=e.withExport??!1;_.useEffect(()=>{i&&t.setAccessTokenGetter(o)},[i,t,o]);const u=()=>{n()},h=async()=>{await r()},p=_.useCallback(async g=>{if(!d)throw new Error("Wallet export is not enabled. Set withExport: true in SupaProvider config to enable wallet export functionality.");return d?g?.address?l({address:g.address}):l():c(g)},[d,l,c]);return{login:u,logout:h,authenticated:i,loading:!s,user:a,getAccessToken:o,ready:s,exportWallet:p}},z0t=(t,e)=>t==="solana"?"solana":t==="stellar"?"stellar":e?"solana":"stellar",H0t=t=>{const e=t.startsWith("0x")?t.slice(2):t,n=new Uint8Array(e.length/2);for(let r=0;r<n.length;r++)n[r]=parseInt(e.substr(r*2,2),16);return n},V0t=t=>"0x"+Array.from(t).map(e=>e.toString(16).padStart(2,"0")).join("");function nv(){const{signTransactionConfirm:t,setModalLoading:e,config:n}=Md(),r=n.withExport??!1,{signRawHash:i}=I0t(),{signMessage:s}=W0t(),{wallets:a}=$W(),o=_.useRef(a);return _.useEffect(()=>{o.current=a},[a]),{signRawHashWithModal:_.useCallback(async(l,d)=>{const{skipModal:u=!1,title:h="Sign Hash",description:p="You are about to sign the following hash:",confirmText:g="Sign",rejectText:m="Reject",infoText:y,displayHash:b,showTechnicalDetails:x=!1}=d||{},v=b||(x?JSON.stringify({address:l.address,chainType:l.chainType,hash:l.hash},null,2):l.hash),E=async()=>{if(z0t(l.chainType,r)==="solana"){let S=o.current.find(T=>T.address===l.address);if(!S)for(let M=1;M<=30&&(await new Promise(R=>setTimeout(R,500)),S=o.current.find(R=>R.address===l.address),!S);M++);if(!S)throw new Error(`Wallet not found for address: ${l.address}`);const I=H0t(l.hash),P=await s({message:I,wallet:S,options:{uiOptions:{showWalletUIs:!1}}});return{signature:V0t(P.signature)}}else return await i({address:l.address,chainType:"stellar",hash:l.hash})};if(!u){if(!(await t({transaction:v,title:h,description:p,confirmText:g,rejectText:m,infoText:y})).confirmed)return null;e(!0);try{return await E()}finally{e(!1)}}return await E()},[r,i,s,t,e])}}const n$=(t,e,n="stellar")=>{const r=[];if(console.log("[getCantonWallets] chainType:",n),console.log("[getCantonWallets] wallets:",e?.map(a=>({address:a.address,chainType:a.chainType,walletClientType:a.walletClientType}))),console.log("[getCantonWallets] linkedAccounts:",t?.linkedAccounts?.filter(a=>a.type==="wallet").map(a=>({address:a.address,chainType:a.chainType}))),t?.linkedAccounts){const a=t.linkedAccounts.filter(o=>o.type==="wallet"&&o.chainType===n);r.push(...a)}const i=e.filter(a=>a.chainType===n);return r.push(...i),Array.from(new Map(r.map(a=>[a.address,a])).values())},QA=t=>{if(!t)throw new Error("Wallet is required");if(t.chainType==="solana"&&t.address)return Bye(t.address);let e=t.publicKey||t.public_key;if(!e&&t.linkedAccount&&(e=t.linkedAccount.publicKey||t.linkedAccount.public_key),!e)throw new Error("Public key not found in wallet. Wallet may still be creating. Please wait...");if(typeof e!="string")throw new Error(`Invalid publicKey type: ${typeof e}`);if(!/^(0x)?[0-9a-fA-F]+$/.test(e))throw new Error(`publicKey is not in hex format: ${e.substring(0,20)}...`);return Dye(e)},q0t=t=>t&&(t.chainType==="stellar"||t.chainType==="solana"),Z0t=(t,e,n="stellar")=>{const r=n$(t,e,n);if(r.length===0)throw new Error(`No ${n} wallet found. Please create one first.`);return r[0]};function oy(){const{user:t,authenticated:e}=t$(),{wallets:n}=_l(),{wallets:r}=$W(),{config:i}=Md(),s=i.withExport?"solana":"stellar";let a=[];e&&(i.withExport?r&&r.length>0&&(a=r.map(c=>({address:c.address,chainType:"solana",walletClientType:"privy"})),console.log("[useCantonWallet] mapped wallets:",a)):a=n$(t,n,s));const o=a[0]||null;return{cantonWallets:a,cantonWallet:o}}const K0t=oy,y3="supa-sdk:canton:matched-signing-wallet:v1",Vye=t=>t==="stellar"||t==="solana",IW=()=>{if(typeof window>"u")return null;try{return window.localStorage}catch{return null}},G0t=()=>{const t=IW();if(!t)return null;const e=t.getItem(y3);if(!e)return null;try{const n=JSON.parse(e);return typeof n?.address!="string"||!Vye(n?.chainType)||typeof n?.cantonPublicKey!="string"||typeof n?.savedAt!="number"?(t.removeItem(y3),null):n}catch{return t.removeItem(y3),null}},TE=(t,e)=>{const n=IW();if(!n)return;const r={address:t.wallet.address,chainType:t.chainType,cantonPublicKey:e,savedAt:Date.now()};try{n.setItem(y3,JSON.stringify(r))}catch{}},sQ=()=>{const t=IW();t&&t.removeItem(y3)},w3=t=>{if(!t||typeof t!="string")return null;const e=t.replace(/\s/g,"");if(!e)return null;const n=e.length%4;return n===0?e:`${e}${"=".repeat(4-n)}`},Y0t=(t,e)=>{if(!t?.address)return null;const n=Vye(t.chainType)?t.chainType:e;return{wallet:{...t,chainType:n},chainType:n}},J0t=(t,e,n)=>n$(t,e,n).filter(r=>typeof r?.address=="string"&&r.address.length>0).map(r=>({...r,chainType:n})),X0t=({primaryWallet:t,stellarWallets:e,solanaWallets:n,cantonPublicKey:r,defaultChainType:i})=>{const s=new Map,a=(d,u)=>{if(!d)return;const h=Y0t(d,u);h&&s.set(`${h.chainType}:${h.wallet.address}`,h)};a(t,i);for(const d of e)a(d,"stellar");for(const d of n)a(d,"solana");const o=Array.from(s.values());if(o.length===0)throw new Error("No Canton wallet found. Please create a wallet first.");const c=w3(r);let l=G0t();if(l&&c&&l.cantonPublicKey!==c&&(sQ(),l=null),c)for(const d of o)try{const u=w3(QA(d.wallet));if(u&&u===c)return TE(d,c),d}catch{}if(l){const d=l,u=o.find(h=>h.chainType===d.chainType&&h.wallet.address===d.address);if(u){if(!c)return TE(u,d.cantonPublicKey),u;const h=c;try{const p=w3(QA(u.wallet));if(p&&p===h)return TE(u,h),u}catch{return TE(u,d.cantonPublicKey),u}}sQ()}return o.find(d=>d.chainType===i)||o[0]},qye=_.createContext(null);function Xj({cantonService:t,children:e,withExport:n=!1,autoOnboarding:r=!0,autoTransferPreapproval:i=!1}){const{user:s,authenticated:a}=t$(),{wallets:o}=_l(),{signRawHashWithModal:c}=nv(),{createWallet:l}=$0t(),{createWallet:d}=F0t(),{cantonWallet:u,cantonWallets:h}=oy(),p=n?"solana":"stellar",g=_.useRef(o),m=_.useRef(s);_.useEffect(()=>{g.current=o,m.current=s},[o,s]);const[y,b]=_.useState(!1),[x,v]=_.useState(null),[E,C]=_.useState(!1),[w,S]=_.useState(null),[I,P]=_.useState(null),T=_.useRef(!1),M=_.useRef(!1),R=_.useRef(!1),O=_.useRef(!1),$=_.useRef(null),A=_.useRef(null),k=_.useRef(null),L=_.useRef(null),D=_.useRef(!1),N=_.useCallback(We=>J0t(m.current,g.current,We),[]),j=_.useCallback(async()=>{let We=w3(w?.publicKey);if(!We&&E)try{const Me=await t.getMe();S(Me),We=w3(Me.publicKey)}catch{}return X0t({primaryWallet:u,stellarWallets:N("stellar"),solanaWallets:N("solana"),cantonPublicKey:We,defaultChainType:p})},[u,p,N,w?.publicKey,E,t]);_.useEffect(()=>{a&&u&&!T.current&&(T.current=!0,F())},[a,u]);const F=async()=>{try{const We=await t.checkRegistrationStatus();C(We)}catch{C(!1)}};_.useEffect(()=>{a&&u&&E&&!M.current&&(M.current=!0,(async()=>{try{const Me=await t.getMe();if(S(Me),!i)return;!Me.transferPreapprovalSet&&!D.current&&u&&(D.current=!0,nt(Me).catch(rt=>{console.warn("[Supa SDK] ❌ Failed to automatically setup transfer preapproval:",rt)}))}catch(Me){console.error("[Supa SDK] Failed to fetch Canton user info:",Me)}})())},[a,u,E,i]);const W=_.useCallback(()=>{v(null)},[]),q=_.useCallback(()=>{console.log("[Supa SDK] 🔄 Resetting Canton state..."),b(!1),v(null),C(!1),S(null),P(null),T.current=!1,M.current=!1,R.current=!1,O.current=!1,D.current=!1,$.current=null,A.current=null,k.current=null,L.current=null,console.log("[Supa SDK] ✅ Canton state reset complete")},[]),V=_.useCallback(async()=>{if(!a)throw new Error("User must be authenticated to create wallet");b(!0),v(null);try{const We=n?await d():await l({chainType:"stellar"});if(We){const Me=We.wallet||We;if(Me.public_key||Me.publicKey||Me.address)return console.log(`[Supa SDK] ✅ ${n?"Solana":"Stellar"} wallet created successfully`),Me;await new Promise(Ie=>setTimeout(Ie,2e3));const rt=N(p);return rt[0]?(console.log(`[Supa SDK] ✅ ${n?"Solana":"Stellar"} wallet created successfully`),rt[0]):Me}return null}catch(We){if(We.message?.toLowerCase().includes("already has an embedded wallet")||We.message?.toLowerCase().includes("already has a wallet")){console.log("[Supa SDK] Wallet already exists, fetching existing one...");const rt=10;for(let $t=1;$t<=rt;$t++){const B=N(p)[0];if(B)return console.log("[Supa SDK] ✅ Found existing wallet:",B.address),b(!1),B;$t<rt&&(console.log(`[Supa SDK] Wallet not found in state, polling... (${$t}/${rt})`),await new Promise(U=>setTimeout(U,500)))}const Ie=new Error("Wallet exists in Privy but not found in local state. Please refresh the page.");throw v(Ie),Ie}const Me=new Error(`Failed to create ${n?"Solana":"Stellar"} wallet: ${We.message}`);throw v(Me),Me}finally{b(!1)}},[a,l,d,n,N,p]),Z=_.useCallback(async We=>{try{const{wallet:Me,chainType:rt}=await j(),Ie=nd(We),$t=await c({address:Me.address,chainType:rt,hash:Ie},{title:"Sign Hash",description:"You are about to sign the following hash.",confirmText:"Sign",rejectText:"Reject",displayHash:`Hash: ${We}`});if(!$t)throw new Error("User rejected signature");return td($t.signature)}catch(Me){throw new Error(`Failed to sign hash: ${Me.message}`)}},[j,c]),te=_.useCallback(async We=>{if($.current)return $.current;if(E){console.log("[Supa SDK] ✅ Canton wallet already registered, skipping");return}const Me=(async()=>{b(!0),v(null);try{let rt=u;if(!rt){const J=await V();if(J?rt=J:(await new Promise(ue=>setTimeout(ue,2e3)),rt=N(p)[0]||null),!rt)throw new Error("Failed to create Canton wallet. Please try again.")}rt&&rt.chainType!=="solana"&&rt.chainType!=="stellar"&&(rt={...rt,chainType:p});let Ie=null,$t=0;const z=10;for(;$t<z&&!Ie;)try{Ie=QA(rt);break}catch(J){if($t++,$t>=z)throw new Error(`${J.message} After ${z} attempts, the wallet is still not ready.`);await new Promise(ue=>setTimeout(ue,2e3));const ee=N(p);ee[0]&&(rt=ee[0],rt.chainType!=="solana"&&rt.chainType!=="stellar"&&(rt={...rt,chainType:p}))}if(!Ie)throw new Error("Failed to obtain public key from wallet");await new Promise(J=>setTimeout(J,1e3));const B=async J=>{let ee=0;const ue=5;for(console.log("[Supa SDK] 🔐 Signing with wallet:",rt.address);ee<ue;)try{console.log(`[Supa SDK] 🔐 Sign attempt ${ee+1}/${ue}...`);const we=await c({address:rt.address,chainType:rt.chainType||p,hash:J},{skipModal:!0});if(!we)throw new Error("User rejected signature");return console.log("[Supa SDK] ✅ Signature obtained successfully"),we.signature}catch(we){if(ee++,console.log(`[Supa SDK] ❌ Sign attempt ${ee} failed:`,we.message),(we.message?.includes("Wallet not found")||we.message?.includes("not initialized")||we.message?.includes("proxy")||we.message?.includes("Wallet"))&&ee<ue){const st=ee===1?2e3:ee===2?3e3:4e3;console.log(`[Supa SDK] ⏳ Waiting ${st/1e3}s before retry...`),await new Promise(Ht=>setTimeout(Ht,st));continue}throw we}throw new Error("Failed to sign after multiple attempts")};if(await t.registerCanton({publicKey:Ie,signFunction:B,inviteCode:We})==="registered"){console.log("[Supa SDK] ✅ Canton wallet already registered or registration completed"),C(!0);return}console.log("[Supa SDK] ✅ Canton wallet registered successfully"),C(!0)}catch(rt){console.error("[Supa SDK] ❌ Canton registration failed:",rt);const Ie=new Error(`Failed to register Canton wallet: ${rt.message}`);throw v(Ie),Ie}finally{b(!1),$.current=null}})();return $.current=Me,Me},[u,V,c,t,E,N,p]),ne=_.useCallback(async(We,Me)=>{b(!0),v(null);try{const rt=async Ie=>{const{wallet:$t,chainType:z}=await j(),B=await c({address:$t.address,chainType:z,hash:Ie},{title:"Tap Devnet Faucet",description:`You are requesting ${We} tokens from the devnet faucet.`,confirmText:"Confirm & Sign",rejectText:"Cancel",displayHash:`Request ${We} Canton tokens from devnet faucet`});if(!B)throw new Error("User rejected signature");return B.signature};return await t.tapDevnet({amount:We,signFunction:rt},Me)}catch(rt){const Ie=new Error(`Failed to tap devnet: ${rt.message}`);throw v(Ie),Ie}finally{b(!1)}},[j,c,t]),Q=_.useCallback(async()=>{if(A.current)return A.current;const We=(async()=>{try{const Me=await t.getMe();return S(Me),Me}finally{setTimeout(()=>{A.current=null},100)}})();return A.current=We,We},[t]),re=_.useCallback(async(We,Me)=>await t.getActiveContracts(We,Me),[t]),fe=_.useCallback(async()=>{if(k.current)return k.current;const We=(async()=>{try{const Me=await t.getBalances();return P(Me),Me}finally{setTimeout(()=>{k.current=null},100)}})();return k.current=We,We},[t]),Ae=_.useCallback(async We=>{b(!0),v(null);try{const Me=async rt=>{const{wallet:Ie,chainType:$t}=await j(),z=await c({address:Ie.address,chainType:$t,hash:rt},{title:"Sign Message",description:"You are about to sign the following message:",confirmText:"Sign",rejectText:"Reject",displayHash:We});if(!z)throw new Error("User rejected signature");return z.signature};return await t.signMessage(We,Me)}catch(Me){const rt=new Error(`Failed to sign message: ${Me.message}`);throw v(rt),rt}finally{b(!1)}},[j,c,t]),Ne=_.useCallback(async(We,Me,rt)=>{b(!0),v(null);try{const{wallet:Ie,chainType:$t}=await j(),z=await t.prepareTransaction(We,Me,rt?.commandId);rt?.onCostEstimation&&z.costEstimation&&await rt.onCostEstimation(z.costEstimation);const B=nd(z.hash),U=await c({address:Ie.address,chainType:$t,hash:B},{title:"Sign Transaction",description:"Review and sign the following transaction.",confirmText:"Sign & Send",rejectText:"Reject",displayHash:`Transaction Hash: ${z.hash}`});if(!U)throw new Error("User rejected transaction");const J=td(U.signature);return await t.submitPreparedAndWait(z.hash,J,rt)}catch(Ie){const $t=new Error(`Failed to send transaction: ${Ie.message}`);throw v($t),$t}finally{b(!1)}},[j,c,t]),oe=_.useCallback(async(We,Me,rt,Ie)=>{b(!0),v(null);try{const{wallet:$t,chainType:z}=await j(),B=Ie?.instrumentId||"Amulet",U=Ie?.instrumentAdmin,J=B==="Amulet",ee=await t.prepareTransfer({receiverPartyId:We,amount:Me,instrumentId:B,instrumentAdmin:U,memo:rt});Ie?.onCostEstimation&&ee.costEstimation&&await Ie.onCostEstimation(ee.costEstimation);const ue=nd(ee.hash),we=await c({address:$t.address,chainType:z,hash:ue},{skipModal:Ie?.skipModal||!1,title:J?"Send Canton Coin":`Send ${B}`,description:`You are sending ${Me} ${J?"Canton Coin":B}${rt?` (${rt})`:""}.`,confirmText:"Confirm & Sign",rejectText:"Cancel",displayHash:`Sending ${Me} ${J?"CC":B} to ${We.slice(0,20)}...`});if(!we)throw new Error("User rejected transfer");const st=td(we.signature),Ht=await t.submitPreparedAndWait(ee.hash,st,Ie);return await fe().catch(()=>{}),Ht}catch($t){if($t.message?.includes("CantonTransferOnlySupportedForWalletsWithPreapprovedTransfers")){const U=new Error("Transfer preapproval required. The receiver wallet must have transfer preapproval enabled.");throw v(U),U}const z=Ie?.instrumentId&&Ie.instrumentId!=="Amulet"?`token ${Ie.instrumentId}`:"Canton Coin",B=new Error(`Failed to send ${z}: ${$t.message}`);throw v(B),B}finally{b(!1)}},[j,c,t,fe]),je=_.useCallback(async(We="Amulet",Me,rt)=>{const $t=(typeof rt=="string"?rt.trim():"")||w?.partyId||(await Q()).partyId;return await t.calculateTransferFee({partyId:$t,instrumentId:We,instrumentAdmin:Me})},[w,Q,t]),nt=_.useCallback(async We=>{if(L.current)return L.current;if((We||w)?.transferPreapprovalSet)return;D.current=!0;const rt=(async()=>{b(!0),v(null);try{const{wallet:Ie,chainType:$t}=await j();if(!We){const ee=await t.getMe();if(ee.transferPreapprovalSet){S(ee);return}}const z=await t.prepareTransferPreapproval(),B=nd(z.hash),U=await c({address:Ie.address,chainType:$t,hash:B},{skipModal:!0});if(!U)throw new Error("User rejected transfer preapproval signature");const J=td(U.signature);if(await t.submitPreparedAndWait(z.hash,J),We)S({...We,transferPreapprovalSet:!0});else{const ee=await t.getMe();S(ee)}}catch(Ie){const $t=new Error(`Failed to setup transfer preapproval: ${Ie.message}`);throw v($t),$t}finally{b(!1),L.current=null}})();return L.current=rt,rt},[j,c,t,w]),et=_.useCallback(async()=>nt(),[nt]),ht=_.useCallback(async()=>await t.getPendingIncomingTransfers(),[t]),Ke=_.useCallback(async(We,Me,rt)=>{b(!0),v(null);try{const{wallet:Ie,chainType:$t}=await j(),z=await t.prepareResponseToIncomingTransfer({contractId:We,accept:Me});rt?.onCostEstimation&&z.costEstimation&&await rt.onCostEstimation(z.costEstimation);const B=nd(z.hash),U=await c({address:Ie.address,chainType:$t,hash:B},{title:Me?"Accept Transfer":"Reject Transfer",description:`You are about to ${Me?"accept":"reject"} an incoming transfer.`,confirmText:"Confirm & Sign",rejectText:"Cancel",displayHash:`${Me?"Accepting":"Rejecting"} transfer ${We.slice(0,20)}...`});if(!U)throw new Error("User rejected signature");const J=td(U.signature),ee=await t.submitPreparedAndWait(z.hash,J,rt);return Me&&await fe().catch(()=>{}),ee}catch(Ie){const $t=new Error(`Failed to respond to transfer: ${Ie.message}`);throw v($t),$t}finally{b(!1)}},[j,c,t,fe]),Oe=_.useCallback(async We=>await t.getTransactions(We),[t]),qe=_.useCallback(async We=>await t.getPriceHistory(We),[t]);_.useEffect(()=>{if(console.log("[Supa SDK] auto-onboarding effect:",{autoOnboarding:r,authenticated:a,loading:y,cantonWallet:u?.address,hasAutoCreatedWallet:R.current}),!r||!a||y)return;(async()=>{if(console.log("[Supa SDK] runAutoOnboarding:",{cantonWallet:u?.address,hasAutoCreatedWallet:R.current,withExport:n}),!u&&!R.current){R.current=!0;try{n?await d():await l({chainType:"stellar"}),console.log(`[Supa SDK] ✅ ${n?"Solana":"Stellar"} wallet auto-created`)}catch(Me){console.warn(`[Supa SDK] ❌ Failed to auto-create ${n?"Solana":"Stellar"} wallet:`,Me)}return}if(u&&!E&&!O.current&&!$.current){O.current=!0;try{await te()}catch(Me){console.warn("[Supa SDK] ❌ Failed to auto-register Canton:",Me),O.current=!1}}})()},[r,a,y,u,E,l,d,te,n]);const zt={cantonWallet:u,cantonWallets:h,createCantonWallet:V,registerCanton:te,isRegistered:E,cantonUser:w,getMe:Q,getActiveContracts:re,cantonBalances:I,getBalances:fe,tapDevnet:ne,signHash:Z,signMessage:Ae,sendTransaction:Ne,sendCantonCoin:oe,calculateTransferFee:je,setupTransferPreapproval:et,getPendingIncomingTransfers:ht,respondToIncomingTransfer:Ke,getTransactions:Oe,getPriceHistory:qe,resetState:q,loading:y,error:x,clearError:W};return f.jsx(qye.Provider,{value:zt,children:e})}function Zye(){const t=_.useContext(qye);if(!t)throw new Error("useCantonContext must be used within CantonProvider (inside SupaProvider)");return t}const Q0t="0.2.40";typeof window<"u"&&!window.Buffer&&(window.Buffer=Upt.Buffer,console.log("[Supa SDK] ✅ Buffer polyfill initialized"));const Qj=_.createContext(null);function e1t({config:t,children:e}){const[n,r]=_.useState(null),[i,s]=_.useState({type:null,options:null,resolve:null,loading:!1});_.useEffect(()=>{const S=Rye({baseURL:t.apiBaseUrl,nodeIdentifier:t.nodeIdentifier,supaAppId:t.supaAppId,sdkVersion:Q0t}),I=b0t(S),P=x0t(S);r({apiClient:S,cantonService:I,apiService:P})},[t]);const a=_.useCallback(S=>I=>new Promise(P=>s({type:S,options:I,resolve:P,loading:!1})),[]),o=_.useCallback(a("confirm"),[a]),c=_.useCallback(a("signMessage"),[a]),l=_.useCallback(a("signTransaction"),[a]),d=_.useCallback(S=>{s(I=>({...I,loading:S}))},[]),u=_.useCallback(()=>{i.resolve&&i.resolve({confirmed:!1}),s({type:null,options:null,resolve:null,loading:!1})},[i.resolve]),h=_.useCallback(()=>{i.resolve&&i.resolve({confirmed:!0}),s({type:null,options:null,resolve:null,loading:!1})},[i.resolve]),p=_.useCallback(()=>{i.resolve&&i.resolve({confirmed:!1}),s({type:null,options:null,resolve:null,loading:!1})},[i.resolve]);if(!n)return null;const g=t.appearance?.theme||"light",m=g==="dark"?"privy-dark":"privy-light",y={embeddedWallets:{ethereum:{createOnLogin:"users-without-wallets"},...t.withExport&&{solana:{createOnLogin:"users-without-wallets"}}},appearance:{theme:g,accentColor:t.appearance?.accentColor?`#${t.appearance.accentColor.replace("#","")}`:void 0,logo:t.appearance?.logo},loginMethods:t.loginMethods||["email","wallet"],defaultChain:t.defaultChain,supportedChains:t.supportedChains},b={...n,config:t,theme:g,confirm:o,signMessageConfirm:c,signTransactionConfirm:l,setModalLoading:d,closeModal:u},x=i.type!==null,v=i.type==="confirm",E=i.type==="signMessage",C=i.type==="signTransaction",w=t.smartWallets?.enabled??!1;return f.jsx(Tut,{appId:t.privyAppId,clientId:t.privyClientId,config:y,children:w?f.jsx(Npt,{config:t.smartWallets?.paymasterContext?{paymasterContext:t.smartWallets.paymasterContext}:void 0,children:f.jsx(Qj.Provider,{value:b,children:f.jsx(Xj,{cantonService:n.cantonService,withExport:t.withExport,autoOnboarding:t.autoOnboarding,autoTransferPreapproval:t.onboardingStages?.transferPreapproval??!1,children:f.jsxs("div",{className:m,children:[e,v&&i.options&&f.jsx(O4,{open:x,onClose:p,onConfirm:h,onReject:p,loading:i.loading,...i.options}),E&&i.options&&f.jsx(Gj,{open:x,onClose:p,onConfirm:h,onReject:p,loading:i.loading,...i.options}),C&&i.options&&f.jsx(Yj,{open:x,onClose:p,onConfirm:h,onReject:p,loading:i.loading,...i.options})]})})})}):f.jsx(Qj.Provider,{value:b,children:f.jsx(Xj,{cantonService:n.cantonService,withExport:t.withExport,autoOnboarding:t.autoOnboarding,autoTransferPreapproval:t.onboardingStages?.transferPreapproval??!1,children:f.jsxs("div",{className:m,children:[e,v&&i.options&&f.jsx(O4,{open:x,onClose:p,onConfirm:h,onReject:p,loading:i.loading,...i.options}),E&&i.options&&f.jsx(Gj,{open:x,onClose:p,onConfirm:h,onReject:p,loading:i.loading,...i.options}),C&&i.options&&f.jsx(Yj,{open:x,onClose:p,onConfirm:h,onReject:p,loading:i.loading,...i.options})]})})})})}function Md(){const t=_.useContext(Qj);if(!t)throw new Error("useSupaContext must be used within SupaProvider");return t}function Kye(){return Zye()}const t1t=()=>{const{apiService:t}=Md();return{user:{getCurrent:()=>t.getCurrentUser(),getAll:()=>t.getAllUsers(),getByPrivyId:e=>t.getUserByPrivyId(e),getBalance:e=>t.getSmartWalletBalances(e)},dialogs:{create:e=>t.createDialog(e),findAll:e=>t.getAllDialogs(e),findOne:e=>t.getDialog(e),delete:e=>t.deleteDialog(e)},messages:{create:(e,n)=>t.createMessage(e,n),findAll:(e,n)=>t.getDialogMessages(e,n),findOne:e=>t.getMessage(e)},onchain:{getPricesByAddresses:e=>t.getTokenPricesByAddresses(e),getTokenPrices:e=>t.getTokenPrices(e),getPriceHistory:e=>t.getTokenPriceHistory(e),get24hrPriceChanges:e=>t.getTokens24hrPriceChanges(e),getTokenInfo:(e,n)=>t.getTokenInfo(e,n),getAccountBalances:(e,n,r)=>t.getAccountTokenBalances(e,n,r)},transactions:{get:e=>t.getTransactions(e),forceLoad:e=>t.forceLoadTransactions(e)},supaPoints:{getBalance:()=>t.getSupaPointsBalance(),getHistory:e=>t.getSupaPointsHistory(e),dailyLogin:()=>t.dailyLogin()},paymaster:{checkSponsorship:e=>t.checkPaymasterSponsorship(e)},privy:{getBalance:()=>t.getPrivyBalance()}}},Gye=()=>{const t=t$(),e=Kye(),n=t1t();return{auth:t,canton:e,api:n,onboard:async()=>{if(!t.authenticated){t.login();return}e.isRegistered||await e.registerCanton()},logout:async()=>{console.log("[Supa SDK] 🚪 Logging out..."),e.resetState(),await t.logout(),console.log("[Supa SDK] ✅ Logout complete")}}};function n1t(){const{cantonService:t}=Md(),{signRawHashWithModal:e}=nv(),{cantonWallet:n,cantonWallets:r}=oy(),[i,s]=_.useState(!1),[a,o]=_.useState(null),c=_.useCallback(()=>o(null),[]);return{signMessage:_.useCallback(async(d,u)=>{const{onSuccess:h,onRejection:p,onError:g,skipModal:m=!1,title:y="Sign Message",description:b="You are about to sign the following message.",confirmText:x="Sign",rejectText:v="Reject",displayContent:E,showTechnicalDetails:C=!1}=u||{};if(!n){const w=new Error("No Canton wallet found. Please create one first.");return o(w),g?.(w),null}o(null),s(!0);try{const w=async I=>{const P=await e({address:n.address,chainType:n.chainType,hash:I},{skipModal:m,title:y,description:b,confirmText:x,rejectText:v,infoText:"Signing a message proves ownership of your wallet without exposing private keys or making any blockchain transactions.",displayHash:C?void 0:E||d,showTechnicalDetails:C});if(!P)throw new Error("User rejected signature");return P.signature},S=await t.signMessage(d,w);return h?.(S),S}catch(w){if(w.message.includes("rejected"))p?.();else{const I=new Error(`Failed to sign message: ${w.message}`);o(I),g?.(I)}return null}finally{s(!1)}},[n,e,t]),loading:i,error:a,clearError:c,cantonWallets:r,cantonWallet:n}}function r1t(){const{cantonService:t}=Md(),{signRawHashWithModal:e}=nv(),{cantonWallet:n,cantonWallets:r}=oy(),[i,s]=_.useState(!1),[a,o]=_.useState(null),c=_.useCallback(()=>o(null),[]);return{sendTransaction:_.useCallback(async(d,u,h)=>{const{onSuccess:p,onRejection:g,onError:m,skipModal:y=!1,modalTitle:b="Sign Transaction",modalDescription:x="Review and sign the following transaction.",modalConfirmText:v="Sign & Send",modalRejectText:E="Reject",modalDisplayContent:C,showTechnicalDetails:w=!1,commandId:S,submitOptions:I}=h||{};if(!n){const P=new Error("No Stellar wallet found. Please create one first.");return o(P),m?.(P),null}o(null),s(!0);try{const P=await t.prepareTransaction(d,u,S),T=C||(w?void 0:`Transaction Hash: ${P.hash}`),M=nd(P.hash),R=await e({address:n.address,chainType:"solana",hash:M},{skipModal:y,title:b,description:x,confirmText:v,rejectText:E,infoText:"You are submitting a transaction, please be careful",displayHash:T,showTechnicalDetails:w});if(!R)return g?.(),null;const O=td(R.signature),$=await t.submitPreparedAndWait(P.hash,O,I);return p?.($),$}catch(P){if(P.message.includes("rejected"))g?.();else{const M=new Error(`Failed to send transaction: ${P.message}`);o(M),m?.(M)}return null}finally{s(!1)}},[n,e,t]),loading:i,error:a,clearError:c,cantonWallets:r,cantonWallet:n}}function h2(t){if(t instanceof Error)return t.message;if(typeof t=="string")return t;try{return JSON.stringify(t)}catch{return String(t)}}function aQ(t){const e=h2(t).toLowerCase();return e.includes("rejected")||e.includes("user rejected")||e.includes("user denied")||e.includes("cancelled")||e.includes("canceled")||e.includes("denied")}function Hy(t,e){const n=t+1;return e?`tx #${n} (${e})`:`tx #${n}`}async function i1t(t){const{queryCompletion:e,submissionId:n,label:r,options:i}=t,{timeout:s=3e4,pollInterval:a=1e3}=i||{},o=Date.now();for(;Date.now()-o<s;){const c=await e(n);if(c.status==="completed")return c;await new Promise(l=>setTimeout(l,a))}throw new Error(`Timeout waiting for completion for ${r} after ${s}ms (submissionId: ${n})`)}function Yye(){const{cantonService:t,config:e,signTransactionConfirm:n}=Md(),{signRawHashWithModal:r}=nv(),{cantonWallet:i,cantonWallets:s}=oy(),[a,o]=_.useState(!1),[c,l]=_.useState(null),d=_.useCallback(()=>l(null),[]);return{sendMultipleTransactions:_.useCallback(async(h,p)=>{const{onSuccess:g,onRejection:m,onError:y,skipModal:b=!1,modalTitle:x="Sign Multiple Transactions",modalDescription:v,modalConfirmText:E="Sign & Send",modalRejectText:C="Reject",showTechnicalDetails:w=!1,deduplicationPeriod:S,submitOptions:I}=p||{};if(!i){const P=new Error("No Canton wallet found. Please create one first.");return l(P),y?.(P),null}if(!Array.isArray(h)||h.length===0){const P=new Error("No transactions provided.");return l(P),y?.(P),null}l(null),o(!0);try{const P=await Promise.allSettled(h.map(j=>t.prepareTransaction(j.commands,j.disclosedContracts,j.commandId))),T=[],M=[];if(P.forEach((j,F)=>{j.status==="fulfilled"?T[F]=j.value:M.push({index:F,error:h2(j.reason)})}),M.length){const j=M[0];throw new Error(`Failed to prepare ${M.length}/${h.length} transactions. First failure at ${Hy(j.index)}: ${j.error}`)}const R=T.map((j,F)=>{if(!w)return`Transaction Hash: ${j.hash}`;const W=h[F];return JSON.stringify({index:F+1,hash:j.hash,commands:W?.commands,disclosedContracts:W?.disclosedContracts},null,2)});if(!b){const j=T.length;if(!(await n({transaction:R,title:x,description:v??`You are about to sign ${j} transactions.`,confirmText:E,rejectText:C,infoText:"You are submitting transactions, please be careful"})).confirmed)return m?.(),null}const O=e.withExport?"solana":"stellar",$=[];for(let j=0;j<T.length;j++){const F=T[j];try{const W=nd(F.hash),q=await r({address:i.address,chainType:O,hash:W},{skipModal:!0});if(!q)return m?.(),null;$.push({hash:F.hash,signature:td(q.signature),...S&&{deduplicationPeriod:S}})}catch(W){if(aQ(W))return m?.(),null;throw new Error(`Failed to sign ${Hy(j,F.hash)}: ${h2(W)}`)}}let A;try{A=await t.submitMultiplePrepared($)}catch{A=(await Promise.allSettled($.map(async W=>{const q=await t.submitPrepared(W.hash,W.signature,W.deduplicationPeriod);return{hash:W.hash,success:!0,submissionId:q.submissionId}}))).map((W,q)=>{const V=$[q]?.hash??"";return W.status==="fulfilled"?W.value:{hash:V,success:!1,error:h2(W.reason)}})}const k=A.map((j,F)=>({r:j,idx:F})).filter(({r:j})=>!j.success);if(k.length){const j=k.slice(0,3).map(({r:W,idx:q})=>`${Hy(q,W.hash)}: ${W.error??"Unknown error"}`).join("; "),F=k.length>3?` (+${k.length-3} more)`:"";throw new Error(`Failed to submit ${k.length}/${A.length} transactions: ${j}${F}`)}const L=await Promise.allSettled(A.map((j,F)=>{const W=j.submissionId;return W?i1t({queryCompletion:q=>t.queryCompletion(q),submissionId:W,label:Hy(F,j.hash),options:I}):Promise.reject(new Error(`Missing submissionId for ${Hy(F,j.hash)}`))})),D=[],N=[];if(L.forEach((j,F)=>{j.status==="fulfilled"?D[F]=j.value:N.push({index:F,error:h2(j.reason)})}),N.length){const j=N[0];throw new Error(`Failed to wait for completion for ${N.length}/${A.length} transactions. First failure at ${Hy(j.index,A[j.index]?.hash)}: ${j.error}`)}return g?.(D),D}catch(P){if(aQ(P))m?.();else{const T=new Error(`Failed to send multiple transactions: ${h2(P)}`);l(T),y?.(T)}return null}finally{o(!1)}},[t,i,e.withExport,r,n]),loading:a,error:c,clearError:d,cantonWallets:s,cantonWallet:i}}function s1t(){const{sendMultipleTransactions:t,loading:e,error:n,clearError:r,cantonWallets:i,cantonWallet:s}=Yye();return{sendTransactions:(o,c)=>t(o,c),loading:e,error:n,clearError:r,cantonWallets:i,cantonWallet:s}}function a1t(){const{cantonService:t,config:e}=Md(),{cantonWallet:n}=oy(),{signRawHashWithModal:r}=nv(),[i,s]=_.useState(!1),[a,o]=_.useState(null),c=_.useCallback(()=>o(null),[]);return{runInitializationTransactions:_.useCallback(async()=>{if(console.log("[Init Txs] Starting initialization transactions..."),!n){const d=new Error("No Canton wallet found. Please create one first.");throw o(d),d}s(!0),o(null);try{console.log("[Init Txs] Preparing transactions...");const d=await t.prepareInitializationTransactions();if(console.log("[Init Txs] Prepared transactions:",d),!d.length)return console.log("[Init Txs] No transactions to initialize"),[];const u=e.withExport?"solana":"stellar";console.log("[Init Txs] Chain type:",u);const h=[];for(const p of d){console.log("[Init Txs] Signing transaction:",p.hash);const g=nd(p.hash),m=await r({address:n.address,chainType:u,hash:g},{skipModal:!0});if(!m)throw console.error("[Init Txs] User rejected signature"),new Error("User rejected initialization transaction signature");console.log("[Init Txs] Transaction signed successfully"),h.push({hash:p.hash,signature:td(m.signature)})}console.log("[Init Txs] Submitting all transactions...");try{const p=await t.submitMultiplePrepared(h);return console.log("[Init Txs] ✅ All transactions submitted:",p),p}catch(p){console.warn("[Init Txs] Batch submit failed, trying individual submits:",p);const m=(await Promise.allSettled(h.map(async y=>{const b=await t.submitPrepared(y.hash,y.signature);return{hash:y.hash,submissionId:b.submissionId}}))).map((y,b)=>{const x=h[b]?.hash??"";return y.status==="fulfilled"?{hash:x,success:!0,submissionId:y.value.submissionId}:{hash:x,success:!1,error:y.reason?.message??String(y.reason??"Unknown error")}});return console.log("[Init Txs] ✅ Individual submits completed:",m),m}}catch(d){console.error("[Init Txs] ❌ Error:",d);const u=new Error(`Failed to run initialization transactions: ${d.message??String(d)}`);throw o(u),u}finally{s(!1)}},[n,t,e.withExport,r]),loading:i,error:a,clearError:c}}function o1t(){const{confirm:t,signMessageConfirm:e,signTransactionConfirm:n,setModalLoading:r,closeModal:i}=Md();return{confirm:t,signMessageConfirm:e,signTransactionConfirm:n,setModalLoading:r,closeModal:i}}function c1t(){const{client:t,getClientForChain:e}=Rpt();return{client:t,getClientForChain:e,address:t?.account?.address,ready:!!t}}function Jye(t){return"contractEntry"in t&&t.contractEntry!=null}function l1t(t){if(Jye(t)){const e=t.contractEntry.JsActiveContract.createdEvent;return{contractId:e.contractId,templateId:e.templateId,createArgument:e.createArgument,createdEventBlob:e.createdEventBlob,createdAt:e.createdAt}}return{contractId:t.contractId,templateId:t.templateId,createArgument:t.createArgument,createdEventBlob:t.createdEventBlob,createdAt:null}}const Pe={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"},CHAIN_NAME_MAP:{eip155:"EVM Networks",solana:"Solana",polkadot:"Polkadot",bip122:"Bitcoin",cosmos:"Cosmos",sui:"Sui",stacks:"Stacks"},ADAPTER_TYPES:{BITCOIN:"bitcoin",SOLANA:"solana",WAGMI:"wagmi",ETHERS:"ethers",ETHERS5:"ethers5"},USDT_CONTRACT_ADDRESSES:["0xdac17f958d2ee523a2206206994597c13d831ec7","0xc2132d05d31c914a87c6611c10748aeb04b58e8f","0x9702230a8ea53601f5cd2dc00fdbc13d4df4a8c7","0x919C1c267BC06a7039e03fcc2eF738525769109c","0x48065fbBE25f71C9282ddf5e1cD6D6A887483D5e","0x55d398326f99059fF775485246999027B3197955","0xfd086bc7cd5c481dcc9c85ebe478a1c0b69fcbb9"],SOLANA_SPL_TOKEN_ADDRESSES:{SOL:"So11111111111111111111111111111111111111112"},HTTP_STATUS_CODES:{SERVER_ERROR:500,TOO_MANY_REQUESTS:429,SERVICE_UNAVAILABLE:503,FORBIDDEN:403},UNSUPPORTED_NETWORK_NAME:"Unknown Network",SECURE_SITE_SDK_ORIGIN:(typeof process<"u"&&typeof process.env<"u"?process.env.NEXT_PUBLIC_SECURE_SITE_ORIGIN:void 0)||"https://secure.walletconnect.org",REMOTE_FEATURES_ALERTS:{MULTI_WALLET_NOT_ENABLED:{DEFAULT:{displayMessage:"Multi-Wallet Not Enabled",debugMessage:"Multi-wallet support is not enabled. Please enable it in your AppKit configuration at cloud.reown.com."},CONNECTIONS_HOOK:{displayMessage:"Multi-Wallet Not Enabled",debugMessage:"Multi-wallet support is not enabled. Please enable it in your AppKit configuration at cloud.reown.com to use the useAppKitConnections hook."},CONNECTION_HOOK:{displayMessage:"Multi-Wallet Not Enabled",debugMessage:"Multi-wallet support is not enabled. Please enable it in your AppKit configuration at cloud.reown.com to use the useAppKitConnection hook."}}},IS_DEVELOPMENT:typeof process<"u"&&process.env.NODE_ENV==="development"},kW={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(n=>n.chainNamespace===e)||[]},getFirstNetworkByNamespace(t,e){return this.getNetworksByNamespace(t,e)[0]},getNetworkNameByCaipNetworkId(t,e){if(!e)return;const n=t.find(i=>i.caipNetworkId===e);if(n)return n.name;const[r]=e.split(":");return Pe.CHAIN_NAME_MAP?.[r]||void 0}},Xye=["eip155","solana","polkadot","bip122","cosmos","sui","stacks"];var d1t=20,u1t=1,Em=1e6,oQ=1e6,h1t=-7,p1t=21,f1t=!1,Q5="[big.js] ",cy=Q5+"Invalid ",r$=cy+"decimal places",g1t=cy+"rounding mode",Qye=Q5+"Division by zero",ar={},Au=void 0,m1t=/^-?(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i;function e2e(){function t(e){var n=this;if(!(n instanceof t))return e===Au?e2e():new t(e);if(e instanceof t)n.s=e.s,n.e=e.e,n.c=e.c.slice();else{if(typeof e!="string"){if(t.strict===!0&&typeof e!="bigint")throw TypeError(cy+"value");e=e===0&&1/e<0?"-0":String(e)}y1t(n,e)}n.constructor=t}return t.prototype=ar,t.DP=d1t,t.RM=u1t,t.NE=h1t,t.PE=p1t,t.strict=f1t,t.roundDown=0,t.roundHalfUp=1,t.roundHalfEven=2,t.roundUp=3,t}function y1t(t,e){var n,r,i;if(!m1t.test(e))throw Error(cy+"number");for(t.s=e.charAt(0)=="-"?(e=e.slice(1),-1):1,(n=e.indexOf("."))>-1&&(e=e.replace(".","")),(r=e.search(/e/i))>0?(n<0&&(n=r),n+=+e.slice(r+1),e=e.substring(0,r)):n<0&&(n=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=n-r-1,t.c=[],n=0;r<=i;)t.c[n++]=+e.charAt(r++)}return t}function ly(t,e,n,r){var i=t.c;if(n===Au&&(n=t.constructor.RM),n!==0&&n!==1&&n!==2&&n!==3)throw Error(g1t);if(e<1)r=n===3&&(r||!!i[0])||e===0&&(n===1&&i[0]>=5||n===2&&(i[0]>5||i[0]===5&&(r||i[1]!==Au))),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=n===1&&i[e]>=5||n===2&&(i[e]>5||i[e]===5&&(r||i[e+1]!==Au||i[e-1]&1))||n===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 dy(t,e,n){var r=t.e,i=t.c.join(""),s=i.length;if(e)i=i.charAt(0)+(s>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>s)for(r-=s;r--;)i+="0";else r<s&&(i=i.slice(0,r)+"."+i.slice(r));else s>1&&(i=i.charAt(0)+"."+i.slice(1));return t.s<0&&n?"-"+i:i}ar.abs=function(){var t=new this.constructor(this);return t.s=1,t};ar.cmp=function(t){var e,n=this,r=n.c,i=(t=new n.constructor(t)).c,s=n.s,a=t.s,o=n.e,c=t.e;if(!r[0]||!i[0])return r[0]?s:i[0]?-a:0;if(s!=a)return s;if(e=s<0,o!=c)return o>c^e?1:-1;for(a=(o=r.length)<(c=i.length)?o:c,s=-1;++s<a;)if(r[s]!=i[s])return r[s]>i[s]^e?1:-1;return o==c?0:o>c^e?1:-1};ar.div=function(t){var e=this,n=e.constructor,r=e.c,i=(t=new n(t)).c,s=e.s==t.s?1:-1,a=n.DP;if(a!==~~a||a<0||a>Em)throw Error(r$);if(!i[0])throw Error(Qye);if(!r[0])return t.s=s,t.c=[t.e=0],t;var o,c,l,d,u,h=i.slice(),p=o=i.length,g=r.length,m=r.slice(0,o),y=m.length,b=t,x=b.c=[],v=0,E=a+(b.e=e.e-t.e)+1;for(b.s=s,s=E<0?0:E,h.unshift(0);y++<o;)m.push(0);do{for(l=0;l<10;l++){if(o!=(y=m.length))d=o>y?1:-1;else for(u=-1,d=0;++u<o;)if(i[u]!=m[u]){d=i[u]>m[u]?1:-1;break}if(d<0){for(c=y==o?i:h;y;){if(m[--y]<c[y]){for(u=y;u&&!m[--u];)m[u]=9;--m[u],m[y]+=10}m[y]-=c[y]}for(;!m[0];)m.shift()}else break}x[v++]=d?l:++l,m[0]&&d?m[y]=r[p]||0:m=[r[p]]}while((p++<g||m[0]!==Au)&&s--);return!x[0]&&v!=1&&(x.shift(),b.e--,E--),v>E&&ly(b,E,n.RM,m[0]!==Au),b};ar.eq=function(t){return this.cmp(t)===0};ar.gt=function(t){return this.cmp(t)>0};ar.gte=function(t){return this.cmp(t)>-1};ar.lt=function(t){return this.cmp(t)<0};ar.lte=function(t){return this.cmp(t)<1};ar.minus=ar.sub=function(t){var e,n,r,i,s=this,a=s.constructor,o=s.s,c=(t=new a(t)).s;if(o!=c)return t.s=-c,s.plus(t);var l=s.c.slice(),d=s.e,u=t.c,h=t.e;if(!l[0]||!u[0])return u[0]?t.s=-c:l[0]?t=new a(s):t.s=1,t;if(o=d-h){for((i=o<0)?(o=-o,r=l):(h=d,r=u),r.reverse(),c=o;c--;)r.push(0);r.reverse()}else for(n=((i=l.length<u.length)?l:u).length,o=c=0;c<n;c++)if(l[c]!=u[c]){i=l[c]<u[c];break}if(i&&(r=l,l=u,u=r,t.s=-t.s),(c=(n=u.length)-(e=l.length))>0)for(;c--;)l[e++]=0;for(c=e;n>o;){if(l[--n]<u[n]){for(e=n;e&&!l[--e];)l[e]=9;--l[e],l[n]+=10}l[n]-=u[n]}for(;l[--c]===0;)l.pop();for(;l[0]===0;)l.shift(),--h;return l[0]||(t.s=1,l=[h=0]),t.c=l,t.e=h,t};ar.mod=function(t){var e,n=this,r=n.constructor,i=n.s,s=(t=new r(t)).s;if(!t.c[0])throw Error(Qye);return n.s=t.s=1,e=t.cmp(n)==1,n.s=i,t.s=s,e?new r(n):(i=r.DP,s=r.RM,r.DP=r.RM=0,n=n.div(t),r.DP=i,r.RM=s,this.minus(n.times(t)))};ar.neg=function(){var t=new this.constructor(this);return t.s=-t.s,t};ar.plus=ar.add=function(t){var e,n,r,i=this,s=i.constructor;if(t=new s(t),i.s!=t.s)return t.s=-t.s,i.minus(t);var a=i.e,o=i.c,c=t.e,l=t.c;if(!o[0]||!l[0])return l[0]||(o[0]?t=new s(i):t.s=i.s),t;if(o=o.slice(),e=a-c){for(e>0?(c=a,r=l):(e=-e,r=o),r.reverse();e--;)r.push(0);r.reverse()}for(o.length-l.length<0&&(r=l,l=o,o=r),e=l.length,n=0;e;o[e]%=10)n=(o[--e]=o[e]+l[e]+n)/10|0;for(n&&(o.unshift(n),++c),e=o.length;o[--e]===0;)o.pop();return t.c=o,t.e=c,t};ar.pow=function(t){var e=this,n=new e.constructor("1"),r=n,i=t<0;if(t!==~~t||t<-oQ||t>oQ)throw Error(cy+"exponent");for(i&&(t=-t);t&1&&(r=r.times(e)),t>>=1,!!t;)e=e.times(e);return i?n.div(r):r};ar.prec=function(t,e){if(t!==~~t||t<1||t>Em)throw Error(cy+"precision");return ly(new this.constructor(this),t,e)};ar.round=function(t,e){if(t===Au)t=0;else if(t!==~~t||t<-Em||t>Em)throw Error(r$);return ly(new this.constructor(this),t+this.e+1,e)};ar.sqrt=function(){var t,e,n,r=this,i=r.constructor,s=r.s,a=r.e,o=new i("0.5");if(!r.c[0])return new i(r);if(s<0)throw Error(Q5+"No square root");s=Math.sqrt(+dy(r,!0,!0)),s===0||s===1/0?(e=r.c.join(""),e.length+a&1||(e+="0"),s=Math.sqrt(e),a=((a+1)/2|0)-(a<0||a&1),t=new i((s==1/0?"5e":(s=s.toExponential()).slice(0,s.indexOf("e")+1))+a)):t=new i(s+""),a=t.e+(i.DP+=4);do n=t,t=o.times(n.plus(r.div(n)));while(n.c.slice(0,a).join("")!==t.c.slice(0,a).join(""));return ly(t,(i.DP-=4)+t.e+1,i.RM)};ar.times=ar.mul=function(t){var e,n=this,r=n.constructor,i=n.c,s=(t=new r(t)).c,a=i.length,o=s.length,c=n.e,l=t.e;if(t.s=n.s==t.s?1:-1,!i[0]||!s[0])return t.c=[t.e=0],t;for(t.e=c+l,a<o&&(e=i,i=s,s=e,l=a,a=o,o=l),e=new Array(l=a+o);l--;)e[l]=0;for(c=o;c--;){for(o=0,l=a+c;l>c;)o=e[l]+s[c]*i[l-c-1]+o,e[l--]=o%10,o=o/10|0;e[l]=o}for(o?++t.e:e.shift(),c=e.length;!e[--c];)e.pop();return t.c=e,t};ar.toExponential=function(t,e){var n=this,r=n.c[0];if(t!==Au){if(t!==~~t||t<0||t>Em)throw Error(r$);for(n=ly(new n.constructor(n),++t,e);n.c.length<t;)n.c.push(0)}return dy(n,!0,!!r)};ar.toFixed=function(t,e){var n=this,r=n.c[0];if(t!==Au){if(t!==~~t||t<0||t>Em)throw Error(r$);for(n=ly(new n.constructor(n),t+n.e+1,e),t=t+n.e+1;n.c.length<t;)n.c.push(0)}return dy(n,!1,!!r)};ar[Symbol.for("nodejs.util.inspect.custom")]=ar.toJSON=ar.toString=function(){var t=this,e=t.constructor;return dy(t,t.e<=e.NE||t.e>=e.PE,!!t.c[0])};ar.toNumber=function(){var t=+dy(this,!0,!0);if(this.constructor.strict===!0&&!this.eq(t.toString()))throw Error(Q5+"Imprecise conversion");return t};ar.toPrecision=function(t,e){var n=this,r=n.constructor,i=n.c[0];if(t!==Au){if(t!==~~t||t<1||t>Em)throw Error(cy+"precision");for(n=ly(new r(n),t,e);n.c.length<t;)n.c.push(0)}return dy(n,t<=n.e||n.e<=r.NE||n.e>=r.PE,!!i)};ar.valueOf=function(){var t=this,e=t.constructor;if(e.strict===!0)throw Error(Q5+"valueOf disallowed");return dy(t,t.e<=e.NE||t.e>=e.PE,!0)};var Lf=e2e();const Li={bigNumber(t){return t?new Lf(t):new Lf(0)},multiply(t,e){if(t===void 0||e===void 0)return new Lf(0);const n=new Lf(t),r=new Lf(e);return n.times(r)},toFixed(t,e=2){return t===void 0||t===""?new Lf(0).toFixed(e):new Lf(t).toFixed(e)},formatNumberToLocalString(t,e=2){return t===void 0||t===""?"0.00":typeof t=="number"?t.toLocaleString("en-US",{maximumFractionDigits:e,minimumFractionDigits:e,roundingMode:"floor"}):parseFloat(t).toLocaleString("en-US",{maximumFractionDigits:e,minimumFractionDigits:e,roundingMode:"floor"})},parseLocalStringToNumber(t){if(t===void 0||t==="")return 0;const e=t.replace(/,/gu,"");return new Lf(e).toNumber()}},w1t=[{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"}]}],b1t=[{type:"function",name:"approve",stateMutability:"nonpayable",inputs:[{name:"spender",type:"address"},{name:"amount",type:"uint256"}],outputs:[{type:"bool"}]}],v1t=[{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"}]}],x1t={getERC20Abi:t=>Pe.USDT_CONTRACT_ADDRESSES.includes(t)?v1t:w1t,getSwapAbi:()=>b1t},qs={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[n,r,i]=e;if(!n||!r||!i)throw new Error(`Invalid CAIP-10 address: ${t}`);return{chainNamespace:n,chainId:r,address:i}},parseCaipNetworkId(t){const e=t.split(":");if(e.length!==2)throw new Error(`Invalid CAIP-2 network id: ${t}`);const[n,r]=e;if(!n||!r)throw new Error(`Invalid CAIP-2 network id: ${t}`);return{chainNamespace:n,chainId:r}}},du={RPC_ERROR_CODE:{USER_REJECTED_REQUEST:4001},PROVIDER_RPC_ERROR_NAME:{PROVIDER_RPC:"ProviderRpcError",USER_REJECTED_REQUEST:"UserRejectedRequestError"},isRpcProviderError(t){try{if(typeof t=="object"&&t!==null){const e=t,n=typeof e.message=="string",r=typeof e.code=="number";return n&&r}return!1}catch{return!1}},isUserRejectedMessage(t){return t.toLowerCase().includes("user rejected")||t.toLowerCase().includes("user cancelled")||t.toLowerCase().includes("user canceled")},isUserRejectedRequestError(t){return du.isRpcProviderError(t)?t.code===du.RPC_ERROR_CODE.USER_REJECTED_REQUEST||du.isUserRejectedMessage(t.message):t instanceof Error?du.isUserRejectedMessage(t.message):!1}};class E1t extends Error{constructor(e,n){super(n.message,{cause:e}),this.name=du.PROVIDER_RPC_ERROR_NAME.PROVIDER_RPC,this.code=n.code}}class t2e extends E1t{constructor(e){super(e,{code:du.RPC_ERROR_CODE.USER_REJECTED_REQUEST,message:"User rejected the request"}),this.name=du.PROVIDER_RPC_ERROR_NAME.USER_REJECTED_REQUEST}}const Tt={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",RECENT_WALLET:"@appkit/recent_wallet",DEEPLINK_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",DISCONNECTED_CONNECTOR_IDS:"@appkit/disconnected_connector_ids",HISTORY_TRANSACTIONS_CACHE:"@appkit/history_transactions_cache",TOKEN_PRICE_CACHE:"@appkit/token_price_cache",RECENT_EMAILS:"@appkit/recent_emails",LATEST_APPKIT_VERSION:"@appkit/latest_version"};function tP(t){if(!t)throw new Error("Namespace is required for CONNECTED_CONNECTOR_ID");return`@appkit/${t}:connected_connector_id`}const _t={setItem(t,e){Z6()&&e!==void 0&&localStorage.setItem(t,e)},getItem(t){if(Z6())return localStorage.getItem(t)||void 0},removeItem(t){Z6()&&localStorage.removeItem(t)},clear(){Z6()&&localStorage.clear()}};function Z6(){return typeof window<"u"&&typeof localStorage<"u"}function e7(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":"#202020"}}const C1t=Symbol(),cQ=Object.getPrototypeOf,eD=new WeakMap,A1t=t=>t&&(eD.has(t)?eD.get(t):cQ(t)===Object.prototype||cQ(t)===Array.prototype),S1t=t=>A1t(t)&&t[C1t]||null,lQ=(t,e=!0)=>{eD.set(t,e)},t7={},TW=t=>typeof t=="object"&&t!==null,_1t=t=>TW(t)&&!e8.has(t)&&(Array.isArray(t)||!(Symbol.iterator in t))&&!(t instanceof WeakMap)&&!(t instanceof WeakSet)&&!(t instanceof Error)&&!(t instanceof Number)&&!(t instanceof Date)&&!(t instanceof String)&&!(t instanceof RegExp)&&!(t instanceof ArrayBuffer)&&!(t instanceof Promise),n2e=(t,e)=>{const n=tD.get(t);if(n?.[0]===e)return n[1];const r=Array.isArray(t)?[]:Object.create(Object.getPrototypeOf(t));return lQ(r,!0),tD.set(t,[e,r]),Reflect.ownKeys(t).forEach(i=>{if(Object.getOwnPropertyDescriptor(r,i))return;const s=Reflect.get(t,i),{enumerable:a}=Reflect.getOwnPropertyDescriptor(t,i),o={value:s,enumerable:a,configurable:!0};if(e8.has(s))lQ(s,!1);else if(e1.has(s)){const[c,l]=e1.get(s);o.value=n2e(c,l())}Object.defineProperty(r,i,o)}),Object.preventExtensions(r)},$1t=(t,e,n,r)=>({deleteProperty(i,s){const a=Reflect.get(i,s);n(s);const o=Reflect.deleteProperty(i,s);return o&&r(["delete",[s],a]),o},set(i,s,a,o){const c=!t()&&Reflect.has(i,s),l=Reflect.get(i,s,o);if(c&&(dQ(l,a)||N4.has(a)&&dQ(l,N4.get(a))))return!0;n(s),TW(a)&&(a=S1t(a)||a);const d=!e1.has(a)&&k1t(a)?Ar(a):a;return e(s,d),Reflect.set(i,s,d,o),r(["set",[s],a,l]),!0}}),e1=new WeakMap,e8=new WeakSet,tD=new WeakMap,FC=[1],N4=new WeakMap;let dQ=Object.is,I1t=(t,e)=>new Proxy(t,e),k1t=_1t,T1t=n2e,P1t=$1t;function Ar(t={}){if(!TW(t))throw new Error("object required");const e=N4.get(t);if(e)return e;let n=FC[0];const r=new Set,i=(y,b=++FC[0])=>{n!==b&&(s=n=b,r.forEach(x=>x(y,b)))};let s=n;const a=(y=FC[0])=>(s!==y&&(s=y,c.forEach(([b])=>{const x=b[1](y);x>n&&(n=x)})),n),o=y=>(b,x)=>{const v=[...b];v[1]=[y,...v[1]],i(v,x)},c=new Map,l=(y,b)=>{const x=!e8.has(b)&&e1.get(b);if(x){if((t7?"production":void 0)!=="production"&&c.has(y))throw new Error("prop listener already exists");if(r.size){const v=x[2](o(y));c.set(y,[x,v])}else c.set(y,[x])}},d=y=>{var b;const x=c.get(y);x&&(c.delete(y),(b=x[1])==null||b.call(x))},u=y=>(r.add(y),r.size===1&&c.forEach(([x,v],E)=>{if((t7?"production":void 0)!=="production"&&v)throw new Error("remove already exists");const C=x[2](o(E));c.set(E,[x,C])}),()=>{r.delete(y),r.size===0&&c.forEach(([x,v],E)=>{v&&(v(),c.set(E,[x]))})});let h=!0;const p=P1t(()=>h,l,d,i),g=I1t(t,p);N4.set(t,g);const m=[t,a,u];return e1.set(g,m),Reflect.ownKeys(t).forEach(y=>{const b=Object.getOwnPropertyDescriptor(t,y);"value"in b&&b.writable&&(g[y]=t[y])}),h=!1,g}function as(t,e,n){const r=e1.get(t);(t7?"production":void 0)!=="production"&&!r&&console.warn("Please use proxy object");let i;const s=[],a=r[2];let o=!1;const l=a(d=>{s.push(d),i||(i=Promise.resolve().then(()=>{i=void 0,o&&e(s.splice(0))}))});return o=!0,()=>{o=!1,l()}}function R4(t){const e=e1.get(t);(t7?"production":void 0)!=="production"&&!e&&console.warn("Please use proxy object");const[n,r]=e;return T1t(n,r())}function nb(t){return e8.add(t),t}function O1t(){return{proxyStateMap:e1,refSet:e8,snapCache:tD,versionHolder:FC,proxyCache:N4}}function os(t,e,n,r){let i=t[e];return as(t,()=>{const s=t[e];Object.is(i,s)||n(i=s)})}const{proxyStateMap:N1t,snapCache:R1t}=O1t(),PE=t=>N1t.has(t);function M1t(t){const e=[];let n=0;const r=new Map,i=new WeakMap,s=()=>{const l=R1t.get(o),d=l?.[1];if(d&&!i.has(d)){const u=new Map(r);i.set(d,u)}},a=l=>i.get(l)||r,o={data:e,index:n,epoch:0,get size(){return PE(this)||s(),a(this).size},get(l){const u=a(this).get(l);if(u===void 0){this.epoch;return}return this.data[u]},has(l){const d=a(this);return this.epoch,d.has(l)},set(l,d){if(!PE(this))throw new Error("Cannot perform mutations on a snapshot");const u=r.get(l);return u===void 0?(r.set(l,this.index),this.data[this.index++]=d):this.data[u]=d,this.epoch++,this},delete(l){if(!PE(this))throw new Error("Cannot perform mutations on a snapshot");const d=r.get(l);return d===void 0?!1:(delete this.data[d],r.delete(l),this.epoch++,!0)},clear(){if(!PE(this))throw new Error("Cannot perform mutations on a snapshot");this.data.length=0,this.index=0,this.epoch++,r.clear()},forEach(l){this.epoch,a(this).forEach((u,h)=>{l(this.data[u],h,this)})},*entries(){this.epoch;const l=a(this);for(const[d,u]of l)yield[d,this.data[u]]},*keys(){this.epoch;const l=a(this);for(const d of l.keys())yield d},*values(){this.epoch;const l=a(this);for(const d of l.values())yield this.data[d]},[Symbol.iterator](){return this.entries()},get[Symbol.toStringTag](){return"Map"},toJSON(){return new Map(this.entries())}},c=Ar(o);return Object.defineProperties(c,{size:{enumerable:!1},index:{enumerable:!1},epoch:{enumerable:!1},data:{enumerable:!1},toJSON:{enumerable:!1}}),Object.seal(c),c}const nP=(typeof process<"u"&&typeof process.env<"u"?process.env.NEXT_PUBLIC_SECURE_SITE_ORIGIN:void 0)||"https://secure.walletconnect.org",r2e=[{label:"Meld.io",name:"meld",feeRange:"1-2%",url:"https://meldcrypto.com",supportedChains:["eip155","solana"]}],j1t="WXETMuFUQmqqybHuRkSgxv:25B8LJHSfpG6LVjR2ytU5Cwh7Z4Sch2ocoU",bn={FOUR_MINUTES_MS:24e4,TEN_SEC_MS:1e4,FIVE_SEC_MS:5e3,THREE_SEC_MS:3e3,ONE_SEC_MS:1e3,SECURE_SITE:nP,SECURE_SITE_DASHBOARD:`${nP}/dashboard`,SECURE_SITE_FAVICON:`${nP}/images/favicon.png`,SOLANA_NATIVE_TOKEN_ADDRESS:"So11111111111111111111111111111111111111111",RESTRICTED_TIMEZONES:["ASIA/SHANGHAI","ASIA/URUMQI","ASIA/CHONGQING","ASIA/HARBIN","ASIA/KASHGAR","ASIA/MACAU","ASIA/HONG_KONG","ASIA/MACAO","ASIA/BEIJING","ASIA/HARBIN"],SWAP_SUGGESTED_TOKENS:["ETH","UNI","1INCH","AAVE","SOL","ADA","AVAX","DOT","LINK","NITRO","GAIA","MILK","TRX","NEAR","GNO","WBTC","DAI","WETH","USDC","USDT","ARB","BAL","BICO","CRV","ENS","MATIC","OP"],SWAP_POPULAR_TOKENS:["ETH","UNI","1INCH","AAVE","SOL","ADA","AVAX","DOT","LINK","NITRO","GAIA","MILK","TRX","NEAR","GNO","WBTC","DAI","WETH","USDC","USDT","ARB","BAL","BICO","CRV","ENS","MATIC","OP","METAL","DAI","CHAMP","WOLF","SALE","BAL","BUSD","MUST","BTCpx","ROUTE","HEX","WELT","amDAI","VSQ","VISION","AURUM","pSP","SNX","VC","LINK","CHP","amUSDT","SPHERE","FOX","GIDDY","GFC","OMEN","OX_OLD","DE","WNT"],BALANCE_SUPPORTED_CHAINS:[Pe.CHAIN.EVM,Pe.CHAIN.SOLANA],SEND_PARAMS_SUPPORTED_CHAINS:[Pe.CHAIN.EVM],SWAP_SUPPORTED_NETWORKS:["eip155:1","eip155:42161","eip155:10","eip155:324","eip155:8453","eip155:56","eip155:137","eip155:100","eip155:43114","eip155:250","eip155:8217","eip155:1313161554"],NAMES_SUPPORTED_CHAIN_NAMESPACES:[Pe.CHAIN.EVM],ONRAMP_SUPPORTED_CHAIN_NAMESPACES:[Pe.CHAIN.EVM,Pe.CHAIN.SOLANA],PAY_WITH_EXCHANGE_SUPPORTED_CHAIN_NAMESPACES:[Pe.CHAIN.EVM,Pe.CHAIN.SOLANA],ACTIVITY_ENABLED_CHAIN_NAMESPACES:[Pe.CHAIN.EVM],NATIVE_TOKEN_ADDRESS:{eip155:"0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee",solana:"So11111111111111111111111111111111111111111",polkadot:"0x",bip122:"0x",cosmos:"0x",sui:"0x",stacks:"0x"},CONVERT_SLIPPAGE_TOLERANCE:1,CONNECT_LABELS:{MOBILE:"Open and continue in the wallet app",WEB:"Open and continue in the wallet app"},SEND_SUPPORTED_NAMESPACES:[Pe.CHAIN.EVM,Pe.CHAIN.SOLANA],DEFAULT_REMOTE_FEATURES:{swaps:["1inch"],onramp:["meld"],email:!0,socials:["google","x","discord","farcaster","github","apple","facebook"],activity:!0,reownBranding:!0,multiWallet:!1,emailCapture:!1,payWithExchange:!1,payments:!1,reownAuthentication:!1},DEFAULT_REMOTE_FEATURES_DISABLED:{email:!1,socials:!1,swaps:!1,onramp:!1,activity:!1,reownBranding:!1,emailCapture:!1,reownAuthentication:!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,reownAuthentication:!1},DEFAULT_SOCIALS:["google","x","farcaster","discord","apple","github","facebook"],DEFAULT_ACCOUNT_TYPES:{bip122:"payment",eip155:"smartAccount",polkadot:"eoa",solana:"eoa"},ADAPTER_TYPES:{UNIVERSAL:"universal",SOLANA:"solana",WAGMI:"wagmi",ETHERS:"ethers",ETHERS5:"ethers5",BITCOIN:"bitcoin"},SIWX_DEFAULTS:{signOutOnDisconnect:!0}},ze={cacheExpiry:{portfolio:3e4,nativeBalance:3e4,ens:3e5,identity:3e5,transactionsHistory:15e3,tokenPrice:15e3,latestAppKitVersion:6048e5},isCacheExpired(t,e){return Date.now()-t>e},getActiveNetworkProps(){const t=ze.getActiveNamespace(),e=ze.getActiveCaipNetworkId(),n=e?e.split(":")[1]:void 0,r=n?isNaN(Number(n))?n:Number(n):void 0;return{namespace:t,caipNetworkId:e,chainId:r}},setWalletConnectDeepLink({name:t,href:e}){try{_t.setItem(Tt.DEEPLINK_CHOICE,JSON.stringify({href:e,name:t}))}catch{console.info("Unable to set WalletConnect deep link")}},getWalletConnectDeepLink(){try{const t=_t.getItem(Tt.DEEPLINK_CHOICE);if(t)return JSON.parse(t)}catch{console.info("Unable to get WalletConnect deep link")}},deleteWalletConnectDeepLink(){try{_t.removeItem(Tt.DEEPLINK_CHOICE)}catch{console.info("Unable to delete WalletConnect deep link")}},setActiveNamespace(t){try{_t.setItem(Tt.ACTIVE_NAMESPACE,t)}catch{console.info("Unable to set active namespace")}},setActiveCaipNetworkId(t){try{_t.setItem(Tt.ACTIVE_CAIP_NETWORK_ID,t),ze.setActiveNamespace(t.split(":")[0])}catch{console.info("Unable to set active caip network id")}},getActiveCaipNetworkId(){try{return _t.getItem(Tt.ACTIVE_CAIP_NETWORK_ID)}catch{console.info("Unable to get active caip network id");return}},deleteActiveCaipNetworkId(){try{_t.removeItem(Tt.ACTIVE_CAIP_NETWORK_ID)}catch{console.info("Unable to delete active caip network id")}},deleteConnectedConnectorId(t){try{const e=tP(t);_t.removeItem(e)}catch{console.info("Unable to delete connected connector id")}},setAppKitRecent(t){try{const e=ze.getRecentWallets();e.find(r=>r.id===t.id)||(e.unshift(t),e.length>2&&e.pop(),_t.setItem(Tt.RECENT_WALLETS,JSON.stringify(e)),_t.setItem(Tt.RECENT_WALLET,JSON.stringify(t)))}catch{console.info("Unable to set AppKit recent")}},getRecentWallets(){try{const t=_t.getItem(Tt.RECENT_WALLETS);return t?JSON.parse(t):[]}catch{console.info("Unable to get AppKit recent")}return[]},getRecentWallet(){try{const t=_t.getItem(Tt.RECENT_WALLET);return t?JSON.parse(t):null}catch{console.info("Unable to get AppKit recent")}return null},deleteRecentWallet(){try{_t.removeItem(Tt.RECENT_WALLET)}catch{console.info("Unable to delete AppKit recent")}},setConnectedConnectorId(t,e){try{const n=tP(t);_t.setItem(n,e)}catch{console.info("Unable to set Connected Connector Id")}},getActiveNamespace(){try{return _t.getItem(Tt.ACTIVE_NAMESPACE)}catch{console.info("Unable to get active namespace")}},getConnectedConnectorId(t){if(t)try{const e=tP(t);return _t.getItem(e)}catch{console.info("Unable to get connected connector id in namespace",t)}},setConnectedSocialProvider(t){try{_t.setItem(Tt.CONNECTED_SOCIAL,t)}catch{console.info("Unable to set connected social provider")}},getConnectedSocialProvider(){try{return _t.getItem(Tt.CONNECTED_SOCIAL)}catch{console.info("Unable to get connected social provider")}},deleteConnectedSocialProvider(){try{_t.removeItem(Tt.CONNECTED_SOCIAL)}catch{console.info("Unable to delete connected social provider")}},getConnectedSocialUsername(){try{return _t.getItem(Tt.CONNECTED_SOCIAL_USERNAME)}catch{console.info("Unable to get connected social username")}},getStoredActiveCaipNetworkId(){return _t.getItem(Tt.ACTIVE_CAIP_NETWORK_ID)?.split(":")?.[1]},setConnectionStatus(t){try{_t.setItem(Tt.CONNECTION_STATUS,t)}catch{console.info("Unable to set connection status")}},getConnectionStatus(){try{return _t.getItem(Tt.CONNECTION_STATUS)}catch{return}},getConnectedNamespaces(){try{const t=_t.getItem(Tt.CONNECTED_NAMESPACES);return t?.length?t.split(","):[]}catch{return[]}},setConnectedNamespaces(t){try{const e=Array.from(new Set(t));_t.setItem(Tt.CONNECTED_NAMESPACES,e.join(","))}catch{console.info("Unable to set namespaces in storage")}},addConnectedNamespace(t){try{const e=ze.getConnectedNamespaces();e.includes(t)||(e.push(t),ze.setConnectedNamespaces(e))}catch{console.info("Unable to add connected namespace")}},removeConnectedNamespace(t){try{const e=ze.getConnectedNamespaces(),n=e.indexOf(t);n>-1&&(e.splice(n,1),ze.setConnectedNamespaces(e))}catch{console.info("Unable to remove connected namespace")}},getTelegramSocialProvider(){try{return _t.getItem(Tt.TELEGRAM_SOCIAL_PROVIDER)}catch{return console.info("Unable to get telegram social provider"),null}},setTelegramSocialProvider(t){try{_t.setItem(Tt.TELEGRAM_SOCIAL_PROVIDER,t)}catch{console.info("Unable to set telegram social provider")}},removeTelegramSocialProvider(){try{_t.removeItem(Tt.TELEGRAM_SOCIAL_PROVIDER)}catch{console.info("Unable to remove telegram social provider")}},getBalanceCache(){let t={};try{const e=_t.getItem(Tt.PORTFOLIO_CACHE);t=e?JSON.parse(e):{}}catch{console.info("Unable to get balance cache")}return t},removeAddressFromBalanceCache(t){try{const e=ze.getBalanceCache();_t.setItem(Tt.PORTFOLIO_CACHE,JSON.stringify({...e,[t]:void 0}))}catch{console.info("Unable to remove address from balance cache",t)}},getBalanceCacheForCaipAddress(t){try{const n=ze.getBalanceCache()[t];if(n&&!this.isCacheExpired(n.timestamp,this.cacheExpiry.portfolio))return n.balance;ze.removeAddressFromBalanceCache(t)}catch{console.info("Unable to get balance cache for address",t)}},updateBalanceCache(t){try{const e=ze.getBalanceCache();e[t.caipAddress]=t,_t.setItem(Tt.PORTFOLIO_CACHE,JSON.stringify(e))}catch{console.info("Unable to update balance cache",t)}},getNativeBalanceCache(){let t={};try{const e=_t.getItem(Tt.NATIVE_BALANCE_CACHE);t=e?JSON.parse(e):{}}catch{console.info("Unable to get balance cache")}return t},removeAddressFromNativeBalanceCache(t){try{const e=ze.getBalanceCache();_t.setItem(Tt.NATIVE_BALANCE_CACHE,JSON.stringify({...e,[t]:void 0}))}catch{console.info("Unable to remove address from balance cache",t)}},getNativeBalanceCacheForCaipAddress(t){try{const n=ze.getNativeBalanceCache()[t];if(n&&!this.isCacheExpired(n.timestamp,this.cacheExpiry.nativeBalance))return n;console.info("Discarding cache for address",t),ze.removeAddressFromBalanceCache(t)}catch{console.info("Unable to get balance cache for address",t)}},updateNativeBalanceCache(t){try{const e=ze.getNativeBalanceCache();e[t.caipAddress]=t,_t.setItem(Tt.NATIVE_BALANCE_CACHE,JSON.stringify(e))}catch{console.info("Unable to update balance cache",t)}},getEnsCache(){let t={};try{const e=_t.getItem(Tt.ENS_CACHE);t=e?JSON.parse(e):{}}catch{console.info("Unable to get ens name cache")}return t},getEnsFromCacheForAddress(t){try{const n=ze.getEnsCache()[t];if(n&&!this.isCacheExpired(n.timestamp,this.cacheExpiry.ens))return n.ens;ze.removeEnsFromCache(t)}catch{console.info("Unable to get ens name from cache",t)}},updateEnsCache(t){try{const e=ze.getEnsCache();e[t.address]=t,_t.setItem(Tt.ENS_CACHE,JSON.stringify(e))}catch{console.info("Unable to update ens name cache",t)}},removeEnsFromCache(t){try{const e=ze.getEnsCache();_t.setItem(Tt.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=_t.getItem(Tt.IDENTITY_CACHE);t=e?JSON.parse(e):{}}catch{console.info("Unable to get identity cache")}return t},getIdentityFromCacheForAddress(t){try{const n=ze.getIdentityCache()[t];if(n&&!this.isCacheExpired(n.timestamp,this.cacheExpiry.identity))return n.identity;ze.removeIdentityFromCache(t)}catch{console.info("Unable to get identity from cache",t)}},updateIdentityCache(t){try{const e=ze.getIdentityCache();e[t.address]={identity:t.identity,timestamp:t.timestamp},_t.setItem(Tt.IDENTITY_CACHE,JSON.stringify(e))}catch{console.info("Unable to update identity cache",t)}},removeIdentityFromCache(t){try{const e=ze.getIdentityCache();_t.setItem(Tt.IDENTITY_CACHE,JSON.stringify({...e,[t]:void 0}))}catch{console.info("Unable to remove identity from cache",t)}},clearAddressCache(){try{_t.removeItem(Tt.PORTFOLIO_CACHE),_t.removeItem(Tt.NATIVE_BALANCE_CACHE),_t.removeItem(Tt.ENS_CACHE),_t.removeItem(Tt.IDENTITY_CACHE),_t.removeItem(Tt.HISTORY_TRANSACTIONS_CACHE)}catch{console.info("Unable to clear address cache")}},setPreferredAccountTypes(t){try{_t.setItem(Tt.PREFERRED_ACCOUNT_TYPES,JSON.stringify(t))}catch{console.info("Unable to set preferred account types",t)}},getPreferredAccountTypes(){try{const t=_t.getItem(Tt.PREFERRED_ACCOUNT_TYPES);return t?JSON.parse(t):{}}catch{console.info("Unable to get preferred account types")}return{}},setConnections(t,e){try{const n=ze.getConnections(),r=n[e]??[],i=new Map;for(const a of r)i.set(a.connectorId,{...a});for(const a of t){const o=i.get(a.connectorId),c=a.connectorId===Pe.CONNECTOR_ID.AUTH;if(o&&!c){const l=new Set(o.accounts.map(u=>u.address.toLowerCase())),d=a.accounts.filter(u=>!l.has(u.address.toLowerCase()));o.accounts.push(...d)}else i.set(a.connectorId,{...a})}const s={...n,[e]:Array.from(i.values())};_t.setItem(Tt.CONNECTIONS,JSON.stringify(s))}catch(n){console.error("Unable to sync connections to storage",n)}},getConnections(){try{const t=_t.getItem(Tt.CONNECTIONS);return t?JSON.parse(t):{}}catch(t){return console.error("Unable to get connections from storage",t),{}}},deleteAddressFromConnection({connectorId:t,address:e,namespace:n}){try{const r=ze.getConnections(),i=r[n]??[],s=new Map(i.map(o=>[o.connectorId,o])),a=s.get(t);a&&(a.accounts.filter(c=>c.address.toLowerCase()!==e.toLowerCase()).length===0?s.delete(t):s.set(t,{...a,accounts:a.accounts.filter(c=>c.address.toLowerCase()!==e.toLowerCase())})),_t.setItem(Tt.CONNECTIONS,JSON.stringify({...r,[n]:Array.from(s.values())}))}catch{console.error(`Unable to remove address "${e}" from connector "${t}" in namespace "${n}"`)}},getDisconnectedConnectorIds(){try{const t=_t.getItem(Tt.DISCONNECTED_CONNECTOR_IDS);return t?JSON.parse(t):{}}catch{console.info("Unable to get disconnected connector ids")}return{}},addDisconnectedConnectorId(t,e){try{const n=ze.getDisconnectedConnectorIds(),r=n[e]??[];r.push(t),_t.setItem(Tt.DISCONNECTED_CONNECTOR_IDS,JSON.stringify({...n,[e]:Array.from(new Set(r))}))}catch{console.error(`Unable to set disconnected connector id "${t}" for namespace "${e}"`)}},removeDisconnectedConnectorId(t,e){try{const n=ze.getDisconnectedConnectorIds();let r=n[e]??[];r=r.filter(i=>i.toLowerCase()!==t.toLowerCase()),_t.setItem(Tt.DISCONNECTED_CONNECTOR_IDS,JSON.stringify({...n,[e]:Array.from(new Set(r))}))}catch{console.error(`Unable to remove disconnected connector id "${t}" for namespace "${e}"`)}},isConnectorDisconnected(t,e){try{return(ze.getDisconnectedConnectorIds()[e]??[]).some(i=>i.toLowerCase()===t.toLowerCase())}catch{console.info(`Unable to get disconnected connector id "${t}" for namespace "${e}"`)}return!1},getTransactionsCache(){try{const t=_t.getItem(Tt.HISTORY_TRANSACTIONS_CACHE);return t?JSON.parse(t):{}}catch{console.info("Unable to get transactions cache")}return{}},getTransactionsCacheForAddress({address:t,chainId:e=""}){try{const r=ze.getTransactionsCache()[t]?.[e];if(r&&!this.isCacheExpired(r.timestamp,this.cacheExpiry.transactionsHistory))return r.transactions;ze.removeTransactionsCache({address:t,chainId:e})}catch{console.info("Unable to get transactions cache")}},updateTransactionsCache({address:t,chainId:e="",timestamp:n,transactions:r}){try{const i=ze.getTransactionsCache();i[t]={...i[t],[e]:{timestamp:n,transactions:r}},_t.setItem(Tt.HISTORY_TRANSACTIONS_CACHE,JSON.stringify(i))}catch{console.info("Unable to update transactions cache",{address:t,chainId:e,timestamp:n,transactions:r})}},removeTransactionsCache({address:t,chainId:e}){try{const n=ze.getTransactionsCache(),r=n?.[t]||{},{[e]:i,...s}=r;_t.setItem(Tt.HISTORY_TRANSACTIONS_CACHE,JSON.stringify({...n,[t]:s}))}catch{console.info("Unable to remove transactions cache",{address:t,chainId:e})}},getTokenPriceCache(){try{const t=_t.getItem(Tt.TOKEN_PRICE_CACHE);return t?JSON.parse(t):{}}catch{console.info("Unable to get token price cache")}return{}},getTokenPriceCacheForAddresses(t){try{const n=ze.getTokenPriceCache()[t.join(",")];if(n&&!this.isCacheExpired(n.timestamp,this.cacheExpiry.tokenPrice))return n.tokenPrice;ze.removeTokenPriceCache(t)}catch{console.info("Unable to get token price cache for addresses",t)}},updateTokenPriceCache(t){try{const e=ze.getTokenPriceCache();e[t.addresses.join(",")]={timestamp:t.timestamp,tokenPrice:t.tokenPrice},_t.setItem(Tt.TOKEN_PRICE_CACHE,JSON.stringify(e))}catch{console.info("Unable to update token price cache",t)}},removeTokenPriceCache(t){try{const e=ze.getTokenPriceCache();_t.setItem(Tt.TOKEN_PRICE_CACHE,JSON.stringify({...e,[t.join(",")]:void 0}))}catch{console.info("Unable to remove token price cache",t)}},getLatestAppKitVersion(){try{const t=this.getLatestAppKitVersionCache(),e=t?.version;return e&&!this.isCacheExpired(t.timestamp,this.cacheExpiry.latestAppKitVersion)?e:void 0}catch{console.info("Unable to get latest AppKit version")}},getLatestAppKitVersionCache(){try{const t=_t.getItem(Tt.LATEST_APPKIT_VERSION);return t?JSON.parse(t):{}}catch{console.info("Unable to get latest AppKit version cache")}return{}},updateLatestAppKitVersion(t){try{const e=ze.getLatestAppKitVersionCache();e.timestamp=t.timestamp,e.version=t.version,_t.setItem(Tt.LATEST_APPKIT_VERSION,JSON.stringify(e))}catch{console.info("Unable to update latest AppKit version on local storage",t)}}},Fe={isMobile(){return this.isClient()?!!(window?.matchMedia&&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 Fe.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()<=bn.TEN_SEC_MS:!0},isAllowedRetry(t,e=bn.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(Fe.isClient()&&window.self!==window.top)try{const t=window?.location?.ancestorOrigins?.[0],e="https://app.safe.global";if(t){const n=new URL(t),r=new URL(e);return n.hostname===r.hostname}}catch{return!1}return!1},getPairingExpiry(){return Date.now()+bn.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 n;return(...r)=>{function i(){t(...r)}n&&clearTimeout(n),n=setTimeout(i,e)}},isHttpUrl(t){return t.startsWith("http://")||t.startsWith("https://")},formatNativeUrl(t,e,n=null){if(Fe.isHttpUrl(t))return this.formatUniversalUrl(t,e);let r=t,i=n;r&&(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 s=encodeURIComponent(e);return{redirect:`${r}wc?uri=${s}`,redirectUniversalLink:i?`${i}wc?uri=${s}`:void 0,href:r}},formatUniversalUrl(t,e){if(!Fe.isHttpUrl(t))return this.formatNativeUrl(t,e);let n=t;n.endsWith("/")||(n=`${n}/`);const r=encodeURIComponent(e);return{redirect:`${n}wc?uri=${r}`,href:n}},getOpenTargetForPlatform(t){return t==="popupWindow"?t:this.isTelegram()?ze.getTelegramSocialProvider()?"_top":"_blank":t},openHref(t,e,n){window?.open(t,this.getOpenTargetForPlatform(e),n||"noreferrer noopener")},returnOpenHref(t,e,n){return window?.open(t,this.getOpenTargetForPlatform(e),n||"noreferrer noopener")},isTelegram(){return typeof window<"u"&&(!!window.TelegramWebviewProxy||!!window.Telegram||!!window.TelegramWebviewProxyProto)},isPWA(){if(typeof window>"u")return!1;const t=window?.matchMedia&&typeof window.matchMedia=="function"?window.matchMedia("(display-mode: standalone)")?.matches:!1,e=window?.navigator?.standalone;return!!(t||e)},async preloadImage(t){const e=new Promise((n,r)=>{const i=new Image;i.onload=n,i.onerror=r,i.crossOrigin="anonymous",i.src=t});return Promise.race([e,Fe.wait(2e3)])},parseBalance(t,e){let n="0.000";if(typeof t=="string"){const c=Number(t);if(!isNaN(c)){const l=(Math.floor(c*1e3)/1e3).toFixed(3);l&&(n=l)}}const[r,i]=n.split("."),s=r||"0",a=i||"000";return{formattedText:`${s}.${a}${e?` ${e}`:""}`,value:s,decimals:a,symbol:e}},getApiUrl(){return Pe.W3M_API_URL},getBlockchainApiUrl(){return Pe.BLOCKCHAIN_API_RPC_URL},getAnalyticsUrl(){return Pe.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 n={};return e&&t&&(t.forEach((r,i)=>{n[r]=i}),e.sort((r,i)=>{const s=n[r.id],a=n[i.id];return s!==void 0&&a!==void 0?s-a:s!==void 0?-1:a!==void 0?1:0})),e},calculateBalance(t){let e=0;for(const n of t)e+=n.value??0;return e},formatTokenBalance(t){const e=t.toFixed(2),[n,r]=e.split(".");return{dollars:n,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 n=new Set;return t.filter(r=>{const i=r[e];return n.has(i)?!1:(n.add(i),!0)})},generateSdkVersion(t,e,n){const i=t.length===0?bn.ADAPTER_TYPES.UNIVERSAL:t.map(s=>s.adapterType).join(",");return`${e}-${i}-${n}`},createAccount(t,e,n,r,i){return{namespace:t,address:e,type:n,publicKey:r,path:i}},isCaipAddress(t){if(typeof t!="string")return!1;const e=t.split(":"),n=e[0];return e.filter(Boolean).length===3&&n in Pe.CHAIN_NAME_MAP},getAccount(t){return t?typeof t=="string"?{address:t,chainId:void 0}:{address:t.address,chainId:t.chainId}:{address:void 0,chainId:void 0}},isMac(){const t=window?.navigator.userAgent.toLowerCase();return t.includes("macintosh")&&!t.includes("safari")},formatTelegramSocialLoginUrl(t){const e=`--${encodeURIComponent(window?.location.href)}`,n="state=";if(new URL(t).host==="auth.magic.link"){const i="provider_authorization_url=",s=t.substring(t.indexOf(i)+i.length),a=this.injectIntoUrl(decodeURIComponent(s),n,e);return t.replace(s,encodeURIComponent(a))}return this.injectIntoUrl(t,n,e)},injectIntoUrl(t,e,n){const r=t.indexOf(e);if(r===-1)throw new Error(`${e} parameter not found in the URL: ${t}`);const i=t.indexOf("&",r),s=e.length,a=i!==-1?i:t.length,o=t.substring(0,r+s),c=t.substring(r+s,a),l=t.substring(i),d=c+n;return o+d+l}};async function l6(...t){const e=await fetch(...t);if(!e.ok)throw new Error(`HTTP status code: ${e.status}`,{cause:e});return e}class t8{constructor({baseUrl:e,clientId:n}){this.baseUrl=e,this.clientId=n}async get({headers:e,signal:n,cache:r,...i}){const s=this.createUrl(i);return(await l6(s,{method:"GET",headers:e,signal:n,cache:r})).json()}async getBlob({headers:e,signal:n,...r}){const i=this.createUrl(r);return(await l6(i,{method:"GET",headers:e,signal:n})).blob()}async post({body:e,headers:n,signal:r,...i}){const s=this.createUrl(i);return(await l6(s,{method:"POST",headers:n,body:e?JSON.stringify(e):void 0,signal:r})).json()}async put({body:e,headers:n,signal:r,...i}){const s=this.createUrl(i);return(await l6(s,{method:"PUT",headers:n,body:e?JSON.stringify(e):void 0,signal:r})).json()}async delete({body:e,headers:n,signal:r,...i}){const s=this.createUrl(i);return(await l6(s,{method:"DELETE",headers:n,body:e?JSON.stringify(e):void 0,signal:r})).json()}createUrl({path:e,params:n}){const r=new URL(e,this.baseUrl);return n&&Object.entries(n).forEach(([i,s])=>{s&&r.searchParams.append(i,s)}),this.clientId&&r.searchParams.append("clientId",this.clientId),r}sendBeacon({body:e,...n}){const r=this.createUrl(n);return navigator.sendBeacon(r.toString(),e?JSON.stringify(e):void 0)}}const nD={getFeatureValue(t,e){const n=e?.[t];return n===void 0?bn.DEFAULT_FEATURES[t]:n},filterSocialsByPlatform(t){if(!t||!t.length)return t;if(Fe.isTelegram()){if(Fe.isIos())return t.filter(e=>e!=="google");if(Fe.isMac())return t.filter(e=>e!=="x");if(Fe.isAndroid())return t.filter(e=>!["facebook","x"].includes(e))}return t},isSocialsEnabled(){return Array.isArray(_e.state.features?.socials)&&_e.state.features?.socials.length>0||Array.isArray(_e.state.remoteFeatures?.socials)&&_e.state.remoteFeatures?.socials.length>0},isEmailEnabled(){return!!(_e.state.features?.email||_e.state.remoteFeatures?.email)}},Nt=Ar({features:bn.DEFAULT_FEATURES,projectId:"",sdkType:"appkit",sdkVersion:"html-wagmi-undefined",defaultAccountTypes:bn.DEFAULT_ACCOUNT_TYPES,enableNetworkSwitch:!0,experimental_preferUniversalLinks:!1,remoteFeatures:{},enableMobileFullScreen:!1}),_e={state:Nt,subscribeKey(t,e){return os(Nt,t,e)},setOptions(t){Object.assign(Nt,t)},setRemoteFeatures(t){if(!t)return;const e={...Nt.remoteFeatures,...t};Nt.remoteFeatures=e,Nt.remoteFeatures?.socials&&(Nt.remoteFeatures.socials=nD.filterSocialsByPlatform(Nt.remoteFeatures.socials)),Nt.features?.pay&&(Nt.remoteFeatures.email=!1,Nt.remoteFeatures.socials=!1)},setFeatures(t){if(!t)return;Nt.features||(Nt.features=bn.DEFAULT_FEATURES);const e={...Nt.features,...t};Nt.features=e,Nt.features?.pay&&Nt.remoteFeatures&&(Nt.remoteFeatures.email=!1,Nt.remoteFeatures.socials=!1)},setProjectId(t){Nt.projectId=t},setCustomRpcUrls(t){Nt.customRpcUrls=t},setAllWallets(t){Nt.allWallets=t},setIncludeWalletIds(t){Nt.includeWalletIds=t},setExcludeWalletIds(t){Nt.excludeWalletIds=t},setFeaturedWalletIds(t){Nt.featuredWalletIds=t},setTokens(t){Nt.tokens=t},setTermsConditionsUrl(t){Nt.termsConditionsUrl=t},setPrivacyPolicyUrl(t){Nt.privacyPolicyUrl=t},setCustomWallets(t){Nt.customWallets=t},setIsSiweEnabled(t){Nt.isSiweEnabled=t},setIsUniversalProvider(t){Nt.isUniversalProvider=t},setSdkVersion(t){Nt.sdkVersion=t},setMetadata(t){Nt.metadata=t},setDisableAppend(t){Nt.disableAppend=t},setEIP6963Enabled(t){Nt.enableEIP6963=t},setDebug(t){Nt.debug=t},setEnableWalletGuide(t){Nt.enableWalletGuide=t},setEnableAuthLogger(t){Nt.enableAuthLogger=t},setEnableWallets(t){Nt.enableWallets=t},setPreferUniversalLinks(t){Nt.experimental_preferUniversalLinks=t},setSIWX(t){if(t)for(const[e,n]of Object.entries(bn.SIWX_DEFAULTS))t[e]??=n;Nt.siwx=t},setConnectMethodsOrder(t){Nt.features={...Nt.features,connectMethodsOrder:t}},setWalletFeaturesOrder(t){Nt.features={...Nt.features,walletFeaturesOrder:t}},setSocialsOrder(t){Nt.remoteFeatures={...Nt.remoteFeatures,socials:t}},setCollapseWallets(t){Nt.features={...Nt.features,collapseWallets:t}},setEnableEmbedded(t){Nt.enableEmbedded=t},setAllowUnsupportedChain(t){Nt.allowUnsupportedChain=t},setManualWCControl(t){Nt.manualWCControl=t},setEnableNetworkSwitch(t){Nt.enableNetworkSwitch=t},setEnableMobileFullScreen(t){Nt.enableMobileFullScreen=Fe.isMobile()&&t},setEnableReconnect(t){Nt.enableReconnect=t},setDefaultAccountTypes(t={}){Object.entries(t).forEach(([e,n])=>{n&&(Nt.defaultAccountTypes[e]=n)})},setUniversalProviderConfigOverride(t){Nt.universalProviderConfigOverride=t},getUniversalProviderConfigOverride(){return Nt.universalProviderConfigOverride},getSnapshot(){return R4(Nt)}},J1=Object.freeze({message:"",variant:"success",svg:void 0,open:!1,autoClose:!0}),Ji=Ar({...J1}),D1t={state:Ji,subscribeKey(t,e){return os(Ji,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=Fe.parseError(t);this._showMessage({message:e,variant:"error"})},hide(){Ji.message=J1.message,Ji.variant=J1.variant,Ji.svg=J1.svg,Ji.open=J1.open,Ji.autoClose=J1.autoClose},_showMessage({message:t,svg:e,variant:n="success",autoClose:r=J1.autoClose}){Ji.open?(Ji.open=!1,setTimeout(()=>{Ji.message=t,Ji.variant=n,Ji.svg=e,Ji.open=!0,Ji.autoClose=r},150)):(Ji.message=t,Ji.variant=n,Ji.svg=e,Ji.open=!0,Ji.autoClose=r)}},Dn=D1t,L1t={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"}]}]},i2e=Fe.getBlockchainApiUrl(),fo=Ar({clientId:null,api:new t8({baseUrl:i2e,clientId:null}),supportedChains:{http:[],ws:[]}}),Dt={state:fo,async get(t){const{st:e,sv:n}=Dt.getSdkProperties(),r=_e.state.projectId,i={...t.params||{},st:e,sv:n,projectId:r};return fo.api.get({...t,params:i})},getSdkProperties(){const{sdkType:t,sdkVersion:e}=_e.state;return{st:t||"unknown",sv:e||"unknown"}},async isNetworkSupported(t){if(!t)return!1;try{fo.supportedChains.http.length||await Dt.getSupportedNetworks()}catch{return!1}return fo.supportedChains.http.includes(t)},async getSupportedNetworks(){try{const t=await Dt.get({path:"v1/supported-chains"});return fo.supportedChains=t,t}catch{return fo.supportedChains}},async fetchIdentity({address:t}){const e=ze.getIdentityFromCacheForAddress(t);if(e)return e;const n=await Dt.get({path:`/v1/identity/${t}`,params:{sender:K.state.activeCaipAddress?Fe.getPlainAddress(K.state.activeCaipAddress):void 0}});return ze.updateIdentityCache({address:t,identity:n,timestamp:Date.now()}),n},async fetchTransactions({account:t,cursor:e,signal:n,cache:r,chainId:i}){if(!await Dt.isNetworkSupported(K.state.activeCaipNetwork?.caipNetworkId))return{data:[],next:void 0};const a=ze.getTransactionsCacheForAddress({address:t,chainId:i});if(a)return a;const o=await Dt.get({path:`/v1/account/${t}/history`,params:{cursor:e,chainId:i},signal:n,cache:r});return ze.updateTransactionsCache({address:t,chainId:i,timestamp:Date.now(),transactions:o}),o},async fetchSwapQuote({amount:t,userAddress:e,from:n,to:r,gasPrice:i}){return await Dt.isNetworkSupported(K.state.activeCaipNetwork?.caipNetworkId)?Dt.get({path:"/v1/convert/quotes",headers:{"Content-Type":"application/json"},params:{amount:t,userAddress:e,from:n,to:r,gasPrice:i}}):{quotes:[]}},async fetchSwapTokens({chainId:t}){return await Dt.isNetworkSupported(K.state.activeCaipNetwork?.caipNetworkId)?Dt.get({path:"/v1/convert/tokens",params:{chainId:t}}):{tokens:[]}},async fetchTokenPrice({addresses:t}){if(!await Dt.isNetworkSupported(K.state.activeCaipNetwork?.caipNetworkId))return{fungibles:[]};const n=ze.getTokenPriceCacheForAddresses(t);if(n)return n;const r=await fo.api.post({path:"/v1/fungible/price",body:{currency:"usd",addresses:t,projectId:_e.state.projectId},headers:{"Content-Type":"application/json"}});return ze.updateTokenPriceCache({addresses:t,timestamp:Date.now(),tokenPrice:r}),r},async fetchSwapAllowance({tokenAddress:t,userAddress:e}){return await Dt.isNetworkSupported(K.state.activeCaipNetwork?.caipNetworkId)?Dt.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:n}=Dt.getSdkProperties();if(!await Dt.isNetworkSupported(K.state.activeCaipNetwork?.caipNetworkId))throw new Error("Network not supported for Gas Price");return Dt.get({path:"/v1/convert/gas-price",headers:{"Content-Type":"application/json"},params:{chainId:t,st:e,sv:n}})},async generateSwapCalldata({amount:t,from:e,to:n,userAddress:r,disableEstimate:i}){if(!await Dt.isNetworkSupported(K.state.activeCaipNetwork?.caipNetworkId))throw new Error("Network not supported for Swaps");return fo.api.post({path:"/v1/convert/build-transaction",headers:{"Content-Type":"application/json"},body:{amount:t,eip155:{slippage:bn.CONVERT_SLIPPAGE_TOLERANCE},projectId:_e.state.projectId,from:e,to:n,userAddress:r,disableEstimate:i}})},async generateApproveCalldata({from:t,to:e,userAddress:n}){const{st:r,sv:i}=Dt.getSdkProperties();if(!await Dt.isNetworkSupported(K.state.activeCaipNetwork?.caipNetworkId))throw new Error("Network not supported for Swaps");return Dt.get({path:"/v1/convert/build-approve",headers:{"Content-Type":"application/json"},params:{userAddress:n,from:t,to:e,st:r,sv:i}})},async getBalance(t,e,n){const{st:r,sv:i}=Dt.getSdkProperties();if(!await Dt.isNetworkSupported(K.state.activeCaipNetwork?.caipNetworkId))return Dn.showError("Token Balance Unavailable"),{balances:[]};const a=`${e}:${t}`,o=ze.getBalanceCacheForCaipAddress(a);if(o)return o;const c=await Dt.get({path:`/v1/account/${t}/balance`,params:{currency:"usd",chainId:e,forceUpdate:n,st:r,sv:i}});return ze.updateBalanceCache({caipAddress:a,balance:c,timestamp:Date.now()}),c},async lookupEnsName(t){return await Dt.isNetworkSupported(K.state.activeCaipNetwork?.caipNetworkId)?Dt.get({path:`/v1/profile/account/${t}`,params:{apiVersion:"2"}}):{addresses:{},attributes:[]}},async reverseLookupEnsName({address:t}){if(!await Dt.isNetworkSupported(K.state.activeCaipNetwork?.caipNetworkId))return[];const n=K.getAccountData()?.address;return Dt.get({path:`/v1/profile/reverse/${t}`,params:{sender:n,apiVersion:"2"}})},async getEnsNameSuggestions(t){return await Dt.isNetworkSupported(K.state.activeCaipNetwork?.caipNetworkId)?Dt.get({path:`/v1/profile/suggestions/${t}`,params:{zone:"reown.id"}}):{suggestions:[]}},async registerEnsName({coinType:t,address:e,message:n,signature:r}){return await Dt.isNetworkSupported(K.state.activeCaipNetwork?.caipNetworkId)?fo.api.post({path:"/v1/profile/account",body:{coin_type:t,address:e,message:n,signature:r},headers:{"Content-Type":"application/json"}}):{success:!1}},async generateOnRampURL({destinationWallets:t,partnerUserId:e,defaultNetwork:n,purchaseAmount:r,paymentAmount:i}){return await Dt.isNetworkSupported(K.state.activeCaipNetwork?.caipNetworkId)?(await fo.api.post({path:"/v1/generators/onrampurl",params:{projectId:_e.state.projectId},body:{destinationWallets:t,defaultNetwork:n,partnerUserId:e,defaultExperience:"buy",presetCryptoAmount:r,presetFiatAmount:i}})).url:""},async getOnrampOptions(){if(!await Dt.isNetworkSupported(K.state.activeCaipNetwork?.caipNetworkId))return{paymentCurrencies:[],purchaseCurrencies:[]};try{return await Dt.get({path:"/v1/onramp/options"})}catch{return L1t}},async getOnrampQuote({purchaseCurrency:t,paymentCurrency:e,amount:n,network:r}){try{return await Dt.isNetworkSupported(K.state.activeCaipNetwork?.caipNetworkId)?await fo.api.post({path:"/v1/onramp/quote",params:{projectId:_e.state.projectId},body:{purchaseCurrency:t,paymentCurrency:e,amount:n,network:r}}):null}catch{return{networkFee:{amount:n,currency:e.id},paymentSubtotal:{amount:n,currency:e.id},paymentTotal:{amount:n,currency:e.id},purchaseAmount:{amount:n,currency:e.id},quoteId:"mocked-quote-id"}}},async getSmartSessions(t){return await Dt.isNetworkSupported(K.state.activeCaipNetwork?.caipNetworkId)?Dt.get({path:`/v1/sessions/${t}`}):[]},async revokeSmartSession(t,e,n){return await Dt.isNetworkSupported(K.state.activeCaipNetwork?.caipNetworkId)?fo.api.post({path:`/v1/sessions/${t}/revoke`,params:{projectId:_e.state.projectId},body:{pci:e,signature:n}}):{success:!1}},setClientId(t){fo.clientId=t,fo.api=new t8({baseUrl:i2e,clientId:t})}},B1t="https://secure.walletconnect.org/sdk";typeof process<"u"&&typeof process.env<"u"&&process.env.NEXT_PUBLIC_SECURE_SITE_SDK_URL;typeof process<"u"&&typeof process.env<"u"&&process.env.NEXT_PUBLIC_DEFAULT_LOG_LEVEL;typeof process<"u"&&typeof process.env<"u"&&process.env.NEXT_PUBLIC_SECURE_SITE_SDK_VERSION;const wc={SAFE_RPC_METHODS:["eth_accounts","eth_blockNumber","eth_call","eth_chainId","eth_estimateGas","eth_feeHistory","eth_gasPrice","eth_getAccount","eth_getBalance","eth_getBlockByHash","eth_getBlockByNumber","eth_getBlockReceipts","eth_getBlockTransactionCountByHash","eth_getBlockTransactionCountByNumber","eth_getCode","eth_getFilterChanges","eth_getFilterLogs","eth_getLogs","eth_getProof","eth_getStorageAt","eth_getTransactionByBlockHashAndIndex","eth_getTransactionByBlockNumberAndIndex","eth_getTransactionByHash","eth_getTransactionCount","eth_getTransactionReceipt","eth_getUncleCountByBlockHash","eth_getUncleCountByBlockNumber","eth_maxPriorityFeePerGas","eth_newBlockFilter","eth_newFilter","eth_newPendingTransactionFilter","eth_sendRawTransaction","eth_syncing","eth_uninstallFilter","wallet_getCapabilities","wallet_getCallsStatus","eth_getUserOperationReceipt","eth_estimateUserOperationGas","eth_getUserOperationByHash","eth_supportedEntryPoints","wallet_getAssets"],NOT_SAFE_RPC_METHODS:["personal_sign","eth_signTypedData_v4","eth_sendTransaction","solana_signMessage","solana_signTransaction","solana_signAllTransactions","solana_signAndSendTransaction","wallet_sendCalls","wallet_grantPermissions","wallet_revokePermissions","eth_sendUserOperation"],GET_CHAIN_ID:"eth_chainId",RPC_METHOD_NOT_ALLOWED_MESSAGE:"Requested RPC call is not allowed",RPC_METHOD_NOT_ALLOWED_UI_MESSAGE:"Action not allowed",ACCOUNT_TYPES:{EOA:"eoa",SMART_ACCOUNT:"smartAccount"}},tl={PHANTOM:{id:"a797aa35c0fadbfc1a53e7f675162ed5226968b44a19ee3d24385c64d1d3c393",url:"https://phantom.app"},SOLFLARE:{id:"1ca0bdd4747578705b1939af023d120677c64fe6ca76add81fda36e350605e79",url:"https://solflare.com"},COINBASE:{id:"fd20dc426fb37566d803205b19bbc1d4096b248ac04548e3cfb6b3a38bd033aa",url:"https://go.cb-w.com"},BINANCE:{id:"2fafea35bb471d22889ccb49c08d99dd0a18a37982602c33f696a5723934ba25",appId:"yFK5FCqYprrXDiVFbhyRx7",deeplink:"bnc://app.binance.com/mp/app",url:"https://app.binance.com/en/download"}},U1t={handleMobileDeeplinkRedirect(t,e){const n=window.location.href,r=encodeURIComponent(n);if(t===tl.PHANTOM.id&&!("phantom"in window)){const i=n.startsWith("https")?"https":"http",s=n.split("/")[2],a=encodeURIComponent(`${i}://${s}`);window.location.href=`${tl.PHANTOM.url}/ul/browse/${r}?ref=${a}`}if(t===tl.SOLFLARE.id&&!("solflare"in window)&&(window.location.href=`${tl.SOLFLARE.url}/ul/v1/browse/${r}?ref=${r}`),e===Pe.CHAIN.SOLANA&&t===tl.COINBASE.id&&!("coinbaseSolana"in window)&&(window.location.href=`${tl.COINBASE.url}/dapp?cb_url=${r}`),e===Pe.CHAIN.BITCOIN&&t===tl.BINANCE.id&&!("binancew3w"in window)){const i=K.state.activeCaipNetwork,s=window.btoa("/pages/browser/index"),a=window.btoa(`url=${r}&defaultChainId=${i?.id??1}`),o=new URL(tl.BINANCE.deeplink);o.searchParams.set("appId",tl.BINANCE.appId),o.searchParams.set("startPagePath",s),o.searchParams.set("startPageQuery",a);const c=new URL(tl.BINANCE.url);c.searchParams.set("_dp",window.btoa(o.toString())),window.location.href=c.toString()}}},F1t=Object.freeze({enabled:!0,events:[]}),W1t=new t8({baseUrl:Fe.getAnalyticsUrl(),clientId:null}),z1t=5,H1t=60*1e3,Bf=Ar({...F1t}),V1t={state:Bf,subscribeKey(t,e){return os(Bf,t,e)},async sendError(t,e){if(!Bf.enabled)return;const n=Date.now();if(Bf.events.filter(s=>{const a=new Date(s.properties.timestamp||"").getTime();return n-a<H1t}).length>=z1t)return;const i={type:"error",event:e,properties:{errorType:t.name,errorMessage:t.message,stackTrace:t.stack,timestamp:new Date().toISOString()}};Bf.events.push(i);try{if(typeof window>"u")return;const{projectId:s,sdkType:a,sdkVersion:o}=_e.state;await W1t.post({path:"/e",params:{projectId:s,st:a,sv:o||"html-wagmi-4.2.2"},body:{eventId:Fe.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(){Bf.enabled=!0},disable(){Bf.enabled=!1},clearEvents(){Bf.events=[]}};class af extends Error{constructor(e,n,r){super(e),this.originalName="AppKitError",this.name="AppKitError",this.category=n,this.originalError=r,r&&r instanceof Error&&(this.originalName=r.name),Object.setPrototypeOf(this,af.prototype);let i=!1;if(r instanceof Error&&typeof r.stack=="string"&&r.stack){const s=r.stack,a=s.indexOf(`
425
425
  `);if(a>-1){const o=s.substring(a+1);this.stack=`${this.name}: ${this.message}
426
426
  ${o}`,i=!0}}i||(Error.captureStackTrace?Error.captureStackTrace(this,af):this.stack||(this.stack=`${this.name}: ${this.message}`))}}function uQ(t,e){let n="";try{t instanceof Error?n=t.message:typeof t=="string"?n=t:typeof t=="object"&&t!==null?Object.keys(t).length===0?n="Unknown error":n=t?.message||JSON.stringify(t):n=String(t)}catch(i){n="Unknown error",console.error("Error parsing error message",i)}const r=t instanceof af?t:new af(n,e,t);throw V1t.sendError(r,r.category),r}function Go(t,e="INTERNAL_SDK_ERROR"){const n={};return Object.keys(t).forEach(r=>{const i=t[r];if(typeof i=="function"){let s=i;i.constructor.name==="AsyncFunction"?s=async(...a)=>{try{return await i(...a)}catch(o){return uQ(o,e)}}:s=(...a)=>{try{return i(...a)}catch(o){return uQ(o,e)}},n[r]=s}else n[r]=i}),n}const nc=Ar({walletImages:{},networkImages:{},chainImages:{},connectorImages:{},tokenImages:{},currencyImages:{}}),q1t={state:nc,subscribeNetworkImages(t){return as(nc.networkImages,()=>t(nc.networkImages))},subscribeKey(t,e){return os(nc,t,e)},subscribe(t){return as(nc,()=>t(nc))},setWalletImage(t,e){nc.walletImages[t]=e},setNetworkImage(t,e){nc.networkImages[t]=e},setChainImage(t,e){nc.chainImages[t]=e},setConnectorImage(t,e){nc.connectorImages={...nc.connectorImages,[t]:e}},setTokenImage(t,e){nc.tokenImages[t]=e},setCurrencyImage(t,e){nc.currencyImages[t]=e}},Da=Go(q1t),Z1t={eip155:"ba0ba0cd-17c6-4806-ad93-f9d174f17900",solana:"a1b58899-f671-4276-6a5e-56ca5bd59700",polkadot:"",bip122:"0b4838db-0161-4ffe-022d-532bf03dba00",cosmos:"",sui:"",stacks:""},rP=Ar({networkImagePromises:{}}),Ac={async fetchWalletImage(t){if(t)return await Qe._fetchWalletImage(t),this.getWalletImageById(t)},async fetchNetworkImage(t){if(!t)return;const e=this.getNetworkImageById(t);return e||(rP.networkImagePromises[t]||(rP.networkImagePromises[t]=Qe._fetchNetworkImage(t)),await rP.networkImagePromises[t],this.getNetworkImageById(t))},getWalletImageById(t){if(t)return Da.state.walletImages[t]},getWalletImage(t){if(t?.image_url)return t?.image_url;if(t?.image_id)return Da.state.walletImages[t.image_id]},getNetworkImage(t){if(t?.assets?.imageUrl)return t?.assets?.imageUrl;if(t?.assets?.imageId)return Da.state.networkImages[t.assets.imageId]},getNetworkImageById(t){if(t)return Da.state.networkImages[t]},getConnectorImage(t){if(t?.imageUrl)return t.imageUrl;if(t?.info?.icon)return t.info.icon;if(t?.imageId)return Da.state.connectorImages[t.imageId]},getChainImage(t){return Da.state.networkImages[Z1t[t]]},getTokenImage(t){if(t)return Da.state.tokenImages[t]}},K1t=Fe.getAnalyticsUrl(),G1t=new t8({baseUrl:K1t,clientId:null}),Y1t=["MODAL_CREATED"],J1t=45,hQ=1e3*10,ri=Ar({timestamp:Date.now(),lastFlush:Date.now(),reportedErrors:{},data:{type:"track",event:"MODAL_CREATED"},pendingEvents:[],subscribedToVisibilityChange:!1,walletImpressions:[]}),It={state:ri,subscribe(t){return as(ri,()=>t(ri))},getSdkProperties(){const{projectId:t,sdkType:e,sdkVersion:n}=_e.state;return{projectId:t,st:e,sv:n||"html-wagmi-4.2.2"}},shouldFlushEvents(){const t=JSON.stringify(ri.pendingEvents).length/1024>J1t,e=ri.lastFlush+hQ<Date.now();return t||e},_setPendingEvent(t){try{let e=K.getAccountData()?.address;if("address"in t.data&&t.data.address&&(e=t.data.address),Y1t.includes(t.data.event)||typeof window>"u")return;const n=K.getActiveCaipNetwork()?.caipNetworkId;this.state.pendingEvents.push({eventId:Fe.getUUID(),url:window.location.href,domain:window.location.hostname,timestamp:t.timestamp,props:{...t.data,address:e,properties:{..."properties"in t.data?t.data.properties:{},caipNetworkId:n}}}),ri.reportedErrors.FORBIDDEN=!1,It.shouldFlushEvents()&&It._submitPendingEvents()}catch(e){console.warn("_setPendingEvent",e)}},sendEvent(t){ri.timestamp=Date.now(),ri.data=t;const e=["INITIALIZE","CONNECT_SUCCESS","SOCIAL_LOGIN_SUCCESS"];(_e.state.features?.analytics||e.includes(t.event))&&It._setPendingEvent(ri),this.subscribeToFlushTriggers()},sendWalletImpressionEvent(t){ri.walletImpressions.push(t)},_transformPendingEventsForBatch(t){try{return t.filter(e=>e.props.event!=="WALLET_IMPRESSION")}catch{return t}},_submitPendingEvents(){if(ri.lastFlush=Date.now(),!(ri.pendingEvents.length===0&&ri.walletImpressions.length===0))try{const t=It._transformPendingEventsForBatch(ri.pendingEvents);ri.walletImpressions.length&&t.push({eventId:Fe.getUUID(),url:window.location.href,domain:window.location.hostname,timestamp:Date.now(),props:{type:"track",event:"WALLET_IMPRESSION",items:[...ri.walletImpressions]}}),G1t.sendBeacon({path:"/batch",params:It.getSdkProperties(),body:t}),ri.reportedErrors.FORBIDDEN=!1,ri.pendingEvents=[],ri.walletImpressions=[]}catch{ri.reportedErrors.FORBIDDEN=!0}},subscribeToFlushTriggers(){ri.subscribedToVisibilityChange||typeof document>"u"||(ri.subscribedToVisibilityChange=!0,document?.addEventListener?.("visibilitychange",()=>{document.visibilityState==="hidden"&&It._submitPendingEvents()}),document?.addEventListener?.("freeze",()=>{It._submitPendingEvents()}),window?.addEventListener?.("pagehide",()=>{It._submitPendingEvents()}),setInterval(()=>{It._submitPendingEvents()},hQ))}},X1t=Fe.getApiUrl(),go=new t8({baseUrl:X1t,clientId:null}),Q1t=40,pQ=4,egt=20,tn=Ar({promises:{},page:1,count:0,featured:[],allFeatured:[],recommended:[],allRecommended:[],wallets:[],filteredWallets:[],search:[],isAnalyticsEnabled:!1,excludedWallets:[],isFetchingRecommendedWallets:!1,explorerWallets:[],explorerFilteredWallets:[]}),Qe={state:tn,subscribeKey(t,e){return os(tn,t,e)},_getSdkProperties(){const{projectId:t,sdkType:e,sdkVersion:n}=_e.state;return{projectId:t,st:e||"appkit",sv:n||"html-wagmi-4.2.2"}},_filterOutExtensions(t){return _e.state.isUniversalProvider?t.filter(e=>!!(e.mobile_link||e.desktop_link||e.webapp_link)):t},async _fetchWalletImage(t){const e=`${go.baseUrl}/getWalletImage/${t}`,n=await go.getBlob({path:e,params:Qe._getSdkProperties()});Da.setWalletImage(t,URL.createObjectURL(n))},async _fetchNetworkImage(t){const e=`${go.baseUrl}/public/getAssetImage/${t}`,n=await go.getBlob({path:e,params:Qe._getSdkProperties()});Da.setNetworkImage(t,URL.createObjectURL(n))},async _fetchConnectorImage(t){const e=`${go.baseUrl}/public/getAssetImage/${t}`,n=await go.getBlob({path:e,params:Qe._getSdkProperties()});Da.setConnectorImage(t,URL.createObjectURL(n))},async _fetchCurrencyImage(t){const e=`${go.baseUrl}/public/getCurrencyImage/${t}`,n=await go.getBlob({path:e,params:Qe._getSdkProperties()});Da.setCurrencyImage(t,URL.createObjectURL(n))},async _fetchTokenImage(t){const e=`${go.baseUrl}/public/getTokenImage/${t}`,n=await go.getBlob({path:e,params:Qe._getSdkProperties()});Da.setTokenImage(t,URL.createObjectURL(n))},_filterWalletsByPlatform(t){const e=t.length,n=Fe.isMobile()?t?.filter(i=>i.mobile_link||i.webapp_link?!0:Object.values(tl).map(a=>a.id).includes(i.id)):t,r=e-n.length;return{filteredWallets:n,mobileFilteredOutWalletsLength:r}},async fetchProjectConfig(){return(await go.get({path:"/appkit/v1/config",params:Qe._getSdkProperties()})).features},async fetchAllowedOrigins(){try{const{allowedOrigins:t}=await go.get({path:"/projects/v1/origins",params:Qe._getSdkProperties()});return t}catch(t){if(t instanceof Error&&t.cause instanceof Response){const e=t.cause.status;if(e===Pe.HTTP_STATUS_CODES.TOO_MANY_REQUESTS)throw new Error("RATE_LIMITED",{cause:t});if(e>=Pe.HTTP_STATUS_CODES.SERVER_ERROR&&e<600)throw new Error("SERVER_ERROR",{cause:t});return[]}return[]}},async fetchNetworkImages(){const e=K.getAllRequestedCaipNetworks()?.map(({assets:n})=>n?.imageId).filter(Boolean).filter(n=>!Ac.getNetworkImageById(n));e&&await Promise.allSettled(e.map(n=>Qe._fetchNetworkImage(n)))},async fetchConnectorImages(){const{connectors:t}=Ue.state,e=t.map(({imageId:n})=>n).filter(Boolean);await Promise.allSettled(e.map(n=>Qe._fetchConnectorImage(n)))},async fetchCurrencyImages(t=[]){await Promise.allSettled(t.map(e=>Qe._fetchCurrencyImage(e)))},async fetchTokenImages(t=[]){await Promise.allSettled(t.map(e=>Qe._fetchTokenImage(e)))},async fetchWallets(t){const e=t.exclude??[];Qe._getSdkProperties().sv.startsWith("html-core-")&&e.push(...Object.values(tl).map(a=>a.id));const r=await go.get({path:"/getWallets",params:{...Qe._getSdkProperties(),...t,page:String(t.page),entries:String(t.entries),include:t.include?.join(","),exclude:e.join(",")}}),{filteredWallets:i,mobileFilteredOutWalletsLength:s}=Qe._filterWalletsByPlatform(r?.data);return{data:i||[],count:r?.count,mobileFilteredOutWalletsLength:s}},async prefetchWalletRanks(){const t=Ue.state.connectors;if(!t?.length)return;const e={page:1,entries:20,badge:"certified"};if(e.names=t.map(i=>i.name).join(","),K.state.activeChain===Pe.CHAIN.EVM){const i=[...t.flatMap(s=>s.connectors?.map(a=>a.info?.rdns)||[]),...t.map(s=>s.info?.rdns)].filter(s=>typeof s=="string"&&s.length>0);i.length&&(e.rdns=i.join(","))}const{data:n}=await Qe.fetchWallets(e);tn.explorerWallets=n;const r=K.getRequestedCaipNetworkIds().join(",");tn.explorerFilteredWallets=n.filter(i=>i.chains?.some(s=>r.includes(s)))},async fetchFeaturedWallets(){const{featuredWalletIds:t}=_e.state;if(t?.length){const e={...Qe._getSdkProperties(),page:1,entries:t?.length??pQ,include:t},{data:n}=await Qe.fetchWallets(e),r=[...n].sort((s,a)=>t.indexOf(s.id)-t.indexOf(a.id)),i=r.map(s=>s.image_id).filter(Boolean);await Promise.allSettled(i.map(s=>Qe._fetchWalletImage(s))),tn.featured=r,tn.allFeatured=r}},async fetchRecommendedWallets(){try{tn.isFetchingRecommendedWallets=!0;const{includeWalletIds:t,excludeWalletIds:e,featuredWalletIds:n}=_e.state,r=[...e??[],...n??[]].filter(Boolean),i=K.getRequestedCaipNetworkIds().join(","),s={page:1,entries:pQ,include:t,exclude:r,chains:i},{data:a,count:o}=await Qe.fetchWallets(s),c=ze.getRecentWallets(),l=a.map(u=>u.image_id).filter(Boolean),d=c.map(u=>u.image_id).filter(Boolean);await Promise.allSettled([...l,...d].map(u=>Qe._fetchWalletImage(u))),tn.recommended=a,tn.allRecommended=a,tn.count=o??0}catch{}finally{tn.isFetchingRecommendedWallets=!1}},async fetchWalletsByPage({page:t}){const{includeWalletIds:e,excludeWalletIds:n,featuredWalletIds:r}=_e.state,i=K.getRequestedCaipNetworkIds().join(","),s=[...tn.recommended.map(({id:u})=>u),...n??[],...r??[]].filter(Boolean),a={page:t,entries:Q1t,include:e,exclude:s,chains:i},{data:o,count:c,mobileFilteredOutWalletsLength:l}=await Qe.fetchWallets(a);tn.mobileFilteredOutWalletsLength=l+(tn.mobileFilteredOutWalletsLength??0);const d=o.slice(0,egt).map(u=>u.image_id).filter(Boolean);await Promise.allSettled(d.map(u=>Qe._fetchWalletImage(u))),tn.wallets=Fe.uniqueBy([...tn.wallets,...Qe._filterOutExtensions(o)],"id").filter(u=>u.chains?.some(h=>i.includes(h))),tn.count=c>tn.count?c:tn.count,tn.page=t},async initializeExcludedWallets({ids:t}){const e={page:1,entries:t.length,include:t},{data:n}=await Qe.fetchWallets(e);n&&n.forEach(r=>{tn.excludedWallets.push({rdns:r.rdns,name:r.name})})},async searchWallet({search:t,badge:e}){const{includeWalletIds:n,excludeWalletIds:r}=_e.state,i=K.getRequestedCaipNetworkIds().join(",");tn.search=[];const s={page:1,entries:100,search:t?.trim(),badge_type:e,include:n,exclude:r,chains:i},{data:a}=await Qe.fetchWallets(s);It.sendEvent({type:"track",event:"SEARCH_WALLET",properties:{badge:e??"",search:t??""}});const o=a.map(c=>c.image_id).filter(Boolean);await Promise.allSettled([...o.map(c=>Qe._fetchWalletImage(c)),Fe.wait(300)]),tn.search=Qe._filterOutExtensions(a)},initPromise(t,e){const n=tn.promises[t];return n||(tn.promises[t]=e())},prefetch({fetchConnectorImages:t=!0,fetchFeaturedWallets:e=!0,fetchRecommendedWallets:n=!0,fetchNetworkImages:r=!0,fetchWalletRanks:i=!0}={}){const s=[t&&Qe.initPromise("connectorImages",Qe.fetchConnectorImages),e&&Qe.initPromise("featuredWallets",Qe.fetchFeaturedWallets),n&&Qe.initPromise("recommendedWallets",Qe.fetchRecommendedWallets),r&&Qe.initPromise("networkImages",Qe.fetchNetworkImages),i&&Qe.initPromise("walletRanks",Qe.prefetchWalletRanks)].filter(Boolean);return Promise.allSettled(s)},prefetchAnalyticsConfig(){_e.state.features?.analytics&&Qe.fetchAnalyticsConfig()},async fetchAnalyticsConfig(){try{const{isAnalyticsEnabled:t}=await go.get({path:"/getAnalyticsConfig",params:Qe._getSdkProperties()});_e.setFeatures({analytics:t})}catch{_e.setFeatures({analytics:!1})}},filterByNamespaces(t){if(!t?.length){tn.featured=tn.allFeatured,tn.recommended=tn.allRecommended;return}const e=K.getRequestedCaipNetworkIds().join(",");tn.featured=tn.allFeatured.filter(n=>n.chains?.some(r=>e.includes(r))),tn.recommended=tn.allRecommended.filter(n=>n.chains?.some(r=>e.includes(r))),tn.filteredWallets=tn.wallets.filter(n=>n.chains?.some(r=>e.includes(r)))},clearFilterByNamespaces(){tn.filteredWallets=[]},setFilterByNamespace(t){if(!t){tn.featured=tn.allFeatured,tn.recommended=tn.allRecommended;return}const e=K.getRequestedCaipNetworkIds().join(",");tn.featured=tn.allFeatured.filter(n=>n.chains?.some(r=>e.includes(r))),tn.recommended=tn.allRecommended.filter(n=>n.chains?.some(r=>e.includes(r))),tn.filteredWallets=tn.wallets.filter(n=>n.chains?.some(r=>e.includes(r)))}},Yn=Ar({view:"Connect",history:["Connect"],transactionStack:[]}),tgt={state:Yn,subscribeKey(t,e){return os(Yn,t,e)},pushTransactionStack(t){Yn.transactionStack.push(t)},popTransactionStack(t){const e=Yn.transactionStack.pop();if(!e)return;const{onSuccess:n,onError:r,onCancel:i}=e;switch(t){case"success":n?.();break;case"error":r?.(),ke.goBack();break;case"cancel":i?.(),ke.goBack();break}},push(t,e){t!==Yn.view&&(Yn.view=t,Yn.history.push(t),Yn.data=e)},reset(t,e){Yn.view=t,Yn.history=[t],Yn.data=e},replace(t,e){Yn.history.at(-1)===t||(Yn.view=t,Yn.history[Yn.history.length-1]=t,Yn.data=e)},goBack(){const t=K.state.activeCaipAddress,e=ke.state.view==="ConnectingFarcaster",n=!t&&e;if(Yn.history.length>1){Yn.history.pop();const[r]=Yn.history.slice(-1);r&&(t&&r==="Connect"?Yn.view="Account":Yn.view=r)}else Yt.close();Yn.data?.wallet&&(Yn.data.wallet=void 0),Yn.data?.redirectView&&(Yn.data.redirectView=void 0),setTimeout(()=>{if(n){K.setAccountProp("farcasterUrl",void 0,K.state.activeChain);const r=Ue.getAuthConnector();r?.provider?.reload();const i=R4(_e.state);r?.provider?.syncDappData?.({metadata:i.metadata,sdkVersion:i.sdkVersion,projectId:i.projectId,sdkType:i.sdkType})}},100)},goBackToIndex(t){if(Yn.history.length>1){Yn.history=Yn.history.slice(0,t+1);const[e]=Yn.history.slice(-1);e&&(Yn.view=e)}},goBackOrCloseModal(){ke.state.history.length>1?ke.goBack():Yt.close()}},ke=Go(tgt),ip=Ar({themeMode:"dark",themeVariables:{},w3mThemeVariables:void 0}),rD={state:ip,subscribe(t){return as(ip,()=>t(ip))},setThemeMode(t){ip.themeMode=t;try{const e=Ue.getAuthConnector();if(e){const n=rD.getSnapshot().themeVariables;e.provider.syncTheme({themeMode:t,themeVariables:n,w3mThemeVariables:e7(n,t)})}}catch{console.info("Unable to sync theme to auth connector")}},setThemeVariables(t){ip.themeVariables={...ip.themeVariables,...t};try{const e=Ue.getAuthConnector();if(e){const n=rD.getSnapshot().themeVariables;e.provider.syncTheme({themeVariables:n,w3mThemeVariables:e7(ip.themeVariables,ip.themeMode)})}}catch{console.info("Unable to sync theme to auth connector")}},getSnapshot(){return R4(ip)}},Vs=Go(rD),s2e=Object.fromEntries(Xye.map(t=>[t,void 0])),ngt=Object.fromEntries(Xye.map(t=>[t,!0])),Wn=Ar({allConnectors:[],connectors:[],activeConnector:void 0,filterByNamespace:void 0,activeConnectorIds:s2e,filterByNamespaceMap:ngt}),rgt={state:Wn,subscribe(t){return as(Wn,()=>{t(Wn)})},subscribeKey(t,e){return os(Wn,t,e)},initialize(t){t.forEach(e=>{const n=ze.getConnectedConnectorId(e);n&&Ue.setConnectorId(n,e)})},setActiveConnector(t){t&&(Wn.activeConnector=nb(t))},setConnectors(t){t.filter(i=>!Wn.allConnectors.some(s=>s.id===i.id&&Ue.getConnectorName(s.name)===Ue.getConnectorName(i.name)&&s.chain===i.chain)).forEach(i=>{i.type!=="MULTI_CHAIN"&&Wn.allConnectors.push(nb(i))});const n=Ue.getEnabledNamespaces(),r=Ue.getEnabledConnectors(n);Wn.connectors=Ue.mergeMultiChainConnectors(r)},filterByNamespaces(t){Object.keys(Wn.filterByNamespaceMap).forEach(e=>{Wn.filterByNamespaceMap[e]=!1}),t.forEach(e=>{Wn.filterByNamespaceMap[e]=!0}),Ue.updateConnectorsForEnabledNamespaces()},filterByNamespace(t,e){Wn.filterByNamespaceMap[t]=e,Ue.updateConnectorsForEnabledNamespaces()},updateConnectorsForEnabledNamespaces(){const t=Ue.getEnabledNamespaces(),e=Ue.getEnabledConnectors(t),n=Ue.areAllNamespacesEnabled();Wn.connectors=Ue.mergeMultiChainConnectors(e),n?Qe.clearFilterByNamespaces():Qe.filterByNamespaces(t)},getEnabledNamespaces(){return Object.entries(Wn.filterByNamespaceMap).filter(([t,e])=>e).map(([t])=>t)},getEnabledConnectors(t){return Wn.allConnectors.filter(e=>t.includes(e.chain))},areAllNamespacesEnabled(){return Object.values(Wn.filterByNamespaceMap).every(t=>t)},mergeMultiChainConnectors(t){const e=Ue.generateConnectorMapByName(t),n=[];return e.forEach(r=>{const i=r[0],s=i?.id===Pe.CONNECTOR_ID.AUTH;r.length>1&&i?n.push({name:i.name,imageUrl:i.imageUrl,imageId:i.imageId,connectors:[...r],type:s?"AUTH":"MULTI_CHAIN",chain:"eip155",id:i?.id||""}):i&&n.push(i)}),n},generateConnectorMapByName(t){const e=new Map;return t.forEach(n=>{const{name:r}=n,i=Ue.getConnectorName(r);if(!i)return;const s=e.get(i)||[];s.find(o=>o.chain===n.chain)||s.push(n),e.set(i,s)}),e},getConnectorName(t){return t&&({"Trust Wallet":"Trust"}[t]||t)},getUniqueConnectorsByName(t){const e=[];return t.forEach(n=>{e.find(r=>r.chain===n.chain)||e.push(n)}),e},addConnector(t){if(t.id===Pe.CONNECTOR_ID.AUTH){const e=t,n=R4(_e.state),r=Vs.getSnapshot().themeMode,i=Vs.getSnapshot().themeVariables;e?.provider?.syncDappData?.({metadata:n.metadata,sdkVersion:n.sdkVersion,projectId:n.projectId,sdkType:n.sdkType}),e?.provider?.syncTheme({themeMode:r,themeVariables:i,w3mThemeVariables:e7(i,r)}),Ue.setConnectors([t])}else Ue.setConnectors([t])},getAuthConnector(t){const e=t||K.state.activeChain,n=Wn.connectors.find(r=>r.id===Pe.CONNECTOR_ID.AUTH);if(n)return n?.connectors?.length?n.connectors.find(i=>i.chain===e):n},getAnnouncedConnectorRdns(){return Wn.connectors.filter(t=>t.type==="ANNOUNCED").map(t=>t.info?.rdns)},getConnectorById(t){return Wn.allConnectors.find(e=>e.id===t)},getConnector({id:t,rdns:e,namespace:n}){const r=n||K.state.activeChain;return Wn.allConnectors.filter(s=>s.chain===r).find(s=>s.explorerId===t||s.info?.rdns===e)},syncIfAuthConnector(t){if(t.id!=="ID_AUTH")return;const e=t,n=R4(_e.state),r=Vs.getSnapshot().themeMode,i=Vs.getSnapshot().themeVariables;e?.provider?.syncDappData?.({metadata:n.metadata,sdkVersion:n.sdkVersion,sdkType:n.sdkType,projectId:n.projectId}),e.provider.syncTheme({themeMode:r,themeVariables:i,w3mThemeVariables:e7(i,r)})},getConnectorsByNamespace(t){const e=Wn.allConnectors.filter(n=>n.chain===t);return Ue.mergeMultiChainConnectors(e)},canSwitchToSmartAccount(t){return K.checkIfSmartAccountEnabled()&&Sa(t)===wc.ACCOUNT_TYPES.EOA},selectWalletConnector(t){const e=ke.state.data?.redirectView,n=Ue.getConnector({id:t.id,rdns:t.rdns});U1t.handleMobileDeeplinkRedirect(n?.explorerId||t.id,K.state.activeChain),n?ke.push("ConnectingExternal",{connector:n,wallet:t,redirectView:e}):ke.push("ConnectingWalletConnect",{wallet:t,redirectView:e})},getConnectors(t){return t?Ue.getConnectorsByNamespace(t):Ue.mergeMultiChainConnectors(Wn.allConnectors)},setFilterByNamespace(t){Wn.filterByNamespace=t,Wn.connectors=Ue.getConnectors(t),Qe.setFilterByNamespace(t)},setConnectorId(t,e){t&&(Wn.activeConnectorIds={...Wn.activeConnectorIds,[e]:t},ze.setConnectedConnectorId(e,t))},removeConnectorId(t){Wn.activeConnectorIds={...Wn.activeConnectorIds,[t]:void 0},ze.deleteConnectedConnectorId(t)},getConnectorId(t){if(t)return Wn.activeConnectorIds[t]},isConnected(t){return t?!!Wn.activeConnectorIds[t]:Object.values(Wn.activeConnectorIds).some(e=>!!e)},resetConnectorIds(){Wn.activeConnectorIds={...s2e}}},Ue=Go(rgt),igt=1e3,d6={checkNamespaceConnectorId(t,e){return Ue.getConnectorId(t)===e},isSocialProvider(t){return bn.DEFAULT_REMOTE_FEATURES.socials.includes(t)},connectWalletConnect({walletConnect:t,connector:e,closeModalOnConnect:n=!0,redirectViewOnModalClose:r="Connect",onOpen:i,onConnect:s}){return new Promise((a,o)=>{if(t&&Ue.setActiveConnector(e),i?.(Fe.isMobile()&&t),r){const l=Yt.subscribeKey("open",d=>{d||(ke.state.view!==r&&ke.replace(r),l(),o(new Error("Modal closed")))})}const c=K.subscribeKey("activeCaipAddress",l=>{l&&(s?.(),n&&Yt.close(),c(),a(qs.parseCaipAddress(l)))})})},connectExternal(t){return new Promise((e,n)=>{const r=K.subscribeKey("activeCaipAddress",i=>{i&&(Yt.close(),r(),e(qs.parseCaipAddress(i)))});De.connectExternal(t,t.chain).catch(()=>{r(),n(new Error("Connection rejected"))})})},connectSocial({social:t,namespace:e,closeModalOnConnect:n=!0,onOpenFarcaster:r,onConnect:i}){const s=K.getAccountData(e);let a=s?.socialWindow,o=s?.socialProvider,c=!1,l=null;const d=e||K.state.activeChain,u=K.subscribeKey("activeCaipAddress",h=>{h&&(n&&Yt.close(),u())});return new Promise((h,p)=>{async function g(y){if(y.data?.resultUri)if(y.origin===Pe.SECURE_SITE_SDK_ORIGIN){window.removeEventListener("message",g,!1);try{const b=Ue.getAuthConnector(d);if(b&&!c){const x=K.getAccountData(d);a&&(a.close(),K.setAccountProp("socialWindow",void 0,d),a=x?.socialWindow),c=!0;const v=y.data.resultUri;if(o&&It.sendEvent({type:"track",event:"SOCIAL_LOGIN_REQUEST_USER_DATA",properties:{provider:o}}),o){ze.setConnectedSocialProvider(o),await De.connectExternal({id:b.id,type:b.type,socialUri:v},b.chain);const E=K.state.activeCaipAddress;if(!E){p(new Error("Failed to connect"));return}h(qs.parseCaipAddress(E)),It.sendEvent({type:"track",event:"SOCIAL_LOGIN_SUCCESS",properties:{provider:o}})}}}catch(b){o&&It.sendEvent({type:"track",event:"SOCIAL_LOGIN_ERROR",properties:{provider:o,message:Fe.parseError(b)}}),p(new Error("Failed to connect"))}}else o&&It.sendEvent({type:"track",event:"SOCIAL_LOGIN_ERROR",properties:{provider:o,message:"Untrusted Origin"}})}async function m(){if(t){const y=K.getAccountData(d);K.setAccountProp("socialProvider",t,d),o=y?.socialProvider,It.sendEvent({type:"track",event:"SOCIAL_LOGIN_STARTED",properties:{provider:o}})}if(o==="farcaster"){r?.();const y=Yt.subscribeKey("open",x=>{!x&&t==="farcaster"&&(p(new Error("Popup closed")),i?.(),y())}),b=Ue.getAuthConnector();if(b&&!K.getAccountData(d)?.farcasterUrl)try{const{url:v}=await b.provider.getFarcasterUri();K.setAccountProp("farcasterUrl",v,d)}catch{p(new Error("Failed to connect to farcaster"))}}else{const y=Ue.getAuthConnector();l=Fe.returnOpenHref(`${Pe.SECURE_SITE_SDK_ORIGIN}/loading`,"popupWindow","width=600,height=800,scrollbars=yes");try{if(y&&o){const{uri:b}=await y.provider.getSocialRedirectUri({provider:o});if(l&&b){K.setAccountProp("socialWindow",nb(l),d),a=s?.socialWindow,l.location.href=b;const x=setInterval(()=>{a?.closed&&!c&&(p(new Error("Popup closed")),clearInterval(x))},1e3);window.addEventListener("message",g,!1)}else l?.close(),p(new Error("Failed to initiate social connection"))}}catch{p(new Error("Failed to initiate social connection")),l?.close()}}}m()})},connectEmail({closeModalOnConnect:t=!0,redirectViewOnModalClose:e="Connect",onOpen:n,onConnect:r}){return new Promise((i,s)=>{if(n?.(),e){const o=Yt.subscribeKey("open",c=>{c||(ke.state.view!==e&&ke.replace(e),o(),s(new Error("Modal closed")))})}const a=K.subscribeKey("activeCaipAddress",o=>{o&&(r?.(),t&&Yt.close(),a(),i(qs.parseCaipAddress(o)))})})},async updateEmail(){const t=ze.getConnectedConnectorId(K.state.activeChain),e=Ue.getAuthConnector();if(!e)throw new Error("No auth connector found");if(t!==Pe.CONNECTOR_ID.AUTH)throw new Error("Not connected to email or social");const n=e.provider.getEmail()??"";return await Yt.open({view:"UpdateEmailWallet",data:{email:n,redirectView:void 0}}),new Promise((r,i)=>{const s=setInterval(()=>{const o=e.provider.getEmail()??"";o!==n&&(Yt.close(),clearInterval(s),a(),r({email:o}))},igt),a=Yt.subscribeKey("open",o=>{o||(ke.state.view!=="Connect"&&ke.push("Connect"),clearInterval(s),a(),i(new Error("Modal closed")))})})},canSwitchToSmartAccount(t){return K.checkIfSmartAccountEnabled()&&Sa(t)===wc.ACCOUNT_TYPES.EOA}};function PW(){const t=K.state.activeCaipNetwork?.chainNamespace||"eip155",e=K.state.activeCaipNetwork?.id||1,n=bn.NATIVE_TOKEN_ADDRESS[t];return`${t}:${e}:${n}`}function Sa(t){return K.getAccountData(t)?.preferredAccountType}function K6(t){return K.state.activeCaipNetwork}const n7={getConnectionStatus(t,e){const n=Ue.state.activeConnectorIds[e],r=De.getConnections(e);return!!n&&t.connectorId===n?"connected":r.some(a=>a.connectorId.toLowerCase()===t.connectorId.toLowerCase())?"active":"disconnected"},excludeConnectorAddressFromConnections({connections:t,connectorId:e,addresses:n}){return t.map(r=>{if((e?r.connectorId.toLowerCase()===e.toLowerCase():!1)&&n){const s=r.accounts.filter(a=>!n.some(c=>c.toLowerCase()===a.address.toLowerCase()));return{...r,accounts:s}}return r})},excludeExistingConnections(t,e){const n=new Set(t);return e.filter(r=>!n.has(r.connectorId))},getConnectionsByConnectorId(t,e){return t.filter(n=>n.connectorId.toLowerCase()===e.toLowerCase())},getConnectionsData(t){const e=!!_e.state.remoteFeatures?.multiWallet,n=Ue.state.activeConnectorIds[t],r=De.getConnections(t),s=(De.state.recentConnections.get(t)??[]).filter(o=>Ue.getConnectorById(o.connectorId)),a=n7.excludeExistingConnections([...r.map(o=>o.connectorId),...n?[n]:[]],s);return e?{connections:r,recentConnections:a}:{connections:r.filter(o=>o.connectorId.toLowerCase()===n?.toLowerCase()),recentConnections:[]}}},zr=Ar({transactions:[],transactionsByYear:{},lastNetworkInView:void 0,loading:!1,empty:!1,next:void 0}),sgt={state:zr,subscribe(t){return as(zr,()=>t(zr))},setLastNetworkInView(t){zr.lastNetworkInView=t},async fetchTransactions(t){if(!t)throw new Error("Transactions can't be fetched without an accountAddress");zr.loading=!0;try{const e=await Dt.fetchTransactions({account:t,cursor:zr.next,chainId:K.state.activeCaipNetwork?.caipNetworkId}),n=WC.filterSpamTransactions(e.data),r=WC.filterByConnectedChain(n),i=[...zr.transactions,...r];zr.loading=!1,zr.transactions=i,zr.transactionsByYear=WC.groupTransactionsByYearAndMonth(zr.transactionsByYear,r),zr.empty=i.length===0,zr.next=e.next?e.next:void 0}catch{const n=K.state.activeChain;It.sendEvent({type:"track",event:"ERROR_FETCH_TRANSACTIONS",properties:{address:t,projectId:_e.state.projectId,cursor:zr.next,isSmartAccount:Sa(n)===wc.ACCOUNT_TYPES.SMART_ACCOUNT}}),Dn.showError("Failed to fetch transactions"),zr.loading=!1,zr.empty=!0,zr.next=void 0}},groupTransactionsByYearAndMonth(t={},e=[]){const n=t;return e.forEach(r=>{const i=new Date(r.metadata.minedAt).getFullYear(),s=new Date(r.metadata.minedAt).getMonth(),a=n[i]??{},c=(a[s]??[]).filter(l=>l.id!==r.id);n[i]={...a,[s]:[...c,r].sort((l,d)=>new Date(d.metadata.minedAt).getTime()-new Date(l.metadata.minedAt).getTime())}}),n},filterSpamTransactions(t){return t.filter(e=>!e.transfers.every(r=>r.nft_info?.flags.is_spam===!0))},filterByConnectedChain(t){const e=K.state.activeCaipNetwork?.caipNetworkId;return t.filter(r=>r.metadata.chain===e)},clearCursor(){zr.next=void 0},resetTransactions(){zr.transactions=[],zr.transactionsByYear={},zr.lastNetworkInView=void 0,zr.loading=!1,zr.empty=!1,zr.next=void 0}},WC=Go(sgt,"API_ERROR"),zn=Ar({connections:new Map,recentConnections:new Map,isSwitchingConnection:!1,wcError:!1,buffering:!1,status:"disconnected"});let F1;const agt={state:zn,subscribe(t){return as(zn,()=>t(zn))},subscribeKey(t,e){return os(zn,t,e)},_getClient(){return zn._client},setClient(t){zn._client=nb(t)},initialize(t){const e=t.filter(n=>!!n.namespace).map(n=>n.namespace);De.syncStorageConnections(e)},syncStorageConnections(t){const e=ze.getConnections(),n=t??Array.from(K.state.chains.keys());for(const r of n){const i=e[r]??[],s=new Map(zn.recentConnections);s.set(r,i),zn.recentConnections=s}},getConnections(t){return t?zn.connections.get(t)??[]:[]},hasAnyConnection(t){const e=De.state.connections;return Array.from(e.values()).flatMap(n=>n).some(({connectorId:n})=>n===t)},async connectWalletConnect({cache:t="auto"}={}){const e=Fe.isTelegram()||Fe.isSafari()&&Fe.isIos();if(t==="always"||t==="auto"&&e){if(F1){await F1,F1=void 0;return}if(!Fe.isPairingExpired(zn?.wcPairingExpiry)){const n=zn.wcUri;zn.wcUri=n;return}F1=De._getClient()?.connectWalletConnect?.().catch(()=>{}),De.state.status="connecting",await F1,F1=void 0,zn.wcPairingExpiry=void 0,De.state.status="connected"}else await De._getClient()?.connectWalletConnect?.()},async connectExternal(t,e,n=!0){const r=await De._getClient()?.connectExternal?.(t);return n&&K.setActiveNamespace(e),r},async reconnectExternal(t){await De._getClient()?.reconnectExternal?.(t);const e=t.chain||K.state.activeChain;e&&Ue.setConnectorId(t.id,e)},async setPreferredAccountType(t,e){if(!e)return;Yt.setLoading(!0,K.state.activeChain);const n=Ue.getAuthConnector();n&&(K.setAccountProp("preferredAccountType",t,e),await n.provider.setPreferredAccount(t),ze.setPreferredAccountTypes(Object.entries(K.state.chains).reduce((r,[i,s])=>{const a=i,o=Sa(a);return o!==void 0&&(r[a]=o),r},{})),await De.reconnectExternal(n),Yt.setLoading(!1,K.state.activeChain),It.sendEvent({type:"track",event:"SET_PREFERRED_ACCOUNT_TYPE",properties:{accountType:t,network:K.state.activeCaipNetwork?.caipNetworkId||""}}))},async signMessage(t){return De._getClient()?.signMessage(t)},parseUnits(t,e){return De._getClient()?.parseUnits(t,e)},formatUnits(t,e){return De._getClient()?.formatUnits(t,e)},updateBalance(t){return De._getClient()?.updateBalance(t)},async sendTransaction(t){return De._getClient()?.sendTransaction(t)},async getCapabilities(t){return De._getClient()?.getCapabilities(t)},async grantPermissions(t){return De._getClient()?.grantPermissions(t)},async walletGetAssets(t){return De._getClient()?.walletGetAssets(t)??{}},async estimateGas(t){return De._getClient()?.estimateGas(t)},async writeContract(t){return De._getClient()?.writeContract(t)},async getEnsAddress(t){return De._getClient()?.getEnsAddress(t)},async getEnsAvatar(t){return De._getClient()?.getEnsAvatar(t)},checkInstalled(t){return De._getClient()?.checkInstalled?.(t)||!1},resetWcConnection(){zn.wcUri=void 0,zn.wcPairingExpiry=void 0,zn.wcLinking=void 0,zn.recentWallet=void 0,zn.status="disconnected",WC.resetTransactions(),ze.deleteWalletConnectDeepLink(),ze.deleteRecentWallet()},resetUri(){zn.wcUri=void 0,zn.wcPairingExpiry=void 0,F1=void 0},finalizeWcConnection(t){const{wcLinking:e,recentWallet:n}=De.state;e&&ze.setWalletConnectDeepLink(e),n&&ze.setAppKitRecent(n),t&&It.sendEvent({type:"track",event:"CONNECT_SUCCESS",address:t,properties:{method:e?"mobile":"qrcode",name:ke.state.data?.wallet?.name||"Unknown",view:ke.state.view,walletRank:n?.order}})},setWcBasic(t){zn.wcBasic=t},setUri(t){zn.wcUri=t,zn.wcPairingExpiry=Fe.getPairingExpiry()},setWcLinking(t){zn.wcLinking=t},setWcError(t){zn.wcError=t,zn.buffering=!1},setRecentWallet(t){zn.recentWallet=t},setBuffering(t){zn.buffering=t},setStatus(t){zn.status=t},setIsSwitchingConnection(t){zn.isSwitchingConnection=t},async disconnect({id:t,namespace:e,initialDisconnect:n}={}){try{await De._getClient()?.disconnect({id:t,chainNamespace:e,initialDisconnect:n})}catch(r){throw new af("Failed to disconnect","INTERNAL_SDK_ERROR",r)}},async disconnectConnector({id:t,namespace:e}){try{await De._getClient()?.disconnectConnector({id:t,namespace:e})}catch(n){throw new af("Failed to disconnect connector","INTERNAL_SDK_ERROR",n)}},setConnections(t,e){const n=new Map(zn.connections);n.set(e,t),zn.connections=n},async handleAuthAccountSwitch({address:t,namespace:e}){const r=K.getAccountData(e)?.user?.accounts?.find(s=>s.type==="smartAccount"),i=r&&r.address.toLowerCase()===t.toLowerCase()&&d6.canSwitchToSmartAccount(e)?"smartAccount":"eoa";await De.setPreferredAccountType(i,e)},async handleActiveConnection({connection:t,namespace:e,address:n}){const r=Ue.getConnectorById(t.connectorId),i=t.connectorId===Pe.CONNECTOR_ID.AUTH;if(!r)throw new Error(`No connector found for connection: ${t.connectorId}`);if(i)i&&n&&await De.handleAuthAccountSwitch({address:n,namespace:e});else return(await De.connectExternal({id:r.id,type:r.type,provider:r.provider,address:n,chain:e},e))?.address;return n},async handleDisconnectedConnection({connection:t,namespace:e,address:n,closeModalOnConnect:r}){const i=Ue.getConnectorById(t.connectorId),s=t.auth?.name?.toLowerCase(),a=t.connectorId===Pe.CONNECTOR_ID.AUTH,o=t.connectorId===Pe.CONNECTOR_ID.WALLET_CONNECT;if(!i)throw new Error(`No connector found for connection: ${t.connectorId}`);let c;if(a)if(s&&d6.isSocialProvider(s)){const{address:l}=await d6.connectSocial({social:s,closeModalOnConnect:r,onOpenFarcaster(){Yt.open({view:"ConnectingFarcaster"})},onConnect(){ke.replace("ProfileWallets")}});c=l}else{const{address:l}=await d6.connectEmail({closeModalOnConnect:r,onOpen(){Yt.open({view:"EmailLogin"})},onConnect(){ke.replace("ProfileWallets")}});c=l}else if(o){const{address:l}=await d6.connectWalletConnect({walletConnect:!0,connector:i,closeModalOnConnect:r,onOpen(d){const u=d?"AllWallets":"ConnectingWalletConnect";Yt.state.open?ke.push(u):Yt.open({view:u})},onConnect(){ke.replace("ProfileWallets")}});c=l}else{const l=await De.connectExternal({id:i.id,type:i.type,provider:i.provider,chain:e},e);l&&(c=l.address)}return a&&n&&await De.handleAuthAccountSwitch({address:n,namespace:e}),c},async switchConnection({connection:t,address:e,namespace:n,closeModalOnConnect:r,onChange:i}){let s;const a=K.getAccountData(n)?.caipAddress;if(a){const{address:c}=qs.parseCaipAddress(a);s=c}const o=n7.getConnectionStatus(t,n);switch(o){case"connected":case"active":{const c=await De.handleActiveConnection({connection:t,namespace:n,address:e});if(s&&c){const l=c.toLowerCase()!==s.toLowerCase();i?.({address:c,namespace:n,hasSwitchedAccount:l,hasSwitchedWallet:o==="active"})}break}case"disconnected":{const c=await De.handleDisconnectedConnection({connection:t,namespace:n,address:e,closeModalOnConnect:r});c&&i?.({address:c,namespace:n,hasSwitchedAccount:!0,hasSwitchedWallet:!0});break}default:throw new Error(`Invalid connection status: ${o}`)}}},De=Go(agt),iP={createBalance(t,e){const n={name:t.metadata.name||"",symbol:t.metadata.symbol||"",decimals:t.metadata.decimals||0,value:t.metadata.value||0,price:t.metadata.price||0,iconUrl:t.metadata.iconUrl||""};return{name:n.name,symbol:n.symbol,chainId:e,address:t.address==="native"?void 0:this.convertAddressToCAIP10Address(t.address,e),value:n.value,price:n.price,quantity:{decimals:n.decimals.toString(),numeric:this.convertHexToBalance({hex:t.balance,decimals:n.decimals})},iconUrl:n.iconUrl}},convertHexToBalance({hex:t,decimals:e}){return ks(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 n=e[1],r=parseInt(n,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(n=>this.isValidAsset(n)))},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"}};let sP;async function fQ(){if(!sP){const{createPublicClient:t,http:e,defineChain:n}=await Promise.resolve().then(()=>RSe);sP={createPublicClient:t,http:e,defineChain:n}}return sP}const iD={getBlockchainApiRpcUrl(t,e){const n=new URL("https://rpc.walletconnect.org/v1/");return n.searchParams.set("chainId",t),n.searchParams.set("projectId",e),n.toString()},async getViemChain(t){const{defineChain:e}=await fQ(),{chainId:n}=qs.parseCaipNetworkId(t.caipNetworkId);return e({...t,id:Number(n)})},async createViemPublicClient(t){const{createPublicClient:e,http:n}=await fQ(),r=_e.state.projectId,i=await iD.getViemChain(t);if(!i)throw new Error(`Chain ${t.caipNetworkId} not found in viem/chains`);return e({chain:i,transport:n(iD.getBlockchainApiRpcUrl(t.caipNetworkId,r))})}},i$={async getMyTokensWithBalance(t){const e=K.getAccountData()?.address,n=K.state.activeCaipNetwork,r=Ue.getConnectorId("eip155")===Pe.CONNECTOR_ID.AUTH;if(!e||!n)return[];const i=`${n.caipNetworkId}:${e}`,s=ze.getBalanceCacheForCaipAddress(i);if(s)return s.balances;if(n.chainNamespace===Pe.CHAIN.EVM&&r){const o=await this.getEIP155Balances(e,n);if(o)return this.filterLowQualityTokens(o)}const a=await Dt.getBalance(e,n.caipNetworkId,t);return this.filterLowQualityTokens(a.balances)},async getEIP155Balances(t,e){try{const n=iP.getChainIdHexFromCAIP2ChainId(e.caipNetworkId);if(!(await De.getCapabilities(t))?.[n]?.assetDiscovery?.supported)return null;const i=await De.walletGetAssets({account:t,chainFilter:[n]});if(!iP.isWalletGetAssetsResponse(i))return null;const a=(i[n]||[]).map(o=>iP.createBalance(o,e.caipNetworkId));return ze.updateBalanceCache({caipAddress:`${e.caipNetworkId}:${t}`,balance:{balances:a},timestamp:Date.now()}),a}catch{return null}},filterLowQualityTokens(t){return t.filter(e=>e.quantity.decimals!=="0")},async fetchERC20Balance({caipAddress:t,assetAddress:e,caipNetwork:n}){const r=await iD.createViemPublicClient(n),{address:i}=qs.parseCaipAddress(t),[{result:s},{result:a},{result:o},{result:c}]=await r.multicall({contracts:[{address:e,functionName:"name",args:[],abi:b2},{address:e,functionName:"symbol",args:[],abi:b2},{address:e,functionName:"balanceOf",args:[i],abi:b2},{address:e,functionName:"decimals",args:[],abi:b2}]});return{name:s,symbol:a,decimals:c,balance:o&&c?ks(o,c):"0"}}},Vy=Ar({loading:!1,open:!1,selectedNetworkId:void 0,activeChain:void 0,initialized:!1}),Up={state:Vy,subscribe(t){return as(Vy,()=>t(Vy))},subscribeOpen(t){return os(Vy,"open",t)},set(t){Object.assign(Vy,{...Vy,...t})}},p2={async getTokenList(t){return(await Dt.fetchSwapTokens({chainId:t}))?.tokens?.map(r=>({...r,eip2612:!1,quantity:{decimals:"0",numeric:"0"},price:0,value:0}))||[]},async fetchGasPrice(){const t=K.state.activeCaipNetwork;if(!t)return null;try{if(t.chainNamespace==="solana"){const e=(await De?.estimateGas({chainNamespace:"solana"}))?.toString();return{standard:e,fast:e,instant:e}}else return await Dt.fetchGasPrice({chainId:t.caipNetworkId})}catch{return null}},async fetchSwapAllowance({tokenAddress:t,userAddress:e,sourceTokenAmount:n,sourceTokenDecimals:r}){const i=await Dt.fetchSwapAllowance({tokenAddress:t,userAddress:e});if(i?.allowance&&n&&r){const s=De.parseUnits(n,r)||0;return BigInt(i.allowance)>=s}return!1},async getMyTokensWithBalance(t){const e=await i$.getMyTokensWithBalance(t);return K.setAccountProp("tokenBalance",e,K.state.activeChain),this.mapBalancesToSwapTokens(e)},mapBalancesToSwapTokens(t){return t?.map(e=>({...e,address:e?.address?e.address:PW(),decimals:parseInt(e.quantity.decimals,10),logoUri:e.iconUrl,eip2612:!1}))||[]},async handleSwapError(t){try{const e=t?.cause;return e?.json&&(await e.json())?.reasons?.[0]?.description?.includes("insufficient liquidity")?"Insufficient liquidity":void 0}catch{return}}},Nn=Ar({tokenBalances:[],loading:!1}),ogt={state:Nn,subscribe(t){return as(Nn,()=>t(Nn))},subscribeKey(t,e){return os(Nn,t,e)},setToken(t){t&&(Nn.token=nb(t))},setTokenAmount(t){Nn.sendTokenAmount=t},setReceiverAddress(t){Nn.receiverAddress=t},setReceiverProfileImageUrl(t){Nn.receiverProfileImageUrl=t},setReceiverProfileName(t){Nn.receiverProfileName=t},setNetworkBalanceInUsd(t){Nn.networkBalanceInUSD=t},setLoading(t){Nn.loading=t},getSdkEventProperties(t){return{message:Fe.parseError(t),isSmartAccount:Sa(K.state.activeChain)===wc.ACCOUNT_TYPES.SMART_ACCOUNT,token:Nn.token?.symbol||"",amount:Nn.sendTokenAmount??0,network:K.state.activeCaipNetwork?.caipNetworkId||""}},async sendToken(){try{switch(wn.setLoading(!0),K.state.activeCaipNetwork?.chainNamespace){case"eip155":await wn.sendEvmToken();return;case"solana":await wn.sendSolanaToken();return;default:throw new Error("Unsupported chain")}}catch(t){throw du.isUserRejectedRequestError(t)?new t2e(t):t}finally{wn.setLoading(!1)}},async sendEvmToken(){const t=K.state.activeChain;if(!t)throw new Error("SendController:sendEvmToken - activeChainNamespace is required");const e=Sa(t);if(!wn.state.sendTokenAmount||!wn.state.receiverAddress)throw new Error("An amount and receiver address are required");if(!wn.state.token)throw new Error("A token is required");if(wn.state.token?.address){It.sendEvent({type:"track",event:"SEND_INITIATED",properties:{isSmartAccount:e===wc.ACCOUNT_TYPES.SMART_ACCOUNT,token:wn.state.token.address,amount:wn.state.sendTokenAmount,network:K.state.activeCaipNetwork?.caipNetworkId||""}});const{hash:n}=await wn.sendERC20Token({receiverAddress:wn.state.receiverAddress,tokenAddress:wn.state.token.address,sendTokenAmount:wn.state.sendTokenAmount,decimals:wn.state.token.quantity.decimals});n&&(Nn.hash=n)}else{It.sendEvent({type:"track",event:"SEND_INITIATED",properties:{isSmartAccount:e===wc.ACCOUNT_TYPES.SMART_ACCOUNT,token:wn.state.token.symbol||"",amount:wn.state.sendTokenAmount,network:K.state.activeCaipNetwork?.caipNetworkId||""}});const{hash:n}=await wn.sendNativeToken({receiverAddress:wn.state.receiverAddress,sendTokenAmount:wn.state.sendTokenAmount,decimals:wn.state.token.quantity.decimals});n&&(Nn.hash=n)}},async fetchTokenBalance(t){Nn.loading=!0;const e=K.state.activeChain,n=K.state.activeCaipNetwork?.caipNetworkId,r=K.state.activeCaipNetwork?.chainNamespace,i=K.getAccountData(e)?.caipAddress??K.state.activeCaipAddress,s=i?Fe.getPlainAddress(i):void 0;if(Nn.lastRetry&&!Fe.isAllowedRetry(Nn.lastRetry,30*bn.ONE_SEC_MS))return Nn.loading=!1,[];try{if(s&&n&&r){const a=await i$.getMyTokensWithBalance();return Nn.tokenBalances=a,Nn.lastRetry=void 0,a}}catch(a){Nn.lastRetry=Date.now(),t?.(a),Dn.showError("Token Balance Unavailable")}finally{Nn.loading=!1}return[]},fetchNetworkBalance(){if(Nn.tokenBalances.length===0)return;const t=p2.mapBalancesToSwapTokens(Nn.tokenBalances);if(!t)return;const e=t.find(n=>n.address===PW());e&&(Nn.networkBalanceInUSD=e?Li.multiply(e.quantity.numeric,e.price).toString():"0")},async sendNativeToken(t){ke.pushTransactionStack({});const e=t.receiverAddress,n=K.getAccountData()?.address,r=De.parseUnits(t.sendTokenAmount.toString(),Number(t.decimals)),s=await De.sendTransaction({chainNamespace:Pe.CHAIN.EVM,to:e,address:n,data:"0x",value:r??BigInt(0)});return It.sendEvent({type:"track",event:"SEND_SUCCESS",properties:{isSmartAccount:Sa("eip155")===wc.ACCOUNT_TYPES.SMART_ACCOUNT,token:wn.state.token?.symbol||"",amount:t.sendTokenAmount,network:K.state.activeCaipNetwork?.caipNetworkId||"",hash:s||""}}),De._getClient()?.updateBalance("eip155"),wn.resetSend(),{hash:s}},async sendERC20Token(t){ke.pushTransactionStack({onSuccess(){ke.replace("Account")}});const e=De.parseUnits(t.sendTokenAmount.toString(),Number(t.decimals)),n=K.getAccountData()?.address;if(n&&t.sendTokenAmount&&t.receiverAddress&&t.tokenAddress){const r=Fe.getPlainAddress(t.tokenAddress);if(!r)throw new Error("SendController:sendERC20Token - tokenAddress is required");const i=await De.writeContract({fromAddress:n,tokenAddress:r,args:[t.receiverAddress,e??BigInt(0)],method:"transfer",abi:x1t.getERC20Abi(r),chainNamespace:Pe.CHAIN.EVM});return It.sendEvent({type:"track",event:"SEND_SUCCESS",properties:{isSmartAccount:Sa("eip155")===wc.ACCOUNT_TYPES.SMART_ACCOUNT,token:wn.state.token?.symbol||"",amount:t.sendTokenAmount,network:K.state.activeCaipNetwork?.caipNetworkId||"",hash:i||""}}),wn.resetSend(),{hash:i}}return{hash:void 0}},async sendSolanaToken(){if(!wn.state.sendTokenAmount||!wn.state.receiverAddress)throw new Error("An amount and receiver address are required");ke.pushTransactionStack({onSuccess(){ke.replace("Account")}});let t;wn.state.token&&wn.state.token.address!==bn.SOLANA_NATIVE_TOKEN_ADDRESS&&(Fe.isCaipAddress(wn.state.token.address)?t=Fe.getPlainAddress(wn.state.token.address):t=wn.state.token.address);const e=await De.sendTransaction({chainNamespace:"solana",tokenMint:t,to:wn.state.receiverAddress,value:wn.state.sendTokenAmount});e&&(Nn.hash=e),De._getClient()?.updateBalance("solana"),wn.resetSend()},resetSend(){Nn.token=void 0,Nn.sendTokenAmount=void 0,Nn.receiverAddress=void 0,Nn.receiverProfileImageUrl=void 0,Nn.receiverProfileName=void 0,Nn.loading=!1,Nn.tokenBalances=[]}},wn=Go(ogt),aP={currentTab:0,tokenBalance:[],smartAccountDeployed:!1,addressLabels:new Map,user:void 0,preferredAccountType:void 0},OE={caipNetwork:void 0,supportsAllNetworks:!0,smartAccountEnabledNetworks:[]},ut=Ar({chains:M1t(),activeCaipAddress:void 0,activeChain:void 0,activeCaipNetwork:void 0,noAdapters:!1,universalAdapter:{networkControllerClient:void 0,connectionControllerClient:void 0},isSwitchingNamespace:!1}),a2e={state:ut,subscribe(t){return as(ut,()=>{t(ut)})},subscribeKey(t,e){return os(ut,t,e)},subscribeAccountStateProp(t,e,n){const r=n||ut.activeChain;return r?os(ut.chains.get(r)?.accountState||{},t,e):()=>{}},subscribeChainProp(t,e,n){let r;return as(ut.chains,()=>{const i=n||ut.activeChain;if(i){const s=ut.chains.get(i)?.[t];r!==s&&(r=s,e(s))}})},initialize(t,e,n){const{chainId:r,namespace:i}=ze.getActiveNetworkProps(),s=e?.find(d=>d.id.toString()===r?.toString()),o=t.find(d=>d?.namespace===i)||t?.[0],c=t.map(d=>d.namespace).filter(d=>d!==void 0),l=_e.state.enableEmbedded?new Set([...c]):new Set([...e?.map(d=>d.chainNamespace)??[]]);(t?.length===0||!o)&&(ut.noAdapters=!0),ut.noAdapters||(ut.activeChain=o?.namespace,ut.activeCaipNetwork=s,K.setChainNetworkData(o?.namespace,{caipNetwork:s}),ut.activeChain&&Up.set({activeChain:o?.namespace})),l.forEach(d=>{const u=e?.filter(g=>g.chainNamespace===d),h=ze.getPreferredAccountTypes()||{},p={..._e.state.defaultAccountTypes,...h};K.state.chains.set(d,{namespace:d,networkState:Ar({...OE,caipNetwork:u?.[0]}),accountState:Ar({...aP,preferredAccountType:p[d]}),caipNetworks:u??[],...n}),K.setRequestedCaipNetworks(u??[],d)})},removeAdapter(t){if(ut.activeChain===t){const e=Array.from(ut.chains.entries()).find(([n])=>n!==t);if(e){const n=e[1]?.caipNetworks?.[0];n&&K.setActiveCaipNetwork(n)}}ut.chains.delete(t)},addAdapter(t,{networkControllerClient:e,connectionControllerClient:n},r){if(!t.namespace)throw new Error("ChainController:addAdapter - adapter must have a namespace");ut.chains.set(t.namespace,{namespace:t.namespace,networkState:{...OE,caipNetwork:r[0]},accountState:{...aP},caipNetworks:r,connectionControllerClient:n,networkControllerClient:e}),K.setRequestedCaipNetworks(r?.filter(i=>i.chainNamespace===t.namespace)??[],t.namespace)},addNetwork(t){const e=ut.chains.get(t.chainNamespace);if(e){const n=[...e.caipNetworks||[]];e.caipNetworks?.find(r=>r.id===t.id)||n.push(t),ut.chains.set(t.chainNamespace,{...e,caipNetworks:n}),K.setRequestedCaipNetworks(n,t.chainNamespace),Ue.filterByNamespace(t.chainNamespace,!0)}},removeNetwork(t,e){const n=ut.chains.get(t);if(n){const r=ut.activeCaipNetwork?.id===e,i=[...n.caipNetworks?.filter(s=>s.id!==e)||[]];r&&n?.caipNetworks?.[0]&&K.setActiveCaipNetwork(n.caipNetworks[0]),ut.chains.set(t,{...n,caipNetworks:i}),K.setRequestedCaipNetworks(i||[],t),i.length===0&&Ue.filterByNamespace(t,!1)}},setAdapterNetworkState(t,e){const n=ut.chains.get(t);n&&(n.networkState={...n.networkState||OE,...e},ut.chains.set(t,n))},setChainAccountData(t,e,n=!0){if(!t)throw new Error("Chain is required to update chain account data");const r=ut.chains.get(t);if(r){const i={...r.accountState||aP,...e};ut.chains.set(t,{...r,accountState:i}),(ut.chains.size===1||ut.activeChain===t)&&e.caipAddress&&(ut.activeCaipAddress=e.caipAddress)}},setChainNetworkData(t,e){if(!t)return;const n=ut.chains.get(t);if(n){const r={...n.networkState||OE,...e};ut.chains.set(t,{...n,networkState:r})}},setAccountProp(t,e,n,r=!0){K.setChainAccountData(n,{[t]:e},r)},setActiveNamespace(t){ut.activeChain=t;const e=t?ut.chains.get(t):void 0,n=e?.networkState?.caipNetwork;n?.id&&t&&(ut.activeCaipAddress=e?.accountState?.caipAddress,ut.activeCaipNetwork=n,K.setChainNetworkData(t,{caipNetwork:n}),ze.setActiveCaipNetworkId(n?.caipNetworkId),Up.set({activeChain:t,selectedNetworkId:n?.caipNetworkId}))},setActiveCaipNetwork(t){if(!t)return;const e=ut.activeChain===t.chainNamespace;e||K.setIsSwitchingNamespace(!0);const n=ut.chains.get(t.chainNamespace);ut.activeChain=t.chainNamespace,ut.activeCaipNetwork=t,K.setChainNetworkData(t.chainNamespace,{caipNetwork:t});let r=n?.accountState?.address;if(r)ut.activeCaipAddress=`${t.chainNamespace}:${t.id}:${r}`;else if(e&&ut.activeCaipAddress){const{address:s}=qs.parseCaipAddress(ut.activeCaipAddress);r=s,ut.activeCaipAddress=`${t.caipNetworkId}:${r}`}else ut.activeCaipAddress=void 0;K.setChainAccountData(t.chainNamespace,{address:r,caipAddress:ut.activeCaipAddress}),wn.resetSend(),Up.set({activeChain:ut.activeChain,selectedNetworkId:ut.activeCaipNetwork?.caipNetworkId}),ze.setActiveCaipNetworkId(t.caipNetworkId),!K.checkIfSupportedNetwork(t.chainNamespace)&&_e.state.enableNetworkSwitch&&!_e.state.allowUnsupportedChain&&!De.state.wcBasic&&K.showUnsupportedChainUI()},addCaipNetwork(t){if(!t)return;const e=ut.chains.get(t.chainNamespace);e&&e?.caipNetworks?.push(t)},async switchActiveNamespace(t){if(!t)return;const e=t!==K.state.activeChain,n=K.getNetworkData(t)?.caipNetwork,r=K.getCaipNetworkByNamespace(t,n?.id);e&&r&&await K.switchActiveNetwork(r)},async switchActiveNetwork(t,{throwOnFailure:e=!1}={}){const n=K.state.activeChain;if(!n)throw new Error("ChainController:switchActiveNetwork - namespace is required");const i=!K.state.chains.get(n)?.caipNetworks?.some(a=>a.id===ut.activeCaipNetwork?.id),s=K.getNetworkControllerClient(t.chainNamespace);if(s){try{await s.switchCaipNetwork(t),i&&Yt.close()}catch(a){if(e)throw a;ke.goBack()}It.sendEvent({type:"track",event:"SWITCH_NETWORK",properties:{network:t.caipNetworkId}})}},getNetworkControllerClient(t){const e=t||ut.activeChain;if(!e)throw new Error("ChainController:getNetworkControllerClient - chain is required");const n=ut.chains.get(e);if(!n)throw new Error("Chain adapter not found");if(!n.networkControllerClient)throw new Error("NetworkController client not set");return n.networkControllerClient},getConnectionControllerClient(t){const e=t||ut.activeChain;if(!e)throw new Error("Chain is required to get connection controller client");const n=ut.chains.get(e);if(!n?.connectionControllerClient)throw new Error("ConnectionController client not set");return n.connectionControllerClient},getNetworkProp(t,e){const n=ut.chains.get(e)?.networkState;if(n)return n[t]},getRequestedCaipNetworks(t){const e=ut.chains.get(t),{approvedCaipNetworkIds:n=[],requestedCaipNetworks:r=[]}=e?.networkState||{};return Fe.sortRequestedNetworks(n,r).filter(a=>a?.id)},getAllRequestedCaipNetworks(){const t=[];return ut.chains.forEach(e=>{if(!e.namespace)throw new Error("ChainController:getAllRequestedCaipNetworks - chainAdapter must have a namespace");const n=K.getRequestedCaipNetworks(e.namespace);t.push(...n)}),t},setRequestedCaipNetworks(t,e){K.setAdapterNetworkState(e,{requestedCaipNetworks:t});const r=K.getAllRequestedCaipNetworks().map(s=>s.chainNamespace),i=Array.from(new Set(r));Ue.filterByNamespaces(i)},getAllApprovedCaipNetworkIds(){const t=[];return ut.chains.forEach(e=>{if(!e.namespace)throw new Error("ChainController:getAllApprovedCaipNetworkIds - chainAdapter must have a namespace");const n=K.getApprovedCaipNetworkIds(e.namespace);t.push(...n)}),t},getActiveCaipNetwork(t){return t?ut.chains.get(t)?.networkState?.caipNetwork:ut.activeCaipNetwork},getActiveCaipAddress(){return ut.activeCaipAddress},getApprovedCaipNetworkIds(t){return ut.chains.get(t)?.networkState?.approvedCaipNetworkIds||[]},async setApprovedCaipNetworksData(t){const n=await K.getNetworkControllerClient()?.getApprovedCaipNetworksData();K.setAdapterNetworkState(t,{approvedCaipNetworkIds:n?.approvedCaipNetworkIds,supportsAllNetworks:n?.supportsAllNetworks})},checkIfSupportedNetwork(t,e){const n=e||ut.activeCaipNetwork?.caipNetworkId,r=K.getRequestedCaipNetworks(t);return r.length?r?.some(i=>i.caipNetworkId===n):!0},checkIfSupportedChainId(t){return ut.activeChain?K.getRequestedCaipNetworks(ut.activeChain)?.some(n=>n.id===t):!0},setSmartAccountEnabledNetworks(t,e){K.setAdapterNetworkState(e,{smartAccountEnabledNetworks:t})},checkIfSmartAccountEnabled(){const t=kW.caipNetworkIdToNumber(ut.activeCaipNetwork?.caipNetworkId),e=ut.activeChain;return!e||!t?!1:!!K.getNetworkProp("smartAccountEnabledNetworks",e)?.includes(Number(t))},showUnsupportedChainUI(){Yt.open({view:"UnsupportedChain"})},checkIfNamesSupported(){const t=ut.activeCaipNetwork;return!!(t?.chainNamespace&&bn.NAMES_SUPPORTED_CHAIN_NAMESPACES.includes(t.chainNamespace))},resetNetwork(t){K.setAdapterNetworkState(t,{approvedCaipNetworkIds:void 0,supportsAllNetworks:!0})},resetAccount(t){const e=t;if(!e)throw new Error("Chain is required to set account prop");const n=K.state.chains.get(e)?.accountState?.preferredAccountType,r=_e.state.defaultAccountTypes[e];ut.activeCaipAddress=void 0,K.setChainAccountData(e,{smartAccountDeployed:!1,currentTab:0,caipAddress:void 0,address:void 0,balance:void 0,balanceSymbol:void 0,profileName:void 0,profileImage:void 0,addressExplorerUrl:void 0,tokenBalance:[],connectedWalletInfo:void 0,preferredAccountType:r||n,socialProvider:void 0,socialWindow:void 0,farcasterUrl:void 0,user:void 0,status:"disconnected"}),Ue.removeConnectorId(e)},setIsSwitchingNamespace(t){ut.isSwitchingNamespace=t},getFirstCaipNetworkSupportsAuthConnector(){const t=[];let e;if(ut.chains.forEach(n=>{Pe.AUTH_CONNECTOR_SUPPORTED_CHAINS.find(r=>r===n.namespace)&&n.namespace&&t.push(n.namespace)}),t.length>0){const n=t[0];return e=n?ut.chains.get(n)?.caipNetworks?.[0]:void 0,e}},getAccountData(t){const e=t||ut.activeChain;if(e)return K.state.chains.get(e)?.accountState},getNetworkData(t){const e=t||ut.activeChain;if(e)return K.state.chains.get(e)?.networkState},getCaipNetworkByNamespace(t,e){if(!t)return;const n=K.state.chains.get(t),r=n?.caipNetworks?.find(i=>i.id===e);return r||n?.networkState?.caipNetwork||n?.caipNetworks?.[0]},getRequestedCaipNetworkIds(){const t=Ue.state.filterByNamespace;return(t?[ut.chains.get(t)]:Array.from(ut.chains.values())).flatMap(n=>n?.caipNetworks||[]).map(n=>n.caipNetworkId)},getCaipNetworks(t){return t?K.getRequestedCaipNetworks(t):K.getAllRequestedCaipNetworks()},getCaipNetworkById(t,e){return a2e.getCaipNetworks(e).find(n=>n.id.toString()===t.toString()||n.caipNetworkId.toString()===t.toString())},setLastConnectedSIWECaipNetwork(t){ut.lastConnectedSIWECaipNetwork=t},getLastConnectedSIWECaipNetwork(){return ut.lastConnectedSIWECaipNetwork},async fetchTokenBalance(t){const e=K.getAccountData();if(!e)return[];const n=K.state.activeCaipNetwork?.caipNetworkId,r=K.state.activeCaipNetwork?.chainNamespace,i=K.state.activeCaipAddress,s=i?Fe.getPlainAddress(i):void 0;if(K.setAccountProp("balanceLoading",!0,r),e.lastRetry&&!Fe.isAllowedRetry(e.lastRetry,30*bn.ONE_SEC_MS))return K.setAccountProp("balanceLoading",!1,r),[];try{if(s&&n&&r){const a=await i$.getMyTokensWithBalance();return K.setAccountProp("tokenBalance",a,r),K.setAccountProp("lastRetry",void 0,r),K.setAccountProp("balanceLoading",!1,r),a}}catch(a){K.setAccountProp("lastRetry",Date.now(),r),t?.(a),Dn.showError("Token Balance Unavailable")}finally{K.setAccountProp("balanceLoading",!1,r)}return[]},isCaipNetworkDisabled(t){const e=t.chainNamespace,n=!!K.getAccountData(e)?.caipAddress,r=K.getAllApprovedCaipNetworkIds(),i=K.getNetworkProp("supportsAllNetworks",e)!==!1,s=Ue.getConnectorId(e),a=Ue.getAuthConnector(),o=s===Pe.CONNECTOR_ID.AUTH&&a;return!n||i||o?!1:!r?.includes(t.caipNetworkId)}},K=Go(a2e),cgt={onSwitchNetwork({network:t,ignoreSwitchConfirmation:e=!1}){const n=K.state.activeCaipNetwork,r=K.state.activeChain,i=ke.state.data;if(t.id===n?.id)return;const a=!!K.getAccountData(r)?.address,o=!!K.getAccountData(t.chainNamespace)?.address,c=t.chainNamespace!==r,d=Ue.getConnectorId(r)===Pe.CONNECTOR_ID.AUTH,u=Pe.AUTH_CONNECTOR_SUPPORTED_CHAINS.find(h=>h===t.chainNamespace);e||d&&u?ke.push("SwitchNetwork",{...i,network:t}):a&&c&&!o?ke.push("SwitchActiveChain",{switchToChain:t.chainNamespace,navigateTo:"Connect",navigateWithReplace:!0,network:t}):ke.push("SwitchNetwork",{...i,network:t})}},mo=Ar({loading:!1,loadingNamespaceMap:new Map,open:!1,shake:!1,namespace:void 0}),lgt={state:mo,subscribe(t){return as(mo,()=>t(mo))},subscribeKey(t,e){return os(mo,t,e)},async open(t){const e=t?.namespace,n=K.state.activeChain,r=e&&e!==n,i=K.getAccountData(t?.namespace)?.caipAddress,s=K.state.noAdapters;if(De.state.wcBasic?Qe.prefetch({fetchNetworkImages:!1,fetchConnectorImages:!1,fetchWalletRanks:!1}):await Qe.prefetch(),Ue.setFilterByNamespace(t?.namespace),Yt.setLoading(!0,e),e&&r){const a=K.getNetworkData(e)?.caipNetwork||K.getRequestedCaipNetworks(e)[0];a&&(s?(await K.switchActiveNetwork(a),ke.push("ConnectingWalletConnectBasic")):cgt.onSwitchNetwork({network:a,ignoreSwitchConfirmation:!0}))}else _e.state.manualWCControl||s&&!i?Fe.isMobile()?ke.reset("AllWallets"):ke.reset("ConnectingWalletConnectBasic"):t?.view?ke.reset(t.view,t.data):i?ke.reset("Account"):ke.reset("Connect");mo.open=!0,Up.set({open:!0}),It.sendEvent({type:"track",event:"MODAL_OPEN",properties:{connected:!!i}})},close(){const t=_e.state.enableEmbedded,e=!!K.state.activeCaipAddress;mo.open&&It.sendEvent({type:"track",event:"MODAL_CLOSE",properties:{connected:e}}),mo.open=!1,ke.reset("Connect"),Yt.clearLoading(),t?e?ke.replace("Account"):ke.push("Connect"):Up.set({open:!1}),De.resetUri()},setLoading(t,e){e&&mo.loadingNamespaceMap.set(e,t),mo.loading=t,Up.set({loading:t})},clearLoading(){mo.loadingNamespaceMap.clear(),mo.loading=!1,Up.set({loading:!1})},shake(){mo.shake||(mo.shake=!0,setTimeout(()=>{mo.shake=!1},500))}},Yt=Go(lgt),r7={eip155:void 0,solana:void 0,polkadot:void 0,bip122:void 0,cosmos:void 0,sui:void 0,stacks:void 0},yo=Ar({providers:{...r7},providerIds:{...r7}}),Xr={state:yo,subscribeKey(t,e){return os(yo,t,e)},subscribe(t){return as(yo,()=>{t(yo)})},subscribeProviders(t){return as(yo.providers,()=>t(yo.providers))},setProvider(t,e){t&&e&&(yo.providers[t]=nb(e))},getProvider(t){if(t)return yo.providers[t]},setProviderId(t,e){e&&(yo.providerIds[t]=e)},getProviderId(t){if(t)return yo.providerIds[t]},reset(){yo.providers={...r7},yo.providerIds={...r7}},resetChain(t){yo.providers[t]=void 0,yo.providerIds[t]=void 0}},b3={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"}]},sD={id:"USD",payment_method_limits:[{id:"card",min:"10.00",max:"7500.00"},{id:"ach_bank_account",min:"10.00",max:"25000.00"}]},dgt={providers:r2e,selectedProvider:null,error:null,purchaseCurrency:b3,paymentCurrency:sD,purchaseCurrencies:[b3],paymentCurrencies:[],quotesLoading:!1},Mn=Ar(dgt),ugt={state:Mn,subscribe(t){return as(Mn,()=>t(Mn))},subscribeKey(t,e){return os(Mn,t,e)},setSelectedProvider(t){if(t&&t.name==="meld"){const e=K.state.activeChain,n=e===Pe.CHAIN.SOLANA?"SOL":"USDC",r=e?K.state.chains.get(e)?.accountState?.address??"":"",i=new URL(t.url);i.searchParams.append("publicKey",j1t),i.searchParams.append("destinationCurrencyCode",n),i.searchParams.append("walletAddress",r),i.searchParams.append("externalCustomerId",_e.state.projectId),Mn.selectedProvider={...t,url:i.toString()}}else Mn.selectedProvider=t},setOnrampProviders(t){if(Array.isArray(t)&&t.every(e=>typeof e=="string")){const e=t,n=r2e.filter(r=>e.includes(r.name));Mn.providers=n}else Mn.providers=[]},setPurchaseCurrency(t){Mn.purchaseCurrency=t},setPaymentCurrency(t){Mn.paymentCurrency=t},setPurchaseAmount(t){aD.state.purchaseAmount=t},setPaymentAmount(t){aD.state.paymentAmount=t},async getAvailableCurrencies(){const t=await Dt.getOnrampOptions();Mn.purchaseCurrencies=t.purchaseCurrencies,Mn.paymentCurrencies=t.paymentCurrencies,Mn.paymentCurrency=t.paymentCurrencies[0]||sD,Mn.purchaseCurrency=t.purchaseCurrencies[0]||b3,await Qe.fetchCurrencyImages(t.paymentCurrencies.map(e=>e.id)),await Qe.fetchTokenImages(t.purchaseCurrencies.map(e=>e.symbol))},async getQuote(){Mn.quotesLoading=!0;try{const t=await Dt.getOnrampQuote({purchaseCurrency:Mn.purchaseCurrency,paymentCurrency:Mn.paymentCurrency,amount:Mn.paymentAmount?.toString()||"0",network:Mn.purchaseCurrency?.symbol});return Mn.quotesLoading=!1,Mn.purchaseAmount=Number(t?.purchaseAmount.amount),t}catch(t){return Mn.error=t.message,Mn.quotesLoading=!1,null}finally{Mn.quotesLoading=!1}},resetState(){Mn.selectedProvider=null,Mn.error=null,Mn.purchaseCurrency=b3,Mn.paymentCurrency=sD,Mn.purchaseCurrencies=[b3],Mn.paymentCurrencies=[],Mn.paymentAmount=void 0,Mn.purchaseAmount=void 0,Mn.quotesLoading=!1}},aD=Go(ugt),r0={getGasPriceInEther(t,e){const n=e*t;return Number(n)/1e18},getGasPriceInUSD(t,e,n){const r=r0.getGasPriceInEther(e,n);return Li.bigNumber(t).times(r).toNumber()},getPriceImpact({sourceTokenAmount:t,sourceTokenPriceInUSD:e,toTokenPriceInUSD:n,toTokenAmount:r}){const i=Li.bigNumber(t).times(e),s=Li.bigNumber(r).times(n);return i.minus(s).div(i).times(100).toNumber()},getMaxSlippage(t,e){const n=Li.bigNumber(t).div(100);return Li.multiply(e,n).toNumber()},getProviderFee(t,e=.0085){return Li.bigNumber(t).times(e).toString()},isInsufficientNetworkTokenForGas(t,e){const n=e||"0";return Li.bigNumber(t).eq(0)?!0:Li.bigNumber(Li.bigNumber(n)).gt(t)},isInsufficientSourceTokenForSwap(t,e,n){const r=n?.find(s=>s.address===e)?.quantity?.numeric;return Li.bigNumber(r||"0").lt(t)}},Dl=Ar({message:"",variant:"info",open:!1}),hgt={state:Dl,subscribeKey(t,e){return os(Dl,t,e)},open(t,e){const{debug:n}=_e.state,{code:r,displayMessage:i,debugMessage:s}=t;i&&n&&(Dl.message=i,Dl.variant=e,Dl.open=!0),s&&console.error(typeof s=="function"?s():s,r?{code:r}:void 0)},warn(t,e,n){Dl.open=!0,Dl.message=t,Dl.variant="warning",e&&console.warn(e,n)},close(){Dl.open=!1,Dl.message="",Dl.variant="info"}},ws=Go(hgt),gQ=15e4,pgt=6,ma={initializing:!1,initialized:!1,loadingPrices:!1,loadingQuote:!1,loadingApprovalTransaction:!1,loadingBuildTransaction:!1,loadingTransaction:!1,switchingTokens:!1,fetchError:!1,approvalTransaction:void 0,swapTransaction:void 0,transactionError:void 0,sourceToken:void 0,sourceTokenAmount:"",sourceTokenPriceInUSD:0,toToken:void 0,toTokenAmount:"",toTokenPriceInUSD:0,networkPrice:"0",networkBalanceInUSD:"0",networkTokenSymbol:"",inputError:void 0,slippage:bn.CONVERT_SLIPPAGE_TOLERANCE,tokens:void 0,popularTokens:void 0,suggestedTokens:void 0,foundTokens:void 0,myTokensWithBalance:void 0,tokensPriceMap:{},gasFee:"0",gasPriceInUSD:0,priceImpact:void 0,maxSlippage:void 0,providerFee:void 0},ve=Ar({...ma}),zC={state:ve,subscribe(t){return as(ve,()=>t(ve))},subscribeKey(t,e){return os(ve,t,e)},getParams(){const t=K.state.activeChain,e=K.getAccountData(t)?.caipAddress??K.state.activeCaipAddress,n=Fe.getPlainAddress(e),r=PW(),i=Ue.getConnectorId(K.state.activeChain);if(!n)throw new Error("No address found to swap the tokens from.");const s=!ve.toToken?.address||!ve.toToken?.decimals,a=!ve.sourceToken?.address||!ve.sourceToken?.decimals||!Li.bigNumber(ve.sourceTokenAmount).gt(0),o=!ve.sourceTokenAmount;return{networkAddress:r,fromAddress:n,fromCaipAddress:e,sourceTokenAddress:ve.sourceToken?.address,toTokenAddress:ve.toToken?.address,toTokenAmount:ve.toTokenAmount,toTokenDecimals:ve.toToken?.decimals,sourceTokenAmount:ve.sourceTokenAmount,sourceTokenDecimals:ve.sourceToken?.decimals,invalidToToken:s,invalidSourceToken:a,invalidSourceTokenAmount:o,availableToSwap:e&&!s&&!a&&!o,isAuthConnector:i===Pe.CONNECTOR_ID.AUTH}},async setSourceToken(t){if(!t){ve.sourceToken=t,ve.sourceTokenAmount="",ve.sourceTokenPriceInUSD=0;return}ve.sourceToken=t,await Vt.setTokenPrice(t.address,"sourceToken")},setSourceTokenAmount(t){ve.sourceTokenAmount=t},async setToToken(t){if(!t){ve.toToken=t,ve.toTokenAmount="",ve.toTokenPriceInUSD=0;return}ve.toToken=t,await Vt.setTokenPrice(t.address,"toToken")},setToTokenAmount(t){ve.toTokenAmount=t?Li.toFixed(t,pgt):""},async setTokenPrice(t,e){let n=ve.tokensPriceMap[t]||0;n||(ve.loadingPrices=!0,n=await Vt.getAddressPrice(t)),e==="sourceToken"?ve.sourceTokenPriceInUSD=n:e==="toToken"&&(ve.toTokenPriceInUSD=n),ve.loadingPrices&&(ve.loadingPrices=!1),Vt.getParams().availableToSwap&&!ve.switchingTokens&&Vt.swapTokens()},async switchTokens(){if(!(ve.initializing||!ve.initialized||ve.switchingTokens)){ve.switchingTokens=!0;try{const t=ve.toToken?{...ve.toToken}:void 0,e=ve.sourceToken?{...ve.sourceToken}:void 0,n=t&&ve.toTokenAmount===""?"1":ve.toTokenAmount;Vt.setSourceTokenAmount(n),Vt.setToTokenAmount(""),await Vt.setSourceToken(t),await Vt.setToToken(e),ve.switchingTokens=!1,Vt.swapTokens()}catch(t){throw ve.switchingTokens=!1,t}}},resetState(){ve.myTokensWithBalance=ma.myTokensWithBalance,ve.tokensPriceMap=ma.tokensPriceMap,ve.initialized=ma.initialized,ve.initializing=ma.initializing,ve.switchingTokens=ma.switchingTokens,ve.sourceToken=ma.sourceToken,ve.sourceTokenAmount=ma.sourceTokenAmount,ve.sourceTokenPriceInUSD=ma.sourceTokenPriceInUSD,ve.toToken=ma.toToken,ve.toTokenAmount=ma.toTokenAmount,ve.toTokenPriceInUSD=ma.toTokenPriceInUSD,ve.networkPrice=ma.networkPrice,ve.networkTokenSymbol=ma.networkTokenSymbol,ve.networkBalanceInUSD=ma.networkBalanceInUSD,ve.inputError=ma.inputError},resetValues(){const{networkAddress:t}=Vt.getParams(),e=ve.tokens?.find(n=>n.address===t);Vt.setSourceToken(e),Vt.setToToken(void 0)},getApprovalLoadingState(){return ve.loadingApprovalTransaction},clearError(){ve.transactionError=void 0},async initializeState(){if(!ve.initializing){if(ve.initializing=!0,!ve.initialized)try{await Vt.fetchTokens(),ve.initialized=!0}catch{ve.initialized=!1,Dn.showError("Failed to initialize swap"),ke.goBack()}ve.initializing=!1}},async fetchTokens(){const{networkAddress:t}=Vt.getParams();await Vt.getNetworkTokenPrice(),await Vt.getMyTokensWithBalance();const e=ve.myTokensWithBalance?.find(n=>n.address===t);e&&(ve.networkTokenSymbol=e.symbol,Vt.setSourceToken(e),Vt.setSourceTokenAmount("0"))},async getTokenList(){const t=K.state.activeCaipNetwork?.caipNetworkId;if(!(ve.caipNetworkId===t&&ve.tokens))try{ve.tokensLoading=!0;const e=await p2.getTokenList(t);ve.tokens=e,ve.caipNetworkId=t,ve.popularTokens=e.sort((n,r)=>n.symbol<r.symbol?-1:n.symbol>r.symbol?1:0),ve.suggestedTokens=e.filter(n=>!!bn.SWAP_SUGGESTED_TOKENS.includes(n.symbol))}catch{ve.tokens=[],ve.popularTokens=[],ve.suggestedTokens=[]}finally{ve.tokensLoading=!1}},async getAddressPrice(t){const e=ve.tokensPriceMap[t];if(e)return e;const r=(await Dt.fetchTokenPrice({addresses:[t]}))?.fungibles||[],s=[...ve.tokens||[],...ve.myTokensWithBalance||[]]?.find(c=>c.address===t)?.symbol,a=r.find(c=>c.symbol.toLowerCase()===s?.toLowerCase())?.price||0,o=parseFloat(a.toString());return ve.tokensPriceMap[t]=o,o},async getNetworkTokenPrice(){const{networkAddress:t}=Vt.getParams(),n=(await Dt.fetchTokenPrice({addresses:[t]}).catch(()=>(Dn.showError("Failed to fetch network token price"),{fungibles:[]}))).fungibles?.[0],r=n?.price.toString()||"0";ve.tokensPriceMap[t]=parseFloat(r),ve.networkTokenSymbol=n?.symbol||"",ve.networkPrice=r},async getMyTokensWithBalance(t){const e=await i$.getMyTokensWithBalance(t),n=p2.mapBalancesToSwapTokens(e);n&&(await Vt.getInitialGasPrice(),Vt.setBalances(n))},setBalances(t){const{networkAddress:e}=Vt.getParams(),n=K.state.activeCaipNetwork;if(!n)return;const r=t.find(i=>i.address===e);t.forEach(i=>{ve.tokensPriceMap[i.address]=i.price||0}),ve.myTokensWithBalance=t.filter(i=>i.address.startsWith(n.caipNetworkId)),ve.networkBalanceInUSD=r?Li.multiply(r.quantity.numeric,r.price).toString():"0"},async getInitialGasPrice(){const t=await p2.fetchGasPrice();if(!t)return{gasPrice:null,gasPriceInUSD:null};switch(K.state?.activeCaipNetwork?.chainNamespace){case Pe.CHAIN.SOLANA:return ve.gasFee=t.standard??"0",ve.gasPriceInUSD=Li.multiply(t.standard,ve.networkPrice).div(1e9).toNumber(),{gasPrice:BigInt(ve.gasFee),gasPriceInUSD:Number(ve.gasPriceInUSD)};case Pe.CHAIN.EVM:default:const e=t.standard??"0",n=BigInt(e),r=BigInt(gQ),i=r0.getGasPriceInUSD(ve.networkPrice,r,n);return ve.gasFee=e,ve.gasPriceInUSD=i,{gasPrice:n,gasPriceInUSD:i}}},async swapTokens(){const t=K.getAccountData()?.address,e=ve.sourceToken,n=ve.toToken,r=Li.bigNumber(ve.sourceTokenAmount).gt(0);if(r||Vt.setToTokenAmount(""),!n||!e||ve.loadingPrices||!r||!t)return;ve.loadingQuote=!0;const i=Li.bigNumber(ve.sourceTokenAmount).times(10**e.decimals).round(0);try{const s=await Dt.fetchSwapQuote({userAddress:t,from:e.address,to:n.address,gasPrice:ve.gasFee,amount:i.toString()});ve.loadingQuote=!1;const a=s?.quotes?.[0]?.toAmount;if(!a){ws.open({displayMessage:"Incorrect amount",debugMessage:"Please enter a valid amount"},"error");return}const o=Li.bigNumber(a).div(10**n.decimals).toString();Vt.setToTokenAmount(o),Vt.hasInsufficientToken(ve.sourceTokenAmount,e.address)?ve.inputError="Insufficient balance":(ve.inputError=void 0,Vt.setTransactionDetails())}catch(s){const a=await p2.handleSwapError(s);ve.loadingQuote=!1,ve.inputError=a||"Insufficient balance"}},async getTransaction(){const{fromCaipAddress:t,availableToSwap:e}=Vt.getParams(),n=ve.sourceToken,r=ve.toToken;if(!(!t||!e||!n||!r||ve.loadingQuote))try{ve.loadingBuildTransaction=!0;const i=await p2.fetchSwapAllowance({userAddress:t,tokenAddress:n.address,sourceTokenAmount:ve.sourceTokenAmount,sourceTokenDecimals:n.decimals});let s;return i?s=await Vt.createSwapTransaction():s=await Vt.createAllowanceTransaction(),ve.loadingBuildTransaction=!1,ve.fetchError=!1,s}catch{ke.goBack(),Dn.showError("Failed to check allowance"),ve.loadingBuildTransaction=!1,ve.approvalTransaction=void 0,ve.swapTransaction=void 0,ve.fetchError=!0;return}},async createAllowanceTransaction(){const{fromCaipAddress:t,sourceTokenAddress:e,toTokenAddress:n}=Vt.getParams();if(!(!t||!n)){if(!e)throw new Error("createAllowanceTransaction - No source token address found.");try{const r=await Dt.generateApproveCalldata({from:e,to:n,userAddress:t}),i=Fe.getPlainAddress(r.tx.from);if(!i)throw new Error("SwapController:createAllowanceTransaction - address is required");const s={data:r.tx.data,to:i,gasPrice:BigInt(r.tx.eip155.gasPrice),value:BigInt(r.tx.value),toAmount:ve.toTokenAmount};return ve.swapTransaction=void 0,ve.approvalTransaction={data:s.data,to:s.to,gasPrice:s.gasPrice,value:s.value,toAmount:s.toAmount},{data:s.data,to:s.to,gasPrice:s.gasPrice,value:s.value,toAmount:s.toAmount}}catch{ke.goBack(),Dn.showError("Failed to create approval transaction"),ve.approvalTransaction=void 0,ve.swapTransaction=void 0,ve.fetchError=!0;return}}},async createSwapTransaction(){const{networkAddress:t,fromCaipAddress:e,sourceTokenAmount:n}=Vt.getParams(),r=ve.sourceToken,i=ve.toToken;if(!e||!n||!r||!i)return;const s=De.parseUnits(n,r.decimals)?.toString();try{const a=await Dt.generateSwapCalldata({userAddress:e,from:r.address,to:i.address,amount:s,disableEstimate:!0}),o=r.address===t,c=BigInt(a.tx.eip155.gas),l=BigInt(a.tx.eip155.gasPrice),d=Fe.getPlainAddress(a.tx.to);if(!d)throw new Error("SwapController:createSwapTransaction - address is required");const u={data:a.tx.data,to:d,gas:c,gasPrice:l,value:BigInt(o?s??"0":"0"),toAmount:ve.toTokenAmount};return ve.gasPriceInUSD=r0.getGasPriceInUSD(ve.networkPrice,c,l),ve.approvalTransaction=void 0,ve.swapTransaction=u,u}catch{ke.goBack(),Dn.showError("Failed to create transaction"),ve.approvalTransaction=void 0,ve.swapTransaction=void 0,ve.fetchError=!0;return}},onEmbeddedWalletApprovalSuccess(){Dn.showLoading("Approve limit increase in your wallet"),ke.replace("SwapPreview")},async sendTransactionForApproval(t){const{fromAddress:e,isAuthConnector:n}=Vt.getParams();ve.loadingApprovalTransaction=!0,n?ke.pushTransactionStack({onSuccess:Vt.onEmbeddedWalletApprovalSuccess}):Dn.showLoading("Approve limit increase in your wallet");try{await De.sendTransaction({address:e,to:t.to,data:t.data,value:t.value,chainNamespace:Pe.CHAIN.EVM}),await Vt.swapTokens(),await Vt.getTransaction(),ve.approvalTransaction=void 0,ve.loadingApprovalTransaction=!1}catch(i){const s=i;ve.transactionError=s?.displayMessage,ve.loadingApprovalTransaction=!1,Dn.showError(s?.displayMessage||"Transaction error"),It.sendEvent({type:"track",event:"SWAP_APPROVAL_ERROR",properties:{message:s?.displayMessage||s?.message||"Unknown",network:K.state.activeCaipNetwork?.caipNetworkId||"",swapFromToken:Vt.state.sourceToken?.symbol||"",swapToToken:Vt.state.toToken?.symbol||"",swapFromAmount:Vt.state.sourceTokenAmount||"",swapToAmount:Vt.state.toTokenAmount||"",isSmartAccount:Sa(Pe.CHAIN.EVM)===wc.ACCOUNT_TYPES.SMART_ACCOUNT}})}},async sendTransactionForSwap(t){if(!t)return;const{fromAddress:e,toTokenAmount:n,isAuthConnector:r}=Vt.getParams();ve.loadingTransaction=!0;const i=`Swapping ${ve.sourceToken?.symbol} to ${Li.formatNumberToLocalString(n,3)} ${ve.toToken?.symbol}`,s=`Swapped ${ve.sourceToken?.symbol} to ${Li.formatNumberToLocalString(n,3)} ${ve.toToken?.symbol}`;r?ke.pushTransactionStack({onSuccess(){ke.replace("Account"),Dn.showLoading(i),zC.resetState()}}):Dn.showLoading("Confirm transaction in your wallet");try{const a=[ve.sourceToken?.address,ve.toToken?.address].join(","),o=await De.sendTransaction({address:e,to:t.to,data:t.data,value:t.value,chainNamespace:Pe.CHAIN.EVM});return ve.loadingTransaction=!1,Dn.showSuccess(s),It.sendEvent({type:"track",event:"SWAP_SUCCESS",properties:{network:K.state.activeCaipNetwork?.caipNetworkId||"",swapFromToken:Vt.state.sourceToken?.symbol||"",swapToToken:Vt.state.toToken?.symbol||"",swapFromAmount:Vt.state.sourceTokenAmount||"",swapToAmount:Vt.state.toTokenAmount||"",isSmartAccount:Sa(Pe.CHAIN.EVM)===wc.ACCOUNT_TYPES.SMART_ACCOUNT}}),zC.resetState(),r||ke.replace("Account"),zC.getMyTokensWithBalance(a),o}catch(a){const o=a;ve.transactionError=o?.displayMessage,ve.loadingTransaction=!1,Dn.showError(o?.displayMessage||"Transaction error"),It.sendEvent({type:"track",event:"SWAP_ERROR",properties:{message:o?.displayMessage||o?.message||"Unknown",network:K.state.activeCaipNetwork?.caipNetworkId||"",swapFromToken:Vt.state.sourceToken?.symbol||"",swapToToken:Vt.state.toToken?.symbol||"",swapFromAmount:Vt.state.sourceTokenAmount||"",swapToAmount:Vt.state.toTokenAmount||"",isSmartAccount:Sa(Pe.CHAIN.EVM)===wc.ACCOUNT_TYPES.SMART_ACCOUNT}});return}},hasInsufficientToken(t,e){return r0.isInsufficientSourceTokenForSwap(t,e,ve.myTokensWithBalance)},setTransactionDetails(){const{toTokenAddress:t,toTokenDecimals:e}=Vt.getParams();!t||!e||(ve.gasPriceInUSD=r0.getGasPriceInUSD(ve.networkPrice,BigInt(ve.gasFee),BigInt(gQ)),ve.priceImpact=r0.getPriceImpact({sourceTokenAmount:ve.sourceTokenAmount,sourceTokenPriceInUSD:ve.sourceTokenPriceInUSD,toTokenPriceInUSD:ve.toTokenPriceInUSD,toTokenAmount:ve.toTokenAmount}),ve.maxSlippage=r0.getMaxSlippage(ve.slippage,ve.toTokenAmount),ve.providerFee=r0.getProviderFee(ve.sourceTokenAmount))}},Vt=Go(zC),Ll=Ar({message:"",open:!1,triggerRect:{width:0,height:0,top:0,left:0},variant:"shade"}),fgt={state:Ll,subscribe(t){return as(Ll,()=>t(Ll))},subscribeKey(t,e){return os(Ll,t,e)},showTooltip({message:t,triggerRect:e,variant:n}){Ll.open=!0,Ll.message=t,Ll.triggerRect=e,Ll.variant=n},hide(){Ll.open=!1,Ll.message="",Ll.triggerRect={width:0,height:0,top:0,left:0}}},u6=Go(fgt),mQ=2147483648,ggt={convertEVMChainIdToCoinType(t){if(t>=mQ)throw new Error("Invalid chainId");return(mQ|t)>>>0}},Hc=Ar({suggestions:[],loading:!1}),mgt={state:Hc,subscribe(t){return as(Hc,()=>t(Hc))},subscribeKey(t,e){return os(Hc,t,e)},async resolveName(t){try{return await Dt.lookupEnsName(t)}catch(e){const n=e;throw new Error(n?.reasons?.[0]?.description||"Error resolving name")}},async isNameRegistered(t){try{return await Dt.lookupEnsName(t),!0}catch{return!1}},async getSuggestions(t){try{Hc.loading=!0,Hc.suggestions=[];const e=await Dt.getEnsNameSuggestions(t);return Hc.suggestions=e.suggestions||[],Hc.suggestions}catch(e){const n=v3.parseEnsApiError(e,"Error fetching name suggestions");throw new Error(n)}finally{Hc.loading=!1}},async getNamesForAddress(t){try{if(!K.state.activeCaipNetwork)return[];const n=ze.getEnsFromCacheForAddress(t);if(n)return n;const r=await Dt.reverseLookupEnsName({address:t});return ze.updateEnsCache({address:t,ens:r,timestamp:Date.now()}),r}catch(e){const n=v3.parseEnsApiError(e,"Error fetching names for address");throw new Error(n)}},async registerName(t){const e=K.state.activeCaipNetwork,n=K.getAccountData(e?.chainNamespace)?.address,r=Ue.getAuthConnector();if(!e)throw new Error("Network not found");if(!n||!r)throw new Error("Address or auth connector not found");Hc.loading=!0;try{const i=JSON.stringify({name:t,attributes:{},timestamp:Math.floor(Date.now()/1e3)});ke.pushTransactionStack({onCancel(){ke.replace("RegisterAccountName")}});const s=await De.signMessage(i);Hc.loading=!1;const a=e.id;if(!a)throw new Error("Network not found");const o=ggt.convertEVMChainIdToCoinType(Number(a));await Dt.registerEnsName({coinType:o,address:n,signature:s,message:i}),K.setAccountProp("profileName",t,e.chainNamespace),ze.updateEnsCache({address:n,ens:[{name:t,registered_at:new Date().toISOString(),updated_at:void 0,addresses:{},attributes:[]}],timestamp:Date.now()}),ke.replace("RegisterAccountNameSuccess")}catch(i){const s=v3.parseEnsApiError(i,`Error registering name ${t}`);throw ke.replace("RegisterAccountName"),new Error(s)}finally{Hc.loading=!1}},validateName(t){return/^[a-zA-Z0-9-]{4,}$/u.test(t)},parseEnsApiError(t,e){return t?.reasons?.[0]?.description||e}},v3=Go(mgt),ygt={asset:"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"},wgt={asset:"0x036CbD53842c5426634e7929541eC2318f3dCF7e"};var oP,yQ;function bgt(){if(yQ)return oP;yQ=1;const t=$_();oP=i;const e=C().console||{},n={mapHttpRequest:g,mapHttpResponse:g,wrapRequestSerializer:m,wrapResponseSerializer:m,wrapErrorSerializer:m,req:g,res:g,err:h};function r(w,S){return Array.isArray(w)?w.filter(function(P){return P!=="!stdSerializers.err"}):w===!0?Object.keys(S):!1}function i(w){w=w||{},w.browser=w.browser||{};const S=w.browser.transmit;if(S&&typeof S.send!="function")throw Error("pino: transmit option must have a send function");const I=w.browser.write||e;w.browser.write&&(w.browser.asObject=!0);const P=w.serializers||{},T=r(w.browser.serialize,P);let M=w.browser.serialize;Array.isArray(w.browser.serialize)&&w.browser.serialize.indexOf("!stdSerializers.err")>-1&&(M=!1);const R=["error","fatal","warn","info","debug","trace"];typeof I=="function"&&(I.error=I.fatal=I.warn=I.info=I.debug=I.trace=I),w.enabled===!1&&(w.level="silent");const O=w.level||"info",$=Object.create(I);$.log||($.log=y),Object.defineProperty($,"levelVal",{get:k}),Object.defineProperty($,"level",{get:L,set:D});const A={transmit:S,serialize:T,asObject:w.browser.asObject,levels:R,timestamp:p(w)};$.levels=i.levels,$.level=O,$.setMaxListeners=$.getMaxListeners=$.emit=$.addListener=$.on=$.prependListener=$.once=$.prependOnceListener=$.removeListener=$.removeAllListeners=$.listeners=$.listenerCount=$.eventNames=$.write=$.flush=y,$.serializers=P,$._serialize=T,$._stdErrSerialize=M,$.child=N,S&&($._logEvent=u());function k(){return this.level==="silent"?1/0:this.levels.values[this.level]}function L(){return this._level}function D(j){if(j!=="silent"&&!this.levels.values[j])throw Error("unknown level "+j);this._level=j,s(A,$,"error","log"),s(A,$,"fatal","error"),s(A,$,"warn","error"),s(A,$,"info","log"),s(A,$,"debug","log"),s(A,$,"trace","log")}function N(j,F){if(!j)throw new Error("missing bindings for child Pino");F=F||{},T&&j.serializers&&(F.serializers=j.serializers);const W=F.serializers;if(T&&W){var q=Object.assign({},P,W),V=w.browser.serialize===!0?Object.keys(q):T;delete j.serializers,c([j],V,q,this._stdErrSerialize)}function Z(te){this._childLevel=(te._childLevel|0)+1,this.error=l(te,j,"error"),this.fatal=l(te,j,"fatal"),this.warn=l(te,j,"warn"),this.info=l(te,j,"info"),this.debug=l(te,j,"debug"),this.trace=l(te,j,"trace"),q&&(this.serializers=q,this._serialize=V),S&&(this._logEvent=u([].concat(te._logEvent.bindings,j)))}return Z.prototype=this,new Z(this)}return $}i.levels={values:{fatal:60,error:50,warn:40,info:30,debug:20,trace:10},labels:{10:"trace",20:"debug",30:"info",40:"warn",50:"error",60:"fatal"}},i.stdSerializers=n,i.stdTimeFunctions=Object.assign({},{nullTime:b,epochTime:x,unixTime:v,isoTime:E});function s(w,S,I,P){const T=Object.getPrototypeOf(S);S[I]=S.levelVal>S.levels.values[I]?y:T[I]?T[I]:e[I]||e[P]||y,a(w,S,I)}function a(w,S,I){!w.transmit&&S[I]===y||(S[I]=(function(P){return function(){const M=w.timestamp(),R=new Array(arguments.length),O=Object.getPrototypeOf&&Object.getPrototypeOf(this)===e?e:this;for(var $=0;$<R.length;$++)R[$]=arguments[$];if(w.serialize&&!w.asObject&&c(R,this._serialize,this.serializers,this._stdErrSerialize),w.asObject?P.call(O,o(this,I,R,M)):P.apply(O,R),w.transmit){const A=w.transmit.level||S.level,k=i.levels.values[A],L=i.levels.values[I];if(L<k)return;d(this,{ts:M,methodLevel:I,methodValue:L,transmitValue:i.levels.values[w.transmit.level||S.level],send:w.transmit.send,val:S.levelVal},R)}}})(S[I]))}function o(w,S,I,P){w._serialize&&c(I,w._serialize,w.serializers,w._stdErrSerialize);const T=I.slice();let M=T[0];const R={};P&&(R.time=P),R.level=i.levels.values[S];let O=(w._childLevel|0)+1;if(O<1&&(O=1),M!==null&&typeof M=="object"){for(;O--&&typeof T[0]=="object";)Object.assign(R,T.shift());M=T.length?t(T.shift(),T):void 0}else typeof M=="string"&&(M=t(T.shift(),T));return M!==void 0&&(R.msg=M),R}function c(w,S,I,P){for(const T in w)if(P&&w[T]instanceof Error)w[T]=i.stdSerializers.err(w[T]);else if(typeof w[T]=="object"&&!Array.isArray(w[T]))for(const M in w[T])S&&S.indexOf(M)>-1&&M in I&&(w[T][M]=I[M](w[T][M]))}function l(w,S,I){return function(){const P=new Array(1+arguments.length);P[0]=S;for(var T=1;T<P.length;T++)P[T]=arguments[T-1];return w[I].apply(this,P)}}function d(w,S,I){const P=S.send,T=S.ts,M=S.methodLevel,R=S.methodValue,O=S.val,$=w._logEvent.bindings;c(I,w._serialize||Object.keys(w.serializers),w.serializers,w._stdErrSerialize===void 0?!0:w._stdErrSerialize),w._logEvent.ts=T,w._logEvent.messages=I.filter(function(A){return $.indexOf(A)===-1}),w._logEvent.level.label=M,w._logEvent.level.value=R,P(M,w._logEvent,O),w._logEvent=u($)}function u(w){return{ts:0,messages:[],bindings:w||[],level:{label:"",value:0}}}function h(w){const S={type:w.constructor.name,msg:w.message,stack:w.stack};for(const I in w)S[I]===void 0&&(S[I]=w[I]);return S}function p(w){return typeof w.timestamp=="function"?w.timestamp:w.timestamp===!1?b:x}function g(){return{}}function m(w){return w}function y(){}function b(){return!1}function x(){return Date.now()}function v(){return Math.round(Date.now()/1e3)}function E(){return new Date(Date.now()).toISOString()}function C(){function w(S){return typeof S<"u"&&S}try{return typeof globalThis<"u"||Object.defineProperty(Object.prototype,"globalThis",{get:function(){return delete Object.prototype.globalThis,this.globalThis=this},configurable:!0}),globalThis}catch{return w(self)||w(window)||w(this)||{}}}return oP}bgt();let W1=null;const Po={getSIWX(){return _e.state.siwx},async initializeIfEnabled(t=K.getActiveCaipAddress()){const e=_e.state.siwx;if(!(e&&t))return;const[n,r,i]=t.split(":");if(K.checkIfSupportedNetwork(n,`${n}:${r}`))try{if(_e.state.remoteFeatures?.emailCapture){const a=K.getAccountData(n)?.user;await Yt.open({view:"DataCapture",data:{email:a?.email??void 0}});return}if(W1&&await W1,(await e.getSessions(`${n}:${r}`,i)).length)return;await Yt.open({view:"SIWXSignMessage"})}catch(s){console.error("SIWXUtil:initializeIfEnabled",s),It.sendEvent({type:"track",event:"SIWX_AUTH_ERROR",properties:this.getSIWXEventProperties(s)}),await De._getClient()?.disconnect().catch(console.error),ke.reset("Connect"),Dn.showError("A problem occurred while trying initialize authentication")}},async requestSignMessage(){const t=_e.state.siwx,e=Fe.getPlainAddress(K.getActiveCaipAddress()),n=K6(),r=De._getClient();if(!t)throw new Error("SIWX is not enabled");if(!e)throw new Error("No ActiveCaipAddress found");if(!n)throw new Error("No ActiveCaipNetwork or client found");if(!r)throw new Error("No ConnectionController client found");try{const i=await t.createMessage({chainId:n.caipNetworkId,accountAddress:e}),s=i.toString();Ue.getConnectorId(n.chainNamespace)===Pe.CONNECTOR_ID.AUTH&&ke.pushTransactionStack({});const o=await r.signMessage(s);await t.addSession({data:i,message:s,signature:o}),K.setLastConnectedSIWECaipNetwork(n),Yt.close(),It.sendEvent({type:"track",event:"SIWX_AUTH_SUCCESS",properties:this.getSIWXEventProperties()})}catch(i){(!Yt.state.open||ke.state.view==="ApproveTransaction")&&await Yt.open({view:"SIWXSignMessage"}),Dn.showError("Error signing message"),It.sendEvent({type:"track",event:"SIWX_AUTH_ERROR",properties:this.getSIWXEventProperties(i)}),console.error("SWIXUtil:requestSignMessage",i)}},async cancelSignMessage(){try{const t=this.getSIWX();if(t?.getRequired?.()){const n=K.getLastConnectedSIWECaipNetwork();if(n){const r=await t?.getSessions(n?.caipNetworkId,Fe.getPlainAddress(K.getActiveCaipAddress())||"");r&&r.length>0?await K.switchActiveNetwork(n):await De.disconnect()}else await De.disconnect()}else Yt.close();Yt.close(),It.sendEvent({event:"CLICK_CANCEL_SIWX",type:"track",properties:this.getSIWXEventProperties()})}catch(t){console.error("SIWXUtil:cancelSignMessage",t)}},async getAllSessions(){const t=this.getSIWX(),e=K.getAllRequestedCaipNetworks(),n=[];return await Promise.all(e.map(async r=>{const i=await t?.getSessions(r.caipNetworkId,Fe.getPlainAddress(K.getActiveCaipAddress())||"");i&&n.push(...i)})),n},async getSessions(t){const e=_e.state.siwx;let n=t?.address;if(!n){const i=K.getActiveCaipAddress();n=Fe.getPlainAddress(i)}let r=t?.caipNetworkId;return r||(r=K.getActiveCaipNetwork()?.caipNetworkId),e&&n&&r?e.getSessions(r,n):[]},async isSIWXCloseDisabled(){const t=this.getSIWX();if(t){const e=ke.state.view==="ApproveTransaction",n=ke.state.view==="SIWXSignMessage";if(e||n)return t.getRequired?.()&&(await this.getSessions()).length===0}return!1},async authConnectorAuthenticate({authConnector:t,chainId:e,socialUri:n,preferredAccountType:r,chainNamespace:i}){const s=Po.getSIWX(),a=K6();if(!s||!i.includes(Pe.CHAIN.EVM)||_e.state.remoteFeatures?.emailCapture){const u=await t.connect({chainId:e,socialUri:n,preferredAccountType:r});return{address:u.address,chainId:u.chainId,accounts:u.accounts}}const o=`${i}:${e}`,c=await s.createMessage({chainId:o,accountAddress:"<<AccountAddress>>"}),l={accountAddress:c.accountAddress,chainId:c.chainId,domain:c.domain,uri:c.uri,version:c.version,nonce:c.nonce,notBefore:c.notBefore,statement:c.statement,resources:c.resources,requestId:c.requestId,issuedAt:c.issuedAt,expirationTime:c.expirationTime,serializedMessage:c.toString()},d=await t.connect({chainId:e,socialUri:n,siwxMessage:l,preferredAccountType:r});return l.accountAddress=d.address,l.serializedMessage=d.message||"",d.signature&&d.message&&await Po.addEmbeddedWalletSession(l,d.message,d.signature),K.setLastConnectedSIWECaipNetwork(a),{address:d.address,chainId:d.chainId,accounts:d.accounts}},async addEmbeddedWalletSession(t,e,n){if(W1)return W1;const r=Po.getSIWX();return r?(W1=r.addSession({data:t,message:e,signature:n}).finally(()=>{W1=null}),W1):Promise.resolve()},async universalProviderAuthenticate({universalProvider:t,chains:e,methods:n}){const r=Po.getSIWX(),i=K6(),s=new Set(e.map(l=>l.split(":")[0]));if(!r||s.size!==1||!s.has("eip155"))return!1;const a=await r.createMessage({chainId:K6()?.caipNetworkId||"",accountAddress:""}),o=await t.authenticate({nonce:a.nonce,domain:a.domain,uri:a.uri,exp:a.expirationTime,iat:a.issuedAt,nbf:a.notBefore,requestId:a.requestId,version:a.version,resources:a.resources,statement:a.statement,chainId:a.chainId,methods:n,chains:[a.chainId,...e.filter(l=>l!==a.chainId)]});Dn.showLoading("Authenticating...",{autoClose:!1});const c={...o.session.peer.metadata,name:o.session.peer.metadata.name,icon:o.session.peer.metadata.icons?.[0],type:"WALLET_CONNECT"};if(K.setAccountProp("connectedWalletInfo",c,Array.from(s)[0]),o?.auths?.length){const l=o.auths.map(d=>{const u=t.client.formatAuthMessage({request:d.p,iss:d.p.iss});return{data:{...d.p,accountAddress:d.p.iss.split(":").slice(-1).join(""),chainId:d.p.iss.split(":").slice(2,4).join(":"),uri:d.p.aud,version:d.p.version||a.version,expirationTime:d.p.exp,issuedAt:d.p.iat,notBefore:d.p.nbf},message:u,signature:d.s.s,cacao:d}});try{await r.setSessions(l),i&&K.setLastConnectedSIWECaipNetwork(i),It.sendEvent({type:"track",event:"SIWX_AUTH_SUCCESS",properties:Po.getSIWXEventProperties()})}catch(d){throw console.error("SIWX:universalProviderAuth - failed to set sessions",d),It.sendEvent({type:"track",event:"SIWX_AUTH_ERROR",properties:Po.getSIWXEventProperties(d)}),await t.disconnect().catch(console.error),d}finally{Dn.hide()}}return!0},getSIWXEventProperties(t){const e=K.state.activeChain;if(!e)throw new Error("SIWXUtil:getSIWXEventProperties - namespace is required");return{network:K.state.activeCaipNetwork?.caipNetworkId||"",isSmartAccount:Sa(e)===wc.ACCOUNT_TYPES.SMART_ACCOUNT,message:t?Fe.parseError(t):void 0}},async clearSessions(){const t=this.getSIWX();t&&await t.setSessions([])}},o2e={isUnsupportedChainView(){return ke.state.view==="UnsupportedChain"||ke.state.view==="SwitchNetwork"&&ke.state.history.includes("UnsupportedChain")},async safeClose(){if(this.isUnsupportedChainView()){Yt.shake();return}if(await Po.isSIWXCloseDisabled()){Yt.shake();return}(ke.state.view==="DataCapture"||ke.state.view==="DataCaptureOtpConfirm")&&De.disconnect(),Yt.close()}};var cP,wQ;function vgt(){if(wQ)return cP;wQ=1;const t=$_();cP=i;const e=C().console||{},n={mapHttpRequest:g,mapHttpResponse:g,wrapRequestSerializer:m,wrapResponseSerializer:m,wrapErrorSerializer:m,req:g,res:g,err:h};function r(w,S){return Array.isArray(w)?w.filter(function(P){return P!=="!stdSerializers.err"}):w===!0?Object.keys(S):!1}function i(w){w=w||{},w.browser=w.browser||{};const S=w.browser.transmit;if(S&&typeof S.send!="function")throw Error("pino: transmit option must have a send function");const I=w.browser.write||e;w.browser.write&&(w.browser.asObject=!0);const P=w.serializers||{},T=r(w.browser.serialize,P);let M=w.browser.serialize;Array.isArray(w.browser.serialize)&&w.browser.serialize.indexOf("!stdSerializers.err")>-1&&(M=!1);const R=["error","fatal","warn","info","debug","trace"];typeof I=="function"&&(I.error=I.fatal=I.warn=I.info=I.debug=I.trace=I),w.enabled===!1&&(w.level="silent");const O=w.level||"info",$=Object.create(I);$.log||($.log=y),Object.defineProperty($,"levelVal",{get:k}),Object.defineProperty($,"level",{get:L,set:D});const A={transmit:S,serialize:T,asObject:w.browser.asObject,levels:R,timestamp:p(w)};$.levels=i.levels,$.level=O,$.setMaxListeners=$.getMaxListeners=$.emit=$.addListener=$.on=$.prependListener=$.once=$.prependOnceListener=$.removeListener=$.removeAllListeners=$.listeners=$.listenerCount=$.eventNames=$.write=$.flush=y,$.serializers=P,$._serialize=T,$._stdErrSerialize=M,$.child=N,S&&($._logEvent=u());function k(){return this.level==="silent"?1/0:this.levels.values[this.level]}function L(){return this._level}function D(j){if(j!=="silent"&&!this.levels.values[j])throw Error("unknown level "+j);this._level=j,s(A,$,"error","log"),s(A,$,"fatal","error"),s(A,$,"warn","error"),s(A,$,"info","log"),s(A,$,"debug","log"),s(A,$,"trace","log")}function N(j,F){if(!j)throw new Error("missing bindings for child Pino");F=F||{},T&&j.serializers&&(F.serializers=j.serializers);const W=F.serializers;if(T&&W){var q=Object.assign({},P,W),V=w.browser.serialize===!0?Object.keys(q):T;delete j.serializers,c([j],V,q,this._stdErrSerialize)}function Z(te){this._childLevel=(te._childLevel|0)+1,this.error=l(te,j,"error"),this.fatal=l(te,j,"fatal"),this.warn=l(te,j,"warn"),this.info=l(te,j,"info"),this.debug=l(te,j,"debug"),this.trace=l(te,j,"trace"),q&&(this.serializers=q,this._serialize=V),S&&(this._logEvent=u([].concat(te._logEvent.bindings,j)))}return Z.prototype=this,new Z(this)}return $}i.levels={values:{fatal:60,error:50,warn:40,info:30,debug:20,trace:10},labels:{10:"trace",20:"debug",30:"info",40:"warn",50:"error",60:"fatal"}},i.stdSerializers=n,i.stdTimeFunctions=Object.assign({},{nullTime:b,epochTime:x,unixTime:v,isoTime:E});function s(w,S,I,P){const T=Object.getPrototypeOf(S);S[I]=S.levelVal>S.levels.values[I]?y:T[I]?T[I]:e[I]||e[P]||y,a(w,S,I)}function a(w,S,I){!w.transmit&&S[I]===y||(S[I]=(function(P){return function(){const M=w.timestamp(),R=new Array(arguments.length),O=Object.getPrototypeOf&&Object.getPrototypeOf(this)===e?e:this;for(var $=0;$<R.length;$++)R[$]=arguments[$];if(w.serialize&&!w.asObject&&c(R,this._serialize,this.serializers,this._stdErrSerialize),w.asObject?P.call(O,o(this,I,R,M)):P.apply(O,R),w.transmit){const A=w.transmit.level||S.level,k=i.levels.values[A],L=i.levels.values[I];if(L<k)return;d(this,{ts:M,methodLevel:I,methodValue:L,transmitValue:i.levels.values[w.transmit.level||S.level],send:w.transmit.send,val:S.levelVal},R)}}})(S[I]))}function o(w,S,I,P){w._serialize&&c(I,w._serialize,w.serializers,w._stdErrSerialize);const T=I.slice();let M=T[0];const R={};P&&(R.time=P),R.level=i.levels.values[S];let O=(w._childLevel|0)+1;if(O<1&&(O=1),M!==null&&typeof M=="object"){for(;O--&&typeof T[0]=="object";)Object.assign(R,T.shift());M=T.length?t(T.shift(),T):void 0}else typeof M=="string"&&(M=t(T.shift(),T));return M!==void 0&&(R.msg=M),R}function c(w,S,I,P){for(const T in w)if(P&&w[T]instanceof Error)w[T]=i.stdSerializers.err(w[T]);else if(typeof w[T]=="object"&&!Array.isArray(w[T]))for(const M in w[T])S&&S.indexOf(M)>-1&&M in I&&(w[T][M]=I[M](w[T][M]))}function l(w,S,I){return function(){const P=new Array(1+arguments.length);P[0]=S;for(var T=1;T<P.length;T++)P[T]=arguments[T-1];return w[I].apply(this,P)}}function d(w,S,I){const P=S.send,T=S.ts,M=S.methodLevel,R=S.methodValue,O=S.val,$=w._logEvent.bindings;c(I,w._serialize||Object.keys(w.serializers),w.serializers,w._stdErrSerialize===void 0?!0:w._stdErrSerialize),w._logEvent.ts=T,w._logEvent.messages=I.filter(function(A){return $.indexOf(A)===-1}),w._logEvent.level.label=M,w._logEvent.level.value=R,P(M,w._logEvent,O),w._logEvent=u($)}function u(w){return{ts:0,messages:[],bindings:w||[],level:{label:"",value:0}}}function h(w){const S={type:w.constructor.name,msg:w.message,stack:w.stack};for(const I in w)S[I]===void 0&&(S[I]=w[I]);return S}function p(w){return typeof w.timestamp=="function"?w.timestamp:w.timestamp===!1?b:x}function g(){return{}}function m(w){return w}function y(){}function b(){return!1}function x(){return Date.now()}function v(){return Math.round(Date.now()/1e3)}function E(){return new Date(Date.now()).toISOString()}function C(){function w(S){return typeof S<"u"&&S}try{return typeof globalThis<"u"||Object.defineProperty(Object.prototype,"globalThis",{get:function(){return delete Object.prototype.globalThis,this.globalThis=this},configurable:!0}),globalThis}catch{return w(self)||w(window)||w(this)||{}}}return cP}var f2=vgt();const n8=Al(f2),xgt={level:"info"},r8="custom_context",OW=1e3*1024;let Egt=class{constructor(e){this.nodeValue=e,this.sizeInBytes=new TextEncoder().encode(this.nodeValue).length,this.next=null}get value(){return this.nodeValue}get size(){return this.sizeInBytes}},bQ=class{constructor(e){this.head=null,this.tail=null,this.lengthInNodes=0,this.maxSizeInBytes=e,this.sizeInBytes=0}append(e){const n=new Egt(e);if(n.size>this.maxSizeInBytes)throw new Error(`[LinkedList] Value too big to insert into list: ${e} with size ${n.size}`);for(;this.size+n.size>this.maxSizeInBytes;)this.shift();this.head?(this.tail&&(this.tail.next=n),this.tail=n):(this.head=n,this.tail=n),this.lengthInNodes++,this.sizeInBytes+=n.size}shift(){if(!this.head)return;const e=this.head;this.head=this.head.next,this.head||(this.tail=null),this.lengthInNodes--,this.sizeInBytes-=e.size}toArray(){const e=[];let n=this.head;for(;n!==null;)e.push(n.value),n=n.next;return e}get length(){return this.lengthInNodes}get size(){return this.sizeInBytes}toOrderedArray(){return Array.from(this)}[Symbol.iterator](){let e=this.head;return{next:()=>{if(!e)return{done:!0,value:null};const n=e.value;return e=e.next,{done:!1,value:n}}}}},c2e=class{constructor(e,n=OW){this.level=e??"error",this.levelValue=f2.levels.values[this.level],this.MAX_LOG_SIZE_IN_BYTES=n,this.logs=new bQ(this.MAX_LOG_SIZE_IN_BYTES)}forwardToConsole(e,n){n===f2.levels.values.error?console.error(e):n===f2.levels.values.warn?console.warn(e):n===f2.levels.values.debug?console.debug(e):n===f2.levels.values.trace?console.trace(e):console.log(e)}appendToLogs(e){this.logs.append(Uo({timestamp:new Date().toISOString(),log:e}));const n=typeof e=="string"?JSON.parse(e).level:e.level;n>=this.levelValue&&this.forwardToConsole(e,n)}getLogs(){return this.logs}clearLogs(){this.logs=new bQ(this.MAX_LOG_SIZE_IN_BYTES)}getLogArray(){return Array.from(this.logs)}logsToBlob(e){const n=this.getLogArray();return n.push(Uo({extraMetadata:e})),new Blob(n,{type:"application/json"})}},Cgt=class{constructor(e,n=OW){this.baseChunkLogger=new c2e(e,n)}write(e){this.baseChunkLogger.appendToLogs(e)}getLogs(){return this.baseChunkLogger.getLogs()}clearLogs(){this.baseChunkLogger.clearLogs()}getLogArray(){return this.baseChunkLogger.getLogArray()}logsToBlob(e){return this.baseChunkLogger.logsToBlob(e)}downloadLogsBlobInBrowser(e){const n=URL.createObjectURL(this.logsToBlob(e)),r=document.createElement("a");r.href=n,r.download=`walletconnect-logs-${new Date().toISOString()}.txt`,document.body.appendChild(r),r.click(),document.body.removeChild(r),URL.revokeObjectURL(n)}},Agt=class{constructor(e,n=OW){this.baseChunkLogger=new c2e(e,n)}write(e){this.baseChunkLogger.appendToLogs(e)}getLogs(){return this.baseChunkLogger.getLogs()}clearLogs(){this.baseChunkLogger.clearLogs()}getLogArray(){return this.baseChunkLogger.getLogArray()}logsToBlob(e){return this.baseChunkLogger.logsToBlob(e)}};var Sgt=Object.defineProperty,_gt=Object.defineProperties,$gt=Object.getOwnPropertyDescriptors,vQ=Object.getOwnPropertySymbols,Igt=Object.prototype.hasOwnProperty,kgt=Object.prototype.propertyIsEnumerable,xQ=(t,e,n)=>e in t?Sgt(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,i7=(t,e)=>{for(var n in e||(e={}))Igt.call(e,n)&&xQ(t,n,e[n]);if(vQ)for(var n of vQ(e))kgt.call(e,n)&&xQ(t,n,e[n]);return t},s7=(t,e)=>_gt(t,$gt(e));function s$(t){return s7(i7({},t),{level:t?.level||xgt.level})}function Tgt(t,e=r8){return t[e]||""}function Pgt(t,e,n=r8){return t[n]=e,t}function Yo(t,e=r8){let n="";return typeof t.bindings>"u"?n=Tgt(t,e):n=t.bindings().context||"",n}function Ogt(t,e,n=r8){const r=Yo(t,n);return r.trim()?`${r}/${e}`:e}function ao(t,e,n=r8){const r=Ogt(t,e,n),i=t.child({context:r});return Pgt(i,r,n)}function Ngt(t){var e,n;const r=new Cgt((e=t.opts)==null?void 0:e.level,t.maxSizeInBytes);return{logger:n8(s7(i7({},t.opts),{level:"trace",browser:s7(i7({},(n=t.opts)==null?void 0:n.browser),{write:i=>r.write(i)})})),chunkLoggerController:r}}function Rgt(t){var e;const n=new Agt((e=t.opts)==null?void 0:e.level,t.maxSizeInBytes);return{logger:n8(s7(i7({},t.opts),{level:"trace"}),n),chunkLoggerController:n}}function Mgt(t){return typeof t.loggerOverride<"u"&&typeof t.loggerOverride!="string"?{logger:t.loggerOverride,chunkLoggerController:null}:typeof window<"u"?Ngt(t):Rgt(t)}var jgt=Object.defineProperty,Dgt=(t,e,n)=>e in t?jgt(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,EQ=(t,e,n)=>Dgt(t,typeof e!="symbol"?e+"":e,n);let Lgt=class extends Oc{constructor(e){super(),this.opts=e,EQ(this,"protocol","wc"),EQ(this,"version",2)}};var Bgt=Object.defineProperty,Ugt=(t,e,n)=>e in t?Bgt(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,Fgt=(t,e,n)=>Ugt(t,e+"",n);let Wgt=class extends Oc{constructor(e,n){super(),this.core=e,this.logger=n,Fgt(this,"records",new Map)}},zgt=class{constructor(e,n){this.logger=e,this.core=n}},Hgt=class extends Oc{constructor(e,n){super(),this.relayer=e,this.logger=n}},Vgt=class extends Oc{constructor(e){super()}},qgt=class{constructor(e,n,r,i){this.core=e,this.logger=n,this.name=r}},Zgt=class extends Oc{constructor(e,n){super(),this.relayer=e,this.logger=n}},Kgt=class extends Oc{constructor(e,n){super(),this.core=e,this.logger=n}},Ggt=class{constructor(e,n,r){this.core=e,this.logger=n,this.store=r}},Ygt=class{constructor(e,n){this.projectId=e,this.logger=n}},Jgt=class{constructor(e,n,r){this.core=e,this.logger=n,this.telemetryEnabled=r}};var Xgt=Object.defineProperty,Qgt=(t,e,n)=>e in t?Xgt(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,CQ=(t,e,n)=>Qgt(t,typeof e!="symbol"?e+"":e,n);let emt=class{constructor(e){this.opts=e,CQ(this,"protocol","wc"),CQ(this,"version",2)}},tmt=class{constructor(e){this.client=e}};function M4(t,{strict:e=!0}={}){return!t||typeof t!="string"?!1:e?/^0x[0-9a-fA-F]*$/.test(t):t.startsWith("0x")}function oD(t){return M4(t,{strict:!1})?Math.ceil((t.length-2)/2):t.length}const l2e="2.36.0";let lP={getDocsUrl:({docsBaseUrl:t,docsPath:e="",docsSlug:n})=>e?`${t??"https://viem.sh"}${e}${n?`#${n}`:""}`:void 0,version:`viem@${l2e}`},a$=class cD extends Error{constructor(e,n={}){const r=n.cause instanceof cD?n.cause.details:n.cause?.message?n.cause.message:n.details,i=n.cause instanceof cD&&n.cause.docsPath||n.docsPath,s=lP.getDocsUrl?.({...n,docsPath:i}),a=[e||"An error occurred.","",...n.metaMessages?[...n.metaMessages,""]:[],...s?[`Docs: ${s}`]:[],...r?[`Details: ${r}`]:[],...lP.version?[`Version: ${lP.version}`]:[]].join(`
427
427
  `);super(a,n.cause?{cause:n.cause}:void 0),Object.defineProperty(this,"details",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"docsPath",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"metaMessages",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"shortMessage",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"version",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"BaseError"}),this.details=r,this.docsPath=i,this.metaMessages=n.metaMessages,this.name=n.name??this.name,this.shortMessage=e,this.version=l2e}walk(e){return d2e(this,e)}};function d2e(t,e){return e?.(t)?t:t&&typeof t=="object"&&"cause"in t&&t.cause!==void 0?d2e(t.cause,e):e?null:t}let u2e=class extends a${constructor({size:e,targetSize:n,type:r}){super(`${r.charAt(0).toUpperCase()}${r.slice(1).toLowerCase()} size (${e}) exceeds padding size (${n}).`,{name:"SizeExceedsPaddingSizeError"})}};function rv(t,{dir:e,size:n=32}={}){return typeof t=="string"?nmt(t,{dir:e,size:n}):rmt(t,{dir:e,size:n})}function nmt(t,{dir:e,size:n=32}={}){if(n===null)return t;const r=t.replace("0x","");if(r.length>n*2)throw new u2e({size:Math.ceil(r.length/2),targetSize:n,type:"hex"});return`0x${r[e==="right"?"padEnd":"padStart"](n*2,"0")}`}function rmt(t,{dir:e,size:n=32}={}){if(n===null)return t;if(t.length>n)throw new u2e({size:t.length,targetSize:n,type:"bytes"});const r=new Uint8Array(n);for(let i=0;i<n;i++){const s=e==="right";r[s?i:n-i-1]=t[s?i:t.length-i-1]}return r}let imt=class extends a${constructor({max:e,min:n,signed:r,size:i,value:s}){super(`Number "${s}" is not in safe ${i?`${i*8}-bit ${r?"signed":"unsigned"} `:""}integer range ${e?`(${n} to ${e})`:`(above ${n})`}`,{name:"IntegerOutOfRangeError"})}},smt=class extends a${constructor({givenSize:e,maxSize:n}){super(`Size cannot exceed ${n} bytes. Given size: ${e} bytes.`,{name:"SizeOverflowError"})}};function iv(t,{size:e}){if(oD(t)>e)throw new smt({givenSize:oD(t),maxSize:e})}function lD(t,e={}){const{signed:n}=e;e.size&&iv(t,{size:e.size});const r=BigInt(t);if(!n)return r;const i=(t.length-2)/2,s=(1n<<BigInt(i)*8n-1n)-1n;return r<=s?r:r-BigInt(`0x${"f".padStart(i*2,"f")}`)-1n}function amt(t,e={}){return Number(lD(t,e))}const omt=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function dD(t,e={}){return typeof t=="number"||typeof t=="bigint"?p2e(t,e):typeof t=="string"?dmt(t,e):typeof t=="boolean"?cmt(t,e):h2e(t,e)}function cmt(t,e={}){const n=`0x${Number(t)}`;return typeof e.size=="number"?(iv(n,{size:e.size}),rv(n,{size:e.size})):n}function h2e(t,e={}){let n="";for(let i=0;i<t.length;i++)n+=omt[t[i]];const r=`0x${n}`;return typeof e.size=="number"?(iv(r,{size:e.size}),rv(r,{dir:"right",size:e.size})):r}function p2e(t,e={}){const{signed:n,size:r}=e,i=BigInt(t);let s;r?n?s=(1n<<BigInt(r)*8n-1n)-1n:s=2n**(BigInt(r)*8n)-1n:typeof t=="number"&&(s=BigInt(Number.MAX_SAFE_INTEGER));const a=typeof s=="bigint"&&n?-s-1n:0;if(s&&i>s||i<a){const c=typeof t=="bigint"?"n":"";throw new imt({max:s?`${s}${c}`:void 0,min:`${a}${c}`,signed:n,size:r,value:`${t}${c}`})}const o=`0x${(n&&i<0?(1n<<BigInt(r*8))+BigInt(i):i).toString(16)}`;return r?rv(o,{size:r}):o}const lmt=new TextEncoder;function dmt(t,e={}){const n=lmt.encode(t);return h2e(n,e)}const umt=new TextEncoder;function hmt(t,e={}){return typeof t=="number"||typeof t=="bigint"?fmt(t,e):typeof t=="boolean"?pmt(t,e):M4(t)?f2e(t,e):g2e(t,e)}function pmt(t,e={}){const n=new Uint8Array(1);return n[0]=Number(t),typeof e.size=="number"?(iv(n,{size:e.size}),rv(n,{size:e.size})):n}const sp={zero:48,nine:57,A:65,F:70,a:97,f:102};function AQ(t){if(t>=sp.zero&&t<=sp.nine)return t-sp.zero;if(t>=sp.A&&t<=sp.F)return t-(sp.A-10);if(t>=sp.a&&t<=sp.f)return t-(sp.a-10)}function f2e(t,e={}){let n=t;e.size&&(iv(n,{size:e.size}),n=rv(n,{dir:"right",size:e.size}));let r=n.slice(2);r.length%2&&(r=`0${r}`);const i=r.length/2,s=new Uint8Array(i);for(let a=0,o=0;a<i;a++){const c=AQ(r.charCodeAt(o++)),l=AQ(r.charCodeAt(o++));if(c===void 0||l===void 0)throw new a$(`Invalid byte sequence ("${r[o-2]}${r[o-1]}" in "${r}").`);s[a]=c*16+l}return s}function fmt(t,e){const n=p2e(t,e);return f2e(n)}function g2e(t,e={}){const n=umt.encode(t);return typeof e.size=="number"?(iv(n,{size:e.size}),rv(n,{dir:"right",size:e.size})):n}const NE=BigInt(2**32-1),SQ=BigInt(32);function gmt(t,e=!1){return e?{h:Number(t&NE),l:Number(t>>SQ&NE)}:{h:Number(t>>SQ&NE)|0,l:Number(t&NE)|0}}function mmt(t,e=!1){const n=t.length;let r=new Uint32Array(n),i=new Uint32Array(n);for(let s=0;s<n;s++){const{h:a,l:o}=gmt(t[s],e);[r[s],i[s]]=[a,o]}return[r,i]}const ymt=(t,e,n)=>t<<n|e>>>32-n,wmt=(t,e,n)=>e<<n|t>>>32-n,bmt=(t,e,n)=>e<<n-32|t>>>64-n,vmt=(t,e,n)=>t<<n-32|e>>>64-n,qy=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;function o$(t){return t instanceof Uint8Array||ArrayBuffer.isView(t)&&t.constructor.name==="Uint8Array"}function j4(t){if(!Number.isSafeInteger(t)||t<0)throw new Error("positive integer expected, got "+t)}function of(t,...e){if(!o$(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 m2e(t){if(typeof t!="function"||typeof t.create!="function")throw new Error("Hash should be wrapped by utils.createHasher");j4(t.outputLen),j4(t.blockLen)}function rb(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 y2e(t,e){of(t);const n=e.outputLen;if(t.length<n)throw new Error("digestInto() expects output buffer of length at least "+n)}function xmt(t){return new Uint32Array(t.buffer,t.byteOffset,Math.floor(t.byteLength/4))}function ib(...t){for(let e=0;e<t.length;e++)t[e].fill(0)}function dP(t){return new DataView(t.buffer,t.byteOffset,t.byteLength)}function qd(t,e){return t<<32-e|t>>>e}const Emt=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function Cmt(t){return t<<24&4278190080|t<<8&16711680|t>>>8&65280|t>>>24&255}function Amt(t){for(let e=0;e<t.length;e++)t[e]=Cmt(t[e]);return t}const _Q=Emt?t=>t:Amt,w2e=typeof Uint8Array.from([]).toHex=="function"&&typeof Uint8Array.fromHex=="function",Smt=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function Q2(t){if(of(t),w2e)return t.toHex();let e="";for(let n=0;n<t.length;n++)e+=Smt[t[n]];return e}const ap={_0:48,_9:57,A:65,F:70,a:97,f:102};function $Q(t){if(t>=ap._0&&t<=ap._9)return t-ap._0;if(t>=ap.A&&t<=ap.F)return t-(ap.A-10);if(t>=ap.a&&t<=ap.f)return t-(ap.a-10)}function a7(t){if(typeof t!="string")throw new Error("hex string expected, got "+typeof t);if(w2e)return Uint8Array.fromHex(t);const e=t.length,n=e/2;if(e%2)throw new Error("hex string expected, got unpadded hex of length "+e);const r=new Uint8Array(n);for(let i=0,s=0;i<n;i++,s+=2){const a=$Q(t.charCodeAt(s)),o=$Q(t.charCodeAt(s+1));if(a===void 0||o===void 0){const c=t[s]+t[s+1];throw new Error('hex string expected, got non-hex character "'+c+'" at index '+s)}r[i]=a*16+o}return r}function _mt(t){if(typeof t!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(t))}function c$(t){return typeof t=="string"&&(t=_mt(t)),of(t),t}function v0(...t){let e=0;for(let r=0;r<t.length;r++){const i=t[r];of(i),e+=i.length}const n=new Uint8Array(e);for(let r=0,i=0;r<t.length;r++){const s=t[r];n.set(s,i),i+=s.length}return n}let NW=class{};function b2e(t){const e=r=>t().update(c$(r)).digest(),n=t();return e.outputLen=n.outputLen,e.blockLen=n.blockLen,e.create=()=>t(),e}function v2e(t=32){if(qy&&typeof qy.getRandomValues=="function")return qy.getRandomValues(new Uint8Array(t));if(qy&&typeof qy.randomBytes=="function")return Uint8Array.from(qy.randomBytes(t));throw new Error("crypto.getRandomValues must be defined")}const $mt=BigInt(0),h6=BigInt(1),Imt=BigInt(2),kmt=BigInt(7),Tmt=BigInt(256),Pmt=BigInt(113),x2e=[],E2e=[],C2e=[];for(let t=0,e=h6,n=1,r=0;t<24;t++){[n,r]=[r,(2*n+3*r)%5],x2e.push(2*(5*r+n)),E2e.push((t+1)*(t+2)/2%64);let i=$mt;for(let s=0;s<7;s++)e=(e<<h6^(e>>kmt)*Pmt)%Tmt,e&Imt&&(i^=h6<<(h6<<BigInt(s))-h6);C2e.push(i)}const A2e=mmt(C2e,!0),Omt=A2e[0],Nmt=A2e[1],IQ=(t,e,n)=>n>32?bmt(t,e,n):ymt(t,e,n),kQ=(t,e,n)=>n>32?vmt(t,e,n):wmt(t,e,n);function Rmt(t,e=24){const n=new Uint32Array(10);for(let r=24-e;r<24;r++){for(let a=0;a<10;a++)n[a]=t[a]^t[a+10]^t[a+20]^t[a+30]^t[a+40];for(let a=0;a<10;a+=2){const o=(a+8)%10,c=(a+2)%10,l=n[c],d=n[c+1],u=IQ(l,d,1)^n[o],h=kQ(l,d,1)^n[o+1];for(let p=0;p<50;p+=10)t[a+p]^=u,t[a+p+1]^=h}let i=t[2],s=t[3];for(let a=0;a<24;a++){const o=E2e[a],c=IQ(i,s,o),l=kQ(i,s,o),d=x2e[a];i=t[d],s=t[d+1],t[d]=c,t[d+1]=l}for(let a=0;a<50;a+=10){for(let o=0;o<10;o++)n[o]=t[a+o];for(let o=0;o<10;o++)t[a+o]^=~n[(o+2)%10]&n[(o+4)%10]}t[0]^=Omt[r],t[1]^=Nmt[r]}ib(n)}class RW extends NW{constructor(e,n,r,i=!1,s=24){if(super(),this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,this.enableXOF=!1,this.blockLen=e,this.suffix=n,this.outputLen=r,this.enableXOF=i,this.rounds=s,j4(r),!(0<e&&e<200))throw new Error("only keccak-f1600 function is supported");this.state=new Uint8Array(200),this.state32=xmt(this.state)}clone(){return this._cloneInto()}keccak(){_Q(this.state32),Rmt(this.state32,this.rounds),_Q(this.state32),this.posOut=0,this.pos=0}update(e){rb(this),e=c$(e),of(e);const{blockLen:n,state:r}=this,i=e.length;for(let s=0;s<i;){const a=Math.min(n-this.pos,i-s);for(let o=0;o<a;o++)r[this.pos++]^=e[s++];this.pos===n&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;const{state:e,suffix:n,pos:r,blockLen:i}=this;e[r]^=n,(n&128)!==0&&r===i-1&&this.keccak(),e[i-1]^=128,this.keccak()}writeInto(e){rb(this,!1),of(e),this.finish();const n=this.state,{blockLen:r}=this;for(let i=0,s=e.length;i<s;){this.posOut>=r&&this.keccak();const a=Math.min(r-this.posOut,s-i);e.set(n.subarray(this.posOut,this.posOut+a),i),this.posOut+=a,i+=a}return e}xofInto(e){if(!this.enableXOF)throw new Error("XOF is not possible for this instance");return this.writeInto(e)}xof(e){return j4(e),this.xofInto(new Uint8Array(e))}digestInto(e){if(y2e(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,ib(this.state)}_cloneInto(e){const{blockLen:n,suffix:r,outputLen:i,rounds:s,enableXOF:a}=this;return e||(e=new RW(n,r,i,a,s)),e.state32.set(this.state32),e.pos=this.pos,e.posOut=this.posOut,e.finished=this.finished,e.rounds=s,e.suffix=r,e.outputLen=i,e.enableXOF=a,e.destroyed=this.destroyed,e}}const Mmt=(t,e,n)=>b2e(()=>new RW(e,t,n)),jmt=Mmt(1,136,256/8);function S2e(t,e){const n=e||"hex",r=jmt(M4(t,{strict:!1})?hmt(t):t);return n==="bytes"?r:dD(r)}class Dmt extends Map{constructor(e){super(),Object.defineProperty(this,"maxSize",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.maxSize=e}get(e){const n=super.get(e);return super.has(e)&&n!==void 0&&(this.delete(e),super.set(e,n)),n}set(e,n){if(super.set(e,n),this.maxSize&&this.size>this.maxSize){const r=this.keys().next().value;r&&this.delete(r)}return this}}const uP=new Dmt(8192);function Lmt(t,e){if(uP.has(`${t}.${e}`))return uP.get(`${t}.${e}`);const n=t.substring(2).toLowerCase(),r=S2e(g2e(n),"bytes"),i=n.split("");for(let a=0;a<40;a+=2)r[a>>1]>>4>=8&&i[a]&&(i[a]=i[a].toUpperCase()),(r[a>>1]&15)>=8&&i[a+1]&&(i[a+1]=i[a+1].toUpperCase());const s=`0x${i.join("")}`;return uP.set(`${t}.${e}`,s),s}function Bmt(t){const e=S2e(`0x${t.substring(4)}`).substring(26);return Lmt(`0x${e}`)}async function Umt({hash:t,signature:e}){const n=M4(t)?t:dD(t),{secp256k1:r}=await Promise.resolve().then(()=>$yt);return`0x${(()=>{if(typeof e=="object"&&"r"in e&&"s"in e){const{r:l,s:d,v:u,yParity:h}=e,p=Number(h??u),g=TQ(p);return new r.Signature(lD(l),lD(d)).addRecoveryBit(g)}const a=M4(e)?e:dD(e);if(oD(a)!==65)throw new Error("invalid signature length");const o=amt(`0x${a.slice(130)}`),c=TQ(o);return r.Signature.fromCompact(a.substring(2,130)).addRecoveryBit(c)})().recoverPublicKey(n.substring(2)).toHex(!1)}`}function TQ(t){if(t===0||t===1)return t;if(t===27)return 0;if(t===28)return 1;throw new Error("Invalid yParityOrV value")}async function Fmt({hash:t,signature:e}){return Bmt(await Umt({hash:t,signature:e}))}function Wmt(t,e,n,r){if(typeof t.setBigUint64=="function")return t.setBigUint64(e,n,r);const i=BigInt(32),s=BigInt(4294967295),a=Number(n>>i&s),o=Number(n&s),c=r?4:0,l=r?0:4;t.setUint32(e+c,a,r),t.setUint32(e+l,o,r)}function zmt(t,e,n){return t&e^~t&n}function Hmt(t,e,n){return t&e^t&n^e&n}let Vmt=class extends NW{constructor(e,n,r,i){super(),this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.blockLen=e,this.outputLen=n,this.padOffset=r,this.isLE=i,this.buffer=new Uint8Array(e),this.view=dP(this.buffer)}update(e){rb(this),e=c$(e),of(e);const{view:n,buffer:r,blockLen:i}=this,s=e.length;for(let a=0;a<s;){const o=Math.min(i-this.pos,s-a);if(o===i){const c=dP(e);for(;i<=s-a;a+=i)this.process(c,a);continue}r.set(e.subarray(a,a+o),this.pos),this.pos+=o,a+=o,this.pos===i&&(this.process(n,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){rb(this),y2e(e,this),this.finished=!0;const{buffer:n,view:r,blockLen:i,isLE:s}=this;let{pos:a}=this;n[a++]=128,ib(this.buffer.subarray(a)),this.padOffset>i-a&&(this.process(r,0),a=0);for(let u=a;u<i;u++)n[u]=0;Wmt(r,i-8,BigInt(this.length*8),s),this.process(r,0);const o=dP(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 u=0;u<l;u++)o.setUint32(4*u,d[u],s)}digest(){const{buffer:e,outputLen:n}=this;this.digestInto(e);const r=e.slice(0,n);return this.destroy(),r}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());const{blockLen:n,buffer:r,length:i,finished:s,destroyed:a,pos:o}=this;return e.destroyed=a,e.finished=s,e.length=i,e.pos=o,i%n&&e.buffer.set(r),e}clone(){return this._cloneInto()}};const Uf=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),qmt=Uint32Array.from([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),Ff=new Uint32Array(64);let Zmt=class extends Vmt{constructor(e=32){super(64,e,8,!1),this.A=Uf[0]|0,this.B=Uf[1]|0,this.C=Uf[2]|0,this.D=Uf[3]|0,this.E=Uf[4]|0,this.F=Uf[5]|0,this.G=Uf[6]|0,this.H=Uf[7]|0}get(){const{A:e,B:n,C:r,D:i,E:s,F:a,G:o,H:c}=this;return[e,n,r,i,s,a,o,c]}set(e,n,r,i,s,a,o,c){this.A=e|0,this.B=n|0,this.C=r|0,this.D=i|0,this.E=s|0,this.F=a|0,this.G=o|0,this.H=c|0}process(e,n){for(let u=0;u<16;u++,n+=4)Ff[u]=e.getUint32(n,!1);for(let u=16;u<64;u++){const h=Ff[u-15],p=Ff[u-2],g=qd(h,7)^qd(h,18)^h>>>3,m=qd(p,17)^qd(p,19)^p>>>10;Ff[u]=m+Ff[u-7]+g+Ff[u-16]|0}let{A:r,B:i,C:s,D:a,E:o,F:c,G:l,H:d}=this;for(let u=0;u<64;u++){const h=qd(o,6)^qd(o,11)^qd(o,25),p=d+h+zmt(o,c,l)+qmt[u]+Ff[u]|0,m=(qd(r,2)^qd(r,13)^qd(r,22))+Hmt(r,i,s)|0;d=l,l=c,c=o,o=a+p|0,a=s,s=i,i=r,r=p+m|0}r=r+this.A|0,i=i+this.B|0,s=s+this.C|0,a=a+this.D|0,o=o+this.E|0,c=c+this.F|0,l=l+this.G|0,d=d+this.H|0,this.set(r,i,s,a,o,c,l,d)}roundClean(){ib(Ff)}destroy(){this.set(0,0,0,0,0,0,0,0),ib(this.buffer)}};const Kmt=b2e(()=>new Zmt);let _2e=class extends NW{constructor(e,n){super(),this.finished=!1,this.destroyed=!1,m2e(e);const r=c$(n);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,s=new Uint8Array(i);s.set(r.length>i?e.create().update(r).digest():r);for(let a=0;a<s.length;a++)s[a]^=54;this.iHash.update(s),this.oHash=e.create();for(let a=0;a<s.length;a++)s[a]^=106;this.oHash.update(s),ib(s)}update(e){return rb(this),this.iHash.update(e),this}digestInto(e){rb(this),of(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:n,iHash:r,finished:i,destroyed:s,blockLen:a,outputLen:o}=this;return e=e,e.finished=i,e.destroyed=s,e.blockLen=a,e.outputLen=o,e.oHash=n._cloneInto(e.oHash),e.iHash=r._cloneInto(e.iHash),e}clone(){return this._cloneInto()}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}};const $2e=(t,e,n)=>new _2e(t,e).update(n).digest();$2e.create=(t,e)=>new _2e(t,e);const MW=BigInt(0),uD=BigInt(1);function o7(t,e=""){if(typeof t!="boolean"){const n=e&&`"${e}"`;throw new Error(n+"expected boolean, got type="+typeof t)}return t}function Cg(t,e,n=""){const r=o$(t),i=t?.length,s=e!==void 0;if(!r||s&&i!==e){const a=n&&`"${n}" `,o=s?` of length ${e}`:"",c=r?`length=${i}`:`type=${typeof t}`;throw new Error(a+"expected Uint8Array"+o+", got "+c)}return t}function RE(t){const e=t.toString(16);return e.length&1?"0"+e:e}function I2e(t){if(typeof t!="string")throw new Error("hex string expected, got "+typeof t);return t===""?MW:BigInt("0x"+t)}function l$(t){return I2e(Q2(t))}function k2e(t){return of(t),I2e(Q2(Uint8Array.from(t).reverse()))}function jW(t,e){return a7(t.toString(16).padStart(e*2,"0"))}function T2e(t,e){return jW(t,e).reverse()}function Ao(t,e,n){let r;if(typeof e=="string")try{r=a7(e)}catch(i){throw new Error(t+" must be hex string or Uint8Array, cause: "+i)}else if(o$(e))r=Uint8Array.from(e);else throw new Error(t+" must be hex string or Uint8Array");return r.length,r}const hP=t=>typeof t=="bigint"&&MW<=t;function Gmt(t,e,n){return hP(t)&&hP(e)&&hP(n)&&e<=t&&t<n}function Ymt(t,e,n,r){if(!Gmt(e,n,r))throw new Error("expected valid "+t+": "+n+" <= n < "+r+", got "+e)}function P2e(t){let e;for(e=0;t>MW;t>>=uD,e+=1);return e}const i8=t=>(uD<<BigInt(t))-uD;function Jmt(t,e,n){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 n!="function")throw new Error("hmacFn must be a function");const r=p=>new Uint8Array(p),i=p=>Uint8Array.of(p);let s=r(t),a=r(t),o=0;const c=()=>{s.fill(1),a.fill(0),o=0},l=(...p)=>n(a,s,...p),d=(p=r(0))=>{a=l(i(0),p),s=l(),p.length!==0&&(a=l(i(1),p),s=l())},u=()=>{if(o++>=1e3)throw new Error("drbg: tried 1000 values");let p=0;const g=[];for(;p<e;){s=l();const m=s.slice();g.push(m),p+=s.length}return v0(...g)};return(p,g)=>{c(),d(p);let m;for(;!(m=g(u()));)d();return c(),m}}function DW(t,e,n={}){if(!t||typeof t!="object")throw new Error("expected valid options object");function r(i,s,a){const o=t[i];if(a&&o===void 0)return;const c=typeof o;if(c!==s||o===null)throw new Error(`param "${i}" is invalid: expected ${s}, got ${c}`)}Object.entries(e).forEach(([i,s])=>r(i,s,!1)),Object.entries(n).forEach(([i,s])=>r(i,s,!0))}function PQ(t){const e=new WeakMap;return(n,...r)=>{const i=e.get(n);if(i!==void 0)return i;const s=t(n,...r);return e.set(n,s),s}}const Mo=BigInt(0),Ja=BigInt(1),Ag=BigInt(2),O2e=BigInt(3),N2e=BigInt(4),R2e=BigInt(5),Xmt=BigInt(7),M2e=BigInt(8),Qmt=BigInt(9),j2e=BigInt(16);function ql(t,e){const n=t%e;return n>=Mo?n:e+n}function Vc(t,e,n){let r=t;for(;e-- >Mo;)r*=r,r%=n;return r}function OQ(t,e){if(t===Mo)throw new Error("invert: expected non-zero number");if(e<=Mo)throw new Error("invert: expected positive modulus, got "+e);let n=ql(t,e),r=e,i=Mo,s=Ja;for(;n!==Mo;){const o=r/n,c=r%n,l=i-s*o;r=n,n=c,i=s,s=l}if(r!==Ja)throw new Error("invert: does not exist");return ql(i,e)}function LW(t,e,n){if(!t.eql(t.sqr(e),n))throw new Error("Cannot find square root")}function D2e(t,e){const n=(t.ORDER+Ja)/N2e,r=t.pow(e,n);return LW(t,r,e),r}function eyt(t,e){const n=(t.ORDER-R2e)/M2e,r=t.mul(e,Ag),i=t.pow(r,n),s=t.mul(e,i),a=t.mul(t.mul(s,Ag),i),o=t.mul(s,t.sub(a,t.ONE));return LW(t,o,e),o}function tyt(t){const e=s8(t),n=L2e(t),r=n(e,e.neg(e.ONE)),i=n(e,r),s=n(e,e.neg(r)),a=(t+Xmt)/j2e;return(o,c)=>{let l=o.pow(c,a),d=o.mul(l,r);const u=o.mul(l,i),h=o.mul(l,s),p=o.eql(o.sqr(d),c),g=o.eql(o.sqr(u),c);l=o.cmov(l,d,p),d=o.cmov(h,u,g);const m=o.eql(o.sqr(d),c),y=o.cmov(l,d,m);return LW(o,y,c),y}}function L2e(t){if(t<O2e)throw new Error("sqrt is not defined for small field");let e=t-Ja,n=0;for(;e%Ag===Mo;)e/=Ag,n++;let r=Ag;const i=s8(t);for(;NQ(i,r)===1;)if(r++>1e3)throw new Error("Cannot find square root: probably non-prime P");if(n===1)return D2e;let s=i.pow(r,e);const a=(e+Ja)/Ag;return function(c,l){if(c.is0(l))return l;if(NQ(c,l)!==1)throw new Error("Cannot find square root");let d=n,u=c.mul(c.ONE,s),h=c.pow(l,e),p=c.pow(l,a);for(;!c.eql(h,c.ONE);){if(c.is0(h))return c.ZERO;let g=1,m=c.sqr(h);for(;!c.eql(m,c.ONE);)if(g++,m=c.sqr(m),g===d)throw new Error("Cannot find square root");const y=Ja<<BigInt(d-g-1),b=c.pow(u,y);d=g,u=c.sqr(b),h=c.mul(h,u),p=c.mul(p,b)}return p}}function nyt(t){return t%N2e===O2e?D2e:t%M2e===R2e?eyt:t%j2e===Qmt?tyt(t):L2e(t)}const ryt=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function iyt(t){const e={ORDER:"bigint",MASK:"bigint",BYTES:"number",BITS:"number"},n=ryt.reduce((r,i)=>(r[i]="function",r),e);return DW(t,n),t}function syt(t,e,n){if(n<Mo)throw new Error("invalid exponent, negatives unsupported");if(n===Mo)return t.ONE;if(n===Ja)return e;let r=t.ONE,i=e;for(;n>Mo;)n&Ja&&(r=t.mul(r,i)),i=t.sqr(i),n>>=Ja;return r}function B2e(t,e,n=!1){const r=new Array(e.length).fill(n?t.ZERO:void 0),i=e.reduce((a,o,c)=>t.is0(o)?a:(r[c]=a,t.mul(a,o)),t.ONE),s=t.inv(i);return e.reduceRight((a,o,c)=>t.is0(o)?a:(r[c]=t.mul(a,r[c]),t.mul(a,o)),s),r}function NQ(t,e){const n=(t.ORDER-Ja)/Ag,r=t.pow(e,n),i=t.eql(r,t.ONE),s=t.eql(r,t.ZERO),a=t.eql(r,t.neg(t.ONE));if(!i&&!s&&!a)throw new Error("invalid Legendre symbol result");return i?1:s?0:-1}function U2e(t,e){e!==void 0&&j4(e);const n=e!==void 0?e:t.toString(2).length,r=Math.ceil(n/8);return{nBitLength:n,nByteLength:r}}function s8(t,e,n=!1,r={}){if(t<=Mo)throw new Error("invalid field: expected ORDER > 0, got "+t);let i,s,a=!1,o;if(typeof e=="object"&&e!=null){if(r.sqrt||n)throw new Error("cannot specify opts in two arguments");const h=e;h.BITS&&(i=h.BITS),h.sqrt&&(s=h.sqrt),typeof h.isLE=="boolean"&&(n=h.isLE),typeof h.modFromBytes=="boolean"&&(a=h.modFromBytes),o=h.allowedLengths}else typeof e=="number"&&(i=e),r.sqrt&&(s=r.sqrt);const{nBitLength:c,nByteLength:l}=U2e(t,i);if(l>2048)throw new Error("invalid field: expected ORDER of <= 2048 bytes");let d;const u=Object.freeze({ORDER:t,isLE:n,BITS:c,BYTES:l,MASK:i8(c),ZERO:Mo,ONE:Ja,allowedLengths:o,create:h=>ql(h,t),isValid:h=>{if(typeof h!="bigint")throw new Error("invalid field element: expected bigint, got "+typeof h);return Mo<=h&&h<t},is0:h=>h===Mo,isValidNot0:h=>!u.is0(h)&&u.isValid(h),isOdd:h=>(h&Ja)===Ja,neg:h=>ql(-h,t),eql:(h,p)=>h===p,sqr:h=>ql(h*h,t),add:(h,p)=>ql(h+p,t),sub:(h,p)=>ql(h-p,t),mul:(h,p)=>ql(h*p,t),pow:(h,p)=>syt(u,h,p),div:(h,p)=>ql(h*OQ(p,t),t),sqrN:h=>h*h,addN:(h,p)=>h+p,subN:(h,p)=>h-p,mulN:(h,p)=>h*p,inv:h=>OQ(h,t),sqrt:s||(h=>(d||(d=nyt(t)),d(u,h))),toBytes:h=>n?T2e(h,l):jW(h,l),fromBytes:(h,p=!0)=>{if(o){if(!o.includes(h.length)||h.length>l)throw new Error("Field.fromBytes: expected "+o+" bytes, got "+h.length);const m=new Uint8Array(l);m.set(h,n?0:m.length-h.length),h=m}if(h.length!==l)throw new Error("Field.fromBytes: expected "+l+" bytes, got "+h.length);let g=n?k2e(h):l$(h);if(a&&(g=ql(g,t)),!p&&!u.isValid(g))throw new Error("invalid field element: outside of range 0..ORDER");return g},invertBatch:h=>B2e(u,h),cmov:(h,p,g)=>g?p:h});return Object.freeze(u)}function F2e(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 W2e(t){const e=F2e(t);return e+Math.ceil(e/2)}function ayt(t,e,n=!1){const r=t.length,i=F2e(e),s=W2e(e);if(r<16||r<s||r>1024)throw new Error("expected "+s+"-1024 bytes of input, got "+r);const a=n?k2e(t):l$(t),o=ql(a,e-Ja)+Ja;return n?T2e(o,i):jW(o,i)}const sb=BigInt(0),Sg=BigInt(1);function c7(t,e){const n=e.negate();return t?n:e}function pP(t,e){const n=B2e(t.Fp,e.map(r=>r.Z));return e.map((r,i)=>t.fromAffine(r.toAffine(n[i])))}function z2e(t,e){if(!Number.isSafeInteger(t)||t<=0||t>e)throw new Error("invalid window size, expected [1.."+e+"], got W="+t)}function fP(t,e){z2e(t,e);const n=Math.ceil(e/t)+1,r=2**(t-1),i=2**t,s=i8(t),a=BigInt(t);return{windows:n,windowSize:r,mask:s,maxNumber:i,shiftBy:a}}function RQ(t,e,n){const{windowSize:r,mask:i,maxNumber:s,shiftBy:a}=n;let o=Number(t&i),c=t>>a;o>r&&(o-=s,c+=Sg);const l=e*r,d=l+Math.abs(o)-1,u=o===0,h=o<0,p=e%2!==0;return{nextN:c,offset:d,isZero:u,isNeg:h,isNegF:p,offsetF:l}}function oyt(t,e){if(!Array.isArray(t))throw new Error("array expected");t.forEach((n,r)=>{if(!(n instanceof e))throw new Error("invalid point at index "+r)})}function cyt(t,e){if(!Array.isArray(t))throw new Error("array of scalars expected");t.forEach((n,r)=>{if(!e.isValid(n))throw new Error("invalid scalar at index "+r)})}const gP=new WeakMap,H2e=new WeakMap;function mP(t){return H2e.get(t)||1}function MQ(t){if(t!==sb)throw new Error("invalid wNAF")}let lyt=class{constructor(e,n){this.BASE=e.BASE,this.ZERO=e.ZERO,this.Fn=e.Fn,this.bits=n}_unsafeLadder(e,n,r=this.ZERO){let i=e;for(;n>sb;)n&Sg&&(r=r.add(i)),i=i.double(),n>>=Sg;return r}precomputeWindow(e,n){const{windows:r,windowSize:i}=fP(n,this.bits),s=[];let a=e,o=a;for(let c=0;c<r;c++){o=a,s.push(o);for(let l=1;l<i;l++)o=o.add(a),s.push(o);a=o.double()}return s}wNAF(e,n,r){if(!this.Fn.isValid(r))throw new Error("invalid scalar");let i=this.ZERO,s=this.BASE;const a=fP(e,this.bits);for(let o=0;o<a.windows;o++){const{nextN:c,offset:l,isZero:d,isNeg:u,isNegF:h,offsetF:p}=RQ(r,o,a);r=c,d?s=s.add(c7(h,n[p])):i=i.add(c7(u,n[l]))}return MQ(r),{p:i,f:s}}wNAFUnsafe(e,n,r,i=this.ZERO){const s=fP(e,this.bits);for(let a=0;a<s.windows&&r!==sb;a++){const{nextN:o,offset:c,isZero:l,isNeg:d}=RQ(r,a,s);if(r=o,!l){const u=n[c];i=i.add(d?u.negate():u)}}return MQ(r),i}getPrecomputes(e,n,r){let i=gP.get(n);return i||(i=this.precomputeWindow(n,e),e!==1&&(typeof r=="function"&&(i=r(i)),gP.set(n,i))),i}cached(e,n,r){const i=mP(e);return this.wNAF(i,this.getPrecomputes(i,e,r),n)}unsafe(e,n,r,i){const s=mP(e);return s===1?this._unsafeLadder(e,n,i):this.wNAFUnsafe(s,this.getPrecomputes(s,e,r),n,i)}createCache(e,n){z2e(n,this.bits),H2e.set(e,n),gP.delete(e)}hasCache(e){return mP(e)!==1}};function dyt(t,e,n,r){let i=e,s=t.ZERO,a=t.ZERO;for(;n>sb||r>sb;)n&Sg&&(s=s.add(i)),r&Sg&&(a=a.add(i)),i=i.double(),n>>=Sg,r>>=Sg;return{p1:s,p2:a}}function uyt(t,e,n,r){oyt(n,t),cyt(r,e);const i=n.length,s=r.length;if(i!==s)throw new Error("arrays of points and scalars must have equal length");const a=t.ZERO,o=P2e(BigInt(i));let c=1;o>12?c=o-3:o>4?c=o-2:o>0&&(c=2);const l=i8(c),d=new Array(Number(l)+1).fill(a),u=Math.floor((e.BITS-1)/c)*c;let h=a;for(let p=u;p>=0;p-=c){d.fill(a);for(let m=0;m<s;m++){const y=r[m],b=Number(y>>BigInt(p)&l);d[b]=d[b].add(n[m])}let g=a;for(let m=d.length-1,y=a;m>0;m--)y=y.add(d[m]),g=g.add(y);if(h=h.add(g),p!==0)for(let m=0;m<c;m++)h=h.double()}return h}function jQ(t,e,n){if(e){if(e.ORDER!==t)throw new Error("Field.ORDER must match order: Fp == p, Fn == n");return iyt(e),e}else return s8(t,{isLE:n})}function hyt(t,e,n={},r){if(r===void 0&&(r=t==="edwards"),!e||typeof e!="object")throw new Error(`expected valid ${t} CURVE object`);for(const c of["p","n","h"]){const l=e[c];if(!(typeof l=="bigint"&&l>sb))throw new Error(`CURVE.${c} must be positive bigint`)}const i=jQ(e.p,n.Fp,r),s=jQ(e.n,n.Fn,r),o=["Gx","Gy","a","b"];for(const c of o)if(!i.isValid(e[c]))throw new Error(`CURVE.${c} must be valid field element of CURVE.Fp`);return e=Object.freeze(Object.assign({},e)),{CURVE:e,Fp:i,Fn:s}}const DQ=(t,e)=>(t+(t>=0?e:-e)/V2e)/e;function pyt(t,e,n){const[[r,i],[s,a]]=e,o=DQ(a*t,n),c=DQ(-i*t,n);let l=t-o*r-c*s,d=-o*i-c*a;const u=l<Fp,h=d<Fp;u&&(l=-l),h&&(d=-d);const p=i8(Math.ceil(P2e(n)/2))+ew;if(l<Fp||l>=p||d<Fp||d>=p)throw new Error("splitScalar (endomorphism): failed, k="+t);return{k1neg:u,k1:l,k2neg:h,k2:d}}function hD(t){if(!["compact","recovered","der"].includes(t))throw new Error('Signature format must be "compact", "recovered", or "der"');return t}function yP(t,e){const n={};for(let r of Object.keys(e))n[r]=t[r]===void 0?e[r]:t[r];return o7(n.lowS,"lowS"),o7(n.prehash,"prehash"),n.format!==void 0&&hD(n.format),n}let fyt=class extends Error{constructor(e=""){super(e)}};const kp={Err:fyt,_tlv:{encode:(t,e)=>{const{Err:n}=kp;if(t<0||t>256)throw new n("tlv.encode: wrong tag");if(e.length&1)throw new n("tlv.encode: unpadded data");const r=e.length/2,i=RE(r);if(i.length/2&128)throw new n("tlv.encode: long form length too big");const s=r>127?RE(i.length/2|128):"";return RE(t)+s+i+e},decode(t,e){const{Err:n}=kp;let r=0;if(t<0||t>256)throw new n("tlv.encode: wrong tag");if(e.length<2||e[r++]!==t)throw new n("tlv.decode: wrong tlv");const i=e[r++],s=!!(i&128);let a=0;if(!s)a=i;else{const c=i&127;if(!c)throw new n("tlv.decode(long): indefinite length not supported");if(c>4)throw new n("tlv.decode(long): byte length is too big");const l=e.subarray(r,r+c);if(l.length!==c)throw new n("tlv.decode: length bytes not complete");if(l[0]===0)throw new n("tlv.decode(long): zero leftmost byte");for(const d of l)a=a<<8|d;if(r+=c,a<128)throw new n("tlv.decode(long): not minimal encoding")}const o=e.subarray(r,r+a);if(o.length!==a)throw new n("tlv.decode: wrong value length");return{v:o,l:e.subarray(r+a)}}},_int:{encode(t){const{Err:e}=kp;if(t<Fp)throw new e("integer: negative integers are not allowed");let n=RE(t);if(Number.parseInt(n[0],16)&8&&(n="00"+n),n.length&1)throw new e("unexpected DER parsing assertion: unpadded hex");return n},decode(t){const{Err:e}=kp;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 l$(t)}},toSig(t){const{Err:e,_int:n,_tlv:r}=kp,i=Ao("signature",t),{v:s,l:a}=r.decode(48,i);if(a.length)throw new e("invalid signature: left bytes after parsing");const{v:o,l:c}=r.decode(2,s),{v:l,l:d}=r.decode(2,c);if(d.length)throw new e("invalid signature: left bytes after parsing");return{r:n.decode(o),s:n.decode(l)}},hexFromSig(t){const{_tlv:e,_int:n}=kp,r=e.encode(2,n.encode(t.r)),i=e.encode(2,n.encode(t.s)),s=r+i;return e.encode(48,s)}},Fp=BigInt(0),ew=BigInt(1),V2e=BigInt(2),ME=BigInt(3),gyt=BigInt(4);function k2(t,e){const{BYTES:n}=t;let r;if(typeof e=="bigint")r=e;else{let i=Ao("private key",e);try{r=t.fromBytes(i)}catch{throw new Error(`invalid private key: expected ui8a of size ${n}, got ${typeof e}`)}}if(!t.isValidNot0(r))throw new Error("invalid private key: out of range [1..N-1]");return r}function myt(t,e={}){const n=hyt("weierstrass",t,e),{Fp:r,Fn:i}=n;let s=n.CURVE;const{h:a,n:o}=s;DW(e,{},{allowInfinityPoint:"boolean",clearCofactor:"function",isTorsionFree:"function",fromBytes:"function",toBytes:"function",endo:"object",wrapPrivateKey:"boolean"});const{endo:c}=e;if(c&&(!r.is0(s.a)||typeof c.beta!="bigint"||!Array.isArray(c.basises)))throw new Error('invalid endo: expected "beta": bigint and "basises": array');const l=Z2e(r,i);function d(){if(!r.isOdd)throw new Error("compression is not supported: Field does not have .isOdd()")}function u(R,O,$){const{x:A,y:k}=O.toAffine(),L=r.toBytes(A);if(o7($,"isCompressed"),$){d();const D=!r.isOdd(k);return v0(q2e(D),L)}else return v0(Uint8Array.of(4),L,r.toBytes(k))}function h(R){Cg(R,void 0,"Point");const{publicKey:O,publicKeyUncompressed:$}=l,A=R.length,k=R[0],L=R.subarray(1);if(A===O&&(k===2||k===3)){const D=r.fromBytes(L);if(!r.isValid(D))throw new Error("bad point: is not on curve, wrong x");const N=m(D);let j;try{j=r.sqrt(N)}catch(q){const V=q instanceof Error?": "+q.message:"";throw new Error("bad point: is not on curve, sqrt error"+V)}d();const F=r.isOdd(j);return(k&1)===1!==F&&(j=r.neg(j)),{x:D,y:j}}else if(A===$&&k===4){const D=r.BYTES,N=r.fromBytes(L.subarray(0,D)),j=r.fromBytes(L.subarray(D,D*2));if(!y(N,j))throw new Error("bad point: is not on curve");return{x:N,y:j}}else throw new Error(`bad point: got length ${A}, expected compressed=${O} or uncompressed=${$}`)}const p=e.toBytes||u,g=e.fromBytes||h;function m(R){const O=r.sqr(R),$=r.mul(O,R);return r.add(r.add($,r.mul(R,s.a)),s.b)}function y(R,O){const $=r.sqr(O),A=m(R);return r.eql($,A)}if(!y(s.Gx,s.Gy))throw new Error("bad curve params: generator point");const b=r.mul(r.pow(s.a,ME),gyt),x=r.mul(r.sqr(s.b),BigInt(27));if(r.is0(r.add(b,x)))throw new Error("bad curve params: a or b");function v(R,O,$=!1){if(!r.isValid(O)||$&&r.is0(O))throw new Error(`bad point coordinate ${R}`);return O}function E(R){if(!(R instanceof P))throw new Error("ProjectivePoint expected")}function C(R){if(!c||!c.basises)throw new Error("no endo");return pyt(R,c.basises,i.ORDER)}const w=PQ((R,O)=>{const{X:$,Y:A,Z:k}=R;if(r.eql(k,r.ONE))return{x:$,y:A};const L=R.is0();O==null&&(O=L?r.ONE:r.inv(k));const D=r.mul($,O),N=r.mul(A,O),j=r.mul(k,O);if(L)return{x:r.ZERO,y:r.ZERO};if(!r.eql(j,r.ONE))throw new Error("invZ was invalid");return{x:D,y:N}}),S=PQ(R=>{if(R.is0()){if(e.allowInfinityPoint&&!r.is0(R.Y))return;throw new Error("bad point: ZERO")}const{x:O,y:$}=R.toAffine();if(!r.isValid(O)||!r.isValid($))throw new Error("bad point: x or y not field elements");if(!y(O,$))throw new Error("bad point: equation left != right");if(!R.isTorsionFree())throw new Error("bad point: not in prime-order subgroup");return!0});function I(R,O,$,A,k){return $=new P(r.mul($.X,R),$.Y,$.Z),O=c7(A,O),$=c7(k,$),O.add($)}class P{constructor(O,$,A){this.X=v("x",O),this.Y=v("y",$,!0),this.Z=v("z",A),Object.freeze(this)}static CURVE(){return s}static fromAffine(O){const{x:$,y:A}=O||{};if(!O||!r.isValid($)||!r.isValid(A))throw new Error("invalid affine point");if(O instanceof P)throw new Error("projective point not allowed");return r.is0($)&&r.is0(A)?P.ZERO:new P($,A,r.ONE)}static fromBytes(O){const $=P.fromAffine(g(Cg(O,void 0,"point")));return $.assertValidity(),$}static fromHex(O){return P.fromBytes(Ao("pointHex",O))}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(O=8,$=!0){return M.createCache(this,O),$||this.multiply(ME),this}assertValidity(){S(this)}hasEvenY(){const{y:O}=this.toAffine();if(!r.isOdd)throw new Error("Field doesn't support isOdd");return!r.isOdd(O)}equals(O){E(O);const{X:$,Y:A,Z:k}=this,{X:L,Y:D,Z:N}=O,j=r.eql(r.mul($,N),r.mul(L,k)),F=r.eql(r.mul(A,N),r.mul(D,k));return j&&F}negate(){return new P(this.X,r.neg(this.Y),this.Z)}double(){const{a:O,b:$}=s,A=r.mul($,ME),{X:k,Y:L,Z:D}=this;let N=r.ZERO,j=r.ZERO,F=r.ZERO,W=r.mul(k,k),q=r.mul(L,L),V=r.mul(D,D),Z=r.mul(k,L);return Z=r.add(Z,Z),F=r.mul(k,D),F=r.add(F,F),N=r.mul(O,F),j=r.mul(A,V),j=r.add(N,j),N=r.sub(q,j),j=r.add(q,j),j=r.mul(N,j),N=r.mul(Z,N),F=r.mul(A,F),V=r.mul(O,V),Z=r.sub(W,V),Z=r.mul(O,Z),Z=r.add(Z,F),F=r.add(W,W),W=r.add(F,W),W=r.add(W,V),W=r.mul(W,Z),j=r.add(j,W),V=r.mul(L,D),V=r.add(V,V),W=r.mul(V,Z),N=r.sub(N,W),F=r.mul(V,q),F=r.add(F,F),F=r.add(F,F),new P(N,j,F)}add(O){E(O);const{X:$,Y:A,Z:k}=this,{X:L,Y:D,Z:N}=O;let j=r.ZERO,F=r.ZERO,W=r.ZERO;const q=s.a,V=r.mul(s.b,ME);let Z=r.mul($,L),te=r.mul(A,D),ne=r.mul(k,N),Q=r.add($,A),re=r.add(L,D);Q=r.mul(Q,re),re=r.add(Z,te),Q=r.sub(Q,re),re=r.add($,k);let fe=r.add(L,N);return re=r.mul(re,fe),fe=r.add(Z,ne),re=r.sub(re,fe),fe=r.add(A,k),j=r.add(D,N),fe=r.mul(fe,j),j=r.add(te,ne),fe=r.sub(fe,j),W=r.mul(q,re),j=r.mul(V,ne),W=r.add(j,W),j=r.sub(te,W),W=r.add(te,W),F=r.mul(j,W),te=r.add(Z,Z),te=r.add(te,Z),ne=r.mul(q,ne),re=r.mul(V,re),te=r.add(te,ne),ne=r.sub(Z,ne),ne=r.mul(q,ne),re=r.add(re,ne),Z=r.mul(te,re),F=r.add(F,Z),Z=r.mul(fe,re),j=r.mul(Q,j),j=r.sub(j,Z),Z=r.mul(Q,te),W=r.mul(fe,W),W=r.add(W,Z),new P(j,F,W)}subtract(O){return this.add(O.negate())}is0(){return this.equals(P.ZERO)}multiply(O){const{endo:$}=e;if(!i.isValidNot0(O))throw new Error("invalid scalar: out of range");let A,k;const L=D=>M.cached(this,D,N=>pP(P,N));if($){const{k1neg:D,k1:N,k2neg:j,k2:F}=C(O),{p:W,f:q}=L(N),{p:V,f:Z}=L(F);k=q.add(Z),A=I($.beta,W,V,D,j)}else{const{p:D,f:N}=L(O);A=D,k=N}return pP(P,[A,k])[0]}multiplyUnsafe(O){const{endo:$}=e,A=this;if(!i.isValid(O))throw new Error("invalid scalar: out of range");if(O===Fp||A.is0())return P.ZERO;if(O===ew)return A;if(M.hasCache(this))return this.multiply(O);if($){const{k1neg:k,k1:L,k2neg:D,k2:N}=C(O),{p1:j,p2:F}=dyt(P,A,L,N);return I($.beta,j,F,k,D)}else return M.unsafe(A,O)}multiplyAndAddUnsafe(O,$,A){const k=this.multiplyUnsafe($).add(O.multiplyUnsafe(A));return k.is0()?void 0:k}toAffine(O){return w(this,O)}isTorsionFree(){const{isTorsionFree:O}=e;return a===ew?!0:O?O(P,this):M.unsafe(this,o).is0()}clearCofactor(){const{clearCofactor:O}=e;return a===ew?this:O?O(P,this):this.multiplyUnsafe(a)}isSmallOrder(){return this.multiplyUnsafe(a).is0()}toBytes(O=!0){return o7(O,"isCompressed"),this.assertValidity(),p(P,this,O)}toHex(O=!0){return Q2(this.toBytes(O))}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}get px(){return this.X}get py(){return this.X}get pz(){return this.Z}toRawBytes(O=!0){return this.toBytes(O)}_setWindowSize(O){this.precompute(O)}static normalizeZ(O){return pP(P,O)}static msm(O,$){return uyt(P,i,O,$)}static fromPrivateKey(O){return P.BASE.multiply(k2(i,O))}}P.BASE=new P(s.Gx,s.Gy,r.ONE),P.ZERO=new P(r.ZERO,r.ONE,r.ZERO),P.Fp=r,P.Fn=i;const T=i.BITS,M=new lyt(P,e.endo?Math.ceil(T/2):T);return P.BASE.precompute(8),P}function q2e(t){return Uint8Array.of(t?2:3)}function Z2e(t,e){return{secretKey:e.BYTES,publicKey:1+t.BYTES,publicKeyUncompressed:1+2*t.BYTES,publicKeyHasPrefix:!0,signature:2*e.BYTES}}function yyt(t,e={}){const{Fn:n}=t,r=e.randomBytes||v2e,i=Object.assign(Z2e(t.Fp,n),{seed:W2e(n.ORDER)});function s(p){try{return!!k2(n,p)}catch{return!1}}function a(p,g){const{publicKey:m,publicKeyUncompressed:y}=i;try{const b=p.length;return g===!0&&b!==m||g===!1&&b!==y?!1:!!t.fromBytes(p)}catch{return!1}}function o(p=r(i.seed)){return ayt(Cg(p,i.seed,"seed"),n.ORDER)}function c(p,g=!0){return t.BASE.multiply(k2(n,p)).toBytes(g)}function l(p){const g=o(p);return{secretKey:g,publicKey:c(g)}}function d(p){if(typeof p=="bigint")return!1;if(p instanceof t)return!0;const{secretKey:g,publicKey:m,publicKeyUncompressed:y}=i;if(n.allowedLengths||g===m)return;const b=Ao("key",p).length;return b===m||b===y}function u(p,g,m=!0){if(d(p)===!0)throw new Error("first arg must be private key");if(d(g)===!1)throw new Error("second arg must be public key");const y=k2(n,p);return t.fromHex(g).multiply(y).toBytes(m)}return Object.freeze({getPublicKey:c,getSharedSecret:u,keygen:l,Point:t,utils:{isValidSecretKey:s,isValidPublicKey:a,randomSecretKey:o,isValidPrivateKey:s,randomPrivateKey:o,normPrivateKeyToScalar:p=>k2(n,p),precompute(p=8,g=t.BASE){return g.precompute(p,!1)}},lengths:i})}function wyt(t,e,n={}){m2e(e),DW(n,{},{hmac:"function",lowS:"boolean",randomBytes:"function",bits2int:"function",bits2int_modN:"function"});const r=n.randomBytes||v2e,i=n.hmac||(($,...A)=>$2e(e,$,v0(...A))),{Fp:s,Fn:a}=t,{ORDER:o,BITS:c}=a,{keygen:l,getPublicKey:d,getSharedSecret:u,utils:h,lengths:p}=yyt(t,n),g={prehash:!1,lowS:typeof n.lowS=="boolean"?n.lowS:!1,format:void 0,extraEntropy:!1},m="compact";function y($){const A=o>>ew;return $>A}function b($,A){if(!a.isValidNot0(A))throw new Error(`invalid signature ${$}: out of range 1..Point.Fn.ORDER`);return A}function x($,A){hD(A);const k=p.signature,L=A==="compact"?k:A==="recovered"?k+1:void 0;return Cg($,L,`${A} signature`)}class v{constructor(A,k,L){this.r=b("r",A),this.s=b("s",k),L!=null&&(this.recovery=L),Object.freeze(this)}static fromBytes(A,k=m){x(A,k);let L;if(k==="der"){const{r:F,s:W}=kp.toSig(Cg(A));return new v(F,W)}k==="recovered"&&(L=A[0],k="compact",A=A.subarray(1));const D=a.BYTES,N=A.subarray(0,D),j=A.subarray(D,D*2);return new v(a.fromBytes(N),a.fromBytes(j),L)}static fromHex(A,k){return this.fromBytes(a7(A),k)}addRecoveryBit(A){return new v(this.r,this.s,A)}recoverPublicKey(A){const k=s.ORDER,{r:L,s:D,recovery:N}=this;if(N==null||![0,1,2,3].includes(N))throw new Error("recovery id invalid");if(o*V2e<k&&N>1)throw new Error("recovery id is ambiguous for h>1 curve");const F=N===2||N===3?L+o:L;if(!s.isValid(F))throw new Error("recovery id 2 or 3 invalid");const W=s.toBytes(F),q=t.fromBytes(v0(q2e((N&1)===0),W)),V=a.inv(F),Z=C(Ao("msgHash",A)),te=a.create(-Z*V),ne=a.create(D*V),Q=t.BASE.multiplyUnsafe(te).add(q.multiplyUnsafe(ne));if(Q.is0())throw new Error("point at infinify");return Q.assertValidity(),Q}hasHighS(){return y(this.s)}toBytes(A=m){if(hD(A),A==="der")return a7(kp.hexFromSig(this));const k=a.toBytes(this.r),L=a.toBytes(this.s);if(A==="recovered"){if(this.recovery==null)throw new Error("recovery bit must be present");return v0(Uint8Array.of(this.recovery),k,L)}return v0(k,L)}toHex(A){return Q2(this.toBytes(A))}assertValidity(){}static fromCompact(A){return v.fromBytes(Ao("sig",A),"compact")}static fromDER(A){return v.fromBytes(Ao("sig",A),"der")}normalizeS(){return this.hasHighS()?new v(this.r,a.neg(this.s),this.recovery):this}toDERRawBytes(){return this.toBytes("der")}toDERHex(){return Q2(this.toBytes("der"))}toCompactRawBytes(){return this.toBytes("compact")}toCompactHex(){return Q2(this.toBytes("compact"))}}const E=n.bits2int||function(A){if(A.length>8192)throw new Error("input is too large");const k=l$(A),L=A.length*8-c;return L>0?k>>BigInt(L):k},C=n.bits2int_modN||function(A){return a.create(E(A))},w=i8(c);function S($){return Ymt("num < 2^"+c,$,Fp,w),a.toBytes($)}function I($,A){return Cg($,void 0,"message"),A?Cg(e($),void 0,"prehashed message"):$}function P($,A,k){if(["recovered","canonical"].some(te=>te in k))throw new Error("sign() legacy options not supported");const{lowS:L,prehash:D,extraEntropy:N}=yP(k,g);$=I($,D);const j=C($),F=k2(a,A),W=[S(F),S(j)];if(N!=null&&N!==!1){const te=N===!0?r(p.secretKey):N;W.push(Ao("extraEntropy",te))}const q=v0(...W),V=j;function Z(te){const ne=E(te);if(!a.isValidNot0(ne))return;const Q=a.inv(ne),re=t.BASE.multiply(ne).toAffine(),fe=a.create(re.x);if(fe===Fp)return;const Ae=a.create(Q*a.create(V+fe*F));if(Ae===Fp)return;let Ne=(re.x===fe?0:2)|Number(re.y&ew),oe=Ae;return L&&y(Ae)&&(oe=a.neg(Ae),Ne^=1),new v(fe,oe,Ne)}return{seed:q,k2sig:Z}}function T($,A,k={}){$=Ao("message",$);const{seed:L,k2sig:D}=P($,A,k);return Jmt(e.outputLen,a.BYTES,i)(L,D)}function M($){let A;const k=typeof $=="string"||o$($),L=!k&&$!==null&&typeof $=="object"&&typeof $.r=="bigint"&&typeof $.s=="bigint";if(!k&&!L)throw new Error("invalid signature, expected Uint8Array, hex string or Signature instance");if(L)A=new v($.r,$.s);else if(k){try{A=v.fromBytes(Ao("sig",$),"der")}catch(D){if(!(D instanceof kp.Err))throw D}if(!A)try{A=v.fromBytes(Ao("sig",$),"compact")}catch{return!1}}return A||!1}function R($,A,k,L={}){const{lowS:D,prehash:N,format:j}=yP(L,g);if(k=Ao("publicKey",k),A=I(Ao("message",A),N),"strict"in L)throw new Error("options.strict was renamed to lowS");const F=j===void 0?M($):v.fromBytes(Ao("sig",$),j);if(F===!1)return!1;try{const W=t.fromBytes(k);if(D&&F.hasHighS())return!1;const{r:q,s:V}=F,Z=C(A),te=a.inv(V),ne=a.create(Z*te),Q=a.create(q*te),re=t.BASE.multiplyUnsafe(ne).add(W.multiplyUnsafe(Q));return re.is0()?!1:a.create(re.x)===q}catch{return!1}}function O($,A,k={}){const{prehash:L}=yP(k,g);return A=I(A,L),v.fromBytes($,"recovered").recoverPublicKey(A).toBytes()}return Object.freeze({keygen:l,getPublicKey:d,getSharedSecret:u,utils:h,lengths:p,Point:t,sign:T,verify:R,recoverPublicKey:O,Signature:v,hash:e})}function byt(t){const e={a:t.a,b:t.b,p:t.Fp.ORDER,n:t.n,h:t.h,Gx:t.Gx,Gy:t.Gy},n=t.Fp;let r=t.allowedPrivateKeyLengths?Array.from(new Set(t.allowedPrivateKeyLengths.map(a=>Math.ceil(a/2)))):void 0;const i=s8(e.n,{BITS:t.nBitLength,allowedLengths:r,modFromBytes:t.wrapPrivateKey}),s={Fp:n,Fn:i,allowInfinityPoint:t.allowInfinityPoint,endo:t.endo,isTorsionFree:t.isTorsionFree,clearCofactor:t.clearCofactor,fromBytes:t.fromBytes,toBytes:t.toBytes};return{CURVE:e,curveOpts:s}}function vyt(t){const{CURVE:e,curveOpts:n}=byt(t),r={hmac:t.hmac,randomBytes:t.randomBytes,lowS:t.lowS,bits2int:t.bits2int,bits2int_modN:t.bits2int_modN};return{CURVE:e,curveOpts:n,hash:t.hash,ecdsaOpts:r}}function xyt(t,e){const n=e.Point;return Object.assign({},e,{ProjectivePoint:n,CURVE:Object.assign({},t,U2e(n.Fn.ORDER,n.Fn.BITS))})}function Eyt(t){const{CURVE:e,curveOpts:n,hash:r,ecdsaOpts:i}=vyt(t),s=myt(e,n),a=wyt(s,r,i);return xyt(t,a)}function Cyt(t,e){const n=r=>Eyt({...t,hash:r});return{...n(e),create:n}}const BW={p:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),n:BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),h:BigInt(1),a:BigInt(0),b:BigInt(7),Gx:BigInt("0x79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"),Gy:BigInt("0x483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8")},Ayt={beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),basises:[[BigInt("0x3086d221a7d46bcde86c90e49284eb15"),-BigInt("0xe4437ed6010e88286f547fa90abfe4c3")],[BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),BigInt("0x3086d221a7d46bcde86c90e49284eb15")]]},LQ=BigInt(2);function Syt(t){const e=BW.p,n=BigInt(3),r=BigInt(6),i=BigInt(11),s=BigInt(22),a=BigInt(23),o=BigInt(44),c=BigInt(88),l=t*t*t%e,d=l*l*t%e,u=Vc(d,n,e)*d%e,h=Vc(u,n,e)*d%e,p=Vc(h,LQ,e)*l%e,g=Vc(p,i,e)*p%e,m=Vc(g,s,e)*g%e,y=Vc(m,o,e)*m%e,b=Vc(y,c,e)*y%e,x=Vc(b,o,e)*m%e,v=Vc(x,n,e)*d%e,E=Vc(v,a,e)*g%e,C=Vc(E,r,e)*l%e,w=Vc(C,LQ,e);if(!pD.eql(pD.sqr(w),t))throw new Error("Cannot find square root");return w}const pD=s8(BW.p,{sqrt:Syt}),_yt=Cyt({...BW,Fp:pD,lowS:!0,endo:Ayt},Kmt),$yt=Object.freeze(Object.defineProperty({__proto__:null,secp256k1:_yt},Symbol.toStringTag,{value:"Module"})),Iyt=":";function Yp(t){const[e,n]=t.split(Iyt);return{namespace:e,reference:n}}function K2e(t,e){return t.includes(":")?[t]:e.chains||[]}var kyt=Object.defineProperty,Tyt=Object.defineProperties,Pyt=Object.getOwnPropertyDescriptors,BQ=Object.getOwnPropertySymbols,Oyt=Object.prototype.hasOwnProperty,Nyt=Object.prototype.propertyIsEnumerable,fD=(t,e,n)=>e in t?kyt(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,UQ=(t,e)=>{for(var n in e||(e={}))Oyt.call(e,n)&&fD(t,n,e[n]);if(BQ)for(var n of BQ(e))Nyt.call(e,n)&&fD(t,n,e[n]);return t},Ryt=(t,e)=>Tyt(t,Pyt(e)),FQ=(t,e,n)=>fD(t,typeof e!="symbol"?e+"":e,n);const Myt="ReactNative",vc={reactNative:"react-native",node:"node",browser:"browser",unknown:"unknown"},jyt="js";function l7(){return typeof process<"u"&&typeof process.versions<"u"&&typeof process.versions.node<"u"}function v1(){return!Ns.getDocument()&&!!Ns.getNavigator()&&navigator.product===Myt}function Dyt(){return v1()&&typeof globalThis<"u"&&typeof globalThis?.Platform<"u"&&globalThis?.Platform.OS==="android"}function Lyt(){return v1()&&typeof globalThis<"u"&&typeof globalThis?.Platform<"u"&&globalThis?.Platform.OS==="ios"}function sv(){return!l7()&&!!Ns.getNavigator()&&!!Ns.getDocument()}function a8(){return v1()?vc.reactNative:l7()?vc.node:sv()?vc.browser:vc.unknown}function WQ(){var t;try{return v1()&&typeof globalThis<"u"&&typeof globalThis?.Application<"u"?(t=globalThis.Application)==null?void 0:t.applicationId:void 0}catch{return}}function Byt(t,e){const n=new URLSearchParams(t);return Object.entries(e).sort(([r],[i])=>r.localeCompare(i)).forEach(([r,i])=>{i!=null&&n.set(r,String(i))}),n.toString()}function Uyt(t){var e,n;const r=G2e();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!=="")),Ryt(UQ(UQ({},r),t),{url:t?.url||r.url,name:t?.name||r.name,description:t?.description||r.description,icons:(n=t?.icons)!=null&&n.length&&t.icons.length>0?t.icons:r.icons})}catch(i){return console.warn("Error populating app metadata",i),t||r}}function G2e(){return mfe.getWindowMetadata()||{name:"",description:"",url:"",icons:[""]}}function Fyt(){if(a8()===vc.reactNative&&typeof globalThis<"u"&&typeof globalThis?.Platform<"u"){const{OS:n,Version:r}=globalThis.Platform;return[n,r].join("-")}const t=hfe();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 Wyt(){var t;const e=a8();return e===vc.browser?[e,((t=Ns.getLocation())==null?void 0:t.host)||"unknown"].join(":"):e}function Y2e(t,e,n){const r=Fyt(),i=Wyt();return[[t,e].join("-"),[jyt,n].join("-"),r,i].join("/")}function zyt({protocol:t,version:e,relayUrl:n,sdkVersion:r,auth:i,projectId:s,useOnCloseEvent:a,bundleId:o,packageName:c}){const l=n.split("?"),d=Y2e(t,e,r),u={auth:i,ua:d,projectId:s,useOnCloseEvent:a,packageName:c||void 0,bundleId:o||void 0},h=Byt(l[1]||"",u);return l[0]+"?"+h}function _g(t,e){return t.filter(n=>e.includes(n)).length===t.length}function gD(t){return Object.fromEntries(t.entries())}function mD(t){return new Map(Object.entries(t))}function X1(t=Ce.FIVE_MINUTES,e){const n=Ce.toMiliseconds(t||Ce.FIVE_MINUTES);let r,i,s,a;return{resolve:o=>{s&&r&&(clearTimeout(s),r(o),a=Promise.resolve(o))},reject:o=>{s&&i&&(clearTimeout(s),i(o))},done:()=>new Promise((o,c)=>{if(a)return o(a);s=setTimeout(()=>{const l=new Error(e);a=Promise.reject(l),c(l)},n),r=o,i=c})}}function uu(t,e,n){return new Promise(async(r,i)=>{const s=setTimeout(()=>i(new Error(n)),e);try{const a=await t;r(a)}catch(a){i(a)}clearTimeout(s)})}function J2e(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 Hyt(t){return J2e("topic",t)}function Vyt(t){return J2e("id",t)}function X2e(t){const[e,n]=t.split(":"),r={id:void 0,topic:void 0};if(e==="topic"&&typeof n=="string")r.topic=n;else if(e==="id"&&Number.isInteger(Number(n)))r.id=Number(n);else throw new Error(`Invalid target, expected id:number or topic:string, got ${e}:${n}`);return r}function Ni(t,e){return Ce.fromMiliseconds(Date.now()+Ce.toMiliseconds(t))}function au(t){return Date.now()>=Ce.toMiliseconds(t)}function Qn(t,e){return`${t}${e?`:${e}`:""}`}function Su(t=[],e=[]){return[...new Set([...t,...e])]}async function qyt({id:t,topic:e,wcDeepLink:n}){var r;try{if(!n)return;const i=typeof n=="string"?JSON.parse(n):n,s=i?.href;if(typeof s!="string")return;const a=Zyt(s,t,e),o=a8();if(o===vc.browser){if(!((r=Ns.getDocument())!=null&&r.hasFocus())){console.warn("Document does not have focus, skipping deeplink.");return}Kyt(a)}else o===vc.reactNative&&typeof globalThis?.Linking<"u"&&await globalThis.Linking.openURL(a)}catch(i){console.error(i)}}function Zyt(t,e,n){const r=`requestId=${e}&sessionTopic=${n}`;t.endsWith("/")&&(t=t.slice(0,-1));let i=`${t}`;if(t.startsWith("https://t.me")){const s=t.includes("?")?"&startapp=":"?startapp=";i=`${i}${s}${Xyt(r,!0)}`}else i=`${i}/wc?${r}`;return i}function Kyt(t){let e="_self";Jyt()?e="_top":(Yyt()||t.startsWith("https://")||t.startsWith("http://"))&&(e="_blank"),window.open(t,e,"noreferrer noopener")}async function Gyt(t,e){let n="";try{if(sv()&&(n=localStorage.getItem(e),n))return n;n=await t.getItem(e)}catch(r){console.error(r)}return n}function zQ(t,e){if(!t.includes(e))return null;const n=t.split(/([&,?,=])/),r=n.indexOf(e);return n[r+2]}function HQ(){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 UW(){return typeof process<"u"&&process.env.IS_VITEST==="true"}function Yyt(){return typeof window<"u"&&(!!window.TelegramWebviewProxy||!!window.Telegram||!!window.TelegramWebviewProxyProto)}function Jyt(){try{return window.self!==window.top}catch{return!1}}function Xyt(t,e=!1){const n=Buffer.from(t).toString("base64");return e?n.replace(/[=]/g,""):n}function Q2e(t){return Buffer.from(t,"base64").toString("utf-8")}function Qyt(t){return new Promise(e=>setTimeout(e,t))}let e2t=class{constructor({limit:e}){FQ(this,"limit"),FQ(this,"set"),this.limit=e,this.set=new Set}add(e){if(!this.set.has(e)){if(this.set.size>=this.limit){const n=this.set.values().next().value;n&&this.set.delete(n)}this.set.add(e)}}has(e){return this.set.has(e)}};const jE=BigInt(2**32-1),VQ=BigInt(32);function ewe(t,e=!1){return e?{h:Number(t&jE),l:Number(t>>VQ&jE)}:{h:Number(t>>VQ&jE)|0,l:Number(t&jE)|0}}function twe(t,e=!1){const n=t.length;let r=new Uint32Array(n),i=new Uint32Array(n);for(let s=0;s<n;s++){const{h:a,l:o}=ewe(t[s],e);[r[s],i[s]]=[a,o]}return[r,i]}const qQ=(t,e,n)=>t>>>n,ZQ=(t,e,n)=>t<<32-n|e>>>n,l0=(t,e,n)=>t>>>n|e<<32-n,d0=(t,e,n)=>t<<32-n|e>>>n,G6=(t,e,n)=>t<<64-n|e>>>n-32,Y6=(t,e,n)=>t>>>n-32|e<<64-n,t2t=(t,e)=>e,n2t=(t,e)=>t,r2t=(t,e,n)=>t<<n|e>>>32-n,i2t=(t,e,n)=>e<<n|t>>>32-n,s2t=(t,e,n)=>e<<n-32|t>>>64-n,a2t=(t,e,n)=>t<<n-32|e>>>64-n;function Vl(t,e,n,r){const i=(e>>>0)+(r>>>0);return{h:t+n+(i/2**32|0)|0,l:i|0}}const FW=(t,e,n)=>(t>>>0)+(e>>>0)+(n>>>0),WW=(t,e,n,r)=>e+n+r+(t/2**32|0)|0,o2t=(t,e,n,r)=>(t>>>0)+(e>>>0)+(n>>>0)+(r>>>0),c2t=(t,e,n,r,i)=>e+n+r+i+(t/2**32|0)|0,l2t=(t,e,n,r,i)=>(t>>>0)+(e>>>0)+(n>>>0)+(r>>>0)+(i>>>0),d2t=(t,e,n,r,i,s)=>e+n+r+i+s+(t/2**32|0)|0,Zy=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;function d$(t){return t instanceof Uint8Array||ArrayBuffer.isView(t)&&t.constructor.name==="Uint8Array"}function cf(t){if(!Number.isSafeInteger(t)||t<0)throw new Error("positive integer expected, got "+t)}function Sd(t,...e){if(!d$(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 u$(t){if(typeof t!="function"||typeof t.create!="function")throw new Error("Hash should be wrapped by utils.createHasher");cf(t.outputLen),cf(t.blockLen)}function t1(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 zW(t,e){Sd(t);const n=e.outputLen;if(t.length<n)throw new Error("digestInto() expects output buffer of length at least "+n)}function D4(t){return new Uint32Array(t.buffer,t.byteOffset,Math.floor(t.byteLength/4))}function yl(...t){for(let e=0;e<t.length;e++)t[e].fill(0)}function wP(t){return new DataView(t.buffer,t.byteOffset,t.byteLength)}function Zd(t,e){return t<<32-e|t>>>e}const nwe=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function rwe(t){return t<<24&4278190080|t<<8&16711680|t>>>8&65280|t>>>24&255}const mp=nwe?t=>t:t=>rwe(t);function u2t(t){for(let e=0;e<t.length;e++)t[e]=rwe(t[e]);return t}const u0=nwe?t=>t:u2t,iwe=typeof Uint8Array.from([]).toHex=="function"&&typeof Uint8Array.fromHex=="function",h2t=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function tw(t){if(Sd(t),iwe)return t.toHex();let e="";for(let n=0;n<t.length;n++)e+=h2t[t[n]];return e}const op={_0:48,_9:57,A:65,F:70,a:97,f:102};function KQ(t){if(t>=op._0&&t<=op._9)return t-op._0;if(t>=op.A&&t<=op.F)return t-(op.A-10);if(t>=op.a&&t<=op.f)return t-(op.a-10)}function d7(t){if(typeof t!="string")throw new Error("hex string expected, got "+typeof t);if(iwe)return Uint8Array.fromHex(t);const e=t.length,n=e/2;if(e%2)throw new Error("hex string expected, got unpadded hex of length "+e);const r=new Uint8Array(n);for(let i=0,s=0;i<n;i++,s+=2){const a=KQ(t.charCodeAt(s)),o=KQ(t.charCodeAt(s+1));if(a===void 0||o===void 0){const c=t[s]+t[s+1];throw new Error('hex string expected, got non-hex character "'+c+'" at index '+s)}r[i]=a*16+o}return r}function swe(t){if(typeof t!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(t))}function hd(t){return typeof t=="string"&&(t=swe(t)),Sd(t),t}function x0(...t){let e=0;for(let r=0;r<t.length;r++){const i=t[r];Sd(i),e+=i.length}const n=new Uint8Array(e);for(let r=0,i=0;r<t.length;r++){const s=t[r];n.set(s,i),i+=s.length}return n}class h${}function o8(t){const e=r=>t().update(hd(r)).digest(),n=t();return e.outputLen=n.outputLen,e.blockLen=n.blockLen,e.create=()=>t(),e}function p2t(t){const e=(r,i)=>t(i).update(hd(r)).digest(),n=t({});return e.outputLen=n.outputLen,e.blockLen=n.blockLen,e.create=r=>t(r),e}function uy(t=32){if(Zy&&typeof Zy.getRandomValues=="function")return Zy.getRandomValues(new Uint8Array(t));if(Zy&&typeof Zy.randomBytes=="function")return Uint8Array.from(Zy.randomBytes(t));throw new Error("crypto.getRandomValues must be defined")}const f2t=BigInt(0),p6=BigInt(1),g2t=BigInt(2),m2t=BigInt(7),y2t=BigInt(256),w2t=BigInt(113),awe=[],owe=[],cwe=[];for(let t=0,e=p6,n=1,r=0;t<24;t++){[n,r]=[r,(2*n+3*r)%5],awe.push(2*(5*r+n)),owe.push((t+1)*(t+2)/2%64);let i=f2t;for(let s=0;s<7;s++)e=(e<<p6^(e>>m2t)*w2t)%y2t,e&g2t&&(i^=p6<<(p6<<BigInt(s))-p6);cwe.push(i)}const lwe=twe(cwe,!0),b2t=lwe[0],v2t=lwe[1],GQ=(t,e,n)=>n>32?s2t(t,e,n):r2t(t,e,n),YQ=(t,e,n)=>n>32?a2t(t,e,n):i2t(t,e,n);function x2t(t,e=24){const n=new Uint32Array(10);for(let r=24-e;r<24;r++){for(let a=0;a<10;a++)n[a]=t[a]^t[a+10]^t[a+20]^t[a+30]^t[a+40];for(let a=0;a<10;a+=2){const o=(a+8)%10,c=(a+2)%10,l=n[c],d=n[c+1],u=GQ(l,d,1)^n[o],h=YQ(l,d,1)^n[o+1];for(let p=0;p<50;p+=10)t[a+p]^=u,t[a+p+1]^=h}let i=t[2],s=t[3];for(let a=0;a<24;a++){const o=owe[a],c=GQ(i,s,o),l=YQ(i,s,o),d=awe[a];i=t[d],s=t[d+1],t[d]=c,t[d+1]=l}for(let a=0;a<50;a+=10){for(let o=0;o<10;o++)n[o]=t[a+o];for(let o=0;o<10;o++)t[a+o]^=~n[(o+2)%10]&n[(o+4)%10]}t[0]^=b2t[r],t[1]^=v2t[r]}yl(n)}let E2t=class dwe extends h${constructor(e,n,r,i=!1,s=24){if(super(),this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,this.enableXOF=!1,this.blockLen=e,this.suffix=n,this.outputLen=r,this.enableXOF=i,this.rounds=s,cf(r),!(0<e&&e<200))throw new Error("only keccak-f1600 function is supported");this.state=new Uint8Array(200),this.state32=D4(this.state)}clone(){return this._cloneInto()}keccak(){u0(this.state32),x2t(this.state32,this.rounds),u0(this.state32),this.posOut=0,this.pos=0}update(e){t1(this),e=hd(e),Sd(e);const{blockLen:n,state:r}=this,i=e.length;for(let s=0;s<i;){const a=Math.min(n-this.pos,i-s);for(let o=0;o<a;o++)r[this.pos++]^=e[s++];this.pos===n&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;const{state:e,suffix:n,pos:r,blockLen:i}=this;e[r]^=n,(n&128)!==0&&r===i-1&&this.keccak(),e[i-1]^=128,this.keccak()}writeInto(e){t1(this,!1),Sd(e),this.finish();const n=this.state,{blockLen:r}=this;for(let i=0,s=e.length;i<s;){this.posOut>=r&&this.keccak();const a=Math.min(r-this.posOut,s-i);e.set(n.subarray(this.posOut,this.posOut+a),i),this.posOut+=a,i+=a}return e}xofInto(e){if(!this.enableXOF)throw new Error("XOF is not possible for this instance");return this.writeInto(e)}xof(e){return cf(e),this.xofInto(new Uint8Array(e))}digestInto(e){if(zW(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,yl(this.state)}_cloneInto(e){const{blockLen:n,suffix:r,outputLen:i,rounds:s,enableXOF:a}=this;return e||(e=new dwe(n,r,i,a,s)),e.state32.set(this.state32),e.pos=this.pos,e.posOut=this.posOut,e.finished=this.finished,e.rounds=s,e.suffix=r,e.outputLen=i,e.enableXOF=a,e.destroyed=this.destroyed,e}};const C2t=(t,e,n)=>o8(()=>new E2t(e,t,n)),A2t=C2t(1,136,256/8);function S2t(t,e,n,r){if(typeof t.setBigUint64=="function")return t.setBigUint64(e,n,r);const i=BigInt(32),s=BigInt(4294967295),a=Number(n>>i&s),o=Number(n&s),c=r?4:0,l=r?0:4;t.setUint32(e+c,a,r),t.setUint32(e+l,o,r)}function _2t(t,e,n){return t&e^~t&n}function $2t(t,e,n){return t&e^t&n^e&n}let uwe=class extends h${constructor(e,n,r,i){super(),this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.blockLen=e,this.outputLen=n,this.padOffset=r,this.isLE=i,this.buffer=new Uint8Array(e),this.view=wP(this.buffer)}update(e){t1(this),e=hd(e),Sd(e);const{view:n,buffer:r,blockLen:i}=this,s=e.length;for(let a=0;a<s;){const o=Math.min(i-this.pos,s-a);if(o===i){const c=wP(e);for(;i<=s-a;a+=i)this.process(c,a);continue}r.set(e.subarray(a,a+o),this.pos),this.pos+=o,a+=o,this.pos===i&&(this.process(n,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){t1(this),zW(e,this),this.finished=!0;const{buffer:n,view:r,blockLen:i,isLE:s}=this;let{pos:a}=this;n[a++]=128,yl(this.buffer.subarray(a)),this.padOffset>i-a&&(this.process(r,0),a=0);for(let u=a;u<i;u++)n[u]=0;S2t(r,i-8,BigInt(this.length*8),s),this.process(r,0);const o=wP(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 u=0;u<l;u++)o.setUint32(4*u,d[u],s)}digest(){const{buffer:e,outputLen:n}=this;this.digestInto(e);const r=e.slice(0,n);return this.destroy(),r}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());const{blockLen:n,buffer:r,length:i,finished:s,destroyed:a,pos:o}=this;return e.destroyed=a,e.finished=s,e.length=i,e.pos=o,i%n&&e.buffer.set(r),e}clone(){return this._cloneInto()}};const Wf=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),da=Uint32Array.from([3418070365,3238371032,1654270250,914150663,2438529370,812702999,355462360,4144912697,1731405415,4290775857,2394180231,1750603025,3675008525,1694076839,1203062813,3204075428]),ua=Uint32Array.from([1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209]),I2t=Uint32Array.from([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),zf=new Uint32Array(64);class k2t extends uwe{constructor(e=32){super(64,e,8,!1),this.A=Wf[0]|0,this.B=Wf[1]|0,this.C=Wf[2]|0,this.D=Wf[3]|0,this.E=Wf[4]|0,this.F=Wf[5]|0,this.G=Wf[6]|0,this.H=Wf[7]|0}get(){const{A:e,B:n,C:r,D:i,E:s,F:a,G:o,H:c}=this;return[e,n,r,i,s,a,o,c]}set(e,n,r,i,s,a,o,c){this.A=e|0,this.B=n|0,this.C=r|0,this.D=i|0,this.E=s|0,this.F=a|0,this.G=o|0,this.H=c|0}process(e,n){for(let u=0;u<16;u++,n+=4)zf[u]=e.getUint32(n,!1);for(let u=16;u<64;u++){const h=zf[u-15],p=zf[u-2],g=Zd(h,7)^Zd(h,18)^h>>>3,m=Zd(p,17)^Zd(p,19)^p>>>10;zf[u]=m+zf[u-7]+g+zf[u-16]|0}let{A:r,B:i,C:s,D:a,E:o,F:c,G:l,H:d}=this;for(let u=0;u<64;u++){const h=Zd(o,6)^Zd(o,11)^Zd(o,25),p=d+h+_2t(o,c,l)+I2t[u]+zf[u]|0,g=(Zd(r,2)^Zd(r,13)^Zd(r,22))+$2t(r,i,s)|0;d=l,l=c,c=o,o=a+p|0,a=s,s=i,i=r,r=p+g|0}r=r+this.A|0,i=i+this.B|0,s=s+this.C|0,a=a+this.D|0,o=o+this.E|0,c=c+this.F|0,l=l+this.G|0,d=d+this.H|0,this.set(r,i,s,a,o,c,l,d)}roundClean(){yl(zf)}destroy(){this.set(0,0,0,0,0,0,0,0),yl(this.buffer)}}const hwe=twe(["0x428a2f98d728ae22","0x7137449123ef65cd","0xb5c0fbcfec4d3b2f","0xe9b5dba58189dbbc","0x3956c25bf348b538","0x59f111f1b605d019","0x923f82a4af194f9b","0xab1c5ed5da6d8118","0xd807aa98a3030242","0x12835b0145706fbe","0x243185be4ee4b28c","0x550c7dc3d5ffb4e2","0x72be5d74f27b896f","0x80deb1fe3b1696b1","0x9bdc06a725c71235","0xc19bf174cf692694","0xe49b69c19ef14ad2","0xefbe4786384f25e3","0x0fc19dc68b8cd5b5","0x240ca1cc77ac9c65","0x2de92c6f592b0275","0x4a7484aa6ea6e483","0x5cb0a9dcbd41fbd4","0x76f988da831153b5","0x983e5152ee66dfab","0xa831c66d2db43210","0xb00327c898fb213f","0xbf597fc7beef0ee4","0xc6e00bf33da88fc2","0xd5a79147930aa725","0x06ca6351e003826f","0x142929670a0e6e70","0x27b70a8546d22ffc","0x2e1b21385c26c926","0x4d2c6dfc5ac42aed","0x53380d139d95b3df","0x650a73548baf63de","0x766a0abb3c77b2a8","0x81c2c92e47edaee6","0x92722c851482353b","0xa2bfe8a14cf10364","0xa81a664bbc423001","0xc24b8b70d0f89791","0xc76c51a30654be30","0xd192e819d6ef5218","0xd69906245565a910","0xf40e35855771202a","0x106aa07032bbd1b8","0x19a4c116b8d2d0c8","0x1e376c085141ab53","0x2748774cdf8eeb99","0x34b0bcb5e19b48a8","0x391c0cb3c5c95a63","0x4ed8aa4ae3418acb","0x5b9cca4f7763e373","0x682e6ff3d6b2b8a3","0x748f82ee5defb2fc","0x78a5636f43172f60","0x84c87814a1f0ab72","0x8cc702081a6439ec","0x90befffa23631e28","0xa4506cebde82bde9","0xbef9a3f7b2c67915","0xc67178f2e372532b","0xca273eceea26619c","0xd186b8c721c0c207","0xeada7dd6cde0eb1e","0xf57d4f7fee6ed178","0x06f067aa72176fba","0x0a637dc5a2c898a6","0x113f9804bef90dae","0x1b710b35131c471b","0x28db77f523047d84","0x32caab7b40c72493","0x3c9ebe0a15c9bebc","0x431d67c49c100d4c","0x4cc5d4becb3e42b6","0x597f299cfc657e2a","0x5fcb6fab3ad6faec","0x6c44198c4a475817"].map(t=>BigInt(t))),T2t=hwe[0],P2t=hwe[1],Hf=new Uint32Array(80),Vf=new Uint32Array(80);let HW=class extends uwe{constructor(e=64){super(128,e,16,!1),this.Ah=ua[0]|0,this.Al=ua[1]|0,this.Bh=ua[2]|0,this.Bl=ua[3]|0,this.Ch=ua[4]|0,this.Cl=ua[5]|0,this.Dh=ua[6]|0,this.Dl=ua[7]|0,this.Eh=ua[8]|0,this.El=ua[9]|0,this.Fh=ua[10]|0,this.Fl=ua[11]|0,this.Gh=ua[12]|0,this.Gl=ua[13]|0,this.Hh=ua[14]|0,this.Hl=ua[15]|0}get(){const{Ah:e,Al:n,Bh:r,Bl:i,Ch:s,Cl:a,Dh:o,Dl:c,Eh:l,El:d,Fh:u,Fl:h,Gh:p,Gl:g,Hh:m,Hl:y}=this;return[e,n,r,i,s,a,o,c,l,d,u,h,p,g,m,y]}set(e,n,r,i,s,a,o,c,l,d,u,h,p,g,m,y){this.Ah=e|0,this.Al=n|0,this.Bh=r|0,this.Bl=i|0,this.Ch=s|0,this.Cl=a|0,this.Dh=o|0,this.Dl=c|0,this.Eh=l|0,this.El=d|0,this.Fh=u|0,this.Fl=h|0,this.Gh=p|0,this.Gl=g|0,this.Hh=m|0,this.Hl=y|0}process(e,n){for(let v=0;v<16;v++,n+=4)Hf[v]=e.getUint32(n),Vf[v]=e.getUint32(n+=4);for(let v=16;v<80;v++){const E=Hf[v-15]|0,C=Vf[v-15]|0,w=l0(E,C,1)^l0(E,C,8)^qQ(E,C,7),S=d0(E,C,1)^d0(E,C,8)^ZQ(E,C,7),I=Hf[v-2]|0,P=Vf[v-2]|0,T=l0(I,P,19)^G6(I,P,61)^qQ(I,P,6),M=d0(I,P,19)^Y6(I,P,61)^ZQ(I,P,6),R=o2t(S,M,Vf[v-7],Vf[v-16]),O=c2t(R,w,T,Hf[v-7],Hf[v-16]);Hf[v]=O|0,Vf[v]=R|0}let{Ah:r,Al:i,Bh:s,Bl:a,Ch:o,Cl:c,Dh:l,Dl:d,Eh:u,El:h,Fh:p,Fl:g,Gh:m,Gl:y,Hh:b,Hl:x}=this;for(let v=0;v<80;v++){const E=l0(u,h,14)^l0(u,h,18)^G6(u,h,41),C=d0(u,h,14)^d0(u,h,18)^Y6(u,h,41),w=u&p^~u&m,S=h&g^~h&y,I=l2t(x,C,S,P2t[v],Vf[v]),P=d2t(I,b,E,w,T2t[v],Hf[v]),T=I|0,M=l0(r,i,28)^G6(r,i,34)^G6(r,i,39),R=d0(r,i,28)^Y6(r,i,34)^Y6(r,i,39),O=r&s^r&o^s&o,$=i&a^i&c^a&c;b=m|0,x=y|0,m=p|0,y=g|0,p=u|0,g=h|0,{h:u,l:h}=Vl(l|0,d|0,P|0,T|0),l=o|0,d=c|0,o=s|0,c=a|0,s=r|0,a=i|0;const A=FW(T,R,$);r=WW(A,P,M,O),i=A|0}({h:r,l:i}=Vl(this.Ah|0,this.Al|0,r|0,i|0)),{h:s,l:a}=Vl(this.Bh|0,this.Bl|0,s|0,a|0),{h:o,l:c}=Vl(this.Ch|0,this.Cl|0,o|0,c|0),{h:l,l:d}=Vl(this.Dh|0,this.Dl|0,l|0,d|0),{h:u,l:h}=Vl(this.Eh|0,this.El|0,u|0,h|0),{h:p,l:g}=Vl(this.Fh|0,this.Fl|0,p|0,g|0),{h:m,l:y}=Vl(this.Gh|0,this.Gl|0,m|0,y|0),{h:b,l:x}=Vl(this.Hh|0,this.Hl|0,b|0,x|0),this.set(r,i,s,a,o,c,l,d,u,h,p,g,m,y,b,x)}roundClean(){yl(Hf,Vf)}destroy(){yl(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}};class O2t extends HW{constructor(){super(48),this.Ah=da[0]|0,this.Al=da[1]|0,this.Bh=da[2]|0,this.Bl=da[3]|0,this.Ch=da[4]|0,this.Cl=da[5]|0,this.Dh=da[6]|0,this.Dl=da[7]|0,this.Eh=da[8]|0,this.El=da[9]|0,this.Fh=da[10]|0,this.Fl=da[11]|0,this.Gh=da[12]|0,this.Gl=da[13]|0,this.Hh=da[14]|0,this.Hl=da[15]|0}}const ha=Uint32Array.from([573645204,4230739756,2673172387,3360449730,596883563,1867755857,2520282905,1497426621,2519219938,2827943907,3193839141,1401305490,721525244,746961066,246885852,2177182882]);class N2t extends HW{constructor(){super(32),this.Ah=ha[0]|0,this.Al=ha[1]|0,this.Bh=ha[2]|0,this.Bl=ha[3]|0,this.Ch=ha[4]|0,this.Cl=ha[5]|0,this.Dh=ha[6]|0,this.Dl=ha[7]|0,this.Eh=ha[8]|0,this.El=ha[9]|0,this.Fh=ha[10]|0,this.Fl=ha[11]|0,this.Gh=ha[12]|0,this.Gl=ha[13]|0,this.Hh=ha[14]|0,this.Hl=ha[15]|0}}const p$=o8(()=>new k2t),R2t=o8(()=>new HW),M2t=o8(()=>new O2t),j2t=o8(()=>new N2t),D2t=Uint8Array.from([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,14,10,4,8,9,15,13,6,1,12,0,2,11,7,5,3,11,8,12,0,5,2,15,13,10,14,3,6,7,1,9,4,7,9,3,1,13,12,11,14,2,6,5,10,4,0,15,8,9,0,5,7,2,4,10,15,14,1,11,12,6,8,3,13,2,12,6,10,0,11,8,3,4,13,7,5,15,14,1,9,12,5,1,15,14,13,4,10,0,7,6,3,9,2,8,11,13,11,7,14,12,1,3,9,5,0,15,4,8,6,2,10,6,15,14,9,11,3,0,8,12,2,13,7,1,4,10,5,10,2,8,4,7,6,1,5,15,11,9,14,3,12,13,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,14,10,4,8,9,15,13,6,1,12,0,2,11,7,5,3,11,8,12,0,5,2,15,13,10,14,3,6,7,1,9,4,7,9,3,1,13,12,11,14,2,6,5,10,4,0,15,8,9,0,5,7,2,4,10,15,14,1,11,12,6,8,3,13,2,12,6,10,0,11,8,3,4,13,7,5,15,14,1,9]),Xi=Uint32Array.from([4089235720,1779033703,2227873595,3144134277,4271175723,1013904242,1595750129,2773480762,2917565137,1359893119,725511199,2600822924,4215389547,528734635,327033209,1541459225]),yt=new Uint32Array(32);function qf(t,e,n,r,i,s){const a=i[s],o=i[s+1];let c=yt[2*t],l=yt[2*t+1],d=yt[2*e],u=yt[2*e+1],h=yt[2*n],p=yt[2*n+1],g=yt[2*r],m=yt[2*r+1],y=FW(c,d,a);l=WW(y,l,u,o),c=y|0,{Dh:m,Dl:g}={Dh:m^l,Dl:g^c},{Dh:m,Dl:g}={Dh:t2t(m,g),Dl:n2t(m)},{h:p,l:h}=Vl(p,h,m,g),{Bh:u,Bl:d}={Bh:u^p,Bl:d^h},{Bh:u,Bl:d}={Bh:l0(u,d,24),Bl:d0(u,d,24)},yt[2*t]=c,yt[2*t+1]=l,yt[2*e]=d,yt[2*e+1]=u,yt[2*n]=h,yt[2*n+1]=p,yt[2*r]=g,yt[2*r+1]=m}function Zf(t,e,n,r,i,s){const a=i[s],o=i[s+1];let c=yt[2*t],l=yt[2*t+1],d=yt[2*e],u=yt[2*e+1],h=yt[2*n],p=yt[2*n+1],g=yt[2*r],m=yt[2*r+1],y=FW(c,d,a);l=WW(y,l,u,o),c=y|0,{Dh:m,Dl:g}={Dh:m^l,Dl:g^c},{Dh:m,Dl:g}={Dh:l0(m,g,16),Dl:d0(m,g,16)},{h:p,l:h}=Vl(p,h,m,g),{Bh:u,Bl:d}={Bh:u^p,Bl:d^h},{Bh:u,Bl:d}={Bh:G6(u,d,63),Bl:Y6(u,d,63)},yt[2*t]=c,yt[2*t+1]=l,yt[2*e]=d,yt[2*e+1]=u,yt[2*n]=h,yt[2*n+1]=p,yt[2*r]=g,yt[2*r+1]=m}function L2t(t,e={},n,r,i){if(cf(n),t<0||t>n)throw new Error("outputLen bigger than keyLen");const{key:s,salt:a,personalization:o}=e;if(s!==void 0&&(s.length<1||s.length>n))throw new Error("key length must be undefined or 1.."+n);if(a!==void 0&&a.length!==r)throw new Error("salt must be undefined or "+r);if(o!==void 0&&o.length!==i)throw new Error("personalization must be undefined or "+i)}class B2t extends h${constructor(e,n){super(),this.finished=!1,this.destroyed=!1,this.length=0,this.pos=0,cf(e),cf(n),this.blockLen=e,this.outputLen=n,this.buffer=new Uint8Array(e),this.buffer32=D4(this.buffer)}update(e){t1(this),e=hd(e),Sd(e);const{blockLen:n,buffer:r,buffer32:i}=this,s=e.length,a=e.byteOffset,o=e.buffer;for(let c=0;c<s;){this.pos===n&&(u0(i),this.compress(i,0,!1),u0(i),this.pos=0);const l=Math.min(n-this.pos,s-c),d=a+c;if(l===n&&!(d%4)&&c+l<s){const u=new Uint32Array(o,d,Math.floor((s-c)/4));u0(u);for(let h=0;c+n<s;h+=i.length,c+=n)this.length+=n,this.compress(u,h,!1);u0(u);continue}r.set(e.subarray(c,c+l),this.pos),this.pos+=l,this.length+=l,c+=l}return this}digestInto(e){t1(this),zW(e,this);const{pos:n,buffer32:r}=this;this.finished=!0,yl(this.buffer.subarray(n)),u0(r),this.compress(r,0,!0),u0(r);const i=D4(e);this.get().forEach((s,a)=>i[a]=mp(s))}digest(){const{buffer:e,outputLen:n}=this;this.digestInto(e);const r=e.slice(0,n);return this.destroy(),r}_cloneInto(e){const{buffer:n,length:r,finished:i,destroyed:s,outputLen:a,pos:o}=this;return e||(e=new this.constructor({dkLen:a})),e.set(...this.get()),e.buffer.set(n),e.destroyed=s,e.finished=i,e.length=r,e.pos=o,e.outputLen=a,e}clone(){return this._cloneInto()}}class U2t extends B2t{constructor(e={}){const n=e.dkLen===void 0?64:e.dkLen;super(128,n),this.v0l=Xi[0]|0,this.v0h=Xi[1]|0,this.v1l=Xi[2]|0,this.v1h=Xi[3]|0,this.v2l=Xi[4]|0,this.v2h=Xi[5]|0,this.v3l=Xi[6]|0,this.v3h=Xi[7]|0,this.v4l=Xi[8]|0,this.v4h=Xi[9]|0,this.v5l=Xi[10]|0,this.v5h=Xi[11]|0,this.v6l=Xi[12]|0,this.v6h=Xi[13]|0,this.v7l=Xi[14]|0,this.v7h=Xi[15]|0,L2t(n,e,64,16,16);let{key:r,personalization:i,salt:s}=e,a=0;if(r!==void 0&&(r=hd(r),a=r.length),this.v0l^=this.outputLen|a<<8|65536|1<<24,s!==void 0){s=hd(s);const o=D4(s);this.v4l^=mp(o[0]),this.v4h^=mp(o[1]),this.v5l^=mp(o[2]),this.v5h^=mp(o[3])}if(i!==void 0){i=hd(i);const o=D4(i);this.v6l^=mp(o[0]),this.v6h^=mp(o[1]),this.v7l^=mp(o[2]),this.v7h^=mp(o[3])}if(r!==void 0){const o=new Uint8Array(this.blockLen);o.set(r),this.update(o)}}get(){let{v0l:e,v0h:n,v1l:r,v1h:i,v2l:s,v2h:a,v3l:o,v3h:c,v4l:l,v4h:d,v5l:u,v5h:h,v6l:p,v6h:g,v7l:m,v7h:y}=this;return[e,n,r,i,s,a,o,c,l,d,u,h,p,g,m,y]}set(e,n,r,i,s,a,o,c,l,d,u,h,p,g,m,y){this.v0l=e|0,this.v0h=n|0,this.v1l=r|0,this.v1h=i|0,this.v2l=s|0,this.v2h=a|0,this.v3l=o|0,this.v3h=c|0,this.v4l=l|0,this.v4h=d|0,this.v5l=u|0,this.v5h=h|0,this.v6l=p|0,this.v6h=g|0,this.v7l=m|0,this.v7h=y|0}compress(e,n,r){this.get().forEach((c,l)=>yt[l]=c),yt.set(Xi,16);let{h:i,l:s}=ewe(BigInt(this.length));yt[24]=Xi[8]^s,yt[25]=Xi[9]^i,r&&(yt[28]=~yt[28],yt[29]=~yt[29]);let a=0;const o=D2t;for(let c=0;c<12;c++)qf(0,4,8,12,e,n+2*o[a++]),Zf(0,4,8,12,e,n+2*o[a++]),qf(1,5,9,13,e,n+2*o[a++]),Zf(1,5,9,13,e,n+2*o[a++]),qf(2,6,10,14,e,n+2*o[a++]),Zf(2,6,10,14,e,n+2*o[a++]),qf(3,7,11,15,e,n+2*o[a++]),Zf(3,7,11,15,e,n+2*o[a++]),qf(0,5,10,15,e,n+2*o[a++]),Zf(0,5,10,15,e,n+2*o[a++]),qf(1,6,11,12,e,n+2*o[a++]),Zf(1,6,11,12,e,n+2*o[a++]),qf(2,7,8,13,e,n+2*o[a++]),Zf(2,7,8,13,e,n+2*o[a++]),qf(3,4,9,14,e,n+2*o[a++]),Zf(3,4,9,14,e,n+2*o[a++]);this.v0l^=yt[0]^yt[16],this.v0h^=yt[1]^yt[17],this.v1l^=yt[2]^yt[18],this.v1h^=yt[3]^yt[19],this.v2l^=yt[4]^yt[20],this.v2h^=yt[5]^yt[21],this.v3l^=yt[6]^yt[22],this.v3h^=yt[7]^yt[23],this.v4l^=yt[8]^yt[24],this.v4h^=yt[9]^yt[25],this.v5l^=yt[10]^yt[26],this.v5h^=yt[11]^yt[27],this.v6l^=yt[12]^yt[28],this.v6h^=yt[13]^yt[29],this.v7l^=yt[14]^yt[30],this.v7h^=yt[15]^yt[31],yl(yt)}destroy(){this.destroyed=!0,yl(this.buffer32),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}}const F2t=p2t(t=>new U2t(t)),W2t="https://rpc.walletconnect.org/v1";function pwe(t){const e=`Ethereum Signed Message: