@supanovaapp/sdk 0.2.19 → 0.2.20

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[BX]=this[BX]={accessors:{}}).accessors,i=this.prototype;function s(a){const o=qv(a);r[o]||(Uft(i,a),r[o]=!0)}return Ie.isArray(e)?e.forEach(s):s(e),this}};Bo.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);Ie.reduceDescriptors(Bo.prototype,({value:t},e)=>{let n=e[0].toUpperCase()+e.slice(1);return{get:()=>t,set(r){this[n]=r}}});Ie.freezeMethods(Bo);function ZT(t,e){const n=this||J5,r=e||n,i=Bo.from(r.headers);let s=r.data;return Ie.forEach(t,function(o){s=o.call(n,s,i.normalize(),e?e.status:void 0)}),i.normalize(),s}function mye(t){return!!(t&&t.__CANCEL__)}function tv(t,e,n){ln.call(this,t??"canceled",ln.ERR_CANCELED,e,n),this.name="CanceledError"}Ie.inherits(tv,ln,{__CANCEL__:!0});function yye(t,e,n){const r=n.config.validateStatus;!n.status||!r||r(n.status)?t(n):e(new ln("Request failed with status code "+n.status,[ln.ERR_BAD_REQUEST,ln.ERR_BAD_RESPONSE][Math.floor(n.status/100)-4],n.config,n.request,n))}function Fft(t){const e=/^([-+\w]{1,25})(:?\/\/|:)/.exec(t);return e&&e[1]||""}function Wft(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 zft(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 ZA=(t,e,n=3)=>{let r=0;const i=Wft(50,250);return zft(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)},LX=(t,e)=>{const n=t!=null;return[r=>e[0]({lengthComputable:n,total:t,loaded:r}),e[1]]},UX=t=>(...e)=>Ie.asap(()=>t(...e)),Hft=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,Vft=Ea.hasStandardBrowserEnv?{write(t,e,n,r,i,s,a){if(typeof document>"u")return;const o=[`${t}=${encodeURIComponent(e)}`];Ie.isNumber(n)&&o.push(`expires=${new Date(n).toUTCString()}`),Ie.isString(r)&&o.push(`path=${r}`),Ie.isString(i)&&o.push(`domain=${i}`),s===!0&&o.push("secure"),Ie.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 Zft(t,e){return e?t.replace(/\/?\/$/,"")+"/"+e.replace(/^\/+/,""):t}function wye(t,e,n){let r=!qft(e);return t&&(r||n==!1)?Zft(t,e):e}const FX=t=>t instanceof Bo?{...t}:t;function xm(t,e){e=e||{};const n={};function r(l,d,u,h){return Ie.isPlainObject(l)&&Ie.isPlainObject(d)?Ie.merge.call({caseless:h},l,d):Ie.isPlainObject(d)?Ie.merge({},d):Ie.isArray(d)?d.slice():d}function i(l,d,u,h){if(Ie.isUndefined(d)){if(!Ie.isUndefined(l))return r(void 0,l,u,h)}else return r(l,d,u,h)}function s(l,d){if(!Ie.isUndefined(d))return r(void 0,d)}function a(l,d){if(Ie.isUndefined(d)){if(!Ie.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(FX(l),FX(d),u,!0)};return Ie.forEach(Object.keys({...t,...e}),function(d){const u=c[d]||i,h=u(t[d],e[d],d);Ie.isUndefined(h)&&u!==o||(n[d]=h)}),n}const bye=t=>{const e=xm({},t);let{data:n,withXSRFToken:r,xsrfHeaderName:i,xsrfCookieName:s,headers:a,auth:o}=e;if(e.headers=a=Bo.from(a),e.url=pye(wye(e.baseURL,e.url,e.allowAbsoluteUrls),t.params,t.paramsSerializer),o&&a.set("Authorization","Basic "+btoa((o.username||"")+":"+(o.password?unescape(encodeURIComponent(o.password)):""))),Ie.isFormData(n)){if(Ea.hasStandardBrowserEnv||Ea.hasStandardBrowserWebWorkerEnv)a.setContentType(void 0);else if(Ie.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&&Ie.isFunction(r)&&(r=r(e)),r||r!==!1&&Hft(e.url))){const c=i&&s&&Vft.read(s);c&&a.set(i,c)}return e},Kft=typeof XMLHttpRequest<"u",Gft=Kft&&function(t){return new Promise(function(n,r){const i=bye(t);let s=i.data;const a=Bo.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=Bo.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};yye(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 ln("Request aborted",ln.ECONNABORTED,t,y)),y=null)},y.onerror=function(E){const C=E&&E.message?E.message:"Network Error",w=new ln(C,ln.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||fye;i.timeoutErrorMessage&&(E=i.timeoutErrorMessage),r(new ln(E,C.clarifyTimeoutError?ln.ETIMEDOUT:ln.ECONNABORTED,t,y)),y=null},s===void 0&&a.setContentType(null),"setRequestHeader"in y&&Ie.forEach(a.toJSON(),function(E,C){y.setRequestHeader(C,E)}),Ie.isUndefined(i.withCredentials)||(y.withCredentials=!!i.withCredentials),o&&o!=="json"&&(y.responseType=i.responseType),l&&([h,g]=ZA(l,!0),y.addEventListener("progress",h)),c&&y.upload&&([u,p]=ZA(c),y.upload.addEventListener("progress",u),y.upload.addEventListener("loadend",p)),(i.cancelToken||i.signal)&&(d=v=>{y&&(r(!v||v.type?new tv(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=Fft(i.url);if(x&&Ea.protocols.indexOf(x)===-1){r(new ln("Unsupported protocol "+x+":",ln.ERR_BAD_REQUEST,t));return}y.send(s||null)})},Yft=(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 ln?d:new tv(d instanceof Error?d.message:d))}};let a=e&&setTimeout(()=>{a=null,s(new ln(`timeout ${e} of ms exceeded`,ln.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=()=>Ie.asap(o),c}},Jft=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},Xft=async function*(t,e){for await(const n of Qft(t))yield*Jft(n,e)},Qft=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()}},WX=(t,e,n,r)=>{const i=Xft(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})},zX=64*1024,{isFunction:kE}=Ie,e0t=(({Request:t,Response:e})=>({Request:t,Response:e}))(Ie.global),{ReadableStream:HX,TextEncoder:VX}=Ie.global,qX=(t,...e)=>{try{return!!t(...e)}catch{return!1}},t0t=t=>{t=Ie.merge.call({skipUndefined:!0},e0t,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(HX),c=i&&(typeof VX=="function"?(g=>m=>g.encode(m))(new VX):async g=>new Uint8Array(await new n(g).arrayBuffer())),l=s&&o&&qX(()=>{let g=!1;const m=new n(Ea.origin,{body:new HX,method:"POST",get duplex(){return g=!0,"half"}}).headers.has("Content-Type");return g&&!m}),d=a&&o&&qX(()=>Ie.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 ln(`Response type '${g}' is not supported`,ln.ERR_NOT_SUPPORT,y)})});const h=async g=>{if(g==null)return 0;if(Ie.isBlob(g))return g.size;if(Ie.isSpecCompliantForm(g))return(await new n(Ea.origin,{method:"POST",body:g}).arrayBuffer()).byteLength;if(Ie.isArrayBufferView(g)||Ie.isArrayBuffer(g))return g.byteLength;if(Ie.isURLSearchParams(g)&&(g=g+""),Ie.isString(g))return(await c(g)).byteLength},p=async(g,m)=>{const y=Ie.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:k,withCredentials:P="same-origin",fetchOptions:T}=bye(g),R=e||fetch;S=S?(S+"").toLowerCase():"text";let M=Yft([x,v&&v.toAbortSignal()],E),N=null;const $=M&&M.unsubscribe&&(()=>{M.unsubscribe()});let A;try{if(w&&l&&y!=="get"&&y!=="head"&&(A=await p(k,b))!==0){let F=new n(m,{method:"POST",body:b,duplex:"half"}),W;if(Ie.isFormData(b)&&(W=F.headers.get("content-type"))&&k.setContentType(W),F.body){const[Z,V]=LX(A,ZA(UX(w)));b=WX(F.body,zX,Z,V)}}Ie.isString(P)||(P=P?"include":"omit");const I=s&&"credentials"in n.prototype,B={...T,signal:M,method:y.toUpperCase(),headers:k.normalize().toJSON(),body:b,duplex:"half",credentials:I?P:void 0};N=s&&new n(m,B);let D=await(s?R(N,T):R(m,B));const O=d&&(S==="stream"||S==="response");if(d&&(C||O&&$)){const F={};["status","statusText","headers"].forEach(q=>{F[q]=D[q]});const W=Ie.toFiniteNumber(D.headers.get("content-length")),[Z,V]=C&&LX(W,ZA(UX(C),!0))||[];D=new r(WX(D.body,zX,Z,()=>{V&&V(),$&&$()}),F)}S=S||"text";let j=await u[Ie.findKey(u,S)||"text"](D,g);return!O&&$&&$(),await new Promise((F,W)=>{yye(F,W,{data:j,headers:Bo.from(D.headers),status:D.status,statusText:D.statusText,config:g,request:N})})}catch(I){throw $&&$(),I&&I.name==="TypeError"&&/Load failed|fetch/i.test(I.message)?Object.assign(new ln("Network Error",ln.ERR_NETWORK,g,N),{cause:I.cause||I}):ln.from(I,I&&I.code,g,N)}}},n0t=new Map,vye=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=n0t;for(;o--;)c=s[o],l=d.get(c),l===void 0&&d.set(c,l=o?new Map:t0t(e)),d=l;return l};vye();const bW={http:bft,xhr:Gft,fetch:{get:vye}};Ie.forEach(bW,(t,e)=>{if(t){try{Object.defineProperty(t,"name",{value:e})}catch{}Object.defineProperty(t,"adapterName",{value:e})}});const ZX=t=>`- ${t}`,r0t=t=>Ie.isFunction(t)||t===null||t===!1;function i0t(t,e){t=Ie.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,!r0t(r)&&(i=bW[(o=String(r)).toLowerCase()],i===void 0))throw new ln(`Unknown adapter '${o}'`);if(i&&(Ie.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(ZX).join(`
423
423
  `):" "+ZX(a[0]):"as no adapter specified";throw new ln("There is no suitable adapter to dispatch the request "+o,"ERR_NOT_SUPPORT")}return i}const xye={getAdapter:i0t,adapters:bW};function KT(t){if(t.cancelToken&&t.cancelToken.throwIfRequested(),t.signal&&t.signal.aborted)throw new tv(null,t)}function KX(t){return KT(t),t.headers=Bo.from(t.headers),t.data=ZT.call(t,t.transformRequest),["post","put","patch"].indexOf(t.method)!==-1&&t.headers.setContentType("application/x-www-form-urlencoded",!1),xye.getAdapter(t.adapter||J5.adapter,t)(t).then(function(r){return KT(t),r.data=ZT.call(t,t.transformResponse,r),r.headers=Bo.from(r.headers),r},function(r){return mye(r)||(KT(t),r&&r.response&&(r.response.data=ZT.call(t,t.transformResponse,r.response),r.response.headers=Bo.from(r.response.headers))),Promise.reject(r)})}const Eye="1.13.2",G_={};["object","boolean","number","function","string","symbol"].forEach((t,e)=>{G_[t]=function(r){return typeof r===t||"a"+(e<1?"n ":" ")+t}});const GX={};G_.transitional=function(e,n,r){function i(s,a){return"[Axios v"+Eye+"] Transitional option '"+s+"'"+a+(r?". "+r:"")}return(s,a,o)=>{if(e===!1)throw new ln(i(a," has been removed"+(n?" in "+n:"")),ln.ERR_DEPRECATED);return n&&!GX[a]&&(GX[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}};G_.spelling=function(e){return(n,r)=>(console.warn(`${r} is likely a misspelling of ${e}`),!0)};function s0t(t,e,n){if(typeof t!="object")throw new ln("options must be an object",ln.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 ln("option "+s+" must be "+c,ln.ERR_BAD_OPTION_VALUE);continue}if(n!==!0)throw new ln("Unknown option "+s,ln.ERR_BAD_OPTION)}}const BC={assertOptions:s0t,validators:G_},Vd=BC.validators;let Ug=class{constructor(e){this.defaults=e||{},this.interceptors={request:new DX,response:new DX}}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&&BC.assertOptions(r,{silentJSONParsing:Vd.transitional(Vd.boolean),forcedJSONParsing:Vd.transitional(Vd.boolean),clarifyTimeoutError:Vd.transitional(Vd.boolean)},!1),i!=null&&(Ie.isFunction(i)?n.paramsSerializer={serialize:i}:BC.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),BC.assertOptions(n,{baseUrl:Vd.spelling("baseURL"),withXsrfToken:Vd.spelling("withXSRFToken")},!0),n.method=(n.method||this.defaults.method||"get").toLowerCase();let a=s&&Ie.merge(s.common,s[n.method]);s&&Ie.forEach(["delete","get","head","post","put","patch","common"],g=>{delete s[g]}),n.headers=Bo.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=[KX.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=KX.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=wye(e.baseURL,e.url,e.allowAbsoluteUrls);return pye(n,e.params,e.paramsSerializer)}};Ie.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}))}});Ie.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 a0t=class Cye{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 tv(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 Cye(function(i){e=i}),cancel:e}}};function o0t(t){return function(n){return t.apply(null,n)}}function c0t(t){return Ie.isObject(t)&&t.isAxiosError===!0}const zj={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(zj).forEach(([t,e])=>{zj[e]=t});function Aye(t){const e=new Ug(t),n=tye(Ug.prototype.request,e);return Ie.extend(n,Ug.prototype,e,{allOwnKeys:!0}),Ie.extend(n,e,null,{allOwnKeys:!0}),n.create=function(i){return Aye(xm(t,i))},n}const Si=Aye(J5);Si.Axios=Ug;Si.CanceledError=tv;Si.CancelToken=a0t;Si.isCancel=mye;Si.VERSION=Eye;Si.toFormData=K_;Si.AxiosError=ln;Si.Cancel=Si.CanceledError;Si.all=function(e){return Promise.all(e)};Si.spread=o0t;Si.isAxiosError=c0t;Si.mergeConfig=xm;Si.AxiosHeaders=Bo;Si.formToJSON=t=>gye(Ie.isHTMLForm(t)?new FormData(t):t);Si.getAdapter=xye.getAdapter;Si.HttpStatusCode=zj;Si.default=Si;const{Axios:Xqt,AxiosError:Qqt,CanceledError:eZt,isCancel:tZt,CancelToken:nZt,VERSION:rZt,all:iZt,Cancel:sZt,isAxiosError:aZt,spread:oZt,toFormData:cZt,AxiosHeaders:lZt,HttpStatusCode:dZt,formToJSON:uZt,getAdapter:hZt,mergeConfig:pZt}=Si;class Sye{client;getAccessToken;nodeIdentifier;supaAppId;constructor(e={nodeIdentifier:""}){const n=e.baseURL||"https://stage_api.walletino.fyi";this.nodeIdentifier=e.nodeIdentifier,this.supaAppId=e.supaAppId,this.client=Si.create({baseURL:n,headers:{"Content-Type":"application/json"}}),this.getAccessToken=e.getAccessToken,this.client.interceptors.request.use(async r=>{if(this.getAccessToken)try{const i=await this.getAccessToken();i&&(r.headers.Authorization=`Bearer ${i}`)}catch(i){console.error("[Supa SDK] ❌ Failed to get access token:",i)}return r.url?.startsWith("/canton/")&&(r.headers["X-Canton-Node-Id"]=this.nodeIdentifier),this.supaAppId&&(r.headers["X-Supa-App-Id"]=this.supaAppId),console.group(`[Supa SDK] 📤 REQUEST: ${r.method?.toUpperCase()} ${r.url}`),console.log("Headers:",{"Content-Type":r.headers["Content-Type"],Authorization:r.headers.Authorization?`Bearer ***${String(r.headers.Authorization).slice(-20)}`:"none","X-Canton-Node-Id":r.headers["X-Canton-Node-Id"]||"none","X-Supa-App-Id":r.headers["X-Supa-App-Id"]||"none"}),r.data&&console.log("Request Body:",r.data),console.groupEnd(),r},r=>Promise.reject(r)),this.client.interceptors.response.use(r=>(console.group(`[Supa SDK] 📥 RESPONSE: ${r.status} ${r.config.method?.toUpperCase()} ${r.config.url}`),console.log("Status:",r.status,r.statusText),console.log("Response Data:",r.data),console.groupEnd(),r),r=>{if(r.response){console.group(`[Supa SDK] ❌ ERROR RESPONSE: ${r.response.status} ${r.config?.method?.toUpperCase()} ${r.config?.url}`),console.error("Status:",r.response.status,r.response.statusText),console.error("Request Body:",r.config?.data),console.error("Response Data:",r.response.data),console.groupEnd();const i={statusCode:r.response.status,message:r.response.data?.message||r.message,error:r.response.data?.error};return Promise.reject(i)}return console.error("[Supa SDK] ❌ Network error:",r.message),Promise.reject({statusCode:0,message:r.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 KA=null;function _ye(t){return KA=new Sye(t),KA}function l0t(){if(!KA)throw new Error("ApiClient not initialized. Call createApiClient first.");return KA}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 $ye(n)},nd=t=>{const e=kye(t);return"0x"+Array.from(e).map(n=>n.toString(16).padStart(2,"0")).join("")},$ye=t=>btoa(String.fromCharCode(...t)),kye=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},d0t=t=>{let e=t.startsWith("0x")?t.slice(2):t;return e.startsWith("00")&&(e=e.slice(2)),"0x"+e},Iye=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")}},u0t="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz",Tye=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=u0t.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)},Pye=t=>{const e=Tye(t);if(e.length!==32)throw new Error(`Invalid Solana address: expected 32 bytes, got ${e.length}`);return btoa(String.fromCharCode(...e))};class Oye{constructor(e){this.client=e}meCache=null;meCacheTimestamp=0;mePendingPromise=null;CACHE_TTL=300*1e3;invalidateMeCache(){this.meCache=null,this.meCacheTimestamp=0,this.mePendingPromise=null}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){return await this.client.post("/canton/api/submit_prepared",{hash:e,signature:n})}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}=r,a=await this.submitPrepared(e,n),{submissionId:o}=a,c=Date.now();for(;Date.now()-c<i;){const l=await this.queryCompletion(o);if(l.status==="completed")return this.invalidateMeCache(),l;await new Promise(d=>setTimeout(d,s))}throw new Error(`Transaction completion timeout after ${i}ms for submissionId: ${o}`)}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){const n=new URLSearchParams;e&&e.forEach(s=>n.append("templateIds",s));const r=n.toString(),i=r?`/canton/api/active_contracts?${r}`:"/canton/api/active_contracts";return await this.client.get(i)}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){return await this.client.post("/canton/api/prepare_transaction",{commands:e,disclosedContracts:n})}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 prepareAmuletTransfer(e){const n=e.amount.split(".");if(n.length>1&&n[1].length>10)throw new Error(`Amount cannot have more than 10 decimal places. Got: ${n[1].length}`);const r=await this.client.post("/canton/transfers/prepare_amulet_transfer",e);return this.invalidateMeCache(),r}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 GA=null;function h0t(t){return GA=new Oye(t),GA}function p0t(){if(!GA)throw new Error("CantonService not initialized. Call createCantonService first or use SDK within SupaProvider.");return GA}class Nye{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 YA=null;function f0t(t){return YA=new Nye(t),YA}function g0t(){if(!YA)throw new Error("ApiService not initialized. Call createApiService first or use SDK within SupaProvider.");return YA}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}},m0t=()=>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"})]}),y0t=()=>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"})]}),w0t=()=>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"})]}),b0t=()=>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 P4({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(aF,{show:t,as:_.Fragment,children:f.jsxs(Jpe,{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(cF,{className:m,style:Yi.panel,children:[f.jsxs("div",{style:Yi.header,children:[f.jsxs(Ype,{style:Yi.title,children:[d||f.jsx(y0t,{}),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(m0t,{})})]}),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(b0t,{}),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 Hj({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(P4,{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 Vj({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(P4,{open:t,onClose:e,onConfirm:n,onReject:r,title:h,message:i,confirmText:c,rejectText:l,description:p,infoText:d,icon:f.jsx(w0t,{}),loading:s})}const v0t=()=>{let{refreshSessionAndUser:t,privy:e}=Ke();return _.useMemo((()=>({async createWallet(n){let r=await r9(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])},x0t=()=>{let{user:t}=tn(),{privy:e}=Ke(),{signWithUserSigner:n}=rW();return _.useMemo((()=>({async signRawHash({address:r,chainType:i,hash:s}){if(!t)throw Error("User must be authenticated before signing");let a=uU(t,i).filter((c=>Ri(c))).find((c=>c.address===r));if(!a)throw Error("Wallet not found");let o=await ePe(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 Y_(t){return new Uint8Array(zt.getTransactionDecoder().decode(t).messageBytes)}async function Z6({solanaClient:t,tx:e}){let n=zt.getBase64Decoder().decode(Y_(e)),{value:r}=await t.rpc.getFeeForMessage(n).send();return r??0n}async function vW({solanaClient:t,tx:e,replaceRecentBlockhash:n}){let{value:r}=await t.rpc.simulateTransaction(zt.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 vW({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,ue.BUFFER_NOT_DEFINED);return Buffer.from(...t)};async function Rye({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 E0t({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 Rye({rpcSubscriptions:a,signature:d,timeout:1e4}),c({signature:new Uint8Array(zt.getBase58Encoder().encode(d))})}catch(d){l(d)}}))})({rpc:t,rpcSubscriptions:e});return{rpc:t,rpcSubscriptions:e,chain:n,blockExplorerUrl:r,sendAndConfirmTransaction:i}}function xW(){let t=nt(),e=_.useMemo((()=>Object.fromEntries(["solana:mainnet","solana:devnet","solana:testnet"].map((n=>[n,t.solanaRpcs[n]?E0t({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 Mye=["solana:mainnet","solana:devnet","solana:testnet"];function C0t(t){return zt.getBase58Decoder().decode(t)}function Zv(t,e){if(!Object.prototype.hasOwnProperty.call(t,e))throw TypeError("attempted to use private field on non-instance");return t}var A0t=0,jl="__private_"+A0t+++"__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 S0t=0;function nv(t){return"__private_"+S0t+++"_"+t}var Kv=nv("_address"),Gv=nv("_publicKey"),Yv=nv("_chains"),Jv=nv("_features"),Xv=nv("_label"),Qv=nv("_icon");let _0t=class jye{get address(){return zc(this,Kv)[Kv]}get publicKey(){return zc(this,Gv)[Gv].slice()}get chains(){return zc(this,Yv)[Yv].slice()}get features(){return zc(this,Jv)[Jv].slice()}get label(){return zc(this,Xv)[Xv]}get icon(){return zc(this,Qv)[Qv]}constructor({address:e,publicKey:n,label:r,icon:i}){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}),Object.defineProperty(this,Qv,{writable:!0,value:void 0}),zc(this,Kv)[Kv]=e,zc(this,Gv)[Gv]=n,zc(this,Yv)[Yv]=Mye,zc(this,Xv)[Xv]=r,zc(this,Qv)[Qv]=i,zc(this,Jv)[Jv]=["solana:signAndSendTransaction","solana:signTransaction","solana:signMessage"],new.target===jye&&Object.freeze(this)}};function on(t,e){if(!Object.prototype.hasOwnProperty.call(t,e))throw TypeError("attempted to use private field on non-instance");return t}var $0t=0;function Pa(t){return"__private_"+$0t+++"_"+t}var pc=Pa("_listeners"),e6=Pa("_version"),t6=Pa("_name"),n6=Pa("_icon"),Ma=Pa("_injection"),r6=Pa("_isPrivyWallet"),B1=Pa("_accounts"),i6=Pa("_on"),L1=Pa("_emit"),GT=Pa("_off"),U1=Pa("_connected"),s6=Pa("_connect"),a6=Pa("_disconnect"),o6=Pa("_signMessage"),c6=Pa("_signAndSendTransaction"),l6=Pa("_signTransaction");function k0t(t,...e){on(this,pc)[pc][t]?.forEach((n=>n.apply(null,e)))}function I0t(t,e){on(this,pc)[pc][t]=on(this,pc)[pc][t]?.filter((n=>e!==n))}function T0t(t,e,n){let r=structuredClone(zt.getTransactionDecoder().decode(t)),i=zt.address(e);return i in r.signatures&&(r.signatures[i]=n),new Uint8Array(zt.getTransactionEncoder().encode(r))}function Dye(){let{isHeadlessSigning:t,walletProxy:e,initializeWalletProxy:n,recoverEmbeddedWallet:r,openModal:i,privy:s,client:a}=Ke(),{user:o}=qw(),{setModalData:c}=ct(),{signWithUserSigner:l}=rW();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,ue.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,ue.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 k=await fc(s,l,{chain_type:"solana",method:"signMessage",params:{message:v,encoding:"base64"},wallet_id:m.id});if(!k.data||!("signature"in k.data))throw Error("Failed to sign message");C=k.data.signature}else{let{response:k}=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=k.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,ue.UNKNOWN_CONNECT_WALLET_ERROR))}}}),i("EmbeddedWalletConnectingScreen")}))}}function YX(){let{isHeadlessSigning:t,openModal:e}=Ke(),{setModalData:n}=ct(),{signMessage:r}=Dye(),{user:i}=qw();return{signTransaction:async({transaction:s,options:a,chain:o="solana:mainnet",address:c})=>{async function l(d){let{signature:u}=await r({message:Y_(d),address:c,options:{...a,uiOptions:{...a?.uiOptions,showWalletUIs:!1}}});return{signedTransaction:T0t(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,ue.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(ue.TRANSACTION_FAILURE)};n({connectWallet:{recoveryMethod:h.recoveryMethod,connectingWalletAddress:h.address,entropyId:p,entropyIdVerifier:g,isUnifiedWallet:m,onCompleteNavigateTo:"StandardSignAndSendTransactionScreen",onFailure:y(ue.UNKNOWN_CONNECT_WALLET_ERROR)},standardSignAndSendTransaction:b}),e("EmbeddedWalletConnectingScreen")}))}}}let qj=new class extends mf{setImplementation(t){Zv(this,jl)[jl]=t}async signMessage(t){return Zv(this,jl)[jl].signMessage(t)}async signAndSendTransaction(t){return Zv(this,jl)[jl].signAndSendTransaction(t)}async signTransaction(t){return Zv(this,jl)[jl].signTransaction(t)}constructor(t){super(),Object.defineProperty(this,jl,{writable:!0,value:void 0}),Zv(this,jl)[jl]=t}}({signTransaction:Zk("signTransaction was not injected"),signAndSendTransaction:Zk("signAndSendTransaction was not injected"),signMessage:Zk("signMessage was not injected")}),JX=new class{get version(){return on(this,e6)[e6]}get name(){return on(this,t6)[t6]}get icon(){return on(this,n6)[n6]}get chains(){return Mye.slice()}get features(){return{"standard:connect":{version:"1.0.0",connect:on(this,s6)[s6]},"standard:disconnect":{version:"1.0.0",disconnect:on(this,a6)[a6]},"standard:events":{version:"1.0.0",on:on(this,i6)[i6]},"solana:signAndSendTransaction":{version:"1.0.0",supportedTransactionVersions:["legacy",0],signAndSendTransaction:on(this,c6)[c6]},"solana:signTransaction":{version:"1.0.0",supportedTransactionVersions:["legacy",0],signTransaction:on(this,l6)[l6]},"solana:signMessage":{version:"1.0.0",signMessage:on(this,o6)[o6]},"privy:":{privy:{signMessage:on(this,Ma)[Ma].signMessage,signTransaction:on(this,Ma)[Ma].signTransaction,signAndSendTransaction:on(this,Ma)[Ma].signAndSendTransaction}}}}get accounts(){return on(this,B1)[B1].slice()}get isPrivyWallet(){return on(this,r6)[r6]}constructor({name:t,icon:e,version:n,injection:r,wallets:i}){Object.defineProperty(this,L1,{value:k0t}),Object.defineProperty(this,GT,{value:I0t}),Object.defineProperty(this,pc,{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,n6,{writable:!0,value:void 0}),Object.defineProperty(this,Ma,{writable:!0,value:void 0}),Object.defineProperty(this,r6,{writable:!0,value:void 0}),Object.defineProperty(this,B1,{writable:!0,value:void 0}),Object.defineProperty(this,i6,{writable:!0,value:void 0}),Object.defineProperty(this,U1,{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}),Object.defineProperty(this,l6,{writable:!0,value:void 0}),on(this,pc)[pc]={},on(this,i6)[i6]=(s,a)=>(on(this,pc)[pc][s]?.push(a)||(on(this,pc)[pc][s]=[a]),()=>on(this,GT)[GT](s,a)),on(this,U1)[U1]=s=>{s!=null&&(on(this,B1)[B1]=s.map((({address:a})=>new _0t({address:a,publicKey:HU.decode(a)})))),on(this,L1)[L1]("change",{accounts:this.accounts})},on(this,s6)[s6]=async()=>(on(this,L1)[L1]("change",{accounts:this.accounts}),{accounts:this.accounts}),on(this,a6)[a6]=async()=>{on(this,L1)[L1]("change",{accounts:this.accounts})},on(this,o6)[o6]=async(...s)=>{let a=[];for(let{account:o,...c}of s){let{signature:l}=await on(this,Ma)[Ma].signMessage({...c,address:o.address});a.push({signedMessage:c.message,signature:l})}return a},on(this,c6)[c6]=async(...s)=>{let a=[];for(let o of s){let{signature:c}=await on(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},on(this,l6)[l6]=async(...s)=>{let a=[];for(let{transaction:o,account:c,options:l,chain:d}of s){let{signedTransaction:u}=await on(this,Ma)[Ma].signTransaction({transaction:o,address:c.address,chain:d||"solana:mainnet",options:l});a.push({signedTransaction:u})}return a},on(this,t6)[t6]=t,on(this,n6)[n6]=e,on(this,e6)[e6]=n,on(this,Ma)[Ma]=r,on(this,B1)[B1]=[],on(this,r6)[r6]=!0,r.on("accountChanged",on(this,U1)[U1],this),on(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:qj});function P0t(){let{ready:t}=_l(),{user:e}=qw(),{signMessage:n}=Dye(),{signTransaction:r}=YX(),{signAndSendTransaction:i}=(function(){let o=nt(),{isHeadlessSigning:c,openModal:l}=Ke(),{setModalData:d}=ct(),{signTransaction:u}=YX(),h=xW(),{user:p}=qw(),{signWithUserSigner:g}=rW();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,ue.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",ue.INVALID_DATA);let T=new ede({appId:o.id,clientId:o.appClientId,storage:Mt}),R=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(R.data&&"hash"in R.data)return{signature:HU.decode(R.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:k}=await h(b).sendAndConfirmTransaction(S);return{signature:k}}return c({showWalletUIs:x?.uiOptions?.showWalletUIs})?C(m):new Promise((async(w,S)=>{let k,P,{entropyId:T,entropyIdVerifier:R}=zi(p,v);function M(A){return I=>{S(I instanceof se?I:new se("Failed to connect to wallet",I,A))}}let N={account:v,transaction:m,chain:b,signOnly:!1,uiOptions:x?.uiOptions||{},onConfirm:C,onSuccess:w,onFailure:M(ue.TRANSACTION_FAILURE),isSponsored:!!x?.sponsor},$={recoveryMethod:v.recoveryMethod,connectingWalletAddress:v.address,entropyId:T,entropyIdVerifier:R,isUnifiedWallet:E,onCompleteNavigateTo:"StandardSignAndSendTransactionScreen",onFailure:M(ue.UNKNOWN_CONNECT_WALLET_ERROR)};o.fundingConfig&&(k=iRe({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:N,funding:k,solanaFundingData:P}),l("EmbeddedWalletConnectingScreen")}))}}})(),s=_.useMemo((()=>{let o=[...Mde(e).sort(((l,d)=>(l.walletIndex??0)-(d.walletIndex??0)))],c=hU(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((()=>{qj?.setImplementation(a)}),[a]),_.useEffect((()=>{var o;!t||(o=JX.accounts).length===s.length&&o.every(((c,l)=>c.address===s[l]?.address))||qj?.emit("accountChanged",s)}),[t,s]),{ready:t,wallet:JX}}function O0t(){let{client:t}=Ke(),{ready:e,wallet:n}=P0t(),[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 Bye(){let{ready:t,wallets:e}=O0t();return{ready:t,wallets:_.useMemo((()=>e.flatMap((n=>n.accounts.map((r=>new oU({wallet:n,account:r})))))),[e])}}function N0t(){let{user:t,getAccessToken:e}=tn(),{walletProxy:n,openModal:r,client:i}=Ke(),{setModalData:s}=ct(),a=nt();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):E5(t);if(!d)return void l(new se("User must have an embedded wallet."));if(!C5(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 R0t(){let{create:t}=Che();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 M0t(){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 J_=()=>{const{apiClient:t,config:e}=Md(),{login:n}=SRe(),{logout:r}=_ue(),{authenticated:i,ready:s,user:a,getAccessToken:o,exportWallet:c}=qw(),{exportWallet:l}=N0t(),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}},j0t=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},D0t=t=>"0x"+Array.from(t).map(e=>e.toString(16).padStart(2,"0")).join("");function rv(){const{signTransactionConfirm:t,setModalLoading:e,config:n}=Md(),r=n.withExport??!1,{signRawHash:i}=x0t(),{signMessage:s}=M0t(),{wallets:a}=Bye(),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(r){let w=o.current.find(P=>P.address===l.address);if(!w)for(let T=1;T<=30&&(await new Promise(R=>setTimeout(R,500)),w=o.current.find(R=>R.address===l.address),!w);T++);if(!w)throw new Error(`Wallet not found for address: ${l.address}`);const S=j0t(l.hash),k=await s({message:S,wallet:w,options:{uiOptions:{showWalletUIs:!1}}});return{signature:D0t(k.signature)}}else return await i({address:l.address,chainType:l.chainType,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 Q2=(t,e,n="stellar")=>{const r=[];if(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())},Lye=t=>{if(!t)throw new Error("Wallet is required");if(t.chainType==="solana"&&t.address)return Pye(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 Iye(e)},B0t=t=>t&&(t.chainType==="stellar"||t.chainType==="solana"),L0t=(t,e,n="stellar")=>{const r=Q2(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}=J_(),{wallets:n}=_l(),{config:r}=Md(),i=r.withExport?"solana":"stellar",s=e?Q2(t,n,i):[],a=s[0]||null;return{cantonWallets:s,cantonWallet:a}}const U0t=oy,Uye=_.createContext(null);function Zj({cantonService:t,children:e,withExport:n=!1,autoOnboarding:r=!0,autoTransferPreapproval:i=!1}){const{user:s,authenticated:a}=J_(),{wallets:o}=_l(),{signRawHashWithModal:c}=rv(),{createWallet:l}=v0t(),{createWallet:d}=R0t(),{cantonWallet:u,cantonWallets:h}=oy(),p=n?"solana":"stellar",[g,m]=_.useState(!1),[y,b]=_.useState(null),[x,v]=_.useState(!1),[E,C]=_.useState(null),[w,S]=_.useState(null),k=_.useRef(!1),P=_.useRef(!1),T=_.useRef(!1),R=_.useRef(!1),M=_.useRef(null),N=_.useRef(null),$=_.useRef(null),A=_.useRef(null),I=_.useRef(!1);_.useEffect(()=>{a&&u&&!k.current&&(k.current=!0,B())},[a,u]);const B=async()=>{try{const je=await t.checkRegistrationStatus();v(je)}catch{v(!1)}};_.useEffect(()=>{a&&u&&x&&!P.current&&(P.current=!0,(async()=>{try{const ke=await t.getMe();if(C(ke),!i)return;!ke.transferPreapprovalSet&&!I.current&&u&&(I.current=!0,pe(ke).catch(be=>{console.warn("[Supa SDK] ❌ Failed to automatically setup transfer preapproval:",be)}))}catch(ke){console.error("[Supa SDK] Failed to fetch Canton user info:",ke)}})())},[a,u,x,i]);const D=_.useCallback(()=>{b(null)},[]),O=_.useCallback(()=>{console.log("[Supa SDK] 🔄 Resetting Canton state..."),m(!1),b(null),v(!1),C(null),S(null),k.current=!1,P.current=!1,T.current=!1,R.current=!1,I.current=!1,M.current=null,N.current=null,$.current=null,A.current=null,console.log("[Supa SDK] ✅ Canton state reset complete")},[]),j=_.useCallback(async()=>{if(!a)throw new Error("User must be authenticated to create wallet");m(!0),b(null);try{const je=n?await d():await l({chainType:"stellar"});if(je){const ke=je.wallet||je;if(ke.public_key||ke.publicKey||ke.address)return console.log(`[Supa SDK] ✅ ${n?"Solana":"Stellar"} wallet created successfully`),ke;await new Promise(Te=>setTimeout(Te,2e3));const be=Q2(s,o,p);return be[0]?(console.log(`[Supa SDK] ✅ ${n?"Solana":"Stellar"} wallet created successfully`),be[0]):ke}return null}catch(je){const ke=new Error(`Failed to create ${n?"Solana":"Stellar"} wallet: ${je.message}`);throw b(ke),ke}finally{m(!1)}},[a,l,d,s,o,n,p]),F=_.useCallback(async je=>{if(!u)throw new Error("No Stellar wallet found");try{const ke=nd(je),be=await c({address:u.address,chainType:p,hash:ke},{title:"Sign Hash",description:"You are about to sign the following hash.",confirmText:"Sign",rejectText:"Reject",displayHash:`Hash: ${je}`});if(!be)throw new Error("User rejected signature");return td(be.signature)}catch(ke){throw new Error(`Failed to sign hash: ${ke.message}`)}},[u,c]),W=_.useCallback(async je=>{if(M.current)return M.current;if(x){console.log("[Supa SDK] ✅ Canton wallet already registered, skipping");return}const ke=(async()=>{m(!0),b(null);try{let be=u;if(!be){const Ue=await j();if(Ue?be=Ue:(await new Promise(H=>setTimeout(H,2e3)),be=Q2(s,o,p)[0]||null),!be)throw new Error("Failed to create Stellar wallet. Please try again.")}let Te=null,at=0;const _t=10;for(;at<_t&&!Te;)try{Te=Lye(be);break}catch(Ue){if(at++,at>=_t)throw new Error(`${Ue.message} After ${_t} attempts, the Stellar wallet is still not ready.`);await new Promise(H=>setTimeout(H,2e3));const vn=Q2(s,o,p);vn[0]&&(be=vn[0])}if(!Te)throw new Error("Failed to obtain public key from Stellar wallet");await new Promise(Ue=>setTimeout(Ue,1e3));const ht=async Ue=>{let vn=0;const H=5;for(console.log("[Supa SDK] 🔐 Signing with wallet:",be.address);vn<H;)try{console.log(`[Supa SDK] 🔐 Sign attempt ${vn+1}/${H}...`);const L=await c({address:be.address,chainType:p,hash:Ue},{skipModal:!0});if(!L)throw new Error("User rejected signature");return console.log("[Supa SDK] ✅ Signature obtained successfully"),L.signature}catch(L){if(vn++,console.log(`[Supa SDK] ❌ Sign attempt ${vn} failed:`,L.message),(L.message?.includes("Wallet not found")||L.message?.includes("not initialized")||L.message?.includes("proxy")||L.message?.includes("Wallet"))&&vn<H){const U=vn===1?2e3:vn===2?3e3:4e3;console.log(`[Supa SDK] ⏳ Waiting ${U/1e3}s before retry...`),await new Promise(X=>setTimeout(X,U));continue}throw L}throw new Error("Failed to sign after multiple attempts")};if(await t.registerCanton({publicKey:Te,signFunction:ht,inviteCode:je})==="registered"){console.log("[Supa SDK] ✅ Canton wallet already registered or registration completed"),v(!0);return}console.log("[Supa SDK] ✅ Canton wallet registered successfully"),v(!0)}catch(be){console.error("[Supa SDK] ❌ Canton registration failed:",be);const Te=new Error(`Failed to register Canton wallet: ${be.message}`);throw b(Te),Te}finally{m(!1),M.current=null}})();return M.current=ke,ke},[u,j,s,o,c,t,x]),Z=_.useCallback(async(je,ke)=>{if(!u)throw new Error("No Stellar wallet found");m(!0),b(null);try{const be=async Te=>{const at=await c({address:u.address,chainType:p,hash:Te},{title:"Tap Devnet Faucet",description:`You are requesting ${je} tokens from the devnet faucet.`,confirmText:"Confirm & Sign",rejectText:"Cancel",displayHash:`Request ${je} Canton tokens from devnet faucet`});if(!at)throw new Error("User rejected signature");return at.signature};return await t.tapDevnet({amount:je,signFunction:be},ke)}catch(be){const Te=new Error(`Failed to tap devnet: ${be.message}`);throw b(Te),Te}finally{m(!1)}},[u,c,t]),V=_.useCallback(async()=>{if(N.current)return N.current;const je=(async()=>{try{const ke=await t.getMe();return C(ke),ke}finally{setTimeout(()=>{N.current=null},100)}})();return N.current=je,je},[t]),q=_.useCallback(async je=>await t.getActiveContracts(je),[t]),ee=_.useCallback(async()=>{if($.current)return $.current;const je=(async()=>{try{const ke=await t.getBalances();return S(ke),ke}finally{setTimeout(()=>{$.current=null},100)}})();return $.current=je,je},[t]),te=_.useCallback(async je=>{if(!u)throw new Error("No Stellar wallet found");m(!0),b(null);try{const ke=async be=>{const Te=await c({address:u.address,chainType:p,hash:be},{title:"Sign Message",description:"You are about to sign the following message:",confirmText:"Sign",rejectText:"Reject",displayHash:je});if(!Te)throw new Error("User rejected signature");return Te.signature};return await t.signMessage(je,ke)}catch(ke){const be=new Error(`Failed to sign message: ${ke.message}`);throw b(be),be}finally{m(!1)}},[u,c,t]),Q=_.useCallback(async(je,ke,be)=>{if(!u)throw new Error("No Stellar wallet found");m(!0),b(null);try{const Te=await t.prepareTransaction(je,ke);be?.onCostEstimation&&Te.costEstimation&&await be.onCostEstimation(Te.costEstimation);const at=nd(Te.hash),_t=await c({address:u.address,chainType:p,hash:at},{title:"Sign Transaction",description:"Review and sign the following transaction.",confirmText:"Sign & Send",rejectText:"Reject",displayHash:`Transaction Hash: ${Te.hash}`});if(!_t)throw new Error("User rejected transaction");const ht=td(_t.signature);return await t.submitPreparedAndWait(Te.hash,ht,be)}catch(Te){const at=new Error(`Failed to send transaction: ${Te.message}`);throw b(at),at}finally{m(!1)}},[u,c,t]),ne=_.useCallback(async(je,ke,be,Te)=>{if(!u)throw new Error("No Stellar wallet found");m(!0),b(null);try{const at=await t.prepareAmuletTransfer({receiverPartyId:je,amount:ke,memo:be});Te?.onCostEstimation&&at.costEstimation&&await Te.onCostEstimation(at.costEstimation);const _t=nd(at.hash),ht=await c({address:u.address,chainType:p,hash:_t},{skipModal:Te?.skipModal||!1,title:"Send Canton Coin",description:`You are sending ${ke} Canton Coin${be?` (${be})`:""}.`,confirmText:"Confirm & Sign",rejectText:"Cancel",displayHash:`Sending ${ke} CC to ${je.slice(0,20)}...`});if(!ht)throw new Error("User rejected transfer");const Pn=td(ht.signature),Ue=await t.submitPreparedAndWait(at.hash,Pn,Te);return await ee().catch(()=>{}),Ue}catch(at){if(at.message?.includes("CantonTransferOnlySupportedForWalletsWithPreapprovedTransfers")){const ht=new Error("Transfer preapproval required. The receiver wallet must have transfer preapproval enabled.");throw b(ht),ht}const _t=new Error(`Failed to send Canton Coin: ${at.message}`);throw b(_t),_t}finally{m(!1)}},[u,c,t,ee]),pe=_.useCallback(async je=>{if(!u)throw new Error("No Stellar wallet found");if(A.current)return A.current;if((je||E)?.transferPreapprovalSet)return;I.current=!0;const be=(async()=>{m(!0),b(null);try{if(!je){const Pn=await t.getMe();if(Pn.transferPreapprovalSet){C(Pn);return}}const Te=await t.prepareTransferPreapproval(),at=nd(Te.hash),_t=await c({address:u.address,chainType:p,hash:at},{skipModal:!0});if(!_t)throw new Error("User rejected transfer preapproval signature");const ht=td(_t.signature);if(await t.submitPreparedAndWait(Te.hash,ht),je)C({...je,transferPreapprovalSet:!0});else{const Pn=await t.getMe();C(Pn)}}catch(Te){const at=new Error(`Failed to setup transfer preapproval: ${Te.message}`);throw b(at),at}finally{m(!1),A.current=null}})();return A.current=be,be},[u,c,t,E]),Se=_.useCallback(async()=>pe(),[pe]),Re=_.useCallback(async()=>await t.getPendingIncomingTransfers(),[t]),oe=_.useCallback(async(je,ke,be)=>{if(!u)throw new Error("No Stellar wallet found");m(!0),b(null);try{const Te=await t.prepareResponseToIncomingTransfer({contractId:je,accept:ke});be?.onCostEstimation&&Te.costEstimation&&await be.onCostEstimation(Te.costEstimation);const at=nd(Te.hash),_t=await c({address:u.address,chainType:p,hash:at},{title:ke?"Accept Transfer":"Reject Transfer",description:`You are about to ${ke?"accept":"reject"} an incoming transfer.`,confirmText:"Confirm & Sign",rejectText:"Cancel",displayHash:`${ke?"Accepting":"Rejecting"} transfer ${je.slice(0,20)}...`});if(!_t)throw new Error("User rejected signature");const ht=td(_t.signature),Pn=await t.submitPreparedAndWait(Te.hash,ht,be);return await ee().catch(()=>{}),Pn}catch(Te){const at=new Error(`Failed to respond to transfer: ${Te.message}`);throw b(at),at}finally{m(!1)}},[u,c,t,ee]),De=_.useCallback(async je=>await t.getTransactions(je),[t]),tt=_.useCallback(async je=>await t.getPriceHistory(je),[t]);_.useEffect(()=>{if(!r||!a||g)return;(async()=>{if(!u&&!T.current){T.current=!0;try{n?await d():await l({chainType:"stellar"}),console.log(`[Supa SDK] ✅ ${n?"Solana":"Stellar"} wallet auto-created`)}catch(ke){console.warn(`[Supa SDK] ❌ Failed to auto-create ${n?"Solana":"Stellar"} wallet:`,ke)}return}if(u&&!x&&!R.current&&!M.current){R.current=!0;try{await W()}catch(ke){console.warn("[Supa SDK] ❌ Failed to auto-register Canton:",ke),R.current=!1}}})()},[r,a,g,u,x,l,d,W,n]);const Qe={cantonWallet:u,cantonWallets:h,createCantonWallet:j,registerCanton:W,isRegistered:x,cantonUser:E,getMe:V,getActiveContracts:q,cantonBalances:w,getBalances:ee,tapDevnet:Z,signHash:F,signMessage:te,sendTransaction:Q,sendCantonCoin:ne,setupTransferPreapproval:Se,getPendingIncomingTransfers:Re,respondToIncomingTransfer:oe,getTransactions:De,getPriceHistory:tt,resetState:O,loading:g,error:y,clearError:D};return f.jsx(Uye.Provider,{value:Qe,children:e})}function Fye(){const t=_.useContext(Uye);if(!t)throw new Error("useCantonContext must be used within CantonProvider (inside SupaProvider)");return t}typeof window<"u"&&!window.Buffer&&(window.Buffer=Npt.Buffer,console.log("[Supa SDK] ✅ Buffer polyfill initialized"));const Kj=_.createContext(null);function F0t({config:t,children:e}){const[n,r]=_.useState(null),[i,s]=_.useState({type:null,options:null,resolve:null,loading:!1});_.useEffect(()=>{const S=_ye({baseURL:t.apiBaseUrl,nodeIdentifier:t.nodeIdentifier,supaAppId:t.supaAppId}),k=h0t(S),P=f0t(S);r({apiClient:S,cantonService:k,apiService:P})},[t]);const a=_.useCallback(S=>k=>new Promise(P=>s({type:S,options:k,resolve:P,loading:!1})),[]),o=_.useCallback(a("confirm"),[a]),c=_.useCallback(a("signMessage"),[a]),l=_.useCallback(a("signTransaction"),[a]),d=_.useCallback(S=>{s(k=>({...k,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"}},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(Cut,{appId:t.privyAppId,clientId:t.privyClientId,config:y,children:w?f.jsx(_pt,{config:t.smartWallets?.paymasterContext?{paymasterContext:t.smartWallets.paymasterContext}:void 0,children:f.jsx(Kj.Provider,{value:b,children:f.jsx(Zj,{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(P4,{open:x,onClose:p,onConfirm:h,onReject:p,loading:i.loading,...i.options}),E&&i.options&&f.jsx(Hj,{open:x,onClose:p,onConfirm:h,onReject:p,loading:i.loading,...i.options}),C&&i.options&&f.jsx(Vj,{open:x,onClose:p,onConfirm:h,onReject:p,loading:i.loading,...i.options})]})})})}):f.jsx(Kj.Provider,{value:b,children:f.jsx(Zj,{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(P4,{open:x,onClose:p,onConfirm:h,onReject:p,loading:i.loading,...i.options}),E&&i.options&&f.jsx(Hj,{open:x,onClose:p,onConfirm:h,onReject:p,loading:i.loading,...i.options}),C&&i.options&&f.jsx(Vj,{open:x,onClose:p,onConfirm:h,onReject:p,loading:i.loading,...i.options})]})})})})}function Md(){const t=_.useContext(Kj);if(!t)throw new Error("useSupaContext must be used within SupaProvider");return t}function Wye(){return Fye()}const W0t=()=>{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()}}},zye=()=>{const t=J_(),e=Wye(),n=W0t();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 z0t(){const{cantonService:t}=Md(),{signRawHashWithModal:e}=rv(),{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 k=>{const P=await e({address:n.address,chainType:n.chainType,hash:k},{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 k=new Error(`Failed to sign message: ${w.message}`);o(k),g?.(k)}return null}finally{s(!1)}},[n,e,t]),loading:i,error:a,clearError:c,cantonWallets:r,cantonWallet:n}}function H0t(){const{cantonService:t}=Md(),{signRawHashWithModal:e}=rv(),{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,submitOptions:S}=h||{};if(!n){const k=new Error("No Stellar wallet found. Please create one first.");return o(k),m?.(k),null}o(null),s(!0);try{const k=await t.prepareTransaction(d,u),P=C||(w?void 0:`Transaction Hash: ${k.hash}`),T=nd(k.hash),R=await e({address:n.address,chainType:"solana",hash:T},{skipModal:y,title:b,description:x,confirmText:v,rejectText:E,infoText:"You are submitting a transaction, please be careful",displayHash:P,showTechnicalDetails:w});if(!R)return g?.(),null;const M=td(R.signature),N=await t.submitPreparedAndWait(k.hash,M,S);return p?.(N),N}catch(k){if(k.message.includes("rejected"))g?.();else{const T=new Error(`Failed to send transaction: ${k.message}`);o(T),m?.(T)}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 XX(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 V0t(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 Hye(){const{cantonService:t,config:e,signTransactionConfirm:n}=Md(),{signRawHashWithModal:r}=rv(),{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,submitOptions:S}=p||{};if(!i){const k=new Error("No Canton wallet found. Please create one first.");return l(k),y?.(k),null}if(!Array.isArray(h)||h.length===0){const k=new Error("No transactions provided.");return l(k),y?.(k),null}l(null),o(!0);try{const k=await Promise.allSettled(h.map(O=>t.prepareTransaction(O.commands,O.disclosedContracts))),P=[],T=[];if(k.forEach((O,j)=>{O.status==="fulfilled"?P[j]=O.value:T.push({index:j,error:h2(O.reason)})}),T.length){const O=T[0];throw new Error(`Failed to prepare ${T.length}/${h.length} transactions. First failure at ${Hy(O.index)}: ${O.error}`)}const R=P.map((O,j)=>{if(!w)return`Transaction Hash: ${O.hash}`;const F=h[j];return JSON.stringify({index:j+1,hash:O.hash,commands:F?.commands,disclosedContracts:F?.disclosedContracts},null,2)});if(!b){const O=P.length;if(!(await n({transaction:R,title:x,description:v??`You are about to sign ${O} transactions.`,confirmText:E,rejectText:C,infoText:"You are submitting transactions, please be careful"})).confirmed)return m?.(),null}const M=e.withExport?"solana":"stellar",N=[];for(let O=0;O<P.length;O++){const j=P[O];try{const F=nd(j.hash),W=await r({address:i.address,chainType:M,hash:F},{skipModal:!0});if(!W)return m?.(),null;N.push({hash:j.hash,signature:td(W.signature)})}catch(F){if(XX(F))return m?.(),null;throw new Error(`Failed to sign ${Hy(O,j.hash)}: ${h2(F)}`)}}let $;try{$=await t.submitMultiplePrepared(N)}catch{$=(await Promise.allSettled(N.map(async F=>{const W=await t.submitPrepared(F.hash,F.signature);return{hash:F.hash,success:!0,submissionId:W.submissionId}}))).map((F,W)=>{const Z=N[W]?.hash??"";return F.status==="fulfilled"?F.value:{hash:Z,success:!1,error:h2(F.reason)}})}const A=$.map((O,j)=>({r:O,idx:j})).filter(({r:O})=>!O.success);if(A.length){const O=A.slice(0,3).map(({r:F,idx:W})=>`${Hy(W,F.hash)}: ${F.error??"Unknown error"}`).join("; "),j=A.length>3?` (+${A.length-3} more)`:"";throw new Error(`Failed to submit ${A.length}/${$.length} transactions: ${O}${j}`)}const I=await Promise.allSettled($.map((O,j)=>{const F=O.submissionId;return F?V0t({queryCompletion:W=>t.queryCompletion(W),submissionId:F,label:Hy(j,O.hash),options:S}):Promise.reject(new Error(`Missing submissionId for ${Hy(j,O.hash)}`))})),B=[],D=[];if(I.forEach((O,j)=>{O.status==="fulfilled"?B[j]=O.value:D.push({index:j,error:h2(O.reason)})}),D.length){const O=D[0];throw new Error(`Failed to wait for completion for ${D.length}/${$.length} transactions. First failure at ${Hy(O.index,$[O.index]?.hash)}: ${O.error}`)}return g?.(B),B}catch(k){if(XX(k))m?.();else{const P=new Error(`Failed to send multiple transactions: ${h2(k)}`);l(P),y?.(P)}return null}finally{o(!1)}},[t,i,e.withExport,r,n]),loading:a,error:c,clearError:d,cantonWallets:s,cantonWallet:i}}function q0t(){const{sendMultipleTransactions:t,loading:e,error:n,clearError:r,cantonWallets:i,cantonWallet:s}=Hye();return{sendTransactions:(o,c)=>t(o,c),loading:e,error:n,clearError:r,cantonWallets:i,cantonWallet:s}}function Z0t(){const{cantonService:t,config:e}=Md(),{cantonWallet:n}=oy(),{signRawHashWithModal:r}=rv(),[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 K0t(){const{confirm:t,signMessageConfirm:e,signTransactionConfirm:n,setModalLoading:r,closeModal:i}=Md();return{confirm:t,signMessageConfirm:e,signTransactionConfirm:n,setModalLoading:r,closeModal:i}}function G0t(){const{client:t,getClientForChain:e}=$pt();return{client:t,getClientForChain:e,address:t?.account?.address,ready:!!t}}const Ne={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"},EW={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 Ne.CHAIN_NAME_MAP?.[r]||void 0}},Vye=["eip155","solana","polkadot","bip122","cosmos","sui","stacks"];var Y0t=20,J0t=1,Em=1e6,QX=1e6,X0t=-7,Q0t=21,e1t=!1,X5="[big.js] ",cy=X5+"Invalid ",X_=cy+"decimal places",t1t=cy+"rounding mode",qye=X5+"Division by zero",ar={},Au=void 0,n1t=/^-?(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i;function Zye(){function t(e){var n=this;if(!(n instanceof t))return e===Au?Zye():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)}r1t(n,e)}n.constructor=t}return t.prototype=ar,t.DP=Y0t,t.RM=J0t,t.NE=X0t,t.PE=Q0t,t.strict=e1t,t.roundDown=0,t.roundHalfUp=1,t.roundHalfEven=2,t.roundUp=3,t}function r1t(t,e){var n,r,i;if(!n1t.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(t1t);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(X_);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<-QX||t>QX)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(X_);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(X5+"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(X_);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(X_);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(X5+"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(X5+"valueOf disallowed");return dy(t,t.e<=e.NE||t.e>=e.PE,!0)};var Bf=Zye();const Bi={bigNumber(t){return t?new Bf(t):new Bf(0)},multiply(t,e){if(t===void 0||e===void 0)return new Bf(0);const n=new Bf(t),r=new Bf(e);return n.times(r)},toFixed(t,e=2){return t===void 0||t===""?new Bf(0).toFixed(e):new Bf(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 Bf(e).toNumber()}},i1t=[{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"}]}],s1t=[{type:"function",name:"approve",stateMutability:"nonpayable",inputs:[{name:"spender",type:"address"},{name:"amount",type:"uint256"}],outputs:[{type:"bool"}]}],a1t=[{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"}]}],o1t={getERC20Abi:t=>Ne.USDT_CONTRACT_ADDRESSES.includes(t)?a1t:i1t,getSwapAbi:()=>s1t},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 c1t extends Error{constructor(e,n){super(n.message,{cause:e}),this.name=du.PROVIDER_RPC_ERROR_NAME.PROVIDER_RPC,this.code=n.code}}class Kye extends c1t{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 It={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 YT(t){if(!t)throw new Error("Namespace is required for CONNECTED_CONNECTOR_ID");return`@appkit/${t}:connected_connector_id`}const St={setItem(t,e){K6()&&e!==void 0&&localStorage.setItem(t,e)},getItem(t){if(K6())return localStorage.getItem(t)||void 0},removeItem(t){K6()&&localStorage.removeItem(t)},clear(){K6()&&localStorage.clear()}};function K6(){return typeof window<"u"&&typeof localStorage<"u"}function JA(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 l1t=Symbol(),eQ=Object.getPrototypeOf,Gj=new WeakMap,d1t=t=>t&&(Gj.has(t)?Gj.get(t):eQ(t)===Object.prototype||eQ(t)===Array.prototype),u1t=t=>d1t(t)&&t[l1t]||null,tQ=(t,e=!0)=>{Gj.set(t,e)},XA={},CW=t=>typeof t=="object"&&t!==null,h1t=t=>CW(t)&&!Q5.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),Gye=(t,e)=>{const n=Yj.get(t);if(n?.[0]===e)return n[1];const r=Array.isArray(t)?[]:Object.create(Object.getPrototypeOf(t));return tQ(r,!0),Yj.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(Q5.has(s))tQ(s,!1);else if(e1.has(s)){const[c,l]=e1.get(s);o.value=Gye(c,l())}Object.defineProperty(r,i,o)}),Object.preventExtensions(r)},p1t=(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&&(nQ(l,a)||O4.has(a)&&nQ(l,O4.get(a))))return!0;n(s),CW(a)&&(a=u1t(a)||a);const d=!e1.has(a)&&g1t(a)?Ar(a):a;return e(s,d),Reflect.set(i,s,d,o),r(["set",[s],a,l]),!0}}),e1=new WeakMap,Q5=new WeakSet,Yj=new WeakMap,LC=[1],O4=new WeakMap;let nQ=Object.is,f1t=(t,e)=>new Proxy(t,e),g1t=h1t,m1t=Gye,y1t=p1t;function Ar(t={}){if(!CW(t))throw new Error("object required");const e=O4.get(t);if(e)return e;let n=LC[0];const r=new Set,i=(y,b=++LC[0])=>{n!==b&&(s=n=b,r.forEach(x=>x(y,b)))};let s=n;const a=(y=LC[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=!Q5.has(b)&&e1.get(b);if(x){if((XA?"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((XA?"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=y1t(()=>h,l,d,i),g=f1t(t,p);O4.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);(XA?"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 N4(t){const e=e1.get(t);(XA?"production":void 0)!=="production"&&!e&&console.warn("Please use proxy object");const[n,r]=e;return m1t(n,r())}function rb(t){return Q5.add(t),t}function w1t(){return{proxyStateMap:e1,refSet:Q5,snapCache:Yj,versionHolder:LC,proxyCache:O4}}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:b1t,snapCache:v1t}=w1t(),IE=t=>b1t.has(t);function x1t(t){const e=[];let n=0;const r=new Map,i=new WeakMap,s=()=>{const l=v1t.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 IE(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(!IE(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(!IE(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(!IE(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 JT=(typeof process<"u"&&typeof process.env<"u"?process.env.NEXT_PUBLIC_SECURE_SITE_ORIGIN:void 0)||"https://secure.walletconnect.org",Yye=[{label:"Meld.io",name:"meld",feeRange:"1-2%",url:"https://meldcrypto.com",supportedChains:["eip155","solana"]}],E1t="WXETMuFUQmqqybHuRkSgxv:25B8LJHSfpG6LVjR2ytU5Cwh7Z4Sch2ocoU",yn={FOUR_MINUTES_MS:24e4,TEN_SEC_MS:1e4,FIVE_SEC_MS:5e3,THREE_SEC_MS:3e3,ONE_SEC_MS:1e3,SECURE_SITE:JT,SECURE_SITE_DASHBOARD:`${JT}/dashboard`,SECURE_SITE_FAVICON:`${JT}/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:[Ne.CHAIN.EVM,Ne.CHAIN.SOLANA],SEND_PARAMS_SUPPORTED_CHAINS:[Ne.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:[Ne.CHAIN.EVM],ONRAMP_SUPPORTED_CHAIN_NAMESPACES:[Ne.CHAIN.EVM,Ne.CHAIN.SOLANA],PAY_WITH_EXCHANGE_SUPPORTED_CHAIN_NAMESPACES:[Ne.CHAIN.EVM,Ne.CHAIN.SOLANA],ACTIVITY_ENABLED_CHAIN_NAMESPACES:[Ne.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:[Ne.CHAIN.EVM,Ne.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}},He={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=He.getActiveNamespace(),e=He.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{St.setItem(It.DEEPLINK_CHOICE,JSON.stringify({href:e,name:t}))}catch{console.info("Unable to set WalletConnect deep link")}},getWalletConnectDeepLink(){try{const t=St.getItem(It.DEEPLINK_CHOICE);if(t)return JSON.parse(t)}catch{console.info("Unable to get WalletConnect deep link")}},deleteWalletConnectDeepLink(){try{St.removeItem(It.DEEPLINK_CHOICE)}catch{console.info("Unable to delete WalletConnect deep link")}},setActiveNamespace(t){try{St.setItem(It.ACTIVE_NAMESPACE,t)}catch{console.info("Unable to set active namespace")}},setActiveCaipNetworkId(t){try{St.setItem(It.ACTIVE_CAIP_NETWORK_ID,t),He.setActiveNamespace(t.split(":")[0])}catch{console.info("Unable to set active caip network id")}},getActiveCaipNetworkId(){try{return St.getItem(It.ACTIVE_CAIP_NETWORK_ID)}catch{console.info("Unable to get active caip network id");return}},deleteActiveCaipNetworkId(){try{St.removeItem(It.ACTIVE_CAIP_NETWORK_ID)}catch{console.info("Unable to delete active caip network id")}},deleteConnectedConnectorId(t){try{const e=YT(t);St.removeItem(e)}catch{console.info("Unable to delete connected connector id")}},setAppKitRecent(t){try{const e=He.getRecentWallets();e.find(r=>r.id===t.id)||(e.unshift(t),e.length>2&&e.pop(),St.setItem(It.RECENT_WALLETS,JSON.stringify(e)),St.setItem(It.RECENT_WALLET,JSON.stringify(t)))}catch{console.info("Unable to set AppKit recent")}},getRecentWallets(){try{const t=St.getItem(It.RECENT_WALLETS);return t?JSON.parse(t):[]}catch{console.info("Unable to get AppKit recent")}return[]},getRecentWallet(){try{const t=St.getItem(It.RECENT_WALLET);return t?JSON.parse(t):null}catch{console.info("Unable to get AppKit recent")}return null},deleteRecentWallet(){try{St.removeItem(It.RECENT_WALLET)}catch{console.info("Unable to delete AppKit recent")}},setConnectedConnectorId(t,e){try{const n=YT(t);St.setItem(n,e)}catch{console.info("Unable to set Connected Connector Id")}},getActiveNamespace(){try{return St.getItem(It.ACTIVE_NAMESPACE)}catch{console.info("Unable to get active namespace")}},getConnectedConnectorId(t){if(t)try{const e=YT(t);return St.getItem(e)}catch{console.info("Unable to get connected connector id in namespace",t)}},setConnectedSocialProvider(t){try{St.setItem(It.CONNECTED_SOCIAL,t)}catch{console.info("Unable to set connected social provider")}},getConnectedSocialProvider(){try{return St.getItem(It.CONNECTED_SOCIAL)}catch{console.info("Unable to get connected social provider")}},deleteConnectedSocialProvider(){try{St.removeItem(It.CONNECTED_SOCIAL)}catch{console.info("Unable to delete connected social provider")}},getConnectedSocialUsername(){try{return St.getItem(It.CONNECTED_SOCIAL_USERNAME)}catch{console.info("Unable to get connected social username")}},getStoredActiveCaipNetworkId(){return St.getItem(It.ACTIVE_CAIP_NETWORK_ID)?.split(":")?.[1]},setConnectionStatus(t){try{St.setItem(It.CONNECTION_STATUS,t)}catch{console.info("Unable to set connection status")}},getConnectionStatus(){try{return St.getItem(It.CONNECTION_STATUS)}catch{return}},getConnectedNamespaces(){try{const t=St.getItem(It.CONNECTED_NAMESPACES);return t?.length?t.split(","):[]}catch{return[]}},setConnectedNamespaces(t){try{const e=Array.from(new Set(t));St.setItem(It.CONNECTED_NAMESPACES,e.join(","))}catch{console.info("Unable to set namespaces in storage")}},addConnectedNamespace(t){try{const e=He.getConnectedNamespaces();e.includes(t)||(e.push(t),He.setConnectedNamespaces(e))}catch{console.info("Unable to add connected namespace")}},removeConnectedNamespace(t){try{const e=He.getConnectedNamespaces(),n=e.indexOf(t);n>-1&&(e.splice(n,1),He.setConnectedNamespaces(e))}catch{console.info("Unable to remove connected namespace")}},getTelegramSocialProvider(){try{return St.getItem(It.TELEGRAM_SOCIAL_PROVIDER)}catch{return console.info("Unable to get telegram social provider"),null}},setTelegramSocialProvider(t){try{St.setItem(It.TELEGRAM_SOCIAL_PROVIDER,t)}catch{console.info("Unable to set telegram social provider")}},removeTelegramSocialProvider(){try{St.removeItem(It.TELEGRAM_SOCIAL_PROVIDER)}catch{console.info("Unable to remove telegram social provider")}},getBalanceCache(){let t={};try{const e=St.getItem(It.PORTFOLIO_CACHE);t=e?JSON.parse(e):{}}catch{console.info("Unable to get balance cache")}return t},removeAddressFromBalanceCache(t){try{const e=He.getBalanceCache();St.setItem(It.PORTFOLIO_CACHE,JSON.stringify({...e,[t]:void 0}))}catch{console.info("Unable to remove address from balance cache",t)}},getBalanceCacheForCaipAddress(t){try{const n=He.getBalanceCache()[t];if(n&&!this.isCacheExpired(n.timestamp,this.cacheExpiry.portfolio))return n.balance;He.removeAddressFromBalanceCache(t)}catch{console.info("Unable to get balance cache for address",t)}},updateBalanceCache(t){try{const e=He.getBalanceCache();e[t.caipAddress]=t,St.setItem(It.PORTFOLIO_CACHE,JSON.stringify(e))}catch{console.info("Unable to update balance cache",t)}},getNativeBalanceCache(){let t={};try{const e=St.getItem(It.NATIVE_BALANCE_CACHE);t=e?JSON.parse(e):{}}catch{console.info("Unable to get balance cache")}return t},removeAddressFromNativeBalanceCache(t){try{const e=He.getBalanceCache();St.setItem(It.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=He.getNativeBalanceCache()[t];if(n&&!this.isCacheExpired(n.timestamp,this.cacheExpiry.nativeBalance))return n;console.info("Discarding cache for address",t),He.removeAddressFromBalanceCache(t)}catch{console.info("Unable to get balance cache for address",t)}},updateNativeBalanceCache(t){try{const e=He.getNativeBalanceCache();e[t.caipAddress]=t,St.setItem(It.NATIVE_BALANCE_CACHE,JSON.stringify(e))}catch{console.info("Unable to update balance cache",t)}},getEnsCache(){let t={};try{const e=St.getItem(It.ENS_CACHE);t=e?JSON.parse(e):{}}catch{console.info("Unable to get ens name cache")}return t},getEnsFromCacheForAddress(t){try{const n=He.getEnsCache()[t];if(n&&!this.isCacheExpired(n.timestamp,this.cacheExpiry.ens))return n.ens;He.removeEnsFromCache(t)}catch{console.info("Unable to get ens name from cache",t)}},updateEnsCache(t){try{const e=He.getEnsCache();e[t.address]=t,St.setItem(It.ENS_CACHE,JSON.stringify(e))}catch{console.info("Unable to update ens name cache",t)}},removeEnsFromCache(t){try{const e=He.getEnsCache();St.setItem(It.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=St.getItem(It.IDENTITY_CACHE);t=e?JSON.parse(e):{}}catch{console.info("Unable to get identity cache")}return t},getIdentityFromCacheForAddress(t){try{const n=He.getIdentityCache()[t];if(n&&!this.isCacheExpired(n.timestamp,this.cacheExpiry.identity))return n.identity;He.removeIdentityFromCache(t)}catch{console.info("Unable to get identity from cache",t)}},updateIdentityCache(t){try{const e=He.getIdentityCache();e[t.address]={identity:t.identity,timestamp:t.timestamp},St.setItem(It.IDENTITY_CACHE,JSON.stringify(e))}catch{console.info("Unable to update identity cache",t)}},removeIdentityFromCache(t){try{const e=He.getIdentityCache();St.setItem(It.IDENTITY_CACHE,JSON.stringify({...e,[t]:void 0}))}catch{console.info("Unable to remove identity from cache",t)}},clearAddressCache(){try{St.removeItem(It.PORTFOLIO_CACHE),St.removeItem(It.NATIVE_BALANCE_CACHE),St.removeItem(It.ENS_CACHE),St.removeItem(It.IDENTITY_CACHE),St.removeItem(It.HISTORY_TRANSACTIONS_CACHE)}catch{console.info("Unable to clear address cache")}},setPreferredAccountTypes(t){try{St.setItem(It.PREFERRED_ACCOUNT_TYPES,JSON.stringify(t))}catch{console.info("Unable to set preferred account types",t)}},getPreferredAccountTypes(){try{const t=St.getItem(It.PREFERRED_ACCOUNT_TYPES);return t?JSON.parse(t):{}}catch{console.info("Unable to get preferred account types")}return{}},setConnections(t,e){try{const n=He.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===Ne.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())};St.setItem(It.CONNECTIONS,JSON.stringify(s))}catch(n){console.error("Unable to sync connections to storage",n)}},getConnections(){try{const t=St.getItem(It.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=He.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())})),St.setItem(It.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=St.getItem(It.DISCONNECTED_CONNECTOR_IDS);return t?JSON.parse(t):{}}catch{console.info("Unable to get disconnected connector ids")}return{}},addDisconnectedConnectorId(t,e){try{const n=He.getDisconnectedConnectorIds(),r=n[e]??[];r.push(t),St.setItem(It.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=He.getDisconnectedConnectorIds();let r=n[e]??[];r=r.filter(i=>i.toLowerCase()!==t.toLowerCase()),St.setItem(It.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(He.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=St.getItem(It.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=He.getTransactionsCache()[t]?.[e];if(r&&!this.isCacheExpired(r.timestamp,this.cacheExpiry.transactionsHistory))return r.transactions;He.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=He.getTransactionsCache();i[t]={...i[t],[e]:{timestamp:n,transactions:r}},St.setItem(It.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=He.getTransactionsCache(),r=n?.[t]||{},{[e]:i,...s}=r;St.setItem(It.HISTORY_TRANSACTIONS_CACHE,JSON.stringify({...n,[t]:s}))}catch{console.info("Unable to remove transactions cache",{address:t,chainId:e})}},getTokenPriceCache(){try{const t=St.getItem(It.TOKEN_PRICE_CACHE);return t?JSON.parse(t):{}}catch{console.info("Unable to get token price cache")}return{}},getTokenPriceCacheForAddresses(t){try{const n=He.getTokenPriceCache()[t.join(",")];if(n&&!this.isCacheExpired(n.timestamp,this.cacheExpiry.tokenPrice))return n.tokenPrice;He.removeTokenPriceCache(t)}catch{console.info("Unable to get token price cache for addresses",t)}},updateTokenPriceCache(t){try{const e=He.getTokenPriceCache();e[t.addresses.join(",")]={timestamp:t.timestamp,tokenPrice:t.tokenPrice},St.setItem(It.TOKEN_PRICE_CACHE,JSON.stringify(e))}catch{console.info("Unable to update token price cache",t)}},removeTokenPriceCache(t){try{const e=He.getTokenPriceCache();St.setItem(It.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=St.getItem(It.LATEST_APPKIT_VERSION);return t?JSON.parse(t):{}}catch{console.info("Unable to get latest AppKit version cache")}return{}},updateLatestAppKitVersion(t){try{const e=He.getLatestAppKitVersionCache();e.timestamp=t.timestamp,e.version=t.version,St.setItem(It.LATEST_APPKIT_VERSION,JSON.stringify(e))}catch{console.info("Unable to update latest AppKit version on local storage",t)}}},ze={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 ze.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()<=yn.TEN_SEC_MS:!0},isAllowedRetry(t,e=yn.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(ze.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()+yn.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(ze.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(!ze.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()?He.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,ze.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 Ne.W3M_API_URL},getBlockchainApiUrl(){return Ne.BLOCKCHAIN_API_RPC_URL},getAnalyticsUrl(){return Ne.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?yn.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 Ne.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 d6(...t){const e=await fetch(...t);if(!e.ok)throw new Error(`HTTP status code: ${e.status}`,{cause:e});return e}class e8{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 d6(s,{method:"GET",headers:e,signal:n,cache:r})).json()}async getBlob({headers:e,signal:n,...r}){const i=this.createUrl(r);return(await d6(i,{method:"GET",headers:e,signal:n})).blob()}async post({body:e,headers:n,signal:r,...i}){const s=this.createUrl(i);return(await d6(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 d6(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 d6(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 Jj={getFeatureValue(t,e){const n=e?.[t];return n===void 0?yn.DEFAULT_FEATURES[t]:n},filterSocialsByPlatform(t){if(!t||!t.length)return t;if(ze.isTelegram()){if(ze.isIos())return t.filter(e=>e!=="google");if(ze.isMac())return t.filter(e=>e!=="x");if(ze.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)}},Ot=Ar({features:yn.DEFAULT_FEATURES,projectId:"",sdkType:"appkit",sdkVersion:"html-wagmi-undefined",defaultAccountTypes:yn.DEFAULT_ACCOUNT_TYPES,enableNetworkSwitch:!0,experimental_preferUniversalLinks:!1,remoteFeatures:{},enableMobileFullScreen:!1}),$e={state:Ot,subscribeKey(t,e){return os(Ot,t,e)},setOptions(t){Object.assign(Ot,t)},setRemoteFeatures(t){if(!t)return;const e={...Ot.remoteFeatures,...t};Ot.remoteFeatures=e,Ot.remoteFeatures?.socials&&(Ot.remoteFeatures.socials=Jj.filterSocialsByPlatform(Ot.remoteFeatures.socials)),Ot.features?.pay&&(Ot.remoteFeatures.email=!1,Ot.remoteFeatures.socials=!1)},setFeatures(t){if(!t)return;Ot.features||(Ot.features=yn.DEFAULT_FEATURES);const e={...Ot.features,...t};Ot.features=e,Ot.features?.pay&&Ot.remoteFeatures&&(Ot.remoteFeatures.email=!1,Ot.remoteFeatures.socials=!1)},setProjectId(t){Ot.projectId=t},setCustomRpcUrls(t){Ot.customRpcUrls=t},setAllWallets(t){Ot.allWallets=t},setIncludeWalletIds(t){Ot.includeWalletIds=t},setExcludeWalletIds(t){Ot.excludeWalletIds=t},setFeaturedWalletIds(t){Ot.featuredWalletIds=t},setTokens(t){Ot.tokens=t},setTermsConditionsUrl(t){Ot.termsConditionsUrl=t},setPrivacyPolicyUrl(t){Ot.privacyPolicyUrl=t},setCustomWallets(t){Ot.customWallets=t},setIsSiweEnabled(t){Ot.isSiweEnabled=t},setIsUniversalProvider(t){Ot.isUniversalProvider=t},setSdkVersion(t){Ot.sdkVersion=t},setMetadata(t){Ot.metadata=t},setDisableAppend(t){Ot.disableAppend=t},setEIP6963Enabled(t){Ot.enableEIP6963=t},setDebug(t){Ot.debug=t},setEnableWalletGuide(t){Ot.enableWalletGuide=t},setEnableAuthLogger(t){Ot.enableAuthLogger=t},setEnableWallets(t){Ot.enableWallets=t},setPreferUniversalLinks(t){Ot.experimental_preferUniversalLinks=t},setSIWX(t){if(t)for(const[e,n]of Object.entries(yn.SIWX_DEFAULTS))t[e]??=n;Ot.siwx=t},setConnectMethodsOrder(t){Ot.features={...Ot.features,connectMethodsOrder:t}},setWalletFeaturesOrder(t){Ot.features={...Ot.features,walletFeaturesOrder:t}},setSocialsOrder(t){Ot.remoteFeatures={...Ot.remoteFeatures,socials:t}},setCollapseWallets(t){Ot.features={...Ot.features,collapseWallets:t}},setEnableEmbedded(t){Ot.enableEmbedded=t},setAllowUnsupportedChain(t){Ot.allowUnsupportedChain=t},setManualWCControl(t){Ot.manualWCControl=t},setEnableNetworkSwitch(t){Ot.enableNetworkSwitch=t},setEnableMobileFullScreen(t){Ot.enableMobileFullScreen=ze.isMobile()&&t},setEnableReconnect(t){Ot.enableReconnect=t},setDefaultAccountTypes(t={}){Object.entries(t).forEach(([e,n])=>{n&&(Ot.defaultAccountTypes[e]=n)})},setUniversalProviderConfigOverride(t){Ot.universalProviderConfigOverride=t},getUniversalProviderConfigOverride(){return Ot.universalProviderConfigOverride},getSnapshot(){return N4(Ot)}},J1=Object.freeze({message:"",variant:"success",svg:void 0,open:!1,autoClose:!0}),Ji=Ar({...J1}),C1t={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=ze.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=C1t,A1t={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"}]}]},Jye=ze.getBlockchainApiUrl(),fo=Ar({clientId:null,api:new e8({baseUrl:Jye,clientId:null}),supportedChains:{http:[],ws:[]}}),jt={state:fo,async get(t){const{st:e,sv:n}=jt.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 jt.getSupportedNetworks()}catch{return!1}return fo.supportedChains.http.includes(t)},async getSupportedNetworks(){try{const t=await jt.get({path:"v1/supported-chains"});return fo.supportedChains=t,t}catch{return fo.supportedChains}},async fetchIdentity({address:t}){const e=He.getIdentityFromCacheForAddress(t);if(e)return e;const n=await jt.get({path:`/v1/identity/${t}`,params:{sender:K.state.activeCaipAddress?ze.getPlainAddress(K.state.activeCaipAddress):void 0}});return He.updateIdentityCache({address:t,identity:n,timestamp:Date.now()}),n},async fetchTransactions({account:t,cursor:e,signal:n,cache:r,chainId:i}){if(!await jt.isNetworkSupported(K.state.activeCaipNetwork?.caipNetworkId))return{data:[],next:void 0};const a=He.getTransactionsCacheForAddress({address:t,chainId:i});if(a)return a;const o=await jt.get({path:`/v1/account/${t}/history`,params:{cursor:e,chainId:i},signal:n,cache:r});return He.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 jt.isNetworkSupported(K.state.activeCaipNetwork?.caipNetworkId)?jt.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 jt.isNetworkSupported(K.state.activeCaipNetwork?.caipNetworkId)?jt.get({path:"/v1/convert/tokens",params:{chainId:t}}):{tokens:[]}},async fetchTokenPrice({addresses:t}){if(!await jt.isNetworkSupported(K.state.activeCaipNetwork?.caipNetworkId))return{fungibles:[]};const n=He.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 He.updateTokenPriceCache({addresses:t,timestamp:Date.now(),tokenPrice:r}),r},async fetchSwapAllowance({tokenAddress:t,userAddress:e}){return await jt.isNetworkSupported(K.state.activeCaipNetwork?.caipNetworkId)?jt.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}=jt.getSdkProperties();if(!await jt.isNetworkSupported(K.state.activeCaipNetwork?.caipNetworkId))throw new Error("Network not supported for Gas Price");return jt.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 jt.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:yn.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}=jt.getSdkProperties();if(!await jt.isNetworkSupported(K.state.activeCaipNetwork?.caipNetworkId))throw new Error("Network not supported for Swaps");return jt.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}=jt.getSdkProperties();if(!await jt.isNetworkSupported(K.state.activeCaipNetwork?.caipNetworkId))return Dn.showError("Token Balance Unavailable"),{balances:[]};const a=`${e}:${t}`,o=He.getBalanceCacheForCaipAddress(a);if(o)return o;const c=await jt.get({path:`/v1/account/${t}/balance`,params:{currency:"usd",chainId:e,forceUpdate:n,st:r,sv:i}});return He.updateBalanceCache({caipAddress:a,balance:c,timestamp:Date.now()}),c},async lookupEnsName(t){return await jt.isNetworkSupported(K.state.activeCaipNetwork?.caipNetworkId)?jt.get({path:`/v1/profile/account/${t}`,params:{apiVersion:"2"}}):{addresses:{},attributes:[]}},async reverseLookupEnsName({address:t}){if(!await jt.isNetworkSupported(K.state.activeCaipNetwork?.caipNetworkId))return[];const n=K.getAccountData()?.address;return jt.get({path:`/v1/profile/reverse/${t}`,params:{sender:n,apiVersion:"2"}})},async getEnsNameSuggestions(t){return await jt.isNetworkSupported(K.state.activeCaipNetwork?.caipNetworkId)?jt.get({path:`/v1/profile/suggestions/${t}`,params:{zone:"reown.id"}}):{suggestions:[]}},async registerEnsName({coinType:t,address:e,message:n,signature:r}){return await jt.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 jt.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 jt.isNetworkSupported(K.state.activeCaipNetwork?.caipNetworkId))return{paymentCurrencies:[],purchaseCurrencies:[]};try{return await jt.get({path:"/v1/onramp/options"})}catch{return A1t}},async getOnrampQuote({purchaseCurrency:t,paymentCurrency:e,amount:n,network:r}){try{return await jt.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 jt.isNetworkSupported(K.state.activeCaipNetwork?.caipNetworkId)?jt.get({path:`/v1/sessions/${t}`}):[]},async revokeSmartSession(t,e,n){return await jt.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 e8({baseUrl:Jye,clientId:t})}},S1t="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"}},_1t={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===Ne.CHAIN.SOLANA&&t===tl.COINBASE.id&&!("coinbaseSolana"in window)&&(window.location.href=`${tl.COINBASE.url}/dapp?cb_url=${r}`),e===Ne.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()}}},$1t=Object.freeze({enabled:!0,events:[]}),k1t=new e8({baseUrl:ze.getAnalyticsUrl(),clientId:null}),I1t=5,T1t=60*1e3,Lf=Ar({...$1t}),P1t={state:Lf,subscribeKey(t,e){return os(Lf,t,e)},async sendError(t,e){if(!Lf.enabled)return;const n=Date.now();if(Lf.events.filter(s=>{const a=new Date(s.properties.timestamp||"").getTime();return n-a<T1t}).length>=I1t)return;const i={type:"error",event:e,properties:{errorType:t.name,errorMessage:t.message,stackTrace:t.stack,timestamp:new Date().toISOString()}};Lf.events.push(i);try{if(typeof window>"u")return;const{projectId:s,sdkType:a,sdkVersion:o}=$e.state;await k1t.post({path:"/e",params:{projectId:s,st:a,sv:o||"html-wagmi-4.2.2"},body:{eventId:ze.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(){Lf.enabled=!0},disable(){Lf.enabled=!1},clearEvents(){Lf.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&&BC.assertOptions(r,{silentJSONParsing:Vd.transitional(Vd.boolean),forcedJSONParsing:Vd.transitional(Vd.boolean),clarifyTimeoutError:Vd.transitional(Vd.boolean)},!1),i!=null&&(Ie.isFunction(i)?n.paramsSerializer={serialize:i}:BC.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),BC.assertOptions(n,{baseUrl:Vd.spelling("baseURL"),withXsrfToken:Vd.spelling("withXSRFToken")},!0),n.method=(n.method||this.defaults.method||"get").toLowerCase();let a=s&&Ie.merge(s.common,s[n.method]);s&&Ie.forEach(["delete","get","head","post","put","patch","common"],g=>{delete s[g]}),n.headers=Bo.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=[KX.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=KX.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=wye(e.baseURL,e.url,e.allowAbsoluteUrls);return pye(n,e.params,e.paramsSerializer)}};Ie.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}))}});Ie.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 a0t=class Cye{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 tv(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 Cye(function(i){e=i}),cancel:e}}};function o0t(t){return function(n){return t.apply(null,n)}}function c0t(t){return Ie.isObject(t)&&t.isAxiosError===!0}const zj={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(zj).forEach(([t,e])=>{zj[e]=t});function Aye(t){const e=new Ug(t),n=tye(Ug.prototype.request,e);return Ie.extend(n,Ug.prototype,e,{allOwnKeys:!0}),Ie.extend(n,e,null,{allOwnKeys:!0}),n.create=function(i){return Aye(xm(t,i))},n}const Si=Aye(J5);Si.Axios=Ug;Si.CanceledError=tv;Si.CancelToken=a0t;Si.isCancel=mye;Si.VERSION=Eye;Si.toFormData=K_;Si.AxiosError=ln;Si.Cancel=Si.CanceledError;Si.all=function(e){return Promise.all(e)};Si.spread=o0t;Si.isAxiosError=c0t;Si.mergeConfig=xm;Si.AxiosHeaders=Bo;Si.formToJSON=t=>gye(Ie.isHTMLForm(t)?new FormData(t):t);Si.getAdapter=xye.getAdapter;Si.HttpStatusCode=zj;Si.default=Si;const{Axios:Xqt,AxiosError:Qqt,CanceledError:eZt,isCancel:tZt,CancelToken:nZt,VERSION:rZt,all:iZt,Cancel:sZt,isAxiosError:aZt,spread:oZt,toFormData:cZt,AxiosHeaders:lZt,HttpStatusCode:dZt,formToJSON:uZt,getAdapter:hZt,mergeConfig:pZt}=Si;class Sye{client;getAccessToken;nodeIdentifier;supaAppId;constructor(e={nodeIdentifier:""}){const n=e.baseURL||"https://stage_api.walletino.fyi";this.nodeIdentifier=e.nodeIdentifier,this.supaAppId=e.supaAppId,this.client=Si.create({baseURL:n,headers:{"Content-Type":"application/json"}}),this.getAccessToken=e.getAccessToken,this.client.interceptors.request.use(async r=>{if(this.getAccessToken)try{const i=await this.getAccessToken();i&&(r.headers.Authorization=`Bearer ${i}`)}catch(i){console.error("[Supa SDK] ❌ Failed to get access token:",i)}return r.url?.startsWith("/canton/")&&(r.headers["X-Canton-Node-Id"]=this.nodeIdentifier),this.supaAppId&&(r.headers["X-Supa-App-Id"]=this.supaAppId),console.group(`[Supa SDK] 📤 REQUEST: ${r.method?.toUpperCase()} ${r.url}`),console.log("Headers:",{"Content-Type":r.headers["Content-Type"],Authorization:r.headers.Authorization?`Bearer ***${String(r.headers.Authorization).slice(-20)}`:"none","X-Canton-Node-Id":r.headers["X-Canton-Node-Id"]||"none","X-Supa-App-Id":r.headers["X-Supa-App-Id"]||"none"}),r.data&&console.log("Request Body:",r.data),console.groupEnd(),r},r=>Promise.reject(r)),this.client.interceptors.response.use(r=>(console.group(`[Supa SDK] 📥 RESPONSE: ${r.status} ${r.config.method?.toUpperCase()} ${r.config.url}`),console.log("Status:",r.status,r.statusText),console.log("Response Data:",r.data),console.groupEnd(),r),r=>{if(r.response){console.group(`[Supa SDK] ❌ ERROR RESPONSE: ${r.response.status} ${r.config?.method?.toUpperCase()} ${r.config?.url}`),console.error("Status:",r.response.status,r.response.statusText),console.error("Request Body:",r.config?.data),console.error("Response Data:",r.response.data),console.groupEnd();const i={statusCode:r.response.status,message:r.response.data?.message||r.message,error:r.response.data?.error};return Promise.reject(i)}return console.error("[Supa SDK] ❌ Network error:",r.message),Promise.reject({statusCode:0,message:r.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 KA=null;function _ye(t){return KA=new Sye(t),KA}function l0t(){if(!KA)throw new Error("ApiClient not initialized. Call createApiClient first.");return KA}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 $ye(n)},nd=t=>{const e=kye(t);return"0x"+Array.from(e).map(n=>n.toString(16).padStart(2,"0")).join("")},$ye=t=>btoa(String.fromCharCode(...t)),kye=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},d0t=t=>{let e=t.startsWith("0x")?t.slice(2):t;return e.startsWith("00")&&(e=e.slice(2)),"0x"+e},Iye=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")}},u0t="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz",Tye=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=u0t.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)},Pye=t=>{const e=Tye(t);if(e.length!==32)throw new Error(`Invalid Solana address: expected 32 bytes, got ${e.length}`);return btoa(String.fromCharCode(...e))};class Oye{constructor(e){this.client=e}meCache=null;meCacheTimestamp=0;mePendingPromise=null;CACHE_TTL=300*1e3;invalidateMeCache(){this.meCache=null,this.meCacheTimestamp=0,this.mePendingPromise=null}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){return await this.client.post("/canton/api/submit_prepared",{hash:e,signature:n})}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}=r,a=await this.submitPrepared(e,n),{submissionId:o}=a;if(r.onSubmissionId)try{await r.onSubmissionId(o)}catch(l){console.error(l)}const c=Date.now();for(;Date.now()-c<i;){const l=await this.queryCompletion(o);if(l.status==="completed")return this.invalidateMeCache(),l;await new Promise(d=>setTimeout(d,s))}throw new Error(`Transaction completion timeout after ${i}ms for submissionId: ${o}`)}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){const n=new URLSearchParams;e&&e.forEach(s=>n.append("templateIds",s));const r=n.toString(),i=r?`/canton/api/active_contracts?${r}`:"/canton/api/active_contracts";return await this.client.get(i)}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){return await this.client.post("/canton/api/prepare_transaction",{commands:e,disclosedContracts:n})}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 prepareAmuletTransfer(e){const n=e.amount.split(".");if(n.length>1&&n[1].length>10)throw new Error(`Amount cannot have more than 10 decimal places. Got: ${n[1].length}`);const r=await this.client.post("/canton/transfers/prepare_amulet_transfer",e);return this.invalidateMeCache(),r}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 GA=null;function h0t(t){return GA=new Oye(t),GA}function p0t(){if(!GA)throw new Error("CantonService not initialized. Call createCantonService first or use SDK within SupaProvider.");return GA}class Nye{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 YA=null;function f0t(t){return YA=new Nye(t),YA}function g0t(){if(!YA)throw new Error("ApiService not initialized. Call createApiService first or use SDK within SupaProvider.");return YA}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}},m0t=()=>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"})]}),y0t=()=>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"})]}),w0t=()=>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"})]}),b0t=()=>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 P4({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(aF,{show:t,as:_.Fragment,children:f.jsxs(Jpe,{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(cF,{className:m,style:Yi.panel,children:[f.jsxs("div",{style:Yi.header,children:[f.jsxs(Ype,{style:Yi.title,children:[d||f.jsx(y0t,{}),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(m0t,{})})]}),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(b0t,{}),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 Hj({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(P4,{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 Vj({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(P4,{open:t,onClose:e,onConfirm:n,onReject:r,title:h,message:i,confirmText:c,rejectText:l,description:p,infoText:d,icon:f.jsx(w0t,{}),loading:s})}const v0t=()=>{let{refreshSessionAndUser:t,privy:e}=Ke();return _.useMemo((()=>({async createWallet(n){let r=await r9(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])},x0t=()=>{let{user:t}=tn(),{privy:e}=Ke(),{signWithUserSigner:n}=rW();return _.useMemo((()=>({async signRawHash({address:r,chainType:i,hash:s}){if(!t)throw Error("User must be authenticated before signing");let a=uU(t,i).filter((c=>Ri(c))).find((c=>c.address===r));if(!a)throw Error("Wallet not found");let o=await ePe(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 Y_(t){return new Uint8Array(zt.getTransactionDecoder().decode(t).messageBytes)}async function Z6({solanaClient:t,tx:e}){let n=zt.getBase64Decoder().decode(Y_(e)),{value:r}=await t.rpc.getFeeForMessage(n).send();return r??0n}async function vW({solanaClient:t,tx:e,replaceRecentBlockhash:n}){let{value:r}=await t.rpc.simulateTransaction(zt.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 vW({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,ue.BUFFER_NOT_DEFINED);return Buffer.from(...t)};async function Rye({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 E0t({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 Rye({rpcSubscriptions:a,signature:d,timeout:1e4}),c({signature:new Uint8Array(zt.getBase58Encoder().encode(d))})}catch(d){l(d)}}))})({rpc:t,rpcSubscriptions:e});return{rpc:t,rpcSubscriptions:e,chain:n,blockExplorerUrl:r,sendAndConfirmTransaction:i}}function xW(){let t=nt(),e=_.useMemo((()=>Object.fromEntries(["solana:mainnet","solana:devnet","solana:testnet"].map((n=>[n,t.solanaRpcs[n]?E0t({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 Mye=["solana:mainnet","solana:devnet","solana:testnet"];function C0t(t){return zt.getBase58Decoder().decode(t)}function Zv(t,e){if(!Object.prototype.hasOwnProperty.call(t,e))throw TypeError("attempted to use private field on non-instance");return t}var A0t=0,jl="__private_"+A0t+++"__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 S0t=0;function nv(t){return"__private_"+S0t+++"_"+t}var Kv=nv("_address"),Gv=nv("_publicKey"),Yv=nv("_chains"),Jv=nv("_features"),Xv=nv("_label"),Qv=nv("_icon");let _0t=class jye{get address(){return zc(this,Kv)[Kv]}get publicKey(){return zc(this,Gv)[Gv].slice()}get chains(){return zc(this,Yv)[Yv].slice()}get features(){return zc(this,Jv)[Jv].slice()}get label(){return zc(this,Xv)[Xv]}get icon(){return zc(this,Qv)[Qv]}constructor({address:e,publicKey:n,label:r,icon:i}){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}),Object.defineProperty(this,Qv,{writable:!0,value:void 0}),zc(this,Kv)[Kv]=e,zc(this,Gv)[Gv]=n,zc(this,Yv)[Yv]=Mye,zc(this,Xv)[Xv]=r,zc(this,Qv)[Qv]=i,zc(this,Jv)[Jv]=["solana:signAndSendTransaction","solana:signTransaction","solana:signMessage"],new.target===jye&&Object.freeze(this)}};function on(t,e){if(!Object.prototype.hasOwnProperty.call(t,e))throw TypeError("attempted to use private field on non-instance");return t}var $0t=0;function Pa(t){return"__private_"+$0t+++"_"+t}var pc=Pa("_listeners"),e6=Pa("_version"),t6=Pa("_name"),n6=Pa("_icon"),Ma=Pa("_injection"),r6=Pa("_isPrivyWallet"),B1=Pa("_accounts"),i6=Pa("_on"),L1=Pa("_emit"),GT=Pa("_off"),U1=Pa("_connected"),s6=Pa("_connect"),a6=Pa("_disconnect"),o6=Pa("_signMessage"),c6=Pa("_signAndSendTransaction"),l6=Pa("_signTransaction");function k0t(t,...e){on(this,pc)[pc][t]?.forEach((n=>n.apply(null,e)))}function I0t(t,e){on(this,pc)[pc][t]=on(this,pc)[pc][t]?.filter((n=>e!==n))}function T0t(t,e,n){let r=structuredClone(zt.getTransactionDecoder().decode(t)),i=zt.address(e);return i in r.signatures&&(r.signatures[i]=n),new Uint8Array(zt.getTransactionEncoder().encode(r))}function Dye(){let{isHeadlessSigning:t,walletProxy:e,initializeWalletProxy:n,recoverEmbeddedWallet:r,openModal:i,privy:s,client:a}=Ke(),{user:o}=qw(),{setModalData:c}=ct(),{signWithUserSigner:l}=rW();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,ue.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,ue.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 k=await fc(s,l,{chain_type:"solana",method:"signMessage",params:{message:v,encoding:"base64"},wallet_id:m.id});if(!k.data||!("signature"in k.data))throw Error("Failed to sign message");C=k.data.signature}else{let{response:k}=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=k.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,ue.UNKNOWN_CONNECT_WALLET_ERROR))}}}),i("EmbeddedWalletConnectingScreen")}))}}function YX(){let{isHeadlessSigning:t,openModal:e}=Ke(),{setModalData:n}=ct(),{signMessage:r}=Dye(),{user:i}=qw();return{signTransaction:async({transaction:s,options:a,chain:o="solana:mainnet",address:c})=>{async function l(d){let{signature:u}=await r({message:Y_(d),address:c,options:{...a,uiOptions:{...a?.uiOptions,showWalletUIs:!1}}});return{signedTransaction:T0t(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,ue.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(ue.TRANSACTION_FAILURE)};n({connectWallet:{recoveryMethod:h.recoveryMethod,connectingWalletAddress:h.address,entropyId:p,entropyIdVerifier:g,isUnifiedWallet:m,onCompleteNavigateTo:"StandardSignAndSendTransactionScreen",onFailure:y(ue.UNKNOWN_CONNECT_WALLET_ERROR)},standardSignAndSendTransaction:b}),e("EmbeddedWalletConnectingScreen")}))}}}let qj=new class extends mf{setImplementation(t){Zv(this,jl)[jl]=t}async signMessage(t){return Zv(this,jl)[jl].signMessage(t)}async signAndSendTransaction(t){return Zv(this,jl)[jl].signAndSendTransaction(t)}async signTransaction(t){return Zv(this,jl)[jl].signTransaction(t)}constructor(t){super(),Object.defineProperty(this,jl,{writable:!0,value:void 0}),Zv(this,jl)[jl]=t}}({signTransaction:Zk("signTransaction was not injected"),signAndSendTransaction:Zk("signAndSendTransaction was not injected"),signMessage:Zk("signMessage was not injected")}),JX=new class{get version(){return on(this,e6)[e6]}get name(){return on(this,t6)[t6]}get icon(){return on(this,n6)[n6]}get chains(){return Mye.slice()}get features(){return{"standard:connect":{version:"1.0.0",connect:on(this,s6)[s6]},"standard:disconnect":{version:"1.0.0",disconnect:on(this,a6)[a6]},"standard:events":{version:"1.0.0",on:on(this,i6)[i6]},"solana:signAndSendTransaction":{version:"1.0.0",supportedTransactionVersions:["legacy",0],signAndSendTransaction:on(this,c6)[c6]},"solana:signTransaction":{version:"1.0.0",supportedTransactionVersions:["legacy",0],signTransaction:on(this,l6)[l6]},"solana:signMessage":{version:"1.0.0",signMessage:on(this,o6)[o6]},"privy:":{privy:{signMessage:on(this,Ma)[Ma].signMessage,signTransaction:on(this,Ma)[Ma].signTransaction,signAndSendTransaction:on(this,Ma)[Ma].signAndSendTransaction}}}}get accounts(){return on(this,B1)[B1].slice()}get isPrivyWallet(){return on(this,r6)[r6]}constructor({name:t,icon:e,version:n,injection:r,wallets:i}){Object.defineProperty(this,L1,{value:k0t}),Object.defineProperty(this,GT,{value:I0t}),Object.defineProperty(this,pc,{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,n6,{writable:!0,value:void 0}),Object.defineProperty(this,Ma,{writable:!0,value:void 0}),Object.defineProperty(this,r6,{writable:!0,value:void 0}),Object.defineProperty(this,B1,{writable:!0,value:void 0}),Object.defineProperty(this,i6,{writable:!0,value:void 0}),Object.defineProperty(this,U1,{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}),Object.defineProperty(this,l6,{writable:!0,value:void 0}),on(this,pc)[pc]={},on(this,i6)[i6]=(s,a)=>(on(this,pc)[pc][s]?.push(a)||(on(this,pc)[pc][s]=[a]),()=>on(this,GT)[GT](s,a)),on(this,U1)[U1]=s=>{s!=null&&(on(this,B1)[B1]=s.map((({address:a})=>new _0t({address:a,publicKey:HU.decode(a)})))),on(this,L1)[L1]("change",{accounts:this.accounts})},on(this,s6)[s6]=async()=>(on(this,L1)[L1]("change",{accounts:this.accounts}),{accounts:this.accounts}),on(this,a6)[a6]=async()=>{on(this,L1)[L1]("change",{accounts:this.accounts})},on(this,o6)[o6]=async(...s)=>{let a=[];for(let{account:o,...c}of s){let{signature:l}=await on(this,Ma)[Ma].signMessage({...c,address:o.address});a.push({signedMessage:c.message,signature:l})}return a},on(this,c6)[c6]=async(...s)=>{let a=[];for(let o of s){let{signature:c}=await on(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},on(this,l6)[l6]=async(...s)=>{let a=[];for(let{transaction:o,account:c,options:l,chain:d}of s){let{signedTransaction:u}=await on(this,Ma)[Ma].signTransaction({transaction:o,address:c.address,chain:d||"solana:mainnet",options:l});a.push({signedTransaction:u})}return a},on(this,t6)[t6]=t,on(this,n6)[n6]=e,on(this,e6)[e6]=n,on(this,Ma)[Ma]=r,on(this,B1)[B1]=[],on(this,r6)[r6]=!0,r.on("accountChanged",on(this,U1)[U1],this),on(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:qj});function P0t(){let{ready:t}=_l(),{user:e}=qw(),{signMessage:n}=Dye(),{signTransaction:r}=YX(),{signAndSendTransaction:i}=(function(){let o=nt(),{isHeadlessSigning:c,openModal:l}=Ke(),{setModalData:d}=ct(),{signTransaction:u}=YX(),h=xW(),{user:p}=qw(),{signWithUserSigner:g}=rW();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,ue.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",ue.INVALID_DATA);let T=new ede({appId:o.id,clientId:o.appClientId,storage:Mt}),R=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(R.data&&"hash"in R.data)return{signature:HU.decode(R.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:k}=await h(b).sendAndConfirmTransaction(S);return{signature:k}}return c({showWalletUIs:x?.uiOptions?.showWalletUIs})?C(m):new Promise((async(w,S)=>{let k,P,{entropyId:T,entropyIdVerifier:R}=zi(p,v);function M(A){return I=>{S(I instanceof se?I:new se("Failed to connect to wallet",I,A))}}let N={account:v,transaction:m,chain:b,signOnly:!1,uiOptions:x?.uiOptions||{},onConfirm:C,onSuccess:w,onFailure:M(ue.TRANSACTION_FAILURE),isSponsored:!!x?.sponsor},$={recoveryMethod:v.recoveryMethod,connectingWalletAddress:v.address,entropyId:T,entropyIdVerifier:R,isUnifiedWallet:E,onCompleteNavigateTo:"StandardSignAndSendTransactionScreen",onFailure:M(ue.UNKNOWN_CONNECT_WALLET_ERROR)};o.fundingConfig&&(k=iRe({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:N,funding:k,solanaFundingData:P}),l("EmbeddedWalletConnectingScreen")}))}}})(),s=_.useMemo((()=>{let o=[...Mde(e).sort(((l,d)=>(l.walletIndex??0)-(d.walletIndex??0)))],c=hU(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((()=>{qj?.setImplementation(a)}),[a]),_.useEffect((()=>{var o;!t||(o=JX.accounts).length===s.length&&o.every(((c,l)=>c.address===s[l]?.address))||qj?.emit("accountChanged",s)}),[t,s]),{ready:t,wallet:JX}}function O0t(){let{client:t}=Ke(),{ready:e,wallet:n}=P0t(),[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 Bye(){let{ready:t,wallets:e}=O0t();return{ready:t,wallets:_.useMemo((()=>e.flatMap((n=>n.accounts.map((r=>new oU({wallet:n,account:r})))))),[e])}}function N0t(){let{user:t,getAccessToken:e}=tn(),{walletProxy:n,openModal:r,client:i}=Ke(),{setModalData:s}=ct(),a=nt();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):E5(t);if(!d)return void l(new se("User must have an embedded wallet."));if(!C5(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 R0t(){let{create:t}=Che();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 M0t(){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 J_=()=>{const{apiClient:t,config:e}=Md(),{login:n}=SRe(),{logout:r}=_ue(),{authenticated:i,ready:s,user:a,getAccessToken:o,exportWallet:c}=qw(),{exportWallet:l}=N0t(),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}},j0t=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},D0t=t=>"0x"+Array.from(t).map(e=>e.toString(16).padStart(2,"0")).join("");function rv(){const{signTransactionConfirm:t,setModalLoading:e,config:n}=Md(),r=n.withExport??!1,{signRawHash:i}=x0t(),{signMessage:s}=M0t(),{wallets:a}=Bye(),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(r){let w=o.current.find(P=>P.address===l.address);if(!w)for(let T=1;T<=30&&(await new Promise(R=>setTimeout(R,500)),w=o.current.find(R=>R.address===l.address),!w);T++);if(!w)throw new Error(`Wallet not found for address: ${l.address}`);const S=j0t(l.hash),k=await s({message:S,wallet:w,options:{uiOptions:{showWalletUIs:!1}}});return{signature:D0t(k.signature)}}else return await i({address:l.address,chainType:l.chainType,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 Q2=(t,e,n="stellar")=>{const r=[];if(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())},Lye=t=>{if(!t)throw new Error("Wallet is required");if(t.chainType==="solana"&&t.address)return Pye(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 Iye(e)},B0t=t=>t&&(t.chainType==="stellar"||t.chainType==="solana"),L0t=(t,e,n="stellar")=>{const r=Q2(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}=J_(),{wallets:n}=_l(),{config:r}=Md(),i=r.withExport?"solana":"stellar",s=e?Q2(t,n,i):[],a=s[0]||null;return{cantonWallets:s,cantonWallet:a}}const U0t=oy,Uye=_.createContext(null);function Zj({cantonService:t,children:e,withExport:n=!1,autoOnboarding:r=!0,autoTransferPreapproval:i=!1}){const{user:s,authenticated:a}=J_(),{wallets:o}=_l(),{signRawHashWithModal:c}=rv(),{createWallet:l}=v0t(),{createWallet:d}=R0t(),{cantonWallet:u,cantonWallets:h}=oy(),p=n?"solana":"stellar",[g,m]=_.useState(!1),[y,b]=_.useState(null),[x,v]=_.useState(!1),[E,C]=_.useState(null),[w,S]=_.useState(null),k=_.useRef(!1),P=_.useRef(!1),T=_.useRef(!1),R=_.useRef(!1),M=_.useRef(null),N=_.useRef(null),$=_.useRef(null),A=_.useRef(null),I=_.useRef(!1);_.useEffect(()=>{a&&u&&!k.current&&(k.current=!0,B())},[a,u]);const B=async()=>{try{const je=await t.checkRegistrationStatus();v(je)}catch{v(!1)}};_.useEffect(()=>{a&&u&&x&&!P.current&&(P.current=!0,(async()=>{try{const ke=await t.getMe();if(C(ke),!i)return;!ke.transferPreapprovalSet&&!I.current&&u&&(I.current=!0,pe(ke).catch(be=>{console.warn("[Supa SDK] ❌ Failed to automatically setup transfer preapproval:",be)}))}catch(ke){console.error("[Supa SDK] Failed to fetch Canton user info:",ke)}})())},[a,u,x,i]);const D=_.useCallback(()=>{b(null)},[]),O=_.useCallback(()=>{console.log("[Supa SDK] 🔄 Resetting Canton state..."),m(!1),b(null),v(!1),C(null),S(null),k.current=!1,P.current=!1,T.current=!1,R.current=!1,I.current=!1,M.current=null,N.current=null,$.current=null,A.current=null,console.log("[Supa SDK] ✅ Canton state reset complete")},[]),j=_.useCallback(async()=>{if(!a)throw new Error("User must be authenticated to create wallet");m(!0),b(null);try{const je=n?await d():await l({chainType:"stellar"});if(je){const ke=je.wallet||je;if(ke.public_key||ke.publicKey||ke.address)return console.log(`[Supa SDK] ✅ ${n?"Solana":"Stellar"} wallet created successfully`),ke;await new Promise(Te=>setTimeout(Te,2e3));const be=Q2(s,o,p);return be[0]?(console.log(`[Supa SDK] ✅ ${n?"Solana":"Stellar"} wallet created successfully`),be[0]):ke}return null}catch(je){const ke=new Error(`Failed to create ${n?"Solana":"Stellar"} wallet: ${je.message}`);throw b(ke),ke}finally{m(!1)}},[a,l,d,s,o,n,p]),F=_.useCallback(async je=>{if(!u)throw new Error("No Stellar wallet found");try{const ke=nd(je),be=await c({address:u.address,chainType:p,hash:ke},{title:"Sign Hash",description:"You are about to sign the following hash.",confirmText:"Sign",rejectText:"Reject",displayHash:`Hash: ${je}`});if(!be)throw new Error("User rejected signature");return td(be.signature)}catch(ke){throw new Error(`Failed to sign hash: ${ke.message}`)}},[u,c]),W=_.useCallback(async je=>{if(M.current)return M.current;if(x){console.log("[Supa SDK] ✅ Canton wallet already registered, skipping");return}const ke=(async()=>{m(!0),b(null);try{let be=u;if(!be){const Ue=await j();if(Ue?be=Ue:(await new Promise(H=>setTimeout(H,2e3)),be=Q2(s,o,p)[0]||null),!be)throw new Error("Failed to create Stellar wallet. Please try again.")}let Te=null,at=0;const _t=10;for(;at<_t&&!Te;)try{Te=Lye(be);break}catch(Ue){if(at++,at>=_t)throw new Error(`${Ue.message} After ${_t} attempts, the Stellar wallet is still not ready.`);await new Promise(H=>setTimeout(H,2e3));const vn=Q2(s,o,p);vn[0]&&(be=vn[0])}if(!Te)throw new Error("Failed to obtain public key from Stellar wallet");await new Promise(Ue=>setTimeout(Ue,1e3));const ht=async Ue=>{let vn=0;const H=5;for(console.log("[Supa SDK] 🔐 Signing with wallet:",be.address);vn<H;)try{console.log(`[Supa SDK] 🔐 Sign attempt ${vn+1}/${H}...`);const L=await c({address:be.address,chainType:p,hash:Ue},{skipModal:!0});if(!L)throw new Error("User rejected signature");return console.log("[Supa SDK] ✅ Signature obtained successfully"),L.signature}catch(L){if(vn++,console.log(`[Supa SDK] ❌ Sign attempt ${vn} failed:`,L.message),(L.message?.includes("Wallet not found")||L.message?.includes("not initialized")||L.message?.includes("proxy")||L.message?.includes("Wallet"))&&vn<H){const U=vn===1?2e3:vn===2?3e3:4e3;console.log(`[Supa SDK] ⏳ Waiting ${U/1e3}s before retry...`),await new Promise(X=>setTimeout(X,U));continue}throw L}throw new Error("Failed to sign after multiple attempts")};if(await t.registerCanton({publicKey:Te,signFunction:ht,inviteCode:je})==="registered"){console.log("[Supa SDK] ✅ Canton wallet already registered or registration completed"),v(!0);return}console.log("[Supa SDK] ✅ Canton wallet registered successfully"),v(!0)}catch(be){console.error("[Supa SDK] ❌ Canton registration failed:",be);const Te=new Error(`Failed to register Canton wallet: ${be.message}`);throw b(Te),Te}finally{m(!1),M.current=null}})();return M.current=ke,ke},[u,j,s,o,c,t,x]),Z=_.useCallback(async(je,ke)=>{if(!u)throw new Error("No Stellar wallet found");m(!0),b(null);try{const be=async Te=>{const at=await c({address:u.address,chainType:p,hash:Te},{title:"Tap Devnet Faucet",description:`You are requesting ${je} tokens from the devnet faucet.`,confirmText:"Confirm & Sign",rejectText:"Cancel",displayHash:`Request ${je} Canton tokens from devnet faucet`});if(!at)throw new Error("User rejected signature");return at.signature};return await t.tapDevnet({amount:je,signFunction:be},ke)}catch(be){const Te=new Error(`Failed to tap devnet: ${be.message}`);throw b(Te),Te}finally{m(!1)}},[u,c,t]),V=_.useCallback(async()=>{if(N.current)return N.current;const je=(async()=>{try{const ke=await t.getMe();return C(ke),ke}finally{setTimeout(()=>{N.current=null},100)}})();return N.current=je,je},[t]),q=_.useCallback(async je=>await t.getActiveContracts(je),[t]),ee=_.useCallback(async()=>{if($.current)return $.current;const je=(async()=>{try{const ke=await t.getBalances();return S(ke),ke}finally{setTimeout(()=>{$.current=null},100)}})();return $.current=je,je},[t]),te=_.useCallback(async je=>{if(!u)throw new Error("No Stellar wallet found");m(!0),b(null);try{const ke=async be=>{const Te=await c({address:u.address,chainType:p,hash:be},{title:"Sign Message",description:"You are about to sign the following message:",confirmText:"Sign",rejectText:"Reject",displayHash:je});if(!Te)throw new Error("User rejected signature");return Te.signature};return await t.signMessage(je,ke)}catch(ke){const be=new Error(`Failed to sign message: ${ke.message}`);throw b(be),be}finally{m(!1)}},[u,c,t]),Q=_.useCallback(async(je,ke,be)=>{if(!u)throw new Error("No Stellar wallet found");m(!0),b(null);try{const Te=await t.prepareTransaction(je,ke);be?.onCostEstimation&&Te.costEstimation&&await be.onCostEstimation(Te.costEstimation);const at=nd(Te.hash),_t=await c({address:u.address,chainType:p,hash:at},{title:"Sign Transaction",description:"Review and sign the following transaction.",confirmText:"Sign & Send",rejectText:"Reject",displayHash:`Transaction Hash: ${Te.hash}`});if(!_t)throw new Error("User rejected transaction");const ht=td(_t.signature);return await t.submitPreparedAndWait(Te.hash,ht,be)}catch(Te){const at=new Error(`Failed to send transaction: ${Te.message}`);throw b(at),at}finally{m(!1)}},[u,c,t]),ne=_.useCallback(async(je,ke,be,Te)=>{if(!u)throw new Error("No Stellar wallet found");m(!0),b(null);try{const at=await t.prepareAmuletTransfer({receiverPartyId:je,amount:ke,memo:be});Te?.onCostEstimation&&at.costEstimation&&await Te.onCostEstimation(at.costEstimation);const _t=nd(at.hash),ht=await c({address:u.address,chainType:p,hash:_t},{skipModal:Te?.skipModal||!1,title:"Send Canton Coin",description:`You are sending ${ke} Canton Coin${be?` (${be})`:""}.`,confirmText:"Confirm & Sign",rejectText:"Cancel",displayHash:`Sending ${ke} CC to ${je.slice(0,20)}...`});if(!ht)throw new Error("User rejected transfer");const Pn=td(ht.signature),Ue=await t.submitPreparedAndWait(at.hash,Pn,Te);return await ee().catch(()=>{}),Ue}catch(at){if(at.message?.includes("CantonTransferOnlySupportedForWalletsWithPreapprovedTransfers")){const ht=new Error("Transfer preapproval required. The receiver wallet must have transfer preapproval enabled.");throw b(ht),ht}const _t=new Error(`Failed to send Canton Coin: ${at.message}`);throw b(_t),_t}finally{m(!1)}},[u,c,t,ee]),pe=_.useCallback(async je=>{if(!u)throw new Error("No Stellar wallet found");if(A.current)return A.current;if((je||E)?.transferPreapprovalSet)return;I.current=!0;const be=(async()=>{m(!0),b(null);try{if(!je){const Pn=await t.getMe();if(Pn.transferPreapprovalSet){C(Pn);return}}const Te=await t.prepareTransferPreapproval(),at=nd(Te.hash),_t=await c({address:u.address,chainType:p,hash:at},{skipModal:!0});if(!_t)throw new Error("User rejected transfer preapproval signature");const ht=td(_t.signature);if(await t.submitPreparedAndWait(Te.hash,ht),je)C({...je,transferPreapprovalSet:!0});else{const Pn=await t.getMe();C(Pn)}}catch(Te){const at=new Error(`Failed to setup transfer preapproval: ${Te.message}`);throw b(at),at}finally{m(!1),A.current=null}})();return A.current=be,be},[u,c,t,E]),Se=_.useCallback(async()=>pe(),[pe]),Re=_.useCallback(async()=>await t.getPendingIncomingTransfers(),[t]),oe=_.useCallback(async(je,ke,be)=>{if(!u)throw new Error("No Stellar wallet found");m(!0),b(null);try{const Te=await t.prepareResponseToIncomingTransfer({contractId:je,accept:ke});be?.onCostEstimation&&Te.costEstimation&&await be.onCostEstimation(Te.costEstimation);const at=nd(Te.hash),_t=await c({address:u.address,chainType:p,hash:at},{title:ke?"Accept Transfer":"Reject Transfer",description:`You are about to ${ke?"accept":"reject"} an incoming transfer.`,confirmText:"Confirm & Sign",rejectText:"Cancel",displayHash:`${ke?"Accepting":"Rejecting"} transfer ${je.slice(0,20)}...`});if(!_t)throw new Error("User rejected signature");const ht=td(_t.signature),Pn=await t.submitPreparedAndWait(Te.hash,ht,be);return await ee().catch(()=>{}),Pn}catch(Te){const at=new Error(`Failed to respond to transfer: ${Te.message}`);throw b(at),at}finally{m(!1)}},[u,c,t,ee]),De=_.useCallback(async je=>await t.getTransactions(je),[t]),tt=_.useCallback(async je=>await t.getPriceHistory(je),[t]);_.useEffect(()=>{if(!r||!a||g)return;(async()=>{if(!u&&!T.current){T.current=!0;try{n?await d():await l({chainType:"stellar"}),console.log(`[Supa SDK] ✅ ${n?"Solana":"Stellar"} wallet auto-created`)}catch(ke){console.warn(`[Supa SDK] ❌ Failed to auto-create ${n?"Solana":"Stellar"} wallet:`,ke)}return}if(u&&!x&&!R.current&&!M.current){R.current=!0;try{await W()}catch(ke){console.warn("[Supa SDK] ❌ Failed to auto-register Canton:",ke),R.current=!1}}})()},[r,a,g,u,x,l,d,W,n]);const Qe={cantonWallet:u,cantonWallets:h,createCantonWallet:j,registerCanton:W,isRegistered:x,cantonUser:E,getMe:V,getActiveContracts:q,cantonBalances:w,getBalances:ee,tapDevnet:Z,signHash:F,signMessage:te,sendTransaction:Q,sendCantonCoin:ne,setupTransferPreapproval:Se,getPendingIncomingTransfers:Re,respondToIncomingTransfer:oe,getTransactions:De,getPriceHistory:tt,resetState:O,loading:g,error:y,clearError:D};return f.jsx(Uye.Provider,{value:Qe,children:e})}function Fye(){const t=_.useContext(Uye);if(!t)throw new Error("useCantonContext must be used within CantonProvider (inside SupaProvider)");return t}typeof window<"u"&&!window.Buffer&&(window.Buffer=Npt.Buffer,console.log("[Supa SDK] ✅ Buffer polyfill initialized"));const Kj=_.createContext(null);function F0t({config:t,children:e}){const[n,r]=_.useState(null),[i,s]=_.useState({type:null,options:null,resolve:null,loading:!1});_.useEffect(()=>{const S=_ye({baseURL:t.apiBaseUrl,nodeIdentifier:t.nodeIdentifier,supaAppId:t.supaAppId}),k=h0t(S),P=f0t(S);r({apiClient:S,cantonService:k,apiService:P})},[t]);const a=_.useCallback(S=>k=>new Promise(P=>s({type:S,options:k,resolve:P,loading:!1})),[]),o=_.useCallback(a("confirm"),[a]),c=_.useCallback(a("signMessage"),[a]),l=_.useCallback(a("signTransaction"),[a]),d=_.useCallback(S=>{s(k=>({...k,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"}},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(Cut,{appId:t.privyAppId,clientId:t.privyClientId,config:y,children:w?f.jsx(_pt,{config:t.smartWallets?.paymasterContext?{paymasterContext:t.smartWallets.paymasterContext}:void 0,children:f.jsx(Kj.Provider,{value:b,children:f.jsx(Zj,{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(P4,{open:x,onClose:p,onConfirm:h,onReject:p,loading:i.loading,...i.options}),E&&i.options&&f.jsx(Hj,{open:x,onClose:p,onConfirm:h,onReject:p,loading:i.loading,...i.options}),C&&i.options&&f.jsx(Vj,{open:x,onClose:p,onConfirm:h,onReject:p,loading:i.loading,...i.options})]})})})}):f.jsx(Kj.Provider,{value:b,children:f.jsx(Zj,{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(P4,{open:x,onClose:p,onConfirm:h,onReject:p,loading:i.loading,...i.options}),E&&i.options&&f.jsx(Hj,{open:x,onClose:p,onConfirm:h,onReject:p,loading:i.loading,...i.options}),C&&i.options&&f.jsx(Vj,{open:x,onClose:p,onConfirm:h,onReject:p,loading:i.loading,...i.options})]})})})})}function Md(){const t=_.useContext(Kj);if(!t)throw new Error("useSupaContext must be used within SupaProvider");return t}function Wye(){return Fye()}const W0t=()=>{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()}}},zye=()=>{const t=J_(),e=Wye(),n=W0t();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 z0t(){const{cantonService:t}=Md(),{signRawHashWithModal:e}=rv(),{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 k=>{const P=await e({address:n.address,chainType:n.chainType,hash:k},{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 k=new Error(`Failed to sign message: ${w.message}`);o(k),g?.(k)}return null}finally{s(!1)}},[n,e,t]),loading:i,error:a,clearError:c,cantonWallets:r,cantonWallet:n}}function H0t(){const{cantonService:t}=Md(),{signRawHashWithModal:e}=rv(),{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,submitOptions:S}=h||{};if(!n){const k=new Error("No Stellar wallet found. Please create one first.");return o(k),m?.(k),null}o(null),s(!0);try{const k=await t.prepareTransaction(d,u),P=C||(w?void 0:`Transaction Hash: ${k.hash}`),T=nd(k.hash),R=await e({address:n.address,chainType:"solana",hash:T},{skipModal:y,title:b,description:x,confirmText:v,rejectText:E,infoText:"You are submitting a transaction, please be careful",displayHash:P,showTechnicalDetails:w});if(!R)return g?.(),null;const M=td(R.signature),N=await t.submitPreparedAndWait(k.hash,M,S);return p?.(N),N}catch(k){if(k.message.includes("rejected"))g?.();else{const T=new Error(`Failed to send transaction: ${k.message}`);o(T),m?.(T)}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 XX(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 V0t(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 Hye(){const{cantonService:t,config:e,signTransactionConfirm:n}=Md(),{signRawHashWithModal:r}=rv(),{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,submitOptions:S}=p||{};if(!i){const k=new Error("No Canton wallet found. Please create one first.");return l(k),y?.(k),null}if(!Array.isArray(h)||h.length===0){const k=new Error("No transactions provided.");return l(k),y?.(k),null}l(null),o(!0);try{const k=await Promise.allSettled(h.map(O=>t.prepareTransaction(O.commands,O.disclosedContracts))),P=[],T=[];if(k.forEach((O,j)=>{O.status==="fulfilled"?P[j]=O.value:T.push({index:j,error:h2(O.reason)})}),T.length){const O=T[0];throw new Error(`Failed to prepare ${T.length}/${h.length} transactions. First failure at ${Hy(O.index)}: ${O.error}`)}const R=P.map((O,j)=>{if(!w)return`Transaction Hash: ${O.hash}`;const F=h[j];return JSON.stringify({index:j+1,hash:O.hash,commands:F?.commands,disclosedContracts:F?.disclosedContracts},null,2)});if(!b){const O=P.length;if(!(await n({transaction:R,title:x,description:v??`You are about to sign ${O} transactions.`,confirmText:E,rejectText:C,infoText:"You are submitting transactions, please be careful"})).confirmed)return m?.(),null}const M=e.withExport?"solana":"stellar",N=[];for(let O=0;O<P.length;O++){const j=P[O];try{const F=nd(j.hash),W=await r({address:i.address,chainType:M,hash:F},{skipModal:!0});if(!W)return m?.(),null;N.push({hash:j.hash,signature:td(W.signature)})}catch(F){if(XX(F))return m?.(),null;throw new Error(`Failed to sign ${Hy(O,j.hash)}: ${h2(F)}`)}}let $;try{$=await t.submitMultiplePrepared(N)}catch{$=(await Promise.allSettled(N.map(async F=>{const W=await t.submitPrepared(F.hash,F.signature);return{hash:F.hash,success:!0,submissionId:W.submissionId}}))).map((F,W)=>{const Z=N[W]?.hash??"";return F.status==="fulfilled"?F.value:{hash:Z,success:!1,error:h2(F.reason)}})}const A=$.map((O,j)=>({r:O,idx:j})).filter(({r:O})=>!O.success);if(A.length){const O=A.slice(0,3).map(({r:F,idx:W})=>`${Hy(W,F.hash)}: ${F.error??"Unknown error"}`).join("; "),j=A.length>3?` (+${A.length-3} more)`:"";throw new Error(`Failed to submit ${A.length}/${$.length} transactions: ${O}${j}`)}const I=await Promise.allSettled($.map((O,j)=>{const F=O.submissionId;return F?V0t({queryCompletion:W=>t.queryCompletion(W),submissionId:F,label:Hy(j,O.hash),options:S}):Promise.reject(new Error(`Missing submissionId for ${Hy(j,O.hash)}`))})),B=[],D=[];if(I.forEach((O,j)=>{O.status==="fulfilled"?B[j]=O.value:D.push({index:j,error:h2(O.reason)})}),D.length){const O=D[0];throw new Error(`Failed to wait for completion for ${D.length}/${$.length} transactions. First failure at ${Hy(O.index,$[O.index]?.hash)}: ${O.error}`)}return g?.(B),B}catch(k){if(XX(k))m?.();else{const P=new Error(`Failed to send multiple transactions: ${h2(k)}`);l(P),y?.(P)}return null}finally{o(!1)}},[t,i,e.withExport,r,n]),loading:a,error:c,clearError:d,cantonWallets:s,cantonWallet:i}}function q0t(){const{sendMultipleTransactions:t,loading:e,error:n,clearError:r,cantonWallets:i,cantonWallet:s}=Hye();return{sendTransactions:(o,c)=>t(o,c),loading:e,error:n,clearError:r,cantonWallets:i,cantonWallet:s}}function Z0t(){const{cantonService:t,config:e}=Md(),{cantonWallet:n}=oy(),{signRawHashWithModal:r}=rv(),[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 K0t(){const{confirm:t,signMessageConfirm:e,signTransactionConfirm:n,setModalLoading:r,closeModal:i}=Md();return{confirm:t,signMessageConfirm:e,signTransactionConfirm:n,setModalLoading:r,closeModal:i}}function G0t(){const{client:t,getClientForChain:e}=$pt();return{client:t,getClientForChain:e,address:t?.account?.address,ready:!!t}}const Ne={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"},EW={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 Ne.CHAIN_NAME_MAP?.[r]||void 0}},Vye=["eip155","solana","polkadot","bip122","cosmos","sui","stacks"];var Y0t=20,J0t=1,Em=1e6,QX=1e6,X0t=-7,Q0t=21,e1t=!1,X5="[big.js] ",cy=X5+"Invalid ",X_=cy+"decimal places",t1t=cy+"rounding mode",qye=X5+"Division by zero",ar={},Au=void 0,n1t=/^-?(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i;function Zye(){function t(e){var n=this;if(!(n instanceof t))return e===Au?Zye():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)}r1t(n,e)}n.constructor=t}return t.prototype=ar,t.DP=Y0t,t.RM=J0t,t.NE=X0t,t.PE=Q0t,t.strict=e1t,t.roundDown=0,t.roundHalfUp=1,t.roundHalfEven=2,t.roundUp=3,t}function r1t(t,e){var n,r,i;if(!n1t.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(t1t);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(X_);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<-QX||t>QX)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(X_);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(X5+"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(X_);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(X_);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(X5+"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(X5+"valueOf disallowed");return dy(t,t.e<=e.NE||t.e>=e.PE,!0)};var Bf=Zye();const Bi={bigNumber(t){return t?new Bf(t):new Bf(0)},multiply(t,e){if(t===void 0||e===void 0)return new Bf(0);const n=new Bf(t),r=new Bf(e);return n.times(r)},toFixed(t,e=2){return t===void 0||t===""?new Bf(0).toFixed(e):new Bf(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 Bf(e).toNumber()}},i1t=[{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"}]}],s1t=[{type:"function",name:"approve",stateMutability:"nonpayable",inputs:[{name:"spender",type:"address"},{name:"amount",type:"uint256"}],outputs:[{type:"bool"}]}],a1t=[{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"}]}],o1t={getERC20Abi:t=>Ne.USDT_CONTRACT_ADDRESSES.includes(t)?a1t:i1t,getSwapAbi:()=>s1t},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 c1t extends Error{constructor(e,n){super(n.message,{cause:e}),this.name=du.PROVIDER_RPC_ERROR_NAME.PROVIDER_RPC,this.code=n.code}}class Kye extends c1t{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 It={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 YT(t){if(!t)throw new Error("Namespace is required for CONNECTED_CONNECTOR_ID");return`@appkit/${t}:connected_connector_id`}const St={setItem(t,e){K6()&&e!==void 0&&localStorage.setItem(t,e)},getItem(t){if(K6())return localStorage.getItem(t)||void 0},removeItem(t){K6()&&localStorage.removeItem(t)},clear(){K6()&&localStorage.clear()}};function K6(){return typeof window<"u"&&typeof localStorage<"u"}function JA(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 l1t=Symbol(),eQ=Object.getPrototypeOf,Gj=new WeakMap,d1t=t=>t&&(Gj.has(t)?Gj.get(t):eQ(t)===Object.prototype||eQ(t)===Array.prototype),u1t=t=>d1t(t)&&t[l1t]||null,tQ=(t,e=!0)=>{Gj.set(t,e)},XA={},CW=t=>typeof t=="object"&&t!==null,h1t=t=>CW(t)&&!Q5.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),Gye=(t,e)=>{const n=Yj.get(t);if(n?.[0]===e)return n[1];const r=Array.isArray(t)?[]:Object.create(Object.getPrototypeOf(t));return tQ(r,!0),Yj.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(Q5.has(s))tQ(s,!1);else if(e1.has(s)){const[c,l]=e1.get(s);o.value=Gye(c,l())}Object.defineProperty(r,i,o)}),Object.preventExtensions(r)},p1t=(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&&(nQ(l,a)||O4.has(a)&&nQ(l,O4.get(a))))return!0;n(s),CW(a)&&(a=u1t(a)||a);const d=!e1.has(a)&&g1t(a)?Ar(a):a;return e(s,d),Reflect.set(i,s,d,o),r(["set",[s],a,l]),!0}}),e1=new WeakMap,Q5=new WeakSet,Yj=new WeakMap,LC=[1],O4=new WeakMap;let nQ=Object.is,f1t=(t,e)=>new Proxy(t,e),g1t=h1t,m1t=Gye,y1t=p1t;function Ar(t={}){if(!CW(t))throw new Error("object required");const e=O4.get(t);if(e)return e;let n=LC[0];const r=new Set,i=(y,b=++LC[0])=>{n!==b&&(s=n=b,r.forEach(x=>x(y,b)))};let s=n;const a=(y=LC[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=!Q5.has(b)&&e1.get(b);if(x){if((XA?"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((XA?"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=y1t(()=>h,l,d,i),g=f1t(t,p);O4.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);(XA?"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 N4(t){const e=e1.get(t);(XA?"production":void 0)!=="production"&&!e&&console.warn("Please use proxy object");const[n,r]=e;return m1t(n,r())}function rb(t){return Q5.add(t),t}function w1t(){return{proxyStateMap:e1,refSet:Q5,snapCache:Yj,versionHolder:LC,proxyCache:O4}}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:b1t,snapCache:v1t}=w1t(),IE=t=>b1t.has(t);function x1t(t){const e=[];let n=0;const r=new Map,i=new WeakMap,s=()=>{const l=v1t.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 IE(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(!IE(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(!IE(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(!IE(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 JT=(typeof process<"u"&&typeof process.env<"u"?process.env.NEXT_PUBLIC_SECURE_SITE_ORIGIN:void 0)||"https://secure.walletconnect.org",Yye=[{label:"Meld.io",name:"meld",feeRange:"1-2%",url:"https://meldcrypto.com",supportedChains:["eip155","solana"]}],E1t="WXETMuFUQmqqybHuRkSgxv:25B8LJHSfpG6LVjR2ytU5Cwh7Z4Sch2ocoU",yn={FOUR_MINUTES_MS:24e4,TEN_SEC_MS:1e4,FIVE_SEC_MS:5e3,THREE_SEC_MS:3e3,ONE_SEC_MS:1e3,SECURE_SITE:JT,SECURE_SITE_DASHBOARD:`${JT}/dashboard`,SECURE_SITE_FAVICON:`${JT}/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:[Ne.CHAIN.EVM,Ne.CHAIN.SOLANA],SEND_PARAMS_SUPPORTED_CHAINS:[Ne.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:[Ne.CHAIN.EVM],ONRAMP_SUPPORTED_CHAIN_NAMESPACES:[Ne.CHAIN.EVM,Ne.CHAIN.SOLANA],PAY_WITH_EXCHANGE_SUPPORTED_CHAIN_NAMESPACES:[Ne.CHAIN.EVM,Ne.CHAIN.SOLANA],ACTIVITY_ENABLED_CHAIN_NAMESPACES:[Ne.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:[Ne.CHAIN.EVM,Ne.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}},He={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=He.getActiveNamespace(),e=He.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{St.setItem(It.DEEPLINK_CHOICE,JSON.stringify({href:e,name:t}))}catch{console.info("Unable to set WalletConnect deep link")}},getWalletConnectDeepLink(){try{const t=St.getItem(It.DEEPLINK_CHOICE);if(t)return JSON.parse(t)}catch{console.info("Unable to get WalletConnect deep link")}},deleteWalletConnectDeepLink(){try{St.removeItem(It.DEEPLINK_CHOICE)}catch{console.info("Unable to delete WalletConnect deep link")}},setActiveNamespace(t){try{St.setItem(It.ACTIVE_NAMESPACE,t)}catch{console.info("Unable to set active namespace")}},setActiveCaipNetworkId(t){try{St.setItem(It.ACTIVE_CAIP_NETWORK_ID,t),He.setActiveNamespace(t.split(":")[0])}catch{console.info("Unable to set active caip network id")}},getActiveCaipNetworkId(){try{return St.getItem(It.ACTIVE_CAIP_NETWORK_ID)}catch{console.info("Unable to get active caip network id");return}},deleteActiveCaipNetworkId(){try{St.removeItem(It.ACTIVE_CAIP_NETWORK_ID)}catch{console.info("Unable to delete active caip network id")}},deleteConnectedConnectorId(t){try{const e=YT(t);St.removeItem(e)}catch{console.info("Unable to delete connected connector id")}},setAppKitRecent(t){try{const e=He.getRecentWallets();e.find(r=>r.id===t.id)||(e.unshift(t),e.length>2&&e.pop(),St.setItem(It.RECENT_WALLETS,JSON.stringify(e)),St.setItem(It.RECENT_WALLET,JSON.stringify(t)))}catch{console.info("Unable to set AppKit recent")}},getRecentWallets(){try{const t=St.getItem(It.RECENT_WALLETS);return t?JSON.parse(t):[]}catch{console.info("Unable to get AppKit recent")}return[]},getRecentWallet(){try{const t=St.getItem(It.RECENT_WALLET);return t?JSON.parse(t):null}catch{console.info("Unable to get AppKit recent")}return null},deleteRecentWallet(){try{St.removeItem(It.RECENT_WALLET)}catch{console.info("Unable to delete AppKit recent")}},setConnectedConnectorId(t,e){try{const n=YT(t);St.setItem(n,e)}catch{console.info("Unable to set Connected Connector Id")}},getActiveNamespace(){try{return St.getItem(It.ACTIVE_NAMESPACE)}catch{console.info("Unable to get active namespace")}},getConnectedConnectorId(t){if(t)try{const e=YT(t);return St.getItem(e)}catch{console.info("Unable to get connected connector id in namespace",t)}},setConnectedSocialProvider(t){try{St.setItem(It.CONNECTED_SOCIAL,t)}catch{console.info("Unable to set connected social provider")}},getConnectedSocialProvider(){try{return St.getItem(It.CONNECTED_SOCIAL)}catch{console.info("Unable to get connected social provider")}},deleteConnectedSocialProvider(){try{St.removeItem(It.CONNECTED_SOCIAL)}catch{console.info("Unable to delete connected social provider")}},getConnectedSocialUsername(){try{return St.getItem(It.CONNECTED_SOCIAL_USERNAME)}catch{console.info("Unable to get connected social username")}},getStoredActiveCaipNetworkId(){return St.getItem(It.ACTIVE_CAIP_NETWORK_ID)?.split(":")?.[1]},setConnectionStatus(t){try{St.setItem(It.CONNECTION_STATUS,t)}catch{console.info("Unable to set connection status")}},getConnectionStatus(){try{return St.getItem(It.CONNECTION_STATUS)}catch{return}},getConnectedNamespaces(){try{const t=St.getItem(It.CONNECTED_NAMESPACES);return t?.length?t.split(","):[]}catch{return[]}},setConnectedNamespaces(t){try{const e=Array.from(new Set(t));St.setItem(It.CONNECTED_NAMESPACES,e.join(","))}catch{console.info("Unable to set namespaces in storage")}},addConnectedNamespace(t){try{const e=He.getConnectedNamespaces();e.includes(t)||(e.push(t),He.setConnectedNamespaces(e))}catch{console.info("Unable to add connected namespace")}},removeConnectedNamespace(t){try{const e=He.getConnectedNamespaces(),n=e.indexOf(t);n>-1&&(e.splice(n,1),He.setConnectedNamespaces(e))}catch{console.info("Unable to remove connected namespace")}},getTelegramSocialProvider(){try{return St.getItem(It.TELEGRAM_SOCIAL_PROVIDER)}catch{return console.info("Unable to get telegram social provider"),null}},setTelegramSocialProvider(t){try{St.setItem(It.TELEGRAM_SOCIAL_PROVIDER,t)}catch{console.info("Unable to set telegram social provider")}},removeTelegramSocialProvider(){try{St.removeItem(It.TELEGRAM_SOCIAL_PROVIDER)}catch{console.info("Unable to remove telegram social provider")}},getBalanceCache(){let t={};try{const e=St.getItem(It.PORTFOLIO_CACHE);t=e?JSON.parse(e):{}}catch{console.info("Unable to get balance cache")}return t},removeAddressFromBalanceCache(t){try{const e=He.getBalanceCache();St.setItem(It.PORTFOLIO_CACHE,JSON.stringify({...e,[t]:void 0}))}catch{console.info("Unable to remove address from balance cache",t)}},getBalanceCacheForCaipAddress(t){try{const n=He.getBalanceCache()[t];if(n&&!this.isCacheExpired(n.timestamp,this.cacheExpiry.portfolio))return n.balance;He.removeAddressFromBalanceCache(t)}catch{console.info("Unable to get balance cache for address",t)}},updateBalanceCache(t){try{const e=He.getBalanceCache();e[t.caipAddress]=t,St.setItem(It.PORTFOLIO_CACHE,JSON.stringify(e))}catch{console.info("Unable to update balance cache",t)}},getNativeBalanceCache(){let t={};try{const e=St.getItem(It.NATIVE_BALANCE_CACHE);t=e?JSON.parse(e):{}}catch{console.info("Unable to get balance cache")}return t},removeAddressFromNativeBalanceCache(t){try{const e=He.getBalanceCache();St.setItem(It.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=He.getNativeBalanceCache()[t];if(n&&!this.isCacheExpired(n.timestamp,this.cacheExpiry.nativeBalance))return n;console.info("Discarding cache for address",t),He.removeAddressFromBalanceCache(t)}catch{console.info("Unable to get balance cache for address",t)}},updateNativeBalanceCache(t){try{const e=He.getNativeBalanceCache();e[t.caipAddress]=t,St.setItem(It.NATIVE_BALANCE_CACHE,JSON.stringify(e))}catch{console.info("Unable to update balance cache",t)}},getEnsCache(){let t={};try{const e=St.getItem(It.ENS_CACHE);t=e?JSON.parse(e):{}}catch{console.info("Unable to get ens name cache")}return t},getEnsFromCacheForAddress(t){try{const n=He.getEnsCache()[t];if(n&&!this.isCacheExpired(n.timestamp,this.cacheExpiry.ens))return n.ens;He.removeEnsFromCache(t)}catch{console.info("Unable to get ens name from cache",t)}},updateEnsCache(t){try{const e=He.getEnsCache();e[t.address]=t,St.setItem(It.ENS_CACHE,JSON.stringify(e))}catch{console.info("Unable to update ens name cache",t)}},removeEnsFromCache(t){try{const e=He.getEnsCache();St.setItem(It.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=St.getItem(It.IDENTITY_CACHE);t=e?JSON.parse(e):{}}catch{console.info("Unable to get identity cache")}return t},getIdentityFromCacheForAddress(t){try{const n=He.getIdentityCache()[t];if(n&&!this.isCacheExpired(n.timestamp,this.cacheExpiry.identity))return n.identity;He.removeIdentityFromCache(t)}catch{console.info("Unable to get identity from cache",t)}},updateIdentityCache(t){try{const e=He.getIdentityCache();e[t.address]={identity:t.identity,timestamp:t.timestamp},St.setItem(It.IDENTITY_CACHE,JSON.stringify(e))}catch{console.info("Unable to update identity cache",t)}},removeIdentityFromCache(t){try{const e=He.getIdentityCache();St.setItem(It.IDENTITY_CACHE,JSON.stringify({...e,[t]:void 0}))}catch{console.info("Unable to remove identity from cache",t)}},clearAddressCache(){try{St.removeItem(It.PORTFOLIO_CACHE),St.removeItem(It.NATIVE_BALANCE_CACHE),St.removeItem(It.ENS_CACHE),St.removeItem(It.IDENTITY_CACHE),St.removeItem(It.HISTORY_TRANSACTIONS_CACHE)}catch{console.info("Unable to clear address cache")}},setPreferredAccountTypes(t){try{St.setItem(It.PREFERRED_ACCOUNT_TYPES,JSON.stringify(t))}catch{console.info("Unable to set preferred account types",t)}},getPreferredAccountTypes(){try{const t=St.getItem(It.PREFERRED_ACCOUNT_TYPES);return t?JSON.parse(t):{}}catch{console.info("Unable to get preferred account types")}return{}},setConnections(t,e){try{const n=He.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===Ne.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())};St.setItem(It.CONNECTIONS,JSON.stringify(s))}catch(n){console.error("Unable to sync connections to storage",n)}},getConnections(){try{const t=St.getItem(It.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=He.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())})),St.setItem(It.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=St.getItem(It.DISCONNECTED_CONNECTOR_IDS);return t?JSON.parse(t):{}}catch{console.info("Unable to get disconnected connector ids")}return{}},addDisconnectedConnectorId(t,e){try{const n=He.getDisconnectedConnectorIds(),r=n[e]??[];r.push(t),St.setItem(It.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=He.getDisconnectedConnectorIds();let r=n[e]??[];r=r.filter(i=>i.toLowerCase()!==t.toLowerCase()),St.setItem(It.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(He.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=St.getItem(It.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=He.getTransactionsCache()[t]?.[e];if(r&&!this.isCacheExpired(r.timestamp,this.cacheExpiry.transactionsHistory))return r.transactions;He.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=He.getTransactionsCache();i[t]={...i[t],[e]:{timestamp:n,transactions:r}},St.setItem(It.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=He.getTransactionsCache(),r=n?.[t]||{},{[e]:i,...s}=r;St.setItem(It.HISTORY_TRANSACTIONS_CACHE,JSON.stringify({...n,[t]:s}))}catch{console.info("Unable to remove transactions cache",{address:t,chainId:e})}},getTokenPriceCache(){try{const t=St.getItem(It.TOKEN_PRICE_CACHE);return t?JSON.parse(t):{}}catch{console.info("Unable to get token price cache")}return{}},getTokenPriceCacheForAddresses(t){try{const n=He.getTokenPriceCache()[t.join(",")];if(n&&!this.isCacheExpired(n.timestamp,this.cacheExpiry.tokenPrice))return n.tokenPrice;He.removeTokenPriceCache(t)}catch{console.info("Unable to get token price cache for addresses",t)}},updateTokenPriceCache(t){try{const e=He.getTokenPriceCache();e[t.addresses.join(",")]={timestamp:t.timestamp,tokenPrice:t.tokenPrice},St.setItem(It.TOKEN_PRICE_CACHE,JSON.stringify(e))}catch{console.info("Unable to update token price cache",t)}},removeTokenPriceCache(t){try{const e=He.getTokenPriceCache();St.setItem(It.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=St.getItem(It.LATEST_APPKIT_VERSION);return t?JSON.parse(t):{}}catch{console.info("Unable to get latest AppKit version cache")}return{}},updateLatestAppKitVersion(t){try{const e=He.getLatestAppKitVersionCache();e.timestamp=t.timestamp,e.version=t.version,St.setItem(It.LATEST_APPKIT_VERSION,JSON.stringify(e))}catch{console.info("Unable to update latest AppKit version on local storage",t)}}},ze={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 ze.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()<=yn.TEN_SEC_MS:!0},isAllowedRetry(t,e=yn.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(ze.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()+yn.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(ze.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(!ze.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()?He.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,ze.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 Ne.W3M_API_URL},getBlockchainApiUrl(){return Ne.BLOCKCHAIN_API_RPC_URL},getAnalyticsUrl(){return Ne.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?yn.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 Ne.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 d6(...t){const e=await fetch(...t);if(!e.ok)throw new Error(`HTTP status code: ${e.status}`,{cause:e});return e}class e8{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 d6(s,{method:"GET",headers:e,signal:n,cache:r})).json()}async getBlob({headers:e,signal:n,...r}){const i=this.createUrl(r);return(await d6(i,{method:"GET",headers:e,signal:n})).blob()}async post({body:e,headers:n,signal:r,...i}){const s=this.createUrl(i);return(await d6(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 d6(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 d6(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 Jj={getFeatureValue(t,e){const n=e?.[t];return n===void 0?yn.DEFAULT_FEATURES[t]:n},filterSocialsByPlatform(t){if(!t||!t.length)return t;if(ze.isTelegram()){if(ze.isIos())return t.filter(e=>e!=="google");if(ze.isMac())return t.filter(e=>e!=="x");if(ze.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)}},Ot=Ar({features:yn.DEFAULT_FEATURES,projectId:"",sdkType:"appkit",sdkVersion:"html-wagmi-undefined",defaultAccountTypes:yn.DEFAULT_ACCOUNT_TYPES,enableNetworkSwitch:!0,experimental_preferUniversalLinks:!1,remoteFeatures:{},enableMobileFullScreen:!1}),$e={state:Ot,subscribeKey(t,e){return os(Ot,t,e)},setOptions(t){Object.assign(Ot,t)},setRemoteFeatures(t){if(!t)return;const e={...Ot.remoteFeatures,...t};Ot.remoteFeatures=e,Ot.remoteFeatures?.socials&&(Ot.remoteFeatures.socials=Jj.filterSocialsByPlatform(Ot.remoteFeatures.socials)),Ot.features?.pay&&(Ot.remoteFeatures.email=!1,Ot.remoteFeatures.socials=!1)},setFeatures(t){if(!t)return;Ot.features||(Ot.features=yn.DEFAULT_FEATURES);const e={...Ot.features,...t};Ot.features=e,Ot.features?.pay&&Ot.remoteFeatures&&(Ot.remoteFeatures.email=!1,Ot.remoteFeatures.socials=!1)},setProjectId(t){Ot.projectId=t},setCustomRpcUrls(t){Ot.customRpcUrls=t},setAllWallets(t){Ot.allWallets=t},setIncludeWalletIds(t){Ot.includeWalletIds=t},setExcludeWalletIds(t){Ot.excludeWalletIds=t},setFeaturedWalletIds(t){Ot.featuredWalletIds=t},setTokens(t){Ot.tokens=t},setTermsConditionsUrl(t){Ot.termsConditionsUrl=t},setPrivacyPolicyUrl(t){Ot.privacyPolicyUrl=t},setCustomWallets(t){Ot.customWallets=t},setIsSiweEnabled(t){Ot.isSiweEnabled=t},setIsUniversalProvider(t){Ot.isUniversalProvider=t},setSdkVersion(t){Ot.sdkVersion=t},setMetadata(t){Ot.metadata=t},setDisableAppend(t){Ot.disableAppend=t},setEIP6963Enabled(t){Ot.enableEIP6963=t},setDebug(t){Ot.debug=t},setEnableWalletGuide(t){Ot.enableWalletGuide=t},setEnableAuthLogger(t){Ot.enableAuthLogger=t},setEnableWallets(t){Ot.enableWallets=t},setPreferUniversalLinks(t){Ot.experimental_preferUniversalLinks=t},setSIWX(t){if(t)for(const[e,n]of Object.entries(yn.SIWX_DEFAULTS))t[e]??=n;Ot.siwx=t},setConnectMethodsOrder(t){Ot.features={...Ot.features,connectMethodsOrder:t}},setWalletFeaturesOrder(t){Ot.features={...Ot.features,walletFeaturesOrder:t}},setSocialsOrder(t){Ot.remoteFeatures={...Ot.remoteFeatures,socials:t}},setCollapseWallets(t){Ot.features={...Ot.features,collapseWallets:t}},setEnableEmbedded(t){Ot.enableEmbedded=t},setAllowUnsupportedChain(t){Ot.allowUnsupportedChain=t},setManualWCControl(t){Ot.manualWCControl=t},setEnableNetworkSwitch(t){Ot.enableNetworkSwitch=t},setEnableMobileFullScreen(t){Ot.enableMobileFullScreen=ze.isMobile()&&t},setEnableReconnect(t){Ot.enableReconnect=t},setDefaultAccountTypes(t={}){Object.entries(t).forEach(([e,n])=>{n&&(Ot.defaultAccountTypes[e]=n)})},setUniversalProviderConfigOverride(t){Ot.universalProviderConfigOverride=t},getUniversalProviderConfigOverride(){return Ot.universalProviderConfigOverride},getSnapshot(){return N4(Ot)}},J1=Object.freeze({message:"",variant:"success",svg:void 0,open:!1,autoClose:!0}),Ji=Ar({...J1}),C1t={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=ze.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=C1t,A1t={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"}]}]},Jye=ze.getBlockchainApiUrl(),fo=Ar({clientId:null,api:new e8({baseUrl:Jye,clientId:null}),supportedChains:{http:[],ws:[]}}),jt={state:fo,async get(t){const{st:e,sv:n}=jt.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 jt.getSupportedNetworks()}catch{return!1}return fo.supportedChains.http.includes(t)},async getSupportedNetworks(){try{const t=await jt.get({path:"v1/supported-chains"});return fo.supportedChains=t,t}catch{return fo.supportedChains}},async fetchIdentity({address:t}){const e=He.getIdentityFromCacheForAddress(t);if(e)return e;const n=await jt.get({path:`/v1/identity/${t}`,params:{sender:K.state.activeCaipAddress?ze.getPlainAddress(K.state.activeCaipAddress):void 0}});return He.updateIdentityCache({address:t,identity:n,timestamp:Date.now()}),n},async fetchTransactions({account:t,cursor:e,signal:n,cache:r,chainId:i}){if(!await jt.isNetworkSupported(K.state.activeCaipNetwork?.caipNetworkId))return{data:[],next:void 0};const a=He.getTransactionsCacheForAddress({address:t,chainId:i});if(a)return a;const o=await jt.get({path:`/v1/account/${t}/history`,params:{cursor:e,chainId:i},signal:n,cache:r});return He.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 jt.isNetworkSupported(K.state.activeCaipNetwork?.caipNetworkId)?jt.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 jt.isNetworkSupported(K.state.activeCaipNetwork?.caipNetworkId)?jt.get({path:"/v1/convert/tokens",params:{chainId:t}}):{tokens:[]}},async fetchTokenPrice({addresses:t}){if(!await jt.isNetworkSupported(K.state.activeCaipNetwork?.caipNetworkId))return{fungibles:[]};const n=He.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 He.updateTokenPriceCache({addresses:t,timestamp:Date.now(),tokenPrice:r}),r},async fetchSwapAllowance({tokenAddress:t,userAddress:e}){return await jt.isNetworkSupported(K.state.activeCaipNetwork?.caipNetworkId)?jt.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}=jt.getSdkProperties();if(!await jt.isNetworkSupported(K.state.activeCaipNetwork?.caipNetworkId))throw new Error("Network not supported for Gas Price");return jt.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 jt.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:yn.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}=jt.getSdkProperties();if(!await jt.isNetworkSupported(K.state.activeCaipNetwork?.caipNetworkId))throw new Error("Network not supported for Swaps");return jt.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}=jt.getSdkProperties();if(!await jt.isNetworkSupported(K.state.activeCaipNetwork?.caipNetworkId))return Dn.showError("Token Balance Unavailable"),{balances:[]};const a=`${e}:${t}`,o=He.getBalanceCacheForCaipAddress(a);if(o)return o;const c=await jt.get({path:`/v1/account/${t}/balance`,params:{currency:"usd",chainId:e,forceUpdate:n,st:r,sv:i}});return He.updateBalanceCache({caipAddress:a,balance:c,timestamp:Date.now()}),c},async lookupEnsName(t){return await jt.isNetworkSupported(K.state.activeCaipNetwork?.caipNetworkId)?jt.get({path:`/v1/profile/account/${t}`,params:{apiVersion:"2"}}):{addresses:{},attributes:[]}},async reverseLookupEnsName({address:t}){if(!await jt.isNetworkSupported(K.state.activeCaipNetwork?.caipNetworkId))return[];const n=K.getAccountData()?.address;return jt.get({path:`/v1/profile/reverse/${t}`,params:{sender:n,apiVersion:"2"}})},async getEnsNameSuggestions(t){return await jt.isNetworkSupported(K.state.activeCaipNetwork?.caipNetworkId)?jt.get({path:`/v1/profile/suggestions/${t}`,params:{zone:"reown.id"}}):{suggestions:[]}},async registerEnsName({coinType:t,address:e,message:n,signature:r}){return await jt.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 jt.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 jt.isNetworkSupported(K.state.activeCaipNetwork?.caipNetworkId))return{paymentCurrencies:[],purchaseCurrencies:[]};try{return await jt.get({path:"/v1/onramp/options"})}catch{return A1t}},async getOnrampQuote({purchaseCurrency:t,paymentCurrency:e,amount:n,network:r}){try{return await jt.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 jt.isNetworkSupported(K.state.activeCaipNetwork?.caipNetworkId)?jt.get({path:`/v1/sessions/${t}`}):[]},async revokeSmartSession(t,e,n){return await jt.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 e8({baseUrl:Jye,clientId:t})}},S1t="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"}},_1t={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===Ne.CHAIN.SOLANA&&t===tl.COINBASE.id&&!("coinbaseSolana"in window)&&(window.location.href=`${tl.COINBASE.url}/dapp?cb_url=${r}`),e===Ne.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()}}},$1t=Object.freeze({enabled:!0,events:[]}),k1t=new e8({baseUrl:ze.getAnalyticsUrl(),clientId:null}),I1t=5,T1t=60*1e3,Lf=Ar({...$1t}),P1t={state:Lf,subscribeKey(t,e){return os(Lf,t,e)},async sendError(t,e){if(!Lf.enabled)return;const n=Date.now();if(Lf.events.filter(s=>{const a=new Date(s.properties.timestamp||"").getTime();return n-a<T1t}).length>=I1t)return;const i={type:"error",event:e,properties:{errorType:t.name,errorMessage:t.message,stackTrace:t.stack,timestamp:new Date().toISOString()}};Lf.events.push(i);try{if(typeof window>"u")return;const{projectId:s,sdkType:a,sdkVersion:o}=$e.state;await k1t.post({path:"/e",params:{projectId:s,st:a,sv:o||"html-wagmi-4.2.2"},body:{eventId:ze.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(){Lf.enabled=!0},disable(){Lf.enabled=!1},clearEvents(){Lf.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 rQ(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 P1t.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 rQ(o,e)}}:s=(...a)=>{try{return i(...a)}catch(o){return rQ(o,e)}},n[r]=s}else n[r]=i}),n}const nc=Ar({walletImages:{},networkImages:{},chainImages:{},connectorImages:{},tokenImages:{},currencyImages:{}}),O1t={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(O1t),N1t={eip155:"ba0ba0cd-17c6-4806-ad93-f9d174f17900",solana:"a1b58899-f671-4276-6a5e-56ca5bd59700",polkadot:"",bip122:"0b4838db-0161-4ffe-022d-532bf03dba00",cosmos:"",sui:"",stacks:""},XT=Ar({networkImagePromises:{}}),Ac={async fetchWalletImage(t){if(t)return await Xe._fetchWalletImage(t),this.getWalletImageById(t)},async fetchNetworkImage(t){if(!t)return;const e=this.getNetworkImageById(t);return e||(XT.networkImagePromises[t]||(XT.networkImagePromises[t]=Xe._fetchNetworkImage(t)),await XT.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[N1t[t]]},getTokenImage(t){if(t)return Da.state.tokenImages[t]}},R1t=ze.getAnalyticsUrl(),M1t=new e8({baseUrl:R1t,clientId:null}),j1t=["MODAL_CREATED"],D1t=45,iQ=1e3*10,ri=Ar({timestamp:Date.now(),lastFlush:Date.now(),reportedErrors:{},data:{type:"track",event:"MODAL_CREATED"},pendingEvents:[],subscribedToVisibilityChange:!1,walletImpressions:[]}),$t={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>D1t,e=ri.lastFlush+iQ<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),j1t.includes(t.data.event)||typeof window>"u")return;const n=K.getActiveCaipNetwork()?.caipNetworkId;this.state.pendingEvents.push({eventId:ze.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,$t.shouldFlushEvents()&&$t._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))&&$t._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=$t._transformPendingEventsForBatch(ri.pendingEvents);ri.walletImpressions.length&&t.push({eventId:ze.getUUID(),url:window.location.href,domain:window.location.hostname,timestamp:Date.now(),props:{type:"track",event:"WALLET_IMPRESSION",items:[...ri.walletImpressions]}}),M1t.sendBeacon({path:"/batch",params:$t.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"&&$t._submitPendingEvents()}),document?.addEventListener?.("freeze",()=>{$t._submitPendingEvents()}),window?.addEventListener?.("pagehide",()=>{$t._submitPendingEvents()}),setInterval(()=>{$t._submitPendingEvents()},iQ))}},B1t=ze.getApiUrl(),go=new e8({baseUrl:B1t,clientId:null}),L1t=40,sQ=4,U1t=20,Qt=Ar({promises:{},page:1,count:0,featured:[],allFeatured:[],recommended:[],allRecommended:[],wallets:[],filteredWallets:[],search:[],isAnalyticsEnabled:!1,excludedWallets:[],isFetchingRecommendedWallets:!1,explorerWallets:[],explorerFilteredWallets:[]}),Xe={state:Qt,subscribeKey(t,e){return os(Qt,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:Xe._getSdkProperties()});Da.setWalletImage(t,URL.createObjectURL(n))},async _fetchNetworkImage(t){const e=`${go.baseUrl}/public/getAssetImage/${t}`,n=await go.getBlob({path:e,params:Xe._getSdkProperties()});Da.setNetworkImage(t,URL.createObjectURL(n))},async _fetchConnectorImage(t){const e=`${go.baseUrl}/public/getAssetImage/${t}`,n=await go.getBlob({path:e,params:Xe._getSdkProperties()});Da.setConnectorImage(t,URL.createObjectURL(n))},async _fetchCurrencyImage(t){const e=`${go.baseUrl}/public/getCurrencyImage/${t}`,n=await go.getBlob({path:e,params:Xe._getSdkProperties()});Da.setCurrencyImage(t,URL.createObjectURL(n))},async _fetchTokenImage(t){const e=`${go.baseUrl}/public/getTokenImage/${t}`,n=await go.getBlob({path:e,params:Xe._getSdkProperties()});Da.setTokenImage(t,URL.createObjectURL(n))},_filterWalletsByPlatform(t){const e=t.length,n=ze.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:Xe._getSdkProperties()})).features},async fetchAllowedOrigins(){try{const{allowedOrigins:t}=await go.get({path:"/projects/v1/origins",params:Xe._getSdkProperties()});return t}catch(t){if(t instanceof Error&&t.cause instanceof Response){const e=t.cause.status;if(e===Ne.HTTP_STATUS_CODES.TOO_MANY_REQUESTS)throw new Error("RATE_LIMITED",{cause:t});if(e>=Ne.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=>Xe._fetchNetworkImage(n)))},async fetchConnectorImages(){const{connectors:t}=We.state,e=t.map(({imageId:n})=>n).filter(Boolean);await Promise.allSettled(e.map(n=>Xe._fetchConnectorImage(n)))},async fetchCurrencyImages(t=[]){await Promise.allSettled(t.map(e=>Xe._fetchCurrencyImage(e)))},async fetchTokenImages(t=[]){await Promise.allSettled(t.map(e=>Xe._fetchTokenImage(e)))},async fetchWallets(t){const e=t.exclude??[];Xe._getSdkProperties().sv.startsWith("html-core-")&&e.push(...Object.values(tl).map(a=>a.id));const r=await go.get({path:"/getWallets",params:{...Xe._getSdkProperties(),...t,page:String(t.page),entries:String(t.entries),include:t.include?.join(","),exclude:e.join(",")}}),{filteredWallets:i,mobileFilteredOutWalletsLength:s}=Xe._filterWalletsByPlatform(r?.data);return{data:i||[],count:r?.count,mobileFilteredOutWalletsLength:s}},async prefetchWalletRanks(){const t=We.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===Ne.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 Xe.fetchWallets(e);Qt.explorerWallets=n;const r=K.getRequestedCaipNetworkIds().join(",");Qt.explorerFilteredWallets=n.filter(i=>i.chains?.some(s=>r.includes(s)))},async fetchFeaturedWallets(){const{featuredWalletIds:t}=$e.state;if(t?.length){const e={...Xe._getSdkProperties(),page:1,entries:t?.length??sQ,include:t},{data:n}=await Xe.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=>Xe._fetchWalletImage(s))),Qt.featured=r,Qt.allFeatured=r}},async fetchRecommendedWallets(){try{Qt.isFetchingRecommendedWallets=!0;const{includeWalletIds:t,excludeWalletIds:e,featuredWalletIds:n}=$e.state,r=[...e??[],...n??[]].filter(Boolean),i=K.getRequestedCaipNetworkIds().join(","),s={page:1,entries:sQ,include:t,exclude:r,chains:i},{data:a,count:o}=await Xe.fetchWallets(s),c=He.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=>Xe._fetchWalletImage(u))),Qt.recommended=a,Qt.allRecommended=a,Qt.count=o??0}catch{}finally{Qt.isFetchingRecommendedWallets=!1}},async fetchWalletsByPage({page:t}){const{includeWalletIds:e,excludeWalletIds:n,featuredWalletIds:r}=$e.state,i=K.getRequestedCaipNetworkIds().join(","),s=[...Qt.recommended.map(({id:u})=>u),...n??[],...r??[]].filter(Boolean),a={page:t,entries:L1t,include:e,exclude:s,chains:i},{data:o,count:c,mobileFilteredOutWalletsLength:l}=await Xe.fetchWallets(a);Qt.mobileFilteredOutWalletsLength=l+(Qt.mobileFilteredOutWalletsLength??0);const d=o.slice(0,U1t).map(u=>u.image_id).filter(Boolean);await Promise.allSettled(d.map(u=>Xe._fetchWalletImage(u))),Qt.wallets=ze.uniqueBy([...Qt.wallets,...Xe._filterOutExtensions(o)],"id").filter(u=>u.chains?.some(h=>i.includes(h))),Qt.count=c>Qt.count?c:Qt.count,Qt.page=t},async initializeExcludedWallets({ids:t}){const e={page:1,entries:t.length,include:t},{data:n}=await Xe.fetchWallets(e);n&&n.forEach(r=>{Qt.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(",");Qt.search=[];const s={page:1,entries:100,search:t?.trim(),badge_type:e,include:n,exclude:r,chains:i},{data:a}=await Xe.fetchWallets(s);$t.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=>Xe._fetchWalletImage(c)),ze.wait(300)]),Qt.search=Xe._filterOutExtensions(a)},initPromise(t,e){const n=Qt.promises[t];return n||(Qt.promises[t]=e())},prefetch({fetchConnectorImages:t=!0,fetchFeaturedWallets:e=!0,fetchRecommendedWallets:n=!0,fetchNetworkImages:r=!0,fetchWalletRanks:i=!0}={}){const s=[t&&Xe.initPromise("connectorImages",Xe.fetchConnectorImages),e&&Xe.initPromise("featuredWallets",Xe.fetchFeaturedWallets),n&&Xe.initPromise("recommendedWallets",Xe.fetchRecommendedWallets),r&&Xe.initPromise("networkImages",Xe.fetchNetworkImages),i&&Xe.initPromise("walletRanks",Xe.prefetchWalletRanks)].filter(Boolean);return Promise.allSettled(s)},prefetchAnalyticsConfig(){$e.state.features?.analytics&&Xe.fetchAnalyticsConfig()},async fetchAnalyticsConfig(){try{const{isAnalyticsEnabled:t}=await go.get({path:"/getAnalyticsConfig",params:Xe._getSdkProperties()});$e.setFeatures({analytics:t})}catch{$e.setFeatures({analytics:!1})}},filterByNamespaces(t){if(!t?.length){Qt.featured=Qt.allFeatured,Qt.recommended=Qt.allRecommended;return}const e=K.getRequestedCaipNetworkIds().join(",");Qt.featured=Qt.allFeatured.filter(n=>n.chains?.some(r=>e.includes(r))),Qt.recommended=Qt.allRecommended.filter(n=>n.chains?.some(r=>e.includes(r))),Qt.filteredWallets=Qt.wallets.filter(n=>n.chains?.some(r=>e.includes(r)))},clearFilterByNamespaces(){Qt.filteredWallets=[]},setFilterByNamespace(t){if(!t){Qt.featured=Qt.allFeatured,Qt.recommended=Qt.allRecommended;return}const e=K.getRequestedCaipNetworkIds().join(",");Qt.featured=Qt.allFeatured.filter(n=>n.chains?.some(r=>e.includes(r))),Qt.recommended=Qt.allRecommended.filter(n=>n.chains?.some(r=>e.includes(r))),Qt.filteredWallets=Qt.wallets.filter(n=>n.chains?.some(r=>e.includes(r)))}},Yn=Ar({view:"Connect",history:["Connect"],transactionStack:[]}),F1t={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?.(),Pe.goBack();break;case"cancel":i?.(),Pe.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=Pe.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 Zt.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=We.getAuthConnector();r?.provider?.reload();const i=N4($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(){Pe.state.history.length>1?Pe.goBack():Zt.close()}},Pe=Go(F1t),ip=Ar({themeMode:"dark",themeVariables:{},w3mThemeVariables:void 0}),Xj={state:ip,subscribe(t){return as(ip,()=>t(ip))},setThemeMode(t){ip.themeMode=t;try{const e=We.getAuthConnector();if(e){const n=Xj.getSnapshot().themeVariables;e.provider.syncTheme({themeMode:t,themeVariables:n,w3mThemeVariables:JA(n,t)})}}catch{console.info("Unable to sync theme to auth connector")}},setThemeVariables(t){ip.themeVariables={...ip.themeVariables,...t};try{const e=We.getAuthConnector();if(e){const n=Xj.getSnapshot().themeVariables;e.provider.syncTheme({themeVariables:n,w3mThemeVariables:JA(ip.themeVariables,ip.themeMode)})}}catch{console.info("Unable to sync theme to auth connector")}},getSnapshot(){return N4(ip)}},Vs=Go(Xj),Xye=Object.fromEntries(Vye.map(t=>[t,void 0])),W1t=Object.fromEntries(Vye.map(t=>[t,!0])),Wn=Ar({allConnectors:[],connectors:[],activeConnector:void 0,filterByNamespace:void 0,activeConnectorIds:Xye,filterByNamespaceMap:W1t}),z1t={state:Wn,subscribe(t){return as(Wn,()=>{t(Wn)})},subscribeKey(t,e){return os(Wn,t,e)},initialize(t){t.forEach(e=>{const n=He.getConnectedConnectorId(e);n&&We.setConnectorId(n,e)})},setActiveConnector(t){t&&(Wn.activeConnector=rb(t))},setConnectors(t){t.filter(i=>!Wn.allConnectors.some(s=>s.id===i.id&&We.getConnectorName(s.name)===We.getConnectorName(i.name)&&s.chain===i.chain)).forEach(i=>{i.type!=="MULTI_CHAIN"&&Wn.allConnectors.push(rb(i))});const n=We.getEnabledNamespaces(),r=We.getEnabledConnectors(n);Wn.connectors=We.mergeMultiChainConnectors(r)},filterByNamespaces(t){Object.keys(Wn.filterByNamespaceMap).forEach(e=>{Wn.filterByNamespaceMap[e]=!1}),t.forEach(e=>{Wn.filterByNamespaceMap[e]=!0}),We.updateConnectorsForEnabledNamespaces()},filterByNamespace(t,e){Wn.filterByNamespaceMap[t]=e,We.updateConnectorsForEnabledNamespaces()},updateConnectorsForEnabledNamespaces(){const t=We.getEnabledNamespaces(),e=We.getEnabledConnectors(t),n=We.areAllNamespacesEnabled();Wn.connectors=We.mergeMultiChainConnectors(e),n?Xe.clearFilterByNamespaces():Xe.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=We.generateConnectorMapByName(t),n=[];return e.forEach(r=>{const i=r[0],s=i?.id===Ne.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=We.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===Ne.CONNECTOR_ID.AUTH){const e=t,n=N4($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:JA(i,r)}),We.setConnectors([t])}else We.setConnectors([t])},getAuthConnector(t){const e=t||K.state.activeChain,n=Wn.connectors.find(r=>r.id===Ne.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=N4($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:JA(i,r)})},getConnectorsByNamespace(t){const e=Wn.allConnectors.filter(n=>n.chain===t);return We.mergeMultiChainConnectors(e)},canSwitchToSmartAccount(t){return K.checkIfSmartAccountEnabled()&&Sa(t)===wc.ACCOUNT_TYPES.EOA},selectWalletConnector(t){const e=Pe.state.data?.redirectView,n=We.getConnector({id:t.id,rdns:t.rdns});_1t.handleMobileDeeplinkRedirect(n?.explorerId||t.id,K.state.activeChain),n?Pe.push("ConnectingExternal",{connector:n,wallet:t,redirectView:e}):Pe.push("ConnectingWalletConnect",{wallet:t,redirectView:e})},getConnectors(t){return t?We.getConnectorsByNamespace(t):We.mergeMultiChainConnectors(Wn.allConnectors)},setFilterByNamespace(t){Wn.filterByNamespace=t,Wn.connectors=We.getConnectors(t),Xe.setFilterByNamespace(t)},setConnectorId(t,e){t&&(Wn.activeConnectorIds={...Wn.activeConnectorIds,[e]:t},He.setConnectedConnectorId(e,t))},removeConnectorId(t){Wn.activeConnectorIds={...Wn.activeConnectorIds,[t]:void 0},He.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={...Xye}}},We=Go(z1t),H1t=1e3,u6={checkNamespaceConnectorId(t,e){return We.getConnectorId(t)===e},isSocialProvider(t){return yn.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&&We.setActiveConnector(e),i?.(ze.isMobile()&&t),r){const l=Zt.subscribeKey("open",d=>{d||(Pe.state.view!==r&&Pe.replace(r),l(),o(new Error("Modal closed")))})}const c=K.subscribeKey("activeCaipAddress",l=>{l&&(s?.(),n&&Zt.close(),c(),a(qs.parseCaipAddress(l)))})})},connectExternal(t){return new Promise((e,n)=>{const r=K.subscribeKey("activeCaipAddress",i=>{i&&(Zt.close(),r(),e(qs.parseCaipAddress(i)))});Be.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&&Zt.close(),u())});return new Promise((h,p)=>{async function g(y){if(y.data?.resultUri)if(y.origin===Ne.SECURE_SITE_SDK_ORIGIN){window.removeEventListener("message",g,!1);try{const b=We.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&&$t.sendEvent({type:"track",event:"SOCIAL_LOGIN_REQUEST_USER_DATA",properties:{provider:o}}),o){He.setConnectedSocialProvider(o),await Be.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)),$t.sendEvent({type:"track",event:"SOCIAL_LOGIN_SUCCESS",properties:{provider:o}})}}}catch(b){o&&$t.sendEvent({type:"track",event:"SOCIAL_LOGIN_ERROR",properties:{provider:o,message:ze.parseError(b)}}),p(new Error("Failed to connect"))}}else o&&$t.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,$t.sendEvent({type:"track",event:"SOCIAL_LOGIN_STARTED",properties:{provider:o}})}if(o==="farcaster"){r?.();const y=Zt.subscribeKey("open",x=>{!x&&t==="farcaster"&&(p(new Error("Popup closed")),i?.(),y())}),b=We.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=We.getAuthConnector();l=ze.returnOpenHref(`${Ne.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",rb(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=Zt.subscribeKey("open",c=>{c||(Pe.state.view!==e&&Pe.replace(e),o(),s(new Error("Modal closed")))})}const a=K.subscribeKey("activeCaipAddress",o=>{o&&(r?.(),t&&Zt.close(),a(),i(qs.parseCaipAddress(o)))})})},async updateEmail(){const t=He.getConnectedConnectorId(K.state.activeChain),e=We.getAuthConnector();if(!e)throw new Error("No auth connector found");if(t!==Ne.CONNECTOR_ID.AUTH)throw new Error("Not connected to email or social");const n=e.provider.getEmail()??"";return await Zt.open({view:"UpdateEmailWallet",data:{email:n,redirectView:void 0}}),new Promise((r,i)=>{const s=setInterval(()=>{const o=e.provider.getEmail()??"";o!==n&&(Zt.close(),clearInterval(s),a(),r({email:o}))},H1t),a=Zt.subscribeKey("open",o=>{o||(Pe.state.view!=="Connect"&&Pe.push("Connect"),clearInterval(s),a(),i(new Error("Modal closed")))})})},canSwitchToSmartAccount(t){return K.checkIfSmartAccountEnabled()&&Sa(t)===wc.ACCOUNT_TYPES.EOA}};function AW(){const t=K.state.activeCaipNetwork?.chainNamespace||"eip155",e=K.state.activeCaipNetwork?.id||1,n=yn.NATIVE_TOKEN_ADDRESS[t];return`${t}:${e}:${n}`}function Sa(t){return K.getAccountData(t)?.preferredAccountType}function G6(t){return K.state.activeCaipNetwork}const QA={getConnectionStatus(t,e){const n=We.state.activeConnectorIds[e],r=Be.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=We.state.activeConnectorIds[t],r=Be.getConnections(t),s=(Be.state.recentConnections.get(t)??[]).filter(o=>We.getConnectorById(o.connectorId)),a=QA.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}),V1t={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 jt.fetchTransactions({account:t,cursor:zr.next,chainId:K.state.activeCaipNetwork?.caipNetworkId}),n=UC.filterSpamTransactions(e.data),r=UC.filterByConnectedChain(n),i=[...zr.transactions,...r];zr.loading=!1,zr.transactions=i,zr.transactionsByYear=UC.groupTransactionsByYearAndMonth(zr.transactionsByYear,r),zr.empty=i.length===0,zr.next=e.next?e.next:void 0}catch{const n=K.state.activeChain;$t.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}},UC=Go(V1t,"API_ERROR"),zn=Ar({connections:new Map,recentConnections:new Map,isSwitchingConnection:!1,wcError:!1,buffering:!1,status:"disconnected"});let F1;const q1t={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=rb(t)},initialize(t){const e=t.filter(n=>!!n.namespace).map(n=>n.namespace);Be.syncStorageConnections(e)},syncStorageConnections(t){const e=He.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=Be.state.connections;return Array.from(e.values()).flatMap(n=>n).some(({connectorId:n})=>n===t)},async connectWalletConnect({cache:t="auto"}={}){const e=ze.isTelegram()||ze.isSafari()&&ze.isIos();if(t==="always"||t==="auto"&&e){if(F1){await F1,F1=void 0;return}if(!ze.isPairingExpired(zn?.wcPairingExpiry)){const n=zn.wcUri;zn.wcUri=n;return}F1=Be._getClient()?.connectWalletConnect?.().catch(()=>{}),Be.state.status="connecting",await F1,F1=void 0,zn.wcPairingExpiry=void 0,Be.state.status="connected"}else await Be._getClient()?.connectWalletConnect?.()},async connectExternal(t,e,n=!0){const r=await Be._getClient()?.connectExternal?.(t);return n&&K.setActiveNamespace(e),r},async reconnectExternal(t){await Be._getClient()?.reconnectExternal?.(t);const e=t.chain||K.state.activeChain;e&&We.setConnectorId(t.id,e)},async setPreferredAccountType(t,e){if(!e)return;Zt.setLoading(!0,K.state.activeChain);const n=We.getAuthConnector();n&&(K.setAccountProp("preferredAccountType",t,e),await n.provider.setPreferredAccount(t),He.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 Be.reconnectExternal(n),Zt.setLoading(!1,K.state.activeChain),$t.sendEvent({type:"track",event:"SET_PREFERRED_ACCOUNT_TYPE",properties:{accountType:t,network:K.state.activeCaipNetwork?.caipNetworkId||""}}))},async signMessage(t){return Be._getClient()?.signMessage(t)},parseUnits(t,e){return Be._getClient()?.parseUnits(t,e)},formatUnits(t,e){return Be._getClient()?.formatUnits(t,e)},updateBalance(t){return Be._getClient()?.updateBalance(t)},async sendTransaction(t){return Be._getClient()?.sendTransaction(t)},async getCapabilities(t){return Be._getClient()?.getCapabilities(t)},async grantPermissions(t){return Be._getClient()?.grantPermissions(t)},async walletGetAssets(t){return Be._getClient()?.walletGetAssets(t)??{}},async estimateGas(t){return Be._getClient()?.estimateGas(t)},async writeContract(t){return Be._getClient()?.writeContract(t)},async getEnsAddress(t){return Be._getClient()?.getEnsAddress(t)},async getEnsAvatar(t){return Be._getClient()?.getEnsAvatar(t)},checkInstalled(t){return Be._getClient()?.checkInstalled?.(t)||!1},resetWcConnection(){zn.wcUri=void 0,zn.wcPairingExpiry=void 0,zn.wcLinking=void 0,zn.recentWallet=void 0,zn.status="disconnected",UC.resetTransactions(),He.deleteWalletConnectDeepLink(),He.deleteRecentWallet()},resetUri(){zn.wcUri=void 0,zn.wcPairingExpiry=void 0,F1=void 0},finalizeWcConnection(t){const{wcLinking:e,recentWallet:n}=Be.state;e&&He.setWalletConnectDeepLink(e),n&&He.setAppKitRecent(n),t&&$t.sendEvent({type:"track",event:"CONNECT_SUCCESS",address:t,properties:{method:e?"mobile":"qrcode",name:Pe.state.data?.wallet?.name||"Unknown",view:Pe.state.view,walletRank:n?.order}})},setWcBasic(t){zn.wcBasic=t},setUri(t){zn.wcUri=t,zn.wcPairingExpiry=ze.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 Be._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 Be._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()&&u6.canSwitchToSmartAccount(e)?"smartAccount":"eoa";await Be.setPreferredAccountType(i,e)},async handleActiveConnection({connection:t,namespace:e,address:n}){const r=We.getConnectorById(t.connectorId),i=t.connectorId===Ne.CONNECTOR_ID.AUTH;if(!r)throw new Error(`No connector found for connection: ${t.connectorId}`);if(i)i&&n&&await Be.handleAuthAccountSwitch({address:n,namespace:e});else return(await Be.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=We.getConnectorById(t.connectorId),s=t.auth?.name?.toLowerCase(),a=t.connectorId===Ne.CONNECTOR_ID.AUTH,o=t.connectorId===Ne.CONNECTOR_ID.WALLET_CONNECT;if(!i)throw new Error(`No connector found for connection: ${t.connectorId}`);let c;if(a)if(s&&u6.isSocialProvider(s)){const{address:l}=await u6.connectSocial({social:s,closeModalOnConnect:r,onOpenFarcaster(){Zt.open({view:"ConnectingFarcaster"})},onConnect(){Pe.replace("ProfileWallets")}});c=l}else{const{address:l}=await u6.connectEmail({closeModalOnConnect:r,onOpen(){Zt.open({view:"EmailLogin"})},onConnect(){Pe.replace("ProfileWallets")}});c=l}else if(o){const{address:l}=await u6.connectWalletConnect({walletConnect:!0,connector:i,closeModalOnConnect:r,onOpen(d){const u=d?"AllWallets":"ConnectingWalletConnect";Zt.state.open?Pe.push(u):Zt.open({view:u})},onConnect(){Pe.replace("ProfileWallets")}});c=l}else{const l=await Be.connectExternal({id:i.id,type:i.type,provider:i.provider,chain:e},e);l&&(c=l.address)}return a&&n&&await Be.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=QA.getConnectionStatus(t,n);switch(o){case"connected":case"active":{const c=await Be.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 Be.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}`)}}},Be=Go(q1t),QT={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 Is(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 eP;async function aQ(){if(!eP){const{createPublicClient:t,http:e,defineChain:n}=await Promise.resolve().then(()=>$Se);eP={createPublicClient:t,http:e,defineChain:n}}return eP}const Qj={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 aQ(),{chainId:n}=qs.parseCaipNetworkId(t.caipNetworkId);return e({...t,id:Number(n)})},async createViemPublicClient(t){const{createPublicClient:e,http:n}=await aQ(),r=$e.state.projectId,i=await Qj.getViemChain(t);if(!i)throw new Error(`Chain ${t.caipNetworkId} not found in viem/chains`);return e({chain:i,transport:n(Qj.getBlockchainApiRpcUrl(t.caipNetworkId,r))})}},Q_={async getMyTokensWithBalance(t){const e=K.getAccountData()?.address,n=K.state.activeCaipNetwork,r=We.getConnectorId("eip155")===Ne.CONNECTOR_ID.AUTH;if(!e||!n)return[];const i=`${n.caipNetworkId}:${e}`,s=He.getBalanceCacheForCaipAddress(i);if(s)return s.balances;if(n.chainNamespace===Ne.CHAIN.EVM&&r){const o=await this.getEIP155Balances(e,n);if(o)return this.filterLowQualityTokens(o)}const a=await jt.getBalance(e,n.caipNetworkId,t);return this.filterLowQualityTokens(a.balances)},async getEIP155Balances(t,e){try{const n=QT.getChainIdHexFromCAIP2ChainId(e.caipNetworkId);if(!(await Be.getCapabilities(t))?.[n]?.assetDiscovery?.supported)return null;const i=await Be.walletGetAssets({account:t,chainFilter:[n]});if(!QT.isWalletGetAssetsResponse(i))return null;const a=(i[n]||[]).map(o=>QT.createBalance(o,e.caipNetworkId));return He.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 Qj.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?Is(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 jt.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 Be?.estimateGas({chainNamespace:"solana"}))?.toString();return{standard:e,fast:e,instant:e}}else return await jt.fetchGasPrice({chainId:t.caipNetworkId})}catch{return null}},async fetchSwapAllowance({tokenAddress:t,userAddress:e,sourceTokenAmount:n,sourceTokenDecimals:r}){const i=await jt.fetchSwapAllowance({tokenAddress:t,userAddress:e});if(i?.allowance&&n&&r){const s=Be.parseUnits(n,r)||0;return BigInt(i.allowance)>=s}return!1},async getMyTokensWithBalance(t){const e=await Q_.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:AW(),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}),Z1t={state:Nn,subscribe(t){return as(Nn,()=>t(Nn))},subscribeKey(t,e){return os(Nn,t,e)},setToken(t){t&&(Nn.token=rb(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:ze.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(mn.setLoading(!0),K.state.activeCaipNetwork?.chainNamespace){case"eip155":await mn.sendEvmToken();return;case"solana":await mn.sendSolanaToken();return;default:throw new Error("Unsupported chain")}}catch(t){throw du.isUserRejectedRequestError(t)?new Kye(t):t}finally{mn.setLoading(!1)}},async sendEvmToken(){const t=K.state.activeChain;if(!t)throw new Error("SendController:sendEvmToken - activeChainNamespace is required");const e=Sa(t);if(!mn.state.sendTokenAmount||!mn.state.receiverAddress)throw new Error("An amount and receiver address are required");if(!mn.state.token)throw new Error("A token is required");if(mn.state.token?.address){$t.sendEvent({type:"track",event:"SEND_INITIATED",properties:{isSmartAccount:e===wc.ACCOUNT_TYPES.SMART_ACCOUNT,token:mn.state.token.address,amount:mn.state.sendTokenAmount,network:K.state.activeCaipNetwork?.caipNetworkId||""}});const{hash:n}=await mn.sendERC20Token({receiverAddress:mn.state.receiverAddress,tokenAddress:mn.state.token.address,sendTokenAmount:mn.state.sendTokenAmount,decimals:mn.state.token.quantity.decimals});n&&(Nn.hash=n)}else{$t.sendEvent({type:"track",event:"SEND_INITIATED",properties:{isSmartAccount:e===wc.ACCOUNT_TYPES.SMART_ACCOUNT,token:mn.state.token.symbol||"",amount:mn.state.sendTokenAmount,network:K.state.activeCaipNetwork?.caipNetworkId||""}});const{hash:n}=await mn.sendNativeToken({receiverAddress:mn.state.receiverAddress,sendTokenAmount:mn.state.sendTokenAmount,decimals:mn.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?ze.getPlainAddress(i):void 0;if(Nn.lastRetry&&!ze.isAllowedRetry(Nn.lastRetry,30*yn.ONE_SEC_MS))return Nn.loading=!1,[];try{if(s&&n&&r){const a=await Q_.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===AW());e&&(Nn.networkBalanceInUSD=e?Bi.multiply(e.quantity.numeric,e.price).toString():"0")},async sendNativeToken(t){Pe.pushTransactionStack({});const e=t.receiverAddress,n=K.getAccountData()?.address,r=Be.parseUnits(t.sendTokenAmount.toString(),Number(t.decimals)),s=await Be.sendTransaction({chainNamespace:Ne.CHAIN.EVM,to:e,address:n,data:"0x",value:r??BigInt(0)});return $t.sendEvent({type:"track",event:"SEND_SUCCESS",properties:{isSmartAccount:Sa("eip155")===wc.ACCOUNT_TYPES.SMART_ACCOUNT,token:mn.state.token?.symbol||"",amount:t.sendTokenAmount,network:K.state.activeCaipNetwork?.caipNetworkId||"",hash:s||""}}),Be._getClient()?.updateBalance("eip155"),mn.resetSend(),{hash:s}},async sendERC20Token(t){Pe.pushTransactionStack({onSuccess(){Pe.replace("Account")}});const e=Be.parseUnits(t.sendTokenAmount.toString(),Number(t.decimals)),n=K.getAccountData()?.address;if(n&&t.sendTokenAmount&&t.receiverAddress&&t.tokenAddress){const r=ze.getPlainAddress(t.tokenAddress);if(!r)throw new Error("SendController:sendERC20Token - tokenAddress is required");const i=await Be.writeContract({fromAddress:n,tokenAddress:r,args:[t.receiverAddress,e??BigInt(0)],method:"transfer",abi:o1t.getERC20Abi(r),chainNamespace:Ne.CHAIN.EVM});return $t.sendEvent({type:"track",event:"SEND_SUCCESS",properties:{isSmartAccount:Sa("eip155")===wc.ACCOUNT_TYPES.SMART_ACCOUNT,token:mn.state.token?.symbol||"",amount:t.sendTokenAmount,network:K.state.activeCaipNetwork?.caipNetworkId||"",hash:i||""}}),mn.resetSend(),{hash:i}}return{hash:void 0}},async sendSolanaToken(){if(!mn.state.sendTokenAmount||!mn.state.receiverAddress)throw new Error("An amount and receiver address are required");Pe.pushTransactionStack({onSuccess(){Pe.replace("Account")}});let t;mn.state.token&&mn.state.token.address!==yn.SOLANA_NATIVE_TOKEN_ADDRESS&&(ze.isCaipAddress(mn.state.token.address)?t=ze.getPlainAddress(mn.state.token.address):t=mn.state.token.address);const e=await Be.sendTransaction({chainNamespace:"solana",tokenMint:t,to:mn.state.receiverAddress,value:mn.state.sendTokenAmount});e&&(Nn.hash=e),Be._getClient()?.updateBalance("solana"),mn.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=[]}},mn=Go(Z1t),tP={currentTab:0,tokenBalance:[],smartAccountDeployed:!1,addressLabels:new Map,user:void 0,preferredAccountType:void 0},TE={caipNetwork:void 0,supportsAllNetworks:!0,smartAccountEnabledNetworks:[]},dt=Ar({chains:x1t(),activeCaipAddress:void 0,activeChain:void 0,activeCaipNetwork:void 0,noAdapters:!1,universalAdapter:{networkControllerClient:void 0,connectionControllerClient:void 0},isSwitchingNamespace:!1}),Qye={state:dt,subscribe(t){return as(dt,()=>{t(dt)})},subscribeKey(t,e){return os(dt,t,e)},subscribeAccountStateProp(t,e,n){const r=n||dt.activeChain;return r?os(dt.chains.get(r)?.accountState||{},t,e):()=>{}},subscribeChainProp(t,e,n){let r;return as(dt.chains,()=>{const i=n||dt.activeChain;if(i){const s=dt.chains.get(i)?.[t];r!==s&&(r=s,e(s))}})},initialize(t,e,n){const{chainId:r,namespace:i}=He.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)&&(dt.noAdapters=!0),dt.noAdapters||(dt.activeChain=o?.namespace,dt.activeCaipNetwork=s,K.setChainNetworkData(o?.namespace,{caipNetwork:s}),dt.activeChain&&Up.set({activeChain:o?.namespace})),l.forEach(d=>{const u=e?.filter(g=>g.chainNamespace===d),h=He.getPreferredAccountTypes()||{},p={...$e.state.defaultAccountTypes,...h};K.state.chains.set(d,{namespace:d,networkState:Ar({...TE,caipNetwork:u?.[0]}),accountState:Ar({...tP,preferredAccountType:p[d]}),caipNetworks:u??[],...n}),K.setRequestedCaipNetworks(u??[],d)})},removeAdapter(t){if(dt.activeChain===t){const e=Array.from(dt.chains.entries()).find(([n])=>n!==t);if(e){const n=e[1]?.caipNetworks?.[0];n&&K.setActiveCaipNetwork(n)}}dt.chains.delete(t)},addAdapter(t,{networkControllerClient:e,connectionControllerClient:n},r){if(!t.namespace)throw new Error("ChainController:addAdapter - adapter must have a namespace");dt.chains.set(t.namespace,{namespace:t.namespace,networkState:{...TE,caipNetwork:r[0]},accountState:{...tP},caipNetworks:r,connectionControllerClient:n,networkControllerClient:e}),K.setRequestedCaipNetworks(r?.filter(i=>i.chainNamespace===t.namespace)??[],t.namespace)},addNetwork(t){const e=dt.chains.get(t.chainNamespace);if(e){const n=[...e.caipNetworks||[]];e.caipNetworks?.find(r=>r.id===t.id)||n.push(t),dt.chains.set(t.chainNamespace,{...e,caipNetworks:n}),K.setRequestedCaipNetworks(n,t.chainNamespace),We.filterByNamespace(t.chainNamespace,!0)}},removeNetwork(t,e){const n=dt.chains.get(t);if(n){const r=dt.activeCaipNetwork?.id===e,i=[...n.caipNetworks?.filter(s=>s.id!==e)||[]];r&&n?.caipNetworks?.[0]&&K.setActiveCaipNetwork(n.caipNetworks[0]),dt.chains.set(t,{...n,caipNetworks:i}),K.setRequestedCaipNetworks(i||[],t),i.length===0&&We.filterByNamespace(t,!1)}},setAdapterNetworkState(t,e){const n=dt.chains.get(t);n&&(n.networkState={...n.networkState||TE,...e},dt.chains.set(t,n))},setChainAccountData(t,e,n=!0){if(!t)throw new Error("Chain is required to update chain account data");const r=dt.chains.get(t);if(r){const i={...r.accountState||tP,...e};dt.chains.set(t,{...r,accountState:i}),(dt.chains.size===1||dt.activeChain===t)&&e.caipAddress&&(dt.activeCaipAddress=e.caipAddress)}},setChainNetworkData(t,e){if(!t)return;const n=dt.chains.get(t);if(n){const r={...n.networkState||TE,...e};dt.chains.set(t,{...n,networkState:r})}},setAccountProp(t,e,n,r=!0){K.setChainAccountData(n,{[t]:e},r)},setActiveNamespace(t){dt.activeChain=t;const e=t?dt.chains.get(t):void 0,n=e?.networkState?.caipNetwork;n?.id&&t&&(dt.activeCaipAddress=e?.accountState?.caipAddress,dt.activeCaipNetwork=n,K.setChainNetworkData(t,{caipNetwork:n}),He.setActiveCaipNetworkId(n?.caipNetworkId),Up.set({activeChain:t,selectedNetworkId:n?.caipNetworkId}))},setActiveCaipNetwork(t){if(!t)return;const e=dt.activeChain===t.chainNamespace;e||K.setIsSwitchingNamespace(!0);const n=dt.chains.get(t.chainNamespace);dt.activeChain=t.chainNamespace,dt.activeCaipNetwork=t,K.setChainNetworkData(t.chainNamespace,{caipNetwork:t});let r=n?.accountState?.address;if(r)dt.activeCaipAddress=`${t.chainNamespace}:${t.id}:${r}`;else if(e&&dt.activeCaipAddress){const{address:s}=qs.parseCaipAddress(dt.activeCaipAddress);r=s,dt.activeCaipAddress=`${t.caipNetworkId}:${r}`}else dt.activeCaipAddress=void 0;K.setChainAccountData(t.chainNamespace,{address:r,caipAddress:dt.activeCaipAddress}),mn.resetSend(),Up.set({activeChain:dt.activeChain,selectedNetworkId:dt.activeCaipNetwork?.caipNetworkId}),He.setActiveCaipNetworkId(t.caipNetworkId),!K.checkIfSupportedNetwork(t.chainNamespace)&&$e.state.enableNetworkSwitch&&!$e.state.allowUnsupportedChain&&!Be.state.wcBasic&&K.showUnsupportedChainUI()},addCaipNetwork(t){if(!t)return;const e=dt.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===dt.activeCaipNetwork?.id),s=K.getNetworkControllerClient(t.chainNamespace);if(s){try{await s.switchCaipNetwork(t),i&&Zt.close()}catch(a){if(e)throw a;Pe.goBack()}$t.sendEvent({type:"track",event:"SWITCH_NETWORK",properties:{network:t.caipNetworkId}})}},getNetworkControllerClient(t){const e=t||dt.activeChain;if(!e)throw new Error("ChainController:getNetworkControllerClient - chain is required");const n=dt.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||dt.activeChain;if(!e)throw new Error("Chain is required to get connection controller client");const n=dt.chains.get(e);if(!n?.connectionControllerClient)throw new Error("ConnectionController client not set");return n.connectionControllerClient},getNetworkProp(t,e){const n=dt.chains.get(e)?.networkState;if(n)return n[t]},getRequestedCaipNetworks(t){const e=dt.chains.get(t),{approvedCaipNetworkIds:n=[],requestedCaipNetworks:r=[]}=e?.networkState||{};return ze.sortRequestedNetworks(n,r).filter(a=>a?.id)},getAllRequestedCaipNetworks(){const t=[];return dt.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));We.filterByNamespaces(i)},getAllApprovedCaipNetworkIds(){const t=[];return dt.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?dt.chains.get(t)?.networkState?.caipNetwork:dt.activeCaipNetwork},getActiveCaipAddress(){return dt.activeCaipAddress},getApprovedCaipNetworkIds(t){return dt.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||dt.activeCaipNetwork?.caipNetworkId,r=K.getRequestedCaipNetworks(t);return r.length?r?.some(i=>i.caipNetworkId===n):!0},checkIfSupportedChainId(t){return dt.activeChain?K.getRequestedCaipNetworks(dt.activeChain)?.some(n=>n.id===t):!0},setSmartAccountEnabledNetworks(t,e){K.setAdapterNetworkState(e,{smartAccountEnabledNetworks:t})},checkIfSmartAccountEnabled(){const t=EW.caipNetworkIdToNumber(dt.activeCaipNetwork?.caipNetworkId),e=dt.activeChain;return!e||!t?!1:!!K.getNetworkProp("smartAccountEnabledNetworks",e)?.includes(Number(t))},showUnsupportedChainUI(){Zt.open({view:"UnsupportedChain"})},checkIfNamesSupported(){const t=dt.activeCaipNetwork;return!!(t?.chainNamespace&&yn.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];dt.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"}),We.removeConnectorId(e)},setIsSwitchingNamespace(t){dt.isSwitchingNamespace=t},getFirstCaipNetworkSupportsAuthConnector(){const t=[];let e;if(dt.chains.forEach(n=>{Ne.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?dt.chains.get(n)?.caipNetworks?.[0]:void 0,e}},getAccountData(t){const e=t||dt.activeChain;if(e)return K.state.chains.get(e)?.accountState},getNetworkData(t){const e=t||dt.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=We.state.filterByNamespace;return(t?[dt.chains.get(t)]:Array.from(dt.chains.values())).flatMap(n=>n?.caipNetworks||[]).map(n=>n.caipNetworkId)},getCaipNetworks(t){return t?K.getRequestedCaipNetworks(t):K.getAllRequestedCaipNetworks()},getCaipNetworkById(t,e){return Qye.getCaipNetworks(e).find(n=>n.id.toString()===t.toString()||n.caipNetworkId.toString()===t.toString())},setLastConnectedSIWECaipNetwork(t){dt.lastConnectedSIWECaipNetwork=t},getLastConnectedSIWECaipNetwork(){return dt.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?ze.getPlainAddress(i):void 0;if(K.setAccountProp("balanceLoading",!0,r),e.lastRetry&&!ze.isAllowedRetry(e.lastRetry,30*yn.ONE_SEC_MS))return K.setAccountProp("balanceLoading",!1,r),[];try{if(s&&n&&r){const a=await Q_.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=We.getConnectorId(e),a=We.getAuthConnector(),o=s===Ne.CONNECTOR_ID.AUTH&&a;return!n||i||o?!1:!r?.includes(t.caipNetworkId)}},K=Go(Qye),K1t={onSwitchNetwork({network:t,ignoreSwitchConfirmation:e=!1}){const n=K.state.activeCaipNetwork,r=K.state.activeChain,i=Pe.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=We.getConnectorId(r)===Ne.CONNECTOR_ID.AUTH,u=Ne.AUTH_CONNECTOR_SUPPORTED_CHAINS.find(h=>h===t.chainNamespace);e||d&&u?Pe.push("SwitchNetwork",{...i,network:t}):a&&c&&!o?Pe.push("SwitchActiveChain",{switchToChain:t.chainNamespace,navigateTo:"Connect",navigateWithReplace:!0,network:t}):Pe.push("SwitchNetwork",{...i,network:t})}},mo=Ar({loading:!1,loadingNamespaceMap:new Map,open:!1,shake:!1,namespace:void 0}),G1t={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(Be.state.wcBasic?Xe.prefetch({fetchNetworkImages:!1,fetchConnectorImages:!1,fetchWalletRanks:!1}):await Xe.prefetch(),We.setFilterByNamespace(t?.namespace),Zt.setLoading(!0,e),e&&r){const a=K.getNetworkData(e)?.caipNetwork||K.getRequestedCaipNetworks(e)[0];a&&(s?(await K.switchActiveNetwork(a),Pe.push("ConnectingWalletConnectBasic")):K1t.onSwitchNetwork({network:a,ignoreSwitchConfirmation:!0}))}else $e.state.manualWCControl||s&&!i?ze.isMobile()?Pe.reset("AllWallets"):Pe.reset("ConnectingWalletConnectBasic"):t?.view?Pe.reset(t.view,t.data):i?Pe.reset("Account"):Pe.reset("Connect");mo.open=!0,Up.set({open:!0}),$t.sendEvent({type:"track",event:"MODAL_OPEN",properties:{connected:!!i}})},close(){const t=$e.state.enableEmbedded,e=!!K.state.activeCaipAddress;mo.open&&$t.sendEvent({type:"track",event:"MODAL_CLOSE",properties:{connected:e}}),mo.open=!1,Pe.reset("Connect"),Zt.clearLoading(),t?e?Pe.replace("Account"):Pe.push("Connect"):Up.set({open:!1}),Be.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))}},Zt=Go(G1t),e7={eip155:void 0,solana:void 0,polkadot:void 0,bip122:void 0,cosmos:void 0,sui:void 0,stacks:void 0},yo=Ar({providers:{...e7},providerIds:{...e7}}),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]=rb(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={...e7},yo.providerIds={...e7}},resetChain(t){yo.providers[t]=void 0,yo.providerIds[t]=void 0}},w3={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"}]},eD={id:"USD",payment_method_limits:[{id:"card",min:"10.00",max:"7500.00"},{id:"ach_bank_account",min:"10.00",max:"25000.00"}]},Y1t={providers:Yye,selectedProvider:null,error:null,purchaseCurrency:w3,paymentCurrency:eD,purchaseCurrencies:[w3],paymentCurrencies:[],quotesLoading:!1},Mn=Ar(Y1t),J1t={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===Ne.CHAIN.SOLANA?"SOL":"USDC",r=e?K.state.chains.get(e)?.accountState?.address??"":"",i=new URL(t.url);i.searchParams.append("publicKey",E1t),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=Yye.filter(r=>e.includes(r.name));Mn.providers=n}else Mn.providers=[]},setPurchaseCurrency(t){Mn.purchaseCurrency=t},setPaymentCurrency(t){Mn.paymentCurrency=t},setPurchaseAmount(t){tD.state.purchaseAmount=t},setPaymentAmount(t){tD.state.paymentAmount=t},async getAvailableCurrencies(){const t=await jt.getOnrampOptions();Mn.purchaseCurrencies=t.purchaseCurrencies,Mn.paymentCurrencies=t.paymentCurrencies,Mn.paymentCurrency=t.paymentCurrencies[0]||eD,Mn.purchaseCurrency=t.purchaseCurrencies[0]||w3,await Xe.fetchCurrencyImages(t.paymentCurrencies.map(e=>e.id)),await Xe.fetchTokenImages(t.purchaseCurrencies.map(e=>e.symbol))},async getQuote(){Mn.quotesLoading=!0;try{const t=await jt.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=w3,Mn.paymentCurrency=eD,Mn.purchaseCurrencies=[w3],Mn.paymentCurrencies=[],Mn.paymentAmount=void 0,Mn.purchaseAmount=void 0,Mn.quotesLoading=!1}},tD=Go(J1t),r0={getGasPriceInEther(t,e){const n=e*t;return Number(n)/1e18},getGasPriceInUSD(t,e,n){const r=r0.getGasPriceInEther(e,n);return Bi.bigNumber(t).times(r).toNumber()},getPriceImpact({sourceTokenAmount:t,sourceTokenPriceInUSD:e,toTokenPriceInUSD:n,toTokenAmount:r}){const i=Bi.bigNumber(t).times(e),s=Bi.bigNumber(r).times(n);return i.minus(s).div(i).times(100).toNumber()},getMaxSlippage(t,e){const n=Bi.bigNumber(t).div(100);return Bi.multiply(e,n).toNumber()},getProviderFee(t,e=.0085){return Bi.bigNumber(t).times(e).toString()},isInsufficientNetworkTokenForGas(t,e){const n=e||"0";return Bi.bigNumber(t).eq(0)?!0:Bi.bigNumber(Bi.bigNumber(n)).gt(t)},isInsufficientSourceTokenForSwap(t,e,n){const r=n?.find(s=>s.address===e)?.quantity?.numeric;return Bi.bigNumber(r||"0").lt(t)}},Dl=Ar({message:"",variant:"info",open:!1}),X1t={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(X1t),oQ=15e4,Q1t=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:yn.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}),FC={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=ze.getPlainAddress(e),r=AW(),i=We.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||!Bi.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===Ne.CONNECTOR_ID.AUTH}},async setSourceToken(t){if(!t){ve.sourceToken=t,ve.sourceTokenAmount="",ve.sourceTokenPriceInUSD=0;return}ve.sourceToken=t,await Wt.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 Wt.setTokenPrice(t.address,"toToken")},setToTokenAmount(t){ve.toTokenAmount=t?Bi.toFixed(t,Q1t):""},async setTokenPrice(t,e){let n=ve.tokensPriceMap[t]||0;n||(ve.loadingPrices=!0,n=await Wt.getAddressPrice(t)),e==="sourceToken"?ve.sourceTokenPriceInUSD=n:e==="toToken"&&(ve.toTokenPriceInUSD=n),ve.loadingPrices&&(ve.loadingPrices=!1),Wt.getParams().availableToSwap&&!ve.switchingTokens&&Wt.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;Wt.setSourceTokenAmount(n),Wt.setToTokenAmount(""),await Wt.setSourceToken(t),await Wt.setToToken(e),ve.switchingTokens=!1,Wt.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}=Wt.getParams(),e=ve.tokens?.find(n=>n.address===t);Wt.setSourceToken(e),Wt.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 Wt.fetchTokens(),ve.initialized=!0}catch{ve.initialized=!1,Dn.showError("Failed to initialize swap"),Pe.goBack()}ve.initializing=!1}},async fetchTokens(){const{networkAddress:t}=Wt.getParams();await Wt.getNetworkTokenPrice(),await Wt.getMyTokensWithBalance();const e=ve.myTokensWithBalance?.find(n=>n.address===t);e&&(ve.networkTokenSymbol=e.symbol,Wt.setSourceToken(e),Wt.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=>!!yn.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 jt.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}=Wt.getParams(),n=(await jt.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 Q_.getMyTokensWithBalance(t),n=p2.mapBalancesToSwapTokens(e);n&&(await Wt.getInitialGasPrice(),Wt.setBalances(n))},setBalances(t){const{networkAddress:e}=Wt.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?Bi.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 Ne.CHAIN.SOLANA:return ve.gasFee=t.standard??"0",ve.gasPriceInUSD=Bi.multiply(t.standard,ve.networkPrice).div(1e9).toNumber(),{gasPrice:BigInt(ve.gasFee),gasPriceInUSD:Number(ve.gasPriceInUSD)};case Ne.CHAIN.EVM:default:const e=t.standard??"0",n=BigInt(e),r=BigInt(oQ),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=Bi.bigNumber(ve.sourceTokenAmount).gt(0);if(r||Wt.setToTokenAmount(""),!n||!e||ve.loadingPrices||!r||!t)return;ve.loadingQuote=!0;const i=Bi.bigNumber(ve.sourceTokenAmount).times(10**e.decimals).round(0);try{const s=await jt.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=Bi.bigNumber(a).div(10**n.decimals).toString();Wt.setToTokenAmount(o),Wt.hasInsufficientToken(ve.sourceTokenAmount,e.address)?ve.inputError="Insufficient balance":(ve.inputError=void 0,Wt.setTransactionDetails())}catch(s){const a=await p2.handleSwapError(s);ve.loadingQuote=!1,ve.inputError=a||"Insufficient balance"}},async getTransaction(){const{fromCaipAddress:t,availableToSwap:e}=Wt.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 Wt.createSwapTransaction():s=await Wt.createAllowanceTransaction(),ve.loadingBuildTransaction=!1,ve.fetchError=!1,s}catch{Pe.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}=Wt.getParams();if(!(!t||!n)){if(!e)throw new Error("createAllowanceTransaction - No source token address found.");try{const r=await jt.generateApproveCalldata({from:e,to:n,userAddress:t}),i=ze.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{Pe.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}=Wt.getParams(),r=ve.sourceToken,i=ve.toToken;if(!e||!n||!r||!i)return;const s=Be.parseUnits(n,r.decimals)?.toString();try{const a=await jt.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=ze.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{Pe.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"),Pe.replace("SwapPreview")},async sendTransactionForApproval(t){const{fromAddress:e,isAuthConnector:n}=Wt.getParams();ve.loadingApprovalTransaction=!0,n?Pe.pushTransactionStack({onSuccess:Wt.onEmbeddedWalletApprovalSuccess}):Dn.showLoading("Approve limit increase in your wallet");try{await Be.sendTransaction({address:e,to:t.to,data:t.data,value:t.value,chainNamespace:Ne.CHAIN.EVM}),await Wt.swapTokens(),await Wt.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"),$t.sendEvent({type:"track",event:"SWAP_APPROVAL_ERROR",properties:{message:s?.displayMessage||s?.message||"Unknown",network:K.state.activeCaipNetwork?.caipNetworkId||"",swapFromToken:Wt.state.sourceToken?.symbol||"",swapToToken:Wt.state.toToken?.symbol||"",swapFromAmount:Wt.state.sourceTokenAmount||"",swapToAmount:Wt.state.toTokenAmount||"",isSmartAccount:Sa(Ne.CHAIN.EVM)===wc.ACCOUNT_TYPES.SMART_ACCOUNT}})}},async sendTransactionForSwap(t){if(!t)return;const{fromAddress:e,toTokenAmount:n,isAuthConnector:r}=Wt.getParams();ve.loadingTransaction=!0;const i=`Swapping ${ve.sourceToken?.symbol} to ${Bi.formatNumberToLocalString(n,3)} ${ve.toToken?.symbol}`,s=`Swapped ${ve.sourceToken?.symbol} to ${Bi.formatNumberToLocalString(n,3)} ${ve.toToken?.symbol}`;r?Pe.pushTransactionStack({onSuccess(){Pe.replace("Account"),Dn.showLoading(i),FC.resetState()}}):Dn.showLoading("Confirm transaction in your wallet");try{const a=[ve.sourceToken?.address,ve.toToken?.address].join(","),o=await Be.sendTransaction({address:e,to:t.to,data:t.data,value:t.value,chainNamespace:Ne.CHAIN.EVM});return ve.loadingTransaction=!1,Dn.showSuccess(s),$t.sendEvent({type:"track",event:"SWAP_SUCCESS",properties:{network:K.state.activeCaipNetwork?.caipNetworkId||"",swapFromToken:Wt.state.sourceToken?.symbol||"",swapToToken:Wt.state.toToken?.symbol||"",swapFromAmount:Wt.state.sourceTokenAmount||"",swapToAmount:Wt.state.toTokenAmount||"",isSmartAccount:Sa(Ne.CHAIN.EVM)===wc.ACCOUNT_TYPES.SMART_ACCOUNT}}),FC.resetState(),r||Pe.replace("Account"),FC.getMyTokensWithBalance(a),o}catch(a){const o=a;ve.transactionError=o?.displayMessage,ve.loadingTransaction=!1,Dn.showError(o?.displayMessage||"Transaction error"),$t.sendEvent({type:"track",event:"SWAP_ERROR",properties:{message:o?.displayMessage||o?.message||"Unknown",network:K.state.activeCaipNetwork?.caipNetworkId||"",swapFromToken:Wt.state.sourceToken?.symbol||"",swapToToken:Wt.state.toToken?.symbol||"",swapFromAmount:Wt.state.sourceTokenAmount||"",swapToAmount:Wt.state.toTokenAmount||"",isSmartAccount:Sa(Ne.CHAIN.EVM)===wc.ACCOUNT_TYPES.SMART_ACCOUNT}});return}},hasInsufficientToken(t,e){return r0.isInsufficientSourceTokenForSwap(t,e,ve.myTokensWithBalance)},setTransactionDetails(){const{toTokenAddress:t,toTokenDecimals:e}=Wt.getParams();!t||!e||(ve.gasPriceInUSD=r0.getGasPriceInUSD(ve.networkPrice,BigInt(ve.gasFee),BigInt(oQ)),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))}},Wt=Go(FC),Bl=Ar({message:"",open:!1,triggerRect:{width:0,height:0,top:0,left:0},variant:"shade"}),egt={state:Bl,subscribe(t){return as(Bl,()=>t(Bl))},subscribeKey(t,e){return os(Bl,t,e)},showTooltip({message:t,triggerRect:e,variant:n}){Bl.open=!0,Bl.message=t,Bl.triggerRect=e,Bl.variant=n},hide(){Bl.open=!1,Bl.message="",Bl.triggerRect={width:0,height:0,top:0,left:0}}},h6=Go(egt),cQ=2147483648,tgt={convertEVMChainIdToCoinType(t){if(t>=cQ)throw new Error("Invalid chainId");return(cQ|t)>>>0}},Hc=Ar({suggestions:[],loading:!1}),ngt={state:Hc,subscribe(t){return as(Hc,()=>t(Hc))},subscribeKey(t,e){return os(Hc,t,e)},async resolveName(t){try{return await jt.lookupEnsName(t)}catch(e){const n=e;throw new Error(n?.reasons?.[0]?.description||"Error resolving name")}},async isNameRegistered(t){try{return await jt.lookupEnsName(t),!0}catch{return!1}},async getSuggestions(t){try{Hc.loading=!0,Hc.suggestions=[];const e=await jt.getEnsNameSuggestions(t);return Hc.suggestions=e.suggestions||[],Hc.suggestions}catch(e){const n=b3.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=He.getEnsFromCacheForAddress(t);if(n)return n;const r=await jt.reverseLookupEnsName({address:t});return He.updateEnsCache({address:t,ens:r,timestamp:Date.now()}),r}catch(e){const n=b3.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=We.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)});Pe.pushTransactionStack({onCancel(){Pe.replace("RegisterAccountName")}});const s=await Be.signMessage(i);Hc.loading=!1;const a=e.id;if(!a)throw new Error("Network not found");const o=tgt.convertEVMChainIdToCoinType(Number(a));await jt.registerEnsName({coinType:o,address:n,signature:s,message:i}),K.setAccountProp("profileName",t,e.chainNamespace),He.updateEnsCache({address:n,ens:[{name:t,registered_at:new Date().toISOString(),updated_at:void 0,addresses:{},attributes:[]}],timestamp:Date.now()}),Pe.replace("RegisterAccountNameSuccess")}catch(i){const s=b3.parseEnsApiError(i,`Error registering name ${t}`);throw Pe.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}},b3=Go(ngt),rgt={asset:"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"},igt={asset:"0x036CbD53842c5426634e7929541eC2318f3dCF7e"};var nP,lQ;function sgt(){if(lQ)return nP;lQ=1;const t=A_();nP=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 k=w.browser.write||e;w.browser.write&&(w.browser.asObject=!0);const P=w.serializers||{},T=r(w.browser.serialize,P);let R=w.browser.serialize;Array.isArray(w.browser.serialize)&&w.browser.serialize.indexOf("!stdSerializers.err")>-1&&(R=!1);const M=["error","fatal","warn","info","debug","trace"];typeof k=="function"&&(k.error=k.fatal=k.warn=k.info=k.debug=k.trace=k),w.enabled===!1&&(w.level="silent");const N=w.level||"info",$=Object.create(k);$.log||($.log=y),Object.defineProperty($,"levelVal",{get:I}),Object.defineProperty($,"level",{get:B,set:D});const A={transmit:S,serialize:T,asObject:w.browser.asObject,levels:M,timestamp:p(w)};$.levels=i.levels,$.level=N,$.setMaxListeners=$.getMaxListeners=$.emit=$.addListener=$.on=$.prependListener=$.once=$.prependOnceListener=$.removeListener=$.removeAllListeners=$.listeners=$.listenerCount=$.eventNames=$.write=$.flush=y,$.serializers=P,$._serialize=T,$._stdErrSerialize=R,$.child=O,S&&($._logEvent=u());function I(){return this.level==="silent"?1/0:this.levels.values[this.level]}function B(){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 O(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 Z=Object.assign({},P,W),V=w.browser.serialize===!0?Object.keys(Z):T;delete j.serializers,c([j],V,Z,this._stdErrSerialize)}function q(ee){this._childLevel=(ee._childLevel|0)+1,this.error=l(ee,j,"error"),this.fatal=l(ee,j,"fatal"),this.warn=l(ee,j,"warn"),this.info=l(ee,j,"info"),this.debug=l(ee,j,"debug"),this.trace=l(ee,j,"trace"),Z&&(this.serializers=Z,this._serialize=V),S&&(this._logEvent=u([].concat(ee._logEvent.bindings,j)))}return q.prototype=this,new q(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,k,P){const T=Object.getPrototypeOf(S);S[k]=S.levelVal>S.levels.values[k]?y:T[k]?T[k]:e[k]||e[P]||y,a(w,S,k)}function a(w,S,k){!w.transmit&&S[k]===y||(S[k]=(function(P){return function(){const R=w.timestamp(),M=new Array(arguments.length),N=Object.getPrototypeOf&&Object.getPrototypeOf(this)===e?e:this;for(var $=0;$<M.length;$++)M[$]=arguments[$];if(w.serialize&&!w.asObject&&c(M,this._serialize,this.serializers,this._stdErrSerialize),w.asObject?P.call(N,o(this,k,M,R)):P.apply(N,M),w.transmit){const A=w.transmit.level||S.level,I=i.levels.values[A],B=i.levels.values[k];if(B<I)return;d(this,{ts:R,methodLevel:k,methodValue:B,transmitValue:i.levels.values[w.transmit.level||S.level],send:w.transmit.send,val:S.levelVal},M)}}})(S[k]))}function o(w,S,k,P){w._serialize&&c(k,w._serialize,w.serializers,w._stdErrSerialize);const T=k.slice();let R=T[0];const M={};P&&(M.time=P),M.level=i.levels.values[S];let N=(w._childLevel|0)+1;if(N<1&&(N=1),R!==null&&typeof R=="object"){for(;N--&&typeof T[0]=="object";)Object.assign(M,T.shift());R=T.length?t(T.shift(),T):void 0}else typeof R=="string"&&(R=t(T.shift(),T));return R!==void 0&&(M.msg=R),M}function c(w,S,k,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 R in w[T])S&&S.indexOf(R)>-1&&R in k&&(w[T][R]=k[R](w[T][R]))}function l(w,S,k){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[k].apply(this,P)}}function d(w,S,k){const P=S.send,T=S.ts,R=S.methodLevel,M=S.methodValue,N=S.val,$=w._logEvent.bindings;c(k,w._serialize||Object.keys(w.serializers),w.serializers,w._stdErrSerialize===void 0?!0:w._stdErrSerialize),w._logEvent.ts=T,w._logEvent.messages=k.filter(function(A){return $.indexOf(A)===-1}),w._logEvent.level.label=R,w._logEvent.level.value=M,P(R,w._logEvent,N),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 k in w)S[k]===void 0&&(S[k]=w[k]);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 nP}sgt();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 Zt.open({view:"DataCapture",data:{email:a?.email??void 0}});return}if(W1&&await W1,(await e.getSessions(`${n}:${r}`,i)).length)return;await Zt.open({view:"SIWXSignMessage"})}catch(s){console.error("SIWXUtil:initializeIfEnabled",s),$t.sendEvent({type:"track",event:"SIWX_AUTH_ERROR",properties:this.getSIWXEventProperties(s)}),await Be._getClient()?.disconnect().catch(console.error),Pe.reset("Connect"),Dn.showError("A problem occurred while trying initialize authentication")}},async requestSignMessage(){const t=$e.state.siwx,e=ze.getPlainAddress(K.getActiveCaipAddress()),n=G6(),r=Be._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();We.getConnectorId(n.chainNamespace)===Ne.CONNECTOR_ID.AUTH&&Pe.pushTransactionStack({});const o=await r.signMessage(s);await t.addSession({data:i,message:s,signature:o}),K.setLastConnectedSIWECaipNetwork(n),Zt.close(),$t.sendEvent({type:"track",event:"SIWX_AUTH_SUCCESS",properties:this.getSIWXEventProperties()})}catch(i){(!Zt.state.open||Pe.state.view==="ApproveTransaction")&&await Zt.open({view:"SIWXSignMessage"}),Dn.showError("Error signing message"),$t.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,ze.getPlainAddress(K.getActiveCaipAddress())||"");r&&r.length>0?await K.switchActiveNetwork(n):await Be.disconnect()}else await Be.disconnect()}else Zt.close();Zt.close(),$t.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,ze.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=ze.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=Pe.state.view==="ApproveTransaction",n=Pe.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=G6();if(!s||!i.includes(Ne.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=G6(),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:G6()?.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),$t.sendEvent({type:"track",event:"SIWX_AUTH_SUCCESS",properties:Po.getSIWXEventProperties()})}catch(d){throw console.error("SIWX:universalProviderAuth - failed to set sessions",d),$t.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?ze.parseError(t):void 0}},async clearSessions(){const t=this.getSIWX();t&&await t.setSessions([])}},e2e={isUnsupportedChainView(){return Pe.state.view==="UnsupportedChain"||Pe.state.view==="SwitchNetwork"&&Pe.state.history.includes("UnsupportedChain")},async safeClose(){if(this.isUnsupportedChainView()){Zt.shake();return}if(await Po.isSIWXCloseDisabled()){Zt.shake();return}(Pe.state.view==="DataCapture"||Pe.state.view==="DataCaptureOtpConfirm")&&Be.disconnect(),Zt.close()}};var rP,dQ;function agt(){if(dQ)return rP;dQ=1;const t=A_();rP=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 k=w.browser.write||e;w.browser.write&&(w.browser.asObject=!0);const P=w.serializers||{},T=r(w.browser.serialize,P);let R=w.browser.serialize;Array.isArray(w.browser.serialize)&&w.browser.serialize.indexOf("!stdSerializers.err")>-1&&(R=!1);const M=["error","fatal","warn","info","debug","trace"];typeof k=="function"&&(k.error=k.fatal=k.warn=k.info=k.debug=k.trace=k),w.enabled===!1&&(w.level="silent");const N=w.level||"info",$=Object.create(k);$.log||($.log=y),Object.defineProperty($,"levelVal",{get:I}),Object.defineProperty($,"level",{get:B,set:D});const A={transmit:S,serialize:T,asObject:w.browser.asObject,levels:M,timestamp:p(w)};$.levels=i.levels,$.level=N,$.setMaxListeners=$.getMaxListeners=$.emit=$.addListener=$.on=$.prependListener=$.once=$.prependOnceListener=$.removeListener=$.removeAllListeners=$.listeners=$.listenerCount=$.eventNames=$.write=$.flush=y,$.serializers=P,$._serialize=T,$._stdErrSerialize=R,$.child=O,S&&($._logEvent=u());function I(){return this.level==="silent"?1/0:this.levels.values[this.level]}function B(){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 O(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 Z=Object.assign({},P,W),V=w.browser.serialize===!0?Object.keys(Z):T;delete j.serializers,c([j],V,Z,this._stdErrSerialize)}function q(ee){this._childLevel=(ee._childLevel|0)+1,this.error=l(ee,j,"error"),this.fatal=l(ee,j,"fatal"),this.warn=l(ee,j,"warn"),this.info=l(ee,j,"info"),this.debug=l(ee,j,"debug"),this.trace=l(ee,j,"trace"),Z&&(this.serializers=Z,this._serialize=V),S&&(this._logEvent=u([].concat(ee._logEvent.bindings,j)))}return q.prototype=this,new q(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,k,P){const T=Object.getPrototypeOf(S);S[k]=S.levelVal>S.levels.values[k]?y:T[k]?T[k]:e[k]||e[P]||y,a(w,S,k)}function a(w,S,k){!w.transmit&&S[k]===y||(S[k]=(function(P){return function(){const R=w.timestamp(),M=new Array(arguments.length),N=Object.getPrototypeOf&&Object.getPrototypeOf(this)===e?e:this;for(var $=0;$<M.length;$++)M[$]=arguments[$];if(w.serialize&&!w.asObject&&c(M,this._serialize,this.serializers,this._stdErrSerialize),w.asObject?P.call(N,o(this,k,M,R)):P.apply(N,M),w.transmit){const A=w.transmit.level||S.level,I=i.levels.values[A],B=i.levels.values[k];if(B<I)return;d(this,{ts:R,methodLevel:k,methodValue:B,transmitValue:i.levels.values[w.transmit.level||S.level],send:w.transmit.send,val:S.levelVal},M)}}})(S[k]))}function o(w,S,k,P){w._serialize&&c(k,w._serialize,w.serializers,w._stdErrSerialize);const T=k.slice();let R=T[0];const M={};P&&(M.time=P),M.level=i.levels.values[S];let N=(w._childLevel|0)+1;if(N<1&&(N=1),R!==null&&typeof R=="object"){for(;N--&&typeof T[0]=="object";)Object.assign(M,T.shift());R=T.length?t(T.shift(),T):void 0}else typeof R=="string"&&(R=t(T.shift(),T));return R!==void 0&&(M.msg=R),M}function c(w,S,k,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 R in w[T])S&&S.indexOf(R)>-1&&R in k&&(w[T][R]=k[R](w[T][R]))}function l(w,S,k){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[k].apply(this,P)}}function d(w,S,k){const P=S.send,T=S.ts,R=S.methodLevel,M=S.methodValue,N=S.val,$=w._logEvent.bindings;c(k,w._serialize||Object.keys(w.serializers),w.serializers,w._stdErrSerialize===void 0?!0:w._stdErrSerialize),w._logEvent.ts=T,w._logEvent.messages=k.filter(function(A){return $.indexOf(A)===-1}),w._logEvent.level.label=R,w._logEvent.level.value=M,P(R,w._logEvent,N),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 k in w)S[k]===void 0&&(S[k]=w[k]);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 rP}var f2=agt();const t8=Al(f2),ogt={level:"info"},n8="custom_context",SW=1e3*1024;let cgt=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}},uQ=class{constructor(e){this.head=null,this.tail=null,this.lengthInNodes=0,this.maxSizeInBytes=e,this.sizeInBytes=0}append(e){const n=new cgt(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}}}}},t2e=class{constructor(e,n=SW){this.level=e??"error",this.levelValue=f2.levels.values[this.level],this.MAX_LOG_SIZE_IN_BYTES=n,this.logs=new uQ(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 uQ(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"})}},lgt=class{constructor(e,n=SW){this.baseChunkLogger=new t2e(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)}},dgt=class{constructor(e,n=SW){this.baseChunkLogger=new t2e(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 ugt=Object.defineProperty,hgt=Object.defineProperties,pgt=Object.getOwnPropertyDescriptors,hQ=Object.getOwnPropertySymbols,fgt=Object.prototype.hasOwnProperty,ggt=Object.prototype.propertyIsEnumerable,pQ=(t,e,n)=>e in t?ugt(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,t7=(t,e)=>{for(var n in e||(e={}))fgt.call(e,n)&&pQ(t,n,e[n]);if(hQ)for(var n of hQ(e))ggt.call(e,n)&&pQ(t,n,e[n]);return t},n7=(t,e)=>hgt(t,pgt(e));function e$(t){return n7(t7({},t),{level:t?.level||ogt.level})}function mgt(t,e=n8){return t[e]||""}function ygt(t,e,n=n8){return t[n]=e,t}function Yo(t,e=n8){let n="";return typeof t.bindings>"u"?n=mgt(t,e):n=t.bindings().context||"",n}function wgt(t,e,n=n8){const r=Yo(t,n);return r.trim()?`${r}/${e}`:e}function ao(t,e,n=n8){const r=wgt(t,e,n),i=t.child({context:r});return ygt(i,r,n)}function bgt(t){var e,n;const r=new lgt((e=t.opts)==null?void 0:e.level,t.maxSizeInBytes);return{logger:t8(n7(t7({},t.opts),{level:"trace",browser:n7(t7({},(n=t.opts)==null?void 0:n.browser),{write:i=>r.write(i)})})),chunkLoggerController:r}}function vgt(t){var e;const n=new dgt((e=t.opts)==null?void 0:e.level,t.maxSizeInBytes);return{logger:t8(n7(t7({},t.opts),{level:"trace"}),n),chunkLoggerController:n}}function xgt(t){return typeof t.loggerOverride<"u"&&typeof t.loggerOverride!="string"?{logger:t.loggerOverride,chunkLoggerController:null}:typeof window<"u"?bgt(t):vgt(t)}var Egt=Object.defineProperty,Cgt=(t,e,n)=>e in t?Egt(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,fQ=(t,e,n)=>Cgt(t,typeof e!="symbol"?e+"":e,n);let Agt=class extends Oc{constructor(e){super(),this.opts=e,fQ(this,"protocol","wc"),fQ(this,"version",2)}};var Sgt=Object.defineProperty,_gt=(t,e,n)=>e in t?Sgt(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,$gt=(t,e,n)=>_gt(t,e+"",n);let kgt=class extends Oc{constructor(e,n){super(),this.core=e,this.logger=n,$gt(this,"records",new Map)}},Igt=class{constructor(e,n){this.logger=e,this.core=n}},Tgt=class extends Oc{constructor(e,n){super(),this.relayer=e,this.logger=n}},Pgt=class extends Oc{constructor(e){super()}},Ogt=class{constructor(e,n,r,i){this.core=e,this.logger=n,this.name=r}},Ngt=class extends Oc{constructor(e,n){super(),this.relayer=e,this.logger=n}},Rgt=class extends Oc{constructor(e,n){super(),this.core=e,this.logger=n}},Mgt=class{constructor(e,n,r){this.core=e,this.logger=n,this.store=r}},jgt=class{constructor(e,n){this.projectId=e,this.logger=n}},Dgt=class{constructor(e,n,r){this.core=e,this.logger=n,this.telemetryEnabled=r}};var Bgt=Object.defineProperty,Lgt=(t,e,n)=>e in t?Bgt(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,gQ=(t,e,n)=>Lgt(t,typeof e!="symbol"?e+"":e,n);let Ugt=class{constructor(e){this.opts=e,gQ(this,"protocol","wc"),gQ(this,"version",2)}},Fgt=class{constructor(e){this.client=e}};function R4(t,{strict:e=!0}={}){return!t||typeof t!="string"?!1:e?/^0x[0-9a-fA-F]*$/.test(t):t.startsWith("0x")}function nD(t){return R4(t,{strict:!1})?Math.ceil((t.length-2)/2):t.length}const n2e="2.36.0";let iP={getDocsUrl:({docsBaseUrl:t,docsPath:e="",docsSlug:n})=>e?`${t??"https://viem.sh"}${e}${n?`#${n}`:""}`:void 0,version:`viem@${n2e}`},t$=class rD extends Error{constructor(e,n={}){const r=n.cause instanceof rD?n.cause.details:n.cause?.message?n.cause.message:n.details,i=n.cause instanceof rD&&n.cause.docsPath||n.docsPath,s=iP.getDocsUrl?.({...n,docsPath:i}),a=[e||"An error occurred.","",...n.metaMessages?[...n.metaMessages,""]:[],...s?[`Docs: ${s}`]:[],...r?[`Details: ${r}`]:[],...iP.version?[`Version: ${iP.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=n2e}walk(e){return r2e(this,e)}};function r2e(t,e){return e?.(t)?t:t&&typeof t=="object"&&"cause"in t&&t.cause!==void 0?r2e(t.cause,e):e?null:t}let i2e=class extends t${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 iv(t,{dir:e,size:n=32}={}){return typeof t=="string"?Wgt(t,{dir:e,size:n}):zgt(t,{dir:e,size:n})}function Wgt(t,{dir:e,size:n=32}={}){if(n===null)return t;const r=t.replace("0x","");if(r.length>n*2)throw new i2e({size:Math.ceil(r.length/2),targetSize:n,type:"hex"});return`0x${r[e==="right"?"padEnd":"padStart"](n*2,"0")}`}function zgt(t,{dir:e,size:n=32}={}){if(n===null)return t;if(t.length>n)throw new i2e({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 Hgt=class extends t${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"})}},Vgt=class extends t${constructor({givenSize:e,maxSize:n}){super(`Size cannot exceed ${n} bytes. Given size: ${e} bytes.`,{name:"SizeOverflowError"})}};function sv(t,{size:e}){if(nD(t)>e)throw new Vgt({givenSize:nD(t),maxSize:e})}function iD(t,e={}){const{signed:n}=e;e.size&&sv(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 qgt(t,e={}){return Number(iD(t,e))}const Zgt=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function sD(t,e={}){return typeof t=="number"||typeof t=="bigint"?a2e(t,e):typeof t=="string"?Ygt(t,e):typeof t=="boolean"?Kgt(t,e):s2e(t,e)}function Kgt(t,e={}){const n=`0x${Number(t)}`;return typeof e.size=="number"?(sv(n,{size:e.size}),iv(n,{size:e.size})):n}function s2e(t,e={}){let n="";for(let i=0;i<t.length;i++)n+=Zgt[t[i]];const r=`0x${n}`;return typeof e.size=="number"?(sv(r,{size:e.size}),iv(r,{dir:"right",size:e.size})):r}function a2e(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 Hgt({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?iv(o,{size:r}):o}const Ggt=new TextEncoder;function Ygt(t,e={}){const n=Ggt.encode(t);return s2e(n,e)}const Jgt=new TextEncoder;function Xgt(t,e={}){return typeof t=="number"||typeof t=="bigint"?emt(t,e):typeof t=="boolean"?Qgt(t,e):R4(t)?o2e(t,e):c2e(t,e)}function Qgt(t,e={}){const n=new Uint8Array(1);return n[0]=Number(t),typeof e.size=="number"?(sv(n,{size:e.size}),iv(n,{size:e.size})):n}const sp={zero:48,nine:57,A:65,F:70,a:97,f:102};function mQ(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 o2e(t,e={}){let n=t;e.size&&(sv(n,{size:e.size}),n=iv(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=mQ(r.charCodeAt(o++)),l=mQ(r.charCodeAt(o++));if(c===void 0||l===void 0)throw new t$(`Invalid byte sequence ("${r[o-2]}${r[o-1]}" in "${r}").`);s[a]=c*16+l}return s}function emt(t,e){const n=a2e(t,e);return o2e(n)}function c2e(t,e={}){const n=Jgt.encode(t);return typeof e.size=="number"?(sv(n,{size:e.size}),iv(n,{dir:"right",size:e.size})):n}const PE=BigInt(2**32-1),yQ=BigInt(32);function tmt(t,e=!1){return e?{h:Number(t&PE),l:Number(t>>yQ&PE)}:{h:Number(t>>yQ&PE)|0,l:Number(t&PE)|0}}function nmt(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}=tmt(t[s],e);[r[s],i[s]]=[a,o]}return[r,i]}const rmt=(t,e,n)=>t<<n|e>>>32-n,imt=(t,e,n)=>e<<n|t>>>32-n,smt=(t,e,n)=>e<<n-32|t>>>64-n,amt=(t,e,n)=>t<<n-32|e>>>64-n,qy=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;function n$(t){return t instanceof Uint8Array||ArrayBuffer.isView(t)&&t.constructor.name==="Uint8Array"}function M4(t){if(!Number.isSafeInteger(t)||t<0)throw new Error("positive integer expected, got "+t)}function of(t,...e){if(!n$(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 l2e(t){if(typeof t!="function"||typeof t.create!="function")throw new Error("Hash should be wrapped by utils.createHasher");M4(t.outputLen),M4(t.blockLen)}function ib(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 d2e(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 omt(t){return new Uint32Array(t.buffer,t.byteOffset,Math.floor(t.byteLength/4))}function sb(...t){for(let e=0;e<t.length;e++)t[e].fill(0)}function sP(t){return new DataView(t.buffer,t.byteOffset,t.byteLength)}function qd(t,e){return t<<32-e|t>>>e}const cmt=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function lmt(t){return t<<24&4278190080|t<<8&16711680|t>>>8&65280|t>>>24&255}function dmt(t){for(let e=0;e<t.length;e++)t[e]=lmt(t[e]);return t}const wQ=cmt?t=>t:dmt,u2e=typeof Uint8Array.from([]).toHex=="function"&&typeof Uint8Array.fromHex=="function",umt=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function ew(t){if(of(t),u2e)return t.toHex();let e="";for(let n=0;n<t.length;n++)e+=umt[t[n]];return e}const ap={_0:48,_9:57,A:65,F:70,a:97,f:102};function bQ(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 r7(t){if(typeof t!="string")throw new Error("hex string expected, got "+typeof t);if(u2e)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=bQ(t.charCodeAt(s)),o=bQ(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 hmt(t){if(typeof t!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(t))}function r$(t){return typeof t=="string"&&(t=hmt(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 _W=class{};function h2e(t){const e=r=>t().update(r$(r)).digest(),n=t();return e.outputLen=n.outputLen,e.blockLen=n.blockLen,e.create=()=>t(),e}function p2e(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 pmt=BigInt(0),p6=BigInt(1),fmt=BigInt(2),gmt=BigInt(7),mmt=BigInt(256),ymt=BigInt(113),f2e=[],g2e=[],m2e=[];for(let t=0,e=p6,n=1,r=0;t<24;t++){[n,r]=[r,(2*n+3*r)%5],f2e.push(2*(5*r+n)),g2e.push((t+1)*(t+2)/2%64);let i=pmt;for(let s=0;s<7;s++)e=(e<<p6^(e>>gmt)*ymt)%mmt,e&fmt&&(i^=p6<<(p6<<BigInt(s))-p6);m2e.push(i)}const y2e=nmt(m2e,!0),wmt=y2e[0],bmt=y2e[1],vQ=(t,e,n)=>n>32?smt(t,e,n):rmt(t,e,n),xQ=(t,e,n)=>n>32?amt(t,e,n):imt(t,e,n);function vmt(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=vQ(l,d,1)^n[o],h=xQ(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=g2e[a],c=vQ(i,s,o),l=xQ(i,s,o),d=f2e[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]^=wmt[r],t[1]^=bmt[r]}sb(n)}class $W extends _W{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,M4(r),!(0<e&&e<200))throw new Error("only keccak-f1600 function is supported");this.state=new Uint8Array(200),this.state32=omt(this.state)}clone(){return this._cloneInto()}keccak(){wQ(this.state32),vmt(this.state32,this.rounds),wQ(this.state32),this.posOut=0,this.pos=0}update(e){ib(this),e=r$(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){ib(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 M4(e),this.xofInto(new Uint8Array(e))}digestInto(e){if(d2e(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,sb(this.state)}_cloneInto(e){const{blockLen:n,suffix:r,outputLen:i,rounds:s,enableXOF:a}=this;return e||(e=new $W(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 xmt=(t,e,n)=>h2e(()=>new $W(e,t,n)),Emt=xmt(1,136,256/8);function w2e(t,e){const n=e||"hex",r=Emt(R4(t,{strict:!1})?Xgt(t):t);return n==="bytes"?r:sD(r)}class Cmt 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 aP=new Cmt(8192);function Amt(t,e){if(aP.has(`${t}.${e}`))return aP.get(`${t}.${e}`);const n=t.substring(2).toLowerCase(),r=w2e(c2e(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 aP.set(`${t}.${e}`,s),s}function Smt(t){const e=w2e(`0x${t.substring(4)}`).substring(26);return Amt(`0x${e}`)}async function _mt({hash:t,signature:e}){const n=R4(t)?t:sD(t),{secp256k1:r}=await Promise.resolve().then(()=>pyt);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=EQ(p);return new r.Signature(iD(l),iD(d)).addRecoveryBit(g)}const a=R4(e)?e:sD(e);if(nD(a)!==65)throw new Error("invalid signature length");const o=qgt(`0x${a.slice(130)}`),c=EQ(o);return r.Signature.fromCompact(a.substring(2,130)).addRecoveryBit(c)})().recoverPublicKey(n.substring(2)).toHex(!1)}`}function EQ(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 $mt({hash:t,signature:e}){return Smt(await _mt({hash:t,signature:e}))}function kmt(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 Imt(t,e,n){return t&e^~t&n}function Tmt(t,e,n){return t&e^t&n^e&n}let Pmt=class extends _W{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=sP(this.buffer)}update(e){ib(this),e=r$(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=sP(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){ib(this),d2e(e,this),this.finished=!0;const{buffer:n,view:r,blockLen:i,isLE:s}=this;let{pos:a}=this;n[a++]=128,sb(this.buffer.subarray(a)),this.padOffset>i-a&&(this.process(r,0),a=0);for(let u=a;u<i;u++)n[u]=0;kmt(r,i-8,BigInt(this.length*8),s),this.process(r,0);const o=sP(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]),Omt=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 Nmt=class extends Pmt{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+Imt(o,c,l)+Omt[u]+Ff[u]|0,m=(qd(r,2)^qd(r,13)^qd(r,22))+Tmt(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(){sb(Ff)}destroy(){this.set(0,0,0,0,0,0,0,0),sb(this.buffer)}};const Rmt=h2e(()=>new Nmt);let b2e=class extends _W{constructor(e,n){super(),this.finished=!1,this.destroyed=!1,l2e(e);const r=r$(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),sb(s)}update(e){return ib(this),this.iHash.update(e),this}digestInto(e){ib(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 v2e=(t,e,n)=>new b2e(t,e).update(n).digest();v2e.create=(t,e)=>new b2e(t,e);const kW=BigInt(0),aD=BigInt(1);function i7(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=n$(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 OE(t){const e=t.toString(16);return e.length&1?"0"+e:e}function x2e(t){if(typeof t!="string")throw new Error("hex string expected, got "+typeof t);return t===""?kW:BigInt("0x"+t)}function i$(t){return x2e(ew(t))}function E2e(t){return of(t),x2e(ew(Uint8Array.from(t).reverse()))}function IW(t,e){return r7(t.toString(16).padStart(e*2,"0"))}function C2e(t,e){return IW(t,e).reverse()}function Ao(t,e,n){let r;if(typeof e=="string")try{r=r7(e)}catch(i){throw new Error(t+" must be hex string or Uint8Array, cause: "+i)}else if(n$(e))r=Uint8Array.from(e);else throw new Error(t+" must be hex string or Uint8Array");return r.length,r}const oP=t=>typeof t=="bigint"&&kW<=t;function Mmt(t,e,n){return oP(t)&&oP(e)&&oP(n)&&e<=t&&t<n}function jmt(t,e,n,r){if(!Mmt(e,n,r))throw new Error("expected valid "+t+": "+n+" <= n < "+r+", got "+e)}function A2e(t){let e;for(e=0;t>kW;t>>=aD,e+=1);return e}const r8=t=>(aD<<BigInt(t))-aD;function Dmt(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 TW(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 CQ(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),S2e=BigInt(3),_2e=BigInt(4),$2e=BigInt(5),Bmt=BigInt(7),k2e=BigInt(8),Lmt=BigInt(9),I2e=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 AQ(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 PW(t,e,n){if(!t.eql(t.sqr(e),n))throw new Error("Cannot find square root")}function T2e(t,e){const n=(t.ORDER+Ja)/_2e,r=t.pow(e,n);return PW(t,r,e),r}function Umt(t,e){const n=(t.ORDER-$2e)/k2e,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 PW(t,o,e),o}function Fmt(t){const e=i8(t),n=P2e(t),r=n(e,e.neg(e.ONE)),i=n(e,r),s=n(e,e.neg(r)),a=(t+Bmt)/I2e;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 PW(o,y,c),y}}function P2e(t){if(t<S2e)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=i8(t);for(;SQ(i,r)===1;)if(r++>1e3)throw new Error("Cannot find square root: probably non-prime P");if(n===1)return T2e;let s=i.pow(r,e);const a=(e+Ja)/Ag;return function(c,l){if(c.is0(l))return l;if(SQ(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 Wmt(t){return t%_2e===S2e?T2e:t%k2e===$2e?Umt:t%I2e===Lmt?Fmt(t):P2e(t)}const zmt=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function Hmt(t){const e={ORDER:"bigint",MASK:"bigint",BYTES:"number",BITS:"number"},n=zmt.reduce((r,i)=>(r[i]="function",r),e);return TW(t,n),t}function Vmt(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 O2e(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 SQ(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 N2e(t,e){e!==void 0&&M4(e);const n=e!==void 0?e:t.toString(2).length,r=Math.ceil(n/8);return{nBitLength:n,nByteLength:r}}function i8(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}=N2e(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:r8(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)=>Vmt(u,h,p),div:(h,p)=>ql(h*AQ(p,t),t),sqrN:h=>h*h,addN:(h,p)=>h+p,subN:(h,p)=>h-p,mulN:(h,p)=>h*p,inv:h=>AQ(h,t),sqrt:s||(h=>(d||(d=Wmt(t)),d(u,h))),toBytes:h=>n?C2e(h,l):IW(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?E2e(h):i$(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=>O2e(u,h),cmov:(h,p,g)=>g?p:h});return Object.freeze(u)}function R2e(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 M2e(t){const e=R2e(t);return e+Math.ceil(e/2)}function qmt(t,e,n=!1){const r=t.length,i=R2e(e),s=M2e(e);if(r<16||r<s||r>1024)throw new Error("expected "+s+"-1024 bytes of input, got "+r);const a=n?E2e(t):i$(t),o=ql(a,e-Ja)+Ja;return n?C2e(o,i):IW(o,i)}const ab=BigInt(0),Sg=BigInt(1);function s7(t,e){const n=e.negate();return t?n:e}function cP(t,e){const n=O2e(t.Fp,e.map(r=>r.Z));return e.map((r,i)=>t.fromAffine(r.toAffine(n[i])))}function j2e(t,e){if(!Number.isSafeInteger(t)||t<=0||t>e)throw new Error("invalid window size, expected [1.."+e+"], got W="+t)}function lP(t,e){j2e(t,e);const n=Math.ceil(e/t)+1,r=2**(t-1),i=2**t,s=r8(t),a=BigInt(t);return{windows:n,windowSize:r,mask:s,maxNumber:i,shiftBy:a}}function _Q(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 Zmt(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 Kmt(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 dP=new WeakMap,D2e=new WeakMap;function uP(t){return D2e.get(t)||1}function $Q(t){if(t!==ab)throw new Error("invalid wNAF")}let Gmt=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>ab;)n&Sg&&(r=r.add(i)),i=i.double(),n>>=Sg;return r}precomputeWindow(e,n){const{windows:r,windowSize:i}=lP(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=lP(e,this.bits);for(let o=0;o<a.windows;o++){const{nextN:c,offset:l,isZero:d,isNeg:u,isNegF:h,offsetF:p}=_Q(r,o,a);r=c,d?s=s.add(s7(h,n[p])):i=i.add(s7(u,n[l]))}return $Q(r),{p:i,f:s}}wNAFUnsafe(e,n,r,i=this.ZERO){const s=lP(e,this.bits);for(let a=0;a<s.windows&&r!==ab;a++){const{nextN:o,offset:c,isZero:l,isNeg:d}=_Q(r,a,s);if(r=o,!l){const u=n[c];i=i.add(d?u.negate():u)}}return $Q(r),i}getPrecomputes(e,n,r){let i=dP.get(n);return i||(i=this.precomputeWindow(n,e),e!==1&&(typeof r=="function"&&(i=r(i)),dP.set(n,i))),i}cached(e,n,r){const i=uP(e);return this.wNAF(i,this.getPrecomputes(i,e,r),n)}unsafe(e,n,r,i){const s=uP(e);return s===1?this._unsafeLadder(e,n,i):this.wNAFUnsafe(s,this.getPrecomputes(s,e,r),n,i)}createCache(e,n){j2e(n,this.bits),D2e.set(e,n),dP.delete(e)}hasCache(e){return uP(e)!==1}};function Ymt(t,e,n,r){let i=e,s=t.ZERO,a=t.ZERO;for(;n>ab||r>ab;)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 Jmt(t,e,n,r){Zmt(n,t),Kmt(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=A2e(BigInt(i));let c=1;o>12?c=o-3:o>4?c=o-2:o>0&&(c=2);const l=r8(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 kQ(t,e,n){if(e){if(e.ORDER!==t)throw new Error("Field.ORDER must match order: Fp == p, Fn == n");return Hmt(e),e}else return i8(t,{isLE:n})}function Xmt(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>ab))throw new Error(`CURVE.${c} must be positive bigint`)}const i=kQ(e.p,n.Fp,r),s=kQ(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 IQ=(t,e)=>(t+(t>=0?e:-e)/B2e)/e;function Qmt(t,e,n){const[[r,i],[s,a]]=e,o=IQ(a*t,n),c=IQ(-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=r8(Math.ceil(A2e(n)/2))+tw;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 oD(t){if(!["compact","recovered","der"].includes(t))throw new Error('Signature format must be "compact", "recovered", or "der"');return t}function hP(t,e){const n={};for(let r of Object.keys(e))n[r]=t[r]===void 0?e[r]:t[r];return i7(n.lowS,"lowS"),i7(n.prehash,"prehash"),n.format!==void 0&&oD(n.format),n}let eyt=class extends Error{constructor(e=""){super(e)}};const Ip={Err:eyt,_tlv:{encode:(t,e)=>{const{Err:n}=Ip;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=OE(r);if(i.length/2&128)throw new n("tlv.encode: long form length too big");const s=r>127?OE(i.length/2|128):"";return OE(t)+s+i+e},decode(t,e){const{Err:n}=Ip;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}=Ip;if(t<Fp)throw new e("integer: negative integers are not allowed");let n=OE(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}=Ip;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 i$(t)}},toSig(t){const{Err:e,_int:n,_tlv:r}=Ip,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}=Ip,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),tw=BigInt(1),B2e=BigInt(2),NE=BigInt(3),tyt=BigInt(4);function I2(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 nyt(t,e={}){const n=Xmt("weierstrass",t,e),{Fp:r,Fn:i}=n;let s=n.CURVE;const{h:a,n:o}=s;TW(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=U2e(r,i);function d(){if(!r.isOdd)throw new Error("compression is not supported: Field does not have .isOdd()")}function u(M,N,$){const{x:A,y:I}=N.toAffine(),B=r.toBytes(A);if(i7($,"isCompressed"),$){d();const D=!r.isOdd(I);return v0(L2e(D),B)}else return v0(Uint8Array.of(4),B,r.toBytes(I))}function h(M){Cg(M,void 0,"Point");const{publicKey:N,publicKeyUncompressed:$}=l,A=M.length,I=M[0],B=M.subarray(1);if(A===N&&(I===2||I===3)){const D=r.fromBytes(B);if(!r.isValid(D))throw new Error("bad point: is not on curve, wrong x");const O=m(D);let j;try{j=r.sqrt(O)}catch(Z){const V=Z instanceof Error?": "+Z.message:"";throw new Error("bad point: is not on curve, sqrt error"+V)}d();const F=r.isOdd(j);return(I&1)===1!==F&&(j=r.neg(j)),{x:D,y:j}}else if(A===$&&I===4){const D=r.BYTES,O=r.fromBytes(B.subarray(0,D)),j=r.fromBytes(B.subarray(D,D*2));if(!y(O,j))throw new Error("bad point: is not on curve");return{x:O,y:j}}else throw new Error(`bad point: got length ${A}, expected compressed=${N} or uncompressed=${$}`)}const p=e.toBytes||u,g=e.fromBytes||h;function m(M){const N=r.sqr(M),$=r.mul(N,M);return r.add(r.add($,r.mul(M,s.a)),s.b)}function y(M,N){const $=r.sqr(N),A=m(M);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,NE),tyt),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(M,N,$=!1){if(!r.isValid(N)||$&&r.is0(N))throw new Error(`bad point coordinate ${M}`);return N}function E(M){if(!(M instanceof P))throw new Error("ProjectivePoint expected")}function C(M){if(!c||!c.basises)throw new Error("no endo");return Qmt(M,c.basises,i.ORDER)}const w=CQ((M,N)=>{const{X:$,Y:A,Z:I}=M;if(r.eql(I,r.ONE))return{x:$,y:A};const B=M.is0();N==null&&(N=B?r.ONE:r.inv(I));const D=r.mul($,N),O=r.mul(A,N),j=r.mul(I,N);if(B)return{x:r.ZERO,y:r.ZERO};if(!r.eql(j,r.ONE))throw new Error("invZ was invalid");return{x:D,y:O}}),S=CQ(M=>{if(M.is0()){if(e.allowInfinityPoint&&!r.is0(M.Y))return;throw new Error("bad point: ZERO")}const{x:N,y:$}=M.toAffine();if(!r.isValid(N)||!r.isValid($))throw new Error("bad point: x or y not field elements");if(!y(N,$))throw new Error("bad point: equation left != right");if(!M.isTorsionFree())throw new Error("bad point: not in prime-order subgroup");return!0});function k(M,N,$,A,I){return $=new P(r.mul($.X,M),$.Y,$.Z),N=s7(A,N),$=s7(I,$),N.add($)}class P{constructor(N,$,A){this.X=v("x",N),this.Y=v("y",$,!0),this.Z=v("z",A),Object.freeze(this)}static CURVE(){return s}static fromAffine(N){const{x:$,y:A}=N||{};if(!N||!r.isValid($)||!r.isValid(A))throw new Error("invalid affine point");if(N instanceof P)throw new Error("projective point not allowed");return r.is0($)&&r.is0(A)?P.ZERO:new P($,A,r.ONE)}static fromBytes(N){const $=P.fromAffine(g(Cg(N,void 0,"point")));return $.assertValidity(),$}static fromHex(N){return P.fromBytes(Ao("pointHex",N))}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(N=8,$=!0){return R.createCache(this,N),$||this.multiply(NE),this}assertValidity(){S(this)}hasEvenY(){const{y:N}=this.toAffine();if(!r.isOdd)throw new Error("Field doesn't support isOdd");return!r.isOdd(N)}equals(N){E(N);const{X:$,Y:A,Z:I}=this,{X:B,Y:D,Z:O}=N,j=r.eql(r.mul($,O),r.mul(B,I)),F=r.eql(r.mul(A,O),r.mul(D,I));return j&&F}negate(){return new P(this.X,r.neg(this.Y),this.Z)}double(){const{a:N,b:$}=s,A=r.mul($,NE),{X:I,Y:B,Z:D}=this;let O=r.ZERO,j=r.ZERO,F=r.ZERO,W=r.mul(I,I),Z=r.mul(B,B),V=r.mul(D,D),q=r.mul(I,B);return q=r.add(q,q),F=r.mul(I,D),F=r.add(F,F),O=r.mul(N,F),j=r.mul(A,V),j=r.add(O,j),O=r.sub(Z,j),j=r.add(Z,j),j=r.mul(O,j),O=r.mul(q,O),F=r.mul(A,F),V=r.mul(N,V),q=r.sub(W,V),q=r.mul(N,q),q=r.add(q,F),F=r.add(W,W),W=r.add(F,W),W=r.add(W,V),W=r.mul(W,q),j=r.add(j,W),V=r.mul(B,D),V=r.add(V,V),W=r.mul(V,q),O=r.sub(O,W),F=r.mul(V,Z),F=r.add(F,F),F=r.add(F,F),new P(O,j,F)}add(N){E(N);const{X:$,Y:A,Z:I}=this,{X:B,Y:D,Z:O}=N;let j=r.ZERO,F=r.ZERO,W=r.ZERO;const Z=s.a,V=r.mul(s.b,NE);let q=r.mul($,B),ee=r.mul(A,D),te=r.mul(I,O),Q=r.add($,A),ne=r.add(B,D);Q=r.mul(Q,ne),ne=r.add(q,ee),Q=r.sub(Q,ne),ne=r.add($,I);let pe=r.add(B,O);return ne=r.mul(ne,pe),pe=r.add(q,te),ne=r.sub(ne,pe),pe=r.add(A,I),j=r.add(D,O),pe=r.mul(pe,j),j=r.add(ee,te),pe=r.sub(pe,j),W=r.mul(Z,ne),j=r.mul(V,te),W=r.add(j,W),j=r.sub(ee,W),W=r.add(ee,W),F=r.mul(j,W),ee=r.add(q,q),ee=r.add(ee,q),te=r.mul(Z,te),ne=r.mul(V,ne),ee=r.add(ee,te),te=r.sub(q,te),te=r.mul(Z,te),ne=r.add(ne,te),q=r.mul(ee,ne),F=r.add(F,q),q=r.mul(pe,ne),j=r.mul(Q,j),j=r.sub(j,q),q=r.mul(Q,ee),W=r.mul(pe,W),W=r.add(W,q),new P(j,F,W)}subtract(N){return this.add(N.negate())}is0(){return this.equals(P.ZERO)}multiply(N){const{endo:$}=e;if(!i.isValidNot0(N))throw new Error("invalid scalar: out of range");let A,I;const B=D=>R.cached(this,D,O=>cP(P,O));if($){const{k1neg:D,k1:O,k2neg:j,k2:F}=C(N),{p:W,f:Z}=B(O),{p:V,f:q}=B(F);I=Z.add(q),A=k($.beta,W,V,D,j)}else{const{p:D,f:O}=B(N);A=D,I=O}return cP(P,[A,I])[0]}multiplyUnsafe(N){const{endo:$}=e,A=this;if(!i.isValid(N))throw new Error("invalid scalar: out of range");if(N===Fp||A.is0())return P.ZERO;if(N===tw)return A;if(R.hasCache(this))return this.multiply(N);if($){const{k1neg:I,k1:B,k2neg:D,k2:O}=C(N),{p1:j,p2:F}=Ymt(P,A,B,O);return k($.beta,j,F,I,D)}else return R.unsafe(A,N)}multiplyAndAddUnsafe(N,$,A){const I=this.multiplyUnsafe($).add(N.multiplyUnsafe(A));return I.is0()?void 0:I}toAffine(N){return w(this,N)}isTorsionFree(){const{isTorsionFree:N}=e;return a===tw?!0:N?N(P,this):R.unsafe(this,o).is0()}clearCofactor(){const{clearCofactor:N}=e;return a===tw?this:N?N(P,this):this.multiplyUnsafe(a)}isSmallOrder(){return this.multiplyUnsafe(a).is0()}toBytes(N=!0){return i7(N,"isCompressed"),this.assertValidity(),p(P,this,N)}toHex(N=!0){return ew(this.toBytes(N))}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}get px(){return this.X}get py(){return this.X}get pz(){return this.Z}toRawBytes(N=!0){return this.toBytes(N)}_setWindowSize(N){this.precompute(N)}static normalizeZ(N){return cP(P,N)}static msm(N,$){return Jmt(P,i,N,$)}static fromPrivateKey(N){return P.BASE.multiply(I2(i,N))}}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,R=new Gmt(P,e.endo?Math.ceil(T/2):T);return P.BASE.precompute(8),P}function L2e(t){return Uint8Array.of(t?2:3)}function U2e(t,e){return{secretKey:e.BYTES,publicKey:1+t.BYTES,publicKeyUncompressed:1+2*t.BYTES,publicKeyHasPrefix:!0,signature:2*e.BYTES}}function ryt(t,e={}){const{Fn:n}=t,r=e.randomBytes||p2e,i=Object.assign(U2e(t.Fp,n),{seed:M2e(n.ORDER)});function s(p){try{return!!I2(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 qmt(Cg(p,i.seed,"seed"),n.ORDER)}function c(p,g=!0){return t.BASE.multiply(I2(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=I2(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=>I2(n,p),precompute(p=8,g=t.BASE){return g.precompute(p,!1)}},lengths:i})}function iyt(t,e,n={}){l2e(e),TW(n,{},{hmac:"function",lowS:"boolean",randomBytes:"function",bits2int:"function",bits2int_modN:"function"});const r=n.randomBytes||p2e,i=n.hmac||(($,...A)=>v2e(e,$,v0(...A))),{Fp:s,Fn:a}=t,{ORDER:o,BITS:c}=a,{keygen:l,getPublicKey:d,getSharedSecret:u,utils:h,lengths:p}=ryt(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>>tw;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){oD(A);const I=p.signature,B=A==="compact"?I:A==="recovered"?I+1:void 0;return Cg($,B,`${A} signature`)}class v{constructor(A,I,B){this.r=b("r",A),this.s=b("s",I),B!=null&&(this.recovery=B),Object.freeze(this)}static fromBytes(A,I=m){x(A,I);let B;if(I==="der"){const{r:F,s:W}=Ip.toSig(Cg(A));return new v(F,W)}I==="recovered"&&(B=A[0],I="compact",A=A.subarray(1));const D=a.BYTES,O=A.subarray(0,D),j=A.subarray(D,D*2);return new v(a.fromBytes(O),a.fromBytes(j),B)}static fromHex(A,I){return this.fromBytes(r7(A),I)}addRecoveryBit(A){return new v(this.r,this.s,A)}recoverPublicKey(A){const I=s.ORDER,{r:B,s:D,recovery:O}=this;if(O==null||![0,1,2,3].includes(O))throw new Error("recovery id invalid");if(o*B2e<I&&O>1)throw new Error("recovery id is ambiguous for h>1 curve");const F=O===2||O===3?B+o:B;if(!s.isValid(F))throw new Error("recovery id 2 or 3 invalid");const W=s.toBytes(F),Z=t.fromBytes(v0(L2e((O&1)===0),W)),V=a.inv(F),q=C(Ao("msgHash",A)),ee=a.create(-q*V),te=a.create(D*V),Q=t.BASE.multiplyUnsafe(ee).add(Z.multiplyUnsafe(te));if(Q.is0())throw new Error("point at infinify");return Q.assertValidity(),Q}hasHighS(){return y(this.s)}toBytes(A=m){if(oD(A),A==="der")return r7(Ip.hexFromSig(this));const I=a.toBytes(this.r),B=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),I,B)}return v0(I,B)}toHex(A){return ew(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 ew(this.toBytes("der"))}toCompactRawBytes(){return this.toBytes("compact")}toCompactHex(){return ew(this.toBytes("compact"))}}const E=n.bits2int||function(A){if(A.length>8192)throw new Error("input is too large");const I=i$(A),B=A.length*8-c;return B>0?I>>BigInt(B):I},C=n.bits2int_modN||function(A){return a.create(E(A))},w=r8(c);function S($){return jmt("num < 2^"+c,$,Fp,w),a.toBytes($)}function k($,A){return Cg($,void 0,"message"),A?Cg(e($),void 0,"prehashed message"):$}function P($,A,I){if(["recovered","canonical"].some(ee=>ee in I))throw new Error("sign() legacy options not supported");const{lowS:B,prehash:D,extraEntropy:O}=hP(I,g);$=k($,D);const j=C($),F=I2(a,A),W=[S(F),S(j)];if(O!=null&&O!==!1){const ee=O===!0?r(p.secretKey):O;W.push(Ao("extraEntropy",ee))}const Z=v0(...W),V=j;function q(ee){const te=E(ee);if(!a.isValidNot0(te))return;const Q=a.inv(te),ne=t.BASE.multiply(te).toAffine(),pe=a.create(ne.x);if(pe===Fp)return;const Se=a.create(Q*a.create(V+pe*F));if(Se===Fp)return;let Re=(ne.x===pe?0:2)|Number(ne.y&tw),oe=Se;return B&&y(Se)&&(oe=a.neg(Se),Re^=1),new v(pe,oe,Re)}return{seed:Z,k2sig:q}}function T($,A,I={}){$=Ao("message",$);const{seed:B,k2sig:D}=P($,A,I);return Dmt(e.outputLen,a.BYTES,i)(B,D)}function R($){let A;const I=typeof $=="string"||n$($),B=!I&&$!==null&&typeof $=="object"&&typeof $.r=="bigint"&&typeof $.s=="bigint";if(!I&&!B)throw new Error("invalid signature, expected Uint8Array, hex string or Signature instance");if(B)A=new v($.r,$.s);else if(I){try{A=v.fromBytes(Ao("sig",$),"der")}catch(D){if(!(D instanceof Ip.Err))throw D}if(!A)try{A=v.fromBytes(Ao("sig",$),"compact")}catch{return!1}}return A||!1}function M($,A,I,B={}){const{lowS:D,prehash:O,format:j}=hP(B,g);if(I=Ao("publicKey",I),A=k(Ao("message",A),O),"strict"in B)throw new Error("options.strict was renamed to lowS");const F=j===void 0?R($):v.fromBytes(Ao("sig",$),j);if(F===!1)return!1;try{const W=t.fromBytes(I);if(D&&F.hasHighS())return!1;const{r:Z,s:V}=F,q=C(A),ee=a.inv(V),te=a.create(q*ee),Q=a.create(Z*ee),ne=t.BASE.multiplyUnsafe(te).add(W.multiplyUnsafe(Q));return ne.is0()?!1:a.create(ne.x)===Z}catch{return!1}}function N($,A,I={}){const{prehash:B}=hP(I,g);return A=k(A,B),v.fromBytes($,"recovered").recoverPublicKey(A).toBytes()}return Object.freeze({keygen:l,getPublicKey:d,getSharedSecret:u,utils:h,lengths:p,Point:t,sign:T,verify:M,recoverPublicKey:N,Signature:v,hash:e})}function syt(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=i8(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 ayt(t){const{CURVE:e,curveOpts:n}=syt(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 oyt(t,e){const n=e.Point;return Object.assign({},e,{ProjectivePoint:n,CURVE:Object.assign({},t,N2e(n.Fn.ORDER,n.Fn.BITS))})}function cyt(t){const{CURVE:e,curveOpts:n,hash:r,ecdsaOpts:i}=ayt(t),s=nyt(e,n),a=iyt(s,r,i);return oyt(t,a)}function lyt(t,e){const n=r=>cyt({...t,hash:r});return{...n(e),create:n}}const OW={p:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),n:BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),h:BigInt(1),a:BigInt(0),b:BigInt(7),Gx:BigInt("0x79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"),Gy:BigInt("0x483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8")},dyt={beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),basises:[[BigInt("0x3086d221a7d46bcde86c90e49284eb15"),-BigInt("0xe4437ed6010e88286f547fa90abfe4c3")],[BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),BigInt("0x3086d221a7d46bcde86c90e49284eb15")]]},TQ=BigInt(2);function uyt(t){const e=OW.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,TQ,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,TQ,e);if(!cD.eql(cD.sqr(w),t))throw new Error("Cannot find square root");return w}const cD=i8(OW.p,{sqrt:uyt}),hyt=lyt({...OW,Fp:cD,lowS:!0,endo:dyt},Rmt),pyt=Object.freeze(Object.defineProperty({__proto__:null,secp256k1:hyt},Symbol.toStringTag,{value:"Module"})),fyt=":";function Yp(t){const[e,n]=t.split(fyt);return{namespace:e,reference:n}}function F2e(t,e){return t.includes(":")?[t]:e.chains||[]}var gyt=Object.defineProperty,myt=Object.defineProperties,yyt=Object.getOwnPropertyDescriptors,PQ=Object.getOwnPropertySymbols,wyt=Object.prototype.hasOwnProperty,byt=Object.prototype.propertyIsEnumerable,lD=(t,e,n)=>e in t?gyt(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,OQ=(t,e)=>{for(var n in e||(e={}))wyt.call(e,n)&&lD(t,n,e[n]);if(PQ)for(var n of PQ(e))byt.call(e,n)&&lD(t,n,e[n]);return t},vyt=(t,e)=>myt(t,yyt(e)),NQ=(t,e,n)=>lD(t,typeof e!="symbol"?e+"":e,n);const xyt="ReactNative",vc={reactNative:"react-native",node:"node",browser:"browser",unknown:"unknown"},Eyt="js";function a7(){return typeof process<"u"&&typeof process.versions<"u"&&typeof process.versions.node<"u"}function v1(){return!Ns.getDocument()&&!!Ns.getNavigator()&&navigator.product===xyt}function Cyt(){return v1()&&typeof globalThis<"u"&&typeof globalThis?.Platform<"u"&&globalThis?.Platform.OS==="android"}function Ayt(){return v1()&&typeof globalThis<"u"&&typeof globalThis?.Platform<"u"&&globalThis?.Platform.OS==="ios"}function av(){return!a7()&&!!Ns.getNavigator()&&!!Ns.getDocument()}function s8(){return v1()?vc.reactNative:a7()?vc.node:av()?vc.browser:vc.unknown}function RQ(){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 Syt(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 _yt(t){var e,n;const r=W2e();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!=="")),vyt(OQ(OQ({},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 W2e(){return cfe.getWindowMetadata()||{name:"",description:"",url:"",icons:[""]}}function $yt(){if(s8()===vc.reactNative&&typeof globalThis<"u"&&typeof globalThis?.Platform<"u"){const{OS:n,Version:r}=globalThis.Platform;return[n,r].join("-")}const t=ife();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 kyt(){var t;const e=s8();return e===vc.browser?[e,((t=Ns.getLocation())==null?void 0:t.host)||"unknown"].join(":"):e}function z2e(t,e,n){const r=$yt(),i=kyt();return[[t,e].join("-"),[Eyt,n].join("-"),r,i].join("/")}function Iyt({protocol:t,version:e,relayUrl:n,sdkVersion:r,auth:i,projectId:s,useOnCloseEvent:a,bundleId:o,packageName:c}){const l=n.split("?"),d=z2e(t,e,r),u={auth:i,ua:d,projectId:s,useOnCloseEvent:a,packageName:c||void 0,bundleId:o||void 0},h=Syt(l[1]||"",u);return l[0]+"?"+h}function _g(t,e){return t.filter(n=>e.includes(n)).length===t.length}function dD(t){return Object.fromEntries(t.entries())}function uD(t){return new Map(Object.entries(t))}function X1(t=Ae.FIVE_MINUTES,e){const n=Ae.toMiliseconds(t||Ae.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 H2e(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 Tyt(t){return H2e("topic",t)}function Pyt(t){return H2e("id",t)}function V2e(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 Ae.fromMiliseconds(Date.now()+Ae.toMiliseconds(t))}function au(t){return Date.now()>=Ae.toMiliseconds(t)}function Qn(t,e){return`${t}${e?`:${e}`:""}`}function Su(t=[],e=[]){return[...new Set([...t,...e])]}async function Oyt({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=Nyt(s,t,e),o=s8();if(o===vc.browser){if(!((r=Ns.getDocument())!=null&&r.hasFocus())){console.warn("Document does not have focus, skipping deeplink.");return}Ryt(a)}else o===vc.reactNative&&typeof globalThis?.Linking<"u"&&await globalThis.Linking.openURL(a)}catch(i){console.error(i)}}function Nyt(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}${Byt(r,!0)}`}else i=`${i}/wc?${r}`;return i}function Ryt(t){let e="_self";Dyt()?e="_top":(jyt()||t.startsWith("https://")||t.startsWith("http://"))&&(e="_blank"),window.open(t,e,"noreferrer noopener")}async function Myt(t,e){let n="";try{if(av()&&(n=localStorage.getItem(e),n))return n;n=await t.getItem(e)}catch(r){console.error(r)}return n}function MQ(t,e){if(!t.includes(e))return null;const n=t.split(/([&,?,=])/),r=n.indexOf(e);return n[r+2]}function jQ(){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 NW(){return typeof process<"u"&&process.env.IS_VITEST==="true"}function jyt(){return typeof window<"u"&&(!!window.TelegramWebviewProxy||!!window.Telegram||!!window.TelegramWebviewProxyProto)}function Dyt(){try{return window.self!==window.top}catch{return!1}}function Byt(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 Lyt(t){return new Promise(e=>setTimeout(e,t))}let Uyt=class{constructor({limit:e}){NQ(this,"limit"),NQ(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 RE=BigInt(2**32-1),DQ=BigInt(32);function Z2e(t,e=!1){return e?{h:Number(t&RE),l:Number(t>>DQ&RE)}:{h:Number(t>>DQ&RE)|0,l:Number(t&RE)|0}}function K2e(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}=Z2e(t[s],e);[r[s],i[s]]=[a,o]}return[r,i]}const BQ=(t,e,n)=>t>>>n,LQ=(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,Y6=(t,e,n)=>t<<64-n|e>>>n-32,J6=(t,e,n)=>t>>>n-32|e<<64-n,Fyt=(t,e)=>e,Wyt=(t,e)=>t,zyt=(t,e,n)=>t<<n|e>>>32-n,Hyt=(t,e,n)=>e<<n|t>>>32-n,Vyt=(t,e,n)=>e<<n-32|t>>>64-n,qyt=(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 RW=(t,e,n)=>(t>>>0)+(e>>>0)+(n>>>0),MW=(t,e,n,r)=>e+n+r+(t/2**32|0)|0,Zyt=(t,e,n,r)=>(t>>>0)+(e>>>0)+(n>>>0)+(r>>>0),Kyt=(t,e,n,r,i)=>e+n+r+i+(t/2**32|0)|0,Gyt=(t,e,n,r,i)=>(t>>>0)+(e>>>0)+(n>>>0)+(r>>>0)+(i>>>0),Yyt=(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 s$(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(!s$(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 a$(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 jW(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 j4(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 pP(t){return new DataView(t.buffer,t.byteOffset,t.byteLength)}function Zd(t,e){return t<<32-e|t>>>e}const G2e=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function Y2e(t){return t<<24&4278190080|t<<8&16711680|t>>>8&65280|t>>>24&255}const mp=G2e?t=>t:t=>Y2e(t);function Jyt(t){for(let e=0;e<t.length;e++)t[e]=Y2e(t[e]);return t}const u0=G2e?t=>t:Jyt,J2e=typeof Uint8Array.from([]).toHex=="function"&&typeof Uint8Array.fromHex=="function",Xyt=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function nw(t){if(Sd(t),J2e)return t.toHex();let e="";for(let n=0;n<t.length;n++)e+=Xyt[t[n]];return e}const op={_0:48,_9:57,A:65,F:70,a:97,f:102};function UQ(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 o7(t){if(typeof t!="string")throw new Error("hex string expected, got "+typeof t);if(J2e)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=UQ(t.charCodeAt(s)),o=UQ(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 X2e(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=X2e(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 o${}function a8(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 Qyt(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 e2t=BigInt(0),f6=BigInt(1),t2t=BigInt(2),n2t=BigInt(7),r2t=BigInt(256),i2t=BigInt(113),Q2e=[],ewe=[],twe=[];for(let t=0,e=f6,n=1,r=0;t<24;t++){[n,r]=[r,(2*n+3*r)%5],Q2e.push(2*(5*r+n)),ewe.push((t+1)*(t+2)/2%64);let i=e2t;for(let s=0;s<7;s++)e=(e<<f6^(e>>n2t)*i2t)%r2t,e&t2t&&(i^=f6<<(f6<<BigInt(s))-f6);twe.push(i)}const nwe=K2e(twe,!0),s2t=nwe[0],a2t=nwe[1],FQ=(t,e,n)=>n>32?Vyt(t,e,n):zyt(t,e,n),WQ=(t,e,n)=>n>32?qyt(t,e,n):Hyt(t,e,n);function o2t(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=FQ(l,d,1)^n[o],h=WQ(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=ewe[a],c=FQ(i,s,o),l=WQ(i,s,o),d=Q2e[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]^=s2t[r],t[1]^=a2t[r]}yl(n)}let c2t=class rwe extends o${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=j4(this.state)}clone(){return this._cloneInto()}keccak(){u0(this.state32),o2t(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(jW(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 rwe(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 l2t=(t,e,n)=>a8(()=>new c2t(e,t,n)),d2t=l2t(1,136,256/8);function u2t(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 h2t(t,e,n){return t&e^~t&n}function p2t(t,e,n){return t&e^t&n^e&n}let iwe=class extends o${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=pP(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=pP(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),jW(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;u2t(r,i-8,BigInt(this.length*8),s),this.process(r,0);const o=pP(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]),f2t=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 g2t extends iwe{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+h2t(o,c,l)+f2t[u]+zf[u]|0,g=(Zd(r,2)^Zd(r,13)^Zd(r,22))+p2t(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 swe=K2e(["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))),m2t=swe[0],y2t=swe[1],Hf=new Uint32Array(80),Vf=new Uint32Array(80);let DW=class extends iwe{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)^BQ(E,C,7),S=d0(E,C,1)^d0(E,C,8)^LQ(E,C,7),k=Hf[v-2]|0,P=Vf[v-2]|0,T=l0(k,P,19)^Y6(k,P,61)^BQ(k,P,6),R=d0(k,P,19)^J6(k,P,61)^LQ(k,P,6),M=Zyt(S,R,Vf[v-7],Vf[v-16]),N=Kyt(M,w,T,Hf[v-7],Hf[v-16]);Hf[v]=N|0,Vf[v]=M|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)^Y6(u,h,41),C=d0(u,h,14)^d0(u,h,18)^J6(u,h,41),w=u&p^~u&m,S=h&g^~h&y,k=Gyt(x,C,S,y2t[v],Vf[v]),P=Yyt(k,b,E,w,m2t[v],Hf[v]),T=k|0,R=l0(r,i,28)^Y6(r,i,34)^Y6(r,i,39),M=d0(r,i,28)^J6(r,i,34)^J6(r,i,39),N=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=RW(T,M,$);r=MW(A,P,R,N),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 w2t extends DW{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 b2t extends DW{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 c$=a8(()=>new g2t),v2t=a8(()=>new DW),x2t=a8(()=>new w2t),E2t=a8(()=>new b2t),C2t=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]),mt=new Uint32Array(32);function qf(t,e,n,r,i,s){const a=i[s],o=i[s+1];let c=mt[2*t],l=mt[2*t+1],d=mt[2*e],u=mt[2*e+1],h=mt[2*n],p=mt[2*n+1],g=mt[2*r],m=mt[2*r+1],y=RW(c,d,a);l=MW(y,l,u,o),c=y|0,{Dh:m,Dl:g}={Dh:m^l,Dl:g^c},{Dh:m,Dl:g}={Dh:Fyt(m,g),Dl:Wyt(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)},mt[2*t]=c,mt[2*t+1]=l,mt[2*e]=d,mt[2*e+1]=u,mt[2*n]=h,mt[2*n+1]=p,mt[2*r]=g,mt[2*r+1]=m}function Zf(t,e,n,r,i,s){const a=i[s],o=i[s+1];let c=mt[2*t],l=mt[2*t+1],d=mt[2*e],u=mt[2*e+1],h=mt[2*n],p=mt[2*n+1],g=mt[2*r],m=mt[2*r+1],y=RW(c,d,a);l=MW(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:Y6(u,d,63),Bl:J6(u,d,63)},mt[2*t]=c,mt[2*t+1]=l,mt[2*e]=d,mt[2*e+1]=u,mt[2*n]=h,mt[2*n+1]=p,mt[2*r]=g,mt[2*r+1]=m}function A2t(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 S2t extends o${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=j4(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),jW(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=j4(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 _2t extends S2t{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,A2t(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=j4(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=j4(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)=>mt[l]=c),mt.set(Xi,16);let{h:i,l:s}=Z2e(BigInt(this.length));mt[24]=Xi[8]^s,mt[25]=Xi[9]^i,r&&(mt[28]=~mt[28],mt[29]=~mt[29]);let a=0;const o=C2t;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^=mt[0]^mt[16],this.v0h^=mt[1]^mt[17],this.v1l^=mt[2]^mt[18],this.v1h^=mt[3]^mt[19],this.v2l^=mt[4]^mt[20],this.v2h^=mt[5]^mt[21],this.v3l^=mt[6]^mt[22],this.v3h^=mt[7]^mt[23],this.v4l^=mt[8]^mt[24],this.v4h^=mt[9]^mt[25],this.v5l^=mt[10]^mt[26],this.v5h^=mt[11]^mt[27],this.v6l^=mt[12]^mt[28],this.v6h^=mt[13]^mt[29],this.v7l^=mt[14]^mt[30],this.v7h^=mt[15]^mt[31],yl(mt)}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 $2t=Qyt(t=>new _2t(t)),k2t="https://rpc.walletconnect.org/v1";function awe(t){const e=`Ethereum Signed Message: