@stakekit/widget 0.0.275 → 0.0.276
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/bundle/Codec-DJMwdgB9.js +1 -0
- package/dist/bundle/{MaybeAsync-Ckzmgrqr.js → MaybeAsync-DQF5lNPa.js} +1 -1
- package/dist/bundle/{build-BMMgmQqw.js → build-CcaOMxqz.js} +1 -1
- package/dist/bundle/{build-BNPMa-vT.js → build-Dzd_3NK0.js} +1 -1
- package/dist/bundle/{cardano-connector-DKXfujiC.js → cardano-connector-Vvgvc_SR.js} +2 -2
- package/dist/bundle/cosmos-connector-meta-Ck8JH12i.js +1 -0
- package/dist/bundle/{createConnector-BrxGIkT7.js → createConnector-pbKKdb_k.js} +2 -2
- package/dist/bundle/{images-BMN9-6Cl.js → images-qNtx67Rl.js} +1 -1
- package/dist/bundle/index.bundle.css +1 -1
- package/dist/bundle/index.bundle.js +52 -52
- package/dist/bundle/{ledger-connector-DmvRDcyN.js → ledger-connector-C4GRsXg2.js} +2 -2
- package/dist/bundle/{ledger-live-connector-meta-DDQWxYWw.js → ledger-live-connector-meta-DbuxO2yY.js} +1 -1
- package/dist/bundle/{misc-BLlpZ6ih.js → misc-BtIN6y6p.js} +1 -1
- package/dist/bundle/safe-connector-Bwgtw9lc.js +1 -0
- package/dist/bundle/solana-connector-CaIkxhTb.js +1 -0
- package/dist/bundle/{substrate-connector-BKHfZY_J.js → substrate-connector-BDRBscm1.js} +1 -1
- package/dist/bundle/{ton-connector-BRAeK9Od.js → ton-connector-CnNKzHtr.js} +2 -2
- package/dist/bundle/{transaction-ixhTmhET.js → transaction-DB7k-q8u.js} +1 -1
- package/dist/bundle/{tron-connector-Cr2j2DtV.js → tron-connector-C5KUqegL.js} +2 -2
- package/dist/bundle/tx-DygTArs0.js +1 -0
- package/dist/bundle/{wallet-manager-B2J-l9Hd.js → wallet-manager-C9fisl4Y.js} +2 -2
- package/dist/package/{Codec-Byh8iois.js → Codec-Bae2iyFH.js} +1 -1
- package/dist/package/{MaybeAsync-BZLAl2bE.js → MaybeAsync-DXWsPM9n.js} +1 -1
- package/dist/package/{build-jVm_Imk7.js → build-CYy6v80s.js} +1 -1
- package/dist/package/{build-BxgetfN5.js → build-GgZW6uL5.js} +2 -2
- package/dist/package/{cardano-connector-DPlMH8wa.js → cardano-connector-CchOT0g5.js} +3 -3
- package/dist/package/{cosmos-connector-meta-MR5we2DB.js → cosmos-connector-meta-Dtfahon-.js} +2 -2
- package/dist/package/{createConnector-c-2Ie22W.js → createConnector-D-p8-Ebj.js} +1 -10
- package/dist/package/{images-0ZMBvxwm.js → images-B0-tGuTw.js} +1 -1
- package/dist/package/index.package.css +70 -60
- package/dist/package/index.package.js +2084 -2174
- package/dist/package/{ledger-connector-Cf6yV8eL.js → ledger-connector-BhbNzz5z.js} +5 -5
- package/dist/package/{ledger-live-connector-meta-CIDYYFrg.js → ledger-live-connector-meta-C4-iTYoS.js} +3 -3
- package/dist/package/{misc-Erb32S3W.js → misc-DFHb1ynZ.js} +1 -1
- package/dist/package/{safe-connector-B8DuxkSp.js → safe-connector-CAgz56zm.js} +2 -2
- package/dist/package/{solana-connector-BgSU_Au0.js → solana-connector-C4-3zQ0W.js} +2 -2
- package/dist/package/{substrate-connector-CfrmkJYW.js → substrate-connector-WYvMgtq6.js} +2 -2
- package/dist/package/{ton-connector-tEtLRW28.js → ton-connector-DGVU07fk.js} +4 -4
- package/dist/package/{transaction-BaxD0vuC.js → transaction-BhfOz9qC.js} +2 -2
- package/dist/package/{tron-connector-DGBu9r65.js → tron-connector-Bx8ow-to.js} +4 -4
- package/dist/package/tx-DQaheDj7.js +3 -0
- package/dist/package/{wallet-manager-D5jYaNnr.js → wallet-manager-Bf0VaUFt.js} +10 -10
- package/dist/types/components/atoms/token-icon/network-icon-image/index.d.ts +2 -1
- package/dist/types/components/molecules/estimated-reward-amounts/index.d.ts +6 -0
- package/dist/types/domain/types/yields.d.ts +1 -2
- package/dist/types/hooks/api/use-dashboard-yield-catalog.d.ts +1 -2
- package/dist/types/hooks/api/use-multi-yields.d.ts +4 -2
- package/dist/types/hooks/api/use-yield-summaries.d.ts +0 -5
- package/dist/types/pages/complete/hooks/use-complete.hook.d.ts +2 -0
- package/dist/types/pages/complete/state/index.d.ts +2 -0
- package/dist/types/pages/components/page-cta.d.ts +11 -0
- package/dist/types/pages/details/earn-page/components/select-yield-section/styles.css.d.ts +1 -0
- package/dist/types/pages/details/earn-page/state/types.d.ts +7 -6
- package/dist/types/pages/details/earn-page/state/use-get-init-yield.d.ts +3 -1
- package/dist/types/pages/details/earn-page/state/use-init-yield.d.ts +3 -1
- package/dist/types/pages/review/hooks/use-action-review.hook.d.ts +2 -0
- package/dist/types/pages/review/hooks/use-pending-review.hook.d.ts +2 -0
- package/dist/types/pages/review/hooks/use-stake-review.hook.d.ts +6 -0
- package/dist/types/pages/review/hooks/use-unstake-review.hook.d.ts +2 -0
- package/dist/types/pages/review/pages/common-page/common.page.d.ts +7 -1
- package/dist/types/pages/review/pages/common-page/components/review-top-section.d.ts +5 -1
- package/dist/types/pages/steps/hooks/use-steps.hook.d.ts +2 -0
- package/dist/types/pages-dashboard/overview/earn-details/earn-details-formatters.d.ts +2 -0
- package/dist/types/pages-dashboard/position-details/components/position-details-stake-actions.d.ts +0 -4
- package/dist/types/translation/resources.d.ts +4 -0
- package/dist/types/utils/formatters.d.ts +1 -0
- package/dist/types/utils/index.d.ts +0 -1
- package/dist/website/assets/Codec-C8kGgbSv.js +1 -0
- package/dist/website/assets/{basic-AvmmQyRT.js → basic-CpcEs1GD.js} +1 -1
- package/dist/website/assets/{basic-B4L21H7R.js → basic-DU5w7kdv.js} +1 -1
- package/dist/website/assets/{browser-CD2gtnKg.js → browser-DvOBRbll.js} +1 -1
- package/dist/website/assets/{build-CEL1SZmV.js → build-Cr-Kp_EZ.js} +1 -1
- package/dist/website/assets/{build-DWB27dsZ.js → build-rt6xIlo_.js} +1 -1
- package/dist/website/assets/{cardano-connector-BNJvqm1_.js → cardano-connector-Cmbkas8k.js} +2 -2
- package/dist/website/assets/{core-NRhVeH3P.js → core-BCBOJeDN.js} +2 -2
- package/dist/website/assets/{createConnector-BcHSC56W.js → createConnector-mvBxgXDZ.js} +2 -2
- package/dist/website/assets/{dist-DRLRXyTA.js → dist-D00tXgFF.js} +1 -1
- package/dist/website/assets/{dist-CH4nKZqs.js → dist-cxjMJHcC.js} +1 -1
- package/dist/website/assets/en_US-IFPOGBSL-CZkuvGib.js +1 -0
- package/dist/website/assets/{esm-CX7v7VH6.js → esm-DwAVGOvO.js} +1 -1
- package/dist/website/assets/{exports-CZja-uIB.js → exports-Bd3_9cI2.js} +1 -1
- package/dist/website/assets/index-B7bJTB96.js +2044 -0
- package/dist/website/assets/{index-BmH6Rgkr.css → index-Cm1198kl.css} +1 -1
- package/dist/website/assets/{index.es-C4PtkNtC.js → index.es-pxgKNF2Q.js} +2 -2
- package/dist/website/assets/{ledger-connector-CQI9gS0Q.js → ledger-connector-Dl0ewoRv.js} +2 -2
- package/dist/website/assets/{receive-D87X5CO9.js → receive-Cb9X0-X3.js} +1 -1
- package/dist/website/assets/{registry-DFrHgvrU.js → registry-qGhX95wF.js} +1 -1
- package/dist/website/assets/safe-connector-fpbcUPyE.js +1 -0
- package/dist/website/assets/{socials-DlOk7Wls.js → socials-IzpjXHEF.js} +1 -1
- package/dist/website/assets/solana-connector-DMwmOYcE.js +1 -0
- package/dist/website/assets/{substrate-connector-DfJfljNz.js → substrate-connector-BjmH8Kfk.js} +1 -1
- package/dist/website/assets/{ton-connector-DA1-w57X.js → ton-connector-CDdILKhA.js} +2 -2
- package/dist/website/assets/{tron-connector-BTe1GdWY.js → tron-connector-CwTP3MOd.js} +3 -3
- package/dist/website/assets/tx-B1U8yUTO.js +1 -0
- package/dist/website/assets/{wallet-manager-pYzGZQVw.js → wallet-manager-cSwSAC9E.js} +4 -4
- package/dist/website/assets/{wui-qr-code-BgRoILGj.js → wui-qr-code-CulBm8yY.js} +1 -1
- package/dist/website/index.html +4 -4
- package/package.json +1 -1
- package/dist/bundle/Codec-FOvoaP2K.js +0 -1
- package/dist/bundle/cosmos-connector-meta-DO5i3lCd.js +0 -1
- package/dist/bundle/safe-connector-BgDwaGsX.js +0 -1
- package/dist/bundle/solana-connector-h5iUra8H.js +0 -1
- package/dist/bundle/tx-C-_PyHR9.js +0 -1
- package/dist/package/tx-DpCUKNN4.js +0 -3
- package/dist/types/hooks/api/use-token-list-yields.d.ts +0 -16
- package/dist/types/pages/components/footer-outlet/context.d.ts +0 -20
- package/dist/types/pages/components/footer-outlet/index.d.ts +0 -1
- package/dist/types/pages/components/footer-outlet/styles.css.d.ts +0 -1
- package/dist/types/pages-dashboard/common/components/footer-outlet/index.d.ts +0 -1
- package/dist/website/assets/Codec-D4K5RIsS.js +0 -1
- package/dist/website/assets/en_US-IFPOGBSL-DcKUUZBp.js +0 -1
- package/dist/website/assets/index-BEIkkHR9.js +0 -2044
- package/dist/website/assets/safe-connector-D5A7hhAW.js +0 -1
- package/dist/website/assets/solana-connector-C1qGbaG8.js +0 -1
- package/dist/website/assets/tx-zX2fdmDi.js +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{r as e,s as t,t as n}from"./chunk-DskFaGUe.js";import{n as r,t as i}from"./dist-AaDowojq.js";import{H as a,K as o,b as s,n as c,t as l,x as u}from"./createConnector-BrxGIkT7.js";import{n as d}from"./MaybeAsync-Ckzmgrqr.js";import{n as f,t as p}from"./dist-CnrnoiXF.js";import{t as m}from"./images-BMN9-6Cl.js";import{i as h,n as g,t as _}from"./dist-CI5CUy_C.js";import{c as v}from"./toBytes-mEwmeAtc.js";import{t as y}from"./eventemitter3-GIHOcGPd.js";import{r as b}from"./networks-2E-BIrmm.js";import{s as x}from"./misc-BLlpZ6ih.js";import{n as S}from"./index.es-CYq9dm6R.js";import{a as ee,i as te,n as C,o as ne,r as re,t as ie}from"./Transport-CTcyfV4u.js";import{i as ae,t as oe}from"./index.es-CSMV5GvF.js";import{c as w,l as se}from"./exports-C0etCzta.js";import{t as ce}from"./tron-connector-meta-MHdOXNYh.js";import{a as le,c as ue,i as de,l as fe,n as pe,o as me,s as he,t as ge}from"./sha256-lf5E06X0.js";import{n as _e,t as ve}from"./bignumber-D-4SK89W.js";import{C as ye,F as T,G as E,J as be,N as xe,P as D,S as Se,V as Ce,Y as O,_ as we,a as Te,b as Ee,d as De,g as Oe,h as ke,i as k,j as A,k as Ae,l as je,m as Me,p as Ne,r as Pe,s as Fe,t as Ie,u as Le,v as j,x as Re}from"./AccountController-CJRXhfjS.js";import{t as ze}from"./OnRampController-CnB7EPUh.js";import{t as M}from"./EnsController-8Uw5Wcvf.js";import{i as Be,n as Ve,r as He,t as Ue}from"./SIWXUtil-CFhuFUCz.js";import{t as We}from"./ConstantsUtil-1l491RAf.js";import{a as N,i as Ge,n as Ke,r as qe,t as Je}from"./ConnectorUtil-CHxyaiYG.js";import{t as Ye}from"./ErrorUtil-CydnDAXf.js";import{t as Xe}from"./ProviderUtil-Bi6TMBp3.js";import{t as Ze}from"./W3mFrameProvider-Bxph4SwX.js";import{t as Qe}from"./W3mFrameHelpers-BKFDp3vN.js";import"./ConstantsUtil-D8lf0Ne3.js";var $e={createLogger(e,t=`error`){let{logger:n}=oe({opts:ae({level:t})});return n.error=(...t)=>{for(let n of t)if(n instanceof Error){e(n,...t);return}e(void 0,...t)},n}},et=class extends pe{constructor(e,t){super(),this.finished=!1,this.destroyed=!1,fe(e);let n=me(t);if(this.iHash=e.create(),typeof this.iHash.update!=`function`)throw Error(`Expected instance of class which extends utils.Hash`);this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;let r=this.blockLen,i=new Uint8Array(r);i.set(n.length>r?e.create().update(n).digest():n);for(let e=0;e<i.length;e++)i[e]^=54;this.iHash.update(i),this.oHash=e.create();for(let e=0;e<i.length;e++)i[e]^=106;this.oHash.update(i),i.fill(0)}update(e){return ue(this),this.iHash.update(e),this}digestInto(e){ue(this),he(e,this.outputLen),this.finished=!0,this.iHash.digestInto(e),this.oHash.update(e),this.oHash.digestInto(e),this.destroy()}digest(){let e=new Uint8Array(this.oHash.outputLen);return this.digestInto(e),e}_cloneInto(e){e||=Object.create(Object.getPrototypeOf(this),{});let{oHash:t,iHash:n,finished:r,destroyed:i,blockLen:a,outputLen:o}=this;return e=e,e.finished=r,e.destroyed=i,e.blockLen=a,e.outputLen=o,e.oHash=t._cloneInto(e.oHash),e.iHash=n._cloneInto(e.iHash),e}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}},tt=(e,t,n)=>new et(e,t).update(n).digest();tt.create=(e,t)=>new et(e,t);var nt=e({abytes:()=>st,bitGet:()=>bt,bitLen:()=>yt,bitMask:()=>St,bitSet:()=>xt,bytesToHex:()=>lt,bytesToNumberBE:()=>pt,bytesToNumberLE:()=>mt,concatBytes:()=>_t,createHmacDrbg:()=>Tt,ensureBytes:()=>gt,equalBytes:()=>vt,hexToBytes:()=>F,hexToNumber:()=>dt,isBytes:()=>ot,numberToBytesBE:()=>ht,numberToBytesLE:()=>I,numberToHexUnpadded:()=>ut,numberToVarBytesBE:()=>L,utf8ToBytes:()=>R,validateObject:()=>Dt}),rt=BigInt(0),it=BigInt(1),at=BigInt(2);function ot(e){return e instanceof Uint8Array||typeof e==`object`&&!!e&&e.constructor.name===`Uint8Array`}function st(e){if(!ot(e))throw Error(`Uint8Array expected`)}var ct=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,`0`));function lt(e){st(e);let t=``;for(let n=0;n<e.length;n++)t+=ct[e[n]];return t}function ut(e){let t=e.toString(16);return t.length&1?`0${t}`:t}function dt(e){if(typeof e!=`string`)throw Error(`hex string expected, got `+typeof e);return BigInt(e===``?`0`:`0x${e}`)}var ft={_0:48,_9:57,_A:65,_F:70,_a:97,_f:102};function P(e){if(e>=ft._0&&e<=ft._9)return e-ft._0;if(e>=ft._A&&e<=ft._F)return e-(ft._A-10);if(e>=ft._a&&e<=ft._f)return e-(ft._a-10)}function F(e){if(typeof e!=`string`)throw Error(`hex string expected, got `+typeof e);let t=e.length,n=t/2;if(t%2)throw Error(`padded hex string expected, got unpadded hex of length `+t);let r=new Uint8Array(n);for(let t=0,i=0;t<n;t++,i+=2){let n=P(e.charCodeAt(i)),a=P(e.charCodeAt(i+1));if(n===void 0||a===void 0){let t=e[i]+e[i+1];throw Error(`hex string expected, got non-hex character "`+t+`" at index `+i)}r[t]=n*16+a}return r}function pt(e){return dt(lt(e))}function mt(e){return st(e),dt(lt(Uint8Array.from(e).reverse()))}function ht(e,t){return F(e.toString(16).padStart(t*2,`0`))}function I(e,t){return ht(e,t).reverse()}function L(e){return F(ut(e))}function gt(e,t,n){let r;if(typeof t==`string`)try{r=F(t)}catch(n){throw Error(`${e} must be valid hex string, got "${t}". Cause: ${n}`)}else if(ot(t))r=Uint8Array.from(t);else throw Error(`${e} must be hex string or Uint8Array`);let i=r.length;if(typeof n==`number`&&i!==n)throw Error(`${e} expected ${n} bytes, got ${i}`);return r}function _t(...e){let t=0;for(let n=0;n<e.length;n++){let r=e[n];st(r),t+=r.length}let n=new Uint8Array(t);for(let t=0,r=0;t<e.length;t++){let i=e[t];n.set(i,r),r+=i.length}return n}function vt(e,t){if(e.length!==t.length)return!1;let n=0;for(let r=0;r<e.length;r++)n|=e[r]^t[r];return n===0}function R(e){if(typeof e!=`string`)throw Error(`utf8ToBytes expected string, got ${typeof e}`);return new Uint8Array(new TextEncoder().encode(e))}function yt(e){let t;for(t=0;e>rt;e>>=it,t+=1);return t}function bt(e,t){return e>>BigInt(t)&it}function xt(e,t,n){return e|(n?it:rt)<<BigInt(t)}var St=e=>(at<<BigInt(e-1))-it,Ct=e=>new Uint8Array(e),wt=e=>Uint8Array.from(e);function Tt(e,t,n){if(typeof e!=`number`||e<2)throw Error(`hashLen must be a number`);if(typeof t!=`number`||t<2)throw Error(`qByteLen must be a number`);if(typeof n!=`function`)throw Error(`hmacFn must be a function`);let r=Ct(e),i=Ct(e),a=0,o=()=>{r.fill(1),i.fill(0),a=0},s=(...e)=>n(i,r,...e),c=(e=Ct())=>{i=s(wt([0]),e),r=s(),e.length!==0&&(i=s(wt([1]),e),r=s())},l=()=>{if(a++>=1e3)throw Error(`drbg: tried 1000 values`);let e=0,n=[];for(;e<t;){r=s();let t=r.slice();n.push(t),e+=r.length}return _t(...n)};return(e,t)=>{o(),c(e);let n;for(;!(n=t(l()));)c();return o(),n}}var Et={bigint:e=>typeof e==`bigint`,function:e=>typeof e==`function`,boolean:e=>typeof e==`boolean`,string:e=>typeof e==`string`,stringOrUint8Array:e=>typeof e==`string`||ot(e),isSafeInteger:e=>Number.isSafeInteger(e),array:e=>Array.isArray(e),field:(e,t)=>t.Fp.isValid(e),hash:e=>typeof e==`function`&&Number.isSafeInteger(e.outputLen)};function Dt(e,t,n={}){let r=(t,n,r)=>{let i=Et[n];if(typeof i!=`function`)throw Error(`Invalid validator "${n}", expected function`);let a=e[t];if(!(r&&a===void 0)&&!i(a,e))throw Error(`Invalid param ${String(t)}=${a} (${typeof a}), expected ${n}`)};for(let[e,n]of Object.entries(t))r(e,n,!1);for(let[e,t]of Object.entries(n))r(e,t,!0);return e}var Ot=BigInt(0),kt=BigInt(1),At=BigInt(2),jt=BigInt(3),Mt=BigInt(4),Nt=BigInt(5),Pt=BigInt(8),Ft=BigInt(16);function It(e,t){let n=e%t;return n>=Ot?n:t+n}function Lt(e,t,n){if(n<=Ot||t<Ot)throw Error(`Expected power/modulo > 0`);if(n===kt)return Ot;let r=kt;for(;t>Ot;)t&kt&&(r=r*e%n),e=e*e%n,t>>=kt;return r}function Rt(e,t,n){let r=e;for(;t-- >Ot;)r*=r,r%=n;return r}function zt(e,t){if(e===Ot||t<=Ot)throw Error(`invert: expected positive integers, got n=${e} mod=${t}`);let n=It(e,t),r=t,i=Ot,a=kt,o=kt,s=Ot;for(;n!==Ot;){let e=r/n,t=r%n,c=i-o*e,l=a-s*e;r=n,n=t,i=o,a=s,o=c,s=l}if(r!==kt)throw Error(`invert: does not exist`);return It(i,t)}function Bt(e){let t=(e-kt)/At,n,r,i;for(n=e-kt,r=0;n%At===Ot;n/=At,r++);for(i=At;i<e&&Lt(i,t,e)!==e-kt;i++);if(r===1){let t=(e+kt)/Mt;return function(e,n){let r=e.pow(n,t);if(!e.eql(e.sqr(r),n))throw Error(`Cannot find square root`);return r}}let a=(n+kt)/At;return function(e,o){if(e.pow(o,t)===e.neg(e.ONE))throw Error(`Cannot find square root`);let s=r,c=e.pow(e.mul(e.ONE,i),n),l=e.pow(o,a),u=e.pow(o,n);for(;!e.eql(u,e.ONE);){if(e.eql(u,e.ZERO))return e.ZERO;let t=1;for(let n=e.sqr(u);t<s&&!e.eql(n,e.ONE);t++)n=e.sqr(n);let n=e.pow(c,kt<<BigInt(s-t-1));c=e.sqr(n),l=e.mul(l,n),u=e.mul(u,c),s=t}return l}}function Vt(e){if(e%Mt===jt){let t=(e+kt)/Mt;return function(e,n){let r=e.pow(n,t);if(!e.eql(e.sqr(r),n))throw Error(`Cannot find square root`);return r}}if(e%Pt===Nt){let t=(e-Nt)/Pt;return function(e,n){let r=e.mul(n,At),i=e.pow(r,t),a=e.mul(n,i),o=e.mul(e.mul(a,At),i),s=e.mul(a,e.sub(o,e.ONE));if(!e.eql(e.sqr(s),n))throw Error(`Cannot find square root`);return s}}return e%Ft,Bt(e)}var Ht=[`create`,`isValid`,`is0`,`neg`,`inv`,`sqrt`,`sqr`,`eql`,`add`,`sub`,`mul`,`pow`,`div`,`addN`,`subN`,`mulN`,`sqrN`];function Ut(e){return Dt(e,Ht.reduce((e,t)=>(e[t]=`function`,e),{ORDER:`bigint`,MASK:`bigint`,BYTES:`isSafeInteger`,BITS:`isSafeInteger`}))}function Wt(e,t,n){if(n<Ot)throw Error(`Expected power > 0`);if(n===Ot)return e.ONE;if(n===kt)return t;let r=e.ONE,i=t;for(;n>Ot;)n&kt&&(r=e.mul(r,i)),i=e.sqr(i),n>>=kt;return r}function Gt(e,t){let n=Array(t.length),r=t.reduce((t,r,i)=>e.is0(r)?t:(n[i]=t,e.mul(t,r)),e.ONE),i=e.inv(r);return t.reduceRight((t,r,i)=>e.is0(r)?t:(n[i]=e.mul(t,n[i]),e.mul(t,r)),i),n}function Kt(e,t){let n=t===void 0?e.toString(2).length:t;return{nBitLength:n,nByteLength:Math.ceil(n/8)}}function qt(e,t,n=!1,r={}){if(e<=Ot)throw Error(`Expected Field ORDER > 0, got ${e}`);let{nBitLength:i,nByteLength:a}=Kt(e,t);if(a>2048)throw Error(`Field lengths over 2048 bytes are not supported`);let o=Vt(e),s=Object.freeze({ORDER:e,BITS:i,BYTES:a,MASK:St(i),ZERO:Ot,ONE:kt,create:t=>It(t,e),isValid:t=>{if(typeof t!=`bigint`)throw Error(`Invalid field element: expected bigint, got ${typeof t}`);return Ot<=t&&t<e},is0:e=>e===Ot,isOdd:e=>(e&kt)===kt,neg:t=>It(-t,e),eql:(e,t)=>e===t,sqr:t=>It(t*t,e),add:(t,n)=>It(t+n,e),sub:(t,n)=>It(t-n,e),mul:(t,n)=>It(t*n,e),pow:(e,t)=>Wt(s,e,t),div:(t,n)=>It(t*zt(n,e),e),sqrN:e=>e*e,addN:(e,t)=>e+t,subN:(e,t)=>e-t,mulN:(e,t)=>e*t,inv:t=>zt(t,e),sqrt:r.sqrt||(e=>o(s,e)),invertBatch:e=>Gt(s,e),cmov:(e,t,n)=>n?t:e,toBytes:e=>n?I(e,a):ht(e,a),fromBytes:e=>{if(e.length!==a)throw Error(`Fp.fromBytes: expected ${a}, got ${e.length}`);return n?mt(e):pt(e)}});return Object.freeze(s)}function Jt(e){if(typeof e!=`bigint`)throw Error(`field order must be bigint`);let t=e.toString(2).length;return Math.ceil(t/8)}function Yt(e){let t=Jt(e);return t+Math.ceil(t/2)}function Xt(e,t,n=!1){let r=e.length,i=Jt(t),a=Yt(t);if(r<16||r<a||r>1024)throw Error(`expected ${a}-1024 bytes of input, got ${r}`);let o=It(n?pt(e):mt(e),t-kt)+kt;return n?I(o,i):ht(o,i)}var Zt=BigInt(0),Qt=BigInt(1);function $t(e,t){let n=(e,t)=>{let n=t.negate();return e?n:t},r=e=>({windows:Math.ceil(t/e)+1,windowSize:2**(e-1)});return{constTimeNegate:n,unsafeLadder(t,n){let r=e.ZERO,i=t;for(;n>Zt;)n&Qt&&(r=r.add(i)),i=i.double(),n>>=Qt;return r},precomputeWindow(e,t){let{windows:n,windowSize:i}=r(t),a=[],o=e,s=o;for(let e=0;e<n;e++){s=o,a.push(s);for(let e=1;e<i;e++)s=s.add(o),a.push(s);o=s.double()}return a},wNAF(t,i,a){let{windows:o,windowSize:s}=r(t),c=e.ZERO,l=e.BASE,u=BigInt(2**t-1),d=2**t,f=BigInt(t);for(let e=0;e<o;e++){let t=e*s,r=Number(a&u);a>>=f,r>s&&(r-=d,a+=Qt);let o=t,p=t+Math.abs(r)-1,m=e%2!=0,h=r<0;r===0?l=l.add(n(m,i[o])):c=c.add(n(h,i[p]))}return{p:c,f:l}},wNAFCached(e,t,n,r){let i=e._WINDOW_SIZE||1,a=t.get(e);return a||(a=this.precomputeWindow(e,i),i!==1&&t.set(e,r(a))),this.wNAF(i,a,n)}}}function en(e){return Ut(e.Fp),Dt(e,{n:`bigint`,h:`bigint`,Gx:`field`,Gy:`field`},{nBitLength:`isSafeInteger`,nByteLength:`isSafeInteger`}),Object.freeze({...Kt(e.n,e.nBitLength),...e,p:e.Fp.ORDER})}function tn(e){let t=en(e);Dt(t,{a:`field`,b:`field`},{allowedPrivateKeyLengths:`array`,wrapPrivateKey:`boolean`,isTorsionFree:`function`,clearCofactor:`function`,allowInfinityPoint:`boolean`,fromBytes:`function`,toBytes:`function`});let{endo:n,Fp:r,a:i}=t;if(n){if(!r.eql(i,r.ZERO))throw Error(`Endomorphism can only be defined for Koblitz curves that have a=0`);if(typeof n!=`object`||typeof n.beta!=`bigint`||typeof n.splitScalar!=`function`)throw Error(`Expected endomorphism with beta: bigint and splitScalar: function`)}return Object.freeze({...t})}var{bytesToNumberBE:nn,hexToBytes:rn}=nt,an={Err:class extends Error{constructor(e=``){super(e)}},_parseInt(e){let{Err:t}=an;if(e.length<2||e[0]!==2)throw new t(`Invalid signature integer tag`);let n=e[1],r=e.subarray(2,n+2);if(!n||r.length!==n)throw new t(`Invalid signature integer: wrong length`);if(r[0]&128)throw new t(`Invalid signature integer: negative`);if(r[0]===0&&!(r[1]&128))throw new t(`Invalid signature integer: unnecessary leading zero`);return{d:nn(r),l:e.subarray(n+2)}},toSig(e){let{Err:t}=an,n=typeof e==`string`?rn(e):e;st(n);let r=n.length;if(r<2||n[0]!=48)throw new t(`Invalid signature tag`);if(n[1]!==r-2)throw new t(`Invalid signature: incorrect length`);let{d:i,l:a}=an._parseInt(n.subarray(2)),{d:o,l:s}=an._parseInt(a);if(s.length)throw new t(`Invalid signature: left bytes after parsing`);return{r:i,s:o}},hexFromSig(e){let t=e=>Number.parseInt(e[0],16)&8?`00`+e:e,n=e=>{let t=e.toString(16);return t.length&1?`0${t}`:t},r=t(n(e.s)),i=t(n(e.r)),a=r.length/2,o=i.length/2,s=n(a),c=n(o);return`30${n(o+a+4)}02${c}${i}02${s}${r}`}},on=BigInt(0),sn=BigInt(1),cn=BigInt(2),ln=BigInt(3),un=BigInt(4);function dn(e){let t=tn(e),{Fp:n}=t,r=t.toBytes||((e,t,r)=>{let i=t.toAffine();return _t(Uint8Array.from([4]),n.toBytes(i.x),n.toBytes(i.y))}),i=t.fromBytes||(e=>{let t=e.subarray(1);return{x:n.fromBytes(t.subarray(0,n.BYTES)),y:n.fromBytes(t.subarray(n.BYTES,2*n.BYTES))}});function a(e){let{a:r,b:i}=t,a=n.sqr(e),o=n.mul(a,e);return n.add(n.add(o,n.mul(e,r)),i)}if(!n.eql(n.sqr(t.Gy),a(t.Gx)))throw Error(`bad generator point: equation left != right`);function o(e){return typeof e==`bigint`&&on<e&&e<t.n}function s(e){if(!o(e))throw Error(`Expected valid bigint: 0 < bigint < curve.n`)}function c(e){let{allowedPrivateKeyLengths:n,nByteLength:r,wrapPrivateKey:i,n:a}=t;if(n&&typeof e!=`bigint`){if(ot(e)&&(e=lt(e)),typeof e!=`string`||!n.includes(e.length))throw Error(`Invalid key`);e=e.padStart(r*2,`0`)}let o;try{o=typeof e==`bigint`?e:pt(gt(`private key`,e,r))}catch{throw Error(`private key must be ${r} bytes, hex or bigint, not ${typeof e}`)}return i&&(o=It(o,a)),s(o),o}let l=new Map;function u(e){if(!(e instanceof d))throw Error(`ProjectivePoint expected`)}class d{constructor(e,t,r){if(this.px=e,this.py=t,this.pz=r,e==null||!n.isValid(e))throw Error(`x required`);if(t==null||!n.isValid(t))throw Error(`y required`);if(r==null||!n.isValid(r))throw Error(`z required`)}static fromAffine(e){let{x:t,y:r}=e||{};if(!e||!n.isValid(t)||!n.isValid(r))throw Error(`invalid affine point`);if(e instanceof d)throw Error(`projective point not allowed`);let i=e=>n.eql(e,n.ZERO);return i(t)&&i(r)?d.ZERO:new d(t,r,n.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(e){let t=n.invertBatch(e.map(e=>e.pz));return e.map((e,n)=>e.toAffine(t[n])).map(d.fromAffine)}static fromHex(e){let t=d.fromAffine(i(gt(`pointHex`,e)));return t.assertValidity(),t}static fromPrivateKey(e){return d.BASE.multiply(c(e))}_setWindowSize(e){this._WINDOW_SIZE=e,l.delete(this)}assertValidity(){if(this.is0()){if(t.allowInfinityPoint&&!n.is0(this.py))return;throw Error(`bad point: ZERO`)}let{x:e,y:r}=this.toAffine();if(!n.isValid(e)||!n.isValid(r))throw Error(`bad point: x or y not FE`);let i=n.sqr(r),o=a(e);if(!n.eql(i,o))throw Error(`bad point: equation left != right`);if(!this.isTorsionFree())throw Error(`bad point: not in prime-order subgroup`)}hasEvenY(){let{y:e}=this.toAffine();if(n.isOdd)return!n.isOdd(e);throw Error(`Field doesn't support isOdd`)}equals(e){u(e);let{px:t,py:r,pz:i}=this,{px:a,py:o,pz:s}=e,c=n.eql(n.mul(t,s),n.mul(a,i)),l=n.eql(n.mul(r,s),n.mul(o,i));return c&&l}negate(){return new d(this.px,n.neg(this.py),this.pz)}double(){let{a:e,b:r}=t,i=n.mul(r,ln),{px:a,py:o,pz:s}=this,c=n.ZERO,l=n.ZERO,u=n.ZERO,f=n.mul(a,a),p=n.mul(o,o),m=n.mul(s,s),h=n.mul(a,o);return h=n.add(h,h),u=n.mul(a,s),u=n.add(u,u),c=n.mul(e,u),l=n.mul(i,m),l=n.add(c,l),c=n.sub(p,l),l=n.add(p,l),l=n.mul(c,l),c=n.mul(h,c),u=n.mul(i,u),m=n.mul(e,m),h=n.sub(f,m),h=n.mul(e,h),h=n.add(h,u),u=n.add(f,f),f=n.add(u,f),f=n.add(f,m),f=n.mul(f,h),l=n.add(l,f),m=n.mul(o,s),m=n.add(m,m),f=n.mul(m,h),c=n.sub(c,f),u=n.mul(m,p),u=n.add(u,u),u=n.add(u,u),new d(c,l,u)}add(e){u(e);let{px:r,py:i,pz:a}=this,{px:o,py:s,pz:c}=e,l=n.ZERO,f=n.ZERO,p=n.ZERO,m=t.a,h=n.mul(t.b,ln),g=n.mul(r,o),_=n.mul(i,s),v=n.mul(a,c),y=n.add(r,i),b=n.add(o,s);y=n.mul(y,b),b=n.add(g,_),y=n.sub(y,b),b=n.add(r,a);let x=n.add(o,c);return b=n.mul(b,x),x=n.add(g,v),b=n.sub(b,x),x=n.add(i,a),l=n.add(s,c),x=n.mul(x,l),l=n.add(_,v),x=n.sub(x,l),p=n.mul(m,b),l=n.mul(h,v),p=n.add(l,p),l=n.sub(_,p),p=n.add(_,p),f=n.mul(l,p),_=n.add(g,g),_=n.add(_,g),v=n.mul(m,v),b=n.mul(h,b),_=n.add(_,v),v=n.sub(g,v),v=n.mul(m,v),b=n.add(b,v),g=n.mul(_,b),f=n.add(f,g),g=n.mul(x,b),l=n.mul(y,l),l=n.sub(l,g),g=n.mul(y,_),p=n.mul(x,p),p=n.add(p,g),new d(l,f,p)}subtract(e){return this.add(e.negate())}is0(){return this.equals(d.ZERO)}wNAF(e){return p.wNAFCached(this,l,e,e=>{let t=n.invertBatch(e.map(e=>e.pz));return e.map((e,n)=>e.toAffine(t[n])).map(d.fromAffine)})}multiplyUnsafe(e){let r=d.ZERO;if(e===on)return r;if(s(e),e===sn)return this;let{endo:i}=t;if(!i)return p.unsafeLadder(this,e);let{k1neg:a,k1:o,k2neg:c,k2:l}=i.splitScalar(e),u=r,f=r,m=this;for(;o>on||l>on;)o&sn&&(u=u.add(m)),l&sn&&(f=f.add(m)),m=m.double(),o>>=sn,l>>=sn;return a&&(u=u.negate()),c&&(f=f.negate()),f=new d(n.mul(f.px,i.beta),f.py,f.pz),u.add(f)}multiply(e){s(e);let r=e,i,a,{endo:o}=t;if(o){let{k1neg:e,k1:t,k2neg:s,k2:c}=o.splitScalar(r),{p:l,f:u}=this.wNAF(t),{p:f,f:m}=this.wNAF(c);l=p.constTimeNegate(e,l),f=p.constTimeNegate(s,f),f=new d(n.mul(f.px,o.beta),f.py,f.pz),i=l.add(f),a=u.add(m)}else{let{p:e,f:t}=this.wNAF(r);i=e,a=t}return d.normalizeZ([i,a])[0]}multiplyAndAddUnsafe(e,t,n){let r=d.BASE,i=(e,t)=>t===on||t===sn||!e.equals(r)?e.multiplyUnsafe(t):e.multiply(t),a=i(this,t).add(i(e,n));return a.is0()?void 0:a}toAffine(e){let{px:t,py:r,pz:i}=this,a=this.is0();e??=a?n.ONE:n.inv(i);let o=n.mul(t,e),s=n.mul(r,e),c=n.mul(i,e);if(a)return{x:n.ZERO,y:n.ZERO};if(!n.eql(c,n.ONE))throw Error(`invZ was invalid`);return{x:o,y:s}}isTorsionFree(){let{h:e,isTorsionFree:n}=t;if(e===sn)return!0;if(n)return n(d,this);throw Error(`isTorsionFree() has not been declared for the elliptic curve`)}clearCofactor(){let{h:e,clearCofactor:n}=t;return e===sn?this:n?n(d,this):this.multiplyUnsafe(t.h)}toRawBytes(e=!0){return this.assertValidity(),r(d,this,e)}toHex(e=!0){return lt(this.toRawBytes(e))}}d.BASE=new d(t.Gx,t.Gy,n.ONE),d.ZERO=new d(n.ZERO,n.ONE,n.ZERO);let f=t.nBitLength,p=$t(d,t.endo?Math.ceil(f/2):f);return{CURVE:t,ProjectivePoint:d,normPrivateKeyToScalar:c,weierstrassEquation:a,isWithinCurveOrder:o}}function fn(e){let t=en(e);return Dt(t,{hash:`hash`,hmac:`function`,randomBytes:`function`},{bits2int:`function`,bits2int_modN:`function`,lowS:`boolean`}),Object.freeze({lowS:!0,...t})}function pn(e){let t=fn(e),{Fp:n,n:r}=t,i=n.BYTES+1,a=2*n.BYTES+1;function o(e){return on<e&&e<n.ORDER}function s(e){return It(e,r)}function c(e){return zt(e,r)}let{ProjectivePoint:l,normPrivateKeyToScalar:u,weierstrassEquation:d,isWithinCurveOrder:f}=dn({...t,toBytes(e,t,r){let i=t.toAffine(),a=n.toBytes(i.x),o=_t;return r?o(Uint8Array.from([t.hasEvenY()?2:3]),a):o(Uint8Array.from([4]),a,n.toBytes(i.y))},fromBytes(e){let t=e.length,r=e[0],s=e.subarray(1);if(t===i&&(r===2||r===3)){let e=pt(s);if(!o(e))throw Error(`Point is not on curve`);let t=d(e),i;try{i=n.sqrt(t)}catch(e){let t=e instanceof Error?`: `+e.message:``;throw Error(`Point is not on curve`+t)}let a=(i&sn)===sn;return(r&1)==1!==a&&(i=n.neg(i)),{x:e,y:i}}else if(t===a&&r===4)return{x:n.fromBytes(s.subarray(0,n.BYTES)),y:n.fromBytes(s.subarray(n.BYTES,2*n.BYTES))};else throw Error(`Point of length ${t} was invalid. Expected ${i} compressed bytes or ${a} uncompressed bytes`)}}),p=e=>lt(ht(e,t.nByteLength));function m(e){return e>r>>sn}function h(e){return m(e)?s(-e):e}let g=(e,t,n)=>pt(e.slice(t,n));class _{constructor(e,t,n){this.r=e,this.s=t,this.recovery=n,this.assertValidity()}static fromCompact(e){let n=t.nByteLength;return e=gt(`compactSignature`,e,n*2),new _(g(e,0,n),g(e,n,2*n))}static fromDER(e){let{r:t,s:n}=an.toSig(gt(`DER`,e));return new _(t,n)}assertValidity(){if(!f(this.r))throw Error(`r must be 0 < r < CURVE.n`);if(!f(this.s))throw Error(`s must be 0 < s < CURVE.n`)}addRecoveryBit(e){return new _(this.r,this.s,e)}recoverPublicKey(e){let{r,s:i,recovery:a}=this,o=ee(gt(`msgHash`,e));if(a==null||![0,1,2,3].includes(a))throw Error(`recovery id invalid`);let u=a===2||a===3?r+t.n:r;if(u>=n.ORDER)throw Error(`recovery id 2 or 3 invalid`);let d=a&1?`03`:`02`,f=l.fromHex(d+p(u)),m=c(u),h=s(-o*m),g=s(i*m),_=l.BASE.multiplyAndAddUnsafe(f,h,g);if(!_)throw Error(`point at infinify`);return _.assertValidity(),_}hasHighS(){return m(this.s)}normalizeS(){return this.hasHighS()?new _(this.r,s(-this.s),this.recovery):this}toDERRawBytes(){return F(this.toDERHex())}toDERHex(){return an.hexFromSig({r:this.r,s:this.s})}toCompactRawBytes(){return F(this.toCompactHex())}toCompactHex(){return p(this.r)+p(this.s)}}let v={isValidPrivateKey(e){try{return u(e),!0}catch{return!1}},normPrivateKeyToScalar:u,randomPrivateKey:()=>{let e=Yt(t.n);return Xt(t.randomBytes(e),t.n)},precompute(e=8,t=l.BASE){return t._setWindowSize(e),t.multiply(BigInt(3)),t}};function y(e,t=!0){return l.fromPrivateKey(e).toRawBytes(t)}function b(e){let t=ot(e),n=typeof e==`string`,r=(t||n)&&e.length;return t?r===i||r===a:n?r===2*i||r===2*a:e instanceof l}function x(e,t,n=!0){if(b(e))throw Error(`first arg must be private key`);if(!b(t))throw Error(`second arg must be public key`);return l.fromHex(t).multiply(u(e)).toRawBytes(n)}let S=t.bits2int||function(e){let n=pt(e),r=e.length*8-t.nBitLength;return r>0?n>>BigInt(r):n},ee=t.bits2int_modN||function(e){return s(S(e))},te=St(t.nBitLength);function C(e){if(typeof e!=`bigint`)throw Error(`bigint expected`);if(!(on<=e&&e<te))throw Error(`bigint expected < 2^${t.nBitLength}`);return ht(e,t.nByteLength)}function ne(e,r,i=re){if([`recovered`,`canonical`].some(e=>e in i))throw Error(`sign() legacy options not supported`);let{hash:a,randomBytes:o}=t,{lowS:d,prehash:p,extraEntropy:g}=i;d??=!0,e=gt(`msgHash`,e),p&&(e=gt(`prehashed msgHash`,a(e)));let v=ee(e),y=u(r),b=[C(y),C(v)];if(g!=null&&g!==!1){let e=g===!0?o(n.BYTES):g;b.push(gt(`extraEntropy`,e))}let x=_t(...b),te=v;function ne(e){let t=S(e);if(!f(t))return;let n=c(t),r=l.BASE.multiply(t).toAffine(),i=s(r.x);if(i===on)return;let a=s(n*s(te+i*y));if(a===on)return;let o=(r.x===i?0:2)|Number(r.y&sn),u=a;return d&&m(a)&&(u=h(a),o^=1),new _(i,u,o)}return{seed:x,k2sig:ne}}let re={lowS:t.lowS,prehash:!1},ie={lowS:t.lowS,prehash:!1};function ae(e,n,r=re){let{seed:i,k2sig:a}=ne(e,n,r),o=t;return Tt(o.hash.outputLen,o.nByteLength,o.hmac)(i,a)}l.BASE._setWindowSize(8);function oe(e,n,r,i=ie){let a=e;if(n=gt(`msgHash`,n),r=gt(`publicKey`,r),`strict`in i)throw Error(`options.strict was renamed to lowS`);let{lowS:o,prehash:u}=i,d,f;try{if(typeof a==`string`||ot(a))try{d=_.fromDER(a)}catch(e){if(!(e instanceof an.Err))throw e;d=_.fromCompact(a)}else if(typeof a==`object`&&typeof a.r==`bigint`&&typeof a.s==`bigint`){let{r:e,s:t}=a;d=new _(e,t)}else throw Error(`PARSE`);f=l.fromHex(r)}catch(e){if(e.message===`PARSE`)throw Error(`signature must be Signature instance, Uint8Array or hex string`);return!1}if(o&&d.hasHighS())return!1;u&&(n=t.hash(n));let{r:p,s:m}=d,h=ee(n),g=c(m),v=s(h*g),y=s(p*g),b=l.BASE.multiplyAndAddUnsafe(f,v,y)?.toAffine();return b?s(b.x)===p:!1}return{CURVE:t,getPublicKey:y,getSharedSecret:x,sign:ae,verify:oe,ProjectivePoint:l,Signature:_,utils:v}}function mn(e,t){let n=e.ORDER,r=on;for(let e=n-sn;e%cn===on;e/=cn)r+=sn;let i=r,a=cn<<i-sn-sn,o=a*cn,s=(n-sn)/o,c=(s-sn)/cn,l=o-sn,u=a,d=e.pow(t,s),f=e.pow(t,(s+sn)/cn),p=(t,n)=>{let r=d,a=e.pow(n,l),o=e.sqr(a);o=e.mul(o,n);let s=e.mul(t,o);s=e.pow(s,c),s=e.mul(s,a),a=e.mul(s,n),o=e.mul(s,t);let p=e.mul(o,a);s=e.pow(p,u);let m=e.eql(s,e.ONE);a=e.mul(o,f),s=e.mul(p,r),o=e.cmov(a,o,m),p=e.cmov(s,p,m);for(let t=i;t>sn;t--){let n=t-cn;n=cn<<n-sn;let i=e.pow(p,n),s=e.eql(i,e.ONE);a=e.mul(o,r),r=e.mul(r,r),i=e.mul(p,r),o=e.cmov(a,o,s),p=e.cmov(i,p,s)}return{isValid:m,value:o}};if(e.ORDER%un===ln){let n=(e.ORDER-ln)/un,r=e.sqrt(e.neg(t));p=(t,i)=>{let a=e.sqr(i),o=e.mul(t,i);a=e.mul(a,o);let s=e.pow(a,n);s=e.mul(s,o);let c=e.mul(s,r),l=e.mul(e.sqr(s),i),u=e.eql(l,t);return{isValid:u,value:e.cmov(c,s,u)}}}return p}function hn(e,t){if(Ut(e),!e.isValid(t.A)||!e.isValid(t.B)||!e.isValid(t.Z))throw Error(`mapToCurveSimpleSWU: invalid opts`);let n=mn(e,t.Z);if(!e.isOdd)throw Error(`Fp.isOdd is not implemented!`);return r=>{let i,a,o,s,c,l,u,d;i=e.sqr(r),i=e.mul(i,t.Z),a=e.sqr(i),a=e.add(a,i),o=e.add(a,e.ONE),o=e.mul(o,t.B),s=e.cmov(t.Z,e.neg(a),!e.eql(a,e.ZERO)),s=e.mul(s,t.A),a=e.sqr(o),l=e.sqr(s),c=e.mul(l,t.A),a=e.add(a,c),a=e.mul(a,o),l=e.mul(l,s),c=e.mul(l,t.B),a=e.add(a,c),u=e.mul(i,o);let{isValid:f,value:p}=n(a,l);d=e.mul(i,r),d=e.mul(d,p),u=e.cmov(u,o,f),d=e.cmov(d,p,f);let m=e.isOdd(r)===e.isOdd(d);return d=e.cmov(e.neg(d),d,m),u=e.div(u,s),{x:u,y:d}}}function gn(e){return{hash:e,hmac:(t,...n)=>tt(e,t,de(...n)),randomBytes:le}}function _n(e,t){let n=t=>pn({...e,...gn(t)});return Object.freeze({...n(t),create:n})}var vn=pt;function yn(e,t){if(e<0||e>=1<<8*t)throw Error(`bad I2OSP call: value=${e} length=${t}`);let n=Array.from({length:t}).fill(0);for(let r=t-1;r>=0;r--)n[r]=e&255,e>>>=8;return new Uint8Array(n)}function bn(e,t){let n=new Uint8Array(e.length);for(let r=0;r<e.length;r++)n[r]=e[r]^t[r];return n}function xn(e){if(!Number.isSafeInteger(e))throw Error(`number expected`)}function Sn(e,t,n,r){st(e),st(t),xn(n),t.length>255&&(t=r(_t(R(`H2C-OVERSIZE-DST-`),t)));let{outputLen:i,blockLen:a}=r,o=Math.ceil(n/i);if(o>255)throw Error(`Invalid xmd length`);let s=_t(t,yn(t.length,1)),c=yn(0,a),l=yn(n,2),u=Array(o),d=r(_t(c,e,l,yn(0,1),s));u[0]=r(_t(d,yn(1,1),s));for(let e=1;e<=o;e++)u[e]=r(_t(bn(d,u[e-1]),yn(e+1,1),s));return _t(...u).slice(0,n)}function Cn(e,t,n,r,i){if(st(e),st(t),xn(n),t.length>255){let e=Math.ceil(2*r/8);t=i.create({dkLen:e}).update(R(`H2C-OVERSIZE-DST-`)).update(t).digest()}if(n>65535||t.length>255)throw Error(`expand_message_xof: invalid lenInBytes`);return i.create({dkLen:n}).update(e).update(yn(n,2)).update(t).update(yn(t.length,1)).digest()}function wn(e,t,n){Dt(n,{DST:`stringOrUint8Array`,p:`bigint`,m:`isSafeInteger`,k:`isSafeInteger`,hash:`hash`});let{p:r,k:i,m:a,hash:o,expand:s,DST:c}=n;st(e),xn(t);let l=typeof c==`string`?R(c):c,u=r.toString(2).length,d=Math.ceil((u+i)/8),f=t*a*d,p;if(s===`xmd`)p=Sn(e,l,f,o);else if(s===`xof`)p=Cn(e,l,f,i,o);else if(s===`_internal_pass`)p=e;else throw Error(`expand must be "xmd" or "xof"`);let m=Array(t);for(let e=0;e<t;e++){let t=Array(a);for(let n=0;n<a;n++){let i=d*(n+e*a);t[n]=It(vn(p.subarray(i,i+d)),r)}m[e]=t}return m}function Tn(e,t){let n=t.map(e=>Array.from(e).reverse());return(t,r)=>{let[i,a,o,s]=n.map(n=>n.reduce((n,r)=>e.add(e.mul(n,t),r)));return t=e.div(i,a),r=e.mul(r,e.div(o,s)),{x:t,y:r}}}function En(e,t,n){if(typeof t!=`function`)throw Error(`mapToCurve() must be defined`);return{hashToCurve(r,i){let a=wn(r,2,{...n,DST:n.DST,...i}),o=e.fromAffine(t(a[0])),s=e.fromAffine(t(a[1])),c=o.add(s).clearCofactor();return c.assertValidity(),c},encodeToCurve(r,i){let a=wn(r,1,{...n,DST:n.encodeDST,...i}),o=e.fromAffine(t(a[0])).clearCofactor();return o.assertValidity(),o},mapToCurve(n){if(!Array.isArray(n))throw Error(`mapToCurve: expected array of bigints`);for(let e of n)if(typeof e!=`bigint`)throw Error(`mapToCurve: expected array of bigints, got ${e} in array`);let r=e.fromAffine(t(n)).clearCofactor();return r.assertValidity(),r}}}var Dn=BigInt(`0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f`),On=BigInt(`0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141`),kn=BigInt(1),An=BigInt(2),jn=(e,t)=>(e+t/An)/t;function Mn(e){let t=Dn,n=BigInt(3),r=BigInt(6),i=BigInt(11),a=BigInt(22),o=BigInt(23),s=BigInt(44),c=BigInt(88),l=e*e*e%t,u=l*l*e%t,d=Rt(Rt(Rt(u,n,t)*u%t,n,t)*u%t,An,t)*l%t,f=Rt(d,i,t)*d%t,p=Rt(f,a,t)*f%t,m=Rt(p,s,t)*p%t,h=Rt(Rt(Rt(Rt(Rt(Rt(m,c,t)*m%t,s,t)*p%t,n,t)*u%t,o,t)*f%t,r,t)*l%t,An,t);if(!Nn.eql(Nn.sqr(h),e))throw Error(`Cannot find square root`);return h}var Nn=qt(Dn,void 0,void 0,{sqrt:Mn}),Pn=_n({a:BigInt(0),b:BigInt(7),Fp:Nn,n:On,Gx:BigInt(`55066263022277343669578718895168534326250603453777594175500187360389116729240`),Gy:BigInt(`32670510020758816978083085130507043184471273380659243275938904335757337482424`),h:BigInt(1),lowS:!0,endo:{beta:BigInt(`0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee`),splitScalar:e=>{let t=On,n=BigInt(`0x3086d221a7d46bcde86c90e49284eb15`),r=-kn*BigInt(`0xe4437ed6010e88286f547fa90abfe4c3`),i=BigInt(`0x114ca50f7a8e2f3f657c1108d9d44cfd8`),a=n,o=BigInt(`0x100000000000000000000000000000000`),s=jn(a*e,t),c=jn(-r*e,t),l=It(e-s*n-c*i,t),u=It(-s*r-c*a,t),d=l>o,f=u>o;if(d&&(l=t-l),f&&(u=t-u),l>o||u>o)throw Error(`splitScalar: Endomorphism failed, k=`+e);return{k1neg:d,k1:l,k2neg:f,k2:u}}}},ge);Pn.ProjectivePoint,Pn.utils.randomPrivateKey;var Fn=Tn(Nn,[[`0x8e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38daaaaa8c7`,`0x7d3d4c80bc321d5b9f315cea7fd44c5d595d2fc0bf63b92dfff1044f17c6581`,`0x534c328d23f234e6e2a413deca25caece4506144037c40314ecbd0b53d9dd262`,`0x8e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38daaaaa88c`],[`0xd35771193d94918a9ca34ccbb7b640dd86cd409542f8487d9fe6b745781eb49b`,`0xedadc6f64383dc1df7c4b2d51b54225406d36b641f5e41bbc52a56612a8c6d14`,`0x0000000000000000000000000000000000000000000000000000000000000001`],[`0x4bda12f684bda12f684bda12f684bda12f684bda12f684bda12f684b8e38e23c`,`0xc75e0c32d5cb7c0fa9d0a54b12a0a6d5647ab046d686da6fdffc90fc201d71a3`,`0x29a6194691f91a73715209ef6512e576722830a201be2018a765e85a9ecee931`,`0x2f684bda12f684bda12f684bda12f684bda12f684bda12f684bda12f38e38d84`],[`0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffff93b`,`0x7a06534bb8bdb49fd5e9e6632722c2989467c1bfc8e8d978dfb425d2685c2573`,`0x6484aa716545ca2cf3a70c3fa8fe337e0a3d21162f0d6299a7bf8192bfd2a76f`,`0x0000000000000000000000000000000000000000000000000000000000000001`]].map(e=>e.map(e=>BigInt(e)))),In=hn(Nn,{A:BigInt(`0x3f8731abdd661adca08a5558f0f5d272e953d363cb6f0e5d405447c01a444533`),B:BigInt(`1771`),Z:Nn.create(BigInt(`-11`))}),Ln=En(Pn.ProjectivePoint,e=>{let{x:t,y:n}=In(Nn.create(e[0]));return Fn(t,n)},{DST:`secp256k1_XMD:SHA-256_SSWU_RO_`,encodeDST:`secp256k1_XMD:SHA-256_SSWU_NU_`,p:Nn.ORDER,m:1,k:128,expand:`xmd`,hash:ge});Ln.hashToCurve,Ln.encodeToCurve;var Rn=n(((e,t)=>{var n=Object.prototype.hasOwnProperty,r=`~`;function i(){}Object.create&&(i.prototype=Object.create(null),new i().__proto__||(r=!1));function a(e,t,n){this.fn=e,this.context=t,this.once=n||!1}function o(e,t,n,i,o){if(typeof n!=`function`)throw TypeError(`The listener must be a function`);var s=new a(n,i||e,o),c=r?r+t:t;return e._events[c]?e._events[c].fn?e._events[c]=[e._events[c],s]:e._events[c].push(s):(e._events[c]=s,e._eventsCount++),e}function s(e,t){--e._eventsCount===0?e._events=new i:delete e._events[t]}function c(){this._events=new i,this._eventsCount=0}c.prototype.eventNames=function(){var e=[],t,i;if(this._eventsCount===0)return e;for(i in t=this._events)n.call(t,i)&&e.push(r?i.slice(1):i);return Object.getOwnPropertySymbols?e.concat(Object.getOwnPropertySymbols(t)):e},c.prototype.listeners=function(e){var t=r?r+e:e,n=this._events[t];if(!n)return[];if(n.fn)return[n.fn];for(var i=0,a=n.length,o=Array(a);i<a;i++)o[i]=n[i].fn;return o},c.prototype.listenerCount=function(e){var t=r?r+e:e,n=this._events[t];return n?n.fn?1:n.length:0},c.prototype.emit=function(e,t,n,i,a,o){var s=r?r+e:e;if(!this._events[s])return!1;var c=this._events[s],l=arguments.length,u,d;if(c.fn){switch(c.once&&this.removeListener(e,c.fn,void 0,!0),l){case 1:return c.fn.call(c.context),!0;case 2:return c.fn.call(c.context,t),!0;case 3:return c.fn.call(c.context,t,n),!0;case 4:return c.fn.call(c.context,t,n,i),!0;case 5:return c.fn.call(c.context,t,n,i,a),!0;case 6:return c.fn.call(c.context,t,n,i,a,o),!0}for(d=1,u=Array(l-1);d<l;d++)u[d-1]=arguments[d];c.fn.apply(c.context,u)}else{var f=c.length,p;for(d=0;d<f;d++)switch(c[d].once&&this.removeListener(e,c[d].fn,void 0,!0),l){case 1:c[d].fn.call(c[d].context);break;case 2:c[d].fn.call(c[d].context,t);break;case 3:c[d].fn.call(c[d].context,t,n);break;case 4:c[d].fn.call(c[d].context,t,n,i);break;default:if(!u)for(p=1,u=Array(l-1);p<l;p++)u[p-1]=arguments[p];c[d].fn.apply(c[d].context,u)}}return!0},c.prototype.on=function(e,t,n){return o(this,e,t,n,!1)},c.prototype.once=function(e,t,n){return o(this,e,t,n,!0)},c.prototype.removeListener=function(e,t,n,i){var a=r?r+e:e;if(!this._events[a])return this;if(!t)return s(this,a),this;var o=this._events[a];if(o.fn)o.fn===t&&(!i||o.once)&&(!n||o.context===n)&&s(this,a);else{for(var c=0,l=[],u=o.length;c<u;c++)(o[c].fn!==t||i&&!o[c].once||n&&o[c].context!==n)&&l.push(o[c]);l.length?this._events[a]=l.length===1?l[0]:l:s(this,a)}return this},c.prototype.removeAllListeners=function(e){var t;return e?(t=r?r+e:e,this._events[t]&&s(this,t)):(this._events=new i,this._eventsCount=0),this},c.prototype.off=c.prototype.removeListener,c.prototype.addListener=c.prototype.on,c.prefixed=r,c.EventEmitter=c,t!==void 0&&(t.exports=c)})),zn=class extends Error{constructor(e,t){super(e),this.error=t}},Bn=class extends zn{constructor(e,t){super(e||`The wallet is not found.`,t),this.name=`WalletNotFoundError`}},Vn=class extends zn{constructor(){super(...arguments),this.name=`WalletDisconnectedError`,this.message=`The wallet is disconnected. Please connect first.`}},Hn=class extends zn{constructor(){super(...arguments),this.name=`WalletConnectionError`}},Un=class extends zn{constructor(){super(...arguments),this.name=`WalletDisconnectionError`}},Wn=class extends zn{constructor(){super(...arguments),this.name=`WalletSignMessageError`}},Gn=class extends zn{constructor(){super(...arguments),this.name=`WalletSignTransactionError`}},Kn=class extends zn{constructor(e,t){super(e||`The QR window is closed.`,t),this.name=`WalletWindowClosedError`}},qn=class extends zn{constructor(){super(...arguments),this.name=`WalletSwitchChainError`}},Jn=class extends zn{constructor(){super(...arguments),this.name=`WalletGetNetworkError`}},Yn=class extends zn{constructor(){super(...arguments),this.name=`WalletSignTypedDataError`}};function Xn(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function Zn(e){if(!Xn(e))throw new Yn(`typedData must be an object.`);if(!Xn(e.domain))throw new Yn(`typedData.domain must be an object.`);if(!Xn(e.types))throw new Yn(`typedData.types must be an object.`);if(!Xn(e.message))throw new Yn(`typedData.message must be an object.`);let{chainId:t}=e.domain;if(typeof t==`string`){let n=Number(t);if(!Number.isFinite(n))throw new Yn(`Invalid domain.chainId: ${t}.`);return Object.assign(Object.assign({},e),{domain:Object.assign(Object.assign({},e.domain),{chainId:n})})}return e}var Qn=t(Rn(),1),$n;(function(e){e.Loading=`Loading`,e.NotFound=`NotFound`,e.Found=`Found`})($n||={});var z;(function(e){e.Loading=`Loading`,e.NotFound=`NotFound`,e.Disconnect=`Disconnected`,e.Connected=`Connected`})(z||={});var er=class extends Qn.default{get connected(){return this.state===z.Connected}disconnect(){return Promise.resolve()}multiSign(e,t={}){return Promise.reject(`The current wallet doesn't support multiSign.`)}signTypedData(e){let t;try{t=Zn(e)}catch(e){return Promise.reject(e)}return this._signTypedData(t)}_signTypedData(e){return Promise.reject(`The current wallet doesn't support signTypedData.`)}switchChain(e){return Promise.reject(`The current wallet doesn't support switch chain.`)}},tr;(function(e){e.Mainnet=`Mainnet`,e.Shasta=`Shasta`,e.Nile=`Nile`,e.Unknown=`Unknown`})(tr||={});var nr;(function(e){e.Mainnet=`Mainnet`,e.Shasta=`Shasta`,e.Nile=`Nile`})(nr||={});var rr=`TIP6963:announceProvider`,ir=`TIP6963:requestProvider`;function ar(){return typeof window<`u`&&typeof document<`u`&&typeof navigator<`u`}function or(){return typeof navigator<`u`&&navigator.userAgent.match(/Android|webOS|iPhone|iPad|iPod|BlackBerry|Windows Phone/i)}var sr=function(e,t,n,r){function i(e){return e instanceof n?e:new n(function(t){t(e)})}return new(n||=Promise)(function(n,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){e.done?n(e.value):i(e.value).then(o,s)}c((r=r.apply(e,t||[])).next())})};function cr(){return ar()&&!!(window.tron&&window.tron.isTronLink)}function lr(){return ar()&&!!(cr()||window.tronLink||window.tronWeb)}function ur(){return ar()&&window.iTron!==void 0}function dr({dappIcon:e,dappName:t}={dappIcon:``,dappName:``}){if(!lr()&&or()&&!ur()){let n=``,r=``;try{n=document.title;let e=document.querySelector(`link[rel*="icon"]`);e&&(r=new URL(e.getAttribute(`href`)||``,location.href).toString())}catch{}let{origin:i,pathname:a,search:o,hash:s}=window.location,c=i+a+o+(s.includes(`?`)?s:`${s}?_=1`),l={action:`open`,actionId:Date.now()+``,callbackUrl:`http://someurl.com`,dappIcon:e||r,dappName:t||n,url:c,protocol:`TronLink`,version:`1.0`,chainId:`0x2b6653dc`};return window.location.href=`tronlinkoutside://pull.activity?param=${encodeURIComponent(JSON.stringify(l))}`,!0}return!1}function fr(e){return sr(this,void 0,void 0,function*(){return new Promise((t,n)=>{let r=setInterval(()=>{e.tronWeb&&(clearInterval(r),clearTimeout(i),t())},50),i=setTimeout(()=>{clearInterval(r),n("`window.tron.tronweb` is not ready.")},2e3)})})}var pr=function(e,t,n,r){function i(e){return e instanceof n?e:new n(function(t){t(e)})}return new(n||=Promise)(function(n,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){e.done?n(e.value):i(e.value).then(o,s)}c((r=r.apply(e,t||[])).next())})},mr={"0x2b6653dc":tr.Mainnet,"0x94a9059e":tr.Shasta,"0xcd8690dc":tr.Nile};function hr(e){return pr(this,void 0,void 0,function*(){let{blockID:t=``}=yield e.trx.getBlockByNumber(0),n=`0x${t.slice(-8)}`;return{networkType:mr[n]||tr.Unknown,chainId:n,fullNode:e.fullNode?.host||``,solidityNode:e.solidityNode?.host||``,eventServer:e.eventServer?.host||``}})}var gr=`TronLink`,_r=class extends er{constructor(e={}){super(),this.name=gr,this.url=`https://www.tronlink.org/`,this.icon=`data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAF0AAABdCAYAAADHcWrDAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAUGVYSWZNTQAqAAAACAACARIAAwAAAAEAAQAAh2kABAAAAAEAAAAmAAAAAAADoAEAAwAAAAEAAQAAoAIABAAAAAEAAABdoAMABAAAAAEAAABdAAAAAMkTBfIAAAFZaVRYdFhNTDpjb20uYWRvYmUueG1wAAAAAAA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJYTVAgQ29yZSA2LjAuMCI+CiAgIDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+CiAgICAgIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAgICAgICAgICAgIHhtbG5zOnRpZmY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vdGlmZi8xLjAvIj4KICAgICAgICAgPHRpZmY6T3JpZW50YXRpb24+MTwvdGlmZjpPcmllbnRhdGlvbj4KICAgICAgPC9yZGY6RGVzY3JpcHRpb24+CiAgIDwvcmRmOlJERj4KPC94OnhtcG1ldGE+Chle4QcAABZhSURBVHgB7V0JlBTVuf6runtWllkA2QeYQQRBZHNFxZjw4jFqMEFxCWIS1yOaTeJ76nk5Lyc5CUZNfCoa0BgUxRh3QD2CJs8lELaIgOCw78sszN4z0131vu/W1NDTfbtneqa7Zx5v/nN6prrq1q2q77//ev9bbUgcNHjm/sya7PIiIxA43TCNUbYEcw3bsOLo4v98U9sWAxSwbbvYI7LDCDZ+dezl847G82BGWxrnzVl/nmF5bhCxviG2FBoen0+Ep9ptOf0UbOPAZlsNhOCYmOYawzaXirfynZLnpla19sAxQc+5ac14jyf9IbHsqw1vute2GoF78P8x2Bo4DVMME2OQqAQDW8W2flv64oQXMCijjsiooOfP3jAXvf0SHfa2A/XsUnXc/ScGAgAfqgfgB18zGqvvKVk69ZCudSTot63z5fvNRw0z7W7bCpB9uvO698VAwPBmAraGzXbQuq5sycSt4U3NljtsA4D/wfBk3I2TugFvCU6bv9mBOigJ71jTY7zd++Z1heEntgA976b1P8YIv9MO+NGuW52EgxXPdzsIlexJK/Ra5uK+d23pEXpuM+h9blo30TS9/6WMZTfgoRi1e5uD1/BmXGBV1j0Y2okD+i9smGDjV2L6smF9Q493b3cQATXiTc/c3BvXjXO7UqD32bn2Itv0TlcN3CPd/xODAAax4UnP8pjmvW6HCnTbNm+B4sd2tx53gUnkfw5mW6wZUOED2K+ZM2djDoLLy+wgAp9uSg4CarRn5Ikpl/ICpinWGfBvBnXr8uTg3dwrIlfkbS5yQLdkPNxEBEndqqUZoGRsqCDTHK1At2yZZnd7LMmAuUWfDsZ236LLV6SbGPXZ3aO8BT7J/OLx98iBSre79UoyUW7RN3Jh/O4ERy2OdH9JNgLdoCcbYU3/3aBrQEn2rm7Qk42wpn+vZl/cuzgTUtvgJMo8piEesNLE/8gZkri7PiVP6DDojUFb5s0YIIPz02TDzhr58oBf9hyrl9KqgGIEZq/ABEOY2UEFQTcjMIw6DHoAoO891iAPfHeg3HxpH4a6cryyUXYfrZdNe+tk055aMKJO9h5vUIyog0ScZASYQGackuM5+kN1GPR0nykrN1XIobIGGZiXpgDt19sn/Jx7ujNhgqhXjlU4jPhiby0YUdfEiHopg0TUNbKYxJUIgwmhU5o6DDo0hhw90Sjvb6yQWy7rqwWLbfrn+NTn/FEnGcHzdh7xyxeQCDKDqmlficOI+iZGeHGyxwNGnELi0GHQiTIBeWNNucz5Wl81YrXIh+3kOQNyfeozdXRPdTQIkThWEZAdh/1QTY5EbD9YB0Y0SFl1QBpOEUYkBPQ0WMm1xTVCgM4YnBkGb9u/0uC6jLhojMMI2gxKxI4j9UoaaCO2HfTLfjCinIwIOKrJC2ng+WRmV6eEgE59XFEblHfWnugQ6DqwCOYgeEb8XHLmSUYcLm+U4kNQTfsc1bTdZURNQBq7OCMSAjrB8gGcd9adkHuv7C9p3uQONzJiSJ809fnaWb0Ur+i6HgEjviIjqJrwISMOQCJO1ASFxykFtA+dLREJBX0zRt16+OqusdSN3GTtI9NdRlzWxAiqHkrEV4coDScl4kCpwwiqrs5gRMJAp7Ptr7fkzdXlnQK6jpmUuIK+aerzjfG9VRN6RXRvt0MiNkMayAxKBxlBFekywrURVJ2JpsSBjjvjQ77/rwp5YOZA6ZWF6u02Ui2YRXvQI9OUcUOz4O/7hA+dDEr3GTL8tHT1+eYElxGWHCxrVOqIqsllxEEyoi4owSaJSBQjEgo6b2oXItGPv6ySKybltBmzrHRTRgCIW5/ardTBqEEZws+4giwZOzRTRg7IkP5wL6lCkkEM8Hh9fi6f6DDCj8iZo9+RCETWYAYN90FISWWtJXRvGcSpOAI6Kh6JMPJnr38LtV9XCSt0E0AM82dNzZdn7x4ed29MFcx5fJd8AqZRaphS4P/cHl6lr88AI84a1sSIgRlyGgIuPnSqiM9GV5UGevM+RyJcRlTVtcIIE+PbDmzLrKufmHDQLSQb83p65ONfj1E+d7yAlFQG1IhnhEsJIDGNQBEPYMNlRB4YMRT6mnHBuIJMSESWnE5G9PaqDGe8121ve6pGMmIbYhSqJTKj+FC9shvVfqgm4KEkwusTjxHcluVPAui8eY6IBbcPk9lIgLWHqv2WzF24R175pEwyAbxuLIczgrqajCjomw5GQCKgms6EaiqCako1I2pw/4yiGSwqGwGvrvhIQI6W1W3zVPsTP9IJcn2jJV+Ht/D6/SO1gG3YVQs9nS49M6MbW7p7//7Cfnnm/WNCndsWnUkpozRQ31IiyIj8ng4jRkMixg/LBCOypLB/uvRFQi6FmkmofpB53bNkU81ZCTWk7qhmWmDNV9XK8FDkw6myNiB3PH1YnoI09I7i5VCX/27OUKXP579xWHkzrYFEMU5TjU7KBrOYzOesxv2QERlppmLEMKim0UOomhwb4TLi5Jnhd92x7z3hmcE58BTu8FO7J544KhkF0g386dX9Iy5wwRk9Zd6f98u1D++QxfeOUAYxohF2sJ8H4X7m9fDIgy8dVCOY0WQ8xBks4Mze1GnAXUqR72c+57Pt1WofJalPL68M65cuY5ptRCa8mQxIROIgYgxA8mSNv/16zCSMSnQtI7unSN14cb4Ku9XVmv4QuEr4vwveOyb/RKLskrG91IgObRO6PWVkDxXgrNxUqRJcBLK9xDO5GIv3QBdUuaHYWQOjR4O4DhH1uxsqlD1Z+kmpLENqYyPUISNbgkYpdg18vPeAnFDlF/vqFySOjWF34IN6oCXfsLtGzgVo4fStybny6NtHZO2OGvnub4vlT/eMgM7NCm/W/H3WRfmSA0N5x4LdSPMGlSvZfLCDG2QEmcC53VCJ4MQLwf5kK5aGolEmRKavKxFQTXRfx8FYD4N/TyPeVkraSOeD0J3KyfLCqDpJqdCbooH7eGu1mk8liO/CRTx7eJbyPkLbhW7TE+Fs1EdfVCKtG0xa1Mpr8v5NVyIwgCgRjvQG1dQjJXTF+hNKIuhlrYB0fL67Vo6CUXQTacTJpFAKBqVy0z7/gqSBzotRJxPQG6BiqDdDicfq4aFQfGncqG64TcOrM77uuUxqXQp1xKiXWcVkpQvc64X+1zICnKjCve/GPDGdBz4D1dJfwAgOJOb/jyH2AAvBNKuy5EjjgoQHR6E3yW26fq/8rKg5vA49fhj5jqn/sVUxhqLt6sxHbhki35sW28ffe7xebvnv3bIGxpC+fFciekkW/gSwBFelC8Ct7Kx0yc+2vyrq0zgh6XfLi76xpkyLyQAktqZh1DYEII8gjtpGyOY9i/bJH5bFfscBgyAyczqSVlRjXYkoxbQRVDE0upRkDqhD5Y3Wxi0NWFWXZKK//dEXVcpF011qxnm5CI8puA7xZvn1wSUH5BdLD6oR4x4L/0+jRpfzuql5qsaGOrerEp/JVYVJB50gMn+98vMKLR4XYy50BCJERpIu4RTlnTz85mH50bP7xI8INxoxqn3mzuFyx7/1k3qkHyjaXZ2SDjoBIJdfX3NCCwjz7tPP7q1m+kPB4jm0/os+OC63Prkb6dTo7yigND2C6PX+7wxU03Ih/AvtstO3OXd74ABNagqIAcVqGDzWuOhoxrm5Su/pBil14mv/KJcbH9sZVUWxT6WSEL3+5nuD8c3Jv+iu1Vn7mI+aMDw77aNFRU44kOwbobpguQTdKR1NKspWkxVumBzehsB/iGiUaQNOksSiuy4/TZ68bZhyUaP1F+v8ZByjoZ8Fu/PKzwp9PTP6pgZ0PgiNyNvIxeiAoHr41uQcVToR7aHpFq7fheh1frHyfaO14/7rEb0+P3eE9M72KJc1VttkHqN9YZr7tun95KnbhkpOthfPUJ4a9cIHY1qAgcK/ELXp6MopOSrjGMsQZiDA4kzNTIx4zi7Fom9i2m3pT4tkENxSTkanmmhX6AqzovnR7w9FROvEIbyPlOh0XggaRvnTb6L8TkejBmXKlJHZrY5MRraMRG94dGdUdeX2z1KQV+eNFE7zcc4zVeTk82351U1D5D+vGxSRt08Z6HxgqpH3EBozoxdO1Ps0qIzkWiNKDb2ZHzyxW174W0nM5pzY/uvPi+QcJN0o6skmqk/maR7/YYHcc8Vp2sulFHTqdaqHT7c5eezwO6LryMlmzgC1RuyLKYZ7Fu2Vx9sSvd5XKNMxm5XM6JUuIeOGZ+8eETONkVLQCSSDIFb46oj1igyW3LSArk3oProBzI2fjF5Dj7bc7tvLJ4t/1BS9wptoXZ5ant/aNw6AfjleWfLjQqF9ikUpB50qhu4fc9U6mnFenvK5dcd0+6iWqG6c6HWvmp/VteM+Fb3ekfjolREzC5heva9ILm4qctXdgw+5GFLKQWdagEU8qwC8jliZywcITQvo2oXuC41ef9ha9IoHf+SWofLzaxITvdJOcPLltXlFmA/Aiv8Y9MHnlf4nH14bSDnovCeC9AZqHnWUA99alxbQtQ3fF0/0+tC1jF6HqC7obbSHaB+oDukhcYIlFj31fqnM/v3O4KaqCqtTQGda4B9IC+yKkhb4NtMCcA3bA4WKXjGz1LbotZ88cWuBpON+dEFbLBAJOHX3Sz8plIEo+YtGfIZf//UQykkOqGnowYMHp1698Oaoh7nkcfl6feZxCtICY4ZkxA2E++BMlLFkm3OvDMhiEWe1nsf8bFujV4JYB8A5yfInRL0s+YtGarnn8/sV6PS2zKYyn04Z6bxJJy1QrgWWAdAVraQFoj2ou58TB8WH69scvb78E0avaTENMUMIJq7mwv9+8raCmFUBrPK68+k98uR7RyUd90KV6lKngU6PgykB1v/p6Kopuarcug2xku50tY8zN270ujxKss09+YIzGL0WoSAoUxtEudVjD84cJL+ZPaR5QsI9P/Q/C5xYCPvS/5RKFgEPPYjtTgOdN8LREC0twDK4yYWtpwXCnifiqxu9fv+JXfLi31uPXumFsGQkNHqloeVInQ+w779GvXAu4jruDnpmsx7ZKcs3nIgqCZ0GOm+SPvsK3JwuSmSJHA1qsCNDvQkJN3qdu7AN0SuqvJCCFa7c4H1RL9OoL7hjmNyO2alYxBLqmfN3IOKuUiOcbWkDLDCNwVPz+xOSVeEV6+bcY6zUYmn0+SizY0F+OLHIk6UM/qb1o+HH4/nOGham3eArKwAuHtOrhZ4N7Ss7w6Nsyh6UVVA9PYew/upzckObRGzTcDMJxwXIzL0Q5AA+XFiWhxqfsQXZMu3MHhWXFHj+GN30RnSbnB0cSfTZv960OCv0KqxxoR/8+uoyNbMUeqw92/SaKF2MXjmpMv/moWrGXtcXo9enMbqpLmLV4fDc5Sg6cqcUaYwL+qE4VdVEOuXaHFDMKUFo0579sNzT6aC7aQGOeBZxhtOM83OjlnCEt23Ldw54ejYLMffKQih6IdHWR9Hnbw1wLiT+++YqFLoOUhVqnGQ/DRIa6q2491UDdUWKfEq3RYr+My2wv7RePmRAc2FexFWnIS1QAD17EMWdFNVEEHtxotcyrKgLyMK7hketHG7tekWos59/sxPZttbWPd6phtS9CVqbaGkBBh80aizBSzQR+FXQ8df+bgfK4mLPvUa7dnvWPHUJ0NPgHdDiR3twTm6kwedOPOwo8+DcKyqHv8PoFSvoUkFdAnQaOOr0d2GQdHQOpvFYrB9vfkTXl26fil6xOIvuXmtzr7rz27rPrbnsEqDzppFzkrf+iWoBTcaPoHBdKmdmkkWMXlmLfj3cvk9bmfSO5x6YNuDrtT74vFp+/86RhpWfHg52uiF1H8AH1DeixGIz0gKsUw+nq87JkceXH1WjXecZhLdvz3d6UiVNr8K6sOkdNPH0Q4BRJKqmJJne4Mo6Lv51Vl6jODbQ2JhvNXYd0AkklzK+vbZcC/oYrHyYWJiFUVitfO14wIinLdO8g/tEBmrhfbC6gKunnYW8dbJlP94xAPeR+yo0b93web0ImiDOSDV5YZ26zCvkONKWr6uQ+64eEFFzTtfy24gK6ROzXTKIGQdmBHXxAq/H1Rer8L4yBTBG8CHU17MqgbaGdsl9rQnzPfxEI6TA7MSsT492hTj2M0fCBa+ri/XVApdPzFEvZNOo/TiuEr0pLUY2vBkuzdERl1Y+gBJuvumDo5q5GQ4Aup60Owz/CX4Msr3Z9bZpW57PDDe7HqN1qg65aQHd9bgs/UKkYNtaLaDrI9Y+JqZyUfrGFEA48VhpVaP0RF6GAKtJidgAt+jC4LsQxa7Y8/y0euSBrA34obsWDTrzC0cOly4yJ60jLiKI41l1XUTdRwlicoqjPZyqMaqZNmhlJIefdvI7QbfNYiTdbNMTSNuCtzOUqrdSnmzSaVvU3fvwNowPN+urBS4d1wtvxEhXa3kSfZMczXyPgM474gt4KvB+ML5Ftb1kiPUZzzWPvTzuKK7yqfvzju3tMLHnOZlHXZ/Ut1wimYyiUI50ZgN1pF5ji9HeLsjBRfzsTq0R9Kxi30qO8GuCLzjpdt3lUr+P1QKMDLmCTkcqLRDDO9Cd09Z9fEWhjo6jOIr5H50U6NqH7jM8aYDXXnX8pQlQL02g9/L1WQZObFQHQ1t30jYl+DheosDl4jriAl6++YhGN5FEQJkP1xEnM9qXhsAotwKWYdiPuf2qkb7n+eF+6PmH8LvJSPi2S4Dc/hL2n7r9LdQ86gqB6KJ1tFpAd6N0+aKpF/rk7Zk5xA8G4rzAKyWLJ3/kXrPZTJf8efJysRueMXyxK5XcE5P9n17MBqQFGIjoiNUCPTJQkJSgwa4CI2Q7+WJmHTEvE7dqwS/x2kH/Pgn65oX22Qw6d5p1mfPwc46r+MuxnU18QL5F4x0kwXQ0Fq+QmjAC1QIJUjHkXTaYyFdh6ehweUN8oKu3uliVhhW8uWzJ+AOhfbYA/firZ1Y3NFqzwJ0PDS+TTp2rahhKc/4xtBzCvXlOHnCymO/2SgTRXeQLf3RTdzx2HKnn0EXGMa9Jwyn2CSMYuKHkxSl/C2/bAnQerHp5cgl+6niGHax7Tsitpl8KDz8xFd8Z9fGF93x5so4un9Rb5Uno6nWU2AdfH5KVHjnSObdZjmBNBZWxLoQGSkvYwS3A8IqSF6GyNRQBOtuULTmvsnTxxB9YVuB6VG1sxW9O4zc1wb24lZrminHsopzRH482lTccc6eszEpEWoDLbmhEdbEPk1p8U5NTxqF5AAxORyUbVWI1PNbQEJhW9uI5n2laql36zE5T6/IXJi7Nu3H1CsO0r4OmmY2M5CT8oGmmw3IMjURZsWh3h/3pGbas3OKXE5hJy4lMs8s1WESwbAMOejwdUoaIVaR/nt6JKK1GoVAQDEF61lG4+Ks2GPRgQbId3InZl7cxQBeWLJ70ZYzHUYdigs4WHPX4txA9L8qfs34UfM7J2B6NFVmDxLB6i92q0KkLtfcPhX0vSqq3H6geC/98RHg/VwL0MW8e/hjvVy/Xim34CVG+21h+ePawjAk4HDG1byFN4q+r/dQH74aaDGOtFvnw4wC+2BJzo8db/XnJc1Njr7EMua7DuJAdXXXTrq8fI2lpUyPvz8LSjjXLjCEXHIw8Ft8eu65sqmTkjok4K+AvNnyZH0Xsb+eO/wWrg46Do/7gYAAAAABJRU5ErkJggg==`,this._readyState=ar()?$n.Loading:$n.NotFound,this._state=ar()?z.Loading:z.NotFound,this._supportNewTronProtocol=!1,this._onChainChanged=e=>{this.emit(`chainChanged`,e)},this._onAccountsChanged=()=>{let e=this.address||``,t=this._wallet?.tronWeb&&this._wallet?.tronWeb.defaultAddress?.base58||``;this.setAddress(t||null),this.setState(this.address?z.Connected:z.Disconnect),this.emit(`accountsChanged`,this.address||``,e),!e&&this.address?this.emit(`connect`,this.address):e&&!this.address&&this.emit(`disconnect`)},this._checkPromise=null,this._updateWallet=()=>{this._supportNewTronProtocol=!1;let e=this.state,t=this.address;if(or())window.tronLink?this._wallet=window.tronLink:this._wallet={ready:!!window.tronWeb?.defaultAddress,tronWeb:window.tronWeb,request:()=>Promise.resolve(!0)},t=this._wallet.tronWeb?.defaultAddress?.base58||null,e=t?z.Connected:z.Disconnect;else if(this.isLegacyTronLinkProvider(window.tron)){this._supportNewTronProtocol=!0,this._wallet=window.tron,this._listenTronEvent();try{t=this._wallet?.tronWeb&&this._wallet.tronWeb?.defaultAddress?.base58||null,e=t?z.Connected:z.Disconnect}catch{t=null,e=z.Disconnect,this._readyState=$n.NotFound,this.emit(`readyStateChanged`,this.readyState);return}}else window.tronLink?(this._wallet=window.tronLink,t=this._wallet.tronWeb?.defaultAddress?.base58||null,e=this._wallet.ready?z.Connected:z.Disconnect):(this._wallet=null,t=null,e=z.NotFound);or()&&e===z.Disconnect&&this.checkForWalletReadyForApp(),this.setAddress(t),this.setState(e)},this.checkReadyInterval=null;let{checkTimeout:t=30*1e3,dappIcon:n=``,dappName:r=``,openUrlWhenWalletNotFound:i=!0,openTronLinkAppOnMobile:a=!0,openAppWithDeeplink:o=!0}=e;if(typeof t!=`number`)throw Error(`[TronLinkAdapter] config.checkTimeout should be a number`);if(this.config={checkTimeout:t,openTronLinkAppOnMobile:a,openAppWithDeeplink:o,openUrlWhenWalletNotFound:i,dappIcon:n,dappName:r},this._connecting=!1,this._wallet=null,this._address=null,!ar()){this._readyState=$n.NotFound,this.setState(z.NotFound);return}or()&&(cr()||or()&&(window.tronLink||window.tronWeb))?(this._readyState=$n.Found,this._updateWallet()):this._checkWallet().then(()=>{this.connected&&this.emit(`connect`,this.address||``)})}get address(){return this._address}get state(){return this._state}get readyState(){return this._readyState}get connecting(){return this._connecting}network(){return pr(this,void 0,void 0,function*(){try{if(yield this._checkWallet(),this.state!==z.Connected)throw new Vn;let e=this._wallet?.tronWeb||window.tronWeb;if(!e)throw new Vn;try{return yield hr(e)}catch(e){throw new Jn(e?.message,e)}}catch(e){throw this.emit(`error`,e),e}})}connect(){return pr(this,void 0,void 0,function*(){try{if(this.checkIfOpenTronLink(),this.connected||this.connecting)return;if(yield this._checkWallet(),this.state===z.NotFound)throw this.config.openUrlWhenWalletNotFound!==!1&&ar()&&window.open(this.url,`_blank`),new Bn;if(!this._wallet)return;if(this._connecting=!0,this._supportNewTronProtocol){let e=this._wallet;try{let t=(yield e.request({method:`eth_requestAccounts`}))[0];this.setAddress(t),this.setState(z.Connected),this._listenTronEvent(),this._wallet.tronWeb||(yield fr(this._wallet))}catch(e){let t=e?.message||e||`Connect TronLink wallet failed.`;throw e.code===-32002&&(t=`The same DApp has already initiated a request to connect to TronLink wallet, and the pop-up window has not been closed.`),e.code===4001&&(t=`The user rejected connection.`),new Hn(t,e)}}else if(window.tronLink){let e=this._wallet;try{let t=yield e.request({method:`tron_requestAccounts`});if(!t)throw new Hn(`TronLink wallet is locked or no wallet account is avaliable.`);if(t.code===4e3)throw new Hn(`The same DApp has already initiated a request to connect to TronLink wallet, and the pop-up window has not been closed.`);if(t.code===4001)throw new Hn(`The user rejected connection.`)}catch(e){throw new Hn(e?.message,e)}let t=e.tronWeb.defaultAddress?.base58||``;this.setAddress(t),this.setState(z.Connected)}else if(window.tronWeb){let e=this._wallet.tronWeb.defaultAddress?.base58||``;this.setAddress(e),this.setState(z.Connected)}else throw new Hn(`Cannot connect wallet.`);this.connected&&this.emit(`connect`,this.address||``)}catch(e){throw this.emit(`error`,e),e}finally{this._connecting=!1}})}disconnect(){return pr(this,void 0,void 0,function*(){this._supportNewTronProtocol&&this._stopListenTronEvent(),this.state===z.Connected&&(this.setAddress(null),this.setState(z.Disconnect),this.emit(`disconnect`))})}_checkAndSign(e,t){return pr(this,void 0,void 0,function*(){try{let n=yield this.checkAndGetWallet();try{return yield e(n)}catch(e){throw e instanceof Error||typeof e==`object`&&e.message?new t(e.message,e):typeof e==`string`?new t(e,Error(e)):new t(`Unknown error`,e)}}catch(e){throw this.emit(`error`,e),e}})}signTransaction(e){return pr(this,void 0,void 0,function*(){return this._checkAndSign(t=>t.tronWeb.trx.sign(e),Gn)})}multiSign(e){return pr(this,arguments,void 0,function*(e,t={}){return this._checkAndSign(n=>n.tronWeb.trx.multiSign(e,void 0,t.permissionId),Gn)})}signMessage(e){return pr(this,void 0,void 0,function*(){return this._checkAndSign(t=>pr(this,void 0,void 0,function*(){return t.tronWeb.trx.signMessageV2(e)}),Wn)})}_signTypedData(e){return pr(this,void 0,void 0,function*(){return this._checkAndSign(t=>pr(this,void 0,void 0,function*(){return t.tronWeb.trx._signTypedData(e.domain,e.types,e.message)}),Yn)})}switchChain(e){return pr(this,void 0,void 0,function*(){try{if(yield this._checkWallet(),this.state===z.NotFound)throw this.config.openUrlWhenWalletNotFound!==!1&&ar()&&window.open(this.url,`_blank`),new Bn;if(!this._supportNewTronProtocol)throw new qn(`Current version of TronLink doesn't support switch chain operation.`);let t=this._wallet;try{yield t.request({method:`wallet_switchEthereumChain`,params:[{chainId:e}]})}catch(e){throw new qn(e?.message||e,e instanceof Error?e:Error(e))}}catch(e){throw this.emit(`error`,e),e}})}checkAndGetWallet(){return pr(this,void 0,void 0,function*(){if(this.checkIfOpenTronLink(),yield this._checkWallet(),this.state!==z.Connected)throw new Vn;let e=this._wallet;if(!e||!e.tronWeb)throw new Vn;return e})}checkIfOpenTronLink(){let{dappName:e=``,dappIcon:t=``}=this.config;if(!(this.config.openTronLinkAppOnMobile===!1||this.config.openAppWithDeeplink===!1)&&dr({dappIcon:t,dappName:e}))throw new Bn}_listenTronEvent(){var e,t;this._stopListenTronEvent();let n=this._wallet;(e=n.on)==null||e.call(n,`chainChanged`,this._onChainChanged),(t=n.on)==null||t.call(n,`accountsChanged`,this._onAccountsChanged)}_stopListenTronEvent(){var e,t;let n=this._wallet;(e=n.removeListener)==null||e.call(n,`chainChanged`,this._onChainChanged),(t=n.removeListener)==null||t.call(n,`accountsChanged`,this._onAccountsChanged)}isLegacyTronLinkProvider(e){return!!e?.isTronLink}hasDesktopLegacyTronLinkProvider(){return this.isLegacyTronLinkProvider(window.tron)||!!window.tronLink}_checkWallet(){if(this.readyState===$n.Found)return Promise.resolve(!0);if(this._checkPromise)return this._checkPromise;if(ar()&&!or())return this._checkPromise=new Promise(e=>{let t=!1,n=null,r=null,i=null,a=()=>{r&&=(clearInterval(r),null),n&&=(clearTimeout(n),null),typeof window<`u`&&i&&window.removeEventListener(rr,i)};n=setTimeout(()=>{if(t)return;if(t=!0,a(),typeof window>`u`){e(!1);return}this._updateWallet();let n=this.state!==z.NotFound;this._readyState=n?$n.Found:$n.NotFound,this.emit(`readyStateChanged`,this._readyState),e(n)},this.config.checkTimeout),i=n=>{if(t)return;let{info:r,provider:i}=n.detail;if(r.name===`TronLink`){t=!0,this._supportNewTronProtocol=!0,this._wallet=i,this._listenTronEvent(),this._readyState=$n.Found;let n=this._wallet?.tronWeb&&this._wallet.tronWeb.defaultAddress?.base58||null,r=n?z.Connected:z.Disconnect;this.setAddress(n),this.setState(r),this.emit(`readyStateChanged`,this.readyState),a(),e(!0)}},window.addEventListener(rr,i),window.dispatchEvent(new Event(ir))}),this._checkPromise;let e=Math.floor(this.config.checkTimeout/100),t=0,n;return this._checkPromise=new Promise(r=>{let i=()=>{t++,this._updateWallet();let i=this.state!==z.NotFound;(i||t>e)&&(n&&clearInterval(n),this._readyState=i?$n.Found:$n.NotFound,this.emit(`readyStateChanged`,this.readyState),r(i))};n=setInterval(i,100),i()}),this._checkPromise}checkForWalletReadyForApp(){if(this.checkReadyInterval)return;let e=0,t=Math.floor(this.config.checkTimeout/200),n=()=>{(window.tronLink?window.tronLink.tronWeb?.defaultAddress:window.tronWeb?.defaultAddress)?(this.checkReadyInterval&&clearInterval(this.checkReadyInterval),this.checkReadyInterval=null,this._updateWallet(),this.emit(`connect`,this.address||``)):e>t?(this.checkReadyInterval&&clearInterval(this.checkReadyInterval),this.checkReadyInterval=null):e++};this.checkReadyInterval=setInterval(n,200)}setAddress(e){this._address=e}setState(e){e!==this.state&&(this._state=e,this.emit(`stateChanged`,e))}};function vr(){return!!window.tronLink&&window.isBitKeep}function yr(){if(or()&&!vr()){let{origin:e,pathname:t,search:n,hash:r}=window.location,i=e+t+n+r;return location.href=`https://bkcode.vip?action=dapp&url=${encodeURIComponent(i)}`,!0}return!1}var br=function(e,t,n,r){function i(e){return e instanceof n?e:new n(function(t){t(e)})}return new(n||=Promise)(function(n,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){e.done?n(e.value):i(e.value).then(o,s)}c((r=r.apply(e,t||[])).next())})},xr=`Bitget Wallet`,Sr=class extends er{constructor(e={}){super(),this.name=xr,this.url=`https://web3.bitget.com`,this.icon=`data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTEyIiBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxyZWN0IHdpZHRoPSI1MTIiIGhlaWdodD0iNTEyIiBmaWxsPSIjMDAxRjI5Ii8+CjxwYXRoIGQ9Ik0yMTkuOTQ4IDk1LjcwMjJDMjAxLjYyMyA5NS42OTI5IDE4My4zMyA5NS42ODM1IDE2NC45NDEgOTUuNzExNkMxNTMuODIyIDk1LjcxMTYgMTQ5LjY1MSAxMDkuNjcxIDE1Ny45MjEgMTE3LjkzOUwyODMuMDk4IDI0My4xMTdDMjg3LjAwNCAyNDYuNjkgMjg5LjQ0MSAyNTAuNTc0IDI4OS41MyAyNTUuNjkzQzI4OS40NDEgMjYwLjgxMiAyODcuMDA0IDI2NC42OTYgMjgzLjA5OCAyNjguMjY5TDE1Ny45MjEgMzkzLjQ0NkMxNDkuNjUxIDQwMS43MTUgMTUzLjgyMiA0MTUuNjc0IDE2NC45NDEgNDE1LjY3NEMxODMuMzMgNDE1LjcwMiAyMDEuNjIzIDQxNS42OTMgMjE5Ljk0OCA0MTUuNjgzQzIyOS4xMjIgNDE1LjY3OSAyMzguMzA1IDQxNS42NzQgMjQ3LjUxMSA0MTUuNjc0QzI1OS41NTUgNDE1LjY3NCAyNjYuNzIgNDA5LjI0IDI3My4xNTQgNDAyLjgwNUwzODYuMDQ3IDI4OS45MTJDMzk1LjA1NyAyODAuOTAyIDQwMy4xMTkgMjY4LjkzOSA0MDMuMDA5IDI1NS42OTNDNDAzLjExOSAyNDIuNDQ3IDM5NS4wNTcgMjMwLjQ4NCAzODYuMDQ3IDIyMS40NzRMMjczLjE1NCAxMDguNThDMjY2LjcyIDEwMi4xNDYgMjU5LjU1NSA5NS43MTE2IDI0Ny41MTEgOTUuNzExNkMyMzguMzA1IDk1LjcxMTYgMjI5LjEyMiA5NS43MDY5IDIxOS45NDggOTUuNzAyMloiIGZpbGw9IiMwMEYwRkYiLz4KPC9zdmc+Cg==`,this._readyState=$n.Loading,this._state=z.Loading,this.checkReadyInterval=null,this._checkPromise=null,this._updateWallet=()=>br(this,void 0,void 0,function*(){let e=this.state,t=this.address;if(vr()){if(or()){let e=window.bitkeep?.tronLink;this._wallet={tron:e,tronWeb:e?.tronWeb}}else{let e=window.bitkeep?.tronWeb;this._wallet={tron:window.bitkeep.tronLink,tronWeb:e}}t=this._wallet.tron?.ready?this._wallet.tronWeb.defaultAddress?.base58||null:``,e=this._wallet.tron?.ready?z.Connected:z.Disconnect,this._wallet.tron?.ready||this.checkForWalletReady()}else this._wallet=null,t=null,e=z.NotFound;this.setAddress(t),this.setState(e)});let{checkTimeout:t=2*1e3,openUrlWhenWalletNotFound:n=!0,openAppWithDeeplink:r=!0}=e;if(typeof t!=`number`)throw Error(`[BitKeepAdapter] config.checkTimeout should be a number`);if(this.config={checkTimeout:t,openUrlWhenWalletNotFound:n,openAppWithDeeplink:r},this._connecting=!1,this._wallet=null,this._address=null,!ar()){this._readyState=$n.NotFound,this.setState(z.NotFound);return}vr()?(this._readyState=$n.Found,this._updateWallet()):this._checkWallet().then(()=>{this.connected&&this.emit(`connect`,this.address||``)})}get address(){return this._address}get state(){return this._state}get readyState(){return this._readyState}get connecting(){return this._connecting}network(){return br(this,void 0,void 0,function*(){try{if(yield this._checkWallet(),this.state!==z.Connected)throw new Vn;let e=this._wallet;if(!e||!e.tronWeb)throw new Vn;try{return yield hr(e.tronWeb)}catch(e){throw new Jn(e?.message,e)}}catch(e){throw this.emit(`error`,e),e}})}connect(){return br(this,void 0,void 0,function*(){try{if(this.checkIfOpenApp(),this.connected||this.connecting)return;if(yield this._checkWallet(),this.readyState===$n.NotFound)throw this.config.openUrlWhenWalletNotFound!==!1&&ar()&&window.open(this.url,`_blank`),new Bn;let e=this._wallet;if(!or()){if(!e)return;this._connecting=!0;try{let t=yield e.tron.request({method:`tron_requestAccounts`});if(t?.code!==200)throw new Hn(t?.code===40001?`The connection request is canceled by user.`:t?.message)}catch(e){throw e instanceof zn?e:new Hn(e?.message,e)}}let t=e?.tronWeb.defaultAddress?.base58||window.bitkeep?.tronWeb?.defaultAddress?.base58||``;this.setAddress(t),this.setState(z.Connected),this.emit(`connect`,this.address||``)}catch(e){throw this.emit(`error`,e),e}finally{this._connecting=!1}})}disconnect(){return br(this,void 0,void 0,function*(){this.state===z.Connected&&(this.setAddress(null),this.setState(z.Disconnect),this.emit(`disconnect`))})}signTransaction(e){return br(this,void 0,void 0,function*(){try{let t=yield this.checkAndGetWallet();try{return yield t.tronWeb.trx.sign(e)}catch(e){throw e instanceof Error?new Gn(e.message,e):new Gn(e,Error(e))}}catch(e){throw this.emit(`error`,e),e}})}multiSign(e){return br(this,arguments,void 0,function*(e,t={}){try{let n=yield this.checkAndGetWallet();try{return yield n.tronWeb.trx.multiSign(e,void 0,t.permissionId)}catch(e){throw e instanceof Error?new Gn(e.message,e):new Gn(e,Error(e))}}catch(e){throw this.emit(`error`,e),e}})}signMessage(e){return br(this,void 0,void 0,function*(){try{let t=yield this.checkAndGetWallet();try{return yield t.tronWeb.trx.signMessageV2(e)}catch(e){throw e instanceof Error?new Wn(e.message,e):new Wn(e,Error(e))}}catch(e){throw this.emit(`error`,e),e}})}checkAndGetWallet(){return br(this,void 0,void 0,function*(){if(this.checkIfOpenApp(),yield this._checkWallet(),!this.connected)throw new Vn;let e=this._wallet;if(!e||!e.tronWeb)throw new Vn;return e})}checkForWalletReady(){if(this.checkReadyInterval)return;let e=0,t=Math.floor(this.config.checkTimeout/200),n=()=>br(this,void 0,void 0,function*(){this._wallet&&this._wallet?.tron.ready?(this.checkReadyInterval&&clearInterval(this.checkReadyInterval),this.checkReadyInterval=null,yield this._updateWallet(),this.emit(`connect`,this.address||``)):e>t?(this.checkReadyInterval&&clearInterval(this.checkReadyInterval),this.checkReadyInterval=null):e++});this.checkReadyInterval=setInterval(n,200)}_checkWallet(){if(this.readyState===$n.Found)return Promise.resolve(!0);if(this._checkPromise)return this._checkPromise;let e=Math.floor(this.config.checkTimeout/100),t=0,n;return this._checkPromise=new Promise(r=>{let i=()=>{t++;let i=vr();(i||t>e)&&(n&&clearInterval(n),this._readyState=i?$n.Found:$n.NotFound,this._updateWallet(),this.emit(`readyStateChanged`,this.readyState),r(i))};n=setInterval(i,100),i()}),this._checkPromise}checkIfOpenApp(){if(this.config.openAppWithDeeplink!==!1&&yr())throw new Bn}setAddress(e){this._address=e}setState(e){e!==this.state&&(this._state=e,this.emit(`stateChanged`,e))}};h(),typeof window<`u`&&window.Buffer===void 0&&(window.Buffer=g);var Cr=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=`,wr=class{encode(e){let t=``,n,r,i,a,o,s,c,l=0;for(;l<e.length;)n=e.charCodeAt(l++),r=e.charCodeAt(l++),i=e.charCodeAt(l++),a=n>>2,o=(n&3)<<4|r>>4,s=(r&15)<<2|i>>6,c=i&63,isNaN(r)?s=c=64:isNaN(i)&&(c=64),t=t+Cr.charAt(a)+Cr.charAt(o)+Cr.charAt(s)+Cr.charAt(c);return t}encodeIgnoreUtf8(e){let t=``,n,r,i,a,o,s,c,l=0;for(;l<e.length;)n=e[l++],r=e[l++],i=e[l++],a=n>>2,o=(n&3)<<4|r>>4,s=(r&15)<<2|i>>6,c=i&63,isNaN(r)?s=c=64:isNaN(i)&&(c=64),t=t+Cr.charAt(a)+Cr.charAt(o)+Cr.charAt(s)+Cr.charAt(c);return t}decode(e){let t=``,n,r,i,a,o,s,c,l=0;for(e=e.replace(/[^A-Za-z0-9\+\/\=]/g,``);l<e.length;)a=Cr.indexOf(e.charAt(l++)),o=Cr.indexOf(e.charAt(l++)),s=Cr.indexOf(e.charAt(l++)),c=Cr.indexOf(e.charAt(l++)),n=a<<2|o>>4,r=(o&15)<<4|s>>2,i=(s&3)<<6|c,t+=String.fromCharCode(n),s!=64&&(t+=String.fromCharCode(r)),c!=64&&(t+=String.fromCharCode(i));return this._utf8_decode(t)}decodeToByteArray(e){let t=``,n,r,i,a,o,s,c,l=0;for(e=e.replace(/[^A-Za-z0-9\+\/\=]/g,``);l<e.length;)a=Cr.indexOf(e.charAt(l++)),o=Cr.indexOf(e.charAt(l++)),s=Cr.indexOf(e.charAt(l++)),c=Cr.indexOf(e.charAt(l++)),n=a<<2|o>>4,r=(o&15)<<4|s>>2,i=(s&3)<<6|c,t+=String.fromCharCode(n),s!=64&&(t+=String.fromCharCode(r)),c!=64&&(t+=String.fromCharCode(i));return this._out2ByteArray(t)}_out2ByteArray(e){let t=Array(e.length),n=0,r=0;for(;n<e.length;)r=e.charCodeAt(n),t[n]=r,n++;return t}_utf8_encode(e){e=e.replace(/\r\n/g,`
|
|
1
|
+
import{r as e,s as t,t as n}from"./chunk-DskFaGUe.js";import{n as r,t as i}from"./dist-AaDowojq.js";import{G as a,V as o,b as s,n as c,t as l,y as u}from"./createConnector-pbKKdb_k.js";import{n as d}from"./MaybeAsync-DQF5lNPa.js";import{n as f,t as p}from"./dist-CnrnoiXF.js";import{t as m}from"./images-qNtx67Rl.js";import{i as h,n as g,t as _}from"./dist-CI5CUy_C.js";import{c as v}from"./toBytes-mEwmeAtc.js";import{t as y}from"./eventemitter3-GIHOcGPd.js";import{r as b}from"./networks-2E-BIrmm.js";import{s as x}from"./misc-BtIN6y6p.js";import{n as S}from"./index.es-CYq9dm6R.js";import{a as ee,i as te,n as C,o as ne,r as re,t as ie}from"./Transport-CTcyfV4u.js";import{i as ae,t as oe}from"./index.es-CSMV5GvF.js";import{c as w,l as se}from"./exports-C0etCzta.js";import{t as ce}from"./tron-connector-meta-MHdOXNYh.js";import{a as le,c as ue,i as de,l as fe,n as pe,o as me,s as he,t as ge}from"./sha256-lf5E06X0.js";import{n as _e,t as ve}from"./bignumber-D-4SK89W.js";import{C as ye,F as T,G as E,J as be,N as xe,P as D,S as Se,V as Ce,Y as O,_ as we,a as Te,b as Ee,d as De,g as Oe,h as ke,i as k,j as A,k as Ae,l as je,m as Me,p as Ne,r as Pe,s as Fe,t as Ie,u as Le,v as j,x as Re}from"./AccountController-CJRXhfjS.js";import{t as ze}from"./OnRampController-CnB7EPUh.js";import{t as M}from"./EnsController-8Uw5Wcvf.js";import{i as Be,n as Ve,r as He,t as Ue}from"./SIWXUtil-CFhuFUCz.js";import{t as We}from"./ConstantsUtil-1l491RAf.js";import{a as N,i as Ge,n as Ke,r as qe,t as Je}from"./ConnectorUtil-CHxyaiYG.js";import{t as Ye}from"./ErrorUtil-CydnDAXf.js";import{t as Xe}from"./ProviderUtil-Bi6TMBp3.js";import{t as Ze}from"./W3mFrameProvider-Bxph4SwX.js";import{t as Qe}from"./W3mFrameHelpers-BKFDp3vN.js";import"./ConstantsUtil-D8lf0Ne3.js";var $e={createLogger(e,t=`error`){let{logger:n}=oe({opts:ae({level:t})});return n.error=(...t)=>{for(let n of t)if(n instanceof Error){e(n,...t);return}e(void 0,...t)},n}},et=class extends pe{constructor(e,t){super(),this.finished=!1,this.destroyed=!1,fe(e);let n=me(t);if(this.iHash=e.create(),typeof this.iHash.update!=`function`)throw Error(`Expected instance of class which extends utils.Hash`);this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;let r=this.blockLen,i=new Uint8Array(r);i.set(n.length>r?e.create().update(n).digest():n);for(let e=0;e<i.length;e++)i[e]^=54;this.iHash.update(i),this.oHash=e.create();for(let e=0;e<i.length;e++)i[e]^=106;this.oHash.update(i),i.fill(0)}update(e){return ue(this),this.iHash.update(e),this}digestInto(e){ue(this),he(e,this.outputLen),this.finished=!0,this.iHash.digestInto(e),this.oHash.update(e),this.oHash.digestInto(e),this.destroy()}digest(){let e=new Uint8Array(this.oHash.outputLen);return this.digestInto(e),e}_cloneInto(e){e||=Object.create(Object.getPrototypeOf(this),{});let{oHash:t,iHash:n,finished:r,destroyed:i,blockLen:a,outputLen:o}=this;return e=e,e.finished=r,e.destroyed=i,e.blockLen=a,e.outputLen=o,e.oHash=t._cloneInto(e.oHash),e.iHash=n._cloneInto(e.iHash),e}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}},tt=(e,t,n)=>new et(e,t).update(n).digest();tt.create=(e,t)=>new et(e,t);var nt=e({abytes:()=>st,bitGet:()=>bt,bitLen:()=>yt,bitMask:()=>St,bitSet:()=>xt,bytesToHex:()=>lt,bytesToNumberBE:()=>pt,bytesToNumberLE:()=>mt,concatBytes:()=>_t,createHmacDrbg:()=>Tt,ensureBytes:()=>gt,equalBytes:()=>vt,hexToBytes:()=>F,hexToNumber:()=>dt,isBytes:()=>ot,numberToBytesBE:()=>ht,numberToBytesLE:()=>I,numberToHexUnpadded:()=>ut,numberToVarBytesBE:()=>L,utf8ToBytes:()=>R,validateObject:()=>Dt}),rt=BigInt(0),it=BigInt(1),at=BigInt(2);function ot(e){return e instanceof Uint8Array||typeof e==`object`&&!!e&&e.constructor.name===`Uint8Array`}function st(e){if(!ot(e))throw Error(`Uint8Array expected`)}var ct=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,`0`));function lt(e){st(e);let t=``;for(let n=0;n<e.length;n++)t+=ct[e[n]];return t}function ut(e){let t=e.toString(16);return t.length&1?`0${t}`:t}function dt(e){if(typeof e!=`string`)throw Error(`hex string expected, got `+typeof e);return BigInt(e===``?`0`:`0x${e}`)}var ft={_0:48,_9:57,_A:65,_F:70,_a:97,_f:102};function P(e){if(e>=ft._0&&e<=ft._9)return e-ft._0;if(e>=ft._A&&e<=ft._F)return e-(ft._A-10);if(e>=ft._a&&e<=ft._f)return e-(ft._a-10)}function F(e){if(typeof e!=`string`)throw Error(`hex string expected, got `+typeof e);let t=e.length,n=t/2;if(t%2)throw Error(`padded hex string expected, got unpadded hex of length `+t);let r=new Uint8Array(n);for(let t=0,i=0;t<n;t++,i+=2){let n=P(e.charCodeAt(i)),a=P(e.charCodeAt(i+1));if(n===void 0||a===void 0){let t=e[i]+e[i+1];throw Error(`hex string expected, got non-hex character "`+t+`" at index `+i)}r[t]=n*16+a}return r}function pt(e){return dt(lt(e))}function mt(e){return st(e),dt(lt(Uint8Array.from(e).reverse()))}function ht(e,t){return F(e.toString(16).padStart(t*2,`0`))}function I(e,t){return ht(e,t).reverse()}function L(e){return F(ut(e))}function gt(e,t,n){let r;if(typeof t==`string`)try{r=F(t)}catch(n){throw Error(`${e} must be valid hex string, got "${t}". Cause: ${n}`)}else if(ot(t))r=Uint8Array.from(t);else throw Error(`${e} must be hex string or Uint8Array`);let i=r.length;if(typeof n==`number`&&i!==n)throw Error(`${e} expected ${n} bytes, got ${i}`);return r}function _t(...e){let t=0;for(let n=0;n<e.length;n++){let r=e[n];st(r),t+=r.length}let n=new Uint8Array(t);for(let t=0,r=0;t<e.length;t++){let i=e[t];n.set(i,r),r+=i.length}return n}function vt(e,t){if(e.length!==t.length)return!1;let n=0;for(let r=0;r<e.length;r++)n|=e[r]^t[r];return n===0}function R(e){if(typeof e!=`string`)throw Error(`utf8ToBytes expected string, got ${typeof e}`);return new Uint8Array(new TextEncoder().encode(e))}function yt(e){let t;for(t=0;e>rt;e>>=it,t+=1);return t}function bt(e,t){return e>>BigInt(t)&it}function xt(e,t,n){return e|(n?it:rt)<<BigInt(t)}var St=e=>(at<<BigInt(e-1))-it,Ct=e=>new Uint8Array(e),wt=e=>Uint8Array.from(e);function Tt(e,t,n){if(typeof e!=`number`||e<2)throw Error(`hashLen must be a number`);if(typeof t!=`number`||t<2)throw Error(`qByteLen must be a number`);if(typeof n!=`function`)throw Error(`hmacFn must be a function`);let r=Ct(e),i=Ct(e),a=0,o=()=>{r.fill(1),i.fill(0),a=0},s=(...e)=>n(i,r,...e),c=(e=Ct())=>{i=s(wt([0]),e),r=s(),e.length!==0&&(i=s(wt([1]),e),r=s())},l=()=>{if(a++>=1e3)throw Error(`drbg: tried 1000 values`);let e=0,n=[];for(;e<t;){r=s();let t=r.slice();n.push(t),e+=r.length}return _t(...n)};return(e,t)=>{o(),c(e);let n;for(;!(n=t(l()));)c();return o(),n}}var Et={bigint:e=>typeof e==`bigint`,function:e=>typeof e==`function`,boolean:e=>typeof e==`boolean`,string:e=>typeof e==`string`,stringOrUint8Array:e=>typeof e==`string`||ot(e),isSafeInteger:e=>Number.isSafeInteger(e),array:e=>Array.isArray(e),field:(e,t)=>t.Fp.isValid(e),hash:e=>typeof e==`function`&&Number.isSafeInteger(e.outputLen)};function Dt(e,t,n={}){let r=(t,n,r)=>{let i=Et[n];if(typeof i!=`function`)throw Error(`Invalid validator "${n}", expected function`);let a=e[t];if(!(r&&a===void 0)&&!i(a,e))throw Error(`Invalid param ${String(t)}=${a} (${typeof a}), expected ${n}`)};for(let[e,n]of Object.entries(t))r(e,n,!1);for(let[e,t]of Object.entries(n))r(e,t,!0);return e}var Ot=BigInt(0),kt=BigInt(1),At=BigInt(2),jt=BigInt(3),Mt=BigInt(4),Nt=BigInt(5),Pt=BigInt(8),Ft=BigInt(16);function It(e,t){let n=e%t;return n>=Ot?n:t+n}function Lt(e,t,n){if(n<=Ot||t<Ot)throw Error(`Expected power/modulo > 0`);if(n===kt)return Ot;let r=kt;for(;t>Ot;)t&kt&&(r=r*e%n),e=e*e%n,t>>=kt;return r}function Rt(e,t,n){let r=e;for(;t-- >Ot;)r*=r,r%=n;return r}function zt(e,t){if(e===Ot||t<=Ot)throw Error(`invert: expected positive integers, got n=${e} mod=${t}`);let n=It(e,t),r=t,i=Ot,a=kt,o=kt,s=Ot;for(;n!==Ot;){let e=r/n,t=r%n,c=i-o*e,l=a-s*e;r=n,n=t,i=o,a=s,o=c,s=l}if(r!==kt)throw Error(`invert: does not exist`);return It(i,t)}function Bt(e){let t=(e-kt)/At,n,r,i;for(n=e-kt,r=0;n%At===Ot;n/=At,r++);for(i=At;i<e&&Lt(i,t,e)!==e-kt;i++);if(r===1){let t=(e+kt)/Mt;return function(e,n){let r=e.pow(n,t);if(!e.eql(e.sqr(r),n))throw Error(`Cannot find square root`);return r}}let a=(n+kt)/At;return function(e,o){if(e.pow(o,t)===e.neg(e.ONE))throw Error(`Cannot find square root`);let s=r,c=e.pow(e.mul(e.ONE,i),n),l=e.pow(o,a),u=e.pow(o,n);for(;!e.eql(u,e.ONE);){if(e.eql(u,e.ZERO))return e.ZERO;let t=1;for(let n=e.sqr(u);t<s&&!e.eql(n,e.ONE);t++)n=e.sqr(n);let n=e.pow(c,kt<<BigInt(s-t-1));c=e.sqr(n),l=e.mul(l,n),u=e.mul(u,c),s=t}return l}}function Vt(e){if(e%Mt===jt){let t=(e+kt)/Mt;return function(e,n){let r=e.pow(n,t);if(!e.eql(e.sqr(r),n))throw Error(`Cannot find square root`);return r}}if(e%Pt===Nt){let t=(e-Nt)/Pt;return function(e,n){let r=e.mul(n,At),i=e.pow(r,t),a=e.mul(n,i),o=e.mul(e.mul(a,At),i),s=e.mul(a,e.sub(o,e.ONE));if(!e.eql(e.sqr(s),n))throw Error(`Cannot find square root`);return s}}return e%Ft,Bt(e)}var Ht=[`create`,`isValid`,`is0`,`neg`,`inv`,`sqrt`,`sqr`,`eql`,`add`,`sub`,`mul`,`pow`,`div`,`addN`,`subN`,`mulN`,`sqrN`];function Ut(e){return Dt(e,Ht.reduce((e,t)=>(e[t]=`function`,e),{ORDER:`bigint`,MASK:`bigint`,BYTES:`isSafeInteger`,BITS:`isSafeInteger`}))}function Wt(e,t,n){if(n<Ot)throw Error(`Expected power > 0`);if(n===Ot)return e.ONE;if(n===kt)return t;let r=e.ONE,i=t;for(;n>Ot;)n&kt&&(r=e.mul(r,i)),i=e.sqr(i),n>>=kt;return r}function Gt(e,t){let n=Array(t.length),r=t.reduce((t,r,i)=>e.is0(r)?t:(n[i]=t,e.mul(t,r)),e.ONE),i=e.inv(r);return t.reduceRight((t,r,i)=>e.is0(r)?t:(n[i]=e.mul(t,n[i]),e.mul(t,r)),i),n}function Kt(e,t){let n=t===void 0?e.toString(2).length:t;return{nBitLength:n,nByteLength:Math.ceil(n/8)}}function qt(e,t,n=!1,r={}){if(e<=Ot)throw Error(`Expected Field ORDER > 0, got ${e}`);let{nBitLength:i,nByteLength:a}=Kt(e,t);if(a>2048)throw Error(`Field lengths over 2048 bytes are not supported`);let o=Vt(e),s=Object.freeze({ORDER:e,BITS:i,BYTES:a,MASK:St(i),ZERO:Ot,ONE:kt,create:t=>It(t,e),isValid:t=>{if(typeof t!=`bigint`)throw Error(`Invalid field element: expected bigint, got ${typeof t}`);return Ot<=t&&t<e},is0:e=>e===Ot,isOdd:e=>(e&kt)===kt,neg:t=>It(-t,e),eql:(e,t)=>e===t,sqr:t=>It(t*t,e),add:(t,n)=>It(t+n,e),sub:(t,n)=>It(t-n,e),mul:(t,n)=>It(t*n,e),pow:(e,t)=>Wt(s,e,t),div:(t,n)=>It(t*zt(n,e),e),sqrN:e=>e*e,addN:(e,t)=>e+t,subN:(e,t)=>e-t,mulN:(e,t)=>e*t,inv:t=>zt(t,e),sqrt:r.sqrt||(e=>o(s,e)),invertBatch:e=>Gt(s,e),cmov:(e,t,n)=>n?t:e,toBytes:e=>n?I(e,a):ht(e,a),fromBytes:e=>{if(e.length!==a)throw Error(`Fp.fromBytes: expected ${a}, got ${e.length}`);return n?mt(e):pt(e)}});return Object.freeze(s)}function Jt(e){if(typeof e!=`bigint`)throw Error(`field order must be bigint`);let t=e.toString(2).length;return Math.ceil(t/8)}function Yt(e){let t=Jt(e);return t+Math.ceil(t/2)}function Xt(e,t,n=!1){let r=e.length,i=Jt(t),a=Yt(t);if(r<16||r<a||r>1024)throw Error(`expected ${a}-1024 bytes of input, got ${r}`);let o=It(n?pt(e):mt(e),t-kt)+kt;return n?I(o,i):ht(o,i)}var Zt=BigInt(0),Qt=BigInt(1);function $t(e,t){let n=(e,t)=>{let n=t.negate();return e?n:t},r=e=>({windows:Math.ceil(t/e)+1,windowSize:2**(e-1)});return{constTimeNegate:n,unsafeLadder(t,n){let r=e.ZERO,i=t;for(;n>Zt;)n&Qt&&(r=r.add(i)),i=i.double(),n>>=Qt;return r},precomputeWindow(e,t){let{windows:n,windowSize:i}=r(t),a=[],o=e,s=o;for(let e=0;e<n;e++){s=o,a.push(s);for(let e=1;e<i;e++)s=s.add(o),a.push(s);o=s.double()}return a},wNAF(t,i,a){let{windows:o,windowSize:s}=r(t),c=e.ZERO,l=e.BASE,u=BigInt(2**t-1),d=2**t,f=BigInt(t);for(let e=0;e<o;e++){let t=e*s,r=Number(a&u);a>>=f,r>s&&(r-=d,a+=Qt);let o=t,p=t+Math.abs(r)-1,m=e%2!=0,h=r<0;r===0?l=l.add(n(m,i[o])):c=c.add(n(h,i[p]))}return{p:c,f:l}},wNAFCached(e,t,n,r){let i=e._WINDOW_SIZE||1,a=t.get(e);return a||(a=this.precomputeWindow(e,i),i!==1&&t.set(e,r(a))),this.wNAF(i,a,n)}}}function en(e){return Ut(e.Fp),Dt(e,{n:`bigint`,h:`bigint`,Gx:`field`,Gy:`field`},{nBitLength:`isSafeInteger`,nByteLength:`isSafeInteger`}),Object.freeze({...Kt(e.n,e.nBitLength),...e,p:e.Fp.ORDER})}function tn(e){let t=en(e);Dt(t,{a:`field`,b:`field`},{allowedPrivateKeyLengths:`array`,wrapPrivateKey:`boolean`,isTorsionFree:`function`,clearCofactor:`function`,allowInfinityPoint:`boolean`,fromBytes:`function`,toBytes:`function`});let{endo:n,Fp:r,a:i}=t;if(n){if(!r.eql(i,r.ZERO))throw Error(`Endomorphism can only be defined for Koblitz curves that have a=0`);if(typeof n!=`object`||typeof n.beta!=`bigint`||typeof n.splitScalar!=`function`)throw Error(`Expected endomorphism with beta: bigint and splitScalar: function`)}return Object.freeze({...t})}var{bytesToNumberBE:nn,hexToBytes:rn}=nt,an={Err:class extends Error{constructor(e=``){super(e)}},_parseInt(e){let{Err:t}=an;if(e.length<2||e[0]!==2)throw new t(`Invalid signature integer tag`);let n=e[1],r=e.subarray(2,n+2);if(!n||r.length!==n)throw new t(`Invalid signature integer: wrong length`);if(r[0]&128)throw new t(`Invalid signature integer: negative`);if(r[0]===0&&!(r[1]&128))throw new t(`Invalid signature integer: unnecessary leading zero`);return{d:nn(r),l:e.subarray(n+2)}},toSig(e){let{Err:t}=an,n=typeof e==`string`?rn(e):e;st(n);let r=n.length;if(r<2||n[0]!=48)throw new t(`Invalid signature tag`);if(n[1]!==r-2)throw new t(`Invalid signature: incorrect length`);let{d:i,l:a}=an._parseInt(n.subarray(2)),{d:o,l:s}=an._parseInt(a);if(s.length)throw new t(`Invalid signature: left bytes after parsing`);return{r:i,s:o}},hexFromSig(e){let t=e=>Number.parseInt(e[0],16)&8?`00`+e:e,n=e=>{let t=e.toString(16);return t.length&1?`0${t}`:t},r=t(n(e.s)),i=t(n(e.r)),a=r.length/2,o=i.length/2,s=n(a),c=n(o);return`30${n(o+a+4)}02${c}${i}02${s}${r}`}},on=BigInt(0),sn=BigInt(1),cn=BigInt(2),ln=BigInt(3),un=BigInt(4);function dn(e){let t=tn(e),{Fp:n}=t,r=t.toBytes||((e,t,r)=>{let i=t.toAffine();return _t(Uint8Array.from([4]),n.toBytes(i.x),n.toBytes(i.y))}),i=t.fromBytes||(e=>{let t=e.subarray(1);return{x:n.fromBytes(t.subarray(0,n.BYTES)),y:n.fromBytes(t.subarray(n.BYTES,2*n.BYTES))}});function a(e){let{a:r,b:i}=t,a=n.sqr(e),o=n.mul(a,e);return n.add(n.add(o,n.mul(e,r)),i)}if(!n.eql(n.sqr(t.Gy),a(t.Gx)))throw Error(`bad generator point: equation left != right`);function o(e){return typeof e==`bigint`&&on<e&&e<t.n}function s(e){if(!o(e))throw Error(`Expected valid bigint: 0 < bigint < curve.n`)}function c(e){let{allowedPrivateKeyLengths:n,nByteLength:r,wrapPrivateKey:i,n:a}=t;if(n&&typeof e!=`bigint`){if(ot(e)&&(e=lt(e)),typeof e!=`string`||!n.includes(e.length))throw Error(`Invalid key`);e=e.padStart(r*2,`0`)}let o;try{o=typeof e==`bigint`?e:pt(gt(`private key`,e,r))}catch{throw Error(`private key must be ${r} bytes, hex or bigint, not ${typeof e}`)}return i&&(o=It(o,a)),s(o),o}let l=new Map;function u(e){if(!(e instanceof d))throw Error(`ProjectivePoint expected`)}class d{constructor(e,t,r){if(this.px=e,this.py=t,this.pz=r,e==null||!n.isValid(e))throw Error(`x required`);if(t==null||!n.isValid(t))throw Error(`y required`);if(r==null||!n.isValid(r))throw Error(`z required`)}static fromAffine(e){let{x:t,y:r}=e||{};if(!e||!n.isValid(t)||!n.isValid(r))throw Error(`invalid affine point`);if(e instanceof d)throw Error(`projective point not allowed`);let i=e=>n.eql(e,n.ZERO);return i(t)&&i(r)?d.ZERO:new d(t,r,n.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(e){let t=n.invertBatch(e.map(e=>e.pz));return e.map((e,n)=>e.toAffine(t[n])).map(d.fromAffine)}static fromHex(e){let t=d.fromAffine(i(gt(`pointHex`,e)));return t.assertValidity(),t}static fromPrivateKey(e){return d.BASE.multiply(c(e))}_setWindowSize(e){this._WINDOW_SIZE=e,l.delete(this)}assertValidity(){if(this.is0()){if(t.allowInfinityPoint&&!n.is0(this.py))return;throw Error(`bad point: ZERO`)}let{x:e,y:r}=this.toAffine();if(!n.isValid(e)||!n.isValid(r))throw Error(`bad point: x or y not FE`);let i=n.sqr(r),o=a(e);if(!n.eql(i,o))throw Error(`bad point: equation left != right`);if(!this.isTorsionFree())throw Error(`bad point: not in prime-order subgroup`)}hasEvenY(){let{y:e}=this.toAffine();if(n.isOdd)return!n.isOdd(e);throw Error(`Field doesn't support isOdd`)}equals(e){u(e);let{px:t,py:r,pz:i}=this,{px:a,py:o,pz:s}=e,c=n.eql(n.mul(t,s),n.mul(a,i)),l=n.eql(n.mul(r,s),n.mul(o,i));return c&&l}negate(){return new d(this.px,n.neg(this.py),this.pz)}double(){let{a:e,b:r}=t,i=n.mul(r,ln),{px:a,py:o,pz:s}=this,c=n.ZERO,l=n.ZERO,u=n.ZERO,f=n.mul(a,a),p=n.mul(o,o),m=n.mul(s,s),h=n.mul(a,o);return h=n.add(h,h),u=n.mul(a,s),u=n.add(u,u),c=n.mul(e,u),l=n.mul(i,m),l=n.add(c,l),c=n.sub(p,l),l=n.add(p,l),l=n.mul(c,l),c=n.mul(h,c),u=n.mul(i,u),m=n.mul(e,m),h=n.sub(f,m),h=n.mul(e,h),h=n.add(h,u),u=n.add(f,f),f=n.add(u,f),f=n.add(f,m),f=n.mul(f,h),l=n.add(l,f),m=n.mul(o,s),m=n.add(m,m),f=n.mul(m,h),c=n.sub(c,f),u=n.mul(m,p),u=n.add(u,u),u=n.add(u,u),new d(c,l,u)}add(e){u(e);let{px:r,py:i,pz:a}=this,{px:o,py:s,pz:c}=e,l=n.ZERO,f=n.ZERO,p=n.ZERO,m=t.a,h=n.mul(t.b,ln),g=n.mul(r,o),_=n.mul(i,s),v=n.mul(a,c),y=n.add(r,i),b=n.add(o,s);y=n.mul(y,b),b=n.add(g,_),y=n.sub(y,b),b=n.add(r,a);let x=n.add(o,c);return b=n.mul(b,x),x=n.add(g,v),b=n.sub(b,x),x=n.add(i,a),l=n.add(s,c),x=n.mul(x,l),l=n.add(_,v),x=n.sub(x,l),p=n.mul(m,b),l=n.mul(h,v),p=n.add(l,p),l=n.sub(_,p),p=n.add(_,p),f=n.mul(l,p),_=n.add(g,g),_=n.add(_,g),v=n.mul(m,v),b=n.mul(h,b),_=n.add(_,v),v=n.sub(g,v),v=n.mul(m,v),b=n.add(b,v),g=n.mul(_,b),f=n.add(f,g),g=n.mul(x,b),l=n.mul(y,l),l=n.sub(l,g),g=n.mul(y,_),p=n.mul(x,p),p=n.add(p,g),new d(l,f,p)}subtract(e){return this.add(e.negate())}is0(){return this.equals(d.ZERO)}wNAF(e){return p.wNAFCached(this,l,e,e=>{let t=n.invertBatch(e.map(e=>e.pz));return e.map((e,n)=>e.toAffine(t[n])).map(d.fromAffine)})}multiplyUnsafe(e){let r=d.ZERO;if(e===on)return r;if(s(e),e===sn)return this;let{endo:i}=t;if(!i)return p.unsafeLadder(this,e);let{k1neg:a,k1:o,k2neg:c,k2:l}=i.splitScalar(e),u=r,f=r,m=this;for(;o>on||l>on;)o&sn&&(u=u.add(m)),l&sn&&(f=f.add(m)),m=m.double(),o>>=sn,l>>=sn;return a&&(u=u.negate()),c&&(f=f.negate()),f=new d(n.mul(f.px,i.beta),f.py,f.pz),u.add(f)}multiply(e){s(e);let r=e,i,a,{endo:o}=t;if(o){let{k1neg:e,k1:t,k2neg:s,k2:c}=o.splitScalar(r),{p:l,f:u}=this.wNAF(t),{p:f,f:m}=this.wNAF(c);l=p.constTimeNegate(e,l),f=p.constTimeNegate(s,f),f=new d(n.mul(f.px,o.beta),f.py,f.pz),i=l.add(f),a=u.add(m)}else{let{p:e,f:t}=this.wNAF(r);i=e,a=t}return d.normalizeZ([i,a])[0]}multiplyAndAddUnsafe(e,t,n){let r=d.BASE,i=(e,t)=>t===on||t===sn||!e.equals(r)?e.multiplyUnsafe(t):e.multiply(t),a=i(this,t).add(i(e,n));return a.is0()?void 0:a}toAffine(e){let{px:t,py:r,pz:i}=this,a=this.is0();e??=a?n.ONE:n.inv(i);let o=n.mul(t,e),s=n.mul(r,e),c=n.mul(i,e);if(a)return{x:n.ZERO,y:n.ZERO};if(!n.eql(c,n.ONE))throw Error(`invZ was invalid`);return{x:o,y:s}}isTorsionFree(){let{h:e,isTorsionFree:n}=t;if(e===sn)return!0;if(n)return n(d,this);throw Error(`isTorsionFree() has not been declared for the elliptic curve`)}clearCofactor(){let{h:e,clearCofactor:n}=t;return e===sn?this:n?n(d,this):this.multiplyUnsafe(t.h)}toRawBytes(e=!0){return this.assertValidity(),r(d,this,e)}toHex(e=!0){return lt(this.toRawBytes(e))}}d.BASE=new d(t.Gx,t.Gy,n.ONE),d.ZERO=new d(n.ZERO,n.ONE,n.ZERO);let f=t.nBitLength,p=$t(d,t.endo?Math.ceil(f/2):f);return{CURVE:t,ProjectivePoint:d,normPrivateKeyToScalar:c,weierstrassEquation:a,isWithinCurveOrder:o}}function fn(e){let t=en(e);return Dt(t,{hash:`hash`,hmac:`function`,randomBytes:`function`},{bits2int:`function`,bits2int_modN:`function`,lowS:`boolean`}),Object.freeze({lowS:!0,...t})}function pn(e){let t=fn(e),{Fp:n,n:r}=t,i=n.BYTES+1,a=2*n.BYTES+1;function o(e){return on<e&&e<n.ORDER}function s(e){return It(e,r)}function c(e){return zt(e,r)}let{ProjectivePoint:l,normPrivateKeyToScalar:u,weierstrassEquation:d,isWithinCurveOrder:f}=dn({...t,toBytes(e,t,r){let i=t.toAffine(),a=n.toBytes(i.x),o=_t;return r?o(Uint8Array.from([t.hasEvenY()?2:3]),a):o(Uint8Array.from([4]),a,n.toBytes(i.y))},fromBytes(e){let t=e.length,r=e[0],s=e.subarray(1);if(t===i&&(r===2||r===3)){let e=pt(s);if(!o(e))throw Error(`Point is not on curve`);let t=d(e),i;try{i=n.sqrt(t)}catch(e){let t=e instanceof Error?`: `+e.message:``;throw Error(`Point is not on curve`+t)}let a=(i&sn)===sn;return(r&1)==1!==a&&(i=n.neg(i)),{x:e,y:i}}else if(t===a&&r===4)return{x:n.fromBytes(s.subarray(0,n.BYTES)),y:n.fromBytes(s.subarray(n.BYTES,2*n.BYTES))};else throw Error(`Point of length ${t} was invalid. Expected ${i} compressed bytes or ${a} uncompressed bytes`)}}),p=e=>lt(ht(e,t.nByteLength));function m(e){return e>r>>sn}function h(e){return m(e)?s(-e):e}let g=(e,t,n)=>pt(e.slice(t,n));class _{constructor(e,t,n){this.r=e,this.s=t,this.recovery=n,this.assertValidity()}static fromCompact(e){let n=t.nByteLength;return e=gt(`compactSignature`,e,n*2),new _(g(e,0,n),g(e,n,2*n))}static fromDER(e){let{r:t,s:n}=an.toSig(gt(`DER`,e));return new _(t,n)}assertValidity(){if(!f(this.r))throw Error(`r must be 0 < r < CURVE.n`);if(!f(this.s))throw Error(`s must be 0 < s < CURVE.n`)}addRecoveryBit(e){return new _(this.r,this.s,e)}recoverPublicKey(e){let{r,s:i,recovery:a}=this,o=ee(gt(`msgHash`,e));if(a==null||![0,1,2,3].includes(a))throw Error(`recovery id invalid`);let u=a===2||a===3?r+t.n:r;if(u>=n.ORDER)throw Error(`recovery id 2 or 3 invalid`);let d=a&1?`03`:`02`,f=l.fromHex(d+p(u)),m=c(u),h=s(-o*m),g=s(i*m),_=l.BASE.multiplyAndAddUnsafe(f,h,g);if(!_)throw Error(`point at infinify`);return _.assertValidity(),_}hasHighS(){return m(this.s)}normalizeS(){return this.hasHighS()?new _(this.r,s(-this.s),this.recovery):this}toDERRawBytes(){return F(this.toDERHex())}toDERHex(){return an.hexFromSig({r:this.r,s:this.s})}toCompactRawBytes(){return F(this.toCompactHex())}toCompactHex(){return p(this.r)+p(this.s)}}let v={isValidPrivateKey(e){try{return u(e),!0}catch{return!1}},normPrivateKeyToScalar:u,randomPrivateKey:()=>{let e=Yt(t.n);return Xt(t.randomBytes(e),t.n)},precompute(e=8,t=l.BASE){return t._setWindowSize(e),t.multiply(BigInt(3)),t}};function y(e,t=!0){return l.fromPrivateKey(e).toRawBytes(t)}function b(e){let t=ot(e),n=typeof e==`string`,r=(t||n)&&e.length;return t?r===i||r===a:n?r===2*i||r===2*a:e instanceof l}function x(e,t,n=!0){if(b(e))throw Error(`first arg must be private key`);if(!b(t))throw Error(`second arg must be public key`);return l.fromHex(t).multiply(u(e)).toRawBytes(n)}let S=t.bits2int||function(e){let n=pt(e),r=e.length*8-t.nBitLength;return r>0?n>>BigInt(r):n},ee=t.bits2int_modN||function(e){return s(S(e))},te=St(t.nBitLength);function C(e){if(typeof e!=`bigint`)throw Error(`bigint expected`);if(!(on<=e&&e<te))throw Error(`bigint expected < 2^${t.nBitLength}`);return ht(e,t.nByteLength)}function ne(e,r,i=re){if([`recovered`,`canonical`].some(e=>e in i))throw Error(`sign() legacy options not supported`);let{hash:a,randomBytes:o}=t,{lowS:d,prehash:p,extraEntropy:g}=i;d??=!0,e=gt(`msgHash`,e),p&&(e=gt(`prehashed msgHash`,a(e)));let v=ee(e),y=u(r),b=[C(y),C(v)];if(g!=null&&g!==!1){let e=g===!0?o(n.BYTES):g;b.push(gt(`extraEntropy`,e))}let x=_t(...b),te=v;function ne(e){let t=S(e);if(!f(t))return;let n=c(t),r=l.BASE.multiply(t).toAffine(),i=s(r.x);if(i===on)return;let a=s(n*s(te+i*y));if(a===on)return;let o=(r.x===i?0:2)|Number(r.y&sn),u=a;return d&&m(a)&&(u=h(a),o^=1),new _(i,u,o)}return{seed:x,k2sig:ne}}let re={lowS:t.lowS,prehash:!1},ie={lowS:t.lowS,prehash:!1};function ae(e,n,r=re){let{seed:i,k2sig:a}=ne(e,n,r),o=t;return Tt(o.hash.outputLen,o.nByteLength,o.hmac)(i,a)}l.BASE._setWindowSize(8);function oe(e,n,r,i=ie){let a=e;if(n=gt(`msgHash`,n),r=gt(`publicKey`,r),`strict`in i)throw Error(`options.strict was renamed to lowS`);let{lowS:o,prehash:u}=i,d,f;try{if(typeof a==`string`||ot(a))try{d=_.fromDER(a)}catch(e){if(!(e instanceof an.Err))throw e;d=_.fromCompact(a)}else if(typeof a==`object`&&typeof a.r==`bigint`&&typeof a.s==`bigint`){let{r:e,s:t}=a;d=new _(e,t)}else throw Error(`PARSE`);f=l.fromHex(r)}catch(e){if(e.message===`PARSE`)throw Error(`signature must be Signature instance, Uint8Array or hex string`);return!1}if(o&&d.hasHighS())return!1;u&&(n=t.hash(n));let{r:p,s:m}=d,h=ee(n),g=c(m),v=s(h*g),y=s(p*g),b=l.BASE.multiplyAndAddUnsafe(f,v,y)?.toAffine();return b?s(b.x)===p:!1}return{CURVE:t,getPublicKey:y,getSharedSecret:x,sign:ae,verify:oe,ProjectivePoint:l,Signature:_,utils:v}}function mn(e,t){let n=e.ORDER,r=on;for(let e=n-sn;e%cn===on;e/=cn)r+=sn;let i=r,a=cn<<i-sn-sn,o=a*cn,s=(n-sn)/o,c=(s-sn)/cn,l=o-sn,u=a,d=e.pow(t,s),f=e.pow(t,(s+sn)/cn),p=(t,n)=>{let r=d,a=e.pow(n,l),o=e.sqr(a);o=e.mul(o,n);let s=e.mul(t,o);s=e.pow(s,c),s=e.mul(s,a),a=e.mul(s,n),o=e.mul(s,t);let p=e.mul(o,a);s=e.pow(p,u);let m=e.eql(s,e.ONE);a=e.mul(o,f),s=e.mul(p,r),o=e.cmov(a,o,m),p=e.cmov(s,p,m);for(let t=i;t>sn;t--){let n=t-cn;n=cn<<n-sn;let i=e.pow(p,n),s=e.eql(i,e.ONE);a=e.mul(o,r),r=e.mul(r,r),i=e.mul(p,r),o=e.cmov(a,o,s),p=e.cmov(i,p,s)}return{isValid:m,value:o}};if(e.ORDER%un===ln){let n=(e.ORDER-ln)/un,r=e.sqrt(e.neg(t));p=(t,i)=>{let a=e.sqr(i),o=e.mul(t,i);a=e.mul(a,o);let s=e.pow(a,n);s=e.mul(s,o);let c=e.mul(s,r),l=e.mul(e.sqr(s),i),u=e.eql(l,t);return{isValid:u,value:e.cmov(c,s,u)}}}return p}function hn(e,t){if(Ut(e),!e.isValid(t.A)||!e.isValid(t.B)||!e.isValid(t.Z))throw Error(`mapToCurveSimpleSWU: invalid opts`);let n=mn(e,t.Z);if(!e.isOdd)throw Error(`Fp.isOdd is not implemented!`);return r=>{let i,a,o,s,c,l,u,d;i=e.sqr(r),i=e.mul(i,t.Z),a=e.sqr(i),a=e.add(a,i),o=e.add(a,e.ONE),o=e.mul(o,t.B),s=e.cmov(t.Z,e.neg(a),!e.eql(a,e.ZERO)),s=e.mul(s,t.A),a=e.sqr(o),l=e.sqr(s),c=e.mul(l,t.A),a=e.add(a,c),a=e.mul(a,o),l=e.mul(l,s),c=e.mul(l,t.B),a=e.add(a,c),u=e.mul(i,o);let{isValid:f,value:p}=n(a,l);d=e.mul(i,r),d=e.mul(d,p),u=e.cmov(u,o,f),d=e.cmov(d,p,f);let m=e.isOdd(r)===e.isOdd(d);return d=e.cmov(e.neg(d),d,m),u=e.div(u,s),{x:u,y:d}}}function gn(e){return{hash:e,hmac:(t,...n)=>tt(e,t,de(...n)),randomBytes:le}}function _n(e,t){let n=t=>pn({...e,...gn(t)});return Object.freeze({...n(t),create:n})}var vn=pt;function yn(e,t){if(e<0||e>=1<<8*t)throw Error(`bad I2OSP call: value=${e} length=${t}`);let n=Array.from({length:t}).fill(0);for(let r=t-1;r>=0;r--)n[r]=e&255,e>>>=8;return new Uint8Array(n)}function bn(e,t){let n=new Uint8Array(e.length);for(let r=0;r<e.length;r++)n[r]=e[r]^t[r];return n}function xn(e){if(!Number.isSafeInteger(e))throw Error(`number expected`)}function Sn(e,t,n,r){st(e),st(t),xn(n),t.length>255&&(t=r(_t(R(`H2C-OVERSIZE-DST-`),t)));let{outputLen:i,blockLen:a}=r,o=Math.ceil(n/i);if(o>255)throw Error(`Invalid xmd length`);let s=_t(t,yn(t.length,1)),c=yn(0,a),l=yn(n,2),u=Array(o),d=r(_t(c,e,l,yn(0,1),s));u[0]=r(_t(d,yn(1,1),s));for(let e=1;e<=o;e++)u[e]=r(_t(bn(d,u[e-1]),yn(e+1,1),s));return _t(...u).slice(0,n)}function Cn(e,t,n,r,i){if(st(e),st(t),xn(n),t.length>255){let e=Math.ceil(2*r/8);t=i.create({dkLen:e}).update(R(`H2C-OVERSIZE-DST-`)).update(t).digest()}if(n>65535||t.length>255)throw Error(`expand_message_xof: invalid lenInBytes`);return i.create({dkLen:n}).update(e).update(yn(n,2)).update(t).update(yn(t.length,1)).digest()}function wn(e,t,n){Dt(n,{DST:`stringOrUint8Array`,p:`bigint`,m:`isSafeInteger`,k:`isSafeInteger`,hash:`hash`});let{p:r,k:i,m:a,hash:o,expand:s,DST:c}=n;st(e),xn(t);let l=typeof c==`string`?R(c):c,u=r.toString(2).length,d=Math.ceil((u+i)/8),f=t*a*d,p;if(s===`xmd`)p=Sn(e,l,f,o);else if(s===`xof`)p=Cn(e,l,f,i,o);else if(s===`_internal_pass`)p=e;else throw Error(`expand must be "xmd" or "xof"`);let m=Array(t);for(let e=0;e<t;e++){let t=Array(a);for(let n=0;n<a;n++){let i=d*(n+e*a);t[n]=It(vn(p.subarray(i,i+d)),r)}m[e]=t}return m}function Tn(e,t){let n=t.map(e=>Array.from(e).reverse());return(t,r)=>{let[i,a,o,s]=n.map(n=>n.reduce((n,r)=>e.add(e.mul(n,t),r)));return t=e.div(i,a),r=e.mul(r,e.div(o,s)),{x:t,y:r}}}function En(e,t,n){if(typeof t!=`function`)throw Error(`mapToCurve() must be defined`);return{hashToCurve(r,i){let a=wn(r,2,{...n,DST:n.DST,...i}),o=e.fromAffine(t(a[0])),s=e.fromAffine(t(a[1])),c=o.add(s).clearCofactor();return c.assertValidity(),c},encodeToCurve(r,i){let a=wn(r,1,{...n,DST:n.encodeDST,...i}),o=e.fromAffine(t(a[0])).clearCofactor();return o.assertValidity(),o},mapToCurve(n){if(!Array.isArray(n))throw Error(`mapToCurve: expected array of bigints`);for(let e of n)if(typeof e!=`bigint`)throw Error(`mapToCurve: expected array of bigints, got ${e} in array`);let r=e.fromAffine(t(n)).clearCofactor();return r.assertValidity(),r}}}var Dn=BigInt(`0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f`),On=BigInt(`0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141`),kn=BigInt(1),An=BigInt(2),jn=(e,t)=>(e+t/An)/t;function Mn(e){let t=Dn,n=BigInt(3),r=BigInt(6),i=BigInt(11),a=BigInt(22),o=BigInt(23),s=BigInt(44),c=BigInt(88),l=e*e*e%t,u=l*l*e%t,d=Rt(Rt(Rt(u,n,t)*u%t,n,t)*u%t,An,t)*l%t,f=Rt(d,i,t)*d%t,p=Rt(f,a,t)*f%t,m=Rt(p,s,t)*p%t,h=Rt(Rt(Rt(Rt(Rt(Rt(m,c,t)*m%t,s,t)*p%t,n,t)*u%t,o,t)*f%t,r,t)*l%t,An,t);if(!Nn.eql(Nn.sqr(h),e))throw Error(`Cannot find square root`);return h}var Nn=qt(Dn,void 0,void 0,{sqrt:Mn}),Pn=_n({a:BigInt(0),b:BigInt(7),Fp:Nn,n:On,Gx:BigInt(`55066263022277343669578718895168534326250603453777594175500187360389116729240`),Gy:BigInt(`32670510020758816978083085130507043184471273380659243275938904335757337482424`),h:BigInt(1),lowS:!0,endo:{beta:BigInt(`0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee`),splitScalar:e=>{let t=On,n=BigInt(`0x3086d221a7d46bcde86c90e49284eb15`),r=-kn*BigInt(`0xe4437ed6010e88286f547fa90abfe4c3`),i=BigInt(`0x114ca50f7a8e2f3f657c1108d9d44cfd8`),a=n,o=BigInt(`0x100000000000000000000000000000000`),s=jn(a*e,t),c=jn(-r*e,t),l=It(e-s*n-c*i,t),u=It(-s*r-c*a,t),d=l>o,f=u>o;if(d&&(l=t-l),f&&(u=t-u),l>o||u>o)throw Error(`splitScalar: Endomorphism failed, k=`+e);return{k1neg:d,k1:l,k2neg:f,k2:u}}}},ge);Pn.ProjectivePoint,Pn.utils.randomPrivateKey;var Fn=Tn(Nn,[[`0x8e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38daaaaa8c7`,`0x7d3d4c80bc321d5b9f315cea7fd44c5d595d2fc0bf63b92dfff1044f17c6581`,`0x534c328d23f234e6e2a413deca25caece4506144037c40314ecbd0b53d9dd262`,`0x8e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38daaaaa88c`],[`0xd35771193d94918a9ca34ccbb7b640dd86cd409542f8487d9fe6b745781eb49b`,`0xedadc6f64383dc1df7c4b2d51b54225406d36b641f5e41bbc52a56612a8c6d14`,`0x0000000000000000000000000000000000000000000000000000000000000001`],[`0x4bda12f684bda12f684bda12f684bda12f684bda12f684bda12f684b8e38e23c`,`0xc75e0c32d5cb7c0fa9d0a54b12a0a6d5647ab046d686da6fdffc90fc201d71a3`,`0x29a6194691f91a73715209ef6512e576722830a201be2018a765e85a9ecee931`,`0x2f684bda12f684bda12f684bda12f684bda12f684bda12f684bda12f38e38d84`],[`0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffff93b`,`0x7a06534bb8bdb49fd5e9e6632722c2989467c1bfc8e8d978dfb425d2685c2573`,`0x6484aa716545ca2cf3a70c3fa8fe337e0a3d21162f0d6299a7bf8192bfd2a76f`,`0x0000000000000000000000000000000000000000000000000000000000000001`]].map(e=>e.map(e=>BigInt(e)))),In=hn(Nn,{A:BigInt(`0x3f8731abdd661adca08a5558f0f5d272e953d363cb6f0e5d405447c01a444533`),B:BigInt(`1771`),Z:Nn.create(BigInt(`-11`))}),Ln=En(Pn.ProjectivePoint,e=>{let{x:t,y:n}=In(Nn.create(e[0]));return Fn(t,n)},{DST:`secp256k1_XMD:SHA-256_SSWU_RO_`,encodeDST:`secp256k1_XMD:SHA-256_SSWU_NU_`,p:Nn.ORDER,m:1,k:128,expand:`xmd`,hash:ge});Ln.hashToCurve,Ln.encodeToCurve;var Rn=n(((e,t)=>{var n=Object.prototype.hasOwnProperty,r=`~`;function i(){}Object.create&&(i.prototype=Object.create(null),new i().__proto__||(r=!1));function a(e,t,n){this.fn=e,this.context=t,this.once=n||!1}function o(e,t,n,i,o){if(typeof n!=`function`)throw TypeError(`The listener must be a function`);var s=new a(n,i||e,o),c=r?r+t:t;return e._events[c]?e._events[c].fn?e._events[c]=[e._events[c],s]:e._events[c].push(s):(e._events[c]=s,e._eventsCount++),e}function s(e,t){--e._eventsCount===0?e._events=new i:delete e._events[t]}function c(){this._events=new i,this._eventsCount=0}c.prototype.eventNames=function(){var e=[],t,i;if(this._eventsCount===0)return e;for(i in t=this._events)n.call(t,i)&&e.push(r?i.slice(1):i);return Object.getOwnPropertySymbols?e.concat(Object.getOwnPropertySymbols(t)):e},c.prototype.listeners=function(e){var t=r?r+e:e,n=this._events[t];if(!n)return[];if(n.fn)return[n.fn];for(var i=0,a=n.length,o=Array(a);i<a;i++)o[i]=n[i].fn;return o},c.prototype.listenerCount=function(e){var t=r?r+e:e,n=this._events[t];return n?n.fn?1:n.length:0},c.prototype.emit=function(e,t,n,i,a,o){var s=r?r+e:e;if(!this._events[s])return!1;var c=this._events[s],l=arguments.length,u,d;if(c.fn){switch(c.once&&this.removeListener(e,c.fn,void 0,!0),l){case 1:return c.fn.call(c.context),!0;case 2:return c.fn.call(c.context,t),!0;case 3:return c.fn.call(c.context,t,n),!0;case 4:return c.fn.call(c.context,t,n,i),!0;case 5:return c.fn.call(c.context,t,n,i,a),!0;case 6:return c.fn.call(c.context,t,n,i,a,o),!0}for(d=1,u=Array(l-1);d<l;d++)u[d-1]=arguments[d];c.fn.apply(c.context,u)}else{var f=c.length,p;for(d=0;d<f;d++)switch(c[d].once&&this.removeListener(e,c[d].fn,void 0,!0),l){case 1:c[d].fn.call(c[d].context);break;case 2:c[d].fn.call(c[d].context,t);break;case 3:c[d].fn.call(c[d].context,t,n);break;case 4:c[d].fn.call(c[d].context,t,n,i);break;default:if(!u)for(p=1,u=Array(l-1);p<l;p++)u[p-1]=arguments[p];c[d].fn.apply(c[d].context,u)}}return!0},c.prototype.on=function(e,t,n){return o(this,e,t,n,!1)},c.prototype.once=function(e,t,n){return o(this,e,t,n,!0)},c.prototype.removeListener=function(e,t,n,i){var a=r?r+e:e;if(!this._events[a])return this;if(!t)return s(this,a),this;var o=this._events[a];if(o.fn)o.fn===t&&(!i||o.once)&&(!n||o.context===n)&&s(this,a);else{for(var c=0,l=[],u=o.length;c<u;c++)(o[c].fn!==t||i&&!o[c].once||n&&o[c].context!==n)&&l.push(o[c]);l.length?this._events[a]=l.length===1?l[0]:l:s(this,a)}return this},c.prototype.removeAllListeners=function(e){var t;return e?(t=r?r+e:e,this._events[t]&&s(this,t)):(this._events=new i,this._eventsCount=0),this},c.prototype.off=c.prototype.removeListener,c.prototype.addListener=c.prototype.on,c.prefixed=r,c.EventEmitter=c,t!==void 0&&(t.exports=c)})),zn=class extends Error{constructor(e,t){super(e),this.error=t}},Bn=class extends zn{constructor(e,t){super(e||`The wallet is not found.`,t),this.name=`WalletNotFoundError`}},Vn=class extends zn{constructor(){super(...arguments),this.name=`WalletDisconnectedError`,this.message=`The wallet is disconnected. Please connect first.`}},Hn=class extends zn{constructor(){super(...arguments),this.name=`WalletConnectionError`}},Un=class extends zn{constructor(){super(...arguments),this.name=`WalletDisconnectionError`}},Wn=class extends zn{constructor(){super(...arguments),this.name=`WalletSignMessageError`}},Gn=class extends zn{constructor(){super(...arguments),this.name=`WalletSignTransactionError`}},Kn=class extends zn{constructor(e,t){super(e||`The QR window is closed.`,t),this.name=`WalletWindowClosedError`}},qn=class extends zn{constructor(){super(...arguments),this.name=`WalletSwitchChainError`}},Jn=class extends zn{constructor(){super(...arguments),this.name=`WalletGetNetworkError`}},Yn=class extends zn{constructor(){super(...arguments),this.name=`WalletSignTypedDataError`}};function Xn(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function Zn(e){if(!Xn(e))throw new Yn(`typedData must be an object.`);if(!Xn(e.domain))throw new Yn(`typedData.domain must be an object.`);if(!Xn(e.types))throw new Yn(`typedData.types must be an object.`);if(!Xn(e.message))throw new Yn(`typedData.message must be an object.`);let{chainId:t}=e.domain;if(typeof t==`string`){let n=Number(t);if(!Number.isFinite(n))throw new Yn(`Invalid domain.chainId: ${t}.`);return Object.assign(Object.assign({},e),{domain:Object.assign(Object.assign({},e.domain),{chainId:n})})}return e}var Qn=t(Rn(),1),$n;(function(e){e.Loading=`Loading`,e.NotFound=`NotFound`,e.Found=`Found`})($n||={});var z;(function(e){e.Loading=`Loading`,e.NotFound=`NotFound`,e.Disconnect=`Disconnected`,e.Connected=`Connected`})(z||={});var er=class extends Qn.default{get connected(){return this.state===z.Connected}disconnect(){return Promise.resolve()}multiSign(e,t={}){return Promise.reject(`The current wallet doesn't support multiSign.`)}signTypedData(e){let t;try{t=Zn(e)}catch(e){return Promise.reject(e)}return this._signTypedData(t)}_signTypedData(e){return Promise.reject(`The current wallet doesn't support signTypedData.`)}switchChain(e){return Promise.reject(`The current wallet doesn't support switch chain.`)}},tr;(function(e){e.Mainnet=`Mainnet`,e.Shasta=`Shasta`,e.Nile=`Nile`,e.Unknown=`Unknown`})(tr||={});var nr;(function(e){e.Mainnet=`Mainnet`,e.Shasta=`Shasta`,e.Nile=`Nile`})(nr||={});var rr=`TIP6963:announceProvider`,ir=`TIP6963:requestProvider`;function ar(){return typeof window<`u`&&typeof document<`u`&&typeof navigator<`u`}function or(){return typeof navigator<`u`&&navigator.userAgent.match(/Android|webOS|iPhone|iPad|iPod|BlackBerry|Windows Phone/i)}var sr=function(e,t,n,r){function i(e){return e instanceof n?e:new n(function(t){t(e)})}return new(n||=Promise)(function(n,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){e.done?n(e.value):i(e.value).then(o,s)}c((r=r.apply(e,t||[])).next())})};function cr(){return ar()&&!!(window.tron&&window.tron.isTronLink)}function lr(){return ar()&&!!(cr()||window.tronLink||window.tronWeb)}function ur(){return ar()&&window.iTron!==void 0}function dr({dappIcon:e,dappName:t}={dappIcon:``,dappName:``}){if(!lr()&&or()&&!ur()){let n=``,r=``;try{n=document.title;let e=document.querySelector(`link[rel*="icon"]`);e&&(r=new URL(e.getAttribute(`href`)||``,location.href).toString())}catch{}let{origin:i,pathname:a,search:o,hash:s}=window.location,c=i+a+o+(s.includes(`?`)?s:`${s}?_=1`),l={action:`open`,actionId:Date.now()+``,callbackUrl:`http://someurl.com`,dappIcon:e||r,dappName:t||n,url:c,protocol:`TronLink`,version:`1.0`,chainId:`0x2b6653dc`};return window.location.href=`tronlinkoutside://pull.activity?param=${encodeURIComponent(JSON.stringify(l))}`,!0}return!1}function fr(e){return sr(this,void 0,void 0,function*(){return new Promise((t,n)=>{let r=setInterval(()=>{e.tronWeb&&(clearInterval(r),clearTimeout(i),t())},50),i=setTimeout(()=>{clearInterval(r),n("`window.tron.tronweb` is not ready.")},2e3)})})}var pr=function(e,t,n,r){function i(e){return e instanceof n?e:new n(function(t){t(e)})}return new(n||=Promise)(function(n,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){e.done?n(e.value):i(e.value).then(o,s)}c((r=r.apply(e,t||[])).next())})},mr={"0x2b6653dc":tr.Mainnet,"0x94a9059e":tr.Shasta,"0xcd8690dc":tr.Nile};function hr(e){return pr(this,void 0,void 0,function*(){let{blockID:t=``}=yield e.trx.getBlockByNumber(0),n=`0x${t.slice(-8)}`;return{networkType:mr[n]||tr.Unknown,chainId:n,fullNode:e.fullNode?.host||``,solidityNode:e.solidityNode?.host||``,eventServer:e.eventServer?.host||``}})}var gr=`TronLink`,_r=class extends er{constructor(e={}){super(),this.name=gr,this.url=`https://www.tronlink.org/`,this.icon=`data:image/png;base64,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`,this._readyState=ar()?$n.Loading:$n.NotFound,this._state=ar()?z.Loading:z.NotFound,this._supportNewTronProtocol=!1,this._onChainChanged=e=>{this.emit(`chainChanged`,e)},this._onAccountsChanged=()=>{let e=this.address||``,t=this._wallet?.tronWeb&&this._wallet?.tronWeb.defaultAddress?.base58||``;this.setAddress(t||null),this.setState(this.address?z.Connected:z.Disconnect),this.emit(`accountsChanged`,this.address||``,e),!e&&this.address?this.emit(`connect`,this.address):e&&!this.address&&this.emit(`disconnect`)},this._checkPromise=null,this._updateWallet=()=>{this._supportNewTronProtocol=!1;let e=this.state,t=this.address;if(or())window.tronLink?this._wallet=window.tronLink:this._wallet={ready:!!window.tronWeb?.defaultAddress,tronWeb:window.tronWeb,request:()=>Promise.resolve(!0)},t=this._wallet.tronWeb?.defaultAddress?.base58||null,e=t?z.Connected:z.Disconnect;else if(this.isLegacyTronLinkProvider(window.tron)){this._supportNewTronProtocol=!0,this._wallet=window.tron,this._listenTronEvent();try{t=this._wallet?.tronWeb&&this._wallet.tronWeb?.defaultAddress?.base58||null,e=t?z.Connected:z.Disconnect}catch{t=null,e=z.Disconnect,this._readyState=$n.NotFound,this.emit(`readyStateChanged`,this.readyState);return}}else window.tronLink?(this._wallet=window.tronLink,t=this._wallet.tronWeb?.defaultAddress?.base58||null,e=this._wallet.ready?z.Connected:z.Disconnect):(this._wallet=null,t=null,e=z.NotFound);or()&&e===z.Disconnect&&this.checkForWalletReadyForApp(),this.setAddress(t),this.setState(e)},this.checkReadyInterval=null;let{checkTimeout:t=30*1e3,dappIcon:n=``,dappName:r=``,openUrlWhenWalletNotFound:i=!0,openTronLinkAppOnMobile:a=!0,openAppWithDeeplink:o=!0}=e;if(typeof t!=`number`)throw Error(`[TronLinkAdapter] config.checkTimeout should be a number`);if(this.config={checkTimeout:t,openTronLinkAppOnMobile:a,openAppWithDeeplink:o,openUrlWhenWalletNotFound:i,dappIcon:n,dappName:r},this._connecting=!1,this._wallet=null,this._address=null,!ar()){this._readyState=$n.NotFound,this.setState(z.NotFound);return}or()&&(cr()||or()&&(window.tronLink||window.tronWeb))?(this._readyState=$n.Found,this._updateWallet()):this._checkWallet().then(()=>{this.connected&&this.emit(`connect`,this.address||``)})}get address(){return this._address}get state(){return this._state}get readyState(){return this._readyState}get connecting(){return this._connecting}network(){return pr(this,void 0,void 0,function*(){try{if(yield this._checkWallet(),this.state!==z.Connected)throw new Vn;let e=this._wallet?.tronWeb||window.tronWeb;if(!e)throw new Vn;try{return yield hr(e)}catch(e){throw new Jn(e?.message,e)}}catch(e){throw this.emit(`error`,e),e}})}connect(){return pr(this,void 0,void 0,function*(){try{if(this.checkIfOpenTronLink(),this.connected||this.connecting)return;if(yield this._checkWallet(),this.state===z.NotFound)throw this.config.openUrlWhenWalletNotFound!==!1&&ar()&&window.open(this.url,`_blank`),new Bn;if(!this._wallet)return;if(this._connecting=!0,this._supportNewTronProtocol){let e=this._wallet;try{let t=(yield e.request({method:`eth_requestAccounts`}))[0];this.setAddress(t),this.setState(z.Connected),this._listenTronEvent(),this._wallet.tronWeb||(yield fr(this._wallet))}catch(e){let t=e?.message||e||`Connect TronLink wallet failed.`;throw e.code===-32002&&(t=`The same DApp has already initiated a request to connect to TronLink wallet, and the pop-up window has not been closed.`),e.code===4001&&(t=`The user rejected connection.`),new Hn(t,e)}}else if(window.tronLink){let e=this._wallet;try{let t=yield e.request({method:`tron_requestAccounts`});if(!t)throw new Hn(`TronLink wallet is locked or no wallet account is avaliable.`);if(t.code===4e3)throw new Hn(`The same DApp has already initiated a request to connect to TronLink wallet, and the pop-up window has not been closed.`);if(t.code===4001)throw new Hn(`The user rejected connection.`)}catch(e){throw new Hn(e?.message,e)}let t=e.tronWeb.defaultAddress?.base58||``;this.setAddress(t),this.setState(z.Connected)}else if(window.tronWeb){let e=this._wallet.tronWeb.defaultAddress?.base58||``;this.setAddress(e),this.setState(z.Connected)}else throw new Hn(`Cannot connect wallet.`);this.connected&&this.emit(`connect`,this.address||``)}catch(e){throw this.emit(`error`,e),e}finally{this._connecting=!1}})}disconnect(){return pr(this,void 0,void 0,function*(){this._supportNewTronProtocol&&this._stopListenTronEvent(),this.state===z.Connected&&(this.setAddress(null),this.setState(z.Disconnect),this.emit(`disconnect`))})}_checkAndSign(e,t){return pr(this,void 0,void 0,function*(){try{let n=yield this.checkAndGetWallet();try{return yield e(n)}catch(e){throw e instanceof Error||typeof e==`object`&&e.message?new t(e.message,e):typeof e==`string`?new t(e,Error(e)):new t(`Unknown error`,e)}}catch(e){throw this.emit(`error`,e),e}})}signTransaction(e){return pr(this,void 0,void 0,function*(){return this._checkAndSign(t=>t.tronWeb.trx.sign(e),Gn)})}multiSign(e){return pr(this,arguments,void 0,function*(e,t={}){return this._checkAndSign(n=>n.tronWeb.trx.multiSign(e,void 0,t.permissionId),Gn)})}signMessage(e){return pr(this,void 0,void 0,function*(){return this._checkAndSign(t=>pr(this,void 0,void 0,function*(){return t.tronWeb.trx.signMessageV2(e)}),Wn)})}_signTypedData(e){return pr(this,void 0,void 0,function*(){return this._checkAndSign(t=>pr(this,void 0,void 0,function*(){return t.tronWeb.trx._signTypedData(e.domain,e.types,e.message)}),Yn)})}switchChain(e){return pr(this,void 0,void 0,function*(){try{if(yield this._checkWallet(),this.state===z.NotFound)throw this.config.openUrlWhenWalletNotFound!==!1&&ar()&&window.open(this.url,`_blank`),new Bn;if(!this._supportNewTronProtocol)throw new qn(`Current version of TronLink doesn't support switch chain operation.`);let t=this._wallet;try{yield t.request({method:`wallet_switchEthereumChain`,params:[{chainId:e}]})}catch(e){throw new qn(e?.message||e,e instanceof Error?e:Error(e))}}catch(e){throw this.emit(`error`,e),e}})}checkAndGetWallet(){return pr(this,void 0,void 0,function*(){if(this.checkIfOpenTronLink(),yield this._checkWallet(),this.state!==z.Connected)throw new Vn;let e=this._wallet;if(!e||!e.tronWeb)throw new Vn;return e})}checkIfOpenTronLink(){let{dappName:e=``,dappIcon:t=``}=this.config;if(!(this.config.openTronLinkAppOnMobile===!1||this.config.openAppWithDeeplink===!1)&&dr({dappIcon:t,dappName:e}))throw new Bn}_listenTronEvent(){var e,t;this._stopListenTronEvent();let n=this._wallet;(e=n.on)==null||e.call(n,`chainChanged`,this._onChainChanged),(t=n.on)==null||t.call(n,`accountsChanged`,this._onAccountsChanged)}_stopListenTronEvent(){var e,t;let n=this._wallet;(e=n.removeListener)==null||e.call(n,`chainChanged`,this._onChainChanged),(t=n.removeListener)==null||t.call(n,`accountsChanged`,this._onAccountsChanged)}isLegacyTronLinkProvider(e){return!!e?.isTronLink}hasDesktopLegacyTronLinkProvider(){return this.isLegacyTronLinkProvider(window.tron)||!!window.tronLink}_checkWallet(){if(this.readyState===$n.Found)return Promise.resolve(!0);if(this._checkPromise)return this._checkPromise;if(ar()&&!or())return this._checkPromise=new Promise(e=>{let t=!1,n=null,r=null,i=null,a=()=>{r&&=(clearInterval(r),null),n&&=(clearTimeout(n),null),typeof window<`u`&&i&&window.removeEventListener(rr,i)};n=setTimeout(()=>{if(t)return;if(t=!0,a(),typeof window>`u`){e(!1);return}this._updateWallet();let n=this.state!==z.NotFound;this._readyState=n?$n.Found:$n.NotFound,this.emit(`readyStateChanged`,this._readyState),e(n)},this.config.checkTimeout),i=n=>{if(t)return;let{info:r,provider:i}=n.detail;if(r.name===`TronLink`){t=!0,this._supportNewTronProtocol=!0,this._wallet=i,this._listenTronEvent(),this._readyState=$n.Found;let n=this._wallet?.tronWeb&&this._wallet.tronWeb.defaultAddress?.base58||null,r=n?z.Connected:z.Disconnect;this.setAddress(n),this.setState(r),this.emit(`readyStateChanged`,this.readyState),a(),e(!0)}},window.addEventListener(rr,i),window.dispatchEvent(new Event(ir))}),this._checkPromise;let e=Math.floor(this.config.checkTimeout/100),t=0,n;return this._checkPromise=new Promise(r=>{let i=()=>{t++,this._updateWallet();let i=this.state!==z.NotFound;(i||t>e)&&(n&&clearInterval(n),this._readyState=i?$n.Found:$n.NotFound,this.emit(`readyStateChanged`,this.readyState),r(i))};n=setInterval(i,100),i()}),this._checkPromise}checkForWalletReadyForApp(){if(this.checkReadyInterval)return;let e=0,t=Math.floor(this.config.checkTimeout/200),n=()=>{(window.tronLink?window.tronLink.tronWeb?.defaultAddress:window.tronWeb?.defaultAddress)?(this.checkReadyInterval&&clearInterval(this.checkReadyInterval),this.checkReadyInterval=null,this._updateWallet(),this.emit(`connect`,this.address||``)):e>t?(this.checkReadyInterval&&clearInterval(this.checkReadyInterval),this.checkReadyInterval=null):e++};this.checkReadyInterval=setInterval(n,200)}setAddress(e){this._address=e}setState(e){e!==this.state&&(this._state=e,this.emit(`stateChanged`,e))}};function vr(){return!!window.tronLink&&window.isBitKeep}function yr(){if(or()&&!vr()){let{origin:e,pathname:t,search:n,hash:r}=window.location,i=e+t+n+r;return location.href=`https://bkcode.vip?action=dapp&url=${encodeURIComponent(i)}`,!0}return!1}var br=function(e,t,n,r){function i(e){return e instanceof n?e:new n(function(t){t(e)})}return new(n||=Promise)(function(n,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){e.done?n(e.value):i(e.value).then(o,s)}c((r=r.apply(e,t||[])).next())})},xr=`Bitget Wallet`,Sr=class extends er{constructor(e={}){super(),this.name=xr,this.url=`https://web3.bitget.com`,this.icon=`data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTEyIiBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxyZWN0IHdpZHRoPSI1MTIiIGhlaWdodD0iNTEyIiBmaWxsPSIjMDAxRjI5Ii8+CjxwYXRoIGQ9Ik0yMTkuOTQ4IDk1LjcwMjJDMjAxLjYyMyA5NS42OTI5IDE4My4zMyA5NS42ODM1IDE2NC45NDEgOTUuNzExNkMxNTMuODIyIDk1LjcxMTYgMTQ5LjY1MSAxMDkuNjcxIDE1Ny45MjEgMTE3LjkzOUwyODMuMDk4IDI0My4xMTdDMjg3LjAwNCAyNDYuNjkgMjg5LjQ0MSAyNTAuNTc0IDI4OS41MyAyNTUuNjkzQzI4OS40NDEgMjYwLjgxMiAyODcuMDA0IDI2NC42OTYgMjgzLjA5OCAyNjguMjY5TDE1Ny45MjEgMzkzLjQ0NkMxNDkuNjUxIDQwMS43MTUgMTUzLjgyMiA0MTUuNjc0IDE2NC45NDEgNDE1LjY3NEMxODMuMzMgNDE1LjcwMiAyMDEuNjIzIDQxNS42OTMgMjE5Ljk0OCA0MTUuNjgzQzIyOS4xMjIgNDE1LjY3OSAyMzguMzA1IDQxNS42NzQgMjQ3LjUxMSA0MTUuNjc0QzI1OS41NTUgNDE1LjY3NCAyNjYuNzIgNDA5LjI0IDI3My4xNTQgNDAyLjgwNUwzODYuMDQ3IDI4OS45MTJDMzk1LjA1NyAyODAuOTAyIDQwMy4xMTkgMjY4LjkzOSA0MDMuMDA5IDI1NS42OTNDNDAzLjExOSAyNDIuNDQ3IDM5NS4wNTcgMjMwLjQ4NCAzODYuMDQ3IDIyMS40NzRMMjczLjE1NCAxMDguNThDMjY2LjcyIDEwMi4xNDYgMjU5LjU1NSA5NS43MTE2IDI0Ny41MTEgOTUuNzExNkMyMzguMzA1IDk1LjcxMTYgMjI5LjEyMiA5NS43MDY5IDIxOS45NDggOTUuNzAyMloiIGZpbGw9IiMwMEYwRkYiLz4KPC9zdmc+Cg==`,this._readyState=$n.Loading,this._state=z.Loading,this.checkReadyInterval=null,this._checkPromise=null,this._updateWallet=()=>br(this,void 0,void 0,function*(){let e=this.state,t=this.address;if(vr()){if(or()){let e=window.bitkeep?.tronLink;this._wallet={tron:e,tronWeb:e?.tronWeb}}else{let e=window.bitkeep?.tronWeb;this._wallet={tron:window.bitkeep.tronLink,tronWeb:e}}t=this._wallet.tron?.ready?this._wallet.tronWeb.defaultAddress?.base58||null:``,e=this._wallet.tron?.ready?z.Connected:z.Disconnect,this._wallet.tron?.ready||this.checkForWalletReady()}else this._wallet=null,t=null,e=z.NotFound;this.setAddress(t),this.setState(e)});let{checkTimeout:t=2*1e3,openUrlWhenWalletNotFound:n=!0,openAppWithDeeplink:r=!0}=e;if(typeof t!=`number`)throw Error(`[BitKeepAdapter] config.checkTimeout should be a number`);if(this.config={checkTimeout:t,openUrlWhenWalletNotFound:n,openAppWithDeeplink:r},this._connecting=!1,this._wallet=null,this._address=null,!ar()){this._readyState=$n.NotFound,this.setState(z.NotFound);return}vr()?(this._readyState=$n.Found,this._updateWallet()):this._checkWallet().then(()=>{this.connected&&this.emit(`connect`,this.address||``)})}get address(){return this._address}get state(){return this._state}get readyState(){return this._readyState}get connecting(){return this._connecting}network(){return br(this,void 0,void 0,function*(){try{if(yield this._checkWallet(),this.state!==z.Connected)throw new Vn;let e=this._wallet;if(!e||!e.tronWeb)throw new Vn;try{return yield hr(e.tronWeb)}catch(e){throw new Jn(e?.message,e)}}catch(e){throw this.emit(`error`,e),e}})}connect(){return br(this,void 0,void 0,function*(){try{if(this.checkIfOpenApp(),this.connected||this.connecting)return;if(yield this._checkWallet(),this.readyState===$n.NotFound)throw this.config.openUrlWhenWalletNotFound!==!1&&ar()&&window.open(this.url,`_blank`),new Bn;let e=this._wallet;if(!or()){if(!e)return;this._connecting=!0;try{let t=yield e.tron.request({method:`tron_requestAccounts`});if(t?.code!==200)throw new Hn(t?.code===40001?`The connection request is canceled by user.`:t?.message)}catch(e){throw e instanceof zn?e:new Hn(e?.message,e)}}let t=e?.tronWeb.defaultAddress?.base58||window.bitkeep?.tronWeb?.defaultAddress?.base58||``;this.setAddress(t),this.setState(z.Connected),this.emit(`connect`,this.address||``)}catch(e){throw this.emit(`error`,e),e}finally{this._connecting=!1}})}disconnect(){return br(this,void 0,void 0,function*(){this.state===z.Connected&&(this.setAddress(null),this.setState(z.Disconnect),this.emit(`disconnect`))})}signTransaction(e){return br(this,void 0,void 0,function*(){try{let t=yield this.checkAndGetWallet();try{return yield t.tronWeb.trx.sign(e)}catch(e){throw e instanceof Error?new Gn(e.message,e):new Gn(e,Error(e))}}catch(e){throw this.emit(`error`,e),e}})}multiSign(e){return br(this,arguments,void 0,function*(e,t={}){try{let n=yield this.checkAndGetWallet();try{return yield n.tronWeb.trx.multiSign(e,void 0,t.permissionId)}catch(e){throw e instanceof Error?new Gn(e.message,e):new Gn(e,Error(e))}}catch(e){throw this.emit(`error`,e),e}})}signMessage(e){return br(this,void 0,void 0,function*(){try{let t=yield this.checkAndGetWallet();try{return yield t.tronWeb.trx.signMessageV2(e)}catch(e){throw e instanceof Error?new Wn(e.message,e):new Wn(e,Error(e))}}catch(e){throw this.emit(`error`,e),e}})}checkAndGetWallet(){return br(this,void 0,void 0,function*(){if(this.checkIfOpenApp(),yield this._checkWallet(),!this.connected)throw new Vn;let e=this._wallet;if(!e||!e.tronWeb)throw new Vn;return e})}checkForWalletReady(){if(this.checkReadyInterval)return;let e=0,t=Math.floor(this.config.checkTimeout/200),n=()=>br(this,void 0,void 0,function*(){this._wallet&&this._wallet?.tron.ready?(this.checkReadyInterval&&clearInterval(this.checkReadyInterval),this.checkReadyInterval=null,yield this._updateWallet(),this.emit(`connect`,this.address||``)):e>t?(this.checkReadyInterval&&clearInterval(this.checkReadyInterval),this.checkReadyInterval=null):e++});this.checkReadyInterval=setInterval(n,200)}_checkWallet(){if(this.readyState===$n.Found)return Promise.resolve(!0);if(this._checkPromise)return this._checkPromise;let e=Math.floor(this.config.checkTimeout/100),t=0,n;return this._checkPromise=new Promise(r=>{let i=()=>{t++;let i=vr();(i||t>e)&&(n&&clearInterval(n),this._readyState=i?$n.Found:$n.NotFound,this._updateWallet(),this.emit(`readyStateChanged`,this.readyState),r(i))};n=setInterval(i,100),i()}),this._checkPromise}checkIfOpenApp(){if(this.config.openAppWithDeeplink!==!1&&yr())throw new Bn}setAddress(e){this._address=e}setState(e){e!==this.state&&(this._state=e,this.emit(`stateChanged`,e))}};h(),typeof window<`u`&&window.Buffer===void 0&&(window.Buffer=g);var Cr=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=`,wr=class{encode(e){let t=``,n,r,i,a,o,s,c,l=0;for(;l<e.length;)n=e.charCodeAt(l++),r=e.charCodeAt(l++),i=e.charCodeAt(l++),a=n>>2,o=(n&3)<<4|r>>4,s=(r&15)<<2|i>>6,c=i&63,isNaN(r)?s=c=64:isNaN(i)&&(c=64),t=t+Cr.charAt(a)+Cr.charAt(o)+Cr.charAt(s)+Cr.charAt(c);return t}encodeIgnoreUtf8(e){let t=``,n,r,i,a,o,s,c,l=0;for(;l<e.length;)n=e[l++],r=e[l++],i=e[l++],a=n>>2,o=(n&3)<<4|r>>4,s=(r&15)<<2|i>>6,c=i&63,isNaN(r)?s=c=64:isNaN(i)&&(c=64),t=t+Cr.charAt(a)+Cr.charAt(o)+Cr.charAt(s)+Cr.charAt(c);return t}decode(e){let t=``,n,r,i,a,o,s,c,l=0;for(e=e.replace(/[^A-Za-z0-9\+\/\=]/g,``);l<e.length;)a=Cr.indexOf(e.charAt(l++)),o=Cr.indexOf(e.charAt(l++)),s=Cr.indexOf(e.charAt(l++)),c=Cr.indexOf(e.charAt(l++)),n=a<<2|o>>4,r=(o&15)<<4|s>>2,i=(s&3)<<6|c,t+=String.fromCharCode(n),s!=64&&(t+=String.fromCharCode(r)),c!=64&&(t+=String.fromCharCode(i));return this._utf8_decode(t)}decodeToByteArray(e){let t=``,n,r,i,a,o,s,c,l=0;for(e=e.replace(/[^A-Za-z0-9\+\/\=]/g,``);l<e.length;)a=Cr.indexOf(e.charAt(l++)),o=Cr.indexOf(e.charAt(l++)),s=Cr.indexOf(e.charAt(l++)),c=Cr.indexOf(e.charAt(l++)),n=a<<2|o>>4,r=(o&15)<<4|s>>2,i=(s&3)<<6|c,t+=String.fromCharCode(n),s!=64&&(t+=String.fromCharCode(r)),c!=64&&(t+=String.fromCharCode(i));return this._out2ByteArray(t)}_out2ByteArray(e){let t=Array(e.length),n=0,r=0;for(;n<e.length;)r=e.charCodeAt(n),t[n]=r,n++;return t}_utf8_encode(e){e=e.replace(/\r\n/g,`
|
|
2
2
|
`);let t=``;for(let n=0;n<e.length;n++){let r=e.charCodeAt(n);r<128?t+=String.fromCharCode(r):r>127&&r<2048?(t+=String.fromCharCode(r>>6|192),t+=String.fromCharCode(r&63|128)):(t+=String.fromCharCode(r>>12|224),t+=String.fromCharCode(r>>6&63|128),t+=String.fromCharCode(r&63|128))}return t}_utf8_decode(e){let t=``,n=0,r=0,i=0,a=0;for(;n<e.length;)r=e.charCodeAt(n),r<128?(t+=String.fromCharCode(r),n++):r>191&&r<224?(i=e.charCodeAt(n+1),t+=String.fromCharCode((r&31)<<6|i&63),n+=2):(i=e.charCodeAt(n+1),a=e.charCodeAt(n+2),t+=String.fromCharCode((r&15)<<12|(i&63)<<6|a&63),n+=3);return t}},Tr=e({base64DecodeFromString:()=>kr,base64EncodeToString:()=>Ar,byte2hexStr:()=>Er,byteArray2hexStr:()=>B,bytesToString:()=>Dr,hextoString:()=>Or});function Er(e){if(e<0||e>255)throw Error(`Input must be a byte`);let t=`0123456789ABCDEF`,n=``;return n+=t.charAt(e>>4),n+=t.charAt(e&15),n}function Dr(e){let t=``;for(let n=0;n<e.length;n++){let r=e[n].toString(2),i=r.match(/^1+?(?=0)/);if(i&&r.length===8){let r=i[0].length,a=e[n].toString(2).slice(7-r);for(let t=1;t<r;t++)a+=e[t+n].toString(2).slice(2);t+=String.fromCharCode(parseInt(a,2)),n+=r-1}else t+=String.fromCharCode(e[n])}return t}function Or(e){let t=e.replace(/^0x/,``).split(``),n=``;for(let e=0;e<t.length/2;e++){let r=`0x${t[e*2]}${t[e*2+1]}`;n+=String.fromCharCode(parseInt(r))}return n}function B(e){let t=``;for(let n=0;n<e.length;n++)t+=Er(e[n]);return t}function kr(e){return new wr().decodeToByteArray(e)}function Ar(e){return new wr().encodeIgnoreUtf8(e)}var jr=e({ADDRESS_PREFIX:()=>`41`,ADDRESS_PREFIX_BYTE:()=>65,ADDRESS_PREFIX_REGEX:()=>Mr,ADDRESS_SIZE:()=>34,TRON_BIP39_PATH_INDEX_0:()=>Pr,TRON_BIP39_PATH_PREFIX:()=>Nr}),Mr=/^(41)/,Nr=`m/44'/195'`,Pr=Nr+`/0'/0/0`,Fr=e({arrayEquals:()=>Lr,base64DecodeFromString:()=>kr,base64EncodeToString:()=>Ar,bin2String:()=>Ir,byte2hexStr:()=>Er,byteArray2hexStr:()=>B,bytesToString:()=>Dr,getStringType:()=>Wr,hexChar2byte:()=>zr,hexStr2byteArray:()=>Vr,hextoString:()=>Or,isHexChar:()=>Br,isNumber:()=>Ur,strToDate:()=>Hr,stringToBytes:()=>Rr});function Ir(e){return Dr(e)}function Lr(e,t,n=!1){if(e.length!=t.length)return!1;for(let r=0;r<e.length;r++)if(n){if(e[r]!=t[r])return!1}else if(JSON.stringify(e[r])!=JSON.stringify(t[r]))return!1;return!0}function Rr(e){let t=[],n=e.length,r;for(let i=0;i<n;i++)r=e.charCodeAt(i),r>=65536&&r<=1114111?(t.push(r>>18&7|240),t.push(r>>12&63|128),t.push(r>>6&63|128),t.push(r&63|128)):r>=2048&&r<=65535?(t.push(r>>12&15|224),t.push(r>>6&63|128),t.push(r&63|128)):r>=128&&r<=2047?(t.push(r>>6&31|192),t.push(r&63|128)):t.push(r&255);return t}function zr(e){let t;if(e>=`A`&&e<=`F`?t=e.charCodeAt(0)-65+10:e>=`a`&&e<=`f`?t=e.charCodeAt(0)-97+10:e>=`0`&&e<=`9`&&(t=e.charCodeAt(0)-48),typeof t==`number`)return t;throw Error(`The passed hex char is not a valid hex char`)}function Br(e){return+(e>=`A`&&e<=`F`||e>=`a`&&e<=`f`||e>=`0`&&e<=`9`)}function Vr(e,t=!1){let n=e.length;t&&n%2&&(e=`0${e}`,n++);let r=[],i=0,a=0,o=0;for(let t=0;t<n;t++){let n=e.charAt(t);if(Br(n))i<<=4,i+=zr(n),a++,a%2==0&&(r[o++]=i,i=0);else throw Error(`The passed hex char is not a valid hex string`)}return r}function Hr(e){if(!/^\d{4}-\d{2}-\d{2}( \d{2}-\d{2}-\d{2}|)/.test(e))throw Error(`The passed date string is not valid`);let t=e.split(` `),n=t[0].split(`-`),r=parseInt(n[0],10),i=parseInt(n[1],10)-1,a=parseInt(n[2],10);if(t.length>1){let e=t[1].split(`-`),n=parseInt(e[0],10),o=parseInt(e[1],10),s=parseInt(e[2],10);return new Date(r,i,a,n,o,s)}return new Date(r,i,a)}function Ur(e){return+(e>=`0`&&e<=`9`)}function Wr(e){if(e==null||e.length==0||e==``)return-1;let t=0;if(e.length==40)for(;t<40&&Br(e.charAt(t));t++);if(t==40)return 1;for(t=0;t<e.length&&Ur(e.charAt(t));t++);if(t==e.length)return 2;for(t=0;t<e.length;t++)if(e.charAt(t)>` `)return 3;return-1}var Gr=e({decode58:()=>Xr,encode58:()=>Yr}),Kr=`123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz`,qr={};for(let e=0;e<58;e++)qr[Kr.charAt(e)]=e;var Jr=58;function Yr(e){if(e.length===0)return``;let t,n,r=[0];for(t=0;t<e.length;t++){for(n=0;n<r.length;n++)r[n]<<=8;r[0]+=e[t];let i=0;for(n=0;n<r.length;++n)r[n]+=i,i=r[n]/Jr|0,r[n]%=Jr;for(;i;)r.push(i%Jr),i=i/Jr|0}for(t=0;e[t]===0&&t<e.length-1;t++)r.push(0);return r.reverse().map(e=>Kr[e]).join(``)}function Xr(e){if(e.length===0)return[];let t,n,r=[0];for(t=0;t<e.length;t++){let i=e[t];if(!(i in qr))throw Error(`Non-base58 character`);for(n=0;n<r.length;n++)r[n]*=Jr;r[0]+=qr[i];let a=0;for(n=0;n<r.length;++n)r[n]+=a,a=r[n]>>8,r[n]&=255;for(;a;)r.push(a&255),a>>=8}for(t=0;e[t]===`1`&&t<e.length-1;t++)r.push(0);return r.reverse()}var Zr=`6.13.5`;function Qr(e,t,n){let r=t.split(`|`).map(e=>e.trim());for(let n=0;n<r.length;n++)switch(t){case`any`:return;case`bigint`:case`boolean`:case`number`:case`string`:if(typeof e===t)return}let i=Error(`invalid value for type ${t}`);throw i.code=`INVALID_ARGUMENT`,i.argument=`value.${n}`,i.value=e,i}async function $r(e){let t=Object.keys(e);return(await Promise.all(t.map(t=>Promise.resolve(e[t])))).reduce((e,n,r)=>(e[t[r]]=n,e),{})}function ei(e,t,n){for(let r in t){let i=t[r],a=n?n[r]:null;a&&Qr(i,a,r),Object.defineProperty(e,r,{enumerable:!0,value:i,writable:!1})}}function ti(e){if(e==null)return`null`;if(Array.isArray(e))return`[ `+e.map(ti).join(`, `)+` ]`;if(e instanceof Uint8Array){let t=`0123456789abcdef`,n=`0x`;for(let r=0;r<e.length;r++)n+=t[e[r]>>4],n+=t[e[r]&15];return n}if(typeof e==`object`&&typeof e.toJSON==`function`)return ti(e.toJSON());switch(typeof e){case`boolean`:case`symbol`:return e.toString();case`bigint`:return BigInt(e).toString();case`number`:return e.toString();case`string`:return JSON.stringify(e);case`object`:{let t=Object.keys(e);return t.sort(),`{ `+t.map(t=>`${ti(t)}: ${ti(e[t])}`).join(`, `)+` }`}}return`[ COULD NOT SERIALIZE ]`}function ni(e,t){return e&&e.code===t}function ri(e,t,n){let r=e;{let r=[];if(n){if(`message`in n||`code`in n||`name`in n)throw Error(`value will overwrite populated values: ${ti(n)}`);for(let e in n){if(e===`shortMessage`)continue;let t=n[e];r.push(e+`=`+ti(t))}}r.push(`code=${t}`),r.push(`version=${Zr}`),r.length&&(e+=` (`+r.join(`, `)+`)`)}let i;switch(t){case`INVALID_ARGUMENT`:i=TypeError(e);break;case`NUMERIC_FAULT`:case`BUFFER_OVERRUN`:i=RangeError(e);break;default:i=Error(e)}return ei(i,{code:t}),n&&Object.assign(i,n),i.shortMessage??ei(i,{shortMessage:r}),i}function V(e,t,n,r){if(!e)throw ri(t,n,r)}function H(e,t,n,r){V(e,t,`INVALID_ARGUMENT`,{argument:n,value:r})}function ii(e,t,n){n??=``,n&&=`: `+n,V(e>=t,`missing argument`+n,`MISSING_ARGUMENT`,{count:e,expectedCount:t}),V(e<=t,`too many arguments`+n,`UNEXPECTED_ARGUMENT`,{count:e,expectedCount:t})}var ai=[`NFD`,`NFC`,`NFKD`,`NFKC`].reduce((e,t)=>{try{if(`test`.normalize(t)!==`test`)throw Error(`bad`);if(t===`NFD`&&`é`.normalize(`NFD`)!==`é`)throw Error(`broken`);e.push(t)}catch{}return e},[]);function oi(e){V(ai.indexOf(e)>=0,`platform missing String.prototype.normalize`,`UNSUPPORTED_OPERATION`,{operation:`String.prototype.normalize`,info:{form:e}})}function si(e,t,n){if(n??=``,e!==t){let e=n,t=`new`;n&&(e+=`.`,t+=` `+n),V(!1,`private constructor; use ${e}from* methods`,`UNSUPPORTED_OPERATION`,{operation:t})}}function ci(e,t,n){if(e instanceof Uint8Array)return n?new Uint8Array(e):e;if(typeof e==`string`&&e.match(/^0x(?:[0-9a-f][0-9a-f])*$/i)){let t=new Uint8Array((e.length-2)/2),n=2;for(let r=0;r<t.length;r++)t[r]=parseInt(e.substring(n,n+2),16),n+=2;return t}H(!1,`invalid BytesLike value`,t||`value`,e)}function U(e,t){return ci(e,t,!1)}function li(e,t){return ci(e,t,!0)}function ui(e,t){return!(typeof e!=`string`||!e.match(/^0x[0-9A-Fa-f]*$/)||typeof t==`number`&&e.length!==2+2*t||t===!0&&e.length%2!=0)}function di(e){return ui(e,!0)||e instanceof Uint8Array}var fi=`0123456789abcdef`;function W(e){let t=U(e),n=`0x`;for(let e=0;e<t.length;e++){let r=t[e];n+=fi[(r&240)>>4]+fi[r&15]}return n}function pi(e){return`0x`+e.map(e=>W(e).substring(2)).join(``)}function mi(e){return ui(e,!0)?(e.length-2)/2:U(e).length}function hi(e,t,n){let r=U(e);return n!=null&&n>r.length&&V(!1,`cannot slice beyond data bounds`,`BUFFER_OVERRUN`,{buffer:r,length:r.length,offset:n}),W(r.slice(t??0,n??r.length))}function gi(e,t,n){let r=U(e);V(t>=r.length,`padding exceeds data length`,`BUFFER_OVERRUN`,{buffer:new Uint8Array(r),length:t,offset:t+1});let i=new Uint8Array(t);return i.fill(0),n?i.set(r,t-r.length):i.set(r,0),W(i)}function _i(e,t){return gi(e,t,!0)}var vi=BigInt(0),yi=BigInt(1),bi=9007199254740991;function xi(e,t){let n=Ti(e,`value`),r=BigInt(Oi(t,`width`));if(V(n>>r===vi,`overflow`,`NUMERIC_FAULT`,{operation:`fromTwos`,fault:`overflow`,value:e}),n>>r-yi){let e=(yi<<r)-yi;return-((~n&e)+yi)}return n}function Si(e,t){let n=wi(e,`value`),r=BigInt(Oi(t,`width`)),i=yi<<r-yi;if(n<vi){n=-n,V(n<=i,`too low`,`NUMERIC_FAULT`,{operation:`toTwos`,fault:`overflow`,value:e});let t=(yi<<r)-yi;return(~n&t)+yi}else V(n<i,`too high`,`NUMERIC_FAULT`,{operation:`toTwos`,fault:`overflow`,value:e});return n}function Ci(e,t){return Ti(e,`value`)&(yi<<BigInt(Oi(t,`bits`)))-yi}function wi(e,t){switch(typeof e){case`bigint`:return e;case`number`:return H(Number.isInteger(e),`underflow`,t||`value`,e),H(e>=-bi&&e<=bi,`overflow`,t||`value`,e),BigInt(e);case`string`:try{if(e===``)throw Error(`empty string`);return e[0]===`-`&&e[1]!==`-`?-BigInt(e.substring(1)):BigInt(e)}catch(n){H(!1,`invalid BigNumberish string: ${n.message}`,t||`value`,e)}}H(!1,`invalid BigNumberish value`,t||`value`,e)}function Ti(e,t){let n=wi(e,t);return V(n>=vi,`unsigned value cannot be negative`,`NUMERIC_FAULT`,{fault:`overflow`,operation:`getUint`,value:e}),n}var Ei=`0123456789abcdef`;function Di(e){if(e instanceof Uint8Array){let t=`0x0`;for(let n of e)t+=Ei[n>>4],t+=Ei[n&15];return BigInt(t)}return wi(e)}function Oi(e,t){switch(typeof e){case`bigint`:return H(e>=-bi&&e<=bi,`overflow`,t||`value`,e),Number(e);case`number`:return H(Number.isInteger(e),`underflow`,t||`value`,e),H(e>=-bi&&e<=bi,`overflow`,t||`value`,e),e;case`string`:try{if(e===``)throw Error(`empty string`);return Oi(BigInt(e),t)}catch(n){H(!1,`invalid numeric string: ${n.message}`,t||`value`,e)}}H(!1,`invalid numeric value`,t||`value`,e)}function ki(e){return Oi(Di(e))}function Ai(e,t){let n=Ti(e,`value`).toString(16);if(t==null)n.length%2&&(n=`0`+n);else{let r=Oi(t,`width`);for(V(r*2>=n.length,`value exceeds width (${r} bytes)`,`NUMERIC_FAULT`,{operation:`toBeHex`,fault:`overflow`,value:e});n.length<r*2;)n=`0`+n}return`0x`+n}function ji(e){let t=Ti(e,`value`);if(t===vi)return new Uint8Array([]);let n=t.toString(16);n.length%2&&(n=`0`+n);let r=new Uint8Array(n.length/2);for(let e=0;e<r.length;e++){let t=e*2;r[e]=parseInt(n.substring(t,t+2),16)}return r}function Mi(e){let t=W(di(e)?e:ji(e)).substring(2);for(;t.startsWith(`0`);)t=t.substring(1);return t===``&&(t=`0`),`0x`+t}var Ni=`123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz`,Pi=null;function Fi(e){if(Pi==null){Pi={};for(let e=0;e<58;e++)Pi[Ni[e]]=BigInt(e)}let t=Pi[e];return H(t!=null,`invalid base58 value`,`letter`,e),t}var Ii=BigInt(0),Li=BigInt(58);function Ri(e){let t=U(e),n=Di(t),r=``;for(;n;)r=Ni[Number(n%Li)]+r,n/=Li;for(let e=0;e<t.length&&!t[e];e++)r=Ni[0]+r;return r}function zi(e){let t=Ii;for(let n=0;n<e.length;n++)t*=Li,t+=Fi(e[n]);return t}function Bi(e,t,n,r,i){H(!1,`invalid codepoint at offset ${t}; ${e}`,`bytes`,n)}function Vi(e,t,n,r,i){if(e===`BAD_PREFIX`||e===`UNEXPECTED_CONTINUE`){let e=0;for(let r=t+1;r<n.length&&n[r]>>6==2;r++)e++;return e}return e===`OVERRUN`?n.length-t-1:0}function Hi(e,t,n,r,i){return e===`OVERLONG`?(H(typeof i==`number`,`invalid bad code point for replacement`,`badCodepoint`,i),r.push(i),0):(r.push(65533),Vi(e,t,n,r,i))}var Ui=Object.freeze({error:Bi,ignore:Vi,replace:Hi});function Wi(e,t){t??=Ui.error;let n=U(e,`bytes`),r=[],i=0;for(;i<n.length;){let e=n[i++];if(!(e>>7)){r.push(e);continue}let a=null,o=null;if((e&224)==192)a=1,o=127;else if((e&240)==224)a=2,o=2047;else if((e&248)==240)a=3,o=65535;else{(e&192)==128?i+=t(`UNEXPECTED_CONTINUE`,i-1,n,r):i+=t(`BAD_PREFIX`,i-1,n,r);continue}if(i-1+a>=n.length){i+=t(`OVERRUN`,i-1,n,r);continue}let s=e&(1<<8-a-1)-1;for(let e=0;e<a;e++){let e=n[i];if((e&192)!=128){i+=t(`MISSING_CONTINUE`,i,n,r),s=null;break}s=s<<6|e&63,i++}if(s!==null){if(s>1114111){i+=t(`OUT_OF_RANGE`,i-1-a,n,r,s);continue}if(s>=55296&&s<=57343){i+=t(`UTF16_SURROGATE`,i-1-a,n,r,s);continue}if(s<=o){i+=t(`OVERLONG`,i-1-a,n,r,s);continue}r.push(s)}}return r}function Gi(e,t){H(typeof e==`string`,`invalid string value`,`str`,e),t!=null&&(oi(t),e=e.normalize(t));let n=[];for(let t=0;t<e.length;t++){let r=e.charCodeAt(t);if(r<128)n.push(r);else if(r<2048)n.push(r>>6|192),n.push(r&63|128);else if((r&64512)==55296){t++;let i=e.charCodeAt(t);H(t<e.length&&(i&64512)==56320,`invalid surrogate pair`,`str`,e);let a=65536+((r&1023)<<10)+(i&1023);n.push(a>>18|240),n.push(a>>12&63|128),n.push(a>>6&63|128),n.push(a&63|128)}else n.push(r>>12|224),n.push(r>>6&63|128),n.push(r&63|128)}return new Uint8Array(n)}function Ki(e){return e.map(e=>e<=65535?String.fromCharCode(e):(e-=65536,String.fromCharCode((e>>10&1023)+55296,(e&1023)+56320))).join(``)}function qi(e,t){return Ki(Wi(e,t))}function Ji(e){let t=e.toString(16);for(;t.length<2;)t=`0`+t;return`0x`+t}function Yi(e,t,n){let r=0;for(let i=0;i<n;i++)r=r*256+e[t+i];return r}function Xi(e,t,n,r){let i=[];for(;n<t+1+r;){let a=Zi(e,n);i.push(a.result),n+=a.consumed,V(n<=t+1+r,`child data too short`,`BUFFER_OVERRUN`,{buffer:e,length:r,offset:t})}return{consumed:1+r,result:i}}function Zi(e,t){V(e.length!==0,`data too short`,`BUFFER_OVERRUN`,{buffer:e,length:0,offset:1});let n=t=>{V(t<=e.length,`data short segment too short`,`BUFFER_OVERRUN`,{buffer:e,length:e.length,offset:t})};if(e[t]>=248){let r=e[t]-247;n(t+1+r);let i=Yi(e,t+1,r);return n(t+1+r+i),Xi(e,t,t+1+r,r+i)}else if(e[t]>=192){let r=e[t]-192;return n(t+1+r),Xi(e,t,t+1,r)}else if(e[t]>=184){let r=e[t]-183;n(t+1+r);let i=Yi(e,t+1,r);n(t+1+r+i);let a=W(e.slice(t+1+r,t+1+r+i));return{consumed:1+r+i,result:a}}else if(e[t]>=128){let r=e[t]-128;n(t+1+r);let i=W(e.slice(t+1,t+1+r));return{consumed:1+r,result:i}}return{consumed:1,result:Ji(e[t])}}function Qi(e){let t=U(e,`data`),n=Zi(t,0);return H(n.consumed===t.length,`unexpected junk after rlp payload`,`data`,e),n.result}function $i(e){let t=[];for(;e;)t.unshift(e&255),e>>=8;return t}function ea(e){if(Array.isArray(e)){let t=[];if(e.forEach(function(e){t=t.concat(ea(e))}),t.length<=55)return t.unshift(192+t.length),t;let n=$i(t.length);return n.unshift(247+n.length),n.concat(t)}let t=Array.prototype.slice.call(U(e,`object`));if(t.length===1&&t[0]<=127)return t;if(t.length<=55)return t.unshift(128+t.length),t;let n=$i(t.length);return n.unshift(183+n.length),n.concat(t)}var ta=`0123456789abcdef`;function na(e){let t=`0x`;for(let n of ea(e))t+=ta[n>>4],t+=ta[n&15];return t}function ra(e){let t=U(e,`randomBytes`);t[6]=t[6]&15|64,t[8]=t[8]&63|128;let n=W(t);return[n.substring(2,10),n.substring(10,14),n.substring(14,18),n.substring(18,22),n.substring(22,34)].join(`-`)}var ia=new Uint8Array(32),aa=[`then`],oa={},sa=new WeakMap;function ca(e){return sa.get(e)}function la(e,t){sa.set(e,t)}function ua(e,t){let n=Error(`deferred error during ABI decoding triggered accessing ${e}`);throw n.error=t,n}function da(e,t,n){return e.indexOf(null)>=0?t.map((e,t)=>e instanceof fa?da(ca(e),e,n):e):e.reduce((e,r,i)=>{let a=t.getValue(r);return r in e||(n&&a instanceof fa&&(a=da(ca(a),a,n)),e[r]=a),e},{})}var fa=class e extends Array{#e;constructor(...e){let t=e[0],n=e[1],r=(e[2]||[]).slice(),i=!0;t!==oa&&(n=e,r=[],i=!1),super(n.length),n.forEach((e,t)=>{this[t]=e});let a=r.reduce((e,t)=>(typeof t==`string`&&e.set(t,(e.get(t)||0)+1),e),new Map);if(la(this,Object.freeze(n.map((e,t)=>{let n=r[t];return n!=null&&a.get(n)===1?n:null}))),this.#e=[],this.#e??this.#e,!i)return;Object.freeze(this);let o=new Proxy(this,{get:(e,t,n)=>{if(typeof t==`string`){if(t.match(/^[0-9]+$/)){let n=Oi(t,`%index`);if(n<0||n>=this.length)throw RangeError(`out of result range`);let r=e[n];return r instanceof Error&&ua(`index ${n}`,r),r}if(aa.indexOf(t)>=0)return Reflect.get(e,t,n);let r=e[t];if(r instanceof Function)return function(...t){return r.apply(this===n?e:this,t)};if(!(t in e))return e.getValue.apply(this===n?e:this,[t])}return Reflect.get(e,t,n)}});return la(o,ca(this)),o}toArray(t){let n=[];return this.forEach((r,i)=>{r instanceof Error&&ua(`index ${i}`,r),t&&r instanceof e&&(r=r.toArray(t)),n.push(r)}),n}toObject(e){let t=ca(this);return t.reduce((n,r,i)=>(V(r!=null,`value at index ${i} unnamed`,`UNSUPPORTED_OPERATION`,{operation:`toObject()`}),da(t,this,e)),{})}slice(t,n){t??=0,t<0&&(t+=this.length,t<0&&(t=0)),n??=this.length,n<0&&(n+=this.length,n<0&&(n=0)),n>this.length&&(n=this.length);let r=ca(this),i=[],a=[];for(let e=t;e<n;e++)i.push(this[e]),a.push(r[e]);return new e(oa,i,a)}filter(t,n){let r=ca(this),i=[],a=[];for(let e=0;e<this.length;e++){let o=this[e];o instanceof Error&&ua(`index ${e}`,o),t.call(n,o,e,this)&&(i.push(o),a.push(r[e]))}return new e(oa,i,a)}map(e,t){let n=[];for(let r=0;r<this.length;r++){let i=this[r];i instanceof Error&&ua(`index ${r}`,i),n.push(e.call(t,i,r,this))}return n}getValue(e){let t=ca(this).indexOf(e);if(t===-1)return;let n=this[t];return n instanceof Error&&ua(`property ${JSON.stringify(e)}`,n.error),n}static fromItems(t,n){return new e(oa,t,n)}};function pa(e){let t=ji(e);return V(t.length<=32,`value out-of-bounds`,`BUFFER_OVERRUN`,{buffer:t,length:32,offset:t.length}),t.length!==32&&(t=li(pi([ia.slice(t.length%32),t]))),t}var ma=class{name;type;localName;dynamic;constructor(e,t,n,r){ei(this,{name:e,type:t,localName:n,dynamic:r},{name:`string`,type:`string`,localName:`string`,dynamic:`boolean`})}_throwError(e,t){H(!1,e,this.localName,t)}},ha=class{#e;#t;constructor(){this.#e=[],this.#t=0}get data(){return pi(this.#e)}get length(){return this.#t}#n(e){return this.#e.push(e),this.#t+=e.length,e.length}appendWriter(e){return this.#n(li(e.data))}writeBytes(e){let t=li(e),n=t.length%32;return n&&(t=li(pi([t,ia.slice(n)]))),this.#n(t)}writeValue(e){return this.#n(pa(e))}writeUpdatableValue(){let e=this.#e.length;return this.#e.push(ia),this.#t+=32,t=>{this.#e[e]=pa(t)}}},ga=class e{allowLoose;#e;#t;#n;#r;#i;constructor(e,t,n){ei(this,{allowLoose:!!t}),this.#e=li(e),this.#n=0,this.#r=null,this.#i=n??1024,this.#t=0}get data(){return W(this.#e)}get dataLength(){return this.#e.length}get consumed(){return this.#t}get bytes(){return new Uint8Array(this.#e)}#a(e){if(this.#r)return this.#r.#a(e);this.#n+=e,V(this.#i<1||this.#n<=this.#i*this.dataLength,`compressed ABI data exceeds inflation ratio of ${this.#i} ( see: https:/\/github.com/ethers-io/ethers.js/issues/4537 )`,`BUFFER_OVERRUN`,{buffer:li(this.#e),offset:this.#t,length:e,info:{bytesRead:this.#n,dataLength:this.dataLength}})}#o(e,t,n){let r=Math.ceil(t/32)*32;return this.#t+r>this.#e.length&&(this.allowLoose&&n&&this.#t+t<=this.#e.length?r=t:V(!1,`data out-of-bounds`,`BUFFER_OVERRUN`,{buffer:li(this.#e),length:this.#e.length,offset:this.#t+r})),this.#e.slice(this.#t,this.#t+r)}subReader(t){let n=new e(this.#e.slice(this.#t+t),this.allowLoose,this.#i);return n.#r=this,n}readBytes(e,t){let n=this.#o(0,e,!!t);return this.#a(e),this.#t+=n.length,n.slice(0,e)}readValue(){return Di(this.readBytes(32))}readIndex(){return ki(this.readBytes(32))}};function _a(e){if(!Number.isSafeInteger(e)||e<0)throw Error(`Wrong positive integer: ${e}`)}function va(e,...t){if(!(e instanceof Uint8Array))throw Error(`Expected Uint8Array`);if(t.length>0&&!t.includes(e.length))throw Error(`Expected Uint8Array of length ${t}, not of length=${e.length}`)}function ya(e){if(typeof e!=`function`||typeof e.create!=`function`)throw Error(`Hash should be wrapped by utils.wrapConstructor`);_a(e.outputLen),_a(e.blockLen)}function ba(e,t=!0){if(e.destroyed)throw Error(`Hash instance has been destroyed`);if(t&&e.finished)throw Error(`Hash#digest() has already been called`)}function xa(e,t){va(e);let n=t.outputLen;if(e.length<n)throw Error(`digestInto() expects output buffer of length at least ${n}`)}var Sa=typeof globalThis==`object`&&`crypto`in globalThis?globalThis.crypto:void 0,Ca=e=>e instanceof Uint8Array,wa=e=>new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4)),Ta=e=>new DataView(e.buffer,e.byteOffset,e.byteLength),Ea=(e,t)=>e<<32-t|e>>>t;if(new Uint8Array(new Uint32Array([287454020]).buffer)[0]!==68)throw Error(`Non little-endian hardware is not supported`);var Da=async()=>{};async function Oa(e,t,n){let r=Date.now();for(let i=0;i<e;i++){n(i);let e=Date.now()-r;e>=0&&e<t||(await Da(),r+=e)}}function ka(e){if(typeof e!=`string`)throw Error(`utf8ToBytes expected string, got ${typeof e}`);return new Uint8Array(new TextEncoder().encode(e))}function Aa(e){if(typeof e==`string`&&(e=ka(e)),!Ca(e))throw Error(`expected Uint8Array, got ${typeof e}`);return e}function ja(...e){let t=new Uint8Array(e.reduce((e,t)=>e+t.length,0)),n=0;return e.forEach(e=>{if(!Ca(e))throw Error(`Uint8Array expected`);t.set(e,n),n+=e.length}),t}var Ma=class{clone(){return this._cloneInto()}},Na={}.toString;function Pa(e,t){if(t!==void 0&&Na.call(t)!==`[object Object]`)throw Error(`Options should be object or undefined`);return Object.assign(e,t)}function Fa(e){let t=t=>e().update(Aa(t)).digest(),n=e();return t.outputLen=n.outputLen,t.blockLen=n.blockLen,t.create=()=>e(),t}function Ia(e=32){if(Sa&&typeof Sa.getRandomValues==`function`)return Sa.getRandomValues(new Uint8Array(e));throw Error(`crypto.getRandomValues must be defined`)}var La=class extends Ma{constructor(e,t){super(),this.finished=!1,this.destroyed=!1,ya(e);let n=Aa(t);if(this.iHash=e.create(),typeof this.iHash.update!=`function`)throw Error(`Expected instance of class which extends utils.Hash`);this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;let r=this.blockLen,i=new Uint8Array(r);i.set(n.length>r?e.create().update(n).digest():n);for(let e=0;e<i.length;e++)i[e]^=54;this.iHash.update(i),this.oHash=e.create();for(let e=0;e<i.length;e++)i[e]^=106;this.oHash.update(i),i.fill(0)}update(e){return ba(this),this.iHash.update(e),this}digestInto(e){ba(this),va(e,this.outputLen),this.finished=!0,this.iHash.digestInto(e),this.oHash.update(e),this.oHash.digestInto(e),this.destroy()}digest(){let e=new Uint8Array(this.oHash.outputLen);return this.digestInto(e),e}_cloneInto(e){e||=Object.create(Object.getPrototypeOf(this),{});let{oHash:t,iHash:n,finished:r,destroyed:i,blockLen:a,outputLen:o}=this;return e=e,e.finished=r,e.destroyed=i,e.blockLen=a,e.outputLen=o,e.oHash=t._cloneInto(e.oHash),e.iHash=n._cloneInto(e.iHash),e}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}},Ra=(e,t,n)=>new La(e,t).update(n).digest();Ra.create=(e,t)=>new La(e,t);function za(e,t,n,r){ya(e);let{c:i,dkLen:a,asyncTick:o}=Pa({dkLen:32,asyncTick:10},r);if(_a(i),_a(a),_a(o),i<1)throw Error(`PBKDF2: iterations (c) should be >= 1`);let s=Aa(t),c=Aa(n),l=new Uint8Array(a),u=Ra.create(e,s);return{c:i,dkLen:a,asyncTick:o,DK:l,PRF:u,PRFSalt:u._cloneInto().update(c)}}function Ba(e,t,n,r,i){return e.destroy(),t.destroy(),r&&r.destroy(),i.fill(0),n}function Va(e,t,n,r){let{c:i,dkLen:a,DK:o,PRF:s,PRFSalt:c}=za(e,t,n,r),l,u=new Uint8Array(4),d=Ta(u),f=new Uint8Array(s.outputLen);for(let e=1,t=0;t<a;e++,t+=s.outputLen){let n=o.subarray(t,t+s.outputLen);d.setInt32(0,e,!1),(l=c._cloneInto(l)).update(u).digestInto(f),n.set(f.subarray(0,n.length));for(let e=1;e<i;e++){s._cloneInto(l).update(f).digestInto(f);for(let e=0;e<n.length;e++)n[e]^=f[e]}}return Ba(s,c,o,l,f)}function Ha(e,t,n,r){if(typeof e.setBigUint64==`function`)return e.setBigUint64(t,n,r);let i=BigInt(32),a=BigInt(4294967295),o=Number(n>>i&a),s=Number(n&a),c=r?4:0,l=r?0:4;e.setUint32(t+c,o,r),e.setUint32(t+l,s,r)}var Ua=class extends Ma{constructor(e,t,n,r){super(),this.blockLen=e,this.outputLen=t,this.padOffset=n,this.isLE=r,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(e),this.view=Ta(this.buffer)}update(e){ba(this);let{view:t,buffer:n,blockLen:r}=this;e=Aa(e);let i=e.length;for(let a=0;a<i;){let o=Math.min(r-this.pos,i-a);if(o===r){let t=Ta(e);for(;r<=i-a;a+=r)this.process(t,a);continue}n.set(e.subarray(a,a+o),this.pos),this.pos+=o,a+=o,this.pos===r&&(this.process(t,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){ba(this),xa(e,this),this.finished=!0;let{buffer:t,view:n,blockLen:r,isLE:i}=this,{pos:a}=this;t[a++]=128,this.buffer.subarray(a).fill(0),this.padOffset>r-a&&(this.process(n,0),a=0);for(let e=a;e<r;e++)t[e]=0;Ha(n,r-8,BigInt(this.length*8),i),this.process(n,0);let o=Ta(e),s=this.outputLen;if(s%4)throw Error(`_sha2: outputLen should be aligned to 32bit`);let c=s/4,l=this.get();if(c>l.length)throw Error(`_sha2: outputLen bigger than state`);for(let e=0;e<c;e++)o.setUint32(4*e,l[e],i)}digest(){let{buffer:e,outputLen:t}=this;this.digestInto(e);let n=e.slice(0,t);return this.destroy(),n}_cloneInto(e){e||=new this.constructor,e.set(...this.get());let{blockLen:t,buffer:n,length:r,finished:i,destroyed:a,pos:o}=this;return e.length=r,e.pos=o,e.finished=i,e.destroyed=a,r%t&&e.buffer.set(n),e}},Wa=(e,t,n)=>e&t^~e&n,Ga=(e,t,n)=>e&t^e&n^t&n,Ka=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),qa=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),Ja=new Uint32Array(64),Ya=class extends Ua{constructor(){super(64,32,8,!1),this.A=qa[0]|0,this.B=qa[1]|0,this.C=qa[2]|0,this.D=qa[3]|0,this.E=qa[4]|0,this.F=qa[5]|0,this.G=qa[6]|0,this.H=qa[7]|0}get(){let{A:e,B:t,C:n,D:r,E:i,F:a,G:o,H:s}=this;return[e,t,n,r,i,a,o,s]}set(e,t,n,r,i,a,o,s){this.A=e|0,this.B=t|0,this.C=n|0,this.D=r|0,this.E=i|0,this.F=a|0,this.G=o|0,this.H=s|0}process(e,t){for(let n=0;n<16;n++,t+=4)Ja[n]=e.getUint32(t,!1);for(let e=16;e<64;e++){let t=Ja[e-15],n=Ja[e-2],r=Ea(t,7)^Ea(t,18)^t>>>3;Ja[e]=(Ea(n,17)^Ea(n,19)^n>>>10)+Ja[e-7]+r+Ja[e-16]|0}let{A:n,B:r,C:i,D:a,E:o,F:s,G:c,H:l}=this;for(let e=0;e<64;e++){let t=Ea(o,6)^Ea(o,11)^Ea(o,25),u=l+t+Wa(o,s,c)+Ka[e]+Ja[e]|0,d=(Ea(n,2)^Ea(n,13)^Ea(n,22))+Ga(n,r,i)|0;l=c,c=s,s=o,o=a+u|0,a=i,i=r,r=n,n=u+d|0}n=n+this.A|0,r=r+this.B|0,i=i+this.C|0,a=a+this.D|0,o=o+this.E|0,s=s+this.F|0,c=c+this.G|0,l=l+this.H|0,this.set(n,r,i,a,o,s,c,l)}roundClean(){Ja.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}},Xa=Fa(()=>new Ya),Za=BigInt(2**32-1),Qa=BigInt(32);function $a(e,t=!1){return t?{h:Number(e&Za),l:Number(e>>Qa&Za)}:{h:Number(e>>Qa&Za)|0,l:Number(e&Za)|0}}function eo(e,t=!1){let n=new Uint32Array(e.length),r=new Uint32Array(e.length);for(let i=0;i<e.length;i++){let{h:a,l:o}=$a(e[i],t);[n[i],r[i]]=[a,o]}return[n,r]}var to=(e,t)=>BigInt(e>>>0)<<Qa|BigInt(t>>>0),no=(e,t,n)=>e>>>n,ro=(e,t,n)=>e<<32-n|t>>>n,io=(e,t,n)=>e>>>n|t<<32-n,ao=(e,t,n)=>e<<32-n|t>>>n,oo=(e,t,n)=>e<<64-n|t>>>n-32,so=(e,t,n)=>e>>>n-32|t<<64-n,co=(e,t)=>t,lo=(e,t)=>e,uo=(e,t,n)=>e<<n|t>>>32-n,fo=(e,t,n)=>t<<n|e>>>32-n,po=(e,t,n)=>t<<n-32|e>>>64-n,mo=(e,t,n)=>e<<n-32|t>>>64-n;function ho(e,t,n,r){let i=(t>>>0)+(r>>>0);return{h:e+n+(i/2**32|0)|0,l:i|0}}var G={fromBig:$a,split:eo,toBig:to,shrSH:no,shrSL:ro,rotrSH:io,rotrSL:ao,rotrBH:oo,rotrBL:so,rotr32H:co,rotr32L:lo,rotlSH:uo,rotlSL:fo,rotlBH:po,rotlBL:mo,add:ho,add3L:(e,t,n)=>(e>>>0)+(t>>>0)+(n>>>0),add3H:(e,t,n,r)=>t+n+r+(e/2**32|0)|0,add4L:(e,t,n,r)=>(e>>>0)+(t>>>0)+(n>>>0)+(r>>>0),add4H:(e,t,n,r,i)=>t+n+r+i+(e/2**32|0)|0,add5H:(e,t,n,r,i,a)=>t+n+r+i+a+(e/2**32|0)|0,add5L:(e,t,n,r,i)=>(e>>>0)+(t>>>0)+(n>>>0)+(r>>>0)+(i>>>0)},[go,_o]=G.split(`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`.split(`.`).map(e=>BigInt(e))),vo=new Uint32Array(80),yo=new Uint32Array(80),bo=class extends Ua{constructor(){super(128,64,16,!1),this.Ah=1779033703,this.Al=-205731576,this.Bh=-1150833019,this.Bl=-2067093701,this.Ch=1013904242,this.Cl=-23791573,this.Dh=-1521486534,this.Dl=1595750129,this.Eh=1359893119,this.El=-1377402159,this.Fh=-1694144372,this.Fl=725511199,this.Gh=528734635,this.Gl=-79577749,this.Hh=1541459225,this.Hl=327033209}get(){let{Ah:e,Al:t,Bh:n,Bl:r,Ch:i,Cl:a,Dh:o,Dl:s,Eh:c,El:l,Fh:u,Fl:d,Gh:f,Gl:p,Hh:m,Hl:h}=this;return[e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h]}set(e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h){this.Ah=e|0,this.Al=t|0,this.Bh=n|0,this.Bl=r|0,this.Ch=i|0,this.Cl=a|0,this.Dh=o|0,this.Dl=s|0,this.Eh=c|0,this.El=l|0,this.Fh=u|0,this.Fl=d|0,this.Gh=f|0,this.Gl=p|0,this.Hh=m|0,this.Hl=h|0}process(e,t){for(let n=0;n<16;n++,t+=4)vo[n]=e.getUint32(t),yo[n]=e.getUint32(t+=4);for(let e=16;e<80;e++){let t=vo[e-15]|0,n=yo[e-15]|0,r=G.rotrSH(t,n,1)^G.rotrSH(t,n,8)^G.shrSH(t,n,7),i=G.rotrSL(t,n,1)^G.rotrSL(t,n,8)^G.shrSL(t,n,7),a=vo[e-2]|0,o=yo[e-2]|0,s=G.rotrSH(a,o,19)^G.rotrBH(a,o,61)^G.shrSH(a,o,6),c=G.rotrSL(a,o,19)^G.rotrBL(a,o,61)^G.shrSL(a,o,6),l=G.add4L(i,c,yo[e-7],yo[e-16]);vo[e]=G.add4H(l,r,s,vo[e-7],vo[e-16])|0,yo[e]=l|0}let{Ah:n,Al:r,Bh:i,Bl:a,Ch:o,Cl:s,Dh:c,Dl:l,Eh:u,El:d,Fh:f,Fl:p,Gh:m,Gl:h,Hh:g,Hl:_}=this;for(let e=0;e<80;e++){let t=G.rotrSH(u,d,14)^G.rotrSH(u,d,18)^G.rotrBH(u,d,41),v=G.rotrSL(u,d,14)^G.rotrSL(u,d,18)^G.rotrBL(u,d,41),y=u&f^~u&m,b=d&p^~d&h,x=G.add5L(_,v,b,_o[e],yo[e]),S=G.add5H(x,g,t,y,go[e],vo[e]),ee=x|0,te=G.rotrSH(n,r,28)^G.rotrBH(n,r,34)^G.rotrBH(n,r,39),C=G.rotrSL(n,r,28)^G.rotrBL(n,r,34)^G.rotrBL(n,r,39),ne=n&i^n&o^i&o,re=r&a^r&s^a&s;g=m|0,_=h|0,m=f|0,h=p|0,f=u|0,p=d|0,{h:u,l:d}=G.add(c|0,l|0,S|0,ee|0),c=o|0,l=s|0,o=i|0,s=a|0,i=n|0,a=r|0;let ie=G.add3L(ee,C,re);n=G.add3H(ie,S,te,ne),r=ie|0}({h:n,l:r}=G.add(this.Ah|0,this.Al|0,n|0,r|0)),{h:i,l:a}=G.add(this.Bh|0,this.Bl|0,i|0,a|0),{h:o,l:s}=G.add(this.Ch|0,this.Cl|0,o|0,s|0),{h:c,l}=G.add(this.Dh|0,this.Dl|0,c|0,l|0),{h:u,l:d}=G.add(this.Eh|0,this.El|0,u|0,d|0),{h:f,l:p}=G.add(this.Fh|0,this.Fl|0,f|0,p|0),{h:m,l:h}=G.add(this.Gh|0,this.Gl|0,m|0,h|0),{h:g,l:_}=G.add(this.Hh|0,this.Hl|0,g|0,_|0),this.set(n,r,i,a,o,s,c,l,u,d,f,p,m,h,g,_)}roundClean(){vo.fill(0),yo.fill(0)}destroy(){this.buffer.fill(0),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}},xo=Fa(()=>new bo);f();function So(){if(typeof self<`u`)return self;if(typeof window<`u`)return window;if(p!==void 0)return p;throw Error(`unable to locate global object`)}var Co=So(),wo=Co.crypto||Co.msCrypto;function To(e){switch(e){case`sha256`:return Xa.create();case`sha512`:return xo.create()}H(!1,`invalid hashing algorithm name`,`algorithm`,e)}function Eo(e,t){let n={sha256:Xa,sha512:xo}[e];return H(n!=null,`invalid hmac algorithm`,`algorithm`,e),Ra.create(n,t)}function Do(e,t,n,r,i){let a={sha256:Xa,sha512:xo}[i];return H(a!=null,`invalid pbkdf2 algorithm`,`algorithm`,i),Va(a,e,t,{c:n,dkLen:r})}function Oo(e){V(wo!=null,`platform does not support secure random numbers`,`UNSUPPORTED_OPERATION`,{operation:`randomBytes`}),H(Number.isInteger(e)&&e>0&&e<=1024,`invalid length`,`length`,e);let t=new Uint8Array(e);return wo.getRandomValues(t),t}var ko=!1,Ao=function(e,t,n){return Eo(e,t).update(n).digest()},jo=Ao;function Mo(e,t,n){let r=U(t,`key`),i=U(n,`data`);return W(jo(e,r,i))}Mo._=Ao,Mo.lock=function(){ko=!0},Mo.register=function(e){if(ko)throw Error(`computeHmac is locked`);jo=e},Object.freeze(Mo);var[No,Po,Fo]=[[],[],[]],Io=BigInt(0),Lo=BigInt(1),Ro=BigInt(2),zo=BigInt(7),Bo=BigInt(256),Vo=BigInt(113);for(let e=0,t=Lo,n=1,r=0;e<24;e++){[n,r]=[r,(2*n+3*r)%5],No.push(2*(5*r+n)),Po.push((e+1)*(e+2)/2%64);let i=Io;for(let e=0;e<7;e++)t=(t<<Lo^(t>>zo)*Vo)%Bo,t&Ro&&(i^=Lo<<(Lo<<BigInt(e))-Lo);Fo.push(i)}var[Ho,Uo]=eo(Fo,!0),Wo=(e,t,n)=>n>32?po(e,t,n):uo(e,t,n),Go=(e,t,n)=>n>32?mo(e,t,n):fo(e,t,n);function Ko(e,t=24){let n=new Uint32Array(10);for(let r=24-t;r<24;r++){for(let t=0;t<10;t++)n[t]=e[t]^e[t+10]^e[t+20]^e[t+30]^e[t+40];for(let t=0;t<10;t+=2){let r=(t+8)%10,i=(t+2)%10,a=n[i],o=n[i+1],s=Wo(a,o,1)^n[r],c=Go(a,o,1)^n[r+1];for(let n=0;n<50;n+=10)e[t+n]^=s,e[t+n+1]^=c}let t=e[2],i=e[3];for(let n=0;n<24;n++){let r=Po[n],a=Wo(t,i,r),o=Go(t,i,r),s=No[n];t=e[s],i=e[s+1],e[s]=a,e[s+1]=o}for(let t=0;t<50;t+=10){for(let r=0;r<10;r++)n[r]=e[t+r];for(let r=0;r<10;r++)e[t+r]^=~n[(r+2)%10]&n[(r+4)%10]}e[0]^=Ho[r],e[1]^=Uo[r]}n.fill(0)}var qo=class e extends Ma{constructor(e,t,n,r=!1,i=24){if(super(),this.blockLen=e,this.suffix=t,this.outputLen=n,this.enableXOF=r,this.rounds=i,this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,_a(n),0>=this.blockLen||this.blockLen>=200)throw Error(`Sha3 supports only keccak-f1600 function`);this.state=new Uint8Array(200),this.state32=wa(this.state)}keccak(){Ko(this.state32,this.rounds),this.posOut=0,this.pos=0}update(e){ba(this);let{blockLen:t,state:n}=this;e=Aa(e);let r=e.length;for(let i=0;i<r;){let a=Math.min(t-this.pos,r-i);for(let t=0;t<a;t++)n[this.pos++]^=e[i++];this.pos===t&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;let{state:e,suffix:t,pos:n,blockLen:r}=this;e[n]^=t,t&128&&n===r-1&&this.keccak(),e[r-1]^=128,this.keccak()}writeInto(e){ba(this,!1),va(e),this.finish();let t=this.state,{blockLen:n}=this;for(let r=0,i=e.length;r<i;){this.posOut>=n&&this.keccak();let a=Math.min(n-this.posOut,i-r);e.set(t.subarray(this.posOut,this.posOut+a),r),this.posOut+=a,r+=a}return e}xofInto(e){if(!this.enableXOF)throw Error(`XOF is not possible for this instance`);return this.writeInto(e)}xof(e){return _a(e),this.xofInto(new Uint8Array(e))}digestInto(e){if(xa(e,this),this.finished)throw Error(`digest() was already called`);return this.writeInto(e),this.destroy(),e}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,this.state.fill(0)}_cloneInto(t){let{blockLen:n,suffix:r,outputLen:i,rounds:a,enableXOF:o}=this;return t||=new e(n,r,i,o,a),t.state32.set(this.state32),t.pos=this.pos,t.posOut=this.posOut,t.finished=this.finished,t.rounds=a,t.suffix=r,t.outputLen=i,t.enableXOF=o,t.destroyed=this.destroyed,t}},Jo=((e,t,n)=>Fa(()=>new qo(t,e,n)))(1,136,256/8),Yo=!1,Xo=function(e){return Jo(e)},Zo=Xo;function Qo(e){let t=U(e,`data`);return W(Zo(t))}Qo._=Xo,Qo.lock=function(){Yo=!0},Qo.register=function(e){if(Yo)throw TypeError(`keccak256 is locked`);Zo=e},Object.freeze(Qo);var $o=new Uint8Array([7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8]),es=Uint8Array.from({length:16},(e,t)=>t),ts=es.map(e=>(9*e+5)%16),ns=[es],rs=[ts];for(let e=0;e<4;e++)for(let t of[ns,rs])t.push(t[e].map(e=>$o[e]));var is=[[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8],[12,13,11,15,6,9,9,7,12,15,11,13,7,8,7,7],[13,15,14,11,7,7,6,8,13,14,13,12,5,5,6,9],[14,11,12,14,8,6,5,5,15,12,15,14,9,9,8,6],[15,12,13,13,9,5,8,6,14,11,12,11,8,6,5,5]].map(e=>new Uint8Array(e)),as=ns.map((e,t)=>e.map(e=>is[t][e])),os=rs.map((e,t)=>e.map(e=>is[t][e])),ss=new Uint32Array([0,1518500249,1859775393,2400959708,2840853838]),cs=new Uint32Array([1352829926,1548603684,1836072691,2053994217,0]),ls=(e,t)=>e<<t|e>>>32-t;function us(e,t,n,r){return e===0?t^n^r:e===1?t&n|~t&r:e===2?(t|~n)^r:e===3?t&r|n&~r:t^(n|~r)}var ds=new Uint32Array(16),fs=class extends Ua{constructor(){super(64,20,8,!0),this.h0=1732584193,this.h1=-271733879,this.h2=-1732584194,this.h3=271733878,this.h4=-1009589776}get(){let{h0:e,h1:t,h2:n,h3:r,h4:i}=this;return[e,t,n,r,i]}set(e,t,n,r,i){this.h0=e|0,this.h1=t|0,this.h2=n|0,this.h3=r|0,this.h4=i|0}process(e,t){for(let n=0;n<16;n++,t+=4)ds[n]=e.getUint32(t,!0);let n=this.h0|0,r=n,i=this.h1|0,a=i,o=this.h2|0,s=o,c=this.h3|0,l=c,u=this.h4|0,d=u;for(let e=0;e<5;e++){let t=4-e,f=ss[e],p=cs[e],m=ns[e],h=rs[e],g=as[e],_=os[e];for(let t=0;t<16;t++){let r=ls(n+us(e,i,o,c)+ds[m[t]]+f,g[t])+u|0;n=u,u=c,c=ls(o,10)|0,o=i,i=r}for(let e=0;e<16;e++){let n=ls(r+us(t,a,s,l)+ds[h[e]]+p,_[e])+d|0;r=d,d=l,l=ls(s,10)|0,s=a,a=n}}this.set(this.h1+o+l|0,this.h2+c+d|0,this.h3+u+r|0,this.h4+n+a|0,this.h0+i+s|0)}roundClean(){ds.fill(0)}destroy(){this.destroyed=!0,this.buffer.fill(0),this.set(0,0,0,0,0)}},ps=Fa(()=>new fs),ms=!1,hs=function(e){return ps(e)},gs=hs;function _s(e){let t=U(e,`data`);return W(gs(t))}_s._=hs,_s.lock=function(){ms=!0},_s.register=function(e){if(ms)throw TypeError(`ripemd160 is locked`);gs=e},Object.freeze(_s);var vs=!1,ys=function(e,t,n,r,i){return Do(e,t,n,r,i)},bs=ys;function xs(e,t,n,r,i){let a=U(e,`password`),o=U(t,`salt`);return W(bs(a,o,n,r,i))}xs._=ys,xs.lock=function(){vs=!0},xs.register=function(e){if(vs)throw Error(`pbkdf2 is locked`);bs=e},Object.freeze(xs);var Ss=!1,Cs=function(e){return new Uint8Array(Oo(e))},ws=Cs;function Ts(e){return ws(e)}Ts._=Cs,Ts.lock=function(){Ss=!0},Ts.register=function(e){if(Ss)throw Error(`randomBytes is locked`);ws=e},Object.freeze(Ts);var Es=(e,t)=>e<<t|e>>>32-t;function Ds(e,t,n,r,i,a){let o=e[t++]^n[r++],s=e[t++]^n[r++],c=e[t++]^n[r++],l=e[t++]^n[r++],u=e[t++]^n[r++],d=e[t++]^n[r++],f=e[t++]^n[r++],p=e[t++]^n[r++],m=e[t++]^n[r++],h=e[t++]^n[r++],g=e[t++]^n[r++],_=e[t++]^n[r++],v=e[t++]^n[r++],y=e[t++]^n[r++],b=e[t++]^n[r++],x=e[t++]^n[r++],S=o,ee=s,te=c,C=l,ne=u,re=d,ie=f,ae=p,oe=m,w=h,se=g,ce=_,le=v,ue=y,de=b,fe=x;for(let e=0;e<8;e+=2)ne^=Es(S+le|0,7),oe^=Es(ne+S|0,9),le^=Es(oe+ne|0,13),S^=Es(le+oe|0,18),w^=Es(re+ee|0,7),ue^=Es(w+re|0,9),ee^=Es(ue+w|0,13),re^=Es(ee+ue|0,18),de^=Es(se+ie|0,7),te^=Es(de+se|0,9),ie^=Es(te+de|0,13),se^=Es(ie+te|0,18),C^=Es(fe+ce|0,7),ae^=Es(C+fe|0,9),ce^=Es(ae+C|0,13),fe^=Es(ce+ae|0,18),ee^=Es(S+C|0,7),te^=Es(ee+S|0,9),C^=Es(te+ee|0,13),S^=Es(C+te|0,18),ie^=Es(re+ne|0,7),ae^=Es(ie+re|0,9),ne^=Es(ae+ie|0,13),re^=Es(ne+ae|0,18),ce^=Es(se+w|0,7),oe^=Es(ce+se|0,9),w^=Es(oe+ce|0,13),se^=Es(w+oe|0,18),le^=Es(fe+de|0,7),ue^=Es(le+fe|0,9),de^=Es(ue+le|0,13),fe^=Es(de+ue|0,18);i[a++]=o+S|0,i[a++]=s+ee|0,i[a++]=c+te|0,i[a++]=l+C|0,i[a++]=u+ne|0,i[a++]=d+re|0,i[a++]=f+ie|0,i[a++]=p+ae|0,i[a++]=m+oe|0,i[a++]=h+w|0,i[a++]=g+se|0,i[a++]=_+ce|0,i[a++]=v+le|0,i[a++]=y+ue|0,i[a++]=b+de|0,i[a++]=x+fe|0}function Os(e,t,n,r,i){let a=r+0,o=r+16*i;for(let r=0;r<16;r++)n[o+r]=e[t+(2*i-1)*16+r];for(let r=0;r<i;r++,a+=16,t+=16)Ds(n,o,e,t,n,a),r>0&&(o+=16),Ds(n,a,e,t+=16,n,o)}function ks(e,t,n){let{N:r,r:i,p:a,dkLen:o,asyncTick:s,maxmem:c,onProgress:l}=Pa({dkLen:32,asyncTick:10,maxmem:1024**3+1024},n);if(_a(r),_a(i),_a(a),_a(o),_a(s),_a(c),l!==void 0&&typeof l!=`function`)throw Error(`progressCb should be function`);let u=128*i,d=u/4;if(r<=1||r&r-1||r>=2**(u/8)||r>2**32)throw Error(`Scrypt: N must be larger than 1, a power of 2, less than 2^(128 * r / 8) and less than 2^32`);if(a<0||a>(2**32-1)*32/u)throw Error(`Scrypt: p must be a positive integer less than or equal to ((2^32 - 1) * 32) / (128 * r)`);if(o<0||o>(2**32-1)*32)throw Error(`Scrypt: dkLen should be positive integer less than or equal to (2^32 - 1) * 32`);let f=u*(r+a);if(f>c)throw Error(`Scrypt: parameters too large, ${f} (128 * r * (N + p)) > ${c} (maxmem)`);let p=Va(Xa,e,t,{c:1,dkLen:u*a}),m=wa(p),h=wa(new Uint8Array(u*r)),g=wa(new Uint8Array(u)),_=()=>{};if(l){let e=2*r*a,t=Math.max(Math.floor(e/1e4),1),n=0;_=()=>{n++,l&&(!(n%t)||n===e)&&l(n/e)}}return{N:r,r:i,p:a,dkLen:o,blockSize32:d,V:h,B32:m,B:p,tmp:g,blockMixCb:_,asyncTick:s}}function As(e,t,n,r,i){let a=Va(Xa,e,n,{c:1,dkLen:t});return n.fill(0),r.fill(0),i.fill(0),a}function js(e,t,n){let{N:r,r:i,p:a,dkLen:o,blockSize32:s,V:c,B32:l,B:u,tmp:d,blockMixCb:f}=ks(e,t,n);for(let e=0;e<a;e++){let t=s*e;for(let e=0;e<s;e++)c[e]=l[t+e];for(let e=0,t=0;e<r-1;e++)Os(c,t,c,t+=s,i),f();Os(c,(r-1)*s,l,t,i),f();for(let e=0;e<r;e++){let e=l[t+s-16]%r;for(let n=0;n<s;n++)d[n]=l[t+n]^c[e*s+n];Os(d,0,l,t,i),f()}}return As(e,o,u,c,d)}async function Ms(e,t,n){let{N:r,r:i,p:a,dkLen:o,blockSize32:s,V:c,B32:l,B:u,tmp:d,blockMixCb:f,asyncTick:p}=ks(e,t,n);for(let e=0;e<a;e++){let t=s*e;for(let e=0;e<s;e++)c[e]=l[t+e];let n=0;await Oa(r-1,p,()=>{Os(c,n,c,n+=s,i),f()}),Os(c,(r-1)*s,l,t,i),f(),await Oa(r,p,()=>{let e=l[t+s-16]%r;for(let n=0;n<s;n++)d[n]=l[t+n]^c[e*s+n];Os(d,0,l,t,i),f()})}return As(e,o,u,c,d)}var Ns=!1,Ps=!1,Fs=async function(e,t,n,r,i,a,o){return await Ms(e,t,{N:n,r,p:i,dkLen:a,onProgress:o})},Is=function(e,t,n,r,i,a){return js(e,t,{N:n,r,p:i,dkLen:a})},Ls=Fs,Rs=Is;async function zs(e,t,n,r,i,a,o){let s=U(e,`passwd`),c=U(t,`salt`);return W(await Ls(s,c,n,r,i,a,o))}zs._=Fs,zs.lock=function(){Ps=!0},zs.register=function(e){if(Ps)throw Error(`scrypt is locked`);Ls=e},Object.freeze(zs);function Bs(e,t,n,r,i,a){let o=U(e,`passwd`),s=U(t,`salt`);return W(Rs(o,s,n,r,i,a))}Bs._=Is,Bs.lock=function(){Ns=!0},Bs.register=function(e){if(Ns)throw Error(`scryptSync is locked`);Rs=e},Object.freeze(Bs);var Vs=function(e){return To(`sha256`).update(e).digest()},Hs=function(e){return To(`sha512`).update(e).digest()},Us=Vs,Ws=Hs,Gs=!1,Ks=!1;function qs(e){let t=U(e,`data`);return W(Us(t))}qs._=Vs,qs.lock=function(){Gs=!0},qs.register=function(e){if(Gs)throw Error(`sha256 is locked`);Us=e},Object.freeze(qs);function Js(e){let t=U(e,`data`);return W(Ws(t))}Js._=Hs,Js.lock=function(){Ks=!0},Js.register=function(e){if(Ks)throw Error(`sha512 is locked`);Ws=e},Object.freeze(qs);var Ys=e({bitGet:()=>hc,bitLen:()=>mc,bitMask:()=>_c,bitSet:()=>gc,bytesToHex:()=>tc,bytesToNumberBE:()=>ac,bytesToNumberLE:()=>oc,concatBytes:()=>dc,createHmacDrbg:()=>bc,ensureBytes:()=>uc,equalBytes:()=>fc,hexToBytes:()=>ic,hexToNumber:()=>rc,numberToBytesBE:()=>sc,numberToBytesLE:()=>cc,numberToHexUnpadded:()=>nc,numberToVarBytesBE:()=>lc,utf8ToBytes:()=>pc,validateObject:()=>Sc}),Xs=BigInt(0),Zs=BigInt(1),Qs=BigInt(2),$s=e=>e instanceof Uint8Array,ec=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,`0`));function tc(e){if(!$s(e))throw Error(`Uint8Array expected`);let t=``;for(let n=0;n<e.length;n++)t+=ec[e[n]];return t}function nc(e){let t=e.toString(16);return t.length&1?`0${t}`:t}function rc(e){if(typeof e!=`string`)throw Error(`hex string expected, got `+typeof e);return BigInt(e===``?`0`:`0x${e}`)}function ic(e){if(typeof e!=`string`)throw Error(`hex string expected, got `+typeof e);let t=e.length;if(t%2)throw Error(`padded hex string expected, got unpadded hex of length `+t);let n=new Uint8Array(t/2);for(let t=0;t<n.length;t++){let r=t*2,i=e.slice(r,r+2),a=Number.parseInt(i,16);if(Number.isNaN(a)||a<0)throw Error(`Invalid byte sequence`);n[t]=a}return n}function ac(e){return rc(tc(e))}function oc(e){if(!$s(e))throw Error(`Uint8Array expected`);return rc(tc(Uint8Array.from(e).reverse()))}function sc(e,t){return ic(e.toString(16).padStart(t*2,`0`))}function cc(e,t){return sc(e,t).reverse()}function lc(e){return ic(nc(e))}function uc(e,t,n){let r;if(typeof t==`string`)try{r=ic(t)}catch(n){throw Error(`${e} must be valid hex string, got "${t}". Cause: ${n}`)}else if($s(t))r=Uint8Array.from(t);else throw Error(`${e} must be hex string or Uint8Array`);let i=r.length;if(typeof n==`number`&&i!==n)throw Error(`${e} expected ${n} bytes, got ${i}`);return r}function dc(...e){let t=new Uint8Array(e.reduce((e,t)=>e+t.length,0)),n=0;return e.forEach(e=>{if(!$s(e))throw Error(`Uint8Array expected`);t.set(e,n),n+=e.length}),t}function fc(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}function pc(e){if(typeof e!=`string`)throw Error(`utf8ToBytes expected string, got ${typeof e}`);return new Uint8Array(new TextEncoder().encode(e))}function mc(e){let t;for(t=0;e>Xs;e>>=Zs,t+=1);return t}function hc(e,t){return e>>BigInt(t)&Zs}var gc=(e,t,n)=>e|(n?Zs:Xs)<<BigInt(t),_c=e=>(Qs<<BigInt(e-1))-Zs,vc=e=>new Uint8Array(e),yc=e=>Uint8Array.from(e);function bc(e,t,n){if(typeof e!=`number`||e<2)throw Error(`hashLen must be a number`);if(typeof t!=`number`||t<2)throw Error(`qByteLen must be a number`);if(typeof n!=`function`)throw Error(`hmacFn must be a function`);let r=vc(e),i=vc(e),a=0,o=()=>{r.fill(1),i.fill(0),a=0},s=(...e)=>n(i,r,...e),c=(e=vc())=>{i=s(yc([0]),e),r=s(),e.length!==0&&(i=s(yc([1]),e),r=s())},l=()=>{if(a++>=1e3)throw Error(`drbg: tried 1000 values`);let e=0,n=[];for(;e<t;){r=s();let t=r.slice();n.push(t),e+=r.length}return dc(...n)};return(e,t)=>{o(),c(e);let n;for(;!(n=t(l()));)c();return o(),n}}var xc={bigint:e=>typeof e==`bigint`,function:e=>typeof e==`function`,boolean:e=>typeof e==`boolean`,string:e=>typeof e==`string`,stringOrUint8Array:e=>typeof e==`string`||e instanceof Uint8Array,isSafeInteger:e=>Number.isSafeInteger(e),array:e=>Array.isArray(e),field:(e,t)=>t.Fp.isValid(e),hash:e=>typeof e==`function`&&Number.isSafeInteger(e.outputLen)};function Sc(e,t,n={}){let r=(t,n,r)=>{let i=xc[n];if(typeof i!=`function`)throw Error(`Invalid validator "${n}", expected function`);let a=e[t];if(!(r&&a===void 0)&&!i(a,e))throw Error(`Invalid param ${String(t)}=${a} (${typeof a}), expected ${n}`)};for(let[e,n]of Object.entries(t))r(e,n,!1);for(let[e,t]of Object.entries(n))r(e,t,!0);return e}var Cc=BigInt(0),wc=BigInt(1),Tc=BigInt(2),Ec=BigInt(3),Dc=BigInt(4),Oc=BigInt(5),kc=BigInt(8),Ac=BigInt(16);function jc(e,t){let n=e%t;return n>=Cc?n:t+n}function Mc(e,t,n){if(n<=Cc||t<Cc)throw Error(`Expected power/modulo > 0`);if(n===wc)return Cc;let r=wc;for(;t>Cc;)t&wc&&(r=r*e%n),e=e*e%n,t>>=wc;return r}function Nc(e,t,n){let r=e;for(;t-- >Cc;)r*=r,r%=n;return r}function Pc(e,t){if(e===Cc||t<=Cc)throw Error(`invert: expected positive integers, got n=${e} mod=${t}`);let n=jc(e,t),r=t,i=Cc,a=wc,o=wc,s=Cc;for(;n!==Cc;){let e=r/n,t=r%n,c=i-o*e,l=a-s*e;r=n,n=t,i=o,a=s,o=c,s=l}if(r!==wc)throw Error(`invert: does not exist`);return jc(i,t)}function Fc(e){let t=(e-wc)/Tc,n,r,i;for(n=e-wc,r=0;n%Tc===Cc;n/=Tc,r++);for(i=Tc;i<e&&Mc(i,t,e)!==e-wc;i++);if(r===1){let t=(e+wc)/Dc;return function(e,n){let r=e.pow(n,t);if(!e.eql(e.sqr(r),n))throw Error(`Cannot find square root`);return r}}let a=(n+wc)/Tc;return function(e,o){if(e.pow(o,t)===e.neg(e.ONE))throw Error(`Cannot find square root`);let s=r,c=e.pow(e.mul(e.ONE,i),n),l=e.pow(o,a),u=e.pow(o,n);for(;!e.eql(u,e.ONE);){if(e.eql(u,e.ZERO))return e.ZERO;let t=1;for(let n=e.sqr(u);t<s&&!e.eql(n,e.ONE);t++)n=e.sqr(n);let n=e.pow(c,wc<<BigInt(s-t-1));c=e.sqr(n),l=e.mul(l,n),u=e.mul(u,c),s=t}return l}}function Ic(e){if(e%Dc===Ec){let t=(e+wc)/Dc;return function(e,n){let r=e.pow(n,t);if(!e.eql(e.sqr(r),n))throw Error(`Cannot find square root`);return r}}if(e%kc===Oc){let t=(e-Oc)/kc;return function(e,n){let r=e.mul(n,Tc),i=e.pow(r,t),a=e.mul(n,i),o=e.mul(e.mul(a,Tc),i),s=e.mul(a,e.sub(o,e.ONE));if(!e.eql(e.sqr(s),n))throw Error(`Cannot find square root`);return s}}return e%Ac,Fc(e)}var Lc=[`create`,`isValid`,`is0`,`neg`,`inv`,`sqrt`,`sqr`,`eql`,`add`,`sub`,`mul`,`pow`,`div`,`addN`,`subN`,`mulN`,`sqrN`];function Rc(e){return Sc(e,Lc.reduce((e,t)=>(e[t]=`function`,e),{ORDER:`bigint`,MASK:`bigint`,BYTES:`isSafeInteger`,BITS:`isSafeInteger`}))}function zc(e,t,n){if(n<Cc)throw Error(`Expected power > 0`);if(n===Cc)return e.ONE;if(n===wc)return t;let r=e.ONE,i=t;for(;n>Cc;)n&wc&&(r=e.mul(r,i)),i=e.sqr(i),n>>=wc;return r}function Bc(e,t){let n=Array(t.length),r=t.reduce((t,r,i)=>e.is0(r)?t:(n[i]=t,e.mul(t,r)),e.ONE),i=e.inv(r);return t.reduceRight((t,r,i)=>e.is0(r)?t:(n[i]=e.mul(t,n[i]),e.mul(t,r)),i),n}function Vc(e,t){let n=t===void 0?e.toString(2).length:t;return{nBitLength:n,nByteLength:Math.ceil(n/8)}}function Hc(e,t,n=!1,r={}){if(e<=Cc)throw Error(`Expected Field ORDER > 0, got ${e}`);let{nBitLength:i,nByteLength:a}=Vc(e,t);if(a>2048)throw Error(`Field lengths over 2048 bytes are not supported`);let o=Ic(e),s=Object.freeze({ORDER:e,BITS:i,BYTES:a,MASK:_c(i),ZERO:Cc,ONE:wc,create:t=>jc(t,e),isValid:t=>{if(typeof t!=`bigint`)throw Error(`Invalid field element: expected bigint, got ${typeof t}`);return Cc<=t&&t<e},is0:e=>e===Cc,isOdd:e=>(e&wc)===wc,neg:t=>jc(-t,e),eql:(e,t)=>e===t,sqr:t=>jc(t*t,e),add:(t,n)=>jc(t+n,e),sub:(t,n)=>jc(t-n,e),mul:(t,n)=>jc(t*n,e),pow:(e,t)=>zc(s,e,t),div:(t,n)=>jc(t*Pc(n,e),e),sqrN:e=>e*e,addN:(e,t)=>e+t,subN:(e,t)=>e-t,mulN:(e,t)=>e*t,inv:t=>Pc(t,e),sqrt:r.sqrt||(e=>o(s,e)),invertBatch:e=>Bc(s,e),cmov:(e,t,n)=>n?t:e,toBytes:e=>n?cc(e,a):sc(e,a),fromBytes:e=>{if(e.length!==a)throw Error(`Fp.fromBytes: expected ${a}, got ${e.length}`);return n?oc(e):ac(e)}});return Object.freeze(s)}function Uc(e){if(typeof e!=`bigint`)throw Error(`field order must be bigint`);let t=e.toString(2).length;return Math.ceil(t/8)}function Wc(e){let t=Uc(e);return t+Math.ceil(t/2)}function Gc(e,t,n=!1){let r=e.length,i=Uc(t),a=Wc(t);if(r<16||r<a||r>1024)throw Error(`expected ${a}-1024 bytes of input, got ${r}`);let o=jc(n?ac(e):oc(e),t-wc)+wc;return n?cc(o,i):sc(o,i)}var Kc=BigInt(0),qc=BigInt(1);function Jc(e,t){let n=(e,t)=>{let n=t.negate();return e?n:t},r=e=>({windows:Math.ceil(t/e)+1,windowSize:2**(e-1)});return{constTimeNegate:n,unsafeLadder(t,n){let r=e.ZERO,i=t;for(;n>Kc;)n&qc&&(r=r.add(i)),i=i.double(),n>>=qc;return r},precomputeWindow(e,t){let{windows:n,windowSize:i}=r(t),a=[],o=e,s=o;for(let e=0;e<n;e++){s=o,a.push(s);for(let e=1;e<i;e++)s=s.add(o),a.push(s);o=s.double()}return a},wNAF(t,i,a){let{windows:o,windowSize:s}=r(t),c=e.ZERO,l=e.BASE,u=BigInt(2**t-1),d=2**t,f=BigInt(t);for(let e=0;e<o;e++){let t=e*s,r=Number(a&u);a>>=f,r>s&&(r-=d,a+=qc);let o=t,p=t+Math.abs(r)-1,m=e%2!=0,h=r<0;r===0?l=l.add(n(m,i[o])):c=c.add(n(h,i[p]))}return{p:c,f:l}},wNAFCached(e,t,n,r){let i=e._WINDOW_SIZE||1,a=t.get(e);return a||(a=this.precomputeWindow(e,i),i!==1&&t.set(e,r(a))),this.wNAF(i,a,n)}}}function Yc(e){return Rc(e.Fp),Sc(e,{n:`bigint`,h:`bigint`,Gx:`field`,Gy:`field`},{nBitLength:`isSafeInteger`,nByteLength:`isSafeInteger`}),Object.freeze({...Vc(e.n,e.nBitLength),...e,p:e.Fp.ORDER})}function Xc(e){let t=Yc(e);Sc(t,{a:`field`,b:`field`},{allowedPrivateKeyLengths:`array`,wrapPrivateKey:`boolean`,isTorsionFree:`function`,clearCofactor:`function`,allowInfinityPoint:`boolean`,fromBytes:`function`,toBytes:`function`});let{endo:n,Fp:r,a:i}=t;if(n){if(!r.eql(i,r.ZERO))throw Error(`Endomorphism can only be defined for Koblitz curves that have a=0`);if(typeof n!=`object`||typeof n.beta!=`bigint`||typeof n.splitScalar!=`function`)throw Error(`Expected endomorphism with beta: bigint and splitScalar: function`)}return Object.freeze({...t})}var{bytesToNumberBE:Zc,hexToBytes:Qc}=Ys,$c={Err:class extends Error{constructor(e=``){super(e)}},_parseInt(e){let{Err:t}=$c;if(e.length<2||e[0]!==2)throw new t(`Invalid signature integer tag`);let n=e[1],r=e.subarray(2,n+2);if(!n||r.length!==n)throw new t(`Invalid signature integer: wrong length`);if(r[0]&128)throw new t(`Invalid signature integer: negative`);if(r[0]===0&&!(r[1]&128))throw new t(`Invalid signature integer: unnecessary leading zero`);return{d:Zc(r),l:e.subarray(n+2)}},toSig(e){let{Err:t}=$c,n=typeof e==`string`?Qc(e):e;if(!(n instanceof Uint8Array))throw Error(`ui8a expected`);let r=n.length;if(r<2||n[0]!=48)throw new t(`Invalid signature tag`);if(n[1]!==r-2)throw new t(`Invalid signature: incorrect length`);let{d:i,l:a}=$c._parseInt(n.subarray(2)),{d:o,l:s}=$c._parseInt(a);if(s.length)throw new t(`Invalid signature: left bytes after parsing`);return{r:i,s:o}},hexFromSig(e){let t=e=>Number.parseInt(e[0],16)&8?`00`+e:e,n=e=>{let t=e.toString(16);return t.length&1?`0${t}`:t},r=t(n(e.s)),i=t(n(e.r)),a=r.length/2,o=i.length/2,s=n(a),c=n(o);return`30${n(o+a+4)}02${c}${i}02${s}${r}`}},el=BigInt(0),tl=BigInt(1),nl=BigInt(2),rl=BigInt(3),il=BigInt(4);function al(e){let t=Xc(e),{Fp:n}=t,r=t.toBytes||((e,t,r)=>{let i=t.toAffine();return dc(Uint8Array.from([4]),n.toBytes(i.x),n.toBytes(i.y))}),i=t.fromBytes||(e=>{let t=e.subarray(1);return{x:n.fromBytes(t.subarray(0,n.BYTES)),y:n.fromBytes(t.subarray(n.BYTES,2*n.BYTES))}});function a(e){let{a:r,b:i}=t,a=n.sqr(e),o=n.mul(a,e);return n.add(n.add(o,n.mul(e,r)),i)}if(!n.eql(n.sqr(t.Gy),a(t.Gx)))throw Error(`bad generator point: equation left != right`);function o(e){return typeof e==`bigint`&&el<e&&e<t.n}function s(e){if(!o(e))throw Error(`Expected valid bigint: 0 < bigint < curve.n`)}function c(e){let{allowedPrivateKeyLengths:n,nByteLength:r,wrapPrivateKey:i,n:a}=t;if(n&&typeof e!=`bigint`){if(e instanceof Uint8Array&&(e=tc(e)),typeof e!=`string`||!n.includes(e.length))throw Error(`Invalid key`);e=e.padStart(r*2,`0`)}let o;try{o=typeof e==`bigint`?e:ac(uc(`private key`,e,r))}catch{throw Error(`private key must be ${r} bytes, hex or bigint, not ${typeof e}`)}return i&&(o=jc(o,a)),s(o),o}let l=new Map;function u(e){if(!(e instanceof d))throw Error(`ProjectivePoint expected`)}class d{constructor(e,t,r){if(this.px=e,this.py=t,this.pz=r,e==null||!n.isValid(e))throw Error(`x required`);if(t==null||!n.isValid(t))throw Error(`y required`);if(r==null||!n.isValid(r))throw Error(`z required`)}static fromAffine(e){let{x:t,y:r}=e||{};if(!e||!n.isValid(t)||!n.isValid(r))throw Error(`invalid affine point`);if(e instanceof d)throw Error(`projective point not allowed`);let i=e=>n.eql(e,n.ZERO);return i(t)&&i(r)?d.ZERO:new d(t,r,n.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(e){let t=n.invertBatch(e.map(e=>e.pz));return e.map((e,n)=>e.toAffine(t[n])).map(d.fromAffine)}static fromHex(e){let t=d.fromAffine(i(uc(`pointHex`,e)));return t.assertValidity(),t}static fromPrivateKey(e){return d.BASE.multiply(c(e))}_setWindowSize(e){this._WINDOW_SIZE=e,l.delete(this)}assertValidity(){if(this.is0()){if(t.allowInfinityPoint&&!n.is0(this.py))return;throw Error(`bad point: ZERO`)}let{x:e,y:r}=this.toAffine();if(!n.isValid(e)||!n.isValid(r))throw Error(`bad point: x or y not FE`);let i=n.sqr(r),o=a(e);if(!n.eql(i,o))throw Error(`bad point: equation left != right`);if(!this.isTorsionFree())throw Error(`bad point: not in prime-order subgroup`)}hasEvenY(){let{y:e}=this.toAffine();if(n.isOdd)return!n.isOdd(e);throw Error(`Field doesn't support isOdd`)}equals(e){u(e);let{px:t,py:r,pz:i}=this,{px:a,py:o,pz:s}=e,c=n.eql(n.mul(t,s),n.mul(a,i)),l=n.eql(n.mul(r,s),n.mul(o,i));return c&&l}negate(){return new d(this.px,n.neg(this.py),this.pz)}double(){let{a:e,b:r}=t,i=n.mul(r,rl),{px:a,py:o,pz:s}=this,c=n.ZERO,l=n.ZERO,u=n.ZERO,f=n.mul(a,a),p=n.mul(o,o),m=n.mul(s,s),h=n.mul(a,o);return h=n.add(h,h),u=n.mul(a,s),u=n.add(u,u),c=n.mul(e,u),l=n.mul(i,m),l=n.add(c,l),c=n.sub(p,l),l=n.add(p,l),l=n.mul(c,l),c=n.mul(h,c),u=n.mul(i,u),m=n.mul(e,m),h=n.sub(f,m),h=n.mul(e,h),h=n.add(h,u),u=n.add(f,f),f=n.add(u,f),f=n.add(f,m),f=n.mul(f,h),l=n.add(l,f),m=n.mul(o,s),m=n.add(m,m),f=n.mul(m,h),c=n.sub(c,f),u=n.mul(m,p),u=n.add(u,u),u=n.add(u,u),new d(c,l,u)}add(e){u(e);let{px:r,py:i,pz:a}=this,{px:o,py:s,pz:c}=e,l=n.ZERO,f=n.ZERO,p=n.ZERO,m=t.a,h=n.mul(t.b,rl),g=n.mul(r,o),_=n.mul(i,s),v=n.mul(a,c),y=n.add(r,i),b=n.add(o,s);y=n.mul(y,b),b=n.add(g,_),y=n.sub(y,b),b=n.add(r,a);let x=n.add(o,c);return b=n.mul(b,x),x=n.add(g,v),b=n.sub(b,x),x=n.add(i,a),l=n.add(s,c),x=n.mul(x,l),l=n.add(_,v),x=n.sub(x,l),p=n.mul(m,b),l=n.mul(h,v),p=n.add(l,p),l=n.sub(_,p),p=n.add(_,p),f=n.mul(l,p),_=n.add(g,g),_=n.add(_,g),v=n.mul(m,v),b=n.mul(h,b),_=n.add(_,v),v=n.sub(g,v),v=n.mul(m,v),b=n.add(b,v),g=n.mul(_,b),f=n.add(f,g),g=n.mul(x,b),l=n.mul(y,l),l=n.sub(l,g),g=n.mul(y,_),p=n.mul(x,p),p=n.add(p,g),new d(l,f,p)}subtract(e){return this.add(e.negate())}is0(){return this.equals(d.ZERO)}wNAF(e){return p.wNAFCached(this,l,e,e=>{let t=n.invertBatch(e.map(e=>e.pz));return e.map((e,n)=>e.toAffine(t[n])).map(d.fromAffine)})}multiplyUnsafe(e){let r=d.ZERO;if(e===el)return r;if(s(e),e===tl)return this;let{endo:i}=t;if(!i)return p.unsafeLadder(this,e);let{k1neg:a,k1:o,k2neg:c,k2:l}=i.splitScalar(e),u=r,f=r,m=this;for(;o>el||l>el;)o&tl&&(u=u.add(m)),l&tl&&(f=f.add(m)),m=m.double(),o>>=tl,l>>=tl;return a&&(u=u.negate()),c&&(f=f.negate()),f=new d(n.mul(f.px,i.beta),f.py,f.pz),u.add(f)}multiply(e){s(e);let r=e,i,a,{endo:o}=t;if(o){let{k1neg:e,k1:t,k2neg:s,k2:c}=o.splitScalar(r),{p:l,f:u}=this.wNAF(t),{p:f,f:m}=this.wNAF(c);l=p.constTimeNegate(e,l),f=p.constTimeNegate(s,f),f=new d(n.mul(f.px,o.beta),f.py,f.pz),i=l.add(f),a=u.add(m)}else{let{p:e,f:t}=this.wNAF(r);i=e,a=t}return d.normalizeZ([i,a])[0]}multiplyAndAddUnsafe(e,t,n){let r=d.BASE,i=(e,t)=>t===el||t===tl||!e.equals(r)?e.multiplyUnsafe(t):e.multiply(t),a=i(this,t).add(i(e,n));return a.is0()?void 0:a}toAffine(e){let{px:t,py:r,pz:i}=this,a=this.is0();e??=a?n.ONE:n.inv(i);let o=n.mul(t,e),s=n.mul(r,e),c=n.mul(i,e);if(a)return{x:n.ZERO,y:n.ZERO};if(!n.eql(c,n.ONE))throw Error(`invZ was invalid`);return{x:o,y:s}}isTorsionFree(){let{h:e,isTorsionFree:n}=t;if(e===tl)return!0;if(n)return n(d,this);throw Error(`isTorsionFree() has not been declared for the elliptic curve`)}clearCofactor(){let{h:e,clearCofactor:n}=t;return e===tl?this:n?n(d,this):this.multiplyUnsafe(t.h)}toRawBytes(e=!0){return this.assertValidity(),r(d,this,e)}toHex(e=!0){return tc(this.toRawBytes(e))}}d.BASE=new d(t.Gx,t.Gy,n.ONE),d.ZERO=new d(n.ZERO,n.ONE,n.ZERO);let f=t.nBitLength,p=Jc(d,t.endo?Math.ceil(f/2):f);return{CURVE:t,ProjectivePoint:d,normPrivateKeyToScalar:c,weierstrassEquation:a,isWithinCurveOrder:o}}function ol(e){let t=Yc(e);return Sc(t,{hash:`hash`,hmac:`function`,randomBytes:`function`},{bits2int:`function`,bits2int_modN:`function`,lowS:`boolean`}),Object.freeze({lowS:!0,...t})}function sl(e){let t=ol(e),{Fp:n,n:r}=t,i=n.BYTES+1,a=2*n.BYTES+1;function o(e){return el<e&&e<n.ORDER}function s(e){return jc(e,r)}function c(e){return Pc(e,r)}let{ProjectivePoint:l,normPrivateKeyToScalar:u,weierstrassEquation:d,isWithinCurveOrder:f}=al({...t,toBytes(e,t,r){let i=t.toAffine(),a=n.toBytes(i.x),o=dc;return r?o(Uint8Array.from([t.hasEvenY()?2:3]),a):o(Uint8Array.from([4]),a,n.toBytes(i.y))},fromBytes(e){let t=e.length,r=e[0],s=e.subarray(1);if(t===i&&(r===2||r===3)){let e=ac(s);if(!o(e))throw Error(`Point is not on curve`);let t=d(e),i=n.sqrt(t),a=(i&tl)===tl;return(r&1)==1!==a&&(i=n.neg(i)),{x:e,y:i}}else if(t===a&&r===4)return{x:n.fromBytes(s.subarray(0,n.BYTES)),y:n.fromBytes(s.subarray(n.BYTES,2*n.BYTES))};else throw Error(`Point of length ${t} was invalid. Expected ${i} compressed bytes or ${a} uncompressed bytes`)}}),p=e=>tc(sc(e,t.nByteLength));function m(e){return e>r>>tl}function h(e){return m(e)?s(-e):e}let g=(e,t,n)=>ac(e.slice(t,n));class _{constructor(e,t,n){this.r=e,this.s=t,this.recovery=n,this.assertValidity()}static fromCompact(e){let n=t.nByteLength;return e=uc(`compactSignature`,e,n*2),new _(g(e,0,n),g(e,n,2*n))}static fromDER(e){let{r:t,s:n}=$c.toSig(uc(`DER`,e));return new _(t,n)}assertValidity(){if(!f(this.r))throw Error(`r must be 0 < r < CURVE.n`);if(!f(this.s))throw Error(`s must be 0 < s < CURVE.n`)}addRecoveryBit(e){return new _(this.r,this.s,e)}recoverPublicKey(e){let{r,s:i,recovery:a}=this,o=ee(uc(`msgHash`,e));if(a==null||![0,1,2,3].includes(a))throw Error(`recovery id invalid`);let u=a===2||a===3?r+t.n:r;if(u>=n.ORDER)throw Error(`recovery id 2 or 3 invalid`);let d=a&1?`03`:`02`,f=l.fromHex(d+p(u)),m=c(u),h=s(-o*m),g=s(i*m),_=l.BASE.multiplyAndAddUnsafe(f,h,g);if(!_)throw Error(`point at infinify`);return _.assertValidity(),_}hasHighS(){return m(this.s)}normalizeS(){return this.hasHighS()?new _(this.r,s(-this.s),this.recovery):this}toDERRawBytes(){return ic(this.toDERHex())}toDERHex(){return $c.hexFromSig({r:this.r,s:this.s})}toCompactRawBytes(){return ic(this.toCompactHex())}toCompactHex(){return p(this.r)+p(this.s)}}let v={isValidPrivateKey(e){try{return u(e),!0}catch{return!1}},normPrivateKeyToScalar:u,randomPrivateKey:()=>{let e=Wc(t.n);return Gc(t.randomBytes(e),t.n)},precompute(e=8,t=l.BASE){return t._setWindowSize(e),t.multiply(BigInt(3)),t}};function y(e,t=!0){return l.fromPrivateKey(e).toRawBytes(t)}function b(e){let t=e instanceof Uint8Array,n=typeof e==`string`,r=(t||n)&&e.length;return t?r===i||r===a:n?r===2*i||r===2*a:e instanceof l}function x(e,t,n=!0){if(b(e))throw Error(`first arg must be private key`);if(!b(t))throw Error(`second arg must be public key`);return l.fromHex(t).multiply(u(e)).toRawBytes(n)}let S=t.bits2int||function(e){let n=ac(e),r=e.length*8-t.nBitLength;return r>0?n>>BigInt(r):n},ee=t.bits2int_modN||function(e){return s(S(e))},te=_c(t.nBitLength);function C(e){if(typeof e!=`bigint`)throw Error(`bigint expected`);if(!(el<=e&&e<te))throw Error(`bigint expected < 2^${t.nBitLength}`);return sc(e,t.nByteLength)}function ne(e,r,i=re){if([`recovered`,`canonical`].some(e=>e in i))throw Error(`sign() legacy options not supported`);let{hash:a,randomBytes:o}=t,{lowS:d,prehash:p,extraEntropy:g}=i;d??=!0,e=uc(`msgHash`,e),p&&(e=uc(`prehashed msgHash`,a(e)));let v=ee(e),y=u(r),b=[C(y),C(v)];if(g!=null){let e=g===!0?o(n.BYTES):g;b.push(uc(`extraEntropy`,e))}let x=dc(...b),te=v;function ne(e){let t=S(e);if(!f(t))return;let n=c(t),r=l.BASE.multiply(t).toAffine(),i=s(r.x);if(i===el)return;let a=s(n*s(te+i*y));if(a===el)return;let o=(r.x===i?0:2)|Number(r.y&tl),u=a;return d&&m(a)&&(u=h(a),o^=1),new _(i,u,o)}return{seed:x,k2sig:ne}}let re={lowS:t.lowS,prehash:!1},ie={lowS:t.lowS,prehash:!1};function ae(e,n,r=re){let{seed:i,k2sig:a}=ne(e,n,r),o=t;return bc(o.hash.outputLen,o.nByteLength,o.hmac)(i,a)}l.BASE._setWindowSize(8);function oe(e,n,r,i=ie){let a=e;if(n=uc(`msgHash`,n),r=uc(`publicKey`,r),`strict`in i)throw Error(`options.strict was renamed to lowS`);let{lowS:o,prehash:u}=i,d,f;try{if(typeof a==`string`||a instanceof Uint8Array)try{d=_.fromDER(a)}catch(e){if(!(e instanceof $c.Err))throw e;d=_.fromCompact(a)}else if(typeof a==`object`&&typeof a.r==`bigint`&&typeof a.s==`bigint`){let{r:e,s:t}=a;d=new _(e,t)}else throw Error(`PARSE`);f=l.fromHex(r)}catch(e){if(e.message===`PARSE`)throw Error(`signature must be Signature instance, Uint8Array or hex string`);return!1}if(o&&d.hasHighS())return!1;u&&(n=t.hash(n));let{r:p,s:m}=d,h=ee(n),g=c(m),v=s(h*g),y=s(p*g),b=l.BASE.multiplyAndAddUnsafe(f,v,y)?.toAffine();return b?s(b.x)===p:!1}return{CURVE:t,getPublicKey:y,getSharedSecret:x,sign:ae,verify:oe,ProjectivePoint:l,Signature:_,utils:v}}function cl(e,t){let n=e.ORDER,r=el;for(let e=n-tl;e%nl===el;e/=nl)r+=tl;let i=r,a=nl<<i-tl-tl,o=a*nl,s=(n-tl)/o,c=(s-tl)/nl,l=o-tl,u=a,d=e.pow(t,s),f=e.pow(t,(s+tl)/nl),p=(t,n)=>{let r=d,a=e.pow(n,l),o=e.sqr(a);o=e.mul(o,n);let s=e.mul(t,o);s=e.pow(s,c),s=e.mul(s,a),a=e.mul(s,n),o=e.mul(s,t);let p=e.mul(o,a);s=e.pow(p,u);let m=e.eql(s,e.ONE);a=e.mul(o,f),s=e.mul(p,r),o=e.cmov(a,o,m),p=e.cmov(s,p,m);for(let t=i;t>tl;t--){let n=t-nl;n=nl<<n-tl;let i=e.pow(p,n),s=e.eql(i,e.ONE);a=e.mul(o,r),r=e.mul(r,r),i=e.mul(p,r),o=e.cmov(a,o,s),p=e.cmov(i,p,s)}return{isValid:m,value:o}};if(e.ORDER%il===rl){let n=(e.ORDER-rl)/il,r=e.sqrt(e.neg(t));p=(t,i)=>{let a=e.sqr(i),o=e.mul(t,i);a=e.mul(a,o);let s=e.pow(a,n);s=e.mul(s,o);let c=e.mul(s,r),l=e.mul(e.sqr(s),i),u=e.eql(l,t);return{isValid:u,value:e.cmov(c,s,u)}}}return p}function ll(e,t){if(Rc(e),!e.isValid(t.A)||!e.isValid(t.B)||!e.isValid(t.Z))throw Error(`mapToCurveSimpleSWU: invalid opts`);let n=cl(e,t.Z);if(!e.isOdd)throw Error(`Fp.isOdd is not implemented!`);return r=>{let i,a,o,s,c,l,u,d;i=e.sqr(r),i=e.mul(i,t.Z),a=e.sqr(i),a=e.add(a,i),o=e.add(a,e.ONE),o=e.mul(o,t.B),s=e.cmov(t.Z,e.neg(a),!e.eql(a,e.ZERO)),s=e.mul(s,t.A),a=e.sqr(o),l=e.sqr(s),c=e.mul(l,t.A),a=e.add(a,c),a=e.mul(a,o),l=e.mul(l,s),c=e.mul(l,t.B),a=e.add(a,c),u=e.mul(i,o);let{isValid:f,value:p}=n(a,l);d=e.mul(i,r),d=e.mul(d,p),u=e.cmov(u,o,f),d=e.cmov(d,p,f);let m=e.isOdd(r)===e.isOdd(d);return d=e.cmov(e.neg(d),d,m),u=e.div(u,s),{x:u,y:d}}}function ul(e){if(e instanceof Uint8Array)return e;if(typeof e==`string`)return pc(e);throw Error(`DST must be Uint8Array or string`)}var dl=ac;function fl(e,t){if(e<0||e>=1<<8*t)throw Error(`bad I2OSP call: value=${e} length=${t}`);let n=Array.from({length:t}).fill(0);for(let r=t-1;r>=0;r--)n[r]=e&255,e>>>=8;return new Uint8Array(n)}function pl(e,t){let n=new Uint8Array(e.length);for(let r=0;r<e.length;r++)n[r]=e[r]^t[r];return n}function ml(e){if(!(e instanceof Uint8Array))throw Error(`Uint8Array expected`)}function hl(e){if(!Number.isSafeInteger(e))throw Error(`number expected`)}function gl(e,t,n,r){ml(e),ml(t),hl(n),t.length>255&&(t=r(dc(pc(`H2C-OVERSIZE-DST-`),t)));let{outputLen:i,blockLen:a}=r,o=Math.ceil(n/i);if(o>255)throw Error(`Invalid xmd length`);let s=dc(t,fl(t.length,1)),c=fl(0,a),l=fl(n,2),u=Array(o),d=r(dc(c,e,l,fl(0,1),s));u[0]=r(dc(d,fl(1,1),s));for(let e=1;e<=o;e++)u[e]=r(dc(pl(d,u[e-1]),fl(e+1,1),s));return dc(...u).slice(0,n)}function _l(e,t,n,r,i){if(ml(e),ml(t),hl(n),t.length>255){let e=Math.ceil(2*r/8);t=i.create({dkLen:e}).update(pc(`H2C-OVERSIZE-DST-`)).update(t).digest()}if(n>65535||t.length>255)throw Error(`expand_message_xof: invalid lenInBytes`);return i.create({dkLen:n}).update(e).update(fl(n,2)).update(t).update(fl(t.length,1)).digest()}function vl(e,t,n){Sc(n,{DST:`stringOrUint8Array`,p:`bigint`,m:`isSafeInteger`,k:`isSafeInteger`,hash:`hash`});let{p:r,k:i,m:a,hash:o,expand:s,DST:c}=n;ml(e),hl(t);let l=ul(c),u=r.toString(2).length,d=Math.ceil((u+i)/8),f=t*a*d,p;if(s===`xmd`)p=gl(e,l,f,o);else if(s===`xof`)p=_l(e,l,f,i,o);else if(s===`_internal_pass`)p=e;else throw Error(`expand must be "xmd" or "xof"`);let m=Array(t);for(let e=0;e<t;e++){let t=Array(a);for(let n=0;n<a;n++){let i=d*(n+e*a);t[n]=jc(dl(p.subarray(i,i+d)),r)}m[e]=t}return m}function yl(e,t){let n=t.map(e=>Array.from(e).reverse());return(t,r)=>{let[i,a,o,s]=n.map(n=>n.reduce((n,r)=>e.add(e.mul(n,t),r)));return t=e.div(i,a),r=e.mul(r,e.div(o,s)),{x:t,y:r}}}function bl(e,t,n){if(typeof t!=`function`)throw Error(`mapToCurve() must be defined`);return{hashToCurve(r,i){let a=vl(r,2,{...n,DST:n.DST,...i}),o=e.fromAffine(t(a[0])),s=e.fromAffine(t(a[1])),c=o.add(s).clearCofactor();return c.assertValidity(),c},encodeToCurve(r,i){let a=vl(r,1,{...n,DST:n.encodeDST,...i}),o=e.fromAffine(t(a[0])).clearCofactor();return o.assertValidity(),o}}}function xl(e){return{hash:e,hmac:(t,...n)=>Ra(e,t,ja(...n)),randomBytes:Ia}}function Sl(e,t){let n=t=>sl({...e,...xl(t)});return Object.freeze({...n(t),create:n})}var Cl=BigInt(`0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f`),wl=BigInt(`0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141`),Tl=BigInt(1),El=BigInt(2),Dl=(e,t)=>(e+t/El)/t;function Ol(e){let t=Cl,n=BigInt(3),r=BigInt(6),i=BigInt(11),a=BigInt(22),o=BigInt(23),s=BigInt(44),c=BigInt(88),l=e*e*e%t,u=l*l*e%t,d=Nc(Nc(Nc(u,n,t)*u%t,n,t)*u%t,El,t)*l%t,f=Nc(d,i,t)*d%t,p=Nc(f,a,t)*f%t,m=Nc(p,s,t)*p%t,h=Nc(Nc(Nc(Nc(Nc(Nc(m,c,t)*m%t,s,t)*p%t,n,t)*u%t,o,t)*f%t,r,t)*l%t,El,t);if(!kl.eql(kl.sqr(h),e))throw Error(`Cannot find square root`);return h}var kl=Hc(Cl,void 0,void 0,{sqrt:Ol}),Al=Sl({a:BigInt(0),b:BigInt(7),Fp:kl,n:wl,Gx:BigInt(`55066263022277343669578718895168534326250603453777594175500187360389116729240`),Gy:BigInt(`32670510020758816978083085130507043184471273380659243275938904335757337482424`),h:BigInt(1),lowS:!0,endo:{beta:BigInt(`0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee`),splitScalar:e=>{let t=wl,n=BigInt(`0x3086d221a7d46bcde86c90e49284eb15`),r=-Tl*BigInt(`0xe4437ed6010e88286f547fa90abfe4c3`),i=BigInt(`0x114ca50f7a8e2f3f657c1108d9d44cfd8`),a=n,o=BigInt(`0x100000000000000000000000000000000`),s=Dl(a*e,t),c=Dl(-r*e,t),l=jc(e-s*n-c*i,t),u=jc(-s*r-c*a,t),d=l>o,f=u>o;if(d&&(l=t-l),f&&(u=t-u),l>o||u>o)throw Error(`splitScalar: Endomorphism failed, k=`+e);return{k1neg:d,k1:l,k2neg:f,k2:u}}}},Xa);Al.ProjectivePoint,Al.utils.randomPrivateKey;var jl=yl(kl,[[`0x8e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38daaaaa8c7`,`0x7d3d4c80bc321d5b9f315cea7fd44c5d595d2fc0bf63b92dfff1044f17c6581`,`0x534c328d23f234e6e2a413deca25caece4506144037c40314ecbd0b53d9dd262`,`0x8e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38daaaaa88c`],[`0xd35771193d94918a9ca34ccbb7b640dd86cd409542f8487d9fe6b745781eb49b`,`0xedadc6f64383dc1df7c4b2d51b54225406d36b641f5e41bbc52a56612a8c6d14`,`0x0000000000000000000000000000000000000000000000000000000000000001`],[`0x4bda12f684bda12f684bda12f684bda12f684bda12f684bda12f684b8e38e23c`,`0xc75e0c32d5cb7c0fa9d0a54b12a0a6d5647ab046d686da6fdffc90fc201d71a3`,`0x29a6194691f91a73715209ef6512e576722830a201be2018a765e85a9ecee931`,`0x2f684bda12f684bda12f684bda12f684bda12f684bda12f684bda12f38e38d84`],[`0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffff93b`,`0x7a06534bb8bdb49fd5e9e6632722c2989467c1bfc8e8d978dfb425d2685c2573`,`0x6484aa716545ca2cf3a70c3fa8fe337e0a3d21162f0d6299a7bf8192bfd2a76f`,`0x0000000000000000000000000000000000000000000000000000000000000001`]].map(e=>e.map(e=>BigInt(e)))),Ml=ll(kl,{A:BigInt(`0x3f8731abdd661adca08a5558f0f5d272e953d363cb6f0e5d405447c01a444533`),B:BigInt(`1771`),Z:kl.create(BigInt(`-11`))}),Nl=bl(Al.ProjectivePoint,e=>{let{x:t,y:n}=Ml(kl.create(e[0]));return jl(t,n)},{DST:`secp256k1_XMD:SHA-256_SSWU_RO_`,encodeDST:`secp256k1_XMD:SHA-256_SSWU_NU_`,p:kl.ORDER,m:1,k:128,expand:`xmd`,hash:Xa});Nl.hashToCurve,Nl.encodeToCurve;var Pl=`0x0000000000000000000000000000000000000000`,Fl=`0x0000000000000000000000000000000000000000000000000000000000000000`,Il=`Ethereum Signed Message:
|
|
3
3
|
`,Ll=BigInt(0),Rl=BigInt(1),zl=BigInt(2),Bl=BigInt(27),Vl=BigInt(28),Hl=BigInt(35),Ul={};function Wl(e){return _i(ji(e),32)}var Gl=class e{#e;#t;#n;#r;get r(){return this.#e}set r(e){H(mi(e)===32,`invalid r`,`value`,e),this.#e=W(e)}get s(){return this.#t}set s(e){H(mi(e)===32,`invalid s`,`value`,e);let t=W(e);H(parseInt(t.substring(0,3))<8,`non-canonical s`,`value`,t),this.#t=t}get v(){return this.#n}set v(e){let t=Oi(e,`value`);H(t===27||t===28,`invalid v`,`v`,e),this.#n=t}get networkV(){return this.#r}get legacyChainId(){let t=this.networkV;return t==null?null:e.getChainId(t)}get yParity(){return this.v===27?0:1}get yParityAndS(){let e=U(this.s);return this.yParity&&(e[0]|=128),W(e)}get compactSerialized(){return pi([this.r,this.yParityAndS])}get serialized(){return pi([this.r,this.s,this.yParity?`0x1c`:`0x1b`])}constructor(e,t,n,r){si(e,Ul,`Signature`),this.#e=t,this.#t=n,this.#n=r,this.#r=null}[Symbol.for(`nodejs.util.inspect.custom`)](){return`Signature { r: "${this.r}", s: "${this.s}", yParity: ${this.yParity}, networkV: ${this.networkV} }`}clone(){let t=new e(Ul,this.r,this.s,this.v);return this.networkV&&(t.#r=this.networkV),t}toJSON(){let e=this.networkV;return{_type:`signature`,networkV:e==null?null:e.toString(),r:this.r,s:this.s,v:this.v}}static getChainId(e){let t=wi(e,`v`);return t==Bl||t==Vl?Ll:(H(t>=Hl,`invalid EIP-155 v`,`v`,e),(t-Hl)/zl)}static getChainIdV(e,t){return wi(e)*zl+BigInt(35+t-27)}static getNormalizedV(e){let t=wi(e);return t===Ll||t===Bl?27:t===Rl||t===Vl?28:(H(t>=Hl,`invalid v`,`v`,e),t&Rl?27:28)}static from(t){function n(e,n){H(e,n,`signature`,t)}if(t==null)return new e(Ul,Fl,Fl,27);if(typeof t==`string`){let r=U(t,`signature`);if(r.length===64){let t=W(r.slice(0,32)),n=r.slice(32,64),i=n[0]&128?28:27;return n[0]&=127,new e(Ul,t,W(n),i)}if(r.length===65){let t=W(r.slice(0,32)),i=r.slice(32,64);n((i[0]&128)==0,`non-canonical s`);let a=e.getNormalizedV(r[64]);return new e(Ul,t,W(i),a)}n(!1,`invalid raw signature length`)}if(t instanceof e)return t.clone();let r=t.r;n(r!=null,`missing r`);let i=Wl(r),a=(function(e,t){if(e!=null)return Wl(e);if(t!=null){n(ui(t,32),`invalid yParityAndS`);let e=U(t);return e[0]&=127,W(e)}n(!1,`missing s`)})(t.s,t.yParityAndS);n((U(a)[0]&128)==0,`non-canonical s`);let{networkV:o,v:s}=(function(t,r,i){if(t!=null){let n=wi(t);return{networkV:n>=Hl?n:void 0,v:e.getNormalizedV(n)}}if(r!=null)return n(ui(r,32),`invalid yParityAndS`),{v:U(r)[0]&128?28:27};if(i!=null){switch(Oi(i,`sig.yParity`)){case 0:return{v:27};case 1:return{v:28}}n(!1,`invalid yParity`)}n(!1,`missing v`)})(t.v,t.yParityAndS,t.yParity),c=new e(Ul,i,a,s);return o&&(c.#r=o),n(t.yParity==null||Oi(t.yParity,`sig.yParity`)===c.yParity,`yParity mismatch`),n(t.yParityAndS==null||t.yParityAndS===c.yParityAndS,`yParityAndS mismatch`),c}},Kl=class e{#e;constructor(e){H(mi(e)===32,`invalid private key`,`privateKey`,`[REDACTED]`),this.#e=W(e)}get privateKey(){return this.#e}get publicKey(){return e.computePublicKey(this.#e)}get compressedPublicKey(){return e.computePublicKey(this.#e,!0)}sign(e){H(mi(e)===32,`invalid digest length`,`digest`,e);let t=Al.sign(li(e),li(this.#e),{lowS:!0});return Gl.from({r:Ai(t.r,32),s:Ai(t.s,32),v:t.recovery?28:27})}computeSharedSecret(t){let n=e.computePublicKey(t);return W(Al.getSharedSecret(li(this.#e),U(n),!1))}static computePublicKey(e,t){let n=U(e,`key`);if(n.length===32)return W(Al.getPublicKey(n,!!t));if(n.length===64){let e=new Uint8Array(65);e[0]=4,e.set(n,1),n=e}return W(Al.ProjectivePoint.fromHex(n).toRawBytes(t))}static recoverPublicKey(e,t){H(mi(e)===32,`invalid digest length`,`digest`,e);let n=Gl.from(t),r=Al.Signature.fromCompact(li(pi([n.r,n.s])));r=r.addRecoveryBit(n.yParity);let i=r.recoverPublicKey(li(e));return H(i!=null,`invalid signautre for digest`,`signature`,t),`0x`+i.toHex(!1)}static addPoints(t,n,r){let i=Al.ProjectivePoint.fromHex(e.computePublicKey(t).substring(2)),a=Al.ProjectivePoint.fromHex(e.computePublicKey(n).substring(2));return`0x`+i.add(a).toHex(!!r)}},ql=BigInt(0),Jl=BigInt(36);function Yl(e){e=e.toLowerCase();let t=e.substring(2).split(``),n=new Uint8Array(40);for(let e=0;e<40;e++)n[e]=t[e].charCodeAt(0);let r=U(Qo(n));for(let e=0;e<40;e+=2)r[e>>1]>>4>=8&&(t[e]=t[e].toUpperCase()),(r[e>>1]&15)>=8&&(t[e+1]=t[e+1].toUpperCase());return`0x`+t.join(``)}var Xl={};for(let e=0;e<10;e++)Xl[String(e)]=String(e);for(let e=0;e<26;e++)Xl[String.fromCharCode(65+e)]=String(10+e);var Zl=15;function Ql(e){e=e.toUpperCase(),e=e.substring(4)+e.substring(0,2)+`00`;let t=e.split(``).map(e=>Xl[e]).join(``);for(;t.length>=Zl;){let e=t.substring(0,Zl);t=parseInt(e,10)%97+t.substring(e.length)}let n=String(98-parseInt(t,10)%97);for(;n.length<2;)n=`0`+n;return n}var $l=(function(){let e={};for(let t=0;t<36;t++){let n=`0123456789abcdefghijklmnopqrstuvwxyz`[t];e[n]=BigInt(t)}return e})();function eu(e){e=e.toLowerCase();let t=ql;for(let n=0;n<e.length;n++)t=t*Jl+$l[e[n]];return t}function tu(e){if(H(typeof e==`string`,`invalid address`,`address`,e),e.match(/^(0x)?[0-9a-fA-F]{40}$/)){e.startsWith(`0x`)||(e=`0x`+e);let t=Yl(e);return H(!e.match(/([A-F].*[a-f])|([a-f].*[A-F])/)||t===e,`bad address checksum`,`address`,e),t}if(e.match(/^XE[0-9]{2}[0-9A-Za-z]{30,31}$/)){H(e.substring(2,4)===Ql(e),`bad icap checksum`,`address`,e);let t=eu(e.substring(4)).toString(16);for(;t.length<40;)t=`0`+t;return Yl(`0x`+t)}H(!1,`invalid address`,`address`,e)}function nu(e){return e&&typeof e.getAddress==`function`}async function ru(e,t){let n=await t;return(n==null||n===`0x0000000000000000000000000000000000000000`)&&(V(typeof e!=`string`,`unconfigured name`,`UNCONFIGURED_NAME`,{value:e}),H(!1,`invalid AddressLike value; did not resolve to a value address`,`target`,e)),tu(n)}function iu(e,t){if(typeof e==`string`)return e.match(/^0x[0-9a-f]{40}$/i)?tu(e):(V(t!=null,`ENS resolution requires a provider`,`UNSUPPORTED_OPERATION`,{operation:`resolveName`}),ru(e,t.resolveName(e)));if(nu(e))return ru(e,e.getAddress());if(e&&typeof e.then==`function`)return ru(e,e);H(!1,`unsupported addressable value`,`target`,e)}var au={};function K(e,t){let n=!1;return t<0&&(n=!0,t*=-1),new cu(au,`${n?``:`u`}int${t}`,e,{signed:n,width:t})}function ou(e,t){return new cu(au,`bytes${t||``}`,e,{size:t})}var su=Symbol.for(`_ethers_typed`),cu=class e{type;value;#e;_typedSymbol;constructor(e,t,n,r){r??=null,si(au,e,`Typed`),ei(this,{_typedSymbol:su,type:t,value:n}),this.#e=r,this.format()}format(){if(this.type===`array`||this.type===`dynamicArray`)throw Error(``);return this.type===`tuple`?`tuple(${this.value.map(e=>e.format()).join(`,`)})`:this.type}defaultValue(){return 0}minValue(){return 0}maxValue(){return 0}isBigInt(){return!!this.type.match(/^u?int[0-9]+$/)}isData(){return this.type.startsWith(`bytes`)}isString(){return this.type===`string`}get tupleName(){if(this.type!==`tuple`)throw TypeError(`not a tuple`);return this.#e}get arrayLength(){if(this.type!==`array`)throw TypeError(`not an array`);return this.#e===!0?-1:this.#e===!1?this.value.length:null}static from(t,n){return new e(au,t,n)}static uint8(e){return K(e,8)}static uint16(e){return K(e,16)}static uint24(e){return K(e,24)}static uint32(e){return K(e,32)}static uint40(e){return K(e,40)}static uint48(e){return K(e,48)}static uint56(e){return K(e,56)}static uint64(e){return K(e,64)}static uint72(e){return K(e,72)}static uint80(e){return K(e,80)}static uint88(e){return K(e,88)}static uint96(e){return K(e,96)}static uint104(e){return K(e,104)}static uint112(e){return K(e,112)}static uint120(e){return K(e,120)}static uint128(e){return K(e,128)}static uint136(e){return K(e,136)}static uint144(e){return K(e,144)}static uint152(e){return K(e,152)}static uint160(e){return K(e,160)}static uint168(e){return K(e,168)}static uint176(e){return K(e,176)}static uint184(e){return K(e,184)}static uint192(e){return K(e,192)}static uint200(e){return K(e,200)}static uint208(e){return K(e,208)}static uint216(e){return K(e,216)}static uint224(e){return K(e,224)}static uint232(e){return K(e,232)}static uint240(e){return K(e,240)}static uint248(e){return K(e,248)}static uint256(e){return K(e,256)}static uint(e){return K(e,256)}static int8(e){return K(e,-8)}static int16(e){return K(e,-16)}static int24(e){return K(e,-24)}static int32(e){return K(e,-32)}static int40(e){return K(e,-40)}static int48(e){return K(e,-48)}static int56(e){return K(e,-56)}static int64(e){return K(e,-64)}static int72(e){return K(e,-72)}static int80(e){return K(e,-80)}static int88(e){return K(e,-88)}static int96(e){return K(e,-96)}static int104(e){return K(e,-104)}static int112(e){return K(e,-112)}static int120(e){return K(e,-120)}static int128(e){return K(e,-128)}static int136(e){return K(e,-136)}static int144(e){return K(e,-144)}static int152(e){return K(e,-152)}static int160(e){return K(e,-160)}static int168(e){return K(e,-168)}static int176(e){return K(e,-176)}static int184(e){return K(e,-184)}static int192(e){return K(e,-192)}static int200(e){return K(e,-200)}static int208(e){return K(e,-208)}static int216(e){return K(e,-216)}static int224(e){return K(e,-224)}static int232(e){return K(e,-232)}static int240(e){return K(e,-240)}static int248(e){return K(e,-248)}static int256(e){return K(e,-256)}static int(e){return K(e,-256)}static bytes1(e){return ou(e,1)}static bytes2(e){return ou(e,2)}static bytes3(e){return ou(e,3)}static bytes4(e){return ou(e,4)}static bytes5(e){return ou(e,5)}static bytes6(e){return ou(e,6)}static bytes7(e){return ou(e,7)}static bytes8(e){return ou(e,8)}static bytes9(e){return ou(e,9)}static bytes10(e){return ou(e,10)}static bytes11(e){return ou(e,11)}static bytes12(e){return ou(e,12)}static bytes13(e){return ou(e,13)}static bytes14(e){return ou(e,14)}static bytes15(e){return ou(e,15)}static bytes16(e){return ou(e,16)}static bytes17(e){return ou(e,17)}static bytes18(e){return ou(e,18)}static bytes19(e){return ou(e,19)}static bytes20(e){return ou(e,20)}static bytes21(e){return ou(e,21)}static bytes22(e){return ou(e,22)}static bytes23(e){return ou(e,23)}static bytes24(e){return ou(e,24)}static bytes25(e){return ou(e,25)}static bytes26(e){return ou(e,26)}static bytes27(e){return ou(e,27)}static bytes28(e){return ou(e,28)}static bytes29(e){return ou(e,29)}static bytes30(e){return ou(e,30)}static bytes31(e){return ou(e,31)}static bytes32(e){return ou(e,32)}static address(t){return new e(au,`address`,t)}static bool(t){return new e(au,`bool`,!!t)}static bytes(t){return new e(au,`bytes`,t)}static string(t){return new e(au,`string`,t)}static array(e,t){throw Error(`not implemented yet`)}static tuple(e,t){throw Error(`not implemented yet`)}static overrides(t){return new e(au,`overrides`,Object.assign({},t))}static isTyped(e){return e&&typeof e==`object`&&`_typedSymbol`in e&&e._typedSymbol===su}static dereference(t,n){if(e.isTyped(t)){if(t.type!==n)throw Error(`invalid type: expecetd ${n}, got ${t.type}`);return t.value}return t}},lu=class extends ma{constructor(e){super(`address`,`address`,e,!1)}defaultValue(){return`0x0000000000000000000000000000000000000000`}encode(e,t){let n=cu.dereference(t,`string`);try{n=tu(n)}catch(e){return this._throwError(e.message,t)}return e.writeValue(n)}decode(e){return tu(Ai(e.readValue(),20))}},uu=class extends ma{coder;constructor(e){super(e.name,e.type,`_`,e.dynamic),this.coder=e}defaultValue(){return this.coder.defaultValue()}encode(e,t){return this.coder.encode(e,t)}decode(e){return this.coder.decode(e)}};function du(e,t,n){let r=[];if(Array.isArray(n))r=n;else if(n&&typeof n==`object`){let e={};r=t.map(t=>{let r=t.localName;return V(r,`cannot encode object for signature with missing names`,`INVALID_ARGUMENT`,{argument:`values`,info:{coder:t},value:n}),V(!e[r],`cannot encode object for signature with duplicate names`,`INVALID_ARGUMENT`,{argument:`values`,info:{coder:t},value:n}),e[r]=!0,n[r]})}else H(!1,`invalid tuple value`,`tuple`,n);H(t.length===r.length,`types/value length mismatch`,`tuple`,n);let i=new ha,a=new ha,o=[];t.forEach((e,t)=>{let n=r[t];if(e.dynamic){let t=a.length;e.encode(a,n);let r=i.writeUpdatableValue();o.push(e=>{r(e+t)})}else e.encode(i,n)}),o.forEach(e=>{e(i.length)});let s=e.appendWriter(i);return s+=e.appendWriter(a),s}function fu(e,t){let n=[],r=[],i=e.subReader(0);return t.forEach(t=>{let a=null;if(t.dynamic){let n=e.readIndex(),r=i.subReader(n);try{a=t.decode(r)}catch(e){if(ni(e,`BUFFER_OVERRUN`))throw e;a=e,a.baseType=t.name,a.name=t.localName,a.type=t.type}}else try{a=t.decode(e)}catch(e){if(ni(e,`BUFFER_OVERRUN`))throw e;a=e,a.baseType=t.name,a.name=t.localName,a.type=t.type}if(a==null)throw Error(`investigate`);n.push(a),r.push(t.localName||null)}),fa.fromItems(n,r)}var pu=class extends ma{coder;length;constructor(e,t,n){let r=e.type+`[`+(t>=0?t:``)+`]`,i=t===-1||e.dynamic;super(`array`,r,n,i),ei(this,{coder:e,length:t})}defaultValue(){let e=this.coder.defaultValue(),t=[];for(let n=0;n<this.length;n++)t.push(e);return t}encode(e,t){let n=cu.dereference(t,`array`);Array.isArray(n)||this._throwError(`expected array value`,n);let r=this.length;r===-1&&(r=n.length,e.writeValue(n.length)),ii(n.length,r,`coder array`+(this.localName?` `+this.localName:``));let i=[];for(let e=0;e<n.length;e++)i.push(this.coder);return du(e,i,n)}decode(e){let t=this.length;t===-1&&(t=e.readIndex(),V(t*32<=e.dataLength,`insufficient data length`,`BUFFER_OVERRUN`,{buffer:e.bytes,offset:t*32,length:e.dataLength}));let n=[];for(let e=0;e<t;e++)n.push(new uu(this.coder));return fu(e,n)}},mu=class extends ma{constructor(e){super(`bool`,`bool`,e,!1)}defaultValue(){return!1}encode(e,t){let n=cu.dereference(t,`bool`);return e.writeValue(+!!n)}decode(e){return!!e.readValue()}},hu=class extends ma{constructor(e,t){super(e,e,t,!0)}defaultValue(){return`0x`}encode(e,t){t=li(t);let n=e.writeValue(t.length);return n+=e.writeBytes(t),n}decode(e){return e.readBytes(e.readIndex(),!0)}},gu=class extends hu{constructor(e){super(`bytes`,e)}decode(e){return W(super.decode(e))}},_u=class extends ma{size;constructor(e,t){let n=`bytes`+String(e);super(n,n,t,!1),ei(this,{size:e},{size:`number`})}defaultValue(){return`0x0000000000000000000000000000000000000000000000000000000000000000`.substring(0,2+this.size*2)}encode(e,t){let n=li(cu.dereference(t,this.type));return n.length!==this.size&&this._throwError(`incorrect data length`,t),e.writeBytes(n)}decode(e){return W(e.readBytes(this.size))}},vu=new Uint8Array([]),yu=class extends ma{constructor(e){super(`null`,``,e,!1)}defaultValue(){return null}encode(e,t){return t!=null&&this._throwError(`not null`,t),e.writeBytes(vu)}decode(e){return e.readBytes(0),null}},bu=BigInt(0),xu=BigInt(1),Su=BigInt(`0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff`),Cu=class extends ma{size;signed;constructor(e,t,n){let r=(t?`int`:`uint`)+e*8;super(r,r,n,!1),ei(this,{size:e,signed:t},{size:`number`,signed:`boolean`})}defaultValue(){return 0}encode(e,t){let n=wi(cu.dereference(t,this.type)),r=Ci(Su,256);if(this.signed){let e=Ci(r,this.size*8-1);(n>e||n<-(e+xu))&&this._throwError(`value out-of-bounds`,t),n=Si(n,256)}else (n<bu||n>Ci(r,this.size*8))&&this._throwError(`value out-of-bounds`,t);return e.writeValue(n)}decode(e){let t=Ci(e.readValue(),this.size*8);return this.signed&&(t=xi(t,this.size*8)),t}},wu=class extends hu{constructor(e){super(`string`,e)}defaultValue(){return``}encode(e,t){return super.encode(e,Gi(cu.dereference(t,`string`)))}decode(e){return qi(super.decode(e))}},Tu=class extends ma{coders;constructor(e,t){let n=!1,r=[];e.forEach(e=>{e.dynamic&&(n=!0),r.push(e.type)});let i=`tuple(`+r.join(`,`)+`)`;super(`tuple`,i,t,n),ei(this,{coders:Object.freeze(e.slice())})}defaultValue(){let e=[];this.coders.forEach(t=>{e.push(t.defaultValue())});let t=this.coders.reduce((e,t)=>{let n=t.localName;return n&&(e[n]||(e[n]=0),e[n]++),e},{});return this.coders.forEach((n,r)=>{let i=n.localName;!i||t[i]!==1||(i===`length`&&(i=`_length`),e[i]??(e[i]=e[r]))}),Object.freeze(e)}encode(e,t){let n=cu.dereference(t,`tuple`);return du(e,this.coders,n)}decode(e){return fu(e,this.coders)}};function Eu(e){return Qo(Gi(e))}function Du(e,t){return{address:tu(e),storageKeys:t.map((e,t)=>(H(ui(e,32),`invalid slot`,`storageKeys[${t}]`,e),e.toLowerCase()))}}function Ou(e){if(Array.isArray(e))return e.map((t,n)=>Array.isArray(t)?(H(t.length===2,`invalid slot set`,`value[${n}]`,t),Du(t[0],t[1])):(H(typeof t==`object`&&!!t,`invalid address-slot set`,`value`,e),Du(t.address,t.storageKeys)));H(typeof e==`object`&&!!e,`invalid access list`,`value`,e);let t=Object.keys(e).map(t=>{let n=e[t].reduce((e,t)=>(e[t]=!0,e),{});return Du(t,Object.keys(n).sort())});return t.sort((e,t)=>e.address.localeCompare(t.address)),t}function ku(e){let t;return t=typeof e==`string`?Kl.computePublicKey(e,!1):e.publicKey,tu(Qo(`0x`+t.substring(4)).substring(26))}function Au(e,t){return ku(Kl.recoverPublicKey(e,t))}var ju=BigInt(0),Mu=BigInt(2),Nu=BigInt(27),Pu=BigInt(28),Fu=BigInt(35),Iu=BigInt(`0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff`),Lu=4096*32;function Ru(e,t){let n=e.toString(16);for(;n.length<2;)n=`0`+n;return n+=qs(t).substring(4),`0x`+n}function zu(e){return e===`0x`?null:tu(e)}function Bu(e,t){try{return Ou(e)}catch(n){H(!1,n.message,t,e)}}function Vu(e,t){return e===`0x`?0:Oi(e,t)}function Hu(e,t){if(e===`0x`)return ju;let n=wi(e,t);return H(n<=Iu,`value exceeds uint size`,t,n),n}function Uu(e,t){let n=wi(e,`value`),r=ji(n);return H(r.length<=32,`value too large`,`tx.${t}`,n),r}function Wu(e){return Ou(e).map(e=>[e.address,e.storageKeys])}function Gu(e,t){H(Array.isArray(e),`invalid ${t}`,`value`,e);for(let t=0;t<e.length;t++)H(ui(e[t],32),"invalid ${ param } hash",`value[${t}]`,e[t]);return e}function Ku(e){let t=Qi(e);H(Array.isArray(t)&&(t.length===9||t.length===6),`invalid field count for legacy transaction`,`data`,e);let n={type:0,nonce:Vu(t[0],`nonce`),gasPrice:Hu(t[1],`gasPrice`),gasLimit:Hu(t[2],`gasLimit`),to:zu(t[3]),value:Hu(t[4],`value`),data:W(t[5]),chainId:ju};if(t.length===6)return n;let r=Hu(t[6],`v`),i=Hu(t[7],`r`),a=Hu(t[8],`s`);if(i===ju&&a===ju)n.chainId=r;else{let e=(r-Fu)/Mu;e<ju&&(e=ju),n.chainId=e,H(e!==ju||r===Nu||r===Pu,`non-canonical legacy v`,`v`,t[6]),n.signature=Gl.from({r:_i(t[7],32),s:_i(t[8],32),v:r})}return n}function qu(e,t){let n=[Uu(e.nonce,`nonce`),Uu(e.gasPrice||0,`gasPrice`),Uu(e.gasLimit,`gasLimit`),e.to||`0x`,Uu(e.value,`value`),e.data],r=ju;if(e.chainId!=ju)r=wi(e.chainId,`tx.chainId`),H(!t||t.networkV==null||t.legacyChainId===r,`tx.chainId/sig.v mismatch`,`sig`,t);else if(e.signature){let t=e.signature.legacyChainId;t!=null&&(r=t)}if(!t)return r!==ju&&(n.push(ji(r)),n.push(`0x`),n.push(`0x`)),na(n);let i=BigInt(27+t.yParity);return r===ju?BigInt(t.v)!==i&&H(!1,`tx.chainId/sig.v mismatch`,`sig`,t):i=Gl.getChainIdV(r,t.v),n.push(ji(i)),n.push(ji(t.r)),n.push(ji(t.s)),na(n)}function Ju(e,t){let n;try{if(n=Vu(t[0],`yParity`),n!==0&&n!==1)throw Error(`bad yParity`)}catch{H(!1,`invalid yParity`,`yParity`,t[0])}let r=_i(t[1],32),i=_i(t[2],32);e.signature=Gl.from({r,s:i,yParity:n})}function Yu(e){let t=Qi(U(e).slice(1));H(Array.isArray(t)&&(t.length===9||t.length===12),`invalid field count for transaction type: 2`,`data`,W(e));let n={type:2,chainId:Hu(t[0],`chainId`),nonce:Vu(t[1],`nonce`),maxPriorityFeePerGas:Hu(t[2],`maxPriorityFeePerGas`),maxFeePerGas:Hu(t[3],`maxFeePerGas`),gasPrice:null,gasLimit:Hu(t[4],`gasLimit`),to:zu(t[5]),value:Hu(t[6],`value`),data:W(t[7]),accessList:Bu(t[8],`accessList`)};return t.length===9||Ju(n,t.slice(9)),n}function Xu(e,t){let n=[Uu(e.chainId,`chainId`),Uu(e.nonce,`nonce`),Uu(e.maxPriorityFeePerGas||0,`maxPriorityFeePerGas`),Uu(e.maxFeePerGas||0,`maxFeePerGas`),Uu(e.gasLimit,`gasLimit`),e.to||`0x`,Uu(e.value,`value`),e.data,Wu(e.accessList||[])];return t&&(n.push(Uu(t.yParity,`yParity`)),n.push(ji(t.r)),n.push(ji(t.s))),pi([`0x02`,na(n)])}function Zu(e){let t=Qi(U(e).slice(1));H(Array.isArray(t)&&(t.length===8||t.length===11),`invalid field count for transaction type: 1`,`data`,W(e));let n={type:1,chainId:Hu(t[0],`chainId`),nonce:Vu(t[1],`nonce`),gasPrice:Hu(t[2],`gasPrice`),gasLimit:Hu(t[3],`gasLimit`),to:zu(t[4]),value:Hu(t[5],`value`),data:W(t[6]),accessList:Bu(t[7],`accessList`)};return t.length===8||Ju(n,t.slice(8)),n}function Qu(e,t){let n=[Uu(e.chainId,`chainId`),Uu(e.nonce,`nonce`),Uu(e.gasPrice||0,`gasPrice`),Uu(e.gasLimit,`gasLimit`),e.to||`0x`,Uu(e.value,`value`),e.data,Wu(e.accessList||[])];return t&&(n.push(Uu(t.yParity,`recoveryParam`)),n.push(ji(t.r)),n.push(ji(t.s))),pi([`0x01`,na(n)])}function $u(e){let t=Qi(U(e).slice(1)),n=`3`,r=null;if(t.length===4&&Array.isArray(t[0])){n=`3 (network format)`;let e=t[1],i=t[2],a=t[3];H(Array.isArray(e),`invalid network format: blobs not an array`,`fields[1]`,e),H(Array.isArray(i),`invalid network format: commitments not an array`,`fields[2]`,i),H(Array.isArray(a),`invalid network format: proofs not an array`,`fields[3]`,a),H(e.length===i.length,`invalid network format: blobs/commitments length mismatch`,`fields`,t),H(e.length===a.length,`invalid network format: blobs/proofs length mismatch`,`fields`,t),r=[];for(let n=0;n<t[1].length;n++)r.push({data:e[n],commitment:i[n],proof:a[n]});t=t[0]}H(Array.isArray(t)&&(t.length===11||t.length===14),`invalid field count for transaction type: ${n}`,`data`,W(e));let i={type:3,chainId:Hu(t[0],`chainId`),nonce:Vu(t[1],`nonce`),maxPriorityFeePerGas:Hu(t[2],`maxPriorityFeePerGas`),maxFeePerGas:Hu(t[3],`maxFeePerGas`),gasPrice:null,gasLimit:Hu(t[4],`gasLimit`),to:zu(t[5]),value:Hu(t[6],`value`),data:W(t[7]),accessList:Bu(t[8],`accessList`),maxFeePerBlobGas:Hu(t[9],`maxFeePerBlobGas`),blobVersionedHashes:t[10]};r&&(i.blobs=r),H(i.to!=null,`invalid address for transaction type: ${n}`,`data`,e),H(Array.isArray(i.blobVersionedHashes),`invalid blobVersionedHashes: must be an array`,`data`,e);for(let t=0;t<i.blobVersionedHashes.length;t++)H(ui(i.blobVersionedHashes[t],32),`invalid blobVersionedHash at index ${t}: must be length 32`,`data`,e);return t.length===11||Ju(i,t.slice(11)),i}function ed(e,t,n){let r=[Uu(e.chainId,`chainId`),Uu(e.nonce,`nonce`),Uu(e.maxPriorityFeePerGas||0,`maxPriorityFeePerGas`),Uu(e.maxFeePerGas||0,`maxFeePerGas`),Uu(e.gasLimit,`gasLimit`),e.to||`0x0000000000000000000000000000000000000000`,Uu(e.value,`value`),e.data,Wu(e.accessList||[]),Uu(e.maxFeePerBlobGas||0,`maxFeePerBlobGas`),Gu(e.blobVersionedHashes||[],`blobVersionedHashes`)];return t&&(r.push(Uu(t.yParity,`yParity`)),r.push(ji(t.r)),r.push(ji(t.s)),n)?pi([`0x03`,na([r,n.map(e=>e.data),n.map(e=>e.commitment),n.map(e=>e.proof)])]):pi([`0x03`,na(r)])}var td=class e{#e;#t;#n;#r;#i;#a;#o;#s;#c;#l;#u;#d;#f;#p;#m;#h;get type(){return this.#e}set type(e){switch(e){case null:this.#e=null;break;case 0:case`legacy`:this.#e=0;break;case 1:case`berlin`:case`eip-2930`:this.#e=1;break;case 2:case`london`:case`eip-1559`:this.#e=2;break;case 3:case`cancun`:case`eip-4844`:this.#e=3;break;default:H(!1,`unsupported transaction type`,`type`,e)}}get typeName(){switch(this.type){case 0:return`legacy`;case 1:return`eip-2930`;case 2:return`eip-1559`;case 3:return`eip-4844`}return null}get to(){let e=this.#t;return e==null&&this.type===3?Pl:e}set to(e){this.#t=e==null?null:tu(e)}get nonce(){return this.#r}set nonce(e){this.#r=Oi(e,`value`)}get gasLimit(){return this.#i}set gasLimit(e){this.#i=wi(e)}get gasPrice(){let e=this.#a;return e==null&&(this.type===0||this.type===1)?ju:e}set gasPrice(e){this.#a=e==null?null:wi(e,`gasPrice`)}get maxPriorityFeePerGas(){return this.#o??(this.type===2||this.type===3?ju:null)}set maxPriorityFeePerGas(e){this.#o=e==null?null:wi(e,`maxPriorityFeePerGas`)}get maxFeePerGas(){return this.#s??(this.type===2||this.type===3?ju:null)}set maxFeePerGas(e){this.#s=e==null?null:wi(e,`maxFeePerGas`)}get data(){return this.#n}set data(e){this.#n=W(e)}get value(){return this.#c}set value(e){this.#c=wi(e,`value`)}get chainId(){return this.#l}set chainId(e){this.#l=wi(e)}get signature(){return this.#u||null}set signature(e){this.#u=e==null?null:Gl.from(e)}get accessList(){return(this.#d||null)??(this.type===1||this.type===2||this.type===3?[]:null)}set accessList(e){this.#d=e==null?null:Ou(e)}get maxFeePerBlobGas(){let e=this.#f;return e==null&&this.type===3?ju:e}set maxFeePerBlobGas(e){this.#f=e==null?null:wi(e,`maxFeePerBlobGas`)}get blobVersionedHashes(){let e=this.#p;return e==null&&this.type===3?[]:e}set blobVersionedHashes(e){if(e!=null){H(Array.isArray(e),`blobVersionedHashes must be an Array`,`value`,e),e=e.slice();for(let t=0;t<e.length;t++)H(ui(e[t],32),`invalid blobVersionedHash`,`value[${t}]`,e[t])}this.#p=e}get blobs(){return this.#h==null?null:this.#h.map(e=>Object.assign({},e))}set blobs(e){if(e==null){this.#h=null;return}let t=[],n=[];for(let r=0;r<e.length;r++){let i=e[r];if(di(i)){V(this.#m,`adding a raw blob requires a KZG library`,`UNSUPPORTED_OPERATION`,{operation:`set blobs()`});let e=U(i);if(H(e.length<=Lu,`blob is too large`,`blobs[${r}]`,i),e.length!==Lu){let t=new Uint8Array(Lu);t.set(e),e=t}let a=this.#m.blobToKzgCommitment(e),o=W(this.#m.computeBlobKzgProof(e,a));t.push({data:W(e),commitment:W(a),proof:o}),n.push(Ru(1,a))}else{let e=W(i.commitment);t.push({data:W(i.data),commitment:e,proof:W(i.proof)}),n.push(Ru(1,e))}}this.#h=t,this.#p=n}get kzg(){return this.#m}set kzg(e){this.#m=e}constructor(){this.#e=null,this.#t=null,this.#r=0,this.#i=ju,this.#a=null,this.#o=null,this.#s=null,this.#n=`0x`,this.#c=ju,this.#l=ju,this.#u=null,this.#d=null,this.#f=null,this.#p=null,this.#h=null,this.#m=null}get hash(){return this.signature==null?null:Qo(this.#g(!0,!1))}get unsignedHash(){return Qo(this.unsignedSerialized)}get from(){return this.signature==null?null:Au(this.unsignedHash,this.signature)}get fromPublicKey(){return this.signature==null?null:Kl.recoverPublicKey(this.unsignedHash,this.signature)}isSigned(){return this.signature!=null}#g(e,t){V(!e||this.signature!=null,`cannot serialize unsigned transaction; maybe you meant .unsignedSerialized`,`UNSUPPORTED_OPERATION`,{operation:`.serialized`});let n=e?this.signature:null;switch(this.inferType()){case 0:return qu(this,n);case 1:return Qu(this,n);case 2:return Xu(this,n);case 3:return ed(this,n,t?this.blobs:null)}V(!1,`unsupported transaction type`,`UNSUPPORTED_OPERATION`,{operation:`.serialized`})}get serialized(){return this.#g(!0,!0)}get unsignedSerialized(){return this.#g(!1,!1)}inferType(){let e=this.inferTypes();return e.indexOf(2)>=0?2:e.pop()}inferTypes(){let e=this.gasPrice!=null,t=this.maxFeePerGas!=null||this.maxPriorityFeePerGas!=null,n=this.accessList!=null,r=this.#f!=null||this.#p;this.maxFeePerGas!=null&&this.maxPriorityFeePerGas!=null&&V(this.maxFeePerGas>=this.maxPriorityFeePerGas,`priorityFee cannot be more than maxFee`,`BAD_DATA`,{value:this}),V(!t||this.type!==0&&this.type!==1,`transaction type cannot have maxFeePerGas or maxPriorityFeePerGas`,`BAD_DATA`,{value:this}),V(this.type!==0||!n,`legacy transaction cannot have accessList`,`BAD_DATA`,{value:this});let i=[];return this.type==null?t?i.push(2):e?(i.push(1),n||i.push(0)):n?(i.push(1),i.push(2)):r&&this.to?i.push(3):(i.push(0),i.push(1),i.push(2),i.push(3)):i.push(this.type),i.sort(),i}isLegacy(){return this.type===0}isBerlin(){return this.type===1}isLondon(){return this.type===2}isCancun(){return this.type===3}clone(){return e.from(this)}toJSON(){let e=e=>e==null?null:e.toString();return{type:this.type,to:this.to,data:this.data,nonce:this.nonce,gasLimit:e(this.gasLimit),gasPrice:e(this.gasPrice),maxPriorityFeePerGas:e(this.maxPriorityFeePerGas),maxFeePerGas:e(this.maxFeePerGas),value:e(this.value),chainId:e(this.chainId),sig:this.signature?this.signature.toJSON():null,accessList:this.accessList}}static from(t){if(t==null)return new e;if(typeof t==`string`){let n=U(t);if(n[0]>=127)return e.from(Ku(n));switch(n[0]){case 1:return e.from(Zu(n));case 2:return e.from(Yu(n));case 3:return e.from($u(n))}V(!1,`unsupported transaction type`,`UNSUPPORTED_OPERATION`,{operation:`from`})}let n=new e;return t.type!=null&&(n.type=t.type),t.to!=null&&(n.to=t.to),t.nonce!=null&&(n.nonce=t.nonce),t.gasLimit!=null&&(n.gasLimit=t.gasLimit),t.gasPrice!=null&&(n.gasPrice=t.gasPrice),t.maxPriorityFeePerGas!=null&&(n.maxPriorityFeePerGas=t.maxPriorityFeePerGas),t.maxFeePerGas!=null&&(n.maxFeePerGas=t.maxFeePerGas),t.maxFeePerBlobGas!=null&&(n.maxFeePerBlobGas=t.maxFeePerBlobGas),t.data!=null&&(n.data=t.data),t.value!=null&&(n.value=t.value),t.chainId!=null&&(n.chainId=t.chainId),t.signature!=null&&(n.signature=Gl.from(t.signature)),t.accessList!=null&&(n.accessList=t.accessList),t.blobVersionedHashes!=null&&(n.blobVersionedHashes=t.blobVersionedHashes),t.kzg!=null&&(n.kzg=t.kzg),t.blobs!=null&&(n.blobs=t.blobs),t.hash!=null&&(H(n.isSigned(),`unsigned transaction cannot define '.hash'`,`tx`,t),H(n.hash===t.hash,`hash mismatch`,`tx`,t)),t.from!=null&&(H(n.isSigned(),`unsigned transaction cannot define '.from'`,`tx`,t),H(n.from.toLowerCase()===(t.from||``).toLowerCase(),`from mismatch`,`tx`,t)),n}};function nd(e){return typeof e==`string`&&(e=Gi(e)),Qo(pi([Gi(Il),Gi(String(e.length)),e]))}var rd=new Uint8Array(32);rd.fill(0);var id=BigInt(-1),ad=BigInt(0),od=BigInt(1),sd=BigInt(`0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff`);function cd(e){let t=U(e),n=t.length%32;return n?pi([t,rd.slice(n)]):W(t)}var ld=Ai(od,32),ud=Ai(ad,32),dd={name:`string`,version:`string`,chainId:`uint256`,verifyingContract:`address`,salt:`bytes32`},fd=[`name`,`version`,`chainId`,`verifyingContract`,`salt`];function pd(e){return function(t){return H(typeof t==`string`,`invalid domain value for ${JSON.stringify(e)}`,`domain.${e}`,t),t}}var md={name:pd(`name`),version:pd(`version`),chainId:function(e){let t=wi(e,`domain.chainId`);return H(t>=0,`invalid chain ID`,`domain.chainId`,e),Number.isSafeInteger(t)?Number(t):Mi(t)},verifyingContract:function(e){try{return tu(e).toLowerCase()}catch{}H(!1,`invalid domain value "verifyingContract"`,`domain.verifyingContract`,e)},salt:function(e){let t=U(e,`domain.salt`);return H(t.length===32,`invalid domain value "salt"`,`domain.salt`,e),W(t)}};function hd(e){{let t=e.match(/^(u?)int(\d+)$/);if(t){let n=t[1]===``,r=parseInt(t[2]);H(r%8==0&&r!==0&&r<=256&&t[2]===String(r),`invalid numeric width`,`type`,e);let i=Ci(sd,n?r-1:r),a=n?(i+od)*id:ad;return function(t){let r=wi(t,`value`);return H(r>=a&&r<=i,`value out-of-bounds for ${e}`,`value`,r),Ai(n?Si(r,256):r,32)}}}{let t=e.match(/^bytes(\d+)$/);if(t){let n=parseInt(t[1]);return H(n!==0&&n<=32&&t[1]===String(n),`invalid bytes width`,`type`,e),function(t){return H(U(t).length===n,`invalid length for ${e}`,`value`,t),cd(t)}}}switch(e){case`address`:return function(e){return _i(tu(e),32)};case`bool`:return function(e){return e?ld:ud};case`bytes`:return function(e){return Qo(e)};case`string`:return function(e){return Eu(e)}}return null}function gd(e,t){return`${e}(${t.map(({name:e,type:t})=>t+` `+e).join(`,`)})`}function _d(e){let t=e.match(/^([^\x5b]*)((\x5b\d*\x5d)*)(\x5b(\d*)\x5d)$/);return t?{base:t[1],index:t[2]+t[4],array:{base:t[1],prefix:t[1]+t[2],count:t[5]?parseInt(t[5]):-1}}:{base:e}}var vd=class e{primaryType;#e;get types(){return JSON.parse(this.#e)}#t;#n;constructor(e){this.#t=new Map,this.#n=new Map;let t=new Map,n=new Map,r=new Map,i={};Object.keys(e).forEach(a=>{i[a]=e[a].map(({name:t,type:n})=>{let{base:r,index:i}=_d(n);return r===`int`&&!e.int&&(r=`int256`),r===`uint`&&!e.uint&&(r=`uint256`),{name:t,type:r+(i||``)}}),t.set(a,new Set),n.set(a,[]),r.set(a,new Set)}),this.#e=JSON.stringify(i);for(let r in i){let a=new Set;for(let o of i[r]){H(!a.has(o.name),`duplicate variable name ${JSON.stringify(o.name)} in ${JSON.stringify(r)}`,`types`,e),a.add(o.name);let i=_d(o.type).base;H(i!==r,`circular type reference to ${JSON.stringify(i)}`,`types`,e),!hd(i)&&(H(n.has(i),`unknown type ${JSON.stringify(i)}`,`types`,e),n.get(i).push(r),t.get(r).add(i))}}let a=Array.from(n.keys()).filter(e=>n.get(e).length===0);H(a.length!==0,`missing primary type`,`types`,e),H(a.length===1,`ambiguous primary types or unused types: ${a.map(e=>JSON.stringify(e)).join(`, `)}`,`types`,e),ei(this,{primaryType:a[0]});function o(i,a){H(!a.has(i),`circular type reference to ${JSON.stringify(i)}`,`types`,e),a.add(i);for(let e of t.get(i))if(n.has(e)){o(e,a);for(let t of a)r.get(t).add(e)}a.delete(i)}o(this.primaryType,new Set);for(let[e,t]of r){let n=Array.from(t);n.sort(),this.#t.set(e,gd(e,i[e])+n.map(e=>gd(e,i[e])).join(``))}}getEncoder(e){let t=this.#n.get(e);return t||(t=this.#r(e),this.#n.set(e,t)),t}#r(e){{let t=hd(e);if(t)return t}let t=_d(e).array;if(t){let e=t.prefix,n=this.getEncoder(e);return r=>{H(t.count===-1||t.count===r.length,`array length mismatch; expected length ${t.count}`,`value`,r);let i=r.map(n);return this.#t.has(e)&&(i=i.map(Qo)),Qo(pi(i))}}let n=this.types[e];if(n){let t=Eu(this.#t.get(e));return e=>{let r=n.map(({name:t,type:n})=>{let r=this.getEncoder(n)(e[t]);return this.#t.has(n)?Qo(r):r});return r.unshift(t),pi(r)}}H(!1,`unknown type: ${e}`,`type`,e)}encodeType(e){let t=this.#t.get(e);return H(t,`unknown type: ${JSON.stringify(e)}`,`name`,e),t}encodeData(e,t){return this.getEncoder(e)(t)}hashStruct(e,t){return Qo(this.encodeData(e,t))}encode(e){return this.encodeData(this.primaryType,e)}hash(e){return this.hashStruct(this.primaryType,e)}_visit(e,t,n){if(hd(e))return n(e,t);let r=_d(e).array;if(r)return H(r.count===-1||r.count===t.length,`array length mismatch; expected length ${r.count}`,`value`,t),t.map(e=>this._visit(r.prefix,e,n));let i=this.types[e];if(i)return i.reduce((e,{name:r,type:i})=>(e[r]=this._visit(i,t[r],n),e),{});H(!1,`unknown type: ${e}`,`type`,e)}visit(e,t){return this._visit(this.primaryType,e,t)}static from(t){return new e(t)}static getPrimaryType(t){return e.from(t).primaryType}static hashStruct(t,n,r){return e.from(n).hashStruct(t,r)}static hashDomain(t){let n=[];for(let e in t){if(t[e]==null)continue;let r=dd[e];H(r,`invalid typed-data domain key: ${JSON.stringify(e)}`,`domain`,t),n.push({name:e,type:r})}return n.sort((e,t)=>fd.indexOf(e.name)-fd.indexOf(t.name)),e.hashStruct(`EIP712Domain`,{EIP712Domain:n},t)}static encode(t,n,r){return pi([`0x1901`,e.hashDomain(t),e.from(n).hash(r)])}static hash(t,n,r){return Qo(e.encode(t,n,r))}static async resolveNames(t,n,r,i){t=Object.assign({},t);for(let e in t)t[e]??delete t[e];let a={};t.verifyingContract&&!ui(t.verifyingContract,20)&&(a[t.verifyingContract]=`0x`);let o=e.from(n);o.visit(r,(e,t)=>(e===`address`&&!ui(t,20)&&(a[t]=`0x`),t));for(let e in a)a[e]=await i(e);return t.verifyingContract&&a[t.verifyingContract]&&(t.verifyingContract=a[t.verifyingContract]),r=o.visit(r,(e,t)=>e===`address`&&a[t]?a[t]:t),{domain:t,value:r}}static getPayload(t,n,r){e.hashDomain(t);let i={},a=[];fd.forEach(e=>{let n=t[e];n!=null&&(i[e]=md[e](n),a.push({name:e,type:dd[e]}))});let o=e.from(n);n=o.types;let s=Object.assign({},n);return H(s.EIP712Domain==null,`types must not contain EIP712Domain type`,`types.EIP712Domain`,n),s.EIP712Domain=a,o.encode(r),{types:s,domain:i,primaryType:o.primaryType,message:o.visit(r,(e,t)=>{if(e.match(/^bytes(\d*)/))return W(U(t));if(e.match(/^u?int/))return wi(t).toString();switch(e){case`address`:return t.toLowerCase();case`bool`:return!!t;case`string`:return H(typeof t==`string`,`invalid string`,`value`,t),t}H(!1,`unsupported type`,`type`,e)})}}};function yd(e){let t=new Set;return e.forEach(e=>t.add(e)),Object.freeze(t)}yd(`external public payable override`.split(` `));var bd=`constant external internal payable private public pure view override`;yd(bd.split(` `));var xd=`constructor error event fallback function receive struct`;yd(xd.split(` `));var Sd=`calldata memory storage payable indexed`,Cd=yd(Sd.split(` `)),wd=yd([xd,Sd,`tuple returns`,bd].join(` `).split(` `)),Td={"(":`OPEN_PAREN`,")":`CLOSE_PAREN`,"[":`OPEN_BRACKET`,"]":`CLOSE_BRACKET`,",":`COMMA`,"@":`AT`},Ed=RegExp(`^(\\s*)`),Dd=RegExp(`^([0-9]+)`),Od=RegExp(`^([a-zA-Z$_][a-zA-Z0-9$_]*)`),kd=RegExp(`^([a-zA-Z$_][a-zA-Z0-9$_]*)$`),Ad=RegExp(`^(address|bool|bytes([0-9]*)|string|u?int([0-9]*))$`),jd=class e{#e;#t;get offset(){return this.#e}get length(){return this.#t.length-this.#e}constructor(e){this.#e=0,this.#t=e.slice()}clone(){return new e(this.#t)}reset(){this.#e=0}#n(t=0,n=0){return new e(this.#t.slice(t,n).map(e=>Object.freeze(Object.assign({},e,{match:e.match-t,linkBack:e.linkBack-t,linkNext:e.linkNext-t}))))}popKeyword(e){let t=this.peek();if(t.type!==`KEYWORD`||!e.has(t.text))throw Error(`expected keyword ${t.text}`);return this.pop().text}popType(e){if(this.peek().type!==e){let t=this.peek();throw Error(`expected ${e}; got ${t.type} ${JSON.stringify(t.text)}`)}return this.pop().text}popParen(){let e=this.peek();if(e.type!==`OPEN_PAREN`)throw Error(`bad start`);let t=this.#n(this.#e+1,e.match+1);return this.#e=e.match+1,t}popParams(){let e=this.peek();if(e.type!==`OPEN_PAREN`)throw Error(`bad start`);let t=[];for(;this.#e<e.match-1;){let e=this.peek().linkNext;t.push(this.#n(this.#e+1,e)),this.#e=e}return this.#e=e.match+1,t}peek(){if(this.#e>=this.#t.length)throw Error(`out-of-bounds`);return this.#t[this.#e]}peekKeyword(e){let t=this.peekType(`KEYWORD`);return t!=null&&e.has(t)?t:null}peekType(e){if(this.length===0)return null;let t=this.peek();return t.type===e?t.text:null}pop(){let e=this.peek();return this.#e++,e}toString(){let e=[];for(let t=this.#e;t<this.#t.length;t++){let n=this.#t[t];e.push(`${n.type}:${n.text}`)}return`<TokenString ${e.join(` `)}>`}};function Md(e){let t=[],n=t=>{let n=a<e.length?JSON.stringify(e[a]):`$EOI`;throw Error(`invalid token ${n} at ${a}: ${t}`)},r=[],i=[],a=0;for(;a<e.length;){let o=e.substring(a),s=o.match(Ed);s&&(a+=s[1].length,o=e.substring(a));let c={depth:r.length,linkBack:-1,linkNext:-1,match:-1,type:``,text:``,offset:a,value:-1};t.push(c);let l=Td[o[0]]||``;if(l){if(c.type=l,c.text=o[0],a++,l===`OPEN_PAREN`)r.push(t.length-1),i.push(t.length-1);else if(l==`CLOSE_PAREN`)r.length===0&&n(`no matching open bracket`),c.match=r.pop(),t[c.match].match=t.length-1,c.depth--,c.linkBack=i.pop(),t[c.linkBack].linkNext=t.length-1;else if(l===`COMMA`)c.linkBack=i.pop(),t[c.linkBack].linkNext=t.length-1,i.push(t.length-1);else if(l===`OPEN_BRACKET`)c.type=`BRACKET`;else if(l===`CLOSE_BRACKET`){let e=t.pop().text;if(t.length>0&&t[t.length-1].type===`NUMBER`){let n=t.pop().text;e=n+e,t[t.length-1].value=Oi(n)}if(t.length===0||t[t.length-1].type!==`BRACKET`)throw Error(`missing opening bracket`);t[t.length-1].text+=e}continue}if(s=o.match(Od),s){if(c.text=s[1],a+=c.text.length,wd.has(c.text)){c.type=`KEYWORD`;continue}if(c.text.match(Ad)){c.type=`TYPE`;continue}c.type=`ID`;continue}if(s=o.match(Dd),s){c.text=s[1],c.type=`NUMBER`,a+=c.text.length;continue}throw Error(`unexpected token ${JSON.stringify(o[0])} at position ${a}`)}return new jd(t.map(e=>Object.freeze(e)))}function Nd(e,t){let n=new Set;for(;;){let r=e.peekType(`KEYWORD`);if(r==null||t&&!t.has(r))break;if(e.pop(),n.has(r))throw Error(`duplicate keywords: ${JSON.stringify(r)}`);n.add(r)}return Object.freeze(n)}var Pd=new RegExp(/^(.*)\[([0-9]*)\]$/);function Fd(e){let t=e.match(Ad);if(H(t,`invalid type`,`type`,e),e===`uint`)return`uint256`;if(e===`int`)return`int256`;if(t[2]){let n=parseInt(t[2]);H(n!==0&&n<=32,`invalid bytes length`,`type`,e)}else if(t[3]){let n=parseInt(t[3]);H(n!==0&&n<=256&&n%8==0,`invalid numeric width`,`type`,e)}return e}var Id={},Ld=Symbol.for(`_ethers_internal`),Rd=`_ParamTypeInternal`,zd=class e{name;type;baseType;indexed;components;arrayLength;arrayChildren;constructor(e,t,n,r,i,a,o,s){if(si(e,Id,`ParamType`),Object.defineProperty(this,Ld,{value:Rd}),a&&=Object.freeze(a.slice()),r===`array`){if(o==null||s==null)throw Error(``)}else if(o!=null||s!=null)throw Error(``);if(r===`tuple`){if(a==null)throw Error(``)}else if(a!=null)throw Error(``);ei(this,{name:t,type:n,baseType:r,indexed:i,components:a,arrayLength:o,arrayChildren:s})}format(e){if(e??=`sighash`,e===`json`){let t=this.name||``;if(this.isArray()){let e=JSON.parse(this.arrayChildren.format(`json`));return e.name=t,e.type+=`[${this.arrayLength<0?``:String(this.arrayLength)}]`,JSON.stringify(e)}let n={type:this.baseType===`tuple`?`tuple`:this.type,name:t};return typeof this.indexed==`boolean`&&(n.indexed=this.indexed),this.isTuple()&&(n.components=this.components.map(t=>JSON.parse(t.format(e)))),JSON.stringify(n)}let t=``;return this.isArray()?(t+=this.arrayChildren.format(e),t+=`[${this.arrayLength<0?``:String(this.arrayLength)}]`):this.isTuple()?t+=`(`+this.components.map(t=>t.format(e)).join(e===`full`?`, `:`,`)+`)`:t+=this.type,e!==`sighash`&&(this.indexed===!0&&(t+=` indexed`),e===`full`&&this.name&&(t+=` `+this.name)),t}isArray(){return this.baseType===`array`}isTuple(){return this.baseType===`tuple`}isIndexable(){return this.indexed!=null}walk(e,t){if(this.isArray()){if(!Array.isArray(e))throw Error(`invalid array value`);if(this.arrayLength!==-1&&e.length!==this.arrayLength)throw Error(`array is wrong length`);let n=this;return e.map(e=>n.arrayChildren.walk(e,t))}if(this.isTuple()){if(!Array.isArray(e))throw Error(`invalid tuple value`);if(e.length!==this.components.length)throw Error(`array is wrong length`);let n=this;return e.map((e,r)=>n.components[r].walk(e,t))}return t(this.type,e)}#e(e,t,n,r){if(this.isArray()){if(!Array.isArray(t))throw Error(`invalid array value`);if(this.arrayLength!==-1&&t.length!==this.arrayLength)throw Error(`array is wrong length`);let i=this.arrayChildren,a=t.slice();a.forEach((t,r)=>{i.#e(e,t,n,e=>{a[r]=e})}),r(a);return}if(this.isTuple()){let i=this.components,a;if(Array.isArray(t))a=t.slice();else{if(typeof t!=`object`||!t)throw Error(`invalid tuple value`);a=i.map(e=>{if(!e.name)throw Error(`cannot use object value with unnamed components`);if(!(e.name in t))throw Error(`missing value for component ${e.name}`);return t[e.name]})}if(a.length!==this.components.length)throw Error(`array is wrong length`);a.forEach((t,r)=>{i[r].#e(e,t,n,e=>{a[r]=e})}),r(a);return}let i=n(this.type,t);i.then?e.push((async function(){r(await i)})()):r(i)}async walkAsync(e,t){let n=[],r=[e];return this.#e(n,e,t,e=>{r[0]=e}),n.length&&await Promise.all(n),r[0]}static from(t,n){if(e.isParamType(t))return t;if(typeof t==`string`)try{return e.from(Md(t),n)}catch{H(!1,`invalid param type`,`obj`,t)}else if(t instanceof jd){let r=``,i=``,a=null;Nd(t,yd([`tuple`])).has(`tuple`)||t.peekType(`OPEN_PAREN`)?(i=`tuple`,a=t.popParams().map(t=>e.from(t)),r=`tuple(${a.map(e=>e.format()).join(`,`)})`):(r=Fd(t.popType(`TYPE`)),i=r);let o=null,s=null;for(;t.length&&t.peekType(`BRACKET`);){let n=t.pop();o=new e(Id,``,r,i,null,a,s,o),s=n.value,r+=n.text,i=`array`,a=null}let c=null;if(Nd(t,Cd).has(`indexed`)){if(!n)throw Error(``);c=!0}let l=t.peekType(`ID`)?t.pop().text:``;if(t.length)throw Error(`leftover tokens`);return new e(Id,l,r,i,c,a,s,o)}let r=t.name;H(!r||typeof r==`string`&&r.match(kd),`invalid name`,`obj.name`,r);let i=t.indexed;i!=null&&(H(n,`parameter cannot be indexed`,`obj.indexed`,t.indexed),i=!!i);let a=t.type,o=a.match(Pd);if(o){let n=parseInt(o[2]||`-1`),s=e.from({type:o[1],components:t.components});return new e(Id,r||``,a,`array`,i,null,n,s)}if(a===`tuple`||a.startsWith(`tuple(`)||a.startsWith(`(`)){let n=t.components==null?null:t.components.map(t=>e.from(t));return new e(Id,r||``,a,`tuple`,i,n,null,null)}return a=Fd(t.type),new e(Id,r||``,a,a,i,null,null,null)}static isParamType(e){return e&&e[Ld]===Rd}},Bd=new Map;Bd.set(0,`GENERIC_PANIC`),Bd.set(1,`ASSERT_FALSE`),Bd.set(17,`OVERFLOW`),Bd.set(18,`DIVIDE_BY_ZERO`),Bd.set(33,`ENUM_RANGE_ERROR`),Bd.set(34,`BAD_STORAGE_DATA`),Bd.set(49,`STACK_UNDERFLOW`),Bd.set(50,`ARRAY_RANGE_ERROR`),Bd.set(65,`OUT_OF_MEMORY`),Bd.set(81,`UNINITIALIZED_FUNCTION_CALL`);var Vd=new RegExp(/^bytes([0-9]*)$/),Hd=new RegExp(/^(u?int)([0-9]*)$/),Ud=null,Wd=1024;function Gd(e,t,n,r){let i=`missing revert data`,a=null,o=null;if(n){i=`execution reverted`;let e=U(n);if(n=W(n),e.length===0)i+=` (no data present; likely require(false) occurred`,a=`require(false)`;else if(e.length%32!=4)i+=` (could not decode reason; invalid data length)`;else if(W(e.slice(0,4))===`0x08c379a0`)try{a=r.decode([`string`],e.slice(4))[0],o={signature:`Error(string)`,name:`Error`,args:[a]},i+=`: ${JSON.stringify(a)}`}catch{i+=` (could not decode reason; invalid string data)`}else if(W(e.slice(0,4))===`0x4e487b71`)try{let t=Number(r.decode([`uint256`],e.slice(4))[0]);o={signature:`Panic(uint256)`,name:`Panic`,args:[t]},a=`Panic due to ${Bd.get(t)||`UNKNOWN`}(${t})`,i+=`: ${a}`}catch{i+=` (could not decode panic code)`}else i+=` (unknown custom error)`}let s={to:t.to?tu(t.to):null,data:t.data||`0x`};return t.from&&(s.from=tu(t.from)),ri(i,`CALL_EXCEPTION`,{action:e,data:n,reason:a,transaction:s,invocation:null,revert:o})}var Kd=class e{#e(e){if(e.isArray())return new pu(this.#e(e.arrayChildren),e.arrayLength,e.name);if(e.isTuple())return new Tu(e.components.map(e=>this.#e(e)),e.name);switch(e.baseType){case`address`:return new lu(e.name);case`bool`:return new mu(e.name);case`string`:return new wu(e.name);case`bytes`:return new gu(e.name);case``:return new yu(e.name)}let t=e.type.match(Hd);if(t){let n=parseInt(t[2]||`256`);return H(n!==0&&n<=256&&n%8==0,`invalid `+t[1]+` bit length`,`param`,e),new Cu(n/8,t[1]===`int`,e.name)}if(t=e.type.match(Vd),t){let n=parseInt(t[1]);return H(n!==0&&n<=32,`invalid bytes length`,`param`,e),new _u(n,e.name)}H(!1,`invalid type`,`type`,e.type)}getDefaultValue(e){return new Tu(e.map(e=>this.#e(zd.from(e))),`_`).defaultValue()}encode(e,t){ii(t.length,e.length,`types/values length mismatch`);let n=new Tu(e.map(e=>this.#e(zd.from(e))),`_`),r=new ha;return n.encode(r,t),r.data}decode(e,t,n){return new Tu(e.map(e=>this.#e(zd.from(e))),`_`).decode(new ga(t,n,Wd))}static _setDefaultMaxInflation(e){H(typeof e==`number`&&Number.isInteger(e),`invalid defaultMaxInflation factor`,`value`,e),Wd=e}static defaultAbiCoder(){return Ud??=new e,Ud}static getBuiltinCallException(t,n,r){return Gd(t,n,r,e.defaultAbiCoder())}};function qd(e){let t={};e.to&&(t.to=e.to),e.from&&(t.from=e.from),e.data&&(t.data=W(e.data));let n=`chainId,gasLimit,gasPrice,maxFeePerBlobGas,maxFeePerGas,maxPriorityFeePerGas,value`.split(/,/);for(let r of n)!(r in e)||e[r]==null||(t[r]=wi(e[r],`request.${r}`));let r=`type,nonce`.split(/,/);for(let n of r)!(n in e)||e[n]==null||(t[n]=Oi(e[n],`request.${n}`));return e.accessList&&(t.accessList=Ou(e.accessList)),`blockTag`in e&&(t.blockTag=e.blockTag),`enableCcipRead`in e&&(t.enableCcipRead=!!e.enableCcipRead),`customData`in e&&(t.customData=e.customData),`blobVersionedHashes`in e&&e.blobVersionedHashes&&(t.blobVersionedHashes=e.blobVersionedHashes.slice()),`kzg`in e&&(t.kzg=e.kzg),`blobs`in e&&e.blobs&&(t.blobs=e.blobs.map(e=>di(e)?W(e):Object.assign({},e))),t}function Jd(e,t){if(e.provider)return e.provider;V(!1,`missing provider`,`UNSUPPORTED_OPERATION`,{operation:t})}async function Yd(e,t){let n=qd(t);if(n.to!=null&&(n.to=iu(n.to,e)),n.from!=null){let t=n.from;n.from=Promise.all([e.getAddress(),iu(t,e)]).then(([e,t])=>(H(e.toLowerCase()===t.toLowerCase(),`transaction from mismatch`,`tx.from`,t),e))}else n.from=e.getAddress();return await $r(n)}var Xd=class{provider;constructor(e){ei(this,{provider:e||null})}async getNonce(e){return Jd(this,`getTransactionCount`).getTransactionCount(await this.getAddress(),e)}async populateCall(e){return await Yd(this,e)}async populateTransaction(e){let t=Jd(this,`populateTransaction`),n=await Yd(this,e);n.nonce??=await this.getNonce(`pending`),n.gasLimit??=await this.estimateGas(n);let r=await this.provider.getNetwork();n.chainId==null?n.chainId=r.chainId:H(wi(n.chainId)===r.chainId,`transaction chainId mismatch`,`tx.chainId`,e.chainId);let i=n.maxFeePerGas!=null||n.maxPriorityFeePerGas!=null;if(n.gasPrice!=null&&(n.type===2||i)?H(!1,`eip-1559 transaction do not support gasPrice`,`tx`,e):(n.type===0||n.type===1)&&i&&H(!1,`pre-eip-1559 transaction do not support maxFeePerGas/maxPriorityFeePerGas`,`tx`,e),(n.type===2||n.type==null)&&n.maxFeePerGas!=null&&n.maxPriorityFeePerGas!=null)n.type=2;else if(n.type===0||n.type===1){let e=await t.getFeeData();V(e.gasPrice!=null,`network does not support gasPrice`,`UNSUPPORTED_OPERATION`,{operation:`getGasPrice`}),n.gasPrice??=e.gasPrice}else{let e=await t.getFeeData();if(n.type==null)if(e.maxFeePerGas!=null&&e.maxPriorityFeePerGas!=null)if(n.type=2,n.gasPrice!=null){let e=n.gasPrice;delete n.gasPrice,n.maxFeePerGas=e,n.maxPriorityFeePerGas=e}else n.maxFeePerGas??=e.maxFeePerGas,n.maxPriorityFeePerGas??=e.maxPriorityFeePerGas;else e.gasPrice==null?V(!1,`failed to get consistent fee data`,`UNSUPPORTED_OPERATION`,{operation:`signer.getFeeData`}):(V(!i,`network does not support EIP-1559`,`UNSUPPORTED_OPERATION`,{operation:`populateTransaction`}),n.gasPrice??=e.gasPrice,n.type=0);else (n.type===2||n.type===3)&&(n.maxFeePerGas??=e.maxFeePerGas,n.maxPriorityFeePerGas??=e.maxPriorityFeePerGas)}return await $r(n)}async estimateGas(e){return Jd(this,`estimateGas`).estimateGas(await this.populateCall(e))}async call(e){return Jd(this,`call`).call(await this.populateCall(e))}async resolveName(e){return await Jd(this,`resolveName`).resolveName(e)}async sendTransaction(e){let t=Jd(this,`sendTransaction`),n=await this.populateTransaction(e);delete n.from;let r=td.from(n);return await t.broadcastTransaction(await this.signTransaction(r))}},Zd=class e extends Xd{address;constructor(e,t){super(t),ei(this,{address:e})}async getAddress(){return this.address}connect(t){return new e(this.address,t)}#e(e,t){V(!1,`VoidSigner cannot sign ${e}`,`UNSUPPORTED_OPERATION`,{operation:t})}async signTransaction(e){this.#e(`transactions`,`signTransaction`)}async signMessage(e){this.#e(`messages`,`signMessage`)}async signTypedData(e,t,n){this.#e(`typed-data`,`signTypedData`)}},Qd=class e extends Xd{address;#e;constructor(e,t){super(t),H(e&&typeof e.sign==`function`,`invalid private key`,`privateKey`,`[ REDACTED ]`),this.#e=e;let n=ku(this.signingKey.publicKey);ei(this,{address:n})}get signingKey(){return this.#e}get privateKey(){return this.signingKey.privateKey}async getAddress(){return this.address}connect(t){return new e(this.#e,t)}async signTransaction(e){e=qd(e);let{to:t,from:n}=await $r({to:e.to?iu(e.to,this.provider):void 0,from:e.from?iu(e.from,this.provider):void 0});t!=null&&(e.to=t),n!=null&&(e.from=n),e.from!=null&&(H(tu(e.from)===this.address,`transaction from address mismatch`,`tx.from`,e.from),delete e.from);let r=td.from(e);return r.signature=this.signingKey.sign(r.unsignedHash),r.serialized}async signMessage(e){return this.signMessageSync(e)}signMessageSync(e){return this.signingKey.sign(nd(e)).serialized}async signTypedData(e,t,n){let r=await vd.resolveNames(e,t,n,async e=>{V(this.provider!=null,`cannot resolve ENS names without a provider`,`UNSUPPORTED_OPERATION`,{operation:`resolveName`,info:{name:e}});let t=await this.provider.resolveName(e);return V(t!=null,`unconfigured ENS name`,`UNCONFIGURED_NAME`,{value:e}),t});return this.signingKey.sign(vd.hash(r.domain,t,r.value)).serialized}},$d=" !#$%&'()*+,-./<=>?@[]^_`{|}~",ef=/^[a-z]*$/i;function tf(e,t){let n=97;return e.reduce((e,r)=>(r===t?n++:r.match(ef)?e.push(String.fromCharCode(n)+r):(n=97,e.push(r)),e),[])}function nf(e,t){for(let n=28;n>=0;n--)e=e.split($d[n]).join(t.substring(2*n,2*n+2));let n=[],r=e.replace(/(:|([0-9])|([A-Z][a-z]*))/g,(e,t,r,i)=>{if(r)for(let e=parseInt(r);e>=0;e--)n.push(`;`);else n.push(t.toLowerCase());return``});if(r)throw Error(`leftovers: ${JSON.stringify(r)}`);return tf(tf(n,`;`),`:`)}function rf(e){return H(e[0]===`0`,`unsupported auwl data`,`data`,e),nf(e.substring(59),e.substring(1,59))}var af=class{locale;constructor(e){ei(this,{locale:e})}split(e){return e.toLowerCase().split(/\s+/g)}join(e){return e.join(` `)}},of=class extends af{#e;#t;constructor(e,t,n){super(e),this.#e=t,this.#t=n,this.#n=null}get _data(){return this.#e}_decodeWords(){return rf(this.#e)}#n;#r(){if(this.#n==null){let e=this._decodeWords();if(Eu(e.join(`
|
|
4
4
|
`)+`
|
|
@@ -285,4 +285,4 @@ CAUSE: `+e.stack)}}}return t[e]=n,n};function r(e){return typeof e==`object`}e.d
|
|
|
285
285
|
.ledger-select-button:hover {
|
|
286
286
|
opacity: 0.7;
|
|
287
287
|
}
|
|
288
|
-
`;function DD(){let e=document.createElement(`div`),t=document.createElement(`style`);t.innerHTML=ED,document.body.append(t),document.body.append(e);function n(){e.remove(),t.remove()}return{onClose:n,div:e}}function OD(){let{onClose:e,div:t}=DD();return cD($(CD,{title:vD().loadingTitle,onClose:e,children:$(SD,{})}),t),e}function kD(e){let{onClose:t,div:n}=DD();return cD($(CD,{width:550,title:vD().loadingTitle,onClose:t,children:$(xD,{address:e})}),n),t}function AD(e){let{onClose:t,div:n}=DD(),r=vD();return new Promise((i,a)=>{function o(e){i(e),t()}function s(){a(Error(`Operation is canceled.`)),t()}cD($(CD,{title:r.loadingTitle,onClose:s,children:$(TD,{accounts:e.accounts,selectedIndex:e.selectedIndex||0,onConfirm:o,onCancel:s,getAccounts:e.getAccounts})}),n)})}h();var jD=function(e,t,n,r){function i(e){return e instanceof n?e:new n(function(t){t(e)})}return new(n||=Promise)(function(n,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){e.done?n(e.value):i(e.value).then(o,s)}c((r=r.apply(e,t||[])).next())})};function MD(e){return jD(this,void 0,void 0,function*(){return new Promise(t=>{setTimeout(t,e)})})}function ND(e){return typeof e==`function`}var PD=function(e){return jD(this,arguments,void 0,function*({accounts:e,ledgerUtils:t}){let n=yield AD({accounts:e,getAccounts:t.getAccounts}),r=kD(n.address);try{yield t.getAddress(n.index,!0)}finally{r?.()}return n})},FD=class{constructor(e={}){this.app=null,this.transport=null,this.fetchState=`Initial`,this.selectedIndex=0,this._address=``,this.getAccounts=(e,t)=>jD(this,void 0,void 0,function*(){if(e<0)throw Error(`getAccount parameter error: from cannot be smaller than 0.`);if(e>=t)throw Error(`getAccount parameter error: from cannot be bigger than to.`);if(this.fetchState===`Fetching`)return yield MD(500),this.getAccounts(e,t);this.fetchState=`Fetching`,yield this.makeApp();try{let n={};for(let r=e;r<t;r++){let e=yield this.getAccount(r);n[e.index]=e}return Object.keys(n).forEach(e=>{this.accounts[+e]=n[e]}),this.accounts.slice(e,t)}finally{this.fetchState=`Initial`,yield this.cleanUp()}}),this.getAddress=(e,...t)=>jD(this,[e,...t],void 0,function*(e,t=!1){try{let n=this.getPathForIndex(e);return yield this.makeApp(),yield this.app.getAddress(n,t)}finally{yield this.cleanUp()}}),this.accounts=[];let{accountNumber:t=1}=e;if([`beforeConnect`,`selectAccount`,`getDerivationPath`].forEach(t=>{if(e[t]&&!ND(e[t]))throw Error(`[Ledger]: ${t} must be a function!`)}),t&&!Number.isInteger(+t))throw Error(`[Ledger]: accountNumber must be an integer!`);this.config=Object.assign(Object.assign({},e),{accountNumber:t})}get address(){return this._address}connect(e){return jD(this,void 0,void 0,function*(){if(e?.account&&typeof e.account==`object`){let t=e.account;this.selectedIndex=+t.index,this._address=t.address,t.index===void 0||t.address;return}let t={getAccounts:this.getAccounts,getAddress:this.getAddress};this.accounts=[],this._address=``,this.selectedIndex=0;let{accountNumber:n=1,beforeConnect:r,selectAccount:i=PD}=this.config,a=null;try{r?yield r():a=OD(),yield this.makeApp();let e=yield this.getAccount(0);this.accounts[0]=e,yield this.cleanUp(),n>1&&(yield this.getAccounts(1,n)),a?.();let o=yield i({accounts:this.accounts.slice(0,n),ledgerUtils:t});this.selectedIndex=o.index,this._address=o.address}finally{yield this.cleanUp()}})}disconnect(){this.selectedIndex=0,this._address=``}signPersonalMessage(e){return jD(this,void 0,void 0,function*(){return this._withApp((t,n)=>{let r=_.from(e).toString(`hex`);return t.signPersonalMessage(n,r)})})}signTransaction(e){return jD(this,void 0,void 0,function*(){let t=yield this._withApp((t,n)=>t.signTransaction(n,e.raw_data_hex,[]));return this._mergeSignature(e,t)})}signTransactionHash(e){return jD(this,void 0,void 0,function*(){let t=yield this._withApp((t,n)=>t.signTransactionHash(n,e.txID));return this._mergeSignature(e,t)})}_withApp(e){return jD(this,void 0,void 0,function*(){yield this.waitForIdle();try{let t=this.selectedIndex,n=this.getPathForIndex(t);return yield this.makeApp(),yield e(this.app,n)}finally{yield this.cleanUp()}})}_mergeSignature(e,t){let n=e.signature,r=Array.isArray(n)?n.includes(t)?n:[...n,t]:[t];return Object.assign(Object.assign({},e),{signature:r})}getAccount(e){return jD(this,void 0,void 0,function*(){let t=this.getPathForIndex(e),{address:n}=yield this.app.getAddress(t);return{path:t,address:n,index:e}})}waitForIdle(){return jD(this,void 0,void 0,function*(){this.fetchState===`Fetching`&&(yield MD(300),yield this.waitForIdle())})}getPathForIndex(e){return this.config.getDerivationPath?this.config.getDerivationPath(e):`44'/195'/${e}'/0/0`}makeApp(){return jD(this,void 0,void 0,function*(){this.transport&&this.app||(this.transport=yield AT.create(),this.app=new tT(this.transport))})}cleanUp(){return jD(this,void 0,void 0,function*(){this.app=null,yield this.transport?.close(),this.transport=null})}},ID=function(e,t,n,r){function i(e){return e instanceof n?e:new n(function(t){t(e)})}return new(n||=Promise)(function(n,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){e.done?n(e.value):i(e.value).then(o,s)}c((r=r.apply(e,t||[])).next())})},LD=()=>!!(globalThis.navigator&&globalThis.navigator.hid),RD=`Ledger`,zD=class extends er{constructor(e={}){super(),this.name=RD,this.url=`https://www.ledger.com/`,this.icon=`data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAACgCAYAAACLz2ctAAAAAXNSR0IArs4c6QAAFMhJREFUeAHtXXuMFEUeruW5PJbwFEVQjAtcvBCJmoASiUG4O3ICioBiEM5gNPgHJubERzw2HuApHOrxh3gcRLISlA2eghLfiCTKGgNBucNDFgiKILsIeyy77LI87vua7rmZ2Zme7pl+VPf8Kunp7urq+v3qq29+9eyqEiUuBYGysrK+586dG3bx4kXr6FdSUlKGQGXwM868t67Nlxvg1wC/Btwb1zzzHv51OPby6NChw96Ghobj5jtyAgIlxYpC//79u9XX148GSW4ABsOSjt4+Y3IC8e+1DhBzZ8+ePb84duxYo89ytYy+aAhYXl7e+fDhw6OQC2NBOh4jcd1Rk1xpBRG/wrEF+mwZOHBgdU1NTYsmuvmqRqwJ2Llz5yEg2lRk7O043wIku/iKpneRn4HOX0LnT3He0NLSss+7qPWKKXYE7NGjR29k2D3IvPsB9c16wZ23NttBxNfxh1p/6tQpFuGxcbEg4I033thx9+7dv0cm3Q/i3YHc6RSbHEpNyFmk8T2k8fXhw4dv3rFjR2vq4+jdRZqA3bp1648W62PIkDmAvk/04C9I419AxtVoWb/Y2Nh4rKCYQnw5kgTs0qXLoAsXLswH8R4EdqUh4qeD6GYQcVW7du2WnDlz5kcdFHKjQ6QIiDpQORL3JIg3C2ddWrBu8PYzLFvSlRDwPOrANX4K8jLuSBDQbM0+i4RPx9HeSwBiGNd5pKkKZKyIQutZ68xEf1iXs2fPVsDirQWoI3C0iyFhvE4SMRqO46GOHTt2vvzyy6vRcj7ntRCv4tPWAsLqsTW7HOS7xqvEFmM8sIQHke55sIbv6Zh+7QhYWlp6NUj3NxyTdQQsqjqBiBtxPNrc3HxIpzRoU6RNmzatfadOnZ5E63aPkM97ihBTYkuMibX3EvKLUQsL2LVr1yvOnz+/DiDdll8y5C03CMASbm3fvv19TU1NR92850fY0AmIut54JGwtyHeZHwmUODMjABLW4slM1A0/zhwiGN/QimAWA6jvLQLxPhDyBZPZyVKIObFnHoRZJIdiAVHkDkCR+wYAGJMMilyHgwCs4TYUyTNQJB8JWoPACYhhtJGoDL8L8vULOrEiLzsCIGEdhvMmYjjvq+yhvH8SKAFR35sA4m1AMrp6nxSJ0QMEmkDEqagXvu9BXI6iCKw5jrrGTJBvPbTq7EgzCRQGAhxfvwcjKAcxy+jbIBQIhICwfJwytQIJCkReEMDFWEY75NVdmObVgHr6dr/T6WsrGAkpAfmW4LwMCQm0uPcbuJjHX8I8M/PO13zzLXKSD8XuP3CeE/PMinXyUCdcheG7h3C+6EdCfbOAIN8LQj4/sizYOJGHDzIv/ZLqS53MrPM965fSEm/gCIz2q07oOQHN1i4bHL4V74HDLwKJwG/QOt7vdevYU5LA8rGfbxOU7SB5FksEzqEuOMnLfkLPCMgRDjTb+WW/dDLHknuJRDVh2G6sVyMmnhDQHNvdBesnw2uJfIrvBaxgHUg4woux44JbwZxJYU4sEPLFl3MpKaOhYZ57MYum4EbIgQMHFkIhLoMhrrgQuHrfvn3t0ShhtStvV1ARjEbHeJDvA0gv2JLmnQJ5MUwELqA4/l0hk1rzJqA5jZ71PpnJHCYFQpYNAtaa9cG8pvfnZbnMeh+/4RDyhUyAsMWTA6gPrsu3PpiXBeSXVUj4X8JOvMjXCoGnsIjA8241ck1AjHRczc/7IEj6+9yiHe/wTZhRfZ3b745dF8EwucuFfPFmUp6p62pyw9XrriwgWr13QMi7riRI4KJCAI2SiWgVO14GxLEF5EJBQJLWT5wgYIfAcpMrdmESzxxbQNT9FqLu90ziTc0uMF1I8UADSV155ZUKuir8G40D/0j1ww8/KLTWFCy4I80ZF7qaFMA03nP0kk+BUK9StbW1hu5MQ2ur3ivzoi64CDr/yQkcjgiIoperzf8LEWq19jL6nxQWJVeTJk1Sw4YNM66x/4dxn5z4kydPqsrKSrV27Vr17be5v7Xp3r27mj17tho9erS6++67k6MK5fr48eNq48aNhuzTp0+rn376Sb355psJUoailL3QFvz5h+OPn3N1f0cEhFVZB3kz7GUG9xT/MDV48GB12223qblz5yos2G1YulwaVFdXq/Hjxyt0F9gGZbybNm1S+OPZhgvz4XfffafWrVunqqqq1KFDhxxb9gB1fgM435dLXk4CIhPKYf3+g4gKHjfOpYyT55gUqUaNGqWWLVtmEI9kdOpYjA0dOlRhKpHtK3feeadav55fkOrvsPmOevzxx9XmzZsVqxoaufOwgr+CTrbLBTvJPXY6a0E+WqQpU6aoV155RV1//fXKDfmYMRg4d2QpWH+MimMdlXjMmjVLseqgkSNnyB1bZ0tArkYP6zfLNoaAHrK+x+KzoqLCsGIBiY2EmF69eqlFixYZf042wnRx5A45ZKePLQFhCebjZS1Wo6fFW7Bggbr22mvt0lO0z7DhoVq4cKG69dZbdcKgo8mhrDplJSA3gQGDuQ9H6I4t2xdeeMEodkNXRmMFsCC5mjNnjiJeujhyiFzKpk9WAqK+9Bhe0mITmJkzZ6oxY8ZkS4P4JyHABhTrg6yyaOJKTS5lVCcjAbn3Gpg7J+MbAXuuWbNGPfDAAwFLja44Eo9/WFgdbRJBLpFTmRTKSEBu/IfAWuy9Nn36dDVkyJBMuotfFgTYOY/9kbM8DcW7j8mpNsIzEhD9N9p844GN+NooLR72CAwYMEBNnjzZUee8fUzePc3GqTYE5H67MJncJEZchBEYNGiQVv2C5BS5lQ5pGwKi5/oeBNKnMyldY7l3hMCMGTN067LqZHIrRf82BARTteh4TtFSblwjwFEijVrChv7gVpuqXQoBOesFIUe5Tq28IAg4Q+Bmk2OJ0CkEBEOnJp7IhSDgAwLpHEshIFoqt/sgU6IUBBIIpHMsQUD0G3UGO29JhIzhBQfq3c6giSEMoSaJHCPXLCUSBMS8Mtb9+N2HVo7z/7xynEWcazKqV7IknqwIdDG5ZgRIXkhybNZXQnywa9cuoz8r3XLBlDua20fVGfbDDz9UL7/8sjEnMMTkiOhLCJBrn/MyQUCYRi0JOG7cOKPYtLoUoKdBKIuAvE931jP685qOH/OI9TOgCP3H5FoFFTEIiOk73fDhzsjQNcugAGcxi4sXAiDgSHLu2LFjjUYdsL6+fjSS6F1lK154SWq8R6CjyblL6/qBkTd4L0NiFASyI2BxzrCACDYse1B5Igj4goDBOSGgL9hKpA4QEAI6AEmC+IfAJQKWlZX1hYw287T8kysxCwIGAr3JvXbo5pD6nzAiFATIvQ5ojWhNQH7nyuE4rlYFXQ2g2LmcvPpVNvSSw2NLAWMNlSitepAtXXHxJ/e0J+D7779vELBQ0EnARx55RG3btq3QqOR9jxAgAbk9u9Yr3edaSMgpFvyy7qWXXtJ6xSunaYlLOHKvHYqzsrgkKFc6+vbtK9OxcoEU4HNyj/2ARUNA1v/wrwsQYhGVA4EyFsFFQ8AcYMjjgBEg92gBtVpULmAMRFy4CHQvqjpguFiL9HQEjDqgFMHpsMh9UAhYRbDUAYNCXOSkI2DUAdM95V4QCAwBNkIaApMmggSBVAQa2AgRAqaCIncBIUDusR9QCBgQ4CImFQFyT4rgVEzkLlgEpAgOFm+RloyAUQTDQ4rgZFTkOkgEjDrg6SAliixBwELAqAPCDNZaHnE/c2Z1+hozmdIMTDJ5R87PWs5EV8WBcx27YfbqqiD1wl5jnqiHf5tauXKlo/VhGhqiXyvZsGGD2r9/vyfY+RUJuddBdwJySj43XUm3XCQUdM+JjRWGq2OtWbPG0epYn3/+ubH5Hzestt6nvCg46svd4RcvXqxOnDihtcrQdW8JP43D6uV1WmsK5dwS0CKM9V4+k1GZmXzfikt3jKgfdc4nrWGkDetF9zNMCFYO/QUKyLfBYeRC8co8geXy+rAjmk7reuAlFeU3ZggYnBMCxixXI5QcIWCEMiuOqv6fgKi47oxjCiVN+iJgcc4ogrHd+xdQtVVfdUWzmCHQanLu0gqpXKsXjPwqZomU5GiKALlGzlE9qxHC/qMtmuorasUMgWSuJbZpQBpJwAW6pXXKlCnK2uEIihvquekYtjqiv/nmG7Vnzx5ju4ZcaaQcFBFqzJgxxh4lvHe7qpbVgf3JJ5+o48ePO5LLsdvBgwerkSPz27CAevKgvC1btjgadsyFhU/PE8YuMZbF7ZMwhHMSAr0ZfPVI8+bm5sRwWCFRHjlyRM2dO9fYsCYXgfv162cMZc2ePbsQkca7n332mZo3b576/vvvc8a1YMECNW3aNDV06NCcYe0CcE+Up59+Wr366quK+Gnmzlx11VW9ampqWqhXgoC8wdDIJ8gcrTYsrKurU9hpm+oV7A4cOKBGjBihMPRoG9eECRPUO++8YxvGzUMS4dFHH7V9hTN1Nm3apMaOHWsbzulD7q/CsWzuNKWTg4X+FPiPs3RK1AHpAfJ9aj2I45kza6wi2S59Xu5PRzldu3a1E2c8o15ebsrDBT156ObSOZZCQLBzg24Ke6kPi14eQTsn9Uc/dAsjrbmwTedYCgFhGvchgu25IpHngkCeCGw3OZZ4PYWA9AVDX088lQtPEACmnsQT9UgycasNAdEQWY+Eno16YnXSP6yi0El9N0CczprcShHZhoCnTp06Aaa+lxJKbgpCwIkF9LoOWF1drX7++eeC9PbyZXKK3EqPsw0BGQBgSDGcjlTE7r/++mutCJiNUxkJOHz48M3Am7OkQ3dOrEfoSmqmQGNjo9q9e7dqbdVmfskvJqfaIJWRgDt27GhFxq9uEzoED/bks2dfnHMEjh49qvgxly6OXCKnMumTkYAMiE7MF3EKfRznpptuUitWrMiku/hlQQDDXAr1rSxPA/duNrmUUXBWAsKMHwNzV2V8K0BPVqSrqqoUpu8EKDW6olj0Pvfcc9qMAZND5FI2RLMSkC+gGb8Ep4ymM1uEfvizQs3BdXG5EeCfdedObSa4t5ocyqq4LQGxTdaPYHBl1rcDesChrI8++kht3y6DNHaQczWEyspKbRof5A45ZKezLQHNF5/HOfRWQG1treLcQJLQydiqXaLj+Gzjxo2qoqJCp64XcobcsXU5CYixuxrEUGUbS0APudTEvffeq+bPn6+82sQwINV9FfPWW2+pJ554QrHxoZGrMrljq1JOAvJtmNIKnOwn0dmK8e4hGyWrV69WDz/8sOJcwWJ3XAOGcw0PHjyoExQtJmdy6uRowhhnMJSWli5F0fdMzhgDCNDU1KTefvttY/9fLlzkpMOV46JOV73ivDxaWCwdUXBqunfv7thaM12U6ca6v/baa9r9EYH1UvTfcmZVTud4msbAgQO7wOL8G0Mq1+SMVQIULQKwfAfxScOvDx8+fMYJCI4JyMgwm+EOEPBdJxFLmOJEAASciBLT8WQWR3VAC0pGDAEbrXs5CwLJCJAbbsjHd11ZQL6AuuDVqAvuwWXuDx34grhiQaAJdb/rUPc75CbB7d0EZlhU0P+L71cv4DLxZZPbOCR8LBFYAOvHWVSunKsi2Ip58uTJS2Fut1r3ci5uBMgFciIfFFwXwZYQfGp4BaZJ7UKj5DLLT87FhwDIV4sScQS6kI7mk/q8LCAFmQJn4pLFsbjiRIB5PzNf8hEy13XAZJxhAQ/gI+5OsIJjkv3lujgQQKPjOdT7VhWS2rwtoCV04sSJFTDD26x7ORcHAsxz5n2hqc27DpgsGPXBAWZ9sF+yv1zHEwGQr86s9x0pNIUFW0AqgDrAEZjjibwsVCF5X3sE2N83kXnuhaaeEJCKYAD9K/wzpuLynBeKSRxaInCOecy89kq7ghoh6UqgGK5Bo+QgGiV34ZknxXu6DLkPDYGLsHx/QKPjn15q4CkBqRhGSr7FV1Dc7e+3XioqcYWLACzfH0G+v3uthecEpIKwhNtBwm64HO21whJf8AiAfEtBvj/7Idm3YhLFcAkmLqzE+UE/FJc4g0EA5FuFCQYP4ezLwoqeNULS4aDCpuJ5jRGmxyf3wSNAy+cn+Zgi3yxgMlyYyPoYLOFfg5KXLFuu80LgIsjHOh9Xx/DV+VIHTNeYdUK0jveDhJPwzDermy5X7vNC4JzZ2vW8wZFJm0AsoCUYlnACSMh1qGUyqwWKXucmWL6psHyBrWwUKAGJNVaqH4kZ1e+CiDJspxH5QLw6jnB42cnsJHmBF4dMIMcRkeBtThSUMP4jwLxgngRNPqYscAJSKMcRJ02aNBb/uMW4lfmEBCUcd4F5wLzwamzXbTICL4LTFUS9cDz81qJIlpnV6eD4eA+rV4voZ6K+97GPYnJGHYoFTNaKAJhF8tZkf7n2DwGQbysxD5t8TGHoBKQSMP9HUQzwK7uneEs/cb4gQGyfItbE3BcJLiMNvQhO15ffHaM4Xo6DfYbiPEIAVm8Tjnluv9v1SHzWaLQjoKUplwHBNYl4jeUnZ/cIgHRcNmseilvHy2W4l5L/G1oUwZnUJ2Bc5AattEV4XvgyVZmExNuvhdgRQ13JR/i1tYDJ3IA1HAJL+Cz8puMIZPgwWX7ErrkyaRUsXwWI52iJtDDTFwkCWgCBiOW4fhJknIVzR8tfzgYC3NulElfPg3g1UcEkUgS0QMVw3iAM580HETnXsNTyL9JzM4i3CsXtEoxk/Bg1DCJJQAtkrI7aH58AcKrXHPj1sfyL5PwLiLeam8DY7cOhOxbaNkKcAEfgUdw8gX3IrkD4u5Ah/GAmzg2Ws2Ya72KamfYok495HGkLyASkux49evRGxtxj1hNHpT+P6H01iFeJOvD6TFueRjRNhtqxI2ByZpit56nIvNtByFvwrEvyc42vz0DnL6HzpzhvwB9K+9ZsvljGmoDJoJSXl3fGwtm0iGORsTxG4lqXljRbsPywfwt02oIF4aux50dLsv5xvS4aAqZnYP/+/bvV19ePBhFvwLNhSUfv9LAe359AfHutA6Tb2bNnzy+wGWOjx3IiEV3REjBb7pSVlfVFy3oYiGkdl4EkZQhfBj+eu/PevOY9XQP8GuDHD/JP85p+vMd1LY69PNBi3Yu9So7zBXGXEPgf30hvKVSaI9kAAAAASUVORK5CYII=`,this._readyState=$n.Loading,this._state=z.NotFound,this._connecting=!1,this._address=null,this.config=e,this._wallet=new FD(e),LD()?(this._readyState=$n.Found,this._state=z.Disconnect):this._readyState=$n.NotFound}get address(){return this._address}get state(){return this._state}get connecting(){return this._connecting}get readyState(){return this._readyState}get ledgerUtils(){return{getAccounts:this._wallet.getAccounts,getAddress:this._wallet.getAddress}}connect(e){return ID(this,void 0,void 0,function*(){try{if(this.connected||this.connecting)return;if(this.state===z.NotFound)throw this.config.openUrlWhenWalletNotFound!==!1&&ar()&&window.open(this.url,`_blank`),new Bn;this._connecting=!0;try{yield this._wallet.connect(e)}catch(e){throw new Hn(`${e.message}.`)}this._address=this._wallet.address,this._state=z.Connected,this.emit(`connect`,this.address||``),this.emit(`stateChanged`,this._state)}catch(e){throw this.emit(`error`,e),e}finally{this._connecting=!1}})}disconnect(){return ID(this,void 0,void 0,function*(){if(this.state===z.Connected)try{this._wallet.disconnect(),this._state=z.Disconnect,this._address=null,this.emit(`disconnect`),this.emit(`stateChanged`,this._state)}catch(e){throw this.emit(`error`,e),new Un(e.message)}})}_checkAndSign(e,t,n){return ID(this,void 0,void 0,function*(){try{if(this.state!==z.Connected)throw new Vn;n&&n();try{return yield e()}catch(e){throw new t(e?.message,e)}}catch(e){throw this.emit(`error`,e),e}})}signTransaction(e){return ID(this,arguments,void 0,function*(e,t={}){let{fallbackToHashSign:n=!0}=t;return this._checkAndSign(()=>ID(this,void 0,void 0,function*(){try{return yield this._wallet.signTransaction(e)}catch(t){if(n&&/Too many bytes to encode/.test(t?.message))return yield this._wallet.signTransactionHash(e);throw t}}),Gn,()=>{if(!$C(e))throw new Gn(`Invalid transaction`)})})}signTransactionHash(e){return ID(this,void 0,void 0,function*(){return this._checkAndSign(()=>this._wallet.signTransactionHash(e),Gn,()=>{if(!$C(e))throw new Gn(`Invalid transaction`)})})}signMessage(e,t){return ID(this,void 0,void 0,function*(){return this._checkAndSign(()=>ID(this,void 0,void 0,function*(){let n=yield this._wallet.signPersonalMessage(e),{convertSuffix:r=!0}=t??{};return r?n.replace(/(00|01)$/,e=>e===`00`?`1b`:`1c`):n}),Wn)})}},BD=class e{constructor(){}static getInstance({projectId:t,chainId:n,enableLogger:r,onTimeout:i,abortController:a,getActiveCaipNetwork:o,getCaipNetworks:s}){return e.instance||=new Ze({projectId:t,chainId:n,enableLogger:r,onTimeout:i,abortController:a,getActiveCaipNetwork:o,getCaipNetworks:s,enableCloudAuthAccount:!!A.state.remoteFeatures?.emailCapture}),e.instance}},VD={hexStringToNumber(e){let t=e.startsWith(`0x`)?e.slice(2):e;return parseInt(t,16)},numberToHexString(e){return`0x${e.toString(16)}`},async getUserInfo(e){let[t,n]=await Promise.all([VD.getAddresses(e),VD.getChainId(e)]);return{chainId:n,addresses:t}},async getChainId(e){let t=await e.request({method:`eth_chainId`});return Number(t)},async getAddress(e){let[t]=await e.request({method:`eth_accounts`});return t},async getAddresses(e){return await e.request({method:`eth_accounts`})},async addEthereumChain(e,t){let n=t.rpcUrls.chainDefault?.http||[];await e.request({method:`wallet_addEthereumChain`,params:[{chainId:VD.numberToHexString(t.id),rpcUrls:[...n],chainName:t.name,nativeCurrency:{name:t.nativeCurrency.name,decimals:t.nativeCurrency.decimals,symbol:t.nativeCurrency.symbol},blockExplorerUrls:[t.blockExplorers?.default.url],iconUrls:[N.NetworkImageIds[t.id]]}]})}},HD={ACCOUNT_INDEXES:{PAYMENT:0,ORDINAL:1}};function UD(e){return{formatters:void 0,fees:void 0,serializers:void 0,...e}}var WD=UD({id:`5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp`,name:`Solana`,network:`solana-mainnet`,nativeCurrency:{name:`Solana`,symbol:`SOL`,decimals:9},rpcUrls:{default:{http:[`https://rpc.walletconnect.org/v1`]}},blockExplorers:{default:{name:`Solscan`,url:`https://solscan.io`}},testnet:!1,chainNamespace:`solana`,caipNetworkId:`solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp`,deprecatedCaipNetworkId:`solana:4sGjMW1sUnHzSxGspuhpqLDx6wiyjNtZ`}),GD=UD({id:`EtWTRABZaYq6iMfeYKouRu166VU2xqa1`,name:`Solana Devnet`,network:`solana-devnet`,nativeCurrency:{name:`Solana`,symbol:`SOL`,decimals:9},rpcUrls:{default:{http:[`https://rpc.walletconnect.org/v1`]}},blockExplorers:{default:{name:`Solscan`,url:`https://solscan.io`}},testnet:!0,chainNamespace:`solana`,caipNetworkId:`solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1`,deprecatedCaipNetworkId:`solana:8E9rvCKLFQia2Y35HXjjpWzj8weVo44K`});UD({id:`4uhcVJyU9pJkvQyS88uRDiswHXSCkY3z`,name:`Solana Testnet`,network:`solana-testnet`,nativeCurrency:{name:`Solana`,symbol:`SOL`,decimals:9},rpcUrls:{default:{http:[`https://rpc.walletconnect.org/v1`]}},blockExplorers:{default:{name:`Solscan`,url:`https://solscan.io`}},testnet:!0,chainNamespace:`solana`,caipNetworkId:`solana:4uhcVJyU9pJkvQyS88uRDiswHXSCkY3z`}),UD({id:`000000000019d6689c085ae165831e93`,caipNetworkId:`bip122:000000000019d6689c085ae165831e93`,chainNamespace:`bip122`,name:`Bitcoin`,nativeCurrency:{name:`Bitcoin`,symbol:`BTC`,decimals:8},rpcUrls:{default:{http:[`https://rpc.walletconnect.org/v1`]}}}),UD({id:`000000000933ea01ad0ee984209779ba`,caipNetworkId:`bip122:000000000933ea01ad0ee984209779ba`,chainNamespace:`bip122`,name:`Bitcoin Testnet`,nativeCurrency:{name:`Bitcoin`,symbol:`BTC`,decimals:8},rpcUrls:{default:{http:[`https://rpc.walletconnect.org/v1`]}},testnet:!0});var KD={solana:[`solana_signMessage`,`solana_signTransaction`,`solana_requestAccounts`,`solana_getAccounts`,`solana_signAllTransactions`,`solana_signAndSendTransaction`],eip155:[`eth_accounts`,`eth_requestAccounts`,`eth_sendRawTransaction`,`eth_sign`,`eth_signTransaction`,`eth_signTypedData`,`eth_signTypedData_v3`,`eth_signTypedData_v4`,`eth_sendTransaction`,`personal_sign`,`wallet_switchEthereumChain`,`wallet_addEthereumChain`,`wallet_getPermissions`,`wallet_requestPermissions`,`wallet_registerOnboarding`,`wallet_watchAsset`,`wallet_scanQRCode`,`wallet_getCallsStatus`,`wallet_showCallsStatus`,`wallet_sendCalls`,`wallet_getCapabilities`,`wallet_grantPermissions`,`wallet_revokePermissions`,`wallet_getAssets`],bip122:[`sendTransfer`,`signMessage`,`signPsbt`,`getAccountAddresses`]},qD={getMethodsByChainNamespace(e){return KD[e]||[]},createDefaultNamespace(e){return{methods:this.getMethodsByChainNamespace(e),events:[`accountsChanged`,`chainChanged`],chains:[],rpcMap:{}}},applyNamespaceOverrides(e,t){if(!t)return{...e};let n={...e},r=new Set;if(t.methods&&Object.keys(t.methods).forEach(e=>r.add(e)),t.chains&&Object.keys(t.chains).forEach(e=>r.add(e)),t.events&&Object.keys(t.events).forEach(e=>r.add(e)),t.rpcMap&&Object.keys(t.rpcMap).forEach(e=>{let[t]=e.split(`:`);t&&r.add(t)}),r.forEach(e=>{n[e]||(n[e]=this.createDefaultNamespace(e))}),t.methods&&Object.entries(t.methods).forEach(([e,t])=>{n[e]&&(n[e].methods=t)}),t.chains&&Object.entries(t.chains).forEach(([e,t])=>{n[e]&&(n[e].chains=t)}),t.events&&Object.entries(t.events).forEach(([e,t])=>{n[e]&&(n[e].events=t)}),t.rpcMap){let e=new Set;Object.entries(t.rpcMap).forEach(([t,r])=>{let[i,a]=t.split(`:`);!i||!a||!n[i]||(n[i].rpcMap||(n[i].rpcMap={}),e.has(i)||(n[i].rpcMap={},e.add(i)),n[i].rpcMap[a]=r)})}return n},createNamespaces(e,t){let n=e.reduce((e,t)=>{let{id:n,chainNamespace:r,rpcUrls:i}=t,a=i.default.http[0];e[r]||(e[r]=this.createDefaultNamespace(r));let o=`${r}:${n}`,s=e[r];switch(s.chains.push(o),o){case WD.caipNetworkId:s.chains.push(WD.deprecatedCaipNetworkId);break;case GD.caipNetworkId:s.chains.push(GD.deprecatedCaipNetworkId);break;default:}return s?.rpcMap&&a&&(s.rpcMap[n]=a),e},{});return this.applyNamespaceOverrides(n,t)},resolveReownName:async e=>{let t=await M.resolveName(e);return(Object.values(t?.addresses)||[])[0]?.address||!1},getChainsFromNamespaces(e={}){return Object.values(e).flatMap(e=>{let t=e.chains||[],n=e.accounts.map(e=>{let[t,n]=e.split(`:`);return`${t}:${n}`});return Array.from(new Set([...t,...n]))})},isSessionEventData(e){return typeof e==`object`&&!!e&&`id`in e&&`topic`in e&&`params`in e&&typeof e.params==`object`&&e.params!==null&&`chainId`in e.params&&`event`in e.params&&typeof e.params.event==`object`&&e.params.event!==null},isOriginAllowed(e,t,n){for(let r of[...t,...n])if(r.includes(`*`)){let t=`^${r.replace(/[.*+?^${}()|[\]\\]/gu,`\\$&`).replace(/\\\*/gu,`.*`)}$`;if(new RegExp(t,`u`).test(e))return!0}else try{if(new URL(r).origin===e)return!0}catch{if(r===e)return!0}return!1},listenWcProvider({universalProvider:e,namespace:t,onConnect:n,onDisconnect:r,onAccountsChanged:i,onChainChanged:a,onDisplayUri:o}){n&&e.on(`connect`,()=>{n(qD.getWalletConnectAccounts(e,t))}),r&&e.on(`disconnect`,()=>{r()}),i&&e.on(`accountsChanged`,n=>{try{let r=e.session?.namespaces?.[t]?.accounts||[],a=e.rpcProviders?.[t]?.getDefaultChain(),o=n.map(e=>{let n=r.find(n=>n.includes(`${t}:${a}:${e}`));if(!n)return;let{chainId:i,chainNamespace:o}=E.parseCaipAddress(n);return{address:e,chainId:i,chainNamespace:o}}).filter(e=>e!==void 0);o.length>0&&i(o)}catch{}}),a&&e.on(`chainChanged`,e=>{a(e)}),o&&e.on(`display_uri`,e=>{o(e)})},getWalletConnectAccounts(e,t){let n=new Set,r=e?.session?.namespaces?.[t]?.accounts?.map(e=>E.parseCaipAddress(e)).filter(({address:e})=>n.has(e.toLowerCase())?!1:(n.add(e.toLowerCase()),!0));return r&&r.length>0?r:[]}},JD=class{constructor(e){this.namespace=e.namespace}async syncConnections(e){switch(this.namespace){case O.CHAIN.EVM:await this.syncEVMConnections(e);break;case O.CHAIN.SOLANA:await this.syncSolanaConnections(e);break;case O.CHAIN.BITCOIN:await this.syncBitcoinConnections(e);break;default:throw Error(`Unsupported chain namespace: ${this.namespace}`)}}async syncEVMConnections({connectors:e,caipNetworks:t,universalProvider:n,getConnectionStatusInfo:r,onConnection:i,onListenProvider:a}){await Promise.all(e.filter(e=>{let{hasDisconnected:t,hasConnected:n}=r(e.id);return!t&&n}).map(async e=>{if(e.id===O.CONNECTOR_ID.WALLET_CONNECT){let r=qD.getWalletConnectAccounts(n,this.namespace),a=t.find(e=>e.chainNamespace===this.namespace&&e.id.toString()===r[0]?.chainId?.toString());r.length>0&&i({connectorId:e.id,accounts:r.map(e=>({address:e.address})),caipNetwork:a})}else{let{accounts:n,chainId:r}=await Je.fetchProviderData(e);if(n.length>0&&r){let o=t.find(e=>e.chainNamespace===this.namespace&&e.id.toString()===r.toString());i({connectorId:e.id,accounts:n.map(e=>({address:e})),caipNetwork:o}),e.provider&&e.id!==O.CONNECTOR_ID.AUTH&&e.id!==O.CONNECTOR_ID.WALLET_CONNECT&&a(e.id,e.provider)}}}))}async syncSolanaConnections({connectors:e,caipNetwork:t,universalProvider:n,getConnectionStatusInfo:r,onConnection:i,onListenProvider:a}){await Promise.all(e.filter(e=>{let{hasDisconnected:t,hasConnected:n}=r(e.id);return!t&&n}).map(async e=>{if(e.id===O.CONNECTOR_ID.WALLET_CONNECT){let r=qD.getWalletConnectAccounts(n,this.namespace);r.length>0&&i({connectorId:e.id,accounts:r.map(e=>({address:e.address})),caipNetwork:t})}else{let n=await e.connect({chainId:t?.id});n&&(i({connectorId:e.id,accounts:[{address:n}],caipNetwork:t}),a(e.id,e.provider))}}))}async syncBitcoinConnections({connectors:e,caipNetwork:t,universalProvider:n,getConnectionStatusInfo:r,onConnection:i,onListenProvider:a}){await Promise.all(e.filter(e=>{let{hasDisconnected:t,hasConnected:n}=r(e.id);return!t&&n}).map(async e=>{if(e.id===O.CONNECTOR_ID.WALLET_CONNECT){let r=qD.getWalletConnectAccounts(n,this.namespace);r.length>0&&i({connectorId:e.id,accounts:r.map(e=>({address:e.address})),caipNetwork:t});return}let r=await e.connect(),o=(await e.getAccountAddresses())?.map(e=>xe.createAccount(O.CHAIN.BITCOIN,e.address,e.purpose||`payment`,e.publicKey,e.path));if(o&&o.length>1&&(o=[{namespace:O.CHAIN.BITCOIN,publicKey:o[HD.ACCOUNT_INDEXES.PAYMENT]?.publicKey??``,path:o[HD.ACCOUNT_INDEXES.PAYMENT]?.path??``,address:o[HD.ACCOUNT_INDEXES.PAYMENT]?.address??``,type:`payment`},{namespace:O.CHAIN.BITCOIN,publicKey:o[HD.ACCOUNT_INDEXES.ORDINAL]?.publicKey??``,path:o[HD.ACCOUNT_INDEXES.ORDINAL]?.path??``,address:o[HD.ACCOUNT_INDEXES.ORDINAL]?.address??``,type:`ordinal`}]),!(e.chains.find(e=>e.id===t?.id)||e.chains[0]))throw Error(`The connector does not support any of the requested chains`);r&&(a(e.id,e.provider),i({connectorId:e.id,accounts:o.map(e=>({address:e.address,type:e.type})),caipNetwork:t}))}))}getConnection({address:e,connectorId:t,connections:n,connectors:r}){if(t){let i=n.find(e=>Ge.isLowerCaseMatch(e.connectorId,t));if(!i)return null;let a=r.find(e=>Ge.isLowerCaseMatch(e.id,i.connectorId)),o=e?i.accounts.find(t=>Ge.isLowerCaseMatch(t.address,e)):i.accounts[0];return{...i,account:o,connector:a}}let i=n.find(e=>e.accounts.length>0&&r.some(t=>Ge.isLowerCaseMatch(t.id,e.connectorId)));if(i){let[e]=i.accounts,t=r.find(e=>Ge.isLowerCaseMatch(e.id,i.connectorId));return{...i,account:e,connector:t}}return null}},YD={ERROR_CODE_UNRECOGNIZED_CHAIN_ID:4902,ERROR_CODE_DEFAULT:5e3,ERROR_INVALID_CHAIN_ID:32603,DEFAULT_ALLOWED_ANCESTORS:[`http://localhost:*`,`https://localhost:*`,`http://127.0.0.1:*`,`https://127.0.0.1:*`,`https://*.pages.dev`,`https://*.vercel.app`,`https://*.ngrok-free.app`,`https://secure-mobile.walletconnect.com`,`https://secure-mobile.walletconnect.org`]},XD=class{constructor({provider:e,namespace:t}){this.id=O.CONNECTOR_ID.WALLET_CONNECT,this.name=N.ConnectorNamesMap[O.CONNECTOR_ID.WALLET_CONNECT],this.type=`WALLET_CONNECT`,this.imageId=N.ConnectorImageIds[O.CONNECTOR_ID.WALLET_CONNECT],this.getCaipNetworks=k.getCaipNetworks.bind(k),this.caipNetworks=this.getCaipNetworks(),this.provider=e,this.chain=t}get chains(){return this.getCaipNetworks()}async connectWalletConnect(){if(!await this.authenticate()){let e=this.getCaipNetworks(),t=A.state.universalProviderConfigOverride,n=qD.createNamespaces(e,t);await this.provider.connect({optionalNamespaces:n})}return{clientId:await this.provider.client.core.crypto.getClientId(),session:this.provider.session}}async disconnect(){await this.provider.disconnect()}async authenticate(){let e=this.chains.map(e=>e.caipNetworkId);return Ue.universalProviderAuthenticate({universalProvider:this.provider,chains:e,methods:ZD})}},ZD=[`eth_accounts`,`eth_requestAccounts`,`eth_sendRawTransaction`,`eth_sign`,`eth_signTransaction`,`eth_signTypedData`,`eth_signTypedData_v3`,`eth_signTypedData_v4`,`eth_sendTransaction`,`personal_sign`,`wallet_switchEthereumChain`,`wallet_addEthereumChain`,`wallet_getPermissions`,`wallet_requestPermissions`,`wallet_registerOnboarding`,`wallet_watchAsset`,`wallet_scanQRCode`,`wallet_getCallsStatus`,`wallet_sendCalls`,`wallet_getCapabilities`,`wallet_grantPermissions`,`wallet_revokePermissions`,`wallet_getAssets`],QD=[O.CONNECTOR_ID.AUTH,O.CONNECTOR_ID.WALLET_CONNECT],$D=class{constructor(e){this.availableConnectors=[],this.availableConnections=[],this.providerHandlers={},this.eventListeners=new Map,this.getCaipNetworks=e=>k.getCaipNetworks(e),this.getConnectorId=e=>Me.getConnectorId(e),e&&this.construct(e),e?.namespace&&(this.connectionManager=new JD({namespace:e.namespace}))}construct(e){this.projectId=e.projectId,this.namespace=e.namespace,this.adapterType=e.adapterType}get connectors(){return this.availableConnectors}get connections(){return this.availableConnections}get networks(){return this.getCaipNetworks(this.namespace)}onAuthConnected({accounts:e,chainId:t}){let n=this.getCaipNetworks().filter(e=>e.chainNamespace===this.namespace).find(e=>e.id.toString()===t?.toString());e&&n&&this.addConnection({connectorId:O.CONNECTOR_ID.AUTH,accounts:e,caipNetwork:n})}setAuthProvider(e){e.onConnect(this.onAuthConnected.bind(this)),e.onSocialConnected(this.onAuthConnected.bind(this)),this.addConnector({id:O.CONNECTOR_ID.AUTH,type:`AUTH`,name:O.CONNECTOR_NAMES.AUTH,provider:e,imageId:N.ConnectorImageIds[O.CONNECTOR_ID.AUTH],chain:this.namespace,chains:[]})}addConnector(...e){let t=new Set;this.availableConnectors=[...e,...this.availableConnectors].filter(e=>t.has(e.id)?!1:(t.add(e.id),!0)),this.emit(`connectors`,this.availableConnectors)}addConnection(...e){let t=new Set;this.availableConnections=[...e,...this.availableConnections].filter(e=>t.has(e.connectorId.toLowerCase())?!1:(t.add(e.connectorId.toLowerCase()),!0)),this.emit(`connections`,this.availableConnections)}deleteConnection(e){this.availableConnections=this.availableConnections.filter(t=>!Ge.isLowerCaseMatch(t.connectorId,e)),this.emit(`connections`,this.availableConnections)}clearConnections(e=!1){this.availableConnections=[],e&&this.emit(`connections`,this.availableConnections)}setStatus(e,t){Ie.setStatus(e,t)}on(e,t){this.eventListeners.has(e)||this.eventListeners.set(e,new Set),this.eventListeners.get(e)?.add(t)}off(e,t){let n=this.eventListeners.get(e);n&&n.delete(t)}removeAllEventListeners(){this.eventListeners.forEach(e=>{e.clear()})}emit(e,t){let n=this.eventListeners.get(e);n&&n.forEach(e=>e(t))}async connectWalletConnect(e){return{clientId:(await this.getWalletConnectConnector().connectWalletConnect()).clientId}}async switchNetwork(e){let{caipNetwork:t,providerType:n}=e;if(!e.provider)return;let r=`provider`in e.provider?e.provider.provider:e.provider;if(n===`WALLET_CONNECT`){r.setDefaultChain(t.caipNetworkId);return}if(r&&n===`AUTH`){let e=r,n=Ne(t.chainNamespace);await e.switchNetwork({chainId:t.caipNetworkId});let i=await e.getUser({chainId:t.caipNetworkId,preferredAccountType:n});this.emit(`switchNetwork`,i)}}getWalletConnectConnector(){let e=this.connectors.find(e=>e instanceof XD);if(!e)throw Error(`WalletConnectConnector not found`);return e}onConnect(e,t){if(e.length>0){let{address:n,chainId:r}=xe.getAccount(e[0]),i=this.getCaipNetworks().filter(e=>e.chainNamespace===this.namespace).find(e=>e.id.toString()===r?.toString()),a=this.connectors.find(e=>e.id===t);n&&(this.emit(`accountChanged`,{address:n,chainId:r,connector:a}),this.addConnection({connectorId:t,accounts:e.map(e=>{let{address:t}=xe.getAccount(e);return{address:t}}),caipNetwork:i}))}}onAccountsChanged(e,t,n=!0){if(e.length>0){let{address:n}=xe.getAccount(e[0]),r=this.connectionManager?.getConnection({connectorId:t,connections:this.connections,connectors:this.connectors});n&&Ge.isLowerCaseMatch(this.getConnectorId(O.CHAIN.EVM),t)&&this.emit(`accountChanged`,{address:n,chainId:r?.caipNetwork?.id,connector:r?.connector}),this.addConnection({connectorId:t,accounts:e.map(e=>{let{address:t}=xe.getAccount(e);return{address:t}}),caipNetwork:r?.caipNetwork})}else n&&this.onDisconnect(t)}onDisconnect(e){this.removeProviderListeners(e),this.deleteConnection(e),Ge.isLowerCaseMatch(this.getConnectorId(O.CHAIN.EVM),e)&&this.emitFirstAvailableConnection(),this.connections.length===0&&this.emit(`disconnect`)}onChainChanged(e,t){let n=typeof e==`string`&&e.startsWith(`0x`)?VD.hexStringToNumber(e).toString():e.toString(),r=this.connectionManager?.getConnection({connectorId:t,connections:this.connections,connectors:this.connectors}),i=this.getCaipNetworks().filter(e=>e.chainNamespace===this.namespace).find(e=>e.id.toString()===n);r&&this.addConnection({connectorId:t,accounts:r.accounts,caipNetwork:i}),Ge.isLowerCaseMatch(this.getConnectorId(O.CHAIN.EVM),t)&&this.emit(`switchNetwork`,{chainId:n})}listenProviderEvents(e,t){if(QD.includes(e))return;let n=t=>this.onAccountsChanged(t,e),r=t=>this.onChainChanged(t,e),i=()=>this.onDisconnect(e);this.providerHandlers[e]||(t.on(`disconnect`,i),t.on(`accountsChanged`,n),t.on(`chainChanged`,r),this.providerHandlers[e]={provider:t,disconnect:i,accountsChanged:n,chainChanged:r})}removeProviderListeners(e){if(this.providerHandlers[e]){let{provider:t,disconnect:n,accountsChanged:r,chainChanged:i}=this.providerHandlers[e];t.removeListener(`disconnect`,n),t.removeListener(`accountsChanged`,r),t.removeListener(`chainChanged`,i),this.providerHandlers[e]=null}}emitFirstAvailableConnection(){let e=this.connectionManager?.getConnection({connections:this.connections,connectors:this.connectors});if(e){let[t]=e.accounts;this.emit(`accountChanged`,{address:t?.address,chainId:e.caipNetwork?.id,connector:e.connector})}}},eO=class extends $D{async setUniversalProvider(e){if(!this.namespace)throw Error(`UniversalAdapter:setUniversalProvider - namespace is required`);return this.addConnector(new XD({provider:e,caipNetworks:this.getCaipNetworks(),namespace:this.namespace})),Promise.resolve()}async connect(e){return Promise.resolve({id:`WALLET_CONNECT`,type:`WALLET_CONNECT`,chainId:Number(e.chainId),provider:this.provider,address:``})}async disconnect(){try{await this.getWalletConnectConnector().disconnect(),this.emit(`disconnect`)}catch{}return{connections:[]}}syncConnections(){return Promise.resolve()}async getAccounts({namespace:e}){let t=this.provider?.session?.namespaces?.[e]?.accounts?.map(e=>{let[,,t]=e.split(`:`);return t}).filter((e,t,n)=>n.indexOf(e)===t)||[];return Promise.resolve({accounts:t.map(t=>xe.createAccount(e,t,e===`bip122`?`payment`:`eoa`))})}async syncConnectors(){return Promise.resolve()}async getBalance(e){if(!(e.caipNetwork&&T.BALANCE_SUPPORTED_CHAINS.includes(e.caipNetwork?.chainNamespace))||e.caipNetwork?.testnet)return{balance:`0.00`,symbol:e.caipNetwork?.nativeCurrency.symbol||``};if(Ie.state.balanceLoading&&e.chainId===k.state.activeCaipNetwork?.id)return{balance:Ie.state.balance||`0.00`,symbol:Ie.state.balanceSymbol||``};let t=(await Ie.fetchTokenBalance()).find(t=>t.chainId===`${e.caipNetwork?.chainNamespace}:${e.chainId}`&&t.symbol===e.caipNetwork?.nativeCurrency.symbol);return{balance:t?.quantity.numeric||`0.00`,symbol:t?.symbol||e.caipNetwork?.nativeCurrency.symbol||``}}async signMessage(e){let{provider:t,message:n,address:r}=e;if(!t)throw Error(`UniversalAdapter:signMessage - provider is undefined`);let i=``;return i=k.state.activeCaipNetwork?.chainNamespace===O.CHAIN.SOLANA?(await t.request({method:`solana_signMessage`,params:{message:S.encode(new TextEncoder().encode(n)),pubkey:r}},k.state.activeCaipNetwork?.caipNetworkId)).signature:await t.request({method:`personal_sign`,params:[n,r]},k.state.activeCaipNetwork?.caipNetworkId),{signature:i}}async estimateGas(){return Promise.resolve({gas:BigInt(0)})}async sendTransaction(){return Promise.resolve({hash:``})}walletGetAssets(e){return Promise.resolve({})}async writeContract(){return Promise.resolve({hash:``})}emitFirstAvailableConnection(){}parseUnits(){return 0n}formatUnits(){return`0`}async getCapabilities(){return Promise.resolve({})}async grantPermissions(){return Promise.resolve({})}async revokePermissions(){return Promise.resolve(`0x`)}async syncConnection(){return Promise.resolve({id:`WALLET_CONNECT`,type:`WALLET_CONNECT`,chainId:1,provider:this.provider,address:``})}async switchNetwork(e){let{caipNetwork:t}=e,n=this.getWalletConnectConnector();if(t.chainNamespace===O.CHAIN.EVM)try{await n.provider?.request({method:`wallet_switchEthereumChain`,params:[{chainId:v(t.id)}]})}catch(e){if(e.code===YD.ERROR_CODE_UNRECOGNIZED_CHAIN_ID||e.code===YD.ERROR_INVALID_CHAIN_ID||e.code===YD.ERROR_CODE_DEFAULT||e?.data?.originalError?.code===YD.ERROR_CODE_UNRECOGNIZED_CHAIN_ID)try{await n.provider?.request({method:`wallet_addEthereumChain`,params:[{chainId:v(t.id),rpcUrls:[t?.rpcUrls.chainDefault?.http],chainName:t.name,nativeCurrency:t.nativeCurrency,blockExplorerUrls:[t.blockExplorers?.default.url]}]})}catch{throw Error(`Chain is not supported`)}}n.provider.setDefaultChain(t.caipNetworkId)}getWalletConnectProvider(){return this.connectors.find(e=>e.type===`WALLET_CONNECT`)?.provider}},tO=[`email`,`socials`,`swaps`,`onramp`,`activity`,`reownBranding`,`multiWallet`,`emailCapture`,`payWithExchange`,`payments`,`reownAuthentication`],nO={email:{apiFeatureName:`social_login`,localFeatureName:`email`,returnType:!1,isLegacy:!1,isAvailableOnBasic:!1,processApi:e=>{if(!e?.config)return!1;let t=e.config;return!!e.isEnabled&&t.includes(`email`)},processFallback:e=>e===void 0?T.DEFAULT_REMOTE_FEATURES.email:!!e},socials:{apiFeatureName:`social_login`,localFeatureName:`socials`,returnType:!1,isLegacy:!1,isAvailableOnBasic:!1,processApi:e=>{if(!e?.config)return!1;let t=e.config;return e.isEnabled&&t.length>0?t.filter(e=>e!==`email`):!1},processFallback:e=>e===void 0?T.DEFAULT_REMOTE_FEATURES.socials:typeof e==`boolean`?e?T.DEFAULT_REMOTE_FEATURES.socials:!1:e},swaps:{apiFeatureName:`swap`,localFeatureName:`swaps`,returnType:!1,isLegacy:!1,isAvailableOnBasic:!1,processApi:e=>{if(!e?.config)return!1;let t=e.config;return e.isEnabled&&t.length>0?t:!1},processFallback:e=>e===void 0?T.DEFAULT_REMOTE_FEATURES.swaps:typeof e==`boolean`?e?T.DEFAULT_REMOTE_FEATURES.swaps:!1:e},onramp:{apiFeatureName:`onramp`,localFeatureName:`onramp`,returnType:!1,isLegacy:!1,isAvailableOnBasic:!1,processApi:e=>{if(!e?.config)return!1;let t=e.config;return e.isEnabled&&t.length>0?t:!1},processFallback:e=>e===void 0?T.DEFAULT_REMOTE_FEATURES.onramp:typeof e==`boolean`?e?T.DEFAULT_REMOTE_FEATURES.onramp:!1:e},activity:{apiFeatureName:`activity`,localFeatureName:`history`,returnType:!1,isLegacy:!0,isAvailableOnBasic:!1,processApi:e=>!!e.isEnabled,processFallback:e=>e===void 0?T.DEFAULT_REMOTE_FEATURES.activity:!!e},reownBranding:{apiFeatureName:`reown_branding`,localFeatureName:`reownBranding`,returnType:!1,isLegacy:!1,isAvailableOnBasic:!1,processApi:e=>!!e.isEnabled,processFallback:e=>e===void 0?T.DEFAULT_REMOTE_FEATURES.reownBranding:!!e},emailCapture:{apiFeatureName:`email_capture`,localFeatureName:`emailCapture`,returnType:!1,isLegacy:!1,isAvailableOnBasic:!1,processApi:e=>e.isEnabled&&(e.config??[]),processFallback:e=>!1},multiWallet:{apiFeatureName:`multi_wallet`,localFeatureName:`multiWallet`,returnType:!1,isLegacy:!1,isAvailableOnBasic:!1,processApi:e=>!!e.isEnabled,processFallback:()=>T.DEFAULT_REMOTE_FEATURES.multiWallet},payWithExchange:{apiFeatureName:`fund_from_exchange`,localFeatureName:`payWithExchange`,returnType:!1,isLegacy:!1,isAvailableOnBasic:!1,processApi:e=>!!e.isEnabled,processFallback:()=>T.DEFAULT_REMOTE_FEATURES.payWithExchange},payments:{apiFeatureName:`payments`,localFeatureName:`payments`,returnType:!1,isLegacy:!1,isAvailableOnBasic:!1,processApi:e=>!!e.isEnabled,processFallback:()=>T.DEFAULT_REMOTE_FEATURES.payments},reownAuthentication:{apiFeatureName:`reown_authentication`,localFeatureName:`reownAuthentication`,returnType:!1,isLegacy:!1,isAvailableOnBasic:!1,processApi:e=>!!e.isEnabled,processFallback:e=>e===void 0?T.DEFAULT_REMOTE_FEATURES.reownAuthentication:!!e}},rO={localSettingsOverridden:new Set,getApiConfig(e,t){return t?.find(t=>t.id===e)},addWarning(e,t){if(e!==void 0){let e=nO[t],n=e.isLegacy?`"features.${e.localFeatureName}" (now "${t}")`:`"features.${t}"`;this.localSettingsOverridden.add(n)}},processFeature(e,t,n,r,i){let a=nO[e],o=t[a.localFeatureName];if(i&&!a.isAvailableOnBasic)return!1;if(r){let t=this.getApiConfig(a.apiFeatureName,n);return t?.config===null?this.processFallbackFeature(e,o):t?.config?(o!==void 0&&this.addWarning(o,e),this.processApiFeature(e,t)):!1}return this.processFallbackFeature(e,o)},processApiFeature(e,t){return nO[e].processApi(t)},processFallbackFeature(e,t){return nO[e].processFallback(t)},async fetchRemoteFeatures(e){let t=e.basic??!1,n=e.features||{};this.localSettingsOverridden.clear();let r=null,i=!1;try{r=await Ee.fetchProjectConfig(),i=r!=null}catch{}let a=i&&!t?T.DEFAULT_REMOTE_FEATURES:T.DEFAULT_REMOTE_FEATURES_DISABLED;try{for(let e of tO){let o=this.processFeature(e,n,r,i,t);Object.assign(a,{[e]:o})}}catch{return T.DEFAULT_REMOTE_FEATURES}if(i&&this.localSettingsOverridden.size>0){let e=`Your local configuration for ${Array.from(this.localSettingsOverridden).join(`, `)} was ignored because a remote configuration was successfully fetched. Please manage these features via your project dashboard on dashboard.reown.com.`;Se.open({debugMessage:Ye.ALERT_WARNINGS.LOCAL_CONFIGURATION_IGNORED.debugMessage(e)},`warning`)}return a}},iO=class{constructor(e){this.chainNamespaces=[],this.remoteFeatures={},this.reportedAlertErrors={},this.getCaipNetwork=(e,t)=>e?k.getCaipNetworks(e)?.find(e=>e.id===t)||k.getNetworkData(e)?.caipNetwork||k.getRequestedCaipNetworks(e).filter(t=>t.chainNamespace===e)?.[0]:k.state.activeCaipNetwork||this.defaultCaipNetwork,this.getCaipNetworkId=()=>{let e=this.getCaipNetwork();if(e)return e.id},this.getCaipNetworks=e=>k.getCaipNetworks(e),this.getActiveChainNamespace=()=>k.state.activeChain,this.setRequestedCaipNetworks=(e,t)=>{k.setRequestedCaipNetworks(e,t)},this.getApprovedCaipNetworkIds=()=>k.getAllApprovedCaipNetworkIds(),this.getCaipAddress=e=>k.state.activeChain===e||!e?k.state.activeCaipAddress:k.state.chains.get(e)?.accountState?.caipAddress,this.setClientId=e=>{Pe.setClientId(e)},this.getProvider=e=>Xe.getProvider(e),this.getProviderType=e=>Xe.getProviderId(e),this.getPreferredAccountType=e=>Ne(e),this.setCaipAddress=(e,t)=>{Ie.setCaipAddress(e,t)},this.setBalance=(e,t,n)=>{Ie.setBalance(e,t,n)},this.setProfileName=(e,t)=>{Ie.setProfileName(e,t)},this.setProfileImage=(e,t)=>{Ie.setProfileImage(e,t)},this.setUser=(e,t)=>{Ie.setUser(e,t)},this.resetAccount=e=>{Ie.resetAccount(e)},this.setCaipNetwork=e=>{k.setActiveCaipNetwork(e)},this.setCaipNetworkOfNamespace=(e,t)=>{k.setChainNetworkData(t,{caipNetwork:e})},this.setStatus=(e,t)=>{Ie.setStatus(e,t),Me.isConnected()?D.setConnectionStatus(`connected`):D.setConnectionStatus(`disconnected`)},this.getAddressByChainNamespace=e=>k.state.chains.get(e)?.accountState?.address,this.setConnectors=e=>{let t=[...Me.state.allConnectors,...e];Me.setConnectors(t)},this.setConnections=(e,t)=>{D.setConnections(e,t),Fe.setConnections(e,t)},this.fetchIdentity=e=>Pe.fetchIdentity(e),this.getReownName=e=>M.getNamesForAddress(e),this.getConnectors=()=>Me.getConnectors(),this.getConnectorImage=e=>ye.getConnectorImage(e),this.getConnections=e=>this.remoteFeatures.multiWallet?Le.getConnectionsData(e).connections:(Se.open(O.REMOTE_FEATURES_ALERTS.MULTI_WALLET_NOT_ENABLED.DEFAULT,`info`),[]),this.getRecentConnections=e=>this.remoteFeatures.multiWallet?Le.getConnectionsData(e).recentConnections:(Se.open(O.REMOTE_FEATURES_ALERTS.MULTI_WALLET_NOT_ENABLED.DEFAULT,`info`),[]),this.switchConnection=async e=>{if(!this.remoteFeatures.multiWallet){Se.open(O.REMOTE_FEATURES_ALERTS.MULTI_WALLET_NOT_ENABLED.DEFAULT,`info`);return}await Fe.switchConnection(e)},this.deleteConnection=e=>{if(!this.remoteFeatures.multiWallet){Se.open(O.REMOTE_FEATURES_ALERTS.MULTI_WALLET_NOT_ENABLED.DEFAULT,`info`);return}D.deleteAddressFromConnection(e),Fe.syncStorageConnections()},this.setConnectedWalletInfo=(e,t)=>{let n=Xe.getProviderId(t),r=e?{...e,type:n}:void 0;Ie.setConnectedWalletInfo(r,t)},this.getIsConnectedState=()=>!!k.state.activeCaipAddress,this.addAddressLabel=(e,t,n)=>{Ie.addAddressLabel(e,t,n)},this.removeAddressLabel=(e,t)=>{Ie.removeAddressLabel(e,t)},this.getAddress=e=>k.state.activeChain===e||!e?Ie.state.address:k.state.chains.get(e)?.accountState?.address,this.setApprovedCaipNetworksData=e=>k.setApprovedCaipNetworksData(e),this.resetNetwork=e=>{k.resetNetwork(e)},this.addConnector=e=>{Me.addConnector(e)},this.resetWcConnection=()=>{Fe.resetWcConnection()},this.setAddressExplorerUrl=(e,t)=>{Ie.setAddressExplorerUrl(e,t)},this.setSmartAccountDeployed=(e,t)=>{Ie.setSmartAccountDeployed(e,t)},this.setPreferredAccountType=(e,t)=>{k.setAccountProp(`preferredAccountType`,e,t)},this.setEIP6963Enabled=e=>{A.setEIP6963Enabled(e)},this.handleUnsafeRPCRequest=()=>{if(this.isOpen()){if(this.isTransactionStackEmpty())return;this.redirect(`ApproveTransaction`)}else this.open({view:`ApproveTransaction`})},this.options=e,this.version=e.sdkVersion,this.caipNetworks=this.extendCaipNetworks(e),this.chainNamespaces=this.getChainNamespacesSet(e.adapters,this.caipNetworks),this.defaultCaipNetwork=this.extendDefaultCaipNetwork(e),this.chainAdapters=this.createAdapters(e.adapters),this.readyPromise=this.initialize(e)}getChainNamespacesSet(e,t){let n=e?.map(e=>e.namespace).filter(e=>!!e);if(n?.length)return[...new Set(n)];let r=t?.map(e=>e.chainNamespace);return[...new Set(r)]}async initialize(e){if(this.initializeProjectSettings(e),this.initControllers(e),await this.initChainAdapters(),this.sendInitializeEvent(e),A.state.enableReconnect?(await this.syncExistingConnection(),await this.syncAdapterConnections()):await this.unSyncExistingConnection(),this.remoteFeatures=await rO.fetchRemoteFeatures(e),A.setRemoteFeatures(this.remoteFeatures),this.remoteFeatures.onramp&&ze.setOnrampProviders(this.remoteFeatures.onramp),(A.state.remoteFeatures?.email||Array.isArray(A.state.remoteFeatures?.socials)&&A.state.remoteFeatures?.socials.length>0)&&await this.checkAllowedOrigins(),A.state.features?.reownAuthentication||A.state.remoteFeatures?.reownAuthentication){let{ReownAuthentication:e}=await import(`./features-C-nEU4Pl.js`).then(e=>e.t);A.state.siwx instanceof e||A.setSIWX(new e)}}async checkAllowedOrigins(){try{let e=await Ee.fetchAllowedOrigins();if(!e||!xe.isClient()){Se.open(Ye.ALERT_ERRORS.PROJECT_ID_NOT_CONFIGURED,`error`);return}let t=window.location.origin;qD.isOriginAllowed(t,e,YD.DEFAULT_ALLOWED_ANCESTORS)||Se.open(Ye.ALERT_ERRORS.ORIGIN_NOT_ALLOWED,`error`)}catch(e){if(!(e instanceof Error)){Se.open(Ye.ALERT_ERRORS.PROJECT_ID_NOT_CONFIGURED,`error`);return}switch(e.message){case`RATE_LIMITED`:Se.open(Ye.ALERT_ERRORS.RATE_LIMITED_APP_CONFIGURATION,`error`);break;case`SERVER_ERROR`:{let t=e.cause instanceof Error?e.cause:e;Se.open({displayMessage:Ye.ALERT_ERRORS.SERVER_ERROR_APP_CONFIGURATION.displayMessage,debugMessage:Ye.ALERT_ERRORS.SERVER_ERROR_APP_CONFIGURATION.debugMessage(t.message)},`error`);break}default:Se.open(Ye.ALERT_ERRORS.PROJECT_ID_NOT_CONFIGURED,`error`)}}}sendInitializeEvent(e){let{...t}=e;delete t.adapters,delete t.universalProvider,Re.sendEvent({type:`track`,event:`INITIALIZE`,properties:{...t,networks:e.networks.map(e=>e.id),siweConfig:{options:e.siweConfig?.options||{}}}})}initControllers(e){this.initializeOptionsController(e),this.initializeChainController(e),this.initializeThemeController(e),this.initializeConnectionController(e),this.initializeConnectorController()}initializeThemeController(e){e.themeMode&&ke.setThemeMode(e.themeMode),e.themeVariables&&ke.setThemeVariables(e.themeVariables)}initializeChainController(e){if(!this.connectionControllerClient||!this.networkControllerClient)throw Error(`ConnectionControllerClient and NetworkControllerClient must be set`);k.initialize(e.adapters??[],this.caipNetworks,{connectionControllerClient:this.connectionControllerClient,networkControllerClient:this.networkControllerClient});let t=this.getDefaultNetwork();t&&k.setActiveCaipNetwork(t)}initializeConnectionController(e){Fe.initialize(e.adapters??[]),Fe.setWcBasic(e.basic??!1)}initializeConnectorController(){Me.initialize(this.chainNamespaces)}initializeProjectSettings(e){A.setProjectId(e.projectId),A.setSdkVersion(e.sdkVersion)}initializeOptionsController(e){A.setDebug(e.debug!==!1),A.setEnableWalletConnect(e.enableWalletConnect!==!1),A.setEnableWalletGuide(e.enableWalletGuide!==!1),A.setEnableWallets(e.enableWallets!==!1),A.setEIP6963Enabled(e.enableEIP6963!==!1),A.setEnableNetworkSwitch(e.enableNetworkSwitch!==!1),A.setEnableReconnect(e.enableReconnect!==!1),A.setEnableAuthLogger(e.enableAuthLogger!==!1),A.setCustomRpcUrls(e.customRpcUrls),A.setEnableEmbedded(e.enableEmbedded),A.setAllWallets(e.allWallets),A.setIncludeWalletIds(e.includeWalletIds),A.setExcludeWalletIds(e.excludeWalletIds),A.setFeaturedWalletIds(e.featuredWalletIds),A.setTokens(e.tokens),A.setTermsConditionsUrl(e.termsConditionsUrl),A.setPrivacyPolicyUrl(e.privacyPolicyUrl),A.setCustomWallets(e.customWallets),A.setFeatures(e.features),A.setAllowUnsupportedChain(e.allowUnsupportedChain),A.setUniversalProviderConfigOverride(e.universalProviderConfigOverride),A.setPreferUniversalLinks(e.experimental_preferUniversalLinks),A.setDefaultAccountTypes(e.defaultAccountTypes);let t=this.getDefaultMetaData();if(!e.metadata&&t&&(e.metadata=t),A.setMetadata(e.metadata),A.setDisableAppend(e.disableAppend),A.setEnableEmbedded(e.enableEmbedded),A.setSIWX(e.siwx),!e.projectId){Se.open(Ye.ALERT_ERRORS.PROJECT_ID_NOT_CONFIGURED,`error`);return}if(e.adapters?.find(e=>e.namespace===O.CHAIN.EVM)&&e.siweConfig){if(e.siwx)throw Error("Cannot set both `siweConfig` and `siwx` options");A.setSIWX(e.siweConfig.mapToSIWX())}}getDefaultMetaData(){return xe.isClient()?{name:document.getElementsByTagName(`title`)?.[0]?.textContent||``,description:document.querySelector(`meta[property="og:description"]`)?.content||``,url:window.location.origin,icons:[document.querySelector(`link[rel~="icon"]`)?.href||``]}:null}setUnsupportedNetwork(e){let t=this.getActiveChainNamespace();if(t){let n=qe.getUnsupportedNetwork(`${t}:${e}`);k.setActiveCaipNetwork(n)}}getDefaultNetwork(){return qe.getCaipNetworkFromStorage(this.defaultCaipNetwork)}extendCaipNetwork(e,t){return qe.extendCaipNetwork(e,{customNetworkImageUrls:t.chainImages,projectId:t.projectId})}extendCaipNetworks(e){return qe.extendCaipNetworks(e.networks,{customNetworkImageUrls:e.chainImages,customRpcUrls:e.customRpcUrls,projectId:e.projectId})}extendDefaultCaipNetwork(e){let t=e.networks.find(t=>t.id===e.defaultNetwork?.id);return t?qe.extendCaipNetwork(t,{customNetworkImageUrls:e.chainImages,customRpcUrls:e.customRpcUrls,projectId:e.projectId}):void 0}async disconnectNamespace(e,t){try{this.setLoading(!0,e);let n={connections:[]},r=this.getAdapter(e);return(k.state.chains.get(e)?.accountState?.caipAddress||!A.state.enableReconnect)&&r?.disconnect&&(n=await r.disconnect({id:t})),this.setLoading(!1,e),n}catch(t){throw this.setLoading(!1,e),Error(`Failed to disconnect chains: ${t.message}`)}}createClients(){this.connectionControllerClient={connectWalletConnect:async()=>{let e=k.state.activeChain,t=this.getAdapter(e),n=this.getCaipNetwork(e)?.id,r=Fe.getConnections(e),i=this.remoteFeatures.multiWallet,a=r.length>0;if(!t)throw Error(`Adapter not found`);let o=await t.connectWalletConnect(n);(!a||!i)&&this.close(),this.setClientId(o?.clientId||null),D.setConnectedNamespaces([...k.state.chains.keys()]),await this.syncWalletConnectAccount(),await Ue.initializeIfEnabled()},connectExternal:async({id:e,address:t,info:n,type:r,provider:i,chain:a,caipNetwork:o,socialUri:s})=>{let c=k.state.activeChain,l=a||c,u=this.getAdapter(l);if(a&&a!==c&&!o){let e=this.getCaipNetworks().find(e=>e.chainNamespace===a);e&&this.setCaipNetwork(e)}if(!l)throw Error(`connectExternal: namespace not found`);if(!u)throw Error(`connectExternal: adapter not found`);let d=this.getCaipNetwork(l),f=await u.connect({id:e,address:t,info:n,type:r,provider:i,socialUri:s,chainId:o?.id||d?.id,rpcUrl:o?.rpcUrls?.default?.http?.[0]||d?.rpcUrls?.default?.http?.[0]});if(f)return D.addConnectedNamespace(l),this.syncProvider({...f,chainNamespace:l}),this.setStatus(`connected`,l),this.syncConnectedWalletInfo(l),D.removeDisconnectedConnectorId(e,l),{address:f.address}},reconnectExternal:async({id:e,info:t,type:n,provider:r})=>{let i=k.state.activeChain,a=this.getAdapter(i);if(!i)throw Error(`reconnectExternal: namespace not found`);if(!a)throw Error(`reconnectExternal: adapter not found`);a?.reconnect&&(await a?.reconnect({id:e,info:t,type:n,provider:r,chainId:this.getCaipNetwork()?.id}),D.addConnectedNamespace(i),this.syncConnectedWalletInfo(i))},disconnect:async e=>{let{id:t,chainNamespace:n,initialDisconnect:r}=e||{},i=n||k.state.activeChain,a=Me.getConnectorId(i),o=t===O.CONNECTOR_ID.AUTH||a===O.CONNECTOR_ID.AUTH,s=t===O.CONNECTOR_ID.WALLET_CONNECT||a===O.CONNECTOR_ID.WALLET_CONNECT;try{let e=Array.from(k.state.chains.keys()),i=n?[n]:e;(s||o)&&(i=e);let a=i.map(async e=>{let n=Me.getConnectorId(e),i=await this.disconnectNamespace(e,t||n);i&&(o&&D.deleteConnectedSocialProvider(),i.connections.forEach(t=>{D.addDisconnectedConnectorId(t.connectorId,e)})),r&&this.onDisconnectNamespace({chainNamespace:e,closeModal:!1})}),c=await Promise.allSettled(a);Te.resetSend(),Fe.resetWcConnection(),Ue.getSIWX()?.signOutOnDisconnect&&await Ue.clearSessions(),Me.setFilterByNamespace(void 0),Fe.syncStorageConnections();let l=c.filter(e=>e.status===`rejected`);if(l.length>0)throw Error(l.map(e=>e.reason.message).join(`, `));Re.sendEvent({type:`track`,event:`DISCONNECT_SUCCESS`,properties:{namespace:n||`all`}})}catch(e){throw Error(`Failed to disconnect chains: ${e.message}`)}},checkInstalled:e=>e?e.some(e=>!!window.ethereum?.[String(e)]):!!window.ethereum,signMessage:async e=>{let t=k.state.activeChain,n=this.getAdapter(k.state.activeChain);if(!t)throw Error(`signMessage: namespace not found`);if(!n)throw Error(`signMessage: adapter not found`);return(await n?.signMessage({message:e,address:Ie.state.address,provider:Xe.getProvider(t)}))?.signature||``},sendTransaction:async e=>{let t=e.chainNamespace;if(!t)throw Error(`sendTransaction: namespace not found`);if(T.SEND_SUPPORTED_NAMESPACES.includes(t)){let n=this.getAdapter(t);if(!n)throw Error(`sendTransaction: adapter not found`);let r=Xe.getProvider(t);return(await n?.sendTransaction({...e,caipNetwork:this.getCaipNetwork(),provider:r}))?.hash||``}return``},estimateGas:async e=>{let t=e.chainNamespace;if(t===O.CHAIN.EVM){let n=this.getAdapter(t);if(!n)throw Error(`estimateGas: adapter is required but got undefined`);let r=Xe.getProvider(t),i=this.getCaipNetwork();if(!i)throw Error(`estimateGas: caipNetwork is required but got undefined`);return(await n?.estimateGas({...e,provider:r,caipNetwork:i}))?.gas||0n}return 0n},getEnsAvatar:async()=>{let e=k.state.activeChain;if(!e)throw Error(`getEnsAvatar: namespace is required but got undefined`);return await this.syncIdentity({address:Ie.state.address,chainId:Number(this.getCaipNetwork()?.id),chainNamespace:e}),Ie.state.profileImage||!1},getEnsAddress:async e=>await qD.resolveReownName(e),writeContract:async e=>{let t=k.state.activeChain,n=this.getAdapter(t);if(!t)throw Error(`writeContract: namespace is required but got undefined`);if(!n)throw Error(`writeContract: adapter is required but got undefined`);let r=this.getCaipNetwork(),i=this.getCaipAddress(),a=Xe.getProvider(t);if(!r||!i)throw Error(`writeContract: caipNetwork or caipAddress is required but got undefined`);return(await n?.writeContract({...e,caipNetwork:r,provider:a,caipAddress:i}))?.hash},parseUnits:(e,t)=>{let n=this.getAdapter(k.state.activeChain);if(!n)throw Error(`parseUnits: adapter is required but got undefined`);return n?.parseUnits({value:e,decimals:t})??0n},formatUnits:(e,t)=>{let n=this.getAdapter(k.state.activeChain);if(!n)throw Error(`formatUnits: adapter is required but got undefined`);return n?.formatUnits({value:e,decimals:t})??`0`},getCapabilities:async e=>{let t=this.getAdapter(k.state.activeChain);if(!t)throw Error(`getCapabilities: adapter is required but got undefined`);return await t?.getCapabilities(e)},grantPermissions:async e=>{let t=this.getAdapter(k.state.activeChain);if(!t)throw Error(`grantPermissions: adapter is required but got undefined`);return await t?.grantPermissions(e)},revokePermissions:async e=>{let t=this.getAdapter(k.state.activeChain);if(!t)throw Error(`revokePermissions: adapter is required but got undefined`);return t?.revokePermissions?await t.revokePermissions(e):`0x`},walletGetAssets:async e=>{let t=this.getAdapter(k.state.activeChain);if(!t)throw Error(`walletGetAssets: adapter is required but got undefined`);return await t?.walletGetAssets(e)??{}},updateBalance:e=>{let t=this.getCaipNetwork(e);!t||!Ie.state.address||this.updateNativeBalance(Ie.state.address,t?.id,e)}},this.networkControllerClient={switchCaipNetwork:async e=>await this.switchCaipNetwork(e),getApprovedCaipNetworksData:async()=>this.getApprovedCaipNetworksData()},Fe.setClient(this.connectionControllerClient)}getApprovedCaipNetworksData(){if(Xe.getProviderId(k.state.activeChain)===We.CONNECTOR_TYPE_WALLET_CONNECT){let e=this.universalProvider?.session?.namespaces;return{supportsAllNetworks:this.universalProvider?.session?.peer?.metadata.name===`MetaMask Wallet`,approvedCaipNetworkIds:this.getChainsFromNamespaces(e)}}return{supportsAllNetworks:!0,approvedCaipNetworkIds:[]}}async switchCaipNetwork(e){if(!e)return;let t=e.chainNamespace;if(this.getAddressByChainNamespace(e.chainNamespace)){let n=Xe.getProvider(t),r=Xe.getProviderId(t);if(e.chainNamespace===k.state.activeChain)await this.getAdapter(t)?.switchNetwork({caipNetwork:e,provider:n,providerType:r});else if(this.setCaipNetwork(e),r===We.CONNECTOR_TYPE_WALLET_CONNECT)this.syncWalletConnectAccount();else{let n=this.getAddressByChainNamespace(t);n&&this.syncAccount({address:n,chainId:e.id,chainNamespace:t})}}else this.setCaipNetwork(e)}getChainsFromNamespaces(e={}){return Object.values(e).flatMap(e=>{let t=e.chains||[],n=e.accounts.map(e=>{let{chainId:t,chainNamespace:n}=E.parseCaipAddress(e);return`${n}:${t}`});return Array.from(new Set([...t,...n]))})}createAdapters(e){return this.createClients(),this.chainNamespaces.reduce((t,n)=>{let r=e?.find(e=>e.namespace===n);return r?(r.construct({namespace:n,projectId:this.options?.projectId,networks:this.getCaipNetworks()}),t[n]=r):t[n]=new eO({namespace:n,networks:this.getCaipNetworks()}),t},{})}async initChainAdapter(e){this.onConnectors(e),this.listenAdapter(e),await this.chainAdapters?.[e].syncConnectors(this.options,this),await this.createUniversalProviderForAdapter(e)}async initChainAdapters(){await Promise.all(this.chainNamespaces.map(async e=>{await this.initChainAdapter(e)}))}onConnectors(e){this.getAdapter(e)?.on(`connectors`,this.setConnectors.bind(this))}listenAdapter(e){let t=this.getAdapter(e);if(!t)return;let n=D.getConnectionStatus();A.state.enableReconnect===!1?this.setStatus(`disconnected`,e):n===`connected`?this.setStatus(`connecting`,e):(n===`disconnected`&&D.clearAddressCache(),this.setStatus(n,e)),t.on(`switchNetwork`,({address:t,chainId:n})=>{let r=this.getCaipNetworks().find(e=>e.id.toString()===n.toString()||e.caipNetworkId.toString()===n.toString()),i=k.state.activeChain===e,a=k.state.chains.get(e)?.accountState?.address;if(r){let n=i&&t?t:a;n&&this.syncAccount({address:n,chainId:r.id,chainNamespace:e})}else this.setUnsupportedNetwork(n)}),t.on(`disconnect`,()=>{let t=this.remoteFeatures.multiWallet,n=Array.from(Fe.state.connections.values()).flat();this.onDisconnectNamespace({chainNamespace:e,closeModal:!t||n.length===0})}),t.on(`connections`,t=>{this.setConnections(t,e)}),t.on(`pendingTransactions`,()=>{let e=Ie.state.address,t=k.state.activeCaipNetwork;!e||!t?.id||this.updateNativeBalance(e,t.id,t.chainNamespace)}),t.on(`accountChanged`,({address:t,chainId:n,connector:r})=>{let i=k.state.activeChain===e;r?.provider&&(this.syncProvider({id:r.id,type:r.type,provider:r.provider,chainNamespace:e}),this.syncConnectedWalletInfo(e)),i&&n?this.syncAccount({address:t,chainId:n,chainNamespace:e}):i&&k.state.activeCaipNetwork?.id?this.syncAccount({address:t,chainId:k.state.activeCaipNetwork?.id,chainNamespace:e}):this.syncAccountInfo(t,n,e),D.addConnectedNamespace(e)})}async createUniversalProviderForAdapter(e){await this.getUniversalProvider(),this.universalProvider&&await this.chainAdapters?.[e]?.setUniversalProvider?.(this.universalProvider)}async syncExistingConnection(){await Promise.allSettled(this.chainNamespaces.map(e=>this.syncNamespaceConnection(e)))}async unSyncExistingConnection(){try{await Promise.allSettled(this.chainNamespaces.map(e=>Fe.disconnect({namespace:e,initialDisconnect:!0})))}catch{}}async reconnectWalletConnect(){await this.syncWalletConnectAccount();let e=this.getAddress();Re.sendEvent({type:`track`,event:`CONNECT_SUCCESS`,address:e,properties:{method:xe.isMobile()?`mobile`:`qrcode`,name:this.universalProvider?.session?.peer?.metadata?.name||`Unknown`,reconnect:!0}})}async syncNamespaceConnection(e){try{e===O.CHAIN.EVM&&xe.isSafeApp()&&Me.setConnectorId(O.CONNECTOR_ID.SAFE,e);let t=Me.getConnectorId(e);switch(this.setStatus(`connecting`,e),t){case O.CONNECTOR_ID.WALLET_CONNECT:await this.reconnectWalletConnect();break;case O.CONNECTOR_ID.AUTH:break;default:await this.syncAdapterConnection(e)}}catch{this.setStatus(`disconnected`,e)}}onDisconnectNamespace(e){let{chainNamespace:t,closeModal:n}=e||{};k.resetAccount(t),k.resetNetwork(t),D.removeConnectedNamespace(t);let r=Array.from(k.state.chains.keys());(t?[t]:r).forEach(e=>D.addDisconnectedConnectorId(Me.getConnectorId(e)||``,e)),Me.removeConnectorId(t),Xe.resetChain(t),this.setUser(void 0,t),this.setStatus(`disconnected`,t),this.setConnectedWalletInfo(void 0,t),n!==!1&&we.close()}async syncAdapterConnections(){await Promise.allSettled(this.chainNamespaces.map(e=>{let t=this.getCaipAddress(e),n=this.getCaipNetwork(e);return this.chainAdapters?.[e].syncConnections({connectToFirstConnector:!t,caipNetwork:n,getConnectorStorageInfo(t){let n=D.getConnections()[e]??[];return{hasDisconnected:D.isConnectorDisconnected(t,e),hasConnected:n.some(e=>Ge.isLowerCaseMatch(e.connectorId,t))}}})}))}async syncAdapterConnection(e){let t=this.getAdapter(e),n=Me.getConnectorId(e),r=this.getCaipNetwork(e),i=Me.getConnectors(e).find(e=>e.id===n);try{if(!t||!i)throw Error(`Adapter or connector not found for namespace ${e}`);if(!r?.id)throw Error(`CaipNetwork not found`);let n=await t?.syncConnection({namespace:e,id:i.id,chainId:r.id,rpcUrl:r?.rpcUrls?.default?.http?.[0]});n?(this.syncProvider({...n,chainNamespace:e}),await this.syncAccount({...n,chainNamespace:e}),this.setStatus(`connected`,e),Re.sendEvent({type:`track`,event:`CONNECT_SUCCESS`,address:n.address,properties:{method:`browser`,name:i.info?.name||i.name||`Unknown`,reconnect:!0}})):this.setStatus(`disconnected`,e)}catch{this.onDisconnectNamespace({chainNamespace:e,closeModal:!1})}}async syncWalletConnectAccount(){let e=Object.keys(this.universalProvider?.session?.namespaces||{}),t=this.chainNamespaces.map(async t=>{let n=this.getAdapter(t);if(!n)return;let r=this.universalProvider?.session?.namespaces?.[t]?.accounts||[],i=k.state.activeCaipNetwork?.id,a=r.find(e=>{let{chainId:t}=E.parseCaipAddress(e);return t===i?.toString()})||r[0];if(a){let e=E.validateCaipAddress(a),{chainId:r,address:i}=E.parseCaipAddress(e);if(Xe.setProviderId(t,We.CONNECTOR_TYPE_WALLET_CONNECT),this.caipNetworks&&k.state.activeCaipNetwork&&n.namespace!==O.CHAIN.EVM){let e=n.getWalletConnectProvider({caipNetworks:this.getCaipNetworks(),provider:this.universalProvider,activeCaipNetwork:k.state.activeCaipNetwork});Xe.setProvider(t,e)}else Xe.setProvider(t,this.universalProvider);Me.setConnectorId(O.CONNECTOR_ID.WALLET_CONNECT,t),D.addConnectedNamespace(t),await this.syncAccount({address:i,chainId:r,chainNamespace:t})}else e.includes(t)&&this.setStatus(`disconnected`,t);this.syncConnectedWalletInfo(t),await k.setApprovedCaipNetworksData(t)});await Promise.all(t)}syncProvider({type:e,provider:t,id:n,chainNamespace:r}){Xe.setProviderId(r,e),Xe.setProvider(r,t),Me.setConnectorId(n,r)}async syncAccount(e){let t=e.chainNamespace===k.state.activeChain,n=k.getCaipNetworkByNamespace(e.chainNamespace,e.chainId),{address:r,chainId:i,chainNamespace:a}=e,{chainId:o}=D.getActiveNetworkProps(),s=i||o,c=k.state.activeCaipNetwork?.name===O.UNSUPPORTED_NETWORK_NAME,l=k.getNetworkProp(`supportsAllNetworks`,a);if(this.setStatus(`connected`,a),!(c&&!l)&&s){let e=this.getCaipNetworks().find(e=>e.id.toString()===s.toString()),o=this.getCaipNetworks().find(e=>e.chainNamespace===a);if(!l&&!e&&!o){let t=this.getApprovedCaipNetworkIds()||[],n=t.find(e=>E.parseCaipNetworkId(e)?.chainId===s.toString()),r=t.find(e=>E.parseCaipNetworkId(e)?.chainNamespace===a);e=this.getCaipNetworks().find(e=>e.caipNetworkId===n),o=this.getCaipNetworks().find(e=>e.caipNetworkId===r||`deprecatedCaipNetworkId`in e&&e.deprecatedCaipNetworkId===r)}let c=e||o;c?.chainNamespace===k.state.activeChain?A.state.enableNetworkSwitch&&!A.state.allowUnsupportedChain&&k.state.activeCaipNetwork?.name===O.UNSUPPORTED_NETWORK_NAME?k.showUnsupportedChainUI():this.setCaipNetwork(c):t||n&&this.setCaipNetworkOfNamespace(n,a),this.syncConnectedWalletInfo(a),Ge.isLowerCaseMatch(r,Ie.state.address)||this.syncAccountInfo(r,c?.id,a),t?await this.syncBalance({address:r,chainId:c?.id,chainNamespace:a}):await this.syncBalance({address:r,chainId:n?.id,chainNamespace:a}),this.syncIdentity({address:r,chainId:i,chainNamespace:a})}}async syncAccountInfo(e,t,n){let r=this.getCaipAddress(n),i=t||r?.split(`:`)[1];if(!i)return;let a=`${n}:${i}:${e}`;this.setCaipAddress(a,n),await this.syncIdentity({address:e,chainId:i,chainNamespace:n})}async syncReownName(e,t){try{let n=await this.getReownName(e);if(n[0]){let e=n[0];this.setProfileName(e.name,t)}else this.setProfileName(null,t)}catch{this.setProfileName(null,t)}}syncConnectedWalletInfo(e){let t=Me.getConnectorId(e),n=Xe.getProviderId(e);if(n===We.CONNECTOR_TYPE_ANNOUNCED||n===We.CONNECTOR_TYPE_INJECTED){if(t){let n=this.getConnectors().find(e=>{let n=e.id===t,r=e.info?.rdns===t,i=e.connectors?.some(e=>e.id===t||e.info?.rdns===t);return n||r||!!i});if(n){let{info:t,name:r,imageUrl:i}=n,a=i||this.getConnectorImage(n);this.setConnectedWalletInfo({name:r,icon:a,...t},e)}}}else if(n===We.CONNECTOR_TYPE_WALLET_CONNECT){let t=Xe.getProvider(e);t?.session&&this.setConnectedWalletInfo({...t.session.peer.metadata,name:t.session.peer.metadata.name,icon:t.session.peer.metadata.icons?.[0]},e)}else if(t&&(t===O.CONNECTOR_ID.COINBASE_SDK||t===O.CONNECTOR_ID.COINBASE)){let n=this.getConnectors().find(e=>e.id===t),r=n?.name||`Coinbase Wallet`,i=n?.imageUrl||this.getConnectorImage(n),a=n?.info;this.setConnectedWalletInfo({...a,name:r,icon:i},e)}}async syncBalance(e){!be.getNetworksByNamespace(this.getCaipNetworks(),e.chainNamespace).find(t=>t.id.toString()===e.chainId?.toString())||!e.chainId||await this.updateNativeBalance(e.address,e.chainId,e.chainNamespace)}async ready(){await this.readyPromise}async updateNativeBalance(e,t,n){let r=this.getAdapter(n),i=k.getCaipNetworkByNamespace(n,t);if(r){let a=await r.getBalance({address:e,chainId:t,caipNetwork:i,tokens:this.options.tokens});return this.setBalance(a.balance,a.symbol,n),a}}async initializeUniversalAdapter(){let e=$e.createLogger((e,...t)=>{e&&this.handleAlertError(e)}),t={projectId:this.options?.projectId,metadata:{name:this.options?.metadata?this.options?.metadata.name:``,description:this.options?.metadata?this.options?.metadata.description:``,url:this.options?.metadata?this.options?.metadata.url:``,icons:this.options?.metadata?this.options?.metadata.icons:[``]},logger:e};A.setManualWCControl(!!this.options?.manualWCControl),this.universalProvider=this.options.universalProvider??await Ve.init(t),A.state.enableReconnect===!1&&this.universalProvider.session&&await this.universalProvider.disconnect(),this.listenWalletConnect()}listenWalletConnect(){this.universalProvider&&this.chainNamespaces.forEach(e=>{qD.listenWcProvider({universalProvider:this.universalProvider,namespace:e,onDisplayUri:e=>{Fe.setUri(e)},onConnect:e=>{let{address:t}=xe.getAccount(e[0]);Fe.finalizeWcConnection(t)},onDisconnect:()=>{k.state.noAdapters&&this.resetAccount(e),Fe.resetWcConnection()},onChainChanged:t=>{let n=k.state.activeChain,r=n&&Me.state.activeConnectorIds[n]===O.CONNECTOR_ID.WALLET_CONNECT;if(n===e&&(k.state.noAdapters||r)){let e=this.getCaipNetworks().find(e=>e.id.toString()===t.toString()||e.caipNetworkId.toString()===t.toString()),n=this.getCaipNetwork();if(!e){this.setUnsupportedNetwork(t);return}n?.id.toString()!==e?.id.toString()&&n?.chainNamespace===e?.chainNamespace&&this.setCaipNetwork(e)}},onAccountsChanged:t=>{let n=k.state.activeChain,r=n&&Me.state.activeConnectorIds[n]===O.CONNECTOR_ID.WALLET_CONNECT;if(n===e&&(k.state.noAdapters||r)){let e=t?.[0];e&&this.syncAccount({address:e.address,chainId:e.chainId,chainNamespace:e.chainNamespace})}}})})}createUniversalProvider(){return!this.universalProviderInitPromise&&xe.isClient()&&this.options?.projectId&&(this.universalProviderInitPromise=this.initializeUniversalAdapter()),this.universalProviderInitPromise}async getUniversalProvider(){if(!this.universalProvider)try{await this.createUniversalProvider()}catch(e){Re.sendEvent({type:`error`,event:`INTERNAL_SDK_ERROR`,properties:{errorType:`UniversalProviderInitError`,errorMessage:e instanceof Error?e.message:`Unknown`,uncaught:!1}})}return this.universalProvider}handleAlertError(e){let[t,n]=Object.entries(Ye.UniversalProviderErrors).find(([,{message:t}])=>e.message.includes(t))??[],{message:r,alertErrorKey:i}=n??{};if(t&&r&&!this.reportedAlertErrors[t]){let e=Ye.ALERT_ERRORS[i];e&&(Se.open(e,`error`),this.reportedAlertErrors[t]=!0)}}getAdapter(e){if(e)return this.chainAdapters?.[e]}createAdapter(e){if(!e)return;let t=e.namespace;if(!t)return;this.createClients();let n=e;n.namespace=t,n.construct({namespace:t,projectId:this.options?.projectId,networks:this.getCaipNetworks()}),this.chainNamespaces.includes(t)||this.chainNamespaces.push(t),this.chainAdapters&&(this.chainAdapters[t]=n)}async open(e){if(await this.injectModalUi(),e?.uri&&Fe.setUri(e.uri),e?.arguments)switch(e?.view){case`Swap`:return we.open({...e,data:{swap:e.arguments}});default:}return we.open(e)}async close(){await this.injectModalUi(),we.close()}setLoading(e,t){we.setLoading(e,t)}async disconnect(e){await Fe.disconnect({namespace:e})}getSIWX(){return A.state.siwx}getError(){return``}getChainId(){return k.state.activeCaipNetwork?.id}async switchNetwork(e){let t=this.getCaipNetworks().find(t=>t.id===e.id);if(!t){Se.open(Ye.ALERT_ERRORS.SWITCH_NETWORK_NOT_FOUND,`error`);return}await k.switchActiveNetwork(t)}getWalletProvider(){return k.state.activeChain?Xe.state.providers[k.state.activeChain]:null}getWalletProviderType(){return Xe.getProviderId(k.state.activeChain)}subscribeProviders(e){return Xe.subscribeProviders(e)}getThemeMode(){return ke.state.themeMode}getThemeVariables(){return ke.state.themeVariables}setThemeMode(e){ke.setThemeMode(e),w(ke.state.themeMode)}setTermsConditionsUrl(e){A.setTermsConditionsUrl(e)}setPrivacyPolicyUrl(e){A.setPrivacyPolicyUrl(e)}setThemeVariables(e){ke.setThemeVariables(e),se(ke.state.themeVariables)}subscribeTheme(e){return ke.subscribe(e)}subscribeConnections(e){return this.remoteFeatures.multiWallet?Fe.subscribe(e):(Se.open(O.REMOTE_FEATURES_ALERTS.MULTI_WALLET_NOT_ENABLED.DEFAULT,`info`),()=>void 0)}getWalletInfo(e){return e?k.state.chains.get(e)?.accountState?.connectedWalletInfo:Ie.state.connectedWalletInfo}getAccount(e){let t=e||k.state.activeChain,n=Me.getAuthConnector(t),r=k.getAccountData(t),i=D.getConnectedConnectorId(k.state.activeChain),a=Fe.getConnections(t);if(!t)throw Error(`AppKit:getAccount - namespace is required`);let o=a.flatMap(e=>e.accounts.map(({address:e,type:n,publicKey:r})=>xe.createAccount(t,e,n||`eoa`,r)));if(r)return{allAccounts:o,caipAddress:r.caipAddress,address:xe.getPlainAddress(r.caipAddress),isConnected:!!r.caipAddress,status:r.status,embeddedWalletInfo:n&&i===O.CONNECTOR_ID.AUTH?{user:r.user?{...r.user,username:D.getConnectedSocialUsername()}:void 0,authProvider:r.socialProvider||`email`,accountType:Ne(t),isSmartAccountDeployed:!!r.smartAccountDeployed}:void 0}}subscribeAccount(e,t){let n=()=>{let n=this.getAccount(t);n&&e(n)};t?k.subscribeChainProp(`accountState`,n,t):k.subscribe(n),Me.subscribe(n)}subscribeNetwork(e){return k.subscribe(({activeCaipNetwork:t})=>{e({caipNetwork:t,chainId:t?.id,caipNetworkId:t?.caipNetworkId})})}subscribeWalletInfo(e,t){return t?Ie.subscribeKey(`connectedWalletInfo`,e,t):Ie.subscribeKey(`connectedWalletInfo`,e)}subscribeShouldUpdateToAddress(e){Ie.subscribeKey(`shouldUpdateToAddress`,e)}subscribeCaipNetworkChange(e){k.subscribeKey(`activeCaipNetwork`,e)}getState(){return j.state}getRemoteFeatures(){return A.state.remoteFeatures}subscribeState(e){return j.subscribe(e)}subscribeRemoteFeatures(e){return A.subscribeKey(`remoteFeatures`,e)}showErrorMessage(e){je.showError(e)}showSuccessMessage(e){je.showSuccess(e)}getEvent(){return{...Re.state}}subscribeEvents(e){return Re.subscribe(e)}replace(e){Oe.replace(e)}redirect(e){Oe.push(e)}popTransactionStack(e){Oe.popTransactionStack(e)}isOpen(){return we.state.open}isTransactionStackEmpty(){return Oe.state.transactionStack.length===0}static getInstance(){return this.instance}updateFeatures(e){A.setFeatures(e)}updateRemoteFeatures(e){A.setRemoteFeatures(e)}updateOptions(e){let t={...A.state||{},...e};A.setOptions(t)}setConnectMethodsOrder(e){A.setConnectMethodsOrder(e)}setWalletFeaturesOrder(e){A.setWalletFeaturesOrder(e)}setCollapseWallets(e){A.setCollapseWallets(e)}setSocialsOrder(e){A.setSocialsOrder(e)}getConnectMethodsOrder(){return Ke.getConnectOrderMethod(A.state.features,Me.getConnectors())}addNetwork(e,t){if(this.chainAdapters&&!this.chainAdapters[e])throw Error(`Adapter for namespace ${e} doesn't exist`);let n=this.extendCaipNetwork(t,this.options);this.getCaipNetworks().find(e=>e.id===n.id)||k.addNetwork(n)}removeNetwork(e,t){if(this.chainAdapters&&!this.chainAdapters[e])throw Error(`Adapter for namespace ${e} doesn't exist`);this.getCaipNetworks().find(e=>e.id===t)&&k.removeNetwork(e,t)}},aO=!1,oO=class extends iO{async onAuthProviderConnected(e){e.message&&e.signature&&e.siwxMessage&&await Ue.addEmbeddedWalletSession({chainId:e.siwxMessage.chainId,accountAddress:e.address,notBefore:e.siwxMessage.notBefore,statement:e.siwxMessage.statement,resources:e.siwxMessage.resources,requestId:e.siwxMessage.requestId,issuedAt:e.siwxMessage.issuedAt,domain:e.siwxMessage.domain,uri:e.siwxMessage.uri,version:e.siwxMessage.version,nonce:e.siwxMessage.nonce},e.message,e.signature);let t=k.state.activeChain;if(!t)throw Error(`AppKit:onAuthProviderConnected - namespace is required`);let n=t===O.CHAIN.EVM?`eip155:${e.chainId}:${e.address}`:`${e.chainId}:${e.address}`,r=A.state.defaultAccountTypes[t],i=Ne(t),a=e.preferredAccountType||i||r;this.setCaipAddress(n,t);let{signature:o,siwxMessage:s,message:c,...l}=e;this.setUser({...Ie.state.user||{},...l},t),this.setSmartAccountDeployed(!!e.smartAccountDeployed,t),this.setPreferredAccountType(a,t),this.setLoading(!1,t)}setupAuthConnectorListeners(e){e.onRpcRequest(t=>{Qe.checkIfRequestExists(t)?Qe.checkIfRequestIsSafe(t)||this.handleUnsafeRPCRequest():(this.open(),setTimeout(()=>{this.showErrorMessage(Ae.RPC_METHOD_NOT_ALLOWED_UI_MESSAGE)},300),e.rejectRpcRequests())}),e.onRpcError(()=>{this.isOpen()&&(this.isTransactionStackEmpty()?this.close():this.popTransactionStack(`error`))}),e.onRpcSuccess((e,t)=>{let n=Qe.checkIfRequestIsSafe(t),r=Ie.state.address,i=k.state.activeCaipNetwork;n||(r&&i?.id&&this.updateNativeBalance(r,i.id,i.chainNamespace),this.isTransactionStackEmpty()?this.close():this.popTransactionStack(`success`))}),e.onNotConnected(()=>{let e=k.state.activeChain;if(!e)throw Error(`AppKit:onNotConnected - namespace is required`);Me.getConnectorId(e)===O.CONNECTOR_ID.AUTH&&(this.setCaipAddress(void 0,e),this.setLoading(!1,e))}),e.onConnect(this.onAuthProviderConnected.bind(this)),e.onSocialConnected(this.onAuthProviderConnected.bind(this)),e.onSetPreferredAccount(({address:e,type:t})=>{let n=k.state.activeChain;if(!n)throw Error(`AppKit:onSetPreferredAccount - namespace is required`);e&&this.setPreferredAccountType(t,n)})}async syncAuthConnectorTheme(e){if(!e)return;let t=ke.getSnapshot(),n=A.getSnapshot();await Promise.all([e.syncDappData({metadata:n.metadata,sdkVersion:n.sdkVersion,projectId:n.projectId,sdkType:n.sdkType}),e.syncTheme({themeMode:t.themeMode,themeVariables:t.themeVariables,w3mThemeVariables:Ce(t.themeVariables,t.themeMode)})])}async syncAuthConnector(e,t){let n=O.AUTH_CONNECTOR_SUPPORTED_CHAINS.includes(t),r=t===k.state.activeChain;if(!n)return;this.setLoading(!0,t);let i=e.getLoginEmailUsed();this.setLoading(i,t),i&&this.setStatus(`connecting`,t);let a=e.getEmail(),o=e.getUsername();this.setUser({...Ie.state?.user||{},username:o,email:a},t),this.setupAuthConnectorListeners(e);let{isConnected:s}=await e.isConnected();if(await this.syncAuthConnectorTheme(e),t&&n&&r){let n=await e.getSmartAccountEnabledNetworks();if(k.setSmartAccountEnabledNetworks(n?.smartAccountEnabledNetworks||[],t),s&&this.connectionControllerClient?.connectExternal){await this.connectionControllerClient?.connectExternal({id:O.CONNECTOR_ID.AUTH,info:{name:O.CONNECTOR_ID.AUTH},type:We.CONNECTOR_TYPE_AUTH,provider:e,chainId:k.state.activeCaipNetwork?.id,chain:t}),this.setStatus(`connected`,t);let n=D.getConnectedSocialProvider();n?Re.sendEvent({type:`track`,event:`SOCIAL_LOGIN_SUCCESS`,address:Ie.state.address,properties:{provider:n,reconnect:!0}}):Re.sendEvent({type:`track`,event:`CONNECT_SUCCESS`,address:Ie.state.address,properties:{method:`email`,name:this.universalProvider?.session?.peer?.metadata?.name||`Unknown`,reconnect:!0}})}else Me.getConnectorId(t)===O.CONNECTOR_ID.AUTH&&(this.setStatus(`disconnected`,t),D.removeConnectedNamespace(t))}this.setLoading(!1,t)}async checkExistingTelegramSocialConnection(e){try{if(!xe.isTelegram())return;let t=D.getTelegramSocialProvider();if(!t||!xe.isClient())return;let n=new URL(window.location.href).searchParams.get(`result_uri`);if(!n)return;Ie.setSocialProvider(t,e),await this.authProvider?.init();let r=Me.getAuthConnector();t&&r&&(this.setLoading(!0,e),await Fe.connectExternal({id:r.id,type:r.type,socialUri:n},r.chain),D.setConnectedSocialProvider(t),D.removeTelegramSocialProvider(),Re.sendEvent({type:`track`,event:`SOCIAL_LOGIN_SUCCESS`,properties:{provider:t}}))}catch{this.setLoading(!1,e)}try{let e=new URL(window.location.href);e.searchParams.delete(`result_uri`),window.history.replaceState({},document.title,e.toString())}catch{}}createAuthProvider(e){if(!O.AUTH_CONNECTOR_SUPPORTED_CHAINS.includes(e))return;let t=this.remoteFeatures?.email,n=Array.isArray(this.remoteFeatures?.socials)&&this.remoteFeatures.socials.length>0,r=t||n,i=Ge.getActiveNamespaceConnectedToAuth()||e;!this.authProvider&&this.options?.projectId&&r&&(this.authProvider=BD.getInstance({projectId:this.options.projectId,enableLogger:this.options.enableAuthLogger,chainId:this.getCaipNetwork(i)?.caipNetworkId,abortController:Ye.EmbeddedWalletAbortController,onTimeout:e=>{e===`iframe_load_failed`?Se.open(Ye.ALERT_ERRORS.IFRAME_LOAD_FAILED,`error`):e===`iframe_request_timeout`?Se.open(Ye.ALERT_ERRORS.IFRAME_REQUEST_TIMEOUT,`error`):e===`unverified_domain`&&Se.open(Ye.ALERT_ERRORS.UNVERIFIED_DOMAIN,`error`)},getActiveCaipNetwork:e=>De(e),getCaipNetworks:e=>k.getCaipNetworks(e)}),j.subscribeOpen(e=>{!e&&this.isTransactionStackEmpty()&&this.authProvider?.rejectRpcRequests()}));let a=e===k.state.activeChain&&A.state.enableReconnect;A.state.enableReconnect===!1?this.syncAuthConnectorTheme(this.authProvider):this.authProvider&&a&&(this.syncAuthConnector(this.authProvider,e),this.checkExistingTelegramSocialConnection(e))}createAuthProviderForAdapter(e){this.createAuthProvider(e),this.authProvider&&this.chainAdapters?.[e]?.setAuthProvider?.(this.authProvider)}initControllers(e){super.initControllers(e),this.options.excludeWalletIds&&Ee.initializeExcludedWallets({ids:this.options.excludeWalletIds})}async switchCaipNetwork(e){if(!e)return;let t=k.state.activeChain,n=e.chainNamespace,r=this.getAddressByChainNamespace(n);if(n===t&&r){let t=this.getAdapter(n),r=Xe.getProvider(n),i=Xe.getProviderId(n);await t?.switchNetwork({caipNetwork:e,provider:r,providerType:i}),this.setCaipNetwork(e)}else{let i=Xe.getProviderId(t)===We.CONNECTOR_TYPE_AUTH,a=Xe.getProviderId(n),o=a===We.CONNECTOR_TYPE_AUTH,s=O.AUTH_CONNECTOR_SUPPORTED_CHAINS.includes(n);if(!n)throw Error(`AppKit:switchCaipNetwork - networkNamespace is required`);if((i&&a===void 0||o)&&s)try{k.state.activeChain=e.chainNamespace,r?await this.getAdapter(n)?.switchNetwork({caipNetwork:e,provider:this.authProvider,providerType:a}):await this.connectionControllerClient?.connectExternal?.({id:O.CONNECTOR_ID.AUTH,provider:this.authProvider,chain:n,chainId:e.id,type:We.CONNECTOR_TYPE_AUTH,caipNetwork:e}),this.setCaipNetwork(e)}catch{await this.getAdapter(n)?.switchNetwork({caipNetwork:e,provider:this.authProvider,providerType:a})}else if(a===We.CONNECTOR_TYPE_WALLET_CONNECT){if(!k.state.noAdapters){let t=this.getAdapter(n),r=Xe.getProvider(n),i=Xe.getProviderId(n);await t?.switchNetwork({caipNetwork:e,provider:r,providerType:i})}this.setCaipNetwork(e),this.syncWalletConnectAccount()}else this.setCaipNetwork(e),r&&this.syncAccount({address:r,chainId:e.id,chainNamespace:n})}}async initialize(e){await super.initialize(e),this.chainNamespaces?.forEach(e=>{this.createAuthProviderForAdapter(e)}),await this.injectModalUi(),j.set({initialized:!0})}async syncIdentity({address:e,chainId:t,chainNamespace:n}){let r=`${n}:${t}`;if(this.caipNetworks?.find(e=>e.caipNetworkId===r)?.testnet){this.setProfileName(null,n),this.setProfileImage(null,n);return}let i=Me.getConnectorId(n)===O.CONNECTOR_ID.AUTH;try{let{name:t,avatar:r}=await this.fetchIdentity({address:e});!t&&i?await this.syncReownName(e,n):(this.setProfileName(t,n),this.setProfileImage(r,n))}catch{t!==1&&this.setProfileImage(null,n)}}syncConnectedWalletInfo(e){let t=Xe.getProviderId(e);if(t===We.CONNECTOR_TYPE_AUTH){let n=this.authProvider;if(n){let r=D.getConnectedSocialProvider()??`email`,i=n.getEmail()??n.getUsername();this.setConnectedWalletInfo({name:t,identifier:i,social:r},e)}}else super.syncConnectedWalletInfo(e)}async injectModalUi(){if(xe.isClient()&&!aO)try{let e={...T.DEFAULT_FEATURES,...this.options.features},t=this.remoteFeatures;if(await this.loadModalComponents(e,t),xe.isClient()&&!document.querySelector(`w3m-modal`)){let e=document.createElement(`w3m-modal`);!A.state.disableAppend&&!A.state.enableEmbedded&&document.body.insertAdjacentElement(`beforeend`,e)}aO=!0}catch{}}async loadModalComponents(e,t){if(!xe.isClient())return;let n=[];(t.email||t.socials&&t.socials.length>0)&&n.push(import(`./embedded-wallet-CoKfbap2.js`)),t.email&&n.push(import(`./email-3wjbM9mF.js`)),t.socials&&n.push(import(`./socials-BniKc0F9.js`)),t.swaps&&t.swaps.length>0&&n.push(import(`./swaps-Dfx921bk.js`)),e.send&&n.push(import(`./send-BzUUPJkm.js`)),e.receive&&n.push(import(`./receive-Czuh6re-.js`)),t.onramp&&t.onramp.length>0&&n.push(import(`./onramp-BeWP5AT3.js`)),t.payWithExchange&&n.push(import(`./pay-with-exchange-k7DQYPpX.js`)),t.activity&&n.push(import(`./transactions-WQ8hE98n.js`)),(e.pay||t.payments)&&n.push(import(`./exports-CXvfermz.js`)),t.emailCapture&&n.push(import(`./data-capture-CYqYDeaA.js`)),await Promise.all([...n,import(`./exports-AymrJn5b.js`),import(`./w3m-modal-BMxysNu_.js`)])}},sO=`1.7.20`;function cO(e){return new oO({...e,sdkVersion:xe.generateSdkVersion(e.adapters??[],`html`,sO)})}var lO=class e extends Error{constructor(t=`WalletConnect client is not initialized. Please call connect() first.`){super(t),this.name=`ClientNotInitializedError`,Object.setPrototypeOf(this,e.prototype)}},uO;(function(e){e.Mainnet=`tron:0x2b6653dc`,e.Shasta=`tron:0x94a9059e`,e.Nile=`tron:0xcd8690dc`})(uO||={});var dO=UD({id:`0x2b6653dc`,caipNetworkId:`tron:0x2b6653dc`,chainNamespace:`tron`,name:`Tron Mainnet`,nativeCurrency:{decimals:6,name:`TRX`,symbol:`TRX`},rpcUrls:{default:{http:[`https://api.trongrid.io/jsonrpc`],webSocket:[``]}},blockExplorers:{default:{name:`Tron BlockChain Explorer`,url:`https://tronscan.org/`}},contracts:{}}),fO=UD({id:`0xcd8690dc`,caipNetworkId:`tron:0xcd8690dc`,chainNamespace:`tron`,name:`Tron Nile Testnet`,nativeCurrency:{decimals:6,name:`TRX`,symbol:`TRX`},rpcUrls:{default:{http:[``],webSocket:[``]}},blockExplorers:{default:{name:`Tron BlockChain Explorer`,url:`https://nile.tronscan.org/`}},contracts:{}}),pO=UD({id:`0x94a9059e`,caipNetworkId:`tron:0x94a9059e`,chainNamespace:`tron`,name:`Tron Shasta Testnet`,nativeCurrency:{decimals:6,name:`TRX`,symbol:`TRX`},rpcUrls:{default:{http:[``],webSocket:[``]}},blockExplorers:{default:{name:`Tron BlockChain Explorer`,url:`https://shasta.tronscan.org/`}},contracts:{}}),mO=new Map([[uO.Mainnet,dO],[uO.Nile,fO],[uO.Shasta,pO]]),hO;(function(e){e.signTransaction=`tron_signTransaction`,e.signMessage=`tron_signMessage`})(hO||={});var gO=(e,t)=>({requiredNamespaces:{tron:{chains:[e],methods:[hO.signTransaction,hO.signMessage],events:[]}},pairingTopic:t}),_O=class{constructor(e){this.providerPromise=null,this.eventListeners=new Map,this.sessionHandlers={},this.modalStateUnsubscribers=[],this.eventUnsubscribers=[],this.pendingModalCallbacks=[],this.pendingEventCallbacks=[],this._options=e.options,this._network=e.network,this._config=e}async getProvider(){if(this.provider)return this.provider;if(!this.providerPromise){let e=this._options.projectId;if(!e)throw Error(`[WalletConnectWallet] projectId is required to initialize UniversalProvider`);this.providerPromise=He.init({projectId:e,logger:this._options?.logger,relayUrl:this._options?.relayUrl,metadata:this._options?.metadata}).catch(e=>{throw this.providerPromise=null,e})}let e=await this.providerPromise;return this.provider=e,this._client=e.client,e}extractAddressFromSession(e){let t=Object.values(e.namespaces).flatMap(e=>e.accounts)[0];if(!t)throw Error(`[WalletConnectWallet] No accounts found in session`);let n=t.split(`:`)[2];if(!n)throw Error(`[WalletConnectWallet] Invalid account format: ${t}`);return n}extractAllAddressesFromSession(e){let t=Object.values(e.namespaces).flatMap(e=>e.accounts);return!t||t.length===0?[]:t.map(e=>e.split(`:`)[2]).filter(e=>!!e)}emit(e,...t){this.eventListeners.get(e)?.forEach(e=>{try{e(...t)}catch{}})}on(e,t){return this.eventListeners.has(e)||this.eventListeners.set(e,new Set),this.eventListeners.get(e).add(t),()=>this.off(e,t)}off(e,t){this.eventListeners.get(e)?.delete(t)}removeAllListeners(e){e?this.eventListeners.delete(e):this.eventListeners.clear()}setupSessionListeners(){if(!this._client||!this._session)return;let e=()=>{this._client&&(this.sessionHandlers.update&&this._client.off(`session_update`,this.sessionHandlers.update),this.sessionHandlers.delete&&this._client.off(`session_delete`,this.sessionHandlers.delete)),this.sessionHandlers={}};e(),this.sessionHandlers.update=({topic:e,params:t})=>{if(!this._session||this._session.topic!==e)return;let n;try{n=this._client?.session.get(e)}catch{return}if(!n)return;let r=this.extractAllAddressesFromSession(this._session);this._session={...n,namespaces:t?.namespaces||n.namespaces},this.address=this.extractAddressFromSession(this._session);let i=this.extractAllAddressesFromSession(this._session);JSON.stringify(r)!==JSON.stringify(i)&&this.emit(`accountsChanged`,i)},this.sessionHandlers.delete=({topic:t})=>{this._session?.topic===t&&(this._session=void 0,this.address=void 0,this.emit(`disconnect`),e())},this._client.on(`session_update`,this.sessionHandlers.update),this._client.on(`session_delete`,this.sessionHandlers.delete)}setupModalListeners(){if(this.appKit){for(;this.modalStateUnsubscribers.length>0;)this.modalStateUnsubscribers.shift()();for(;this.eventUnsubscribers.length>0;)this.eventUnsubscribers.shift()();for(;this.pendingModalCallbacks.length>0;){let e=this.pendingModalCallbacks.shift(),t=this.appKit.subscribeState(e.callback);this.modalStateUnsubscribers.push(t),e.unsubscribeRef.fn=t}for(;this.pendingEventCallbacks.length>0;){let e=this.pendingEventCallbacks.shift(),t=this.appKit.subscribeEvents(e.callback);this.eventUnsubscribers.push(t),e.unsubscribeRef.fn=t}}}async connect(e){let{onUri:t}=e||{},n=await this.getProvider(),r=n.client,i=r.find(gO(this._network)).filter(e=>e.acknowledged);if(i.length){this._session=i[i.length-1],this._client=r,this.address=this.extractAddressFromSession(this._session),this.setupSessionListeners();let e=this.extractAllAddressesFromSession(this._session);return this.emit(`accountsChanged`,e),{address:this.address}}else{if(t)return this.connectWithUri(t);if(!this.appKit){let{network:e,themeMode:t,themeVariables:r,allWallets:i,featuredWalletIds:a,includeWalletIds:o,excludeWalletIds:s,customWallets:c,enableAnalytics:l,debug:u,...d}=this._config,f=mO.get(this._network);this.appKit=cO({projectId:this._options.projectId,networks:[dO,fO,pO],defaultNetwork:f,themeMode:t,themeVariables:r,allWallets:i??`HIDE`,featuredWalletIds:a,includeWalletIds:o,excludeWalletIds:s,customWallets:c,enableAnalytics:l,debug:u,manualWCControl:!0,universalProvider:n,...d}),this.setupModalListeners()}await this.appKit.open();try{let e=!1,t,i=n.connect({pairingTopic:void 0,optionalNamespaces:gO(this._network).requiredNamespaces}),a=new Promise((n,r)=>{let i=!0;t=this.appKit.subscribeState(t=>{i&&!t.open&&!e&&r(Error(`User closed the connection modal`)),i=t.open})}),o=await Promise.race([i.then(t=>(e=!0,t)),a]).finally(()=>{t?.()});this._session=o,this._client=r,this.address=this.extractAddressFromSession(this._session),this.setupSessionListeners();let s=this.extractAllAddressesFromSession(this._session);return this.emit(`accountsChanged`,s),{address:this.address}}catch(e){throw e}finally{await this.appKit?.close()}}}async connectWithUri(e){let t=await this.getProvider(),n=t.client;t.once(`display_uri`,e);try{let e=await t.connect({pairingTopic:void 0,optionalNamespaces:gO(this._network).requiredNamespaces});this._session=e,this._client=n,this.address=this.extractAddressFromSession(this._session),this.setupSessionListeners();let r=this.extractAllAddressesFromSession(this._session);return this.emit(`accountsChanged`,r),{address:this.address}}catch(n){throw t.off(`display_uri`,e),n}}async disconnect(){try{for(this._client&&(this.sessionHandlers.update&&this._client.off(`session_update`,this.sessionHandlers.update),this.sessionHandlers.delete&&this._client.off(`session_delete`,this.sessionHandlers.delete),this.sessionHandlers={});this.modalStateUnsubscribers.length>0;)this.modalStateUnsubscribers.shift()();for(;this.eventUnsubscribers.length>0;)this.eventUnsubscribers.shift()();let e=Be(`USER_DISCONNECTED`),t=this._session?.topic||this.provider?.session?.topic;if(!t)throw new lO;let n=this.provider?.client||this._client;if(!n)throw new lO;await n.disconnect({topic:t,reason:e})}finally{this._session=void 0,this.address=void 0}}get client(){if(this._client)return this._client;throw new lO}async checkConnectStatus(){let e=(await this.getProvider()).client,t=e.find(gO(this._network)).filter(e=>e.acknowledged);if(t.length){this._session=t[t.length-1],this._client=e,this.address=this.extractAddressFromSession(this._session),this.setupSessionListeners();let n=this.extractAllAddressesFromSession(this._session);return this.emit(`accountsChanged`,n),{address:this.address}}else return{address:``}}async signTransaction(e){if(this._client&&this._session){let t=this._session.sessionProperties?.tron_method_version===`v1`,n=await this._client.request({chainId:this._network,topic:this._session.topic,request:{method:hO.signTransaction,params:t?{address:this.address,transaction:e}:{address:this.address,transaction:{transaction:e}}}});return n?.result?n.result:n}else throw new lO}async signMessage(e){if(this._client&&this._session){let{signature:t}=await this._client.request({chainId:this._network,topic:this._session.topic,request:{method:hO.signMessage,params:{address:this.address,message:e}}});return t}else throw new lO}async closeModal(){if(!this.appKit)throw Error(`[WalletConnectWallet] AppKit not initialized. Please call connect() first.`);await this.appKit.close()}setThemeMode(e){if(!this.appKit)throw Error(`[WalletConnectWallet] AppKit not initialized. Please call connect() first.`);this.appKit.setThemeMode(e)}subscribeModalState(e){if(!this.appKit){let t={},n={callback:e,unsubscribeRef:t};return this.pendingModalCallbacks.push(n),()=>{if(t.fn){t.fn();let e=this.modalStateUnsubscribers.indexOf(t.fn);e>-1&&this.modalStateUnsubscribers.splice(e,1)}else{let e=this.pendingModalCallbacks.indexOf(n);e>-1&&this.pendingModalCallbacks.splice(e,1)}}}let t=this.appKit.subscribeState(e);return this.modalStateUnsubscribers.push(t),()=>{t();let e=this.modalStateUnsubscribers.indexOf(t);e>-1&&this.modalStateUnsubscribers.splice(e,1)}}subscribeEvents(e){if(!this.appKit){let t={},n={callback:e,unsubscribeRef:t};return this.pendingEventCallbacks.push(n),()=>{if(t.fn){t.fn();let e=this.eventUnsubscribers.indexOf(t.fn);e>-1&&this.eventUnsubscribers.splice(e,1)}else{let e=this.pendingEventCallbacks.indexOf(n);e>-1&&this.pendingEventCallbacks.splice(e,1)}}}let t=this.appKit.subscribeEvents(e);return this.eventUnsubscribers.push(t),()=>{t();let e=this.eventUnsubscribers.indexOf(t);e>-1&&this.eventUnsubscribers.splice(e,1)}}},vO=function(e,t,n,r){function i(e){return e instanceof n?e:new n(function(t){t(e)})}return new(n||=Promise)(function(n,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){e.done?n(e.value):i(e.value).then(o,s)}c((r=r.apply(e,t||[])).next())})},yO=`WalletConnect`,bO=[`--w3m-font-family`,`--w3m-accent`,`--w3m-color-mix`,`--w3m-color-mix-strength`,`--w3m-font-size-master`,`--w3m-border-radius-master`,`--w3m-z-index`,`--w3m-qr-color`],xO=class extends er{constructor(e){if(super(),this.name=yO,this.url=`https://walletconnect.org`,this.icon=`data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzAwIiBoZWlnaHQ9IjMwMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJtNjEuNDM4NTQsOTQuMDAzOGM0OC45MTEyMywtNDcuODg4MTcgMTI4LjIxMTk5LC00Ny44ODgxNyAxNzcuMTIzMjEsMGw1Ljg4NjU1LDUuNzYzNDJjMi40NDU1NiwyLjM5NDQxIDIuNDQ1NTYsNi4yNzY1MSAwLDguNjcwOTJsLTIwLjEzNjcsMTkuNzE1NWMtMS4yMjI3OCwxLjE5NzIxIC0zLjIwNTMsMS4xOTcyMSAtNC40MjgwOCwwbC04LjEwMDU4LC03LjkzMTE1Yy0zNC4xMjE2OSwtMzMuNDA3OTggLTg5LjQ0Mzg5LC0zMy40MDc5OCAtMTIzLjU2NTU4LDBsLTguNjc1MDYsOC40OTM2MWMtMS4yMjI3OCwxLjE5NzIgLTMuMjA1MywxLjE5NzIgLTQuNDI4MDgsMGwtMjAuMTM2NjksLTE5LjcxNTVjLTIuNDQ1NTYsLTIuMzk0NDEgLTIuNDQ1NTYsLTYuMjc2NTIgMCwtOC42NzA5Mmw2LjQ2MTAxLC02LjMyNTg4em0yMTguNzY3OCw0MC43NzM3NWwxNy45MjE3LDE3LjU0Njg5YzIuNDQ1NTQsMi4zOTQ0IDIuNDQ1NTYsNi4yNzY0OCAwLjAwMDAzLDguNjcwODlsLTgwLjgxMDE3LDc5LjEyMTE0Yy0yLjQ0NTU1LDIuMzk0NDIgLTYuNDEwNTksMi4zOTQ0NSAtOC44NTYxNiwwLjAwMDA2Yy0wLjAwMDAxLC0wLjAwMDAxIC0wLjAwMDAzLC0wLjAwMDAyIC0wLjAwMDA0LC0wLjAwMDAzbC01Ny4zNTQxNCwtNTYuMTU0NThjLTAuNjExMzksLTAuNTk4NiAtMS42MDI2NSwtMC41OTg2IC0yLjIxNDA0LDBjMCwwLjAwMDAxIC0wLjAwMDAxLDAuMDAwMDEgLTAuMDAwMDEsMC4wMDAwMmwtNTcuMzUyOTIsNTYuMTU0NTNjLTIuNDQ1NTQsMi4zOTQ0MyAtNi40MTA1OCwyLjM5NDQ3IC04Ljg1NjE2LDAuMDAwMDhjLTAuMDAwMDIsLTAuMDAwMDEgLTAuMDAwMDMsLTAuMDAwMDIgLTAuMDAwMDUsLTAuMDAwMDRsLTgwLjgxMjQyLC03OS4xMjIxOWMtMi40NDU1NiwtMi4zOTQ0IC0yLjQ0NTU2LC02LjI3NjUxIDAsLTguNjcwOTFsMTcuOTIxNzMsLTE3LjU0Njg3YzIuNDQ1NTYsLTIuMzk0NDEgNi40MTA2LC0yLjM5NDQxIDguODU2MTYsMGw1Ny4zNTQ5OCw1Ni4xNTUzNWMwLjYxMTM5LDAuNTk4NjEgMS42MDI2NSwwLjU5ODYxIDIuMjE0MDQsMGMwLjAwMDAxLDAgMC4wMDAwMiwtMC4wMDAwMSAwLjAwMDAzLC0wLjAwMDAybDU3LjM1MjEsLTU2LjE1NTMzYzIuNDQ1NSwtMi4zOTQ0NyA2LjQxMDU0LC0yLjM5NDU2IDguODU2MTYsLTAuMDAwMmMwLjAwMDAzLDAuMDAwMDMgMC4wMDAwNywwLjAwMDA3IDAuMDAwMSwwLjAwMDFsNTcuMzU0OSw1Ni4xNTU0M2MwLjYxMTM5LDAuNTk4NiAxLjYwMjY1LDAuNTk4NiAyLjIxNDA0LDBsNTcuMzUzOTgsLTU2LjE1NDMyYzIuNDQ1NTYsLTIuMzk0NDEgNi40MTA2LC0yLjM5NDQxIDguODU2MTYsMHoiIGZpbGw9IiMzYjk5ZmMiIGlkPSJzdmdfMSIvPjwvc3ZnPg==`,this._readyState=$n.Found,this._state=z.Disconnect,this._disconnected=()=>{let e=this._wallet;e&&(e.off(`disconnect`,this._disconnected),e.off(`accountsChanged`,this._accountsChanged),this._address=null,this._state=z.Disconnect,this.emit(`disconnect`),this.emit(`stateChanged`,this._state))},this._accountsChanged=e=>{let t=this.address;this._address=e?.[0]||``,this.emit(`accountsChanged`,this.address||``,t||``)},!e||typeof e!=`object`)throw Error(`[WalletconnectAdapter] config is required.`);if(e=Object.assign({},e),e.network||=`Nile`,!e.options)throw Error(`[WalletconnectAdapter] config.options is required.`);let t={};e.web3ModalConfig?.themeVariables&&Object.entries(e.web3ModalConfig.themeVariables).forEach(([e,n])=>{let r=e.replace(`--wcm-`,`--w3m-`);bO.includes(r)&&(t[r]=n)}),e.themeMode=e.themeMode||e.web3ModalConfig?.themeMode,e.themeVariables=e.themeVariables||t,e.featuredWalletIds=e.featuredWalletIds||(e.web3ModalConfig?.explorerRecommendedWalletIds===`NONE`?void 0:e.web3ModalConfig?.explorerRecommendedWalletIds),e.privacyPolicyUrl=e.privacyPolicyUrl||e.web3ModalConfig?.privacyPolicyUrl,Reflect.deleteProperty(e,`web3ModalConfig`),this._connecting=!1,this._wallet=null,this._address=null,this._config=e}_getChainId(e){return uO[e]||(e.startsWith(`tron:`)?e:`tron:${e}`)}get address(){return this._address}get readyState(){return this._readyState}get state(){return this._state}get connecting(){return this._connecting}connect(e){return vO(this,void 0,void 0,function*(){try{if(this.connected||this.connecting)return;if(this.state===z.NotFound)throw new Bn;this._connecting=!0;let{onUri:t}=e||{},n=``;try{this._wallet||=new _O(Object.assign(Object.assign({},this._config),{network:this._getChainId(this._config.network)})),{address:n}=yield this._wallet.connect(t?{onUri:t}:void 0)}catch(e){throw e.message===`User closed the connection modal`?new Kn:new Hn(e?.message,e)}this._wallet.on(`disconnect`,this._disconnected),this._wallet.on(`accountsChanged`,this._accountsChanged),this._address=n||``,this._state=z.Connected,this.emit(`stateChanged`,this._state),this.emit(`connect`,n)}catch(e){throw this.emit(`error`,e),e}finally{this._connecting=!1}})}disconnect(){return vO(this,void 0,void 0,function*(){if(this.state===z.NotFound||!this.connected)return;let e=this._wallet;if(e){e.off(`disconnect`,this._disconnected),e.off(`accountsChanged`,this._accountsChanged),this._address=null;try{yield e.disconnect()}catch(e){this.emit(`error`,new Un(e?.message,e))}}this._state=z.Disconnect,this.emit(`disconnect`),this.emit(`stateChanged`,this._state)})}signTransaction(e){return vO(this,void 0,void 0,function*(){if(this.state!==z.Connected)throw new Vn;try{let t=this._wallet;if(!t)throw new Vn;try{return yield t.signTransaction(e)}catch(e){throw new Gn(e?.message,e)}}catch(e){throw this.emit(`error`,e),e}})}signMessage(e){return vO(this,void 0,void 0,function*(){try{if(this.state!==z.Connected)throw new Vn;let t=this._wallet;if(!t)throw new Vn;try{return yield t.signMessage(e)}catch(e){throw new Wn(e?.message,e)}}catch(e){throw this.emit(`error`,e),e}})}getConnectionStatus(){return vO(this,void 0,void 0,function*(){if(!this._wallet||!this.connected)return{address:``};try{return yield this._wallet.checkConnectStatus()}catch{return this._address=null,this._state=z.Disconnect,{address:``}}})}},SO=({adapter:e,metaConfig:t,walletDetailsParams:n})=>l(r=>({...n,id:ce[t].id,name:ce[t].name,type:ce[t].type,signTransaction:e.signTransaction.bind(e),connect:async t=>(r.emitter.emit(`message`,{type:`connecting`}),await e.connect(),r.storage?.removeItem(`tron.disconnected`),{accounts:t?.withCapabilities?[{address:e.address,capabilities:{}}]:[e.address],chainId:x.id}),disconnect:()=>(r.storage?.setItem(`tron.disconnected`,!0),e.disconnect()),getAccounts:async()=>(await d.liftEither(o.fromNullable([e.address]).toEither(Error(`No account found`)))).unsafeCoerce(),switchChain:async()=>x,getChainId:async()=>x.id,isAuthorized:async()=>await r.storage?.getItem(`tron.disconnected`)?!1:!!(e.connected&&e.address),onAccountsChanged:e=>{e.length===0?r.emitter.emit(`disconnect`):r.emitter.emit(`change`,{accounts:e})},onChainChanged:e=>{r.emitter.emit(`change`,{chainId:e})},onDisconnect:()=>{r.emitter.emit(`disconnect`)},getProvider:async()=>e,$filteredChains:new c([x]).asObservable()})),CO=({forceWalletConnectOnly:e})=>{let t=()=>({id:ce.tronWc.id,name:ce.tronWc.name,iconUrl:m.wcLogo,iconBackground:`#fff`,installed:!0,chainGroup:n,qrCode:{getUri:e=>e},createConnector:e=>SO({walletDetailsParams:e,metaConfig:`tronWc`,adapter:new xO({network:`Mainnet`,options:{customStoragePrefix:`tronwalletconnect_`,projectId:a.walletConnectV2.projectId},web3ModalConfig:{themeVariables:{"--wcm-z-index":`99999999999`}}})})}),n={iconUrl:s(b.Tron),title:`Tron`,id:`tron`};return{groupName:`Tron`,wallets:e?[t]:[()=>({id:ce.tronLink.id,name:ce.tronLink.name,iconUrl:u(`trx`),iconBackground:`#fff`,chainGroup:n,createConnector:e=>SO({walletDetailsParams:e,metaConfig:`tronLink`,adapter:new _r})}),t,()=>({id:ce.tronBg.id,name:ce.tronBg.name,iconUrl:m.bitget,iconBackground:`#fff`,chainGroup:n,createConnector:e=>SO({walletDetailsParams:e,adapter:new Sr,metaConfig:`tronBg`})}),()=>({id:ce.tronLedger.id,name:ce.tronLedger.name,iconUrl:m.ledgerLogo,iconBackground:`#fff`,chainGroup:n,createConnector:e=>SO({walletDetailsParams:e,metaConfig:`tronLedger`,adapter:new zD})})]}};export{CO as getTronConnectors};
|
|
288
|
+
`;function DD(){let e=document.createElement(`div`),t=document.createElement(`style`);t.innerHTML=ED,document.body.append(t),document.body.append(e);function n(){e.remove(),t.remove()}return{onClose:n,div:e}}function OD(){let{onClose:e,div:t}=DD();return cD($(CD,{title:vD().loadingTitle,onClose:e,children:$(SD,{})}),t),e}function kD(e){let{onClose:t,div:n}=DD();return cD($(CD,{width:550,title:vD().loadingTitle,onClose:t,children:$(xD,{address:e})}),n),t}function AD(e){let{onClose:t,div:n}=DD(),r=vD();return new Promise((i,a)=>{function o(e){i(e),t()}function s(){a(Error(`Operation is canceled.`)),t()}cD($(CD,{title:r.loadingTitle,onClose:s,children:$(TD,{accounts:e.accounts,selectedIndex:e.selectedIndex||0,onConfirm:o,onCancel:s,getAccounts:e.getAccounts})}),n)})}h();var jD=function(e,t,n,r){function i(e){return e instanceof n?e:new n(function(t){t(e)})}return new(n||=Promise)(function(n,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){e.done?n(e.value):i(e.value).then(o,s)}c((r=r.apply(e,t||[])).next())})};function MD(e){return jD(this,void 0,void 0,function*(){return new Promise(t=>{setTimeout(t,e)})})}function ND(e){return typeof e==`function`}var PD=function(e){return jD(this,arguments,void 0,function*({accounts:e,ledgerUtils:t}){let n=yield AD({accounts:e,getAccounts:t.getAccounts}),r=kD(n.address);try{yield t.getAddress(n.index,!0)}finally{r?.()}return n})},FD=class{constructor(e={}){this.app=null,this.transport=null,this.fetchState=`Initial`,this.selectedIndex=0,this._address=``,this.getAccounts=(e,t)=>jD(this,void 0,void 0,function*(){if(e<0)throw Error(`getAccount parameter error: from cannot be smaller than 0.`);if(e>=t)throw Error(`getAccount parameter error: from cannot be bigger than to.`);if(this.fetchState===`Fetching`)return yield MD(500),this.getAccounts(e,t);this.fetchState=`Fetching`,yield this.makeApp();try{let n={};for(let r=e;r<t;r++){let e=yield this.getAccount(r);n[e.index]=e}return Object.keys(n).forEach(e=>{this.accounts[+e]=n[e]}),this.accounts.slice(e,t)}finally{this.fetchState=`Initial`,yield this.cleanUp()}}),this.getAddress=(e,...t)=>jD(this,[e,...t],void 0,function*(e,t=!1){try{let n=this.getPathForIndex(e);return yield this.makeApp(),yield this.app.getAddress(n,t)}finally{yield this.cleanUp()}}),this.accounts=[];let{accountNumber:t=1}=e;if([`beforeConnect`,`selectAccount`,`getDerivationPath`].forEach(t=>{if(e[t]&&!ND(e[t]))throw Error(`[Ledger]: ${t} must be a function!`)}),t&&!Number.isInteger(+t))throw Error(`[Ledger]: accountNumber must be an integer!`);this.config=Object.assign(Object.assign({},e),{accountNumber:t})}get address(){return this._address}connect(e){return jD(this,void 0,void 0,function*(){if(e?.account&&typeof e.account==`object`){let t=e.account;this.selectedIndex=+t.index,this._address=t.address,t.index===void 0||t.address;return}let t={getAccounts:this.getAccounts,getAddress:this.getAddress};this.accounts=[],this._address=``,this.selectedIndex=0;let{accountNumber:n=1,beforeConnect:r,selectAccount:i=PD}=this.config,a=null;try{r?yield r():a=OD(),yield this.makeApp();let e=yield this.getAccount(0);this.accounts[0]=e,yield this.cleanUp(),n>1&&(yield this.getAccounts(1,n)),a?.();let o=yield i({accounts:this.accounts.slice(0,n),ledgerUtils:t});this.selectedIndex=o.index,this._address=o.address}finally{yield this.cleanUp()}})}disconnect(){this.selectedIndex=0,this._address=``}signPersonalMessage(e){return jD(this,void 0,void 0,function*(){return this._withApp((t,n)=>{let r=_.from(e).toString(`hex`);return t.signPersonalMessage(n,r)})})}signTransaction(e){return jD(this,void 0,void 0,function*(){let t=yield this._withApp((t,n)=>t.signTransaction(n,e.raw_data_hex,[]));return this._mergeSignature(e,t)})}signTransactionHash(e){return jD(this,void 0,void 0,function*(){let t=yield this._withApp((t,n)=>t.signTransactionHash(n,e.txID));return this._mergeSignature(e,t)})}_withApp(e){return jD(this,void 0,void 0,function*(){yield this.waitForIdle();try{let t=this.selectedIndex,n=this.getPathForIndex(t);return yield this.makeApp(),yield e(this.app,n)}finally{yield this.cleanUp()}})}_mergeSignature(e,t){let n=e.signature,r=Array.isArray(n)?n.includes(t)?n:[...n,t]:[t];return Object.assign(Object.assign({},e),{signature:r})}getAccount(e){return jD(this,void 0,void 0,function*(){let t=this.getPathForIndex(e),{address:n}=yield this.app.getAddress(t);return{path:t,address:n,index:e}})}waitForIdle(){return jD(this,void 0,void 0,function*(){this.fetchState===`Fetching`&&(yield MD(300),yield this.waitForIdle())})}getPathForIndex(e){return this.config.getDerivationPath?this.config.getDerivationPath(e):`44'/195'/${e}'/0/0`}makeApp(){return jD(this,void 0,void 0,function*(){this.transport&&this.app||(this.transport=yield AT.create(),this.app=new tT(this.transport))})}cleanUp(){return jD(this,void 0,void 0,function*(){this.app=null,yield this.transport?.close(),this.transport=null})}},ID=function(e,t,n,r){function i(e){return e instanceof n?e:new n(function(t){t(e)})}return new(n||=Promise)(function(n,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){e.done?n(e.value):i(e.value).then(o,s)}c((r=r.apply(e,t||[])).next())})},LD=()=>!!(globalThis.navigator&&globalThis.navigator.hid),RD=`Ledger`,zD=class extends er{constructor(e={}){super(),this.name=RD,this.url=`https://www.ledger.com/`,this.icon=`data:image/png;base64,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`,this._readyState=$n.Loading,this._state=z.NotFound,this._connecting=!1,this._address=null,this.config=e,this._wallet=new FD(e),LD()?(this._readyState=$n.Found,this._state=z.Disconnect):this._readyState=$n.NotFound}get address(){return this._address}get state(){return this._state}get connecting(){return this._connecting}get readyState(){return this._readyState}get ledgerUtils(){return{getAccounts:this._wallet.getAccounts,getAddress:this._wallet.getAddress}}connect(e){return ID(this,void 0,void 0,function*(){try{if(this.connected||this.connecting)return;if(this.state===z.NotFound)throw this.config.openUrlWhenWalletNotFound!==!1&&ar()&&window.open(this.url,`_blank`),new Bn;this._connecting=!0;try{yield this._wallet.connect(e)}catch(e){throw new Hn(`${e.message}.`)}this._address=this._wallet.address,this._state=z.Connected,this.emit(`connect`,this.address||``),this.emit(`stateChanged`,this._state)}catch(e){throw this.emit(`error`,e),e}finally{this._connecting=!1}})}disconnect(){return ID(this,void 0,void 0,function*(){if(this.state===z.Connected)try{this._wallet.disconnect(),this._state=z.Disconnect,this._address=null,this.emit(`disconnect`),this.emit(`stateChanged`,this._state)}catch(e){throw this.emit(`error`,e),new Un(e.message)}})}_checkAndSign(e,t,n){return ID(this,void 0,void 0,function*(){try{if(this.state!==z.Connected)throw new Vn;n&&n();try{return yield e()}catch(e){throw new t(e?.message,e)}}catch(e){throw this.emit(`error`,e),e}})}signTransaction(e){return ID(this,arguments,void 0,function*(e,t={}){let{fallbackToHashSign:n=!0}=t;return this._checkAndSign(()=>ID(this,void 0,void 0,function*(){try{return yield this._wallet.signTransaction(e)}catch(t){if(n&&/Too many bytes to encode/.test(t?.message))return yield this._wallet.signTransactionHash(e);throw t}}),Gn,()=>{if(!$C(e))throw new Gn(`Invalid transaction`)})})}signTransactionHash(e){return ID(this,void 0,void 0,function*(){return this._checkAndSign(()=>this._wallet.signTransactionHash(e),Gn,()=>{if(!$C(e))throw new Gn(`Invalid transaction`)})})}signMessage(e,t){return ID(this,void 0,void 0,function*(){return this._checkAndSign(()=>ID(this,void 0,void 0,function*(){let n=yield this._wallet.signPersonalMessage(e),{convertSuffix:r=!0}=t??{};return r?n.replace(/(00|01)$/,e=>e===`00`?`1b`:`1c`):n}),Wn)})}},BD=class e{constructor(){}static getInstance({projectId:t,chainId:n,enableLogger:r,onTimeout:i,abortController:a,getActiveCaipNetwork:o,getCaipNetworks:s}){return e.instance||=new Ze({projectId:t,chainId:n,enableLogger:r,onTimeout:i,abortController:a,getActiveCaipNetwork:o,getCaipNetworks:s,enableCloudAuthAccount:!!A.state.remoteFeatures?.emailCapture}),e.instance}},VD={hexStringToNumber(e){let t=e.startsWith(`0x`)?e.slice(2):e;return parseInt(t,16)},numberToHexString(e){return`0x${e.toString(16)}`},async getUserInfo(e){let[t,n]=await Promise.all([VD.getAddresses(e),VD.getChainId(e)]);return{chainId:n,addresses:t}},async getChainId(e){let t=await e.request({method:`eth_chainId`});return Number(t)},async getAddress(e){let[t]=await e.request({method:`eth_accounts`});return t},async getAddresses(e){return await e.request({method:`eth_accounts`})},async addEthereumChain(e,t){let n=t.rpcUrls.chainDefault?.http||[];await e.request({method:`wallet_addEthereumChain`,params:[{chainId:VD.numberToHexString(t.id),rpcUrls:[...n],chainName:t.name,nativeCurrency:{name:t.nativeCurrency.name,decimals:t.nativeCurrency.decimals,symbol:t.nativeCurrency.symbol},blockExplorerUrls:[t.blockExplorers?.default.url],iconUrls:[N.NetworkImageIds[t.id]]}]})}},HD={ACCOUNT_INDEXES:{PAYMENT:0,ORDINAL:1}};function UD(e){return{formatters:void 0,fees:void 0,serializers:void 0,...e}}var WD=UD({id:`5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp`,name:`Solana`,network:`solana-mainnet`,nativeCurrency:{name:`Solana`,symbol:`SOL`,decimals:9},rpcUrls:{default:{http:[`https://rpc.walletconnect.org/v1`]}},blockExplorers:{default:{name:`Solscan`,url:`https://solscan.io`}},testnet:!1,chainNamespace:`solana`,caipNetworkId:`solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp`,deprecatedCaipNetworkId:`solana:4sGjMW1sUnHzSxGspuhpqLDx6wiyjNtZ`}),GD=UD({id:`EtWTRABZaYq6iMfeYKouRu166VU2xqa1`,name:`Solana Devnet`,network:`solana-devnet`,nativeCurrency:{name:`Solana`,symbol:`SOL`,decimals:9},rpcUrls:{default:{http:[`https://rpc.walletconnect.org/v1`]}},blockExplorers:{default:{name:`Solscan`,url:`https://solscan.io`}},testnet:!0,chainNamespace:`solana`,caipNetworkId:`solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1`,deprecatedCaipNetworkId:`solana:8E9rvCKLFQia2Y35HXjjpWzj8weVo44K`});UD({id:`4uhcVJyU9pJkvQyS88uRDiswHXSCkY3z`,name:`Solana Testnet`,network:`solana-testnet`,nativeCurrency:{name:`Solana`,symbol:`SOL`,decimals:9},rpcUrls:{default:{http:[`https://rpc.walletconnect.org/v1`]}},blockExplorers:{default:{name:`Solscan`,url:`https://solscan.io`}},testnet:!0,chainNamespace:`solana`,caipNetworkId:`solana:4uhcVJyU9pJkvQyS88uRDiswHXSCkY3z`}),UD({id:`000000000019d6689c085ae165831e93`,caipNetworkId:`bip122:000000000019d6689c085ae165831e93`,chainNamespace:`bip122`,name:`Bitcoin`,nativeCurrency:{name:`Bitcoin`,symbol:`BTC`,decimals:8},rpcUrls:{default:{http:[`https://rpc.walletconnect.org/v1`]}}}),UD({id:`000000000933ea01ad0ee984209779ba`,caipNetworkId:`bip122:000000000933ea01ad0ee984209779ba`,chainNamespace:`bip122`,name:`Bitcoin Testnet`,nativeCurrency:{name:`Bitcoin`,symbol:`BTC`,decimals:8},rpcUrls:{default:{http:[`https://rpc.walletconnect.org/v1`]}},testnet:!0});var KD={solana:[`solana_signMessage`,`solana_signTransaction`,`solana_requestAccounts`,`solana_getAccounts`,`solana_signAllTransactions`,`solana_signAndSendTransaction`],eip155:[`eth_accounts`,`eth_requestAccounts`,`eth_sendRawTransaction`,`eth_sign`,`eth_signTransaction`,`eth_signTypedData`,`eth_signTypedData_v3`,`eth_signTypedData_v4`,`eth_sendTransaction`,`personal_sign`,`wallet_switchEthereumChain`,`wallet_addEthereumChain`,`wallet_getPermissions`,`wallet_requestPermissions`,`wallet_registerOnboarding`,`wallet_watchAsset`,`wallet_scanQRCode`,`wallet_getCallsStatus`,`wallet_showCallsStatus`,`wallet_sendCalls`,`wallet_getCapabilities`,`wallet_grantPermissions`,`wallet_revokePermissions`,`wallet_getAssets`],bip122:[`sendTransfer`,`signMessage`,`signPsbt`,`getAccountAddresses`]},qD={getMethodsByChainNamespace(e){return KD[e]||[]},createDefaultNamespace(e){return{methods:this.getMethodsByChainNamespace(e),events:[`accountsChanged`,`chainChanged`],chains:[],rpcMap:{}}},applyNamespaceOverrides(e,t){if(!t)return{...e};let n={...e},r=new Set;if(t.methods&&Object.keys(t.methods).forEach(e=>r.add(e)),t.chains&&Object.keys(t.chains).forEach(e=>r.add(e)),t.events&&Object.keys(t.events).forEach(e=>r.add(e)),t.rpcMap&&Object.keys(t.rpcMap).forEach(e=>{let[t]=e.split(`:`);t&&r.add(t)}),r.forEach(e=>{n[e]||(n[e]=this.createDefaultNamespace(e))}),t.methods&&Object.entries(t.methods).forEach(([e,t])=>{n[e]&&(n[e].methods=t)}),t.chains&&Object.entries(t.chains).forEach(([e,t])=>{n[e]&&(n[e].chains=t)}),t.events&&Object.entries(t.events).forEach(([e,t])=>{n[e]&&(n[e].events=t)}),t.rpcMap){let e=new Set;Object.entries(t.rpcMap).forEach(([t,r])=>{let[i,a]=t.split(`:`);!i||!a||!n[i]||(n[i].rpcMap||(n[i].rpcMap={}),e.has(i)||(n[i].rpcMap={},e.add(i)),n[i].rpcMap[a]=r)})}return n},createNamespaces(e,t){let n=e.reduce((e,t)=>{let{id:n,chainNamespace:r,rpcUrls:i}=t,a=i.default.http[0];e[r]||(e[r]=this.createDefaultNamespace(r));let o=`${r}:${n}`,s=e[r];switch(s.chains.push(o),o){case WD.caipNetworkId:s.chains.push(WD.deprecatedCaipNetworkId);break;case GD.caipNetworkId:s.chains.push(GD.deprecatedCaipNetworkId);break;default:}return s?.rpcMap&&a&&(s.rpcMap[n]=a),e},{});return this.applyNamespaceOverrides(n,t)},resolveReownName:async e=>{let t=await M.resolveName(e);return(Object.values(t?.addresses)||[])[0]?.address||!1},getChainsFromNamespaces(e={}){return Object.values(e).flatMap(e=>{let t=e.chains||[],n=e.accounts.map(e=>{let[t,n]=e.split(`:`);return`${t}:${n}`});return Array.from(new Set([...t,...n]))})},isSessionEventData(e){return typeof e==`object`&&!!e&&`id`in e&&`topic`in e&&`params`in e&&typeof e.params==`object`&&e.params!==null&&`chainId`in e.params&&`event`in e.params&&typeof e.params.event==`object`&&e.params.event!==null},isOriginAllowed(e,t,n){for(let r of[...t,...n])if(r.includes(`*`)){let t=`^${r.replace(/[.*+?^${}()|[\]\\]/gu,`\\$&`).replace(/\\\*/gu,`.*`)}$`;if(new RegExp(t,`u`).test(e))return!0}else try{if(new URL(r).origin===e)return!0}catch{if(r===e)return!0}return!1},listenWcProvider({universalProvider:e,namespace:t,onConnect:n,onDisconnect:r,onAccountsChanged:i,onChainChanged:a,onDisplayUri:o}){n&&e.on(`connect`,()=>{n(qD.getWalletConnectAccounts(e,t))}),r&&e.on(`disconnect`,()=>{r()}),i&&e.on(`accountsChanged`,n=>{try{let r=e.session?.namespaces?.[t]?.accounts||[],a=e.rpcProviders?.[t]?.getDefaultChain(),o=n.map(e=>{let n=r.find(n=>n.includes(`${t}:${a}:${e}`));if(!n)return;let{chainId:i,chainNamespace:o}=E.parseCaipAddress(n);return{address:e,chainId:i,chainNamespace:o}}).filter(e=>e!==void 0);o.length>0&&i(o)}catch{}}),a&&e.on(`chainChanged`,e=>{a(e)}),o&&e.on(`display_uri`,e=>{o(e)})},getWalletConnectAccounts(e,t){let n=new Set,r=e?.session?.namespaces?.[t]?.accounts?.map(e=>E.parseCaipAddress(e)).filter(({address:e})=>n.has(e.toLowerCase())?!1:(n.add(e.toLowerCase()),!0));return r&&r.length>0?r:[]}},JD=class{constructor(e){this.namespace=e.namespace}async syncConnections(e){switch(this.namespace){case O.CHAIN.EVM:await this.syncEVMConnections(e);break;case O.CHAIN.SOLANA:await this.syncSolanaConnections(e);break;case O.CHAIN.BITCOIN:await this.syncBitcoinConnections(e);break;default:throw Error(`Unsupported chain namespace: ${this.namespace}`)}}async syncEVMConnections({connectors:e,caipNetworks:t,universalProvider:n,getConnectionStatusInfo:r,onConnection:i,onListenProvider:a}){await Promise.all(e.filter(e=>{let{hasDisconnected:t,hasConnected:n}=r(e.id);return!t&&n}).map(async e=>{if(e.id===O.CONNECTOR_ID.WALLET_CONNECT){let r=qD.getWalletConnectAccounts(n,this.namespace),a=t.find(e=>e.chainNamespace===this.namespace&&e.id.toString()===r[0]?.chainId?.toString());r.length>0&&i({connectorId:e.id,accounts:r.map(e=>({address:e.address})),caipNetwork:a})}else{let{accounts:n,chainId:r}=await Je.fetchProviderData(e);if(n.length>0&&r){let o=t.find(e=>e.chainNamespace===this.namespace&&e.id.toString()===r.toString());i({connectorId:e.id,accounts:n.map(e=>({address:e})),caipNetwork:o}),e.provider&&e.id!==O.CONNECTOR_ID.AUTH&&e.id!==O.CONNECTOR_ID.WALLET_CONNECT&&a(e.id,e.provider)}}}))}async syncSolanaConnections({connectors:e,caipNetwork:t,universalProvider:n,getConnectionStatusInfo:r,onConnection:i,onListenProvider:a}){await Promise.all(e.filter(e=>{let{hasDisconnected:t,hasConnected:n}=r(e.id);return!t&&n}).map(async e=>{if(e.id===O.CONNECTOR_ID.WALLET_CONNECT){let r=qD.getWalletConnectAccounts(n,this.namespace);r.length>0&&i({connectorId:e.id,accounts:r.map(e=>({address:e.address})),caipNetwork:t})}else{let n=await e.connect({chainId:t?.id});n&&(i({connectorId:e.id,accounts:[{address:n}],caipNetwork:t}),a(e.id,e.provider))}}))}async syncBitcoinConnections({connectors:e,caipNetwork:t,universalProvider:n,getConnectionStatusInfo:r,onConnection:i,onListenProvider:a}){await Promise.all(e.filter(e=>{let{hasDisconnected:t,hasConnected:n}=r(e.id);return!t&&n}).map(async e=>{if(e.id===O.CONNECTOR_ID.WALLET_CONNECT){let r=qD.getWalletConnectAccounts(n,this.namespace);r.length>0&&i({connectorId:e.id,accounts:r.map(e=>({address:e.address})),caipNetwork:t});return}let r=await e.connect(),o=(await e.getAccountAddresses())?.map(e=>xe.createAccount(O.CHAIN.BITCOIN,e.address,e.purpose||`payment`,e.publicKey,e.path));if(o&&o.length>1&&(o=[{namespace:O.CHAIN.BITCOIN,publicKey:o[HD.ACCOUNT_INDEXES.PAYMENT]?.publicKey??``,path:o[HD.ACCOUNT_INDEXES.PAYMENT]?.path??``,address:o[HD.ACCOUNT_INDEXES.PAYMENT]?.address??``,type:`payment`},{namespace:O.CHAIN.BITCOIN,publicKey:o[HD.ACCOUNT_INDEXES.ORDINAL]?.publicKey??``,path:o[HD.ACCOUNT_INDEXES.ORDINAL]?.path??``,address:o[HD.ACCOUNT_INDEXES.ORDINAL]?.address??``,type:`ordinal`}]),!(e.chains.find(e=>e.id===t?.id)||e.chains[0]))throw Error(`The connector does not support any of the requested chains`);r&&(a(e.id,e.provider),i({connectorId:e.id,accounts:o.map(e=>({address:e.address,type:e.type})),caipNetwork:t}))}))}getConnection({address:e,connectorId:t,connections:n,connectors:r}){if(t){let i=n.find(e=>Ge.isLowerCaseMatch(e.connectorId,t));if(!i)return null;let a=r.find(e=>Ge.isLowerCaseMatch(e.id,i.connectorId)),o=e?i.accounts.find(t=>Ge.isLowerCaseMatch(t.address,e)):i.accounts[0];return{...i,account:o,connector:a}}let i=n.find(e=>e.accounts.length>0&&r.some(t=>Ge.isLowerCaseMatch(t.id,e.connectorId)));if(i){let[e]=i.accounts,t=r.find(e=>Ge.isLowerCaseMatch(e.id,i.connectorId));return{...i,account:e,connector:t}}return null}},YD={ERROR_CODE_UNRECOGNIZED_CHAIN_ID:4902,ERROR_CODE_DEFAULT:5e3,ERROR_INVALID_CHAIN_ID:32603,DEFAULT_ALLOWED_ANCESTORS:[`http://localhost:*`,`https://localhost:*`,`http://127.0.0.1:*`,`https://127.0.0.1:*`,`https://*.pages.dev`,`https://*.vercel.app`,`https://*.ngrok-free.app`,`https://secure-mobile.walletconnect.com`,`https://secure-mobile.walletconnect.org`]},XD=class{constructor({provider:e,namespace:t}){this.id=O.CONNECTOR_ID.WALLET_CONNECT,this.name=N.ConnectorNamesMap[O.CONNECTOR_ID.WALLET_CONNECT],this.type=`WALLET_CONNECT`,this.imageId=N.ConnectorImageIds[O.CONNECTOR_ID.WALLET_CONNECT],this.getCaipNetworks=k.getCaipNetworks.bind(k),this.caipNetworks=this.getCaipNetworks(),this.provider=e,this.chain=t}get chains(){return this.getCaipNetworks()}async connectWalletConnect(){if(!await this.authenticate()){let e=this.getCaipNetworks(),t=A.state.universalProviderConfigOverride,n=qD.createNamespaces(e,t);await this.provider.connect({optionalNamespaces:n})}return{clientId:await this.provider.client.core.crypto.getClientId(),session:this.provider.session}}async disconnect(){await this.provider.disconnect()}async authenticate(){let e=this.chains.map(e=>e.caipNetworkId);return Ue.universalProviderAuthenticate({universalProvider:this.provider,chains:e,methods:ZD})}},ZD=[`eth_accounts`,`eth_requestAccounts`,`eth_sendRawTransaction`,`eth_sign`,`eth_signTransaction`,`eth_signTypedData`,`eth_signTypedData_v3`,`eth_signTypedData_v4`,`eth_sendTransaction`,`personal_sign`,`wallet_switchEthereumChain`,`wallet_addEthereumChain`,`wallet_getPermissions`,`wallet_requestPermissions`,`wallet_registerOnboarding`,`wallet_watchAsset`,`wallet_scanQRCode`,`wallet_getCallsStatus`,`wallet_sendCalls`,`wallet_getCapabilities`,`wallet_grantPermissions`,`wallet_revokePermissions`,`wallet_getAssets`],QD=[O.CONNECTOR_ID.AUTH,O.CONNECTOR_ID.WALLET_CONNECT],$D=class{constructor(e){this.availableConnectors=[],this.availableConnections=[],this.providerHandlers={},this.eventListeners=new Map,this.getCaipNetworks=e=>k.getCaipNetworks(e),this.getConnectorId=e=>Me.getConnectorId(e),e&&this.construct(e),e?.namespace&&(this.connectionManager=new JD({namespace:e.namespace}))}construct(e){this.projectId=e.projectId,this.namespace=e.namespace,this.adapterType=e.adapterType}get connectors(){return this.availableConnectors}get connections(){return this.availableConnections}get networks(){return this.getCaipNetworks(this.namespace)}onAuthConnected({accounts:e,chainId:t}){let n=this.getCaipNetworks().filter(e=>e.chainNamespace===this.namespace).find(e=>e.id.toString()===t?.toString());e&&n&&this.addConnection({connectorId:O.CONNECTOR_ID.AUTH,accounts:e,caipNetwork:n})}setAuthProvider(e){e.onConnect(this.onAuthConnected.bind(this)),e.onSocialConnected(this.onAuthConnected.bind(this)),this.addConnector({id:O.CONNECTOR_ID.AUTH,type:`AUTH`,name:O.CONNECTOR_NAMES.AUTH,provider:e,imageId:N.ConnectorImageIds[O.CONNECTOR_ID.AUTH],chain:this.namespace,chains:[]})}addConnector(...e){let t=new Set;this.availableConnectors=[...e,...this.availableConnectors].filter(e=>t.has(e.id)?!1:(t.add(e.id),!0)),this.emit(`connectors`,this.availableConnectors)}addConnection(...e){let t=new Set;this.availableConnections=[...e,...this.availableConnections].filter(e=>t.has(e.connectorId.toLowerCase())?!1:(t.add(e.connectorId.toLowerCase()),!0)),this.emit(`connections`,this.availableConnections)}deleteConnection(e){this.availableConnections=this.availableConnections.filter(t=>!Ge.isLowerCaseMatch(t.connectorId,e)),this.emit(`connections`,this.availableConnections)}clearConnections(e=!1){this.availableConnections=[],e&&this.emit(`connections`,this.availableConnections)}setStatus(e,t){Ie.setStatus(e,t)}on(e,t){this.eventListeners.has(e)||this.eventListeners.set(e,new Set),this.eventListeners.get(e)?.add(t)}off(e,t){let n=this.eventListeners.get(e);n&&n.delete(t)}removeAllEventListeners(){this.eventListeners.forEach(e=>{e.clear()})}emit(e,t){let n=this.eventListeners.get(e);n&&n.forEach(e=>e(t))}async connectWalletConnect(e){return{clientId:(await this.getWalletConnectConnector().connectWalletConnect()).clientId}}async switchNetwork(e){let{caipNetwork:t,providerType:n}=e;if(!e.provider)return;let r=`provider`in e.provider?e.provider.provider:e.provider;if(n===`WALLET_CONNECT`){r.setDefaultChain(t.caipNetworkId);return}if(r&&n===`AUTH`){let e=r,n=Ne(t.chainNamespace);await e.switchNetwork({chainId:t.caipNetworkId});let i=await e.getUser({chainId:t.caipNetworkId,preferredAccountType:n});this.emit(`switchNetwork`,i)}}getWalletConnectConnector(){let e=this.connectors.find(e=>e instanceof XD);if(!e)throw Error(`WalletConnectConnector not found`);return e}onConnect(e,t){if(e.length>0){let{address:n,chainId:r}=xe.getAccount(e[0]),i=this.getCaipNetworks().filter(e=>e.chainNamespace===this.namespace).find(e=>e.id.toString()===r?.toString()),a=this.connectors.find(e=>e.id===t);n&&(this.emit(`accountChanged`,{address:n,chainId:r,connector:a}),this.addConnection({connectorId:t,accounts:e.map(e=>{let{address:t}=xe.getAccount(e);return{address:t}}),caipNetwork:i}))}}onAccountsChanged(e,t,n=!0){if(e.length>0){let{address:n}=xe.getAccount(e[0]),r=this.connectionManager?.getConnection({connectorId:t,connections:this.connections,connectors:this.connectors});n&&Ge.isLowerCaseMatch(this.getConnectorId(O.CHAIN.EVM),t)&&this.emit(`accountChanged`,{address:n,chainId:r?.caipNetwork?.id,connector:r?.connector}),this.addConnection({connectorId:t,accounts:e.map(e=>{let{address:t}=xe.getAccount(e);return{address:t}}),caipNetwork:r?.caipNetwork})}else n&&this.onDisconnect(t)}onDisconnect(e){this.removeProviderListeners(e),this.deleteConnection(e),Ge.isLowerCaseMatch(this.getConnectorId(O.CHAIN.EVM),e)&&this.emitFirstAvailableConnection(),this.connections.length===0&&this.emit(`disconnect`)}onChainChanged(e,t){let n=typeof e==`string`&&e.startsWith(`0x`)?VD.hexStringToNumber(e).toString():e.toString(),r=this.connectionManager?.getConnection({connectorId:t,connections:this.connections,connectors:this.connectors}),i=this.getCaipNetworks().filter(e=>e.chainNamespace===this.namespace).find(e=>e.id.toString()===n);r&&this.addConnection({connectorId:t,accounts:r.accounts,caipNetwork:i}),Ge.isLowerCaseMatch(this.getConnectorId(O.CHAIN.EVM),t)&&this.emit(`switchNetwork`,{chainId:n})}listenProviderEvents(e,t){if(QD.includes(e))return;let n=t=>this.onAccountsChanged(t,e),r=t=>this.onChainChanged(t,e),i=()=>this.onDisconnect(e);this.providerHandlers[e]||(t.on(`disconnect`,i),t.on(`accountsChanged`,n),t.on(`chainChanged`,r),this.providerHandlers[e]={provider:t,disconnect:i,accountsChanged:n,chainChanged:r})}removeProviderListeners(e){if(this.providerHandlers[e]){let{provider:t,disconnect:n,accountsChanged:r,chainChanged:i}=this.providerHandlers[e];t.removeListener(`disconnect`,n),t.removeListener(`accountsChanged`,r),t.removeListener(`chainChanged`,i),this.providerHandlers[e]=null}}emitFirstAvailableConnection(){let e=this.connectionManager?.getConnection({connections:this.connections,connectors:this.connectors});if(e){let[t]=e.accounts;this.emit(`accountChanged`,{address:t?.address,chainId:e.caipNetwork?.id,connector:e.connector})}}},eO=class extends $D{async setUniversalProvider(e){if(!this.namespace)throw Error(`UniversalAdapter:setUniversalProvider - namespace is required`);return this.addConnector(new XD({provider:e,caipNetworks:this.getCaipNetworks(),namespace:this.namespace})),Promise.resolve()}async connect(e){return Promise.resolve({id:`WALLET_CONNECT`,type:`WALLET_CONNECT`,chainId:Number(e.chainId),provider:this.provider,address:``})}async disconnect(){try{await this.getWalletConnectConnector().disconnect(),this.emit(`disconnect`)}catch{}return{connections:[]}}syncConnections(){return Promise.resolve()}async getAccounts({namespace:e}){let t=this.provider?.session?.namespaces?.[e]?.accounts?.map(e=>{let[,,t]=e.split(`:`);return t}).filter((e,t,n)=>n.indexOf(e)===t)||[];return Promise.resolve({accounts:t.map(t=>xe.createAccount(e,t,e===`bip122`?`payment`:`eoa`))})}async syncConnectors(){return Promise.resolve()}async getBalance(e){if(!(e.caipNetwork&&T.BALANCE_SUPPORTED_CHAINS.includes(e.caipNetwork?.chainNamespace))||e.caipNetwork?.testnet)return{balance:`0.00`,symbol:e.caipNetwork?.nativeCurrency.symbol||``};if(Ie.state.balanceLoading&&e.chainId===k.state.activeCaipNetwork?.id)return{balance:Ie.state.balance||`0.00`,symbol:Ie.state.balanceSymbol||``};let t=(await Ie.fetchTokenBalance()).find(t=>t.chainId===`${e.caipNetwork?.chainNamespace}:${e.chainId}`&&t.symbol===e.caipNetwork?.nativeCurrency.symbol);return{balance:t?.quantity.numeric||`0.00`,symbol:t?.symbol||e.caipNetwork?.nativeCurrency.symbol||``}}async signMessage(e){let{provider:t,message:n,address:r}=e;if(!t)throw Error(`UniversalAdapter:signMessage - provider is undefined`);let i=``;return i=k.state.activeCaipNetwork?.chainNamespace===O.CHAIN.SOLANA?(await t.request({method:`solana_signMessage`,params:{message:S.encode(new TextEncoder().encode(n)),pubkey:r}},k.state.activeCaipNetwork?.caipNetworkId)).signature:await t.request({method:`personal_sign`,params:[n,r]},k.state.activeCaipNetwork?.caipNetworkId),{signature:i}}async estimateGas(){return Promise.resolve({gas:BigInt(0)})}async sendTransaction(){return Promise.resolve({hash:``})}walletGetAssets(e){return Promise.resolve({})}async writeContract(){return Promise.resolve({hash:``})}emitFirstAvailableConnection(){}parseUnits(){return 0n}formatUnits(){return`0`}async getCapabilities(){return Promise.resolve({})}async grantPermissions(){return Promise.resolve({})}async revokePermissions(){return Promise.resolve(`0x`)}async syncConnection(){return Promise.resolve({id:`WALLET_CONNECT`,type:`WALLET_CONNECT`,chainId:1,provider:this.provider,address:``})}async switchNetwork(e){let{caipNetwork:t}=e,n=this.getWalletConnectConnector();if(t.chainNamespace===O.CHAIN.EVM)try{await n.provider?.request({method:`wallet_switchEthereumChain`,params:[{chainId:v(t.id)}]})}catch(e){if(e.code===YD.ERROR_CODE_UNRECOGNIZED_CHAIN_ID||e.code===YD.ERROR_INVALID_CHAIN_ID||e.code===YD.ERROR_CODE_DEFAULT||e?.data?.originalError?.code===YD.ERROR_CODE_UNRECOGNIZED_CHAIN_ID)try{await n.provider?.request({method:`wallet_addEthereumChain`,params:[{chainId:v(t.id),rpcUrls:[t?.rpcUrls.chainDefault?.http],chainName:t.name,nativeCurrency:t.nativeCurrency,blockExplorerUrls:[t.blockExplorers?.default.url]}]})}catch{throw Error(`Chain is not supported`)}}n.provider.setDefaultChain(t.caipNetworkId)}getWalletConnectProvider(){return this.connectors.find(e=>e.type===`WALLET_CONNECT`)?.provider}},tO=[`email`,`socials`,`swaps`,`onramp`,`activity`,`reownBranding`,`multiWallet`,`emailCapture`,`payWithExchange`,`payments`,`reownAuthentication`],nO={email:{apiFeatureName:`social_login`,localFeatureName:`email`,returnType:!1,isLegacy:!1,isAvailableOnBasic:!1,processApi:e=>{if(!e?.config)return!1;let t=e.config;return!!e.isEnabled&&t.includes(`email`)},processFallback:e=>e===void 0?T.DEFAULT_REMOTE_FEATURES.email:!!e},socials:{apiFeatureName:`social_login`,localFeatureName:`socials`,returnType:!1,isLegacy:!1,isAvailableOnBasic:!1,processApi:e=>{if(!e?.config)return!1;let t=e.config;return e.isEnabled&&t.length>0?t.filter(e=>e!==`email`):!1},processFallback:e=>e===void 0?T.DEFAULT_REMOTE_FEATURES.socials:typeof e==`boolean`?e?T.DEFAULT_REMOTE_FEATURES.socials:!1:e},swaps:{apiFeatureName:`swap`,localFeatureName:`swaps`,returnType:!1,isLegacy:!1,isAvailableOnBasic:!1,processApi:e=>{if(!e?.config)return!1;let t=e.config;return e.isEnabled&&t.length>0?t:!1},processFallback:e=>e===void 0?T.DEFAULT_REMOTE_FEATURES.swaps:typeof e==`boolean`?e?T.DEFAULT_REMOTE_FEATURES.swaps:!1:e},onramp:{apiFeatureName:`onramp`,localFeatureName:`onramp`,returnType:!1,isLegacy:!1,isAvailableOnBasic:!1,processApi:e=>{if(!e?.config)return!1;let t=e.config;return e.isEnabled&&t.length>0?t:!1},processFallback:e=>e===void 0?T.DEFAULT_REMOTE_FEATURES.onramp:typeof e==`boolean`?e?T.DEFAULT_REMOTE_FEATURES.onramp:!1:e},activity:{apiFeatureName:`activity`,localFeatureName:`history`,returnType:!1,isLegacy:!0,isAvailableOnBasic:!1,processApi:e=>!!e.isEnabled,processFallback:e=>e===void 0?T.DEFAULT_REMOTE_FEATURES.activity:!!e},reownBranding:{apiFeatureName:`reown_branding`,localFeatureName:`reownBranding`,returnType:!1,isLegacy:!1,isAvailableOnBasic:!1,processApi:e=>!!e.isEnabled,processFallback:e=>e===void 0?T.DEFAULT_REMOTE_FEATURES.reownBranding:!!e},emailCapture:{apiFeatureName:`email_capture`,localFeatureName:`emailCapture`,returnType:!1,isLegacy:!1,isAvailableOnBasic:!1,processApi:e=>e.isEnabled&&(e.config??[]),processFallback:e=>!1},multiWallet:{apiFeatureName:`multi_wallet`,localFeatureName:`multiWallet`,returnType:!1,isLegacy:!1,isAvailableOnBasic:!1,processApi:e=>!!e.isEnabled,processFallback:()=>T.DEFAULT_REMOTE_FEATURES.multiWallet},payWithExchange:{apiFeatureName:`fund_from_exchange`,localFeatureName:`payWithExchange`,returnType:!1,isLegacy:!1,isAvailableOnBasic:!1,processApi:e=>!!e.isEnabled,processFallback:()=>T.DEFAULT_REMOTE_FEATURES.payWithExchange},payments:{apiFeatureName:`payments`,localFeatureName:`payments`,returnType:!1,isLegacy:!1,isAvailableOnBasic:!1,processApi:e=>!!e.isEnabled,processFallback:()=>T.DEFAULT_REMOTE_FEATURES.payments},reownAuthentication:{apiFeatureName:`reown_authentication`,localFeatureName:`reownAuthentication`,returnType:!1,isLegacy:!1,isAvailableOnBasic:!1,processApi:e=>!!e.isEnabled,processFallback:e=>e===void 0?T.DEFAULT_REMOTE_FEATURES.reownAuthentication:!!e}},rO={localSettingsOverridden:new Set,getApiConfig(e,t){return t?.find(t=>t.id===e)},addWarning(e,t){if(e!==void 0){let e=nO[t],n=e.isLegacy?`"features.${e.localFeatureName}" (now "${t}")`:`"features.${t}"`;this.localSettingsOverridden.add(n)}},processFeature(e,t,n,r,i){let a=nO[e],o=t[a.localFeatureName];if(i&&!a.isAvailableOnBasic)return!1;if(r){let t=this.getApiConfig(a.apiFeatureName,n);return t?.config===null?this.processFallbackFeature(e,o):t?.config?(o!==void 0&&this.addWarning(o,e),this.processApiFeature(e,t)):!1}return this.processFallbackFeature(e,o)},processApiFeature(e,t){return nO[e].processApi(t)},processFallbackFeature(e,t){return nO[e].processFallback(t)},async fetchRemoteFeatures(e){let t=e.basic??!1,n=e.features||{};this.localSettingsOverridden.clear();let r=null,i=!1;try{r=await Ee.fetchProjectConfig(),i=r!=null}catch{}let a=i&&!t?T.DEFAULT_REMOTE_FEATURES:T.DEFAULT_REMOTE_FEATURES_DISABLED;try{for(let e of tO){let o=this.processFeature(e,n,r,i,t);Object.assign(a,{[e]:o})}}catch{return T.DEFAULT_REMOTE_FEATURES}if(i&&this.localSettingsOverridden.size>0){let e=`Your local configuration for ${Array.from(this.localSettingsOverridden).join(`, `)} was ignored because a remote configuration was successfully fetched. Please manage these features via your project dashboard on dashboard.reown.com.`;Se.open({debugMessage:Ye.ALERT_WARNINGS.LOCAL_CONFIGURATION_IGNORED.debugMessage(e)},`warning`)}return a}},iO=class{constructor(e){this.chainNamespaces=[],this.remoteFeatures={},this.reportedAlertErrors={},this.getCaipNetwork=(e,t)=>e?k.getCaipNetworks(e)?.find(e=>e.id===t)||k.getNetworkData(e)?.caipNetwork||k.getRequestedCaipNetworks(e).filter(t=>t.chainNamespace===e)?.[0]:k.state.activeCaipNetwork||this.defaultCaipNetwork,this.getCaipNetworkId=()=>{let e=this.getCaipNetwork();if(e)return e.id},this.getCaipNetworks=e=>k.getCaipNetworks(e),this.getActiveChainNamespace=()=>k.state.activeChain,this.setRequestedCaipNetworks=(e,t)=>{k.setRequestedCaipNetworks(e,t)},this.getApprovedCaipNetworkIds=()=>k.getAllApprovedCaipNetworkIds(),this.getCaipAddress=e=>k.state.activeChain===e||!e?k.state.activeCaipAddress:k.state.chains.get(e)?.accountState?.caipAddress,this.setClientId=e=>{Pe.setClientId(e)},this.getProvider=e=>Xe.getProvider(e),this.getProviderType=e=>Xe.getProviderId(e),this.getPreferredAccountType=e=>Ne(e),this.setCaipAddress=(e,t)=>{Ie.setCaipAddress(e,t)},this.setBalance=(e,t,n)=>{Ie.setBalance(e,t,n)},this.setProfileName=(e,t)=>{Ie.setProfileName(e,t)},this.setProfileImage=(e,t)=>{Ie.setProfileImage(e,t)},this.setUser=(e,t)=>{Ie.setUser(e,t)},this.resetAccount=e=>{Ie.resetAccount(e)},this.setCaipNetwork=e=>{k.setActiveCaipNetwork(e)},this.setCaipNetworkOfNamespace=(e,t)=>{k.setChainNetworkData(t,{caipNetwork:e})},this.setStatus=(e,t)=>{Ie.setStatus(e,t),Me.isConnected()?D.setConnectionStatus(`connected`):D.setConnectionStatus(`disconnected`)},this.getAddressByChainNamespace=e=>k.state.chains.get(e)?.accountState?.address,this.setConnectors=e=>{let t=[...Me.state.allConnectors,...e];Me.setConnectors(t)},this.setConnections=(e,t)=>{D.setConnections(e,t),Fe.setConnections(e,t)},this.fetchIdentity=e=>Pe.fetchIdentity(e),this.getReownName=e=>M.getNamesForAddress(e),this.getConnectors=()=>Me.getConnectors(),this.getConnectorImage=e=>ye.getConnectorImage(e),this.getConnections=e=>this.remoteFeatures.multiWallet?Le.getConnectionsData(e).connections:(Se.open(O.REMOTE_FEATURES_ALERTS.MULTI_WALLET_NOT_ENABLED.DEFAULT,`info`),[]),this.getRecentConnections=e=>this.remoteFeatures.multiWallet?Le.getConnectionsData(e).recentConnections:(Se.open(O.REMOTE_FEATURES_ALERTS.MULTI_WALLET_NOT_ENABLED.DEFAULT,`info`),[]),this.switchConnection=async e=>{if(!this.remoteFeatures.multiWallet){Se.open(O.REMOTE_FEATURES_ALERTS.MULTI_WALLET_NOT_ENABLED.DEFAULT,`info`);return}await Fe.switchConnection(e)},this.deleteConnection=e=>{if(!this.remoteFeatures.multiWallet){Se.open(O.REMOTE_FEATURES_ALERTS.MULTI_WALLET_NOT_ENABLED.DEFAULT,`info`);return}D.deleteAddressFromConnection(e),Fe.syncStorageConnections()},this.setConnectedWalletInfo=(e,t)=>{let n=Xe.getProviderId(t),r=e?{...e,type:n}:void 0;Ie.setConnectedWalletInfo(r,t)},this.getIsConnectedState=()=>!!k.state.activeCaipAddress,this.addAddressLabel=(e,t,n)=>{Ie.addAddressLabel(e,t,n)},this.removeAddressLabel=(e,t)=>{Ie.removeAddressLabel(e,t)},this.getAddress=e=>k.state.activeChain===e||!e?Ie.state.address:k.state.chains.get(e)?.accountState?.address,this.setApprovedCaipNetworksData=e=>k.setApprovedCaipNetworksData(e),this.resetNetwork=e=>{k.resetNetwork(e)},this.addConnector=e=>{Me.addConnector(e)},this.resetWcConnection=()=>{Fe.resetWcConnection()},this.setAddressExplorerUrl=(e,t)=>{Ie.setAddressExplorerUrl(e,t)},this.setSmartAccountDeployed=(e,t)=>{Ie.setSmartAccountDeployed(e,t)},this.setPreferredAccountType=(e,t)=>{k.setAccountProp(`preferredAccountType`,e,t)},this.setEIP6963Enabled=e=>{A.setEIP6963Enabled(e)},this.handleUnsafeRPCRequest=()=>{if(this.isOpen()){if(this.isTransactionStackEmpty())return;this.redirect(`ApproveTransaction`)}else this.open({view:`ApproveTransaction`})},this.options=e,this.version=e.sdkVersion,this.caipNetworks=this.extendCaipNetworks(e),this.chainNamespaces=this.getChainNamespacesSet(e.adapters,this.caipNetworks),this.defaultCaipNetwork=this.extendDefaultCaipNetwork(e),this.chainAdapters=this.createAdapters(e.adapters),this.readyPromise=this.initialize(e)}getChainNamespacesSet(e,t){let n=e?.map(e=>e.namespace).filter(e=>!!e);if(n?.length)return[...new Set(n)];let r=t?.map(e=>e.chainNamespace);return[...new Set(r)]}async initialize(e){if(this.initializeProjectSettings(e),this.initControllers(e),await this.initChainAdapters(),this.sendInitializeEvent(e),A.state.enableReconnect?(await this.syncExistingConnection(),await this.syncAdapterConnections()):await this.unSyncExistingConnection(),this.remoteFeatures=await rO.fetchRemoteFeatures(e),A.setRemoteFeatures(this.remoteFeatures),this.remoteFeatures.onramp&&ze.setOnrampProviders(this.remoteFeatures.onramp),(A.state.remoteFeatures?.email||Array.isArray(A.state.remoteFeatures?.socials)&&A.state.remoteFeatures?.socials.length>0)&&await this.checkAllowedOrigins(),A.state.features?.reownAuthentication||A.state.remoteFeatures?.reownAuthentication){let{ReownAuthentication:e}=await import(`./features-C-nEU4Pl.js`).then(e=>e.t);A.state.siwx instanceof e||A.setSIWX(new e)}}async checkAllowedOrigins(){try{let e=await Ee.fetchAllowedOrigins();if(!e||!xe.isClient()){Se.open(Ye.ALERT_ERRORS.PROJECT_ID_NOT_CONFIGURED,`error`);return}let t=window.location.origin;qD.isOriginAllowed(t,e,YD.DEFAULT_ALLOWED_ANCESTORS)||Se.open(Ye.ALERT_ERRORS.ORIGIN_NOT_ALLOWED,`error`)}catch(e){if(!(e instanceof Error)){Se.open(Ye.ALERT_ERRORS.PROJECT_ID_NOT_CONFIGURED,`error`);return}switch(e.message){case`RATE_LIMITED`:Se.open(Ye.ALERT_ERRORS.RATE_LIMITED_APP_CONFIGURATION,`error`);break;case`SERVER_ERROR`:{let t=e.cause instanceof Error?e.cause:e;Se.open({displayMessage:Ye.ALERT_ERRORS.SERVER_ERROR_APP_CONFIGURATION.displayMessage,debugMessage:Ye.ALERT_ERRORS.SERVER_ERROR_APP_CONFIGURATION.debugMessage(t.message)},`error`);break}default:Se.open(Ye.ALERT_ERRORS.PROJECT_ID_NOT_CONFIGURED,`error`)}}}sendInitializeEvent(e){let{...t}=e;delete t.adapters,delete t.universalProvider,Re.sendEvent({type:`track`,event:`INITIALIZE`,properties:{...t,networks:e.networks.map(e=>e.id),siweConfig:{options:e.siweConfig?.options||{}}}})}initControllers(e){this.initializeOptionsController(e),this.initializeChainController(e),this.initializeThemeController(e),this.initializeConnectionController(e),this.initializeConnectorController()}initializeThemeController(e){e.themeMode&&ke.setThemeMode(e.themeMode),e.themeVariables&&ke.setThemeVariables(e.themeVariables)}initializeChainController(e){if(!this.connectionControllerClient||!this.networkControllerClient)throw Error(`ConnectionControllerClient and NetworkControllerClient must be set`);k.initialize(e.adapters??[],this.caipNetworks,{connectionControllerClient:this.connectionControllerClient,networkControllerClient:this.networkControllerClient});let t=this.getDefaultNetwork();t&&k.setActiveCaipNetwork(t)}initializeConnectionController(e){Fe.initialize(e.adapters??[]),Fe.setWcBasic(e.basic??!1)}initializeConnectorController(){Me.initialize(this.chainNamespaces)}initializeProjectSettings(e){A.setProjectId(e.projectId),A.setSdkVersion(e.sdkVersion)}initializeOptionsController(e){A.setDebug(e.debug!==!1),A.setEnableWalletConnect(e.enableWalletConnect!==!1),A.setEnableWalletGuide(e.enableWalletGuide!==!1),A.setEnableWallets(e.enableWallets!==!1),A.setEIP6963Enabled(e.enableEIP6963!==!1),A.setEnableNetworkSwitch(e.enableNetworkSwitch!==!1),A.setEnableReconnect(e.enableReconnect!==!1),A.setEnableAuthLogger(e.enableAuthLogger!==!1),A.setCustomRpcUrls(e.customRpcUrls),A.setEnableEmbedded(e.enableEmbedded),A.setAllWallets(e.allWallets),A.setIncludeWalletIds(e.includeWalletIds),A.setExcludeWalletIds(e.excludeWalletIds),A.setFeaturedWalletIds(e.featuredWalletIds),A.setTokens(e.tokens),A.setTermsConditionsUrl(e.termsConditionsUrl),A.setPrivacyPolicyUrl(e.privacyPolicyUrl),A.setCustomWallets(e.customWallets),A.setFeatures(e.features),A.setAllowUnsupportedChain(e.allowUnsupportedChain),A.setUniversalProviderConfigOverride(e.universalProviderConfigOverride),A.setPreferUniversalLinks(e.experimental_preferUniversalLinks),A.setDefaultAccountTypes(e.defaultAccountTypes);let t=this.getDefaultMetaData();if(!e.metadata&&t&&(e.metadata=t),A.setMetadata(e.metadata),A.setDisableAppend(e.disableAppend),A.setEnableEmbedded(e.enableEmbedded),A.setSIWX(e.siwx),!e.projectId){Se.open(Ye.ALERT_ERRORS.PROJECT_ID_NOT_CONFIGURED,`error`);return}if(e.adapters?.find(e=>e.namespace===O.CHAIN.EVM)&&e.siweConfig){if(e.siwx)throw Error("Cannot set both `siweConfig` and `siwx` options");A.setSIWX(e.siweConfig.mapToSIWX())}}getDefaultMetaData(){return xe.isClient()?{name:document.getElementsByTagName(`title`)?.[0]?.textContent||``,description:document.querySelector(`meta[property="og:description"]`)?.content||``,url:window.location.origin,icons:[document.querySelector(`link[rel~="icon"]`)?.href||``]}:null}setUnsupportedNetwork(e){let t=this.getActiveChainNamespace();if(t){let n=qe.getUnsupportedNetwork(`${t}:${e}`);k.setActiveCaipNetwork(n)}}getDefaultNetwork(){return qe.getCaipNetworkFromStorage(this.defaultCaipNetwork)}extendCaipNetwork(e,t){return qe.extendCaipNetwork(e,{customNetworkImageUrls:t.chainImages,projectId:t.projectId})}extendCaipNetworks(e){return qe.extendCaipNetworks(e.networks,{customNetworkImageUrls:e.chainImages,customRpcUrls:e.customRpcUrls,projectId:e.projectId})}extendDefaultCaipNetwork(e){let t=e.networks.find(t=>t.id===e.defaultNetwork?.id);return t?qe.extendCaipNetwork(t,{customNetworkImageUrls:e.chainImages,customRpcUrls:e.customRpcUrls,projectId:e.projectId}):void 0}async disconnectNamespace(e,t){try{this.setLoading(!0,e);let n={connections:[]},r=this.getAdapter(e);return(k.state.chains.get(e)?.accountState?.caipAddress||!A.state.enableReconnect)&&r?.disconnect&&(n=await r.disconnect({id:t})),this.setLoading(!1,e),n}catch(t){throw this.setLoading(!1,e),Error(`Failed to disconnect chains: ${t.message}`)}}createClients(){this.connectionControllerClient={connectWalletConnect:async()=>{let e=k.state.activeChain,t=this.getAdapter(e),n=this.getCaipNetwork(e)?.id,r=Fe.getConnections(e),i=this.remoteFeatures.multiWallet,a=r.length>0;if(!t)throw Error(`Adapter not found`);let o=await t.connectWalletConnect(n);(!a||!i)&&this.close(),this.setClientId(o?.clientId||null),D.setConnectedNamespaces([...k.state.chains.keys()]),await this.syncWalletConnectAccount(),await Ue.initializeIfEnabled()},connectExternal:async({id:e,address:t,info:n,type:r,provider:i,chain:a,caipNetwork:o,socialUri:s})=>{let c=k.state.activeChain,l=a||c,u=this.getAdapter(l);if(a&&a!==c&&!o){let e=this.getCaipNetworks().find(e=>e.chainNamespace===a);e&&this.setCaipNetwork(e)}if(!l)throw Error(`connectExternal: namespace not found`);if(!u)throw Error(`connectExternal: adapter not found`);let d=this.getCaipNetwork(l),f=await u.connect({id:e,address:t,info:n,type:r,provider:i,socialUri:s,chainId:o?.id||d?.id,rpcUrl:o?.rpcUrls?.default?.http?.[0]||d?.rpcUrls?.default?.http?.[0]});if(f)return D.addConnectedNamespace(l),this.syncProvider({...f,chainNamespace:l}),this.setStatus(`connected`,l),this.syncConnectedWalletInfo(l),D.removeDisconnectedConnectorId(e,l),{address:f.address}},reconnectExternal:async({id:e,info:t,type:n,provider:r})=>{let i=k.state.activeChain,a=this.getAdapter(i);if(!i)throw Error(`reconnectExternal: namespace not found`);if(!a)throw Error(`reconnectExternal: adapter not found`);a?.reconnect&&(await a?.reconnect({id:e,info:t,type:n,provider:r,chainId:this.getCaipNetwork()?.id}),D.addConnectedNamespace(i),this.syncConnectedWalletInfo(i))},disconnect:async e=>{let{id:t,chainNamespace:n,initialDisconnect:r}=e||{},i=n||k.state.activeChain,a=Me.getConnectorId(i),o=t===O.CONNECTOR_ID.AUTH||a===O.CONNECTOR_ID.AUTH,s=t===O.CONNECTOR_ID.WALLET_CONNECT||a===O.CONNECTOR_ID.WALLET_CONNECT;try{let e=Array.from(k.state.chains.keys()),i=n?[n]:e;(s||o)&&(i=e);let a=i.map(async e=>{let n=Me.getConnectorId(e),i=await this.disconnectNamespace(e,t||n);i&&(o&&D.deleteConnectedSocialProvider(),i.connections.forEach(t=>{D.addDisconnectedConnectorId(t.connectorId,e)})),r&&this.onDisconnectNamespace({chainNamespace:e,closeModal:!1})}),c=await Promise.allSettled(a);Te.resetSend(),Fe.resetWcConnection(),Ue.getSIWX()?.signOutOnDisconnect&&await Ue.clearSessions(),Me.setFilterByNamespace(void 0),Fe.syncStorageConnections();let l=c.filter(e=>e.status===`rejected`);if(l.length>0)throw Error(l.map(e=>e.reason.message).join(`, `));Re.sendEvent({type:`track`,event:`DISCONNECT_SUCCESS`,properties:{namespace:n||`all`}})}catch(e){throw Error(`Failed to disconnect chains: ${e.message}`)}},checkInstalled:e=>e?e.some(e=>!!window.ethereum?.[String(e)]):!!window.ethereum,signMessage:async e=>{let t=k.state.activeChain,n=this.getAdapter(k.state.activeChain);if(!t)throw Error(`signMessage: namespace not found`);if(!n)throw Error(`signMessage: adapter not found`);return(await n?.signMessage({message:e,address:Ie.state.address,provider:Xe.getProvider(t)}))?.signature||``},sendTransaction:async e=>{let t=e.chainNamespace;if(!t)throw Error(`sendTransaction: namespace not found`);if(T.SEND_SUPPORTED_NAMESPACES.includes(t)){let n=this.getAdapter(t);if(!n)throw Error(`sendTransaction: adapter not found`);let r=Xe.getProvider(t);return(await n?.sendTransaction({...e,caipNetwork:this.getCaipNetwork(),provider:r}))?.hash||``}return``},estimateGas:async e=>{let t=e.chainNamespace;if(t===O.CHAIN.EVM){let n=this.getAdapter(t);if(!n)throw Error(`estimateGas: adapter is required but got undefined`);let r=Xe.getProvider(t),i=this.getCaipNetwork();if(!i)throw Error(`estimateGas: caipNetwork is required but got undefined`);return(await n?.estimateGas({...e,provider:r,caipNetwork:i}))?.gas||0n}return 0n},getEnsAvatar:async()=>{let e=k.state.activeChain;if(!e)throw Error(`getEnsAvatar: namespace is required but got undefined`);return await this.syncIdentity({address:Ie.state.address,chainId:Number(this.getCaipNetwork()?.id),chainNamespace:e}),Ie.state.profileImage||!1},getEnsAddress:async e=>await qD.resolveReownName(e),writeContract:async e=>{let t=k.state.activeChain,n=this.getAdapter(t);if(!t)throw Error(`writeContract: namespace is required but got undefined`);if(!n)throw Error(`writeContract: adapter is required but got undefined`);let r=this.getCaipNetwork(),i=this.getCaipAddress(),a=Xe.getProvider(t);if(!r||!i)throw Error(`writeContract: caipNetwork or caipAddress is required but got undefined`);return(await n?.writeContract({...e,caipNetwork:r,provider:a,caipAddress:i}))?.hash},parseUnits:(e,t)=>{let n=this.getAdapter(k.state.activeChain);if(!n)throw Error(`parseUnits: adapter is required but got undefined`);return n?.parseUnits({value:e,decimals:t})??0n},formatUnits:(e,t)=>{let n=this.getAdapter(k.state.activeChain);if(!n)throw Error(`formatUnits: adapter is required but got undefined`);return n?.formatUnits({value:e,decimals:t})??`0`},getCapabilities:async e=>{let t=this.getAdapter(k.state.activeChain);if(!t)throw Error(`getCapabilities: adapter is required but got undefined`);return await t?.getCapabilities(e)},grantPermissions:async e=>{let t=this.getAdapter(k.state.activeChain);if(!t)throw Error(`grantPermissions: adapter is required but got undefined`);return await t?.grantPermissions(e)},revokePermissions:async e=>{let t=this.getAdapter(k.state.activeChain);if(!t)throw Error(`revokePermissions: adapter is required but got undefined`);return t?.revokePermissions?await t.revokePermissions(e):`0x`},walletGetAssets:async e=>{let t=this.getAdapter(k.state.activeChain);if(!t)throw Error(`walletGetAssets: adapter is required but got undefined`);return await t?.walletGetAssets(e)??{}},updateBalance:e=>{let t=this.getCaipNetwork(e);!t||!Ie.state.address||this.updateNativeBalance(Ie.state.address,t?.id,e)}},this.networkControllerClient={switchCaipNetwork:async e=>await this.switchCaipNetwork(e),getApprovedCaipNetworksData:async()=>this.getApprovedCaipNetworksData()},Fe.setClient(this.connectionControllerClient)}getApprovedCaipNetworksData(){if(Xe.getProviderId(k.state.activeChain)===We.CONNECTOR_TYPE_WALLET_CONNECT){let e=this.universalProvider?.session?.namespaces;return{supportsAllNetworks:this.universalProvider?.session?.peer?.metadata.name===`MetaMask Wallet`,approvedCaipNetworkIds:this.getChainsFromNamespaces(e)}}return{supportsAllNetworks:!0,approvedCaipNetworkIds:[]}}async switchCaipNetwork(e){if(!e)return;let t=e.chainNamespace;if(this.getAddressByChainNamespace(e.chainNamespace)){let n=Xe.getProvider(t),r=Xe.getProviderId(t);if(e.chainNamespace===k.state.activeChain)await this.getAdapter(t)?.switchNetwork({caipNetwork:e,provider:n,providerType:r});else if(this.setCaipNetwork(e),r===We.CONNECTOR_TYPE_WALLET_CONNECT)this.syncWalletConnectAccount();else{let n=this.getAddressByChainNamespace(t);n&&this.syncAccount({address:n,chainId:e.id,chainNamespace:t})}}else this.setCaipNetwork(e)}getChainsFromNamespaces(e={}){return Object.values(e).flatMap(e=>{let t=e.chains||[],n=e.accounts.map(e=>{let{chainId:t,chainNamespace:n}=E.parseCaipAddress(e);return`${n}:${t}`});return Array.from(new Set([...t,...n]))})}createAdapters(e){return this.createClients(),this.chainNamespaces.reduce((t,n)=>{let r=e?.find(e=>e.namespace===n);return r?(r.construct({namespace:n,projectId:this.options?.projectId,networks:this.getCaipNetworks()}),t[n]=r):t[n]=new eO({namespace:n,networks:this.getCaipNetworks()}),t},{})}async initChainAdapter(e){this.onConnectors(e),this.listenAdapter(e),await this.chainAdapters?.[e].syncConnectors(this.options,this),await this.createUniversalProviderForAdapter(e)}async initChainAdapters(){await Promise.all(this.chainNamespaces.map(async e=>{await this.initChainAdapter(e)}))}onConnectors(e){this.getAdapter(e)?.on(`connectors`,this.setConnectors.bind(this))}listenAdapter(e){let t=this.getAdapter(e);if(!t)return;let n=D.getConnectionStatus();A.state.enableReconnect===!1?this.setStatus(`disconnected`,e):n===`connected`?this.setStatus(`connecting`,e):(n===`disconnected`&&D.clearAddressCache(),this.setStatus(n,e)),t.on(`switchNetwork`,({address:t,chainId:n})=>{let r=this.getCaipNetworks().find(e=>e.id.toString()===n.toString()||e.caipNetworkId.toString()===n.toString()),i=k.state.activeChain===e,a=k.state.chains.get(e)?.accountState?.address;if(r){let n=i&&t?t:a;n&&this.syncAccount({address:n,chainId:r.id,chainNamespace:e})}else this.setUnsupportedNetwork(n)}),t.on(`disconnect`,()=>{let t=this.remoteFeatures.multiWallet,n=Array.from(Fe.state.connections.values()).flat();this.onDisconnectNamespace({chainNamespace:e,closeModal:!t||n.length===0})}),t.on(`connections`,t=>{this.setConnections(t,e)}),t.on(`pendingTransactions`,()=>{let e=Ie.state.address,t=k.state.activeCaipNetwork;!e||!t?.id||this.updateNativeBalance(e,t.id,t.chainNamespace)}),t.on(`accountChanged`,({address:t,chainId:n,connector:r})=>{let i=k.state.activeChain===e;r?.provider&&(this.syncProvider({id:r.id,type:r.type,provider:r.provider,chainNamespace:e}),this.syncConnectedWalletInfo(e)),i&&n?this.syncAccount({address:t,chainId:n,chainNamespace:e}):i&&k.state.activeCaipNetwork?.id?this.syncAccount({address:t,chainId:k.state.activeCaipNetwork?.id,chainNamespace:e}):this.syncAccountInfo(t,n,e),D.addConnectedNamespace(e)})}async createUniversalProviderForAdapter(e){await this.getUniversalProvider(),this.universalProvider&&await this.chainAdapters?.[e]?.setUniversalProvider?.(this.universalProvider)}async syncExistingConnection(){await Promise.allSettled(this.chainNamespaces.map(e=>this.syncNamespaceConnection(e)))}async unSyncExistingConnection(){try{await Promise.allSettled(this.chainNamespaces.map(e=>Fe.disconnect({namespace:e,initialDisconnect:!0})))}catch{}}async reconnectWalletConnect(){await this.syncWalletConnectAccount();let e=this.getAddress();Re.sendEvent({type:`track`,event:`CONNECT_SUCCESS`,address:e,properties:{method:xe.isMobile()?`mobile`:`qrcode`,name:this.universalProvider?.session?.peer?.metadata?.name||`Unknown`,reconnect:!0}})}async syncNamespaceConnection(e){try{e===O.CHAIN.EVM&&xe.isSafeApp()&&Me.setConnectorId(O.CONNECTOR_ID.SAFE,e);let t=Me.getConnectorId(e);switch(this.setStatus(`connecting`,e),t){case O.CONNECTOR_ID.WALLET_CONNECT:await this.reconnectWalletConnect();break;case O.CONNECTOR_ID.AUTH:break;default:await this.syncAdapterConnection(e)}}catch{this.setStatus(`disconnected`,e)}}onDisconnectNamespace(e){let{chainNamespace:t,closeModal:n}=e||{};k.resetAccount(t),k.resetNetwork(t),D.removeConnectedNamespace(t);let r=Array.from(k.state.chains.keys());(t?[t]:r).forEach(e=>D.addDisconnectedConnectorId(Me.getConnectorId(e)||``,e)),Me.removeConnectorId(t),Xe.resetChain(t),this.setUser(void 0,t),this.setStatus(`disconnected`,t),this.setConnectedWalletInfo(void 0,t),n!==!1&&we.close()}async syncAdapterConnections(){await Promise.allSettled(this.chainNamespaces.map(e=>{let t=this.getCaipAddress(e),n=this.getCaipNetwork(e);return this.chainAdapters?.[e].syncConnections({connectToFirstConnector:!t,caipNetwork:n,getConnectorStorageInfo(t){let n=D.getConnections()[e]??[];return{hasDisconnected:D.isConnectorDisconnected(t,e),hasConnected:n.some(e=>Ge.isLowerCaseMatch(e.connectorId,t))}}})}))}async syncAdapterConnection(e){let t=this.getAdapter(e),n=Me.getConnectorId(e),r=this.getCaipNetwork(e),i=Me.getConnectors(e).find(e=>e.id===n);try{if(!t||!i)throw Error(`Adapter or connector not found for namespace ${e}`);if(!r?.id)throw Error(`CaipNetwork not found`);let n=await t?.syncConnection({namespace:e,id:i.id,chainId:r.id,rpcUrl:r?.rpcUrls?.default?.http?.[0]});n?(this.syncProvider({...n,chainNamespace:e}),await this.syncAccount({...n,chainNamespace:e}),this.setStatus(`connected`,e),Re.sendEvent({type:`track`,event:`CONNECT_SUCCESS`,address:n.address,properties:{method:`browser`,name:i.info?.name||i.name||`Unknown`,reconnect:!0}})):this.setStatus(`disconnected`,e)}catch{this.onDisconnectNamespace({chainNamespace:e,closeModal:!1})}}async syncWalletConnectAccount(){let e=Object.keys(this.universalProvider?.session?.namespaces||{}),t=this.chainNamespaces.map(async t=>{let n=this.getAdapter(t);if(!n)return;let r=this.universalProvider?.session?.namespaces?.[t]?.accounts||[],i=k.state.activeCaipNetwork?.id,a=r.find(e=>{let{chainId:t}=E.parseCaipAddress(e);return t===i?.toString()})||r[0];if(a){let e=E.validateCaipAddress(a),{chainId:r,address:i}=E.parseCaipAddress(e);if(Xe.setProviderId(t,We.CONNECTOR_TYPE_WALLET_CONNECT),this.caipNetworks&&k.state.activeCaipNetwork&&n.namespace!==O.CHAIN.EVM){let e=n.getWalletConnectProvider({caipNetworks:this.getCaipNetworks(),provider:this.universalProvider,activeCaipNetwork:k.state.activeCaipNetwork});Xe.setProvider(t,e)}else Xe.setProvider(t,this.universalProvider);Me.setConnectorId(O.CONNECTOR_ID.WALLET_CONNECT,t),D.addConnectedNamespace(t),await this.syncAccount({address:i,chainId:r,chainNamespace:t})}else e.includes(t)&&this.setStatus(`disconnected`,t);this.syncConnectedWalletInfo(t),await k.setApprovedCaipNetworksData(t)});await Promise.all(t)}syncProvider({type:e,provider:t,id:n,chainNamespace:r}){Xe.setProviderId(r,e),Xe.setProvider(r,t),Me.setConnectorId(n,r)}async syncAccount(e){let t=e.chainNamespace===k.state.activeChain,n=k.getCaipNetworkByNamespace(e.chainNamespace,e.chainId),{address:r,chainId:i,chainNamespace:a}=e,{chainId:o}=D.getActiveNetworkProps(),s=i||o,c=k.state.activeCaipNetwork?.name===O.UNSUPPORTED_NETWORK_NAME,l=k.getNetworkProp(`supportsAllNetworks`,a);if(this.setStatus(`connected`,a),!(c&&!l)&&s){let e=this.getCaipNetworks().find(e=>e.id.toString()===s.toString()),o=this.getCaipNetworks().find(e=>e.chainNamespace===a);if(!l&&!e&&!o){let t=this.getApprovedCaipNetworkIds()||[],n=t.find(e=>E.parseCaipNetworkId(e)?.chainId===s.toString()),r=t.find(e=>E.parseCaipNetworkId(e)?.chainNamespace===a);e=this.getCaipNetworks().find(e=>e.caipNetworkId===n),o=this.getCaipNetworks().find(e=>e.caipNetworkId===r||`deprecatedCaipNetworkId`in e&&e.deprecatedCaipNetworkId===r)}let c=e||o;c?.chainNamespace===k.state.activeChain?A.state.enableNetworkSwitch&&!A.state.allowUnsupportedChain&&k.state.activeCaipNetwork?.name===O.UNSUPPORTED_NETWORK_NAME?k.showUnsupportedChainUI():this.setCaipNetwork(c):t||n&&this.setCaipNetworkOfNamespace(n,a),this.syncConnectedWalletInfo(a),Ge.isLowerCaseMatch(r,Ie.state.address)||this.syncAccountInfo(r,c?.id,a),t?await this.syncBalance({address:r,chainId:c?.id,chainNamespace:a}):await this.syncBalance({address:r,chainId:n?.id,chainNamespace:a}),this.syncIdentity({address:r,chainId:i,chainNamespace:a})}}async syncAccountInfo(e,t,n){let r=this.getCaipAddress(n),i=t||r?.split(`:`)[1];if(!i)return;let a=`${n}:${i}:${e}`;this.setCaipAddress(a,n),await this.syncIdentity({address:e,chainId:i,chainNamespace:n})}async syncReownName(e,t){try{let n=await this.getReownName(e);if(n[0]){let e=n[0];this.setProfileName(e.name,t)}else this.setProfileName(null,t)}catch{this.setProfileName(null,t)}}syncConnectedWalletInfo(e){let t=Me.getConnectorId(e),n=Xe.getProviderId(e);if(n===We.CONNECTOR_TYPE_ANNOUNCED||n===We.CONNECTOR_TYPE_INJECTED){if(t){let n=this.getConnectors().find(e=>{let n=e.id===t,r=e.info?.rdns===t,i=e.connectors?.some(e=>e.id===t||e.info?.rdns===t);return n||r||!!i});if(n){let{info:t,name:r,imageUrl:i}=n,a=i||this.getConnectorImage(n);this.setConnectedWalletInfo({name:r,icon:a,...t},e)}}}else if(n===We.CONNECTOR_TYPE_WALLET_CONNECT){let t=Xe.getProvider(e);t?.session&&this.setConnectedWalletInfo({...t.session.peer.metadata,name:t.session.peer.metadata.name,icon:t.session.peer.metadata.icons?.[0]},e)}else if(t&&(t===O.CONNECTOR_ID.COINBASE_SDK||t===O.CONNECTOR_ID.COINBASE)){let n=this.getConnectors().find(e=>e.id===t),r=n?.name||`Coinbase Wallet`,i=n?.imageUrl||this.getConnectorImage(n),a=n?.info;this.setConnectedWalletInfo({...a,name:r,icon:i},e)}}async syncBalance(e){!be.getNetworksByNamespace(this.getCaipNetworks(),e.chainNamespace).find(t=>t.id.toString()===e.chainId?.toString())||!e.chainId||await this.updateNativeBalance(e.address,e.chainId,e.chainNamespace)}async ready(){await this.readyPromise}async updateNativeBalance(e,t,n){let r=this.getAdapter(n),i=k.getCaipNetworkByNamespace(n,t);if(r){let a=await r.getBalance({address:e,chainId:t,caipNetwork:i,tokens:this.options.tokens});return this.setBalance(a.balance,a.symbol,n),a}}async initializeUniversalAdapter(){let e=$e.createLogger((e,...t)=>{e&&this.handleAlertError(e)}),t={projectId:this.options?.projectId,metadata:{name:this.options?.metadata?this.options?.metadata.name:``,description:this.options?.metadata?this.options?.metadata.description:``,url:this.options?.metadata?this.options?.metadata.url:``,icons:this.options?.metadata?this.options?.metadata.icons:[``]},logger:e};A.setManualWCControl(!!this.options?.manualWCControl),this.universalProvider=this.options.universalProvider??await Ve.init(t),A.state.enableReconnect===!1&&this.universalProvider.session&&await this.universalProvider.disconnect(),this.listenWalletConnect()}listenWalletConnect(){this.universalProvider&&this.chainNamespaces.forEach(e=>{qD.listenWcProvider({universalProvider:this.universalProvider,namespace:e,onDisplayUri:e=>{Fe.setUri(e)},onConnect:e=>{let{address:t}=xe.getAccount(e[0]);Fe.finalizeWcConnection(t)},onDisconnect:()=>{k.state.noAdapters&&this.resetAccount(e),Fe.resetWcConnection()},onChainChanged:t=>{let n=k.state.activeChain,r=n&&Me.state.activeConnectorIds[n]===O.CONNECTOR_ID.WALLET_CONNECT;if(n===e&&(k.state.noAdapters||r)){let e=this.getCaipNetworks().find(e=>e.id.toString()===t.toString()||e.caipNetworkId.toString()===t.toString()),n=this.getCaipNetwork();if(!e){this.setUnsupportedNetwork(t);return}n?.id.toString()!==e?.id.toString()&&n?.chainNamespace===e?.chainNamespace&&this.setCaipNetwork(e)}},onAccountsChanged:t=>{let n=k.state.activeChain,r=n&&Me.state.activeConnectorIds[n]===O.CONNECTOR_ID.WALLET_CONNECT;if(n===e&&(k.state.noAdapters||r)){let e=t?.[0];e&&this.syncAccount({address:e.address,chainId:e.chainId,chainNamespace:e.chainNamespace})}}})})}createUniversalProvider(){return!this.universalProviderInitPromise&&xe.isClient()&&this.options?.projectId&&(this.universalProviderInitPromise=this.initializeUniversalAdapter()),this.universalProviderInitPromise}async getUniversalProvider(){if(!this.universalProvider)try{await this.createUniversalProvider()}catch(e){Re.sendEvent({type:`error`,event:`INTERNAL_SDK_ERROR`,properties:{errorType:`UniversalProviderInitError`,errorMessage:e instanceof Error?e.message:`Unknown`,uncaught:!1}})}return this.universalProvider}handleAlertError(e){let[t,n]=Object.entries(Ye.UniversalProviderErrors).find(([,{message:t}])=>e.message.includes(t))??[],{message:r,alertErrorKey:i}=n??{};if(t&&r&&!this.reportedAlertErrors[t]){let e=Ye.ALERT_ERRORS[i];e&&(Se.open(e,`error`),this.reportedAlertErrors[t]=!0)}}getAdapter(e){if(e)return this.chainAdapters?.[e]}createAdapter(e){if(!e)return;let t=e.namespace;if(!t)return;this.createClients();let n=e;n.namespace=t,n.construct({namespace:t,projectId:this.options?.projectId,networks:this.getCaipNetworks()}),this.chainNamespaces.includes(t)||this.chainNamespaces.push(t),this.chainAdapters&&(this.chainAdapters[t]=n)}async open(e){if(await this.injectModalUi(),e?.uri&&Fe.setUri(e.uri),e?.arguments)switch(e?.view){case`Swap`:return we.open({...e,data:{swap:e.arguments}});default:}return we.open(e)}async close(){await this.injectModalUi(),we.close()}setLoading(e,t){we.setLoading(e,t)}async disconnect(e){await Fe.disconnect({namespace:e})}getSIWX(){return A.state.siwx}getError(){return``}getChainId(){return k.state.activeCaipNetwork?.id}async switchNetwork(e){let t=this.getCaipNetworks().find(t=>t.id===e.id);if(!t){Se.open(Ye.ALERT_ERRORS.SWITCH_NETWORK_NOT_FOUND,`error`);return}await k.switchActiveNetwork(t)}getWalletProvider(){return k.state.activeChain?Xe.state.providers[k.state.activeChain]:null}getWalletProviderType(){return Xe.getProviderId(k.state.activeChain)}subscribeProviders(e){return Xe.subscribeProviders(e)}getThemeMode(){return ke.state.themeMode}getThemeVariables(){return ke.state.themeVariables}setThemeMode(e){ke.setThemeMode(e),w(ke.state.themeMode)}setTermsConditionsUrl(e){A.setTermsConditionsUrl(e)}setPrivacyPolicyUrl(e){A.setPrivacyPolicyUrl(e)}setThemeVariables(e){ke.setThemeVariables(e),se(ke.state.themeVariables)}subscribeTheme(e){return ke.subscribe(e)}subscribeConnections(e){return this.remoteFeatures.multiWallet?Fe.subscribe(e):(Se.open(O.REMOTE_FEATURES_ALERTS.MULTI_WALLET_NOT_ENABLED.DEFAULT,`info`),()=>void 0)}getWalletInfo(e){return e?k.state.chains.get(e)?.accountState?.connectedWalletInfo:Ie.state.connectedWalletInfo}getAccount(e){let t=e||k.state.activeChain,n=Me.getAuthConnector(t),r=k.getAccountData(t),i=D.getConnectedConnectorId(k.state.activeChain),a=Fe.getConnections(t);if(!t)throw Error(`AppKit:getAccount - namespace is required`);let o=a.flatMap(e=>e.accounts.map(({address:e,type:n,publicKey:r})=>xe.createAccount(t,e,n||`eoa`,r)));if(r)return{allAccounts:o,caipAddress:r.caipAddress,address:xe.getPlainAddress(r.caipAddress),isConnected:!!r.caipAddress,status:r.status,embeddedWalletInfo:n&&i===O.CONNECTOR_ID.AUTH?{user:r.user?{...r.user,username:D.getConnectedSocialUsername()}:void 0,authProvider:r.socialProvider||`email`,accountType:Ne(t),isSmartAccountDeployed:!!r.smartAccountDeployed}:void 0}}subscribeAccount(e,t){let n=()=>{let n=this.getAccount(t);n&&e(n)};t?k.subscribeChainProp(`accountState`,n,t):k.subscribe(n),Me.subscribe(n)}subscribeNetwork(e){return k.subscribe(({activeCaipNetwork:t})=>{e({caipNetwork:t,chainId:t?.id,caipNetworkId:t?.caipNetworkId})})}subscribeWalletInfo(e,t){return t?Ie.subscribeKey(`connectedWalletInfo`,e,t):Ie.subscribeKey(`connectedWalletInfo`,e)}subscribeShouldUpdateToAddress(e){Ie.subscribeKey(`shouldUpdateToAddress`,e)}subscribeCaipNetworkChange(e){k.subscribeKey(`activeCaipNetwork`,e)}getState(){return j.state}getRemoteFeatures(){return A.state.remoteFeatures}subscribeState(e){return j.subscribe(e)}subscribeRemoteFeatures(e){return A.subscribeKey(`remoteFeatures`,e)}showErrorMessage(e){je.showError(e)}showSuccessMessage(e){je.showSuccess(e)}getEvent(){return{...Re.state}}subscribeEvents(e){return Re.subscribe(e)}replace(e){Oe.replace(e)}redirect(e){Oe.push(e)}popTransactionStack(e){Oe.popTransactionStack(e)}isOpen(){return we.state.open}isTransactionStackEmpty(){return Oe.state.transactionStack.length===0}static getInstance(){return this.instance}updateFeatures(e){A.setFeatures(e)}updateRemoteFeatures(e){A.setRemoteFeatures(e)}updateOptions(e){let t={...A.state||{},...e};A.setOptions(t)}setConnectMethodsOrder(e){A.setConnectMethodsOrder(e)}setWalletFeaturesOrder(e){A.setWalletFeaturesOrder(e)}setCollapseWallets(e){A.setCollapseWallets(e)}setSocialsOrder(e){A.setSocialsOrder(e)}getConnectMethodsOrder(){return Ke.getConnectOrderMethod(A.state.features,Me.getConnectors())}addNetwork(e,t){if(this.chainAdapters&&!this.chainAdapters[e])throw Error(`Adapter for namespace ${e} doesn't exist`);let n=this.extendCaipNetwork(t,this.options);this.getCaipNetworks().find(e=>e.id===n.id)||k.addNetwork(n)}removeNetwork(e,t){if(this.chainAdapters&&!this.chainAdapters[e])throw Error(`Adapter for namespace ${e} doesn't exist`);this.getCaipNetworks().find(e=>e.id===t)&&k.removeNetwork(e,t)}},aO=!1,oO=class extends iO{async onAuthProviderConnected(e){e.message&&e.signature&&e.siwxMessage&&await Ue.addEmbeddedWalletSession({chainId:e.siwxMessage.chainId,accountAddress:e.address,notBefore:e.siwxMessage.notBefore,statement:e.siwxMessage.statement,resources:e.siwxMessage.resources,requestId:e.siwxMessage.requestId,issuedAt:e.siwxMessage.issuedAt,domain:e.siwxMessage.domain,uri:e.siwxMessage.uri,version:e.siwxMessage.version,nonce:e.siwxMessage.nonce},e.message,e.signature);let t=k.state.activeChain;if(!t)throw Error(`AppKit:onAuthProviderConnected - namespace is required`);let n=t===O.CHAIN.EVM?`eip155:${e.chainId}:${e.address}`:`${e.chainId}:${e.address}`,r=A.state.defaultAccountTypes[t],i=Ne(t),a=e.preferredAccountType||i||r;this.setCaipAddress(n,t);let{signature:o,siwxMessage:s,message:c,...l}=e;this.setUser({...Ie.state.user||{},...l},t),this.setSmartAccountDeployed(!!e.smartAccountDeployed,t),this.setPreferredAccountType(a,t),this.setLoading(!1,t)}setupAuthConnectorListeners(e){e.onRpcRequest(t=>{Qe.checkIfRequestExists(t)?Qe.checkIfRequestIsSafe(t)||this.handleUnsafeRPCRequest():(this.open(),setTimeout(()=>{this.showErrorMessage(Ae.RPC_METHOD_NOT_ALLOWED_UI_MESSAGE)},300),e.rejectRpcRequests())}),e.onRpcError(()=>{this.isOpen()&&(this.isTransactionStackEmpty()?this.close():this.popTransactionStack(`error`))}),e.onRpcSuccess((e,t)=>{let n=Qe.checkIfRequestIsSafe(t),r=Ie.state.address,i=k.state.activeCaipNetwork;n||(r&&i?.id&&this.updateNativeBalance(r,i.id,i.chainNamespace),this.isTransactionStackEmpty()?this.close():this.popTransactionStack(`success`))}),e.onNotConnected(()=>{let e=k.state.activeChain;if(!e)throw Error(`AppKit:onNotConnected - namespace is required`);Me.getConnectorId(e)===O.CONNECTOR_ID.AUTH&&(this.setCaipAddress(void 0,e),this.setLoading(!1,e))}),e.onConnect(this.onAuthProviderConnected.bind(this)),e.onSocialConnected(this.onAuthProviderConnected.bind(this)),e.onSetPreferredAccount(({address:e,type:t})=>{let n=k.state.activeChain;if(!n)throw Error(`AppKit:onSetPreferredAccount - namespace is required`);e&&this.setPreferredAccountType(t,n)})}async syncAuthConnectorTheme(e){if(!e)return;let t=ke.getSnapshot(),n=A.getSnapshot();await Promise.all([e.syncDappData({metadata:n.metadata,sdkVersion:n.sdkVersion,projectId:n.projectId,sdkType:n.sdkType}),e.syncTheme({themeMode:t.themeMode,themeVariables:t.themeVariables,w3mThemeVariables:Ce(t.themeVariables,t.themeMode)})])}async syncAuthConnector(e,t){let n=O.AUTH_CONNECTOR_SUPPORTED_CHAINS.includes(t),r=t===k.state.activeChain;if(!n)return;this.setLoading(!0,t);let i=e.getLoginEmailUsed();this.setLoading(i,t),i&&this.setStatus(`connecting`,t);let a=e.getEmail(),o=e.getUsername();this.setUser({...Ie.state?.user||{},username:o,email:a},t),this.setupAuthConnectorListeners(e);let{isConnected:s}=await e.isConnected();if(await this.syncAuthConnectorTheme(e),t&&n&&r){let n=await e.getSmartAccountEnabledNetworks();if(k.setSmartAccountEnabledNetworks(n?.smartAccountEnabledNetworks||[],t),s&&this.connectionControllerClient?.connectExternal){await this.connectionControllerClient?.connectExternal({id:O.CONNECTOR_ID.AUTH,info:{name:O.CONNECTOR_ID.AUTH},type:We.CONNECTOR_TYPE_AUTH,provider:e,chainId:k.state.activeCaipNetwork?.id,chain:t}),this.setStatus(`connected`,t);let n=D.getConnectedSocialProvider();n?Re.sendEvent({type:`track`,event:`SOCIAL_LOGIN_SUCCESS`,address:Ie.state.address,properties:{provider:n,reconnect:!0}}):Re.sendEvent({type:`track`,event:`CONNECT_SUCCESS`,address:Ie.state.address,properties:{method:`email`,name:this.universalProvider?.session?.peer?.metadata?.name||`Unknown`,reconnect:!0}})}else Me.getConnectorId(t)===O.CONNECTOR_ID.AUTH&&(this.setStatus(`disconnected`,t),D.removeConnectedNamespace(t))}this.setLoading(!1,t)}async checkExistingTelegramSocialConnection(e){try{if(!xe.isTelegram())return;let t=D.getTelegramSocialProvider();if(!t||!xe.isClient())return;let n=new URL(window.location.href).searchParams.get(`result_uri`);if(!n)return;Ie.setSocialProvider(t,e),await this.authProvider?.init();let r=Me.getAuthConnector();t&&r&&(this.setLoading(!0,e),await Fe.connectExternal({id:r.id,type:r.type,socialUri:n},r.chain),D.setConnectedSocialProvider(t),D.removeTelegramSocialProvider(),Re.sendEvent({type:`track`,event:`SOCIAL_LOGIN_SUCCESS`,properties:{provider:t}}))}catch{this.setLoading(!1,e)}try{let e=new URL(window.location.href);e.searchParams.delete(`result_uri`),window.history.replaceState({},document.title,e.toString())}catch{}}createAuthProvider(e){if(!O.AUTH_CONNECTOR_SUPPORTED_CHAINS.includes(e))return;let t=this.remoteFeatures?.email,n=Array.isArray(this.remoteFeatures?.socials)&&this.remoteFeatures.socials.length>0,r=t||n,i=Ge.getActiveNamespaceConnectedToAuth()||e;!this.authProvider&&this.options?.projectId&&r&&(this.authProvider=BD.getInstance({projectId:this.options.projectId,enableLogger:this.options.enableAuthLogger,chainId:this.getCaipNetwork(i)?.caipNetworkId,abortController:Ye.EmbeddedWalletAbortController,onTimeout:e=>{e===`iframe_load_failed`?Se.open(Ye.ALERT_ERRORS.IFRAME_LOAD_FAILED,`error`):e===`iframe_request_timeout`?Se.open(Ye.ALERT_ERRORS.IFRAME_REQUEST_TIMEOUT,`error`):e===`unverified_domain`&&Se.open(Ye.ALERT_ERRORS.UNVERIFIED_DOMAIN,`error`)},getActiveCaipNetwork:e=>De(e),getCaipNetworks:e=>k.getCaipNetworks(e)}),j.subscribeOpen(e=>{!e&&this.isTransactionStackEmpty()&&this.authProvider?.rejectRpcRequests()}));let a=e===k.state.activeChain&&A.state.enableReconnect;A.state.enableReconnect===!1?this.syncAuthConnectorTheme(this.authProvider):this.authProvider&&a&&(this.syncAuthConnector(this.authProvider,e),this.checkExistingTelegramSocialConnection(e))}createAuthProviderForAdapter(e){this.createAuthProvider(e),this.authProvider&&this.chainAdapters?.[e]?.setAuthProvider?.(this.authProvider)}initControllers(e){super.initControllers(e),this.options.excludeWalletIds&&Ee.initializeExcludedWallets({ids:this.options.excludeWalletIds})}async switchCaipNetwork(e){if(!e)return;let t=k.state.activeChain,n=e.chainNamespace,r=this.getAddressByChainNamespace(n);if(n===t&&r){let t=this.getAdapter(n),r=Xe.getProvider(n),i=Xe.getProviderId(n);await t?.switchNetwork({caipNetwork:e,provider:r,providerType:i}),this.setCaipNetwork(e)}else{let i=Xe.getProviderId(t)===We.CONNECTOR_TYPE_AUTH,a=Xe.getProviderId(n),o=a===We.CONNECTOR_TYPE_AUTH,s=O.AUTH_CONNECTOR_SUPPORTED_CHAINS.includes(n);if(!n)throw Error(`AppKit:switchCaipNetwork - networkNamespace is required`);if((i&&a===void 0||o)&&s)try{k.state.activeChain=e.chainNamespace,r?await this.getAdapter(n)?.switchNetwork({caipNetwork:e,provider:this.authProvider,providerType:a}):await this.connectionControllerClient?.connectExternal?.({id:O.CONNECTOR_ID.AUTH,provider:this.authProvider,chain:n,chainId:e.id,type:We.CONNECTOR_TYPE_AUTH,caipNetwork:e}),this.setCaipNetwork(e)}catch{await this.getAdapter(n)?.switchNetwork({caipNetwork:e,provider:this.authProvider,providerType:a})}else if(a===We.CONNECTOR_TYPE_WALLET_CONNECT){if(!k.state.noAdapters){let t=this.getAdapter(n),r=Xe.getProvider(n),i=Xe.getProviderId(n);await t?.switchNetwork({caipNetwork:e,provider:r,providerType:i})}this.setCaipNetwork(e),this.syncWalletConnectAccount()}else this.setCaipNetwork(e),r&&this.syncAccount({address:r,chainId:e.id,chainNamespace:n})}}async initialize(e){await super.initialize(e),this.chainNamespaces?.forEach(e=>{this.createAuthProviderForAdapter(e)}),await this.injectModalUi(),j.set({initialized:!0})}async syncIdentity({address:e,chainId:t,chainNamespace:n}){let r=`${n}:${t}`;if(this.caipNetworks?.find(e=>e.caipNetworkId===r)?.testnet){this.setProfileName(null,n),this.setProfileImage(null,n);return}let i=Me.getConnectorId(n)===O.CONNECTOR_ID.AUTH;try{let{name:t,avatar:r}=await this.fetchIdentity({address:e});!t&&i?await this.syncReownName(e,n):(this.setProfileName(t,n),this.setProfileImage(r,n))}catch{t!==1&&this.setProfileImage(null,n)}}syncConnectedWalletInfo(e){let t=Xe.getProviderId(e);if(t===We.CONNECTOR_TYPE_AUTH){let n=this.authProvider;if(n){let r=D.getConnectedSocialProvider()??`email`,i=n.getEmail()??n.getUsername();this.setConnectedWalletInfo({name:t,identifier:i,social:r},e)}}else super.syncConnectedWalletInfo(e)}async injectModalUi(){if(xe.isClient()&&!aO)try{let e={...T.DEFAULT_FEATURES,...this.options.features},t=this.remoteFeatures;if(await this.loadModalComponents(e,t),xe.isClient()&&!document.querySelector(`w3m-modal`)){let e=document.createElement(`w3m-modal`);!A.state.disableAppend&&!A.state.enableEmbedded&&document.body.insertAdjacentElement(`beforeend`,e)}aO=!0}catch{}}async loadModalComponents(e,t){if(!xe.isClient())return;let n=[];(t.email||t.socials&&t.socials.length>0)&&n.push(import(`./embedded-wallet-CoKfbap2.js`)),t.email&&n.push(import(`./email-3wjbM9mF.js`)),t.socials&&n.push(import(`./socials-BniKc0F9.js`)),t.swaps&&t.swaps.length>0&&n.push(import(`./swaps-Dfx921bk.js`)),e.send&&n.push(import(`./send-BzUUPJkm.js`)),e.receive&&n.push(import(`./receive-Czuh6re-.js`)),t.onramp&&t.onramp.length>0&&n.push(import(`./onramp-BeWP5AT3.js`)),t.payWithExchange&&n.push(import(`./pay-with-exchange-k7DQYPpX.js`)),t.activity&&n.push(import(`./transactions-WQ8hE98n.js`)),(e.pay||t.payments)&&n.push(import(`./exports-CXvfermz.js`)),t.emailCapture&&n.push(import(`./data-capture-CYqYDeaA.js`)),await Promise.all([...n,import(`./exports-AymrJn5b.js`),import(`./w3m-modal-BMxysNu_.js`)])}},sO=`1.7.20`;function cO(e){return new oO({...e,sdkVersion:xe.generateSdkVersion(e.adapters??[],`html`,sO)})}var lO=class e extends Error{constructor(t=`WalletConnect client is not initialized. Please call connect() first.`){super(t),this.name=`ClientNotInitializedError`,Object.setPrototypeOf(this,e.prototype)}},uO;(function(e){e.Mainnet=`tron:0x2b6653dc`,e.Shasta=`tron:0x94a9059e`,e.Nile=`tron:0xcd8690dc`})(uO||={});var dO=UD({id:`0x2b6653dc`,caipNetworkId:`tron:0x2b6653dc`,chainNamespace:`tron`,name:`Tron Mainnet`,nativeCurrency:{decimals:6,name:`TRX`,symbol:`TRX`},rpcUrls:{default:{http:[`https://api.trongrid.io/jsonrpc`],webSocket:[``]}},blockExplorers:{default:{name:`Tron BlockChain Explorer`,url:`https://tronscan.org/`}},contracts:{}}),fO=UD({id:`0xcd8690dc`,caipNetworkId:`tron:0xcd8690dc`,chainNamespace:`tron`,name:`Tron Nile Testnet`,nativeCurrency:{decimals:6,name:`TRX`,symbol:`TRX`},rpcUrls:{default:{http:[``],webSocket:[``]}},blockExplorers:{default:{name:`Tron BlockChain Explorer`,url:`https://nile.tronscan.org/`}},contracts:{}}),pO=UD({id:`0x94a9059e`,caipNetworkId:`tron:0x94a9059e`,chainNamespace:`tron`,name:`Tron Shasta Testnet`,nativeCurrency:{decimals:6,name:`TRX`,symbol:`TRX`},rpcUrls:{default:{http:[``],webSocket:[``]}},blockExplorers:{default:{name:`Tron BlockChain Explorer`,url:`https://shasta.tronscan.org/`}},contracts:{}}),mO=new Map([[uO.Mainnet,dO],[uO.Nile,fO],[uO.Shasta,pO]]),hO;(function(e){e.signTransaction=`tron_signTransaction`,e.signMessage=`tron_signMessage`})(hO||={});var gO=(e,t)=>({requiredNamespaces:{tron:{chains:[e],methods:[hO.signTransaction,hO.signMessage],events:[]}},pairingTopic:t}),_O=class{constructor(e){this.providerPromise=null,this.eventListeners=new Map,this.sessionHandlers={},this.modalStateUnsubscribers=[],this.eventUnsubscribers=[],this.pendingModalCallbacks=[],this.pendingEventCallbacks=[],this._options=e.options,this._network=e.network,this._config=e}async getProvider(){if(this.provider)return this.provider;if(!this.providerPromise){let e=this._options.projectId;if(!e)throw Error(`[WalletConnectWallet] projectId is required to initialize UniversalProvider`);this.providerPromise=He.init({projectId:e,logger:this._options?.logger,relayUrl:this._options?.relayUrl,metadata:this._options?.metadata}).catch(e=>{throw this.providerPromise=null,e})}let e=await this.providerPromise;return this.provider=e,this._client=e.client,e}extractAddressFromSession(e){let t=Object.values(e.namespaces).flatMap(e=>e.accounts)[0];if(!t)throw Error(`[WalletConnectWallet] No accounts found in session`);let n=t.split(`:`)[2];if(!n)throw Error(`[WalletConnectWallet] Invalid account format: ${t}`);return n}extractAllAddressesFromSession(e){let t=Object.values(e.namespaces).flatMap(e=>e.accounts);return!t||t.length===0?[]:t.map(e=>e.split(`:`)[2]).filter(e=>!!e)}emit(e,...t){this.eventListeners.get(e)?.forEach(e=>{try{e(...t)}catch{}})}on(e,t){return this.eventListeners.has(e)||this.eventListeners.set(e,new Set),this.eventListeners.get(e).add(t),()=>this.off(e,t)}off(e,t){this.eventListeners.get(e)?.delete(t)}removeAllListeners(e){e?this.eventListeners.delete(e):this.eventListeners.clear()}setupSessionListeners(){if(!this._client||!this._session)return;let e=()=>{this._client&&(this.sessionHandlers.update&&this._client.off(`session_update`,this.sessionHandlers.update),this.sessionHandlers.delete&&this._client.off(`session_delete`,this.sessionHandlers.delete)),this.sessionHandlers={}};e(),this.sessionHandlers.update=({topic:e,params:t})=>{if(!this._session||this._session.topic!==e)return;let n;try{n=this._client?.session.get(e)}catch{return}if(!n)return;let r=this.extractAllAddressesFromSession(this._session);this._session={...n,namespaces:t?.namespaces||n.namespaces},this.address=this.extractAddressFromSession(this._session);let i=this.extractAllAddressesFromSession(this._session);JSON.stringify(r)!==JSON.stringify(i)&&this.emit(`accountsChanged`,i)},this.sessionHandlers.delete=({topic:t})=>{this._session?.topic===t&&(this._session=void 0,this.address=void 0,this.emit(`disconnect`),e())},this._client.on(`session_update`,this.sessionHandlers.update),this._client.on(`session_delete`,this.sessionHandlers.delete)}setupModalListeners(){if(this.appKit){for(;this.modalStateUnsubscribers.length>0;)this.modalStateUnsubscribers.shift()();for(;this.eventUnsubscribers.length>0;)this.eventUnsubscribers.shift()();for(;this.pendingModalCallbacks.length>0;){let e=this.pendingModalCallbacks.shift(),t=this.appKit.subscribeState(e.callback);this.modalStateUnsubscribers.push(t),e.unsubscribeRef.fn=t}for(;this.pendingEventCallbacks.length>0;){let e=this.pendingEventCallbacks.shift(),t=this.appKit.subscribeEvents(e.callback);this.eventUnsubscribers.push(t),e.unsubscribeRef.fn=t}}}async connect(e){let{onUri:t}=e||{},n=await this.getProvider(),r=n.client,i=r.find(gO(this._network)).filter(e=>e.acknowledged);if(i.length){this._session=i[i.length-1],this._client=r,this.address=this.extractAddressFromSession(this._session),this.setupSessionListeners();let e=this.extractAllAddressesFromSession(this._session);return this.emit(`accountsChanged`,e),{address:this.address}}else{if(t)return this.connectWithUri(t);if(!this.appKit){let{network:e,themeMode:t,themeVariables:r,allWallets:i,featuredWalletIds:a,includeWalletIds:o,excludeWalletIds:s,customWallets:c,enableAnalytics:l,debug:u,...d}=this._config,f=mO.get(this._network);this.appKit=cO({projectId:this._options.projectId,networks:[dO,fO,pO],defaultNetwork:f,themeMode:t,themeVariables:r,allWallets:i??`HIDE`,featuredWalletIds:a,includeWalletIds:o,excludeWalletIds:s,customWallets:c,enableAnalytics:l,debug:u,manualWCControl:!0,universalProvider:n,...d}),this.setupModalListeners()}await this.appKit.open();try{let e=!1,t,i=n.connect({pairingTopic:void 0,optionalNamespaces:gO(this._network).requiredNamespaces}),a=new Promise((n,r)=>{let i=!0;t=this.appKit.subscribeState(t=>{i&&!t.open&&!e&&r(Error(`User closed the connection modal`)),i=t.open})}),o=await Promise.race([i.then(t=>(e=!0,t)),a]).finally(()=>{t?.()});this._session=o,this._client=r,this.address=this.extractAddressFromSession(this._session),this.setupSessionListeners();let s=this.extractAllAddressesFromSession(this._session);return this.emit(`accountsChanged`,s),{address:this.address}}catch(e){throw e}finally{await this.appKit?.close()}}}async connectWithUri(e){let t=await this.getProvider(),n=t.client;t.once(`display_uri`,e);try{let e=await t.connect({pairingTopic:void 0,optionalNamespaces:gO(this._network).requiredNamespaces});this._session=e,this._client=n,this.address=this.extractAddressFromSession(this._session),this.setupSessionListeners();let r=this.extractAllAddressesFromSession(this._session);return this.emit(`accountsChanged`,r),{address:this.address}}catch(n){throw t.off(`display_uri`,e),n}}async disconnect(){try{for(this._client&&(this.sessionHandlers.update&&this._client.off(`session_update`,this.sessionHandlers.update),this.sessionHandlers.delete&&this._client.off(`session_delete`,this.sessionHandlers.delete),this.sessionHandlers={});this.modalStateUnsubscribers.length>0;)this.modalStateUnsubscribers.shift()();for(;this.eventUnsubscribers.length>0;)this.eventUnsubscribers.shift()();let e=Be(`USER_DISCONNECTED`),t=this._session?.topic||this.provider?.session?.topic;if(!t)throw new lO;let n=this.provider?.client||this._client;if(!n)throw new lO;await n.disconnect({topic:t,reason:e})}finally{this._session=void 0,this.address=void 0}}get client(){if(this._client)return this._client;throw new lO}async checkConnectStatus(){let e=(await this.getProvider()).client,t=e.find(gO(this._network)).filter(e=>e.acknowledged);if(t.length){this._session=t[t.length-1],this._client=e,this.address=this.extractAddressFromSession(this._session),this.setupSessionListeners();let n=this.extractAllAddressesFromSession(this._session);return this.emit(`accountsChanged`,n),{address:this.address}}else return{address:``}}async signTransaction(e){if(this._client&&this._session){let t=this._session.sessionProperties?.tron_method_version===`v1`,n=await this._client.request({chainId:this._network,topic:this._session.topic,request:{method:hO.signTransaction,params:t?{address:this.address,transaction:e}:{address:this.address,transaction:{transaction:e}}}});return n?.result?n.result:n}else throw new lO}async signMessage(e){if(this._client&&this._session){let{signature:t}=await this._client.request({chainId:this._network,topic:this._session.topic,request:{method:hO.signMessage,params:{address:this.address,message:e}}});return t}else throw new lO}async closeModal(){if(!this.appKit)throw Error(`[WalletConnectWallet] AppKit not initialized. Please call connect() first.`);await this.appKit.close()}setThemeMode(e){if(!this.appKit)throw Error(`[WalletConnectWallet] AppKit not initialized. Please call connect() first.`);this.appKit.setThemeMode(e)}subscribeModalState(e){if(!this.appKit){let t={},n={callback:e,unsubscribeRef:t};return this.pendingModalCallbacks.push(n),()=>{if(t.fn){t.fn();let e=this.modalStateUnsubscribers.indexOf(t.fn);e>-1&&this.modalStateUnsubscribers.splice(e,1)}else{let e=this.pendingModalCallbacks.indexOf(n);e>-1&&this.pendingModalCallbacks.splice(e,1)}}}let t=this.appKit.subscribeState(e);return this.modalStateUnsubscribers.push(t),()=>{t();let e=this.modalStateUnsubscribers.indexOf(t);e>-1&&this.modalStateUnsubscribers.splice(e,1)}}subscribeEvents(e){if(!this.appKit){let t={},n={callback:e,unsubscribeRef:t};return this.pendingEventCallbacks.push(n),()=>{if(t.fn){t.fn();let e=this.eventUnsubscribers.indexOf(t.fn);e>-1&&this.eventUnsubscribers.splice(e,1)}else{let e=this.pendingEventCallbacks.indexOf(n);e>-1&&this.pendingEventCallbacks.splice(e,1)}}}let t=this.appKit.subscribeEvents(e);return this.eventUnsubscribers.push(t),()=>{t();let e=this.eventUnsubscribers.indexOf(t);e>-1&&this.eventUnsubscribers.splice(e,1)}}},vO=function(e,t,n,r){function i(e){return e instanceof n?e:new n(function(t){t(e)})}return new(n||=Promise)(function(n,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){e.done?n(e.value):i(e.value).then(o,s)}c((r=r.apply(e,t||[])).next())})},yO=`WalletConnect`,bO=[`--w3m-font-family`,`--w3m-accent`,`--w3m-color-mix`,`--w3m-color-mix-strength`,`--w3m-font-size-master`,`--w3m-border-radius-master`,`--w3m-z-index`,`--w3m-qr-color`],xO=class extends er{constructor(e){if(super(),this.name=yO,this.url=`https://walletconnect.org`,this.icon=`data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzAwIiBoZWlnaHQ9IjMwMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJtNjEuNDM4NTQsOTQuMDAzOGM0OC45MTEyMywtNDcuODg4MTcgMTI4LjIxMTk5LC00Ny44ODgxNyAxNzcuMTIzMjEsMGw1Ljg4NjU1LDUuNzYzNDJjMi40NDU1NiwyLjM5NDQxIDIuNDQ1NTYsNi4yNzY1MSAwLDguNjcwOTJsLTIwLjEzNjcsMTkuNzE1NWMtMS4yMjI3OCwxLjE5NzIxIC0zLjIwNTMsMS4xOTcyMSAtNC40MjgwOCwwbC04LjEwMDU4LC03LjkzMTE1Yy0zNC4xMjE2OSwtMzMuNDA3OTggLTg5LjQ0Mzg5LC0zMy40MDc5OCAtMTIzLjU2NTU4LDBsLTguNjc1MDYsOC40OTM2MWMtMS4yMjI3OCwxLjE5NzIgLTMuMjA1MywxLjE5NzIgLTQuNDI4MDgsMGwtMjAuMTM2NjksLTE5LjcxNTVjLTIuNDQ1NTYsLTIuMzk0NDEgLTIuNDQ1NTYsLTYuMjc2NTIgMCwtOC42NzA5Mmw2LjQ2MTAxLC02LjMyNTg4em0yMTguNzY3OCw0MC43NzM3NWwxNy45MjE3LDE3LjU0Njg5YzIuNDQ1NTQsMi4zOTQ0IDIuNDQ1NTYsNi4yNzY0OCAwLjAwMDAzLDguNjcwODlsLTgwLjgxMDE3LDc5LjEyMTE0Yy0yLjQ0NTU1LDIuMzk0NDIgLTYuNDEwNTksMi4zOTQ0NSAtOC44NTYxNiwwLjAwMDA2Yy0wLjAwMDAxLC0wLjAwMDAxIC0wLjAwMDAzLC0wLjAwMDAyIC0wLjAwMDA0LC0wLjAwMDAzbC01Ny4zNTQxNCwtNTYuMTU0NThjLTAuNjExMzksLTAuNTk4NiAtMS42MDI2NSwtMC41OTg2IC0yLjIxNDA0LDBjMCwwLjAwMDAxIC0wLjAwMDAxLDAuMDAwMDEgLTAuMDAwMDEsMC4wMDAwMmwtNTcuMzUyOTIsNTYuMTU0NTNjLTIuNDQ1NTQsMi4zOTQ0MyAtNi40MTA1OCwyLjM5NDQ3IC04Ljg1NjE2LDAuMDAwMDhjLTAuMDAwMDIsLTAuMDAwMDEgLTAuMDAwMDMsLTAuMDAwMDIgLTAuMDAwMDUsLTAuMDAwMDRsLTgwLjgxMjQyLC03OS4xMjIxOWMtMi40NDU1NiwtMi4zOTQ0IC0yLjQ0NTU2LC02LjI3NjUxIDAsLTguNjcwOTFsMTcuOTIxNzMsLTE3LjU0Njg3YzIuNDQ1NTYsLTIuMzk0NDEgNi40MTA2LC0yLjM5NDQxIDguODU2MTYsMGw1Ny4zNTQ5OCw1Ni4xNTUzNWMwLjYxMTM5LDAuNTk4NjEgMS42MDI2NSwwLjU5ODYxIDIuMjE0MDQsMGMwLjAwMDAxLDAgMC4wMDAwMiwtMC4wMDAwMSAwLjAwMDAzLC0wLjAwMDAybDU3LjM1MjEsLTU2LjE1NTMzYzIuNDQ1NSwtMi4zOTQ0NyA2LjQxMDU0LC0yLjM5NDU2IDguODU2MTYsLTAuMDAwMmMwLjAwMDAzLDAuMDAwMDMgMC4wMDAwNywwLjAwMDA3IDAuMDAwMSwwLjAwMDFsNTcuMzU0OSw1Ni4xNTU0M2MwLjYxMTM5LDAuNTk4NiAxLjYwMjY1LDAuNTk4NiAyLjIxNDA0LDBsNTcuMzUzOTgsLTU2LjE1NDMyYzIuNDQ1NTYsLTIuMzk0NDEgNi40MTA2LC0yLjM5NDQxIDguODU2MTYsMHoiIGZpbGw9IiMzYjk5ZmMiIGlkPSJzdmdfMSIvPjwvc3ZnPg==`,this._readyState=$n.Found,this._state=z.Disconnect,this._disconnected=()=>{let e=this._wallet;e&&(e.off(`disconnect`,this._disconnected),e.off(`accountsChanged`,this._accountsChanged),this._address=null,this._state=z.Disconnect,this.emit(`disconnect`),this.emit(`stateChanged`,this._state))},this._accountsChanged=e=>{let t=this.address;this._address=e?.[0]||``,this.emit(`accountsChanged`,this.address||``,t||``)},!e||typeof e!=`object`)throw Error(`[WalletconnectAdapter] config is required.`);if(e=Object.assign({},e),e.network||=`Nile`,!e.options)throw Error(`[WalletconnectAdapter] config.options is required.`);let t={};e.web3ModalConfig?.themeVariables&&Object.entries(e.web3ModalConfig.themeVariables).forEach(([e,n])=>{let r=e.replace(`--wcm-`,`--w3m-`);bO.includes(r)&&(t[r]=n)}),e.themeMode=e.themeMode||e.web3ModalConfig?.themeMode,e.themeVariables=e.themeVariables||t,e.featuredWalletIds=e.featuredWalletIds||(e.web3ModalConfig?.explorerRecommendedWalletIds===`NONE`?void 0:e.web3ModalConfig?.explorerRecommendedWalletIds),e.privacyPolicyUrl=e.privacyPolicyUrl||e.web3ModalConfig?.privacyPolicyUrl,Reflect.deleteProperty(e,`web3ModalConfig`),this._connecting=!1,this._wallet=null,this._address=null,this._config=e}_getChainId(e){return uO[e]||(e.startsWith(`tron:`)?e:`tron:${e}`)}get address(){return this._address}get readyState(){return this._readyState}get state(){return this._state}get connecting(){return this._connecting}connect(e){return vO(this,void 0,void 0,function*(){try{if(this.connected||this.connecting)return;if(this.state===z.NotFound)throw new Bn;this._connecting=!0;let{onUri:t}=e||{},n=``;try{this._wallet||=new _O(Object.assign(Object.assign({},this._config),{network:this._getChainId(this._config.network)})),{address:n}=yield this._wallet.connect(t?{onUri:t}:void 0)}catch(e){throw e.message===`User closed the connection modal`?new Kn:new Hn(e?.message,e)}this._wallet.on(`disconnect`,this._disconnected),this._wallet.on(`accountsChanged`,this._accountsChanged),this._address=n||``,this._state=z.Connected,this.emit(`stateChanged`,this._state),this.emit(`connect`,n)}catch(e){throw this.emit(`error`,e),e}finally{this._connecting=!1}})}disconnect(){return vO(this,void 0,void 0,function*(){if(this.state===z.NotFound||!this.connected)return;let e=this._wallet;if(e){e.off(`disconnect`,this._disconnected),e.off(`accountsChanged`,this._accountsChanged),this._address=null;try{yield e.disconnect()}catch(e){this.emit(`error`,new Un(e?.message,e))}}this._state=z.Disconnect,this.emit(`disconnect`),this.emit(`stateChanged`,this._state)})}signTransaction(e){return vO(this,void 0,void 0,function*(){if(this.state!==z.Connected)throw new Vn;try{let t=this._wallet;if(!t)throw new Vn;try{return yield t.signTransaction(e)}catch(e){throw new Gn(e?.message,e)}}catch(e){throw this.emit(`error`,e),e}})}signMessage(e){return vO(this,void 0,void 0,function*(){try{if(this.state!==z.Connected)throw new Vn;let t=this._wallet;if(!t)throw new Vn;try{return yield t.signMessage(e)}catch(e){throw new Wn(e?.message,e)}}catch(e){throw this.emit(`error`,e),e}})}getConnectionStatus(){return vO(this,void 0,void 0,function*(){if(!this._wallet||!this.connected)return{address:``};try{return yield this._wallet.checkConnectStatus()}catch{return this._address=null,this._state=z.Disconnect,{address:``}}})}},SO=({adapter:e,metaConfig:t,walletDetailsParams:n})=>l(r=>({...n,id:ce[t].id,name:ce[t].name,type:ce[t].type,signTransaction:e.signTransaction.bind(e),connect:async t=>(r.emitter.emit(`message`,{type:`connecting`}),await e.connect(),r.storage?.removeItem(`tron.disconnected`),{accounts:t?.withCapabilities?[{address:e.address,capabilities:{}}]:[e.address],chainId:x.id}),disconnect:()=>(r.storage?.setItem(`tron.disconnected`,!0),e.disconnect()),getAccounts:async()=>(await d.liftEither(a.fromNullable([e.address]).toEither(Error(`No account found`)))).unsafeCoerce(),switchChain:async()=>x,getChainId:async()=>x.id,isAuthorized:async()=>await r.storage?.getItem(`tron.disconnected`)?!1:!!(e.connected&&e.address),onAccountsChanged:e=>{e.length===0?r.emitter.emit(`disconnect`):r.emitter.emit(`change`,{accounts:e})},onChainChanged:e=>{r.emitter.emit(`change`,{chainId:e})},onDisconnect:()=>{r.emitter.emit(`disconnect`)},getProvider:async()=>e,$filteredChains:new c([x]).asObservable()})),CO=({forceWalletConnectOnly:e})=>{let t=()=>({id:ce.tronWc.id,name:ce.tronWc.name,iconUrl:m.wcLogo,iconBackground:`#fff`,installed:!0,chainGroup:n,qrCode:{getUri:e=>e},createConnector:e=>SO({walletDetailsParams:e,metaConfig:`tronWc`,adapter:new xO({network:`Mainnet`,options:{customStoragePrefix:`tronwalletconnect_`,projectId:o.walletConnectV2.projectId},web3ModalConfig:{themeVariables:{"--wcm-z-index":`99999999999`}}})})}),n={iconUrl:u(b.Tron),title:`Tron`,id:`tron`};return{groupName:`Tron`,wallets:e?[t]:[()=>({id:ce.tronLink.id,name:ce.tronLink.name,iconUrl:s(`trx`),iconBackground:`#fff`,chainGroup:n,createConnector:e=>SO({walletDetailsParams:e,metaConfig:`tronLink`,adapter:new _r})}),t,()=>({id:ce.tronBg.id,name:ce.tronBg.name,iconUrl:m.bitget,iconBackground:`#fff`,chainGroup:n,createConnector:e=>SO({walletDetailsParams:e,adapter:new Sr,metaConfig:`tronBg`})}),()=>({id:ce.tronLedger.id,name:ce.tronLedger.name,iconUrl:m.ledgerLogo,iconBackground:`#fff`,chainGroup:n,createConnector:e=>SO({walletDetailsParams:e,metaConfig:`tronLedger`,adapter:new zD})})]}};export{CO as getTronConnectors};
|