@argent/x-shared 1.31.0 → 1.32.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const m=require("zod"),a=require("./transactionVersion-CnOPxZEg.js"),g=require("starknet"),$=require("react"),D=require("lodash-es"),Be=require("swr"),ye=require("@scure/base"),Qr=require("ua-parser-js"),es=require("@scure/bip39"),ts=require("@scure/bip39/wordlists/english"),ns=require("object-hash"),gn=m.z.object({name:m.z.string().optional(),address:m.z.string(),ownerAddress:m.z.string(),chain:m.z.enum(["ethereum","zksync","zksync2","starknet"]),deploymentStatus:m.z.enum(["notDeployed","deploying","deployed","deployError"]),application:m.z.enum(["mobile","webwallet","argentx"]),guardianAddresses:m.z.array(m.z.string()).optional(),enabledGuardianAddresses:m.z.array(m.z.string()).optional(),implClassHash:m.z.string().optional(),proxyClassHash:m.z.string().optional(),salt:m.z.string().optional(),created:m.z.string().optional(),contractVersion:m.z.string().optional(),contractName:m.z.string().optional(),version:m.z.number().optional(),owner:m.z.object({guid:m.z.string().optional(),signerType:m.z.enum(["StarknetKey","EthereumKey"]).optional()}).optional()}),rs=m.z.object({address:m.z.string(),guardianAddress:m.z.string().optional(),account:gn}),ss=m.z.object({ownerAddress:m.z.string(),signature:m.z.object({r:m.z.string(),s:m.z.string()}),implClassHash:m.z.string().optional(),name:m.z.string().optional(),icon:m.z.string().optional()});function os(e){return"transactionVersion"in e}function as(e){return"simulateTransaction"in e}function is(e){return!("simulateTransaction"in e)}const Sn=m.z.object({value:m.z.string(),platform:m.z.enum(["ios","argentx","android","webwallet"]).nullable()}),cs=m.z.object({preferences:m.z.record(Sn)}),wn=m.z.enum(["mainnet-alpha","sepolia-alpha"]),yn=m.z.enum(["mainnet","sepolia"]);function ls(e){return wn.safeParse(e).success}function ds(e){return yn.safeParse(e).success}const Ee=18;function Ue({value:e,decimals:t}){if(t===0)return e.toString();const n=e<0n;e=n?-e:e;const r=e.toString().padStart(t,"0"),s=r.slice(0,-t)||"0",o=r.slice(-t).replace(/0+$/,"");return`${n?"-":""}${s}${o?`.${o}`:""}`}const At=(e,t)=>({decimals:t,value:t>=e.decimals?e.value*BigInt(10)**BigInt(t-e.decimals):e.value/BigInt(10)**BigInt(e.decimals-t)}),bn=e=>{const t=e.value.toString().split("").reverse();let n=0;for(let s=0;s<t.length&&t[s]==="0";s++)n++;const r=e.decimals-n;return At(e,r)},En=(e,t)=>{const n=Math.max(e.decimals,t.decimals),[r,s]=[e,t].map(o=>At(o,n));return[r.value,s.value,n]},Je=e=>(t,n)=>{const[r,s,o]=En(t,n);return{decimals:o,value:e(r,s,o)}},He=e=>(t,n)=>{const[r,s]=En(t,n);return e(r,s)},us=Je((e,t)=>e+t),hs=Je((e,t)=>e-t),fs=Je((e,t,n)=>{if(t===BigInt(0))throw new Error("Division by zero is not allowed");return e*BigInt(10)**BigInt(n)/t}),ms=(e,t)=>bn({decimals:e.decimals+t.decimals,value:e.value*t.value}),ps=Je((e,t)=>{if(t===BigInt(0))throw new Error("Modulus by zero is not allowed");return e%t}),Tt=e=>({decimals:e.decimals,value:e.value>=BigInt(0)?e.value:-e.value}),An=He((e,t)=>e===t),gs=He((e,t)=>e<t),Ss=He((e,t)=>e>t),ws=He((e,t)=>e<=t),ys=He((e,t)=>e>=t),bs=(e,t)=>!An(e,t);function Es(e){return Ue({value:e,decimals:Ee})}function As(e){return a.parseUnits(e,Ee)}function Ts(e){return Ue({value:e,decimals:Ee})}function xt(e){return a.parseUnits(e,Ee)}function xs(e){return Tt({value:e,decimals:0}).value}function vs(e){return Tt(xt(e))}function Is(e,t){return{value:BigInt(e),decimals:t}}const Cs={value:1n,decimals:0};function _s(e){return m.z.string().refine(t=>/^-?\d+(\.\d+)?$/.test(t),{message:"Invalid number format"}).transform(t=>a.parseUnits(t,e))}const Bs=Object.freeze(Object.defineProperty({__proto__:null,ONE:Cs,abs:Tt,absBigInt:xs,add:us,createUnitsSchema:_s,div:fs,eq:An,formatCurrency:Ts,formatEther:Es,formatUnits:Ue,gt:Ss,gte:ys,lt:gs,lte:ws,mod:ps,mul:ms,not:bs,parseCurrency:xt,parseCurrencyAbs:vs,parseEther:As,parseUnits:a.parseUnits,sub:hs,toBigDecimal:Is,toFixedDecimals:At,toTiniestPossibleDecimal:bn},Symbol.toStringTag,{value:"Module"}));class Ns{constructor(t,n){this.cachePromise=n.open(t).catch(r=>(console.error(new Error("Failed to open cache",{cause:r})),null))}async get(t){const n=await this.cachePromise;if(!n)throw new Error("No cache available");const r=await n.match(t).catch(()=>{throw new Error("Failed to match cache")});if(!r)throw new Error("Failed to match cache");return r.clone()}async set(t,n){const r=await this.cachePromise;r&&await r.put(t,n).catch(()=>{throw new Error("Failed to match cache")})}async delete(t){const n=await this.cachePromise;return n?n.delete(t):!1}async flush(){const t=await this.cachePromise;if(!t)return;const n=await t.keys();await Promise.allSettled(n.map(r=>t.delete(r)))}}class ks{constructor(t,n){this.httpService=t,this.baseUrl=n,this.offsetInS=0,this.syncIntervalInMs=60*1e3,this.initialSync=this.syncWithServer(),setInterval(()=>void this.syncWithServer(),this.syncIntervalInMs)}async now(){return await this.initialSync,new Date(Date.now()+this.offsetInS*1e3)}async syncWithServer(){if(typeof window>"u")return;const{time:t}=await this.httpService.get(`${this.baseUrl}/time`),n=Math.floor(Date.now()/1e3),r=t-n;this.offsetInS=r}}class Xe{constructor(t,n="json"){this.requestInit=t,this.responseType=n}async get(t,n){const r=D.isFunction(this.requestInit)?await this.requestInit():this.requestInit,s={...r,...n,method:"GET",headers:{...r==null?void 0:r.headers,...n==null?void 0:n.headers}},o=await fetch(t,s).catch(()=>{throw new a.HttpError(a.HTTP_ERROR_MESSAGE.FAILED_TO_FETCH_URL,0)});if(this.responseType==="json"){if(!o.ok)throw new a.HttpError(o.statusText,o.status);return await o.json()}return o}async post(t,n,r){const s=D.isFunction(this.requestInit)?await this.requestInit():this.requestInit,o={...s,...n,method:"POST",headers:{...s==null?void 0:s.headers,...n==null?void 0:n.headers}},i=await fetch(t,o).catch(()=>{throw new a.HttpError(a.HTTP_ERROR_MESSAGE.FAILED_TO_POST_URL,0)});if(!i.ok)throw new a.HttpError(i.statusText,i.status,await i.json());if(i.status===204)return{};const c=await i.json();if(r)try{return r.parse(c)}catch(l){throw new a.HttpError(l.message,0)}return c}async put(t,n){const r=D.isFunction(this.requestInit)?await this.requestInit():this.requestInit,s={...r,...n,method:"PUT",headers:{...r==null?void 0:r.headers,...n==null?void 0:n.headers}},o=await fetch(t,s).catch(()=>{throw new a.HttpError("Failed to put url",0)});if(!o.ok)throw new a.HttpError(o.statusText,o.status);return await o.json()}async delete(t,n){const r=D.isFunction(this.requestInit)?await this.requestInit():this.requestInit,s={...r,...n,method:"DELETE",headers:{...r==null?void 0:r.headers,...n==null?void 0:n.headers}},o=await fetch(t,s).catch(()=>{throw new a.HttpError("Failed to delete url",0)});if(!o.ok)throw new a.HttpError(o.statusText,o.status)}}const ze=e=>{process.env.NODE_ENV};function Os(e,t){const n=e.clone(),r=new Headers(n.headers);for(const[s,o]of Object.entries(t))r.set(s,o);return new Response(n.body,{status:n.status,statusText:e.statusText,headers:r})}class Rs{constructor(t,n,r,s){this.dateService=t,this.cacheService=n,this.httpService=r,this.options=s,this.inFlightRequests=new Map}async rawGet(t,n){try{const r=await this.cacheService.get(t),s=await this.dateService.now(),o=new Date(r.headers.get("date")||""),i=s.getTime()-o.getTime();if(i<this.options.freshFor)return ze("🟢 [SWR] Using fresh cache"),r;if(i<this.options.staleFor)return this.fetchAndCache(t,n),ze("🟠 [SWR] Revalidating cache"),r;throw new Error("Cache too old")}catch(r){if(r instanceof a.HttpError)throw r;return ze(),await this.fetchAndCache(t,n)}}async get(t,n){const r=await this.rawGet(t,n);return this.parseResponse(r)}async fetchAndCache(t,n){const r=this.inFlightRequests.get(t);if(!r){const s=this.httpService.get(t,n).then(async o=>{const i=await this.dateService.now();return await this.cacheService.set(t,Os(o,{date:i.toUTCString()})),o}).finally(()=>{this.inFlightRequests.delete(t)});return this.inFlightRequests.set(t,s),s}return ze(),r}parseResponse(t){if(t.ok)return t.json();throw new a.HttpError(t.statusText,t.status)}}const Ne=(e,t,n)=>{const r=new Error(e);r.name="FetcherError",r.url=t.url,r.status=t.status,r.statusText=t.statusText,r.responseText=n;try{const s=JSON.parse(n);r.responseJson=s}catch{}return r},vt=async(e,t)=>{const n=await fetch(e,t),r=await n.text();if(!n.ok)throw Ne("An error occurred while fetching",n,r);try{return JSON.parse(r)}catch{throw Ne("An error occurred while parsing",n,r)}},Ps=async(e,t)=>{const n=await fetch(e,{method:"POST",...t}),r=await n.text();if(!n.ok)throw Ne("An error occurred while fetching",n,r);try{return JSON.parse(r)}catch{throw Ne("An error occurred while parsing",n,r)}},Fs=e=>({refreshInterval:e,dedupingInterval:e}),Ds=e=>`${e.networkId}::${e.address}`,Us=()=>{};function Tn(e,t,n,r){const{cache:s}=Be.useSWRConfig(),o=Be(e&&t,e?n:Us,r);return $.useEffect(()=>{e||(o.mutate(),s.delete(t))},[e]),o}const Hs={revalidateOnFocus:!1,revalidateOnMount:!0,revalidateOnReconnect:!1,refreshWhenOffline:!1,refreshWhenHidden:!1,refreshInterval:0},xn=async(e,t)=>{try{const{time:n}=await vt(a.urlJoin(e,"time"),{headers:t});return n}catch{throw new Error("failed to request time")}},$s=async(e,t)=>{const n=await xn(e,t);return Math.floor(n)};function vn(e){switch(e){case"mainnet-alpha":case g.constants.NetworkName.SN_MAIN:return g.constants.StarknetChainId.SN_MAIN;case"sepolia-alpha":case g.constants.NetworkName.SN_SEPOLIA:return g.constants.StarknetChainId.SN_SEPOLIA;default:throw new a.NetworkError({code:"NOT_FOUND",message:`Unknown networkId: ${e}`})}}function In(e){return e.replace(".stark","").split(".").map(r=>g.starknetId.useEncoded(r).toString(10))}function Cn(e){const t=vn(e);return g.starknetId.getStarknetIdContract(t)}function _n(e,t){const n=Cn(t),r=In(e);try{const o={domain:r,hint:[]};return a.callSchema.parse({contractAddress:n,entrypoint:"domain_to_address",calldata:o})}catch(s){throw new a.CallError({code:"NOT_VALID",options:{error:s}})}}async function Bn(e,t,n){if(!t||!n)throw new a.NetworkError({code:"NO_NETWORK_OR_MULTICALL"});let r=null;try{r=_n(e,t)}catch(c){throw new a.CallError({code:"NOT_VALID",options:{error:c}})}let s,o;try{s=await n.callContract(r),o=s[0]}catch{throw new a.AddressError({code:"STARKNAME_ERROR"})}if(a.isZeroAddress(o))throw new a.AddressError({code:"STARKNAME_NOT_FOUND",message:`${e} not found`});if(!a.isValidAddress(o))throw new a.AddressError({code:"STARKNAME_INVALID_ADDRESS",message:`${e} resolved to an invalid address (${o})`});return a.normalizeAddress(o)}class Ls{constructor(t,n,r){this.httpService=t,this.baseUrl=n,this.allowedArgentNameNetworkId=r}async parseAddressOrDomain(t,n,r){if(a.isAddress(t))return a.normalizeAddress(t);try{return await this.getAddressFromDomainName(t,n,r)}catch{throw new a.AddressError({code:"NOT_VALID"})}}async getAddressFromDomainName(t,n,r){if(a.isStarknetId(t))return Bn(t,n,r);if(a.isArgentName(t)){if(n!==this.allowedArgentNameNetworkId)throw new a.AddressError({code:"ARGENT_NAME_INVALID_NETWORK",message:`Argent name is only enabled on "${this.allowedArgentNameNetworkId}"`});return a.getAddressFromArgentName(t,this.httpService,this.baseUrl)}throw new a.AddressError({code:"NO_ADDRESS_FROM_DOMAIN"})}}const Nn=["0x25ec026985a3bf9d0cc1fe17326b245dfdc3ff89b8fde106542a3ea56c5a918"],J={"0.2.4":"0x033434ad846cdd5f23eb73ff09fe6fddd568284a0fb7d1be20ee482f044dabe2","0.2.3":"0x1a7820094feaf82d53f53f214b81292d717e7bb9a92bb2488092cd306f3993f","0.2.2":"0x3e327de1c40540b98d05cbcb13552008e36f0ec8d61d46956d2f9752c294328","0.2.1":"0x7e28fb0161d10d1cf7fe1f13e7ca57bce062731a3bd04494dfd2d0412699727","0.4.0":"0x036078334509b514626504edc9fb252328d1a240e4e948bef8d0c08dff45927f","0.3.1":"0x29927c8af6bccf3f6fda035981e765a7bdbf18a2dc0d630494f8758aa908e2b","0.3.0":"0x1a736d6ed154502257f02b1ccdf4d9d1089f80811cd6acad48e6b6a9d1f2003"},ke={"0.1.1":"0x6e150953b26271a740bf2b6e9bca17cc52c68d765f761295de51ceb8526ee72","0.1.0":"0x737ee2f87ce571a58c6c8da558ec18a07ceb64a6172d5ec46171fbc80077a48"};var js=typeof global=="object"&&global&&global.Object===Object&&global,zs=typeof self=="object"&&self&&self.Object===Object&&self,Qe=js||zs||Function("return this")(),We=Qe.Symbol,kn=Object.prototype,Vs=kn.hasOwnProperty,Ms=kn.toString,ve=We?We.toStringTag:void 0;function qs(e){var t=Vs.call(e,ve),n=e[ve];try{e[ve]=void 0;var r=!0}catch{}var s=Ms.call(e);return r&&(t?e[ve]=n:delete e[ve]),s}var Gs=Object.prototype,Ws=Gs.toString;function Ks(e){return Ws.call(e)}var Zs="[object Null]",Ys="[object Undefined]",Vt=We?We.toStringTag:void 0;function Js(e){return e==null?e===void 0?Ys:Zs:Vt&&Vt in Object(e)?qs(e):Ks(e)}function On(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var Xs="[object AsyncFunction]",Qs="[object Function]",eo="[object GeneratorFunction]",to="[object Proxy]";function no(e){if(!On(e))return!1;var t=Js(e);return t==Qs||t==eo||t==Xs||t==to}var lt=Qe["__core-js_shared__"],Mt=function(){var e=/[^.]+$/.exec(lt&&lt.keys&&lt.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function ro(e){return!!Mt&&Mt in e}var so=Function.prototype,oo=so.toString;function ao(e){if(e!=null){try{return oo.call(e)}catch{}try{return e+""}catch{}}return""}var io=/[\\^$.*+?()[\]{}|]/g,co=/^\[object .+?Constructor\]$/,lo=Function.prototype,uo=Object.prototype,ho=lo.toString,fo=uo.hasOwnProperty,mo=RegExp("^"+ho.call(fo).replace(io,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function po(e){if(!On(e)||ro(e))return!1;var t=no(e)?mo:co;return t.test(ao(e))}function go(e,t){return e==null?void 0:e[t]}function It(e,t){var n=go(e,t);return po(n)?n:void 0}var Oe=It(Object,"create");function So(){this.__data__=Oe?Oe(null):{},this.size=0}function wo(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var yo="__lodash_hash_undefined__",bo=Object.prototype,Eo=bo.hasOwnProperty;function Ao(e){var t=this.__data__;if(Oe){var n=t[e];return n===yo?void 0:n}return Eo.call(t,e)?t[e]:void 0}var To=Object.prototype,xo=To.hasOwnProperty;function vo(e){var t=this.__data__;return Oe?t[e]!==void 0:xo.call(t,e)}var Io="__lodash_hash_undefined__";function Co(e,t){var n=this.__data__;return this.size+=this.has(e)?0:1,n[e]=Oe&&t===void 0?Io:t,this}function de(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}de.prototype.clear=So;de.prototype.delete=wo;de.prototype.get=Ao;de.prototype.has=vo;de.prototype.set=Co;function _o(){this.__data__=[],this.size=0}function Bo(e,t){return e===t||e!==e&&t!==t}function et(e,t){for(var n=e.length;n--;)if(Bo(e[n][0],t))return n;return-1}var No=Array.prototype,ko=No.splice;function Oo(e){var t=this.__data__,n=et(t,e);if(n<0)return!1;var r=t.length-1;return n==r?t.pop():ko.call(t,n,1),--this.size,!0}function Ro(e){var t=this.__data__,n=et(t,e);return n<0?void 0:t[n][1]}function Po(e){return et(this.__data__,e)>-1}function Fo(e,t){var n=this.__data__,r=et(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this}function Ae(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}Ae.prototype.clear=_o;Ae.prototype.delete=Oo;Ae.prototype.get=Ro;Ae.prototype.has=Po;Ae.prototype.set=Fo;var Do=It(Qe,"Map");function Uo(){this.size=0,this.__data__={hash:new de,map:new(Do||Ae),string:new de}}function Ho(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}function tt(e,t){var n=e.__data__;return Ho(t)?n[typeof t=="string"?"string":"hash"]:n.map}function $o(e){var t=tt(this,e).delete(e);return this.size-=t?1:0,t}function Lo(e){return tt(this,e).get(e)}function jo(e){return tt(this,e).has(e)}function zo(e,t){var n=tt(this,e),r=n.size;return n.set(e,t),this.size+=n.size==r?0:1,this}function Te(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}Te.prototype.clear=Uo;Te.prototype.delete=$o;Te.prototype.get=Lo;Te.prototype.has=jo;Te.prototype.set=zo;var Vo="__lodash_hash_undefined__";function Mo(e){return this.__data__.set(e,Vo),this}function qo(e){return this.__data__.has(e)}function Ke(e){var t=-1,n=e==null?0:e.length;for(this.__data__=new Te;++t<n;)this.add(e[t])}Ke.prototype.add=Ke.prototype.push=Mo;Ke.prototype.has=qo;function Go(e,t,n,r){for(var s=e.length,o=n+-1;++o<s;)if(t(e[o],o,e))return o;return-1}function Wo(e){return e!==e}function Ko(e,t,n){for(var r=n-1,s=e.length;++r<s;)if(e[r]===t)return r;return-1}function Zo(e,t,n){return t===t?Ko(e,t,n):Go(e,Wo,n)}function Yo(e,t){var n=e==null?0:e.length;return!!n&&Zo(e,t,0)>-1}function Jo(e,t,n){for(var r=-1,s=e==null?0:e.length;++r<s;)if(n(t,e[r]))return!0;return!1}function Xo(e,t){return e.has(t)}var dt=It(Qe,"Set");function Qo(){}function Rn(e){var t=-1,n=Array(e.size);return e.forEach(function(r){n[++t]=r}),n}var ea=1/0,ta=dt&&1/Rn(new dt([,-0]))[1]==ea?function(e){return new dt(e)}:Qo,na=200;function ra(e,t,n){var r=-1,s=Yo,o=e.length,i=!0,c=[],l=c;if(n)i=!1,s=Jo;else if(o>=na){var d=ta(e);if(d)return Rn(d);i=!1,s=Xo,l=new Ke}else l=c;e:for(;++r<o;){var h=e[r],u=h;if(h=n||h!==0?h:0,i&&u===u){for(var y=l.length;y--;)if(l[y]===u)continue e;c.push(h)}else s(l,u,n)||(l!==c&&l.push(u),c.push(h))}return c}function sa(e,t){return t=typeof t=="function"?t:void 0,e&&e.length?ra(e,void 0,t):[]}function St(e){const t=Object.entries(J),n=Object.entries(ke);switch(e){case"cairo0":return t.filter(([r])=>a.semver.lt(r,"0.3.0")).map(([,r])=>r);case"cairo1":return t.filter(([r])=>a.semver.gte(r,"0.3.0")).map(([,r])=>r);case"multisig":return n.map(([,r])=>r);default:return t.map(([,r])=>r)}}function Pn(){const e=a.semver.maxSatisfying(Object.keys(J),"*");if(!e)throw new Error(`No argent account contract found: v${e} `);return J[e]}function oa(){const e=a.semver.maxSatisfying(Object.keys(ke),"*");if(!e)throw new Error(`No argent multisig contract found: v${e} `);return ke[e]}function Fn(){return Object.entries(J).filter(([e])=>a.semver.gte(e,"0.4.0")).map(([,e])=>e)}function aa(){const e=a.semver.maxSatisfying(Object.keys(J),"<0.3.0");if(!e)throw new Error(`No argent account contract found: v${e} `);return J[e]}function Dn(){const e=Object.entries(J).filter(([n])=>a.semver.gte(n,"0.3.1")).map(([,n])=>n),t=Object.entries(ke).filter(([n])=>a.semver.gte(n,"0.1.1")).map(([,n])=>n);return[...e,...t]}function ia(){return Object.entries(J).filter(([e])=>a.semver.gte(e,"0.4.0")).map(([,e])=>e)}function ca(){const e=a.semver.maxSatisfying(Object.keys(J),">=0.4.0");if(!e)throw new Error(`No ledger account contract found: v${e}`);return J[e]}const Un=(e,t)=>e.cairoVersion===t.cairoVersion&&a.isEqualAddress(e.accountClassHash,t.accountClassHash);function la(e,t,n=[]){const r=a.implementationSchema.parse({cairoVersion:t.cairoVersion??"1",accountClassHash:t.classHash??Pn()}),s=m.z.array(a.implementationSchema).parse(n),o=[...St("cairo0").map(d=>({cairoVersion:"0",accountClassHash:d})),...St("cairo1").map(d=>({cairoVersion:"1",accountClassHash:d}))],l=sa([r,...s,...o],Un).map(d=>({implementation:d,address:Ln(d.cairoVersion,d.accountClassHash,e,t.guardian,t.salt)})).find(d=>a.isEqualAddress(d.address,t.address));if(!l)throw new a.AccountError({code:"CALCULATED_ADDRESS_NO_MATCH"});return l.implementation}function Hn(e,t,n,r,s,o=Nn[0]){const i=$n(e,t,n,r);return{classHash:e==="0"?o:t,constructorCalldata:g.CallData.compile(i),addressSalt:s||n}}function $n(e,t,n,r){const s=e!=="0"&&a.isEqualAddress(a.STANDARD_DEVNET_ACCOUNT_CLASS_HASH,t),o={pubkey:n,...s?{}:{guardian:r||"0"}};if(Fn().some(c=>a.isEqualAddress(c,t))){const c=a.getSignerForMultiSigner(n,a.MultiSigner.Starknet),l=r?new g.CairoOption(g.CairoOptionVariant.Some,a.getSignerForMultiSigner(r,a.MultiSigner.Starknet)):new g.CairoOption(g.CairoOptionVariant.None,null);return{ownerSigner:c,guardianAsOption:l}}return e==="0"?a.constructorCallDataSchemaC0.parse({implementation:t,selector:g.hash.getSelectorFromName("initialize"),calldata:g.CallData.compile(o)}):a.constructorCallDataSchemaC1V1.parse({owner:n,guardian:r})}function Ln(e,t,n,r,s){const o=Hn(e,t,n,r,s);return g.hash.calculateContractAddressFromHash(o.addressSalt,o.classHash,o.constructorCalldata,0)}function da(e,t){const n=$.useRef(e),r=$.useRef();return $.useEffect(()=>{n.current=e},[e]),$.useEffect(()=>()=>{r.current&&clearTimeout(r.current)},[]),(...s)=>{r.current&&clearTimeout(r.current),r.current=setTimeout(()=>n.current(...s),t)}}function ua(e,t){const[n,r]=$.useState(e);return $.useEffect(()=>{const s=setTimeout(()=>{r(e)},t);return()=>{clearTimeout(s)}},[e,t]),n}const jn=m.z.object({name:m.z.enum(["dappland","discord","github","telegram","twitter","website"]),url:m.z.string(),position:m.z.number()}),zn=m.z.object({address:a.addressSchemaArgentBackend,chain:m.z.enum(["ethereum","starknet"])}),Vn=m.z.object({dappId:m.z.string(),name:m.z.string(),description:m.z.string().optional(),logoUrl:m.z.string().optional(),dappUrl:m.z.string().optional(),inAppBrowserCompatible:m.z.boolean(),argentVerified:m.z.boolean(),links:m.z.array(jn).optional(),contracts:m.z.array(zn).optional(),categories:m.z.array(m.z.string()).optional(),supportedApps:m.z.array(m.z.string()).optional(),brandColor:m.z.string().optional()}),Mn=m.z.array(Vn);class ha{constructor(t,n){this.apiBase=t,this.httpService=new Xe(n,"json")}async getAll(){const t=await this.httpService.get(`${this.apiBase}/tokens/dapps`),n=Mn.safeParse(t);if(!n.success)throw new Error("Failed to parse known dapps");return n.data}}function qn(e){var t;return(t=e==null?void 0:e.links)==null?void 0:t.find(n=>n.name==="dappland")}function fa(e){var t;return(t=qn(e))==null?void 0:t.url}const Ct=m.object({domain:a.starknetIdSchema,address:a.addressSchema.optional(),avatar:m.string().optional(),status:m.union([m.literal("KNOWN"),m.literal("UNKNOWN")])}),Gn=m.array(Ct),Wn=m.object({provider:m.string(),name:m.string(),avatar:m.string().optional()}),Kn=m.object({address:a.addressSchema,status:m.union([m.literal("KNOWN"),m.literal("UNKNOWN")]),resolutions:m.array(Wn).optional()}),Zn=m.array(m.string()),Yn=Kn.array();class ma{constructor(t,n){this.apiBase=t,this.headers=n,this.httpService=new Xe(this.headers,"json")}async getAddressFromMultipleStarknetId(t,n,r){const s=new URLSearchParams(n.map(l=>["domain",l]));r&&s.set("includeAvatar","true");const o=a.urlJoin(this.apiBase,t,"starknet.id",`?${s}`),i=await this.httpService.get(o),c=Gn.safeParse(i);if(!c.success)throw new Error("Failed to parse name resolution");return c.data}async getAddressFromStarknetId(t,n,r){const s=a.urlJoin(this.apiBase,t,"starknet.id",n,r?"?includeAvatar=true":""),o=await this.httpService.get(s),i=Ct.safeParse(o);if(!i.success)throw new Error("Failed to parse name resolution");return i.data}async getStarknetIdFromAddress(t,n,r){const s=new URLSearchParams(n.map(l=>["address",l]));r&&s.set("includeAvatar","true");const o=a.urlJoin(this.apiBase,t,"addresses",`?${s}`),i=await this.httpService.get(o),c=Yn.safeParse(i);if(!c.success)throw new Error("Failed to parse name resolution");return c.data}async getProvidersNames(t){const n=a.urlJoin(this.apiBase,t,"providers","name"),r=await this.httpService.get(n),s=Zn.safeParse(r);if(!s.success)throw new Error("Failed to parse name resolution");return s.data}}const _t=e=>e.slice(0,6)+"..."+e.slice(-4);function qt(e){if(!Number.isSafeInteger(e)||e<0)throw new Error(`positive integer expected, not ${e}`)}function pa(e){return e instanceof Uint8Array||e!=null&&typeof e=="object"&&e.constructor.name==="Uint8Array"}function nt(e,...t){if(!pa(e))throw new Error("Uint8Array expected");if(t.length>0&&!t.includes(e.length))throw new Error(`Uint8Array expected of length ${t}, not of length=${e.length}`)}function Gt(e,t=!0){if(e.destroyed)throw new Error("Hash instance has been destroyed");if(t&&e.finished)throw new Error("Hash#digest() has already been called")}function ga(e,t){nt(e);const n=t.outputLen;if(e.length<n)throw new Error(`digestInto() expects output buffer of length at least ${n}`)}const Ve=BigInt(2**32-1),Wt=BigInt(32);function Sa(e,t=!1){return t?{h:Number(e&Ve),l:Number(e>>Wt&Ve)}:{h:Number(e>>Wt&Ve)|0,l:Number(e&Ve)|0}}function wa(e,t=!1){let n=new Uint32Array(e.length),r=new Uint32Array(e.length);for(let s=0;s<e.length;s++){const{h:o,l:i}=Sa(e[s],t);[n[s],r[s]]=[o,i]}return[n,r]}const ya=(e,t,n)=>e<<n|t>>>32-n,ba=(e,t,n)=>t<<n|e>>>32-n,Ea=(e,t,n)=>t<<n-32|e>>>64-n,Aa=(e,t,n)=>e<<n-32|t>>>64-n;/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */const Ta=e=>new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4)),Kt=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68,xa=e=>e<<24&4278190080|e<<8&16711680|e>>>8&65280|e>>>24&255;function Zt(e){for(let t=0;t<e.length;t++)e[t]=xa(e[t])}const va=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function Ia(e){nt(e);let t="";for(let n=0;n<e.length;n++)t+=va[e[n]];return t}function Jn(e){if(typeof e!="string")throw new Error(`utf8ToBytes expected string, got ${typeof e}`);return new Uint8Array(new TextEncoder().encode(e))}function Xn(e){return typeof e=="string"&&(e=Jn(e)),nt(e),e}let Ca=class{clone(){return this._cloneInto()}};function _a(e){const t=r=>e().update(Xn(r)).digest(),n=e();return t.outputLen=n.outputLen,t.blockLen=n.blockLen,t.create=()=>e(),t}const Qn=[],er=[],tr=[],Ba=BigInt(0),Ie=BigInt(1),Na=BigInt(2),ka=BigInt(7),Oa=BigInt(256),Ra=BigInt(113);for(let e=0,t=Ie,n=1,r=0;e<24;e++){[n,r]=[r,(2*n+3*r)%5],Qn.push(2*(5*r+n)),er.push((e+1)*(e+2)/2%64);let s=Ba;for(let o=0;o<7;o++)t=(t<<Ie^(t>>ka)*Ra)%Oa,t&Na&&(s^=Ie<<(Ie<<BigInt(o))-Ie);tr.push(s)}const[Pa,Fa]=wa(tr,!0),Yt=(e,t,n)=>n>32?Ea(e,t,n):ya(e,t,n),Jt=(e,t,n)=>n>32?Aa(e,t,n):ba(e,t,n);function Da(e,t=24){const n=new Uint32Array(10);for(let r=24-t;r<24;r++){for(let i=0;i<10;i++)n[i]=e[i]^e[i+10]^e[i+20]^e[i+30]^e[i+40];for(let i=0;i<10;i+=2){const c=(i+8)%10,l=(i+2)%10,d=n[l],h=n[l+1],u=Yt(d,h,1)^n[c],y=Jt(d,h,1)^n[c+1];for(let S=0;S<50;S+=10)e[i+S]^=u,e[i+S+1]^=y}let s=e[2],o=e[3];for(let i=0;i<24;i++){const c=er[i],l=Yt(s,o,c),d=Jt(s,o,c),h=Qn[i];s=e[h],o=e[h+1],e[h]=l,e[h+1]=d}for(let i=0;i<50;i+=10){for(let c=0;c<10;c++)n[c]=e[i+c];for(let c=0;c<10;c++)e[i+c]^=~n[(c+2)%10]&n[(c+4)%10]}e[0]^=Pa[r],e[1]^=Fa[r]}n.fill(0)}let Ua=class nr extends Ca{constructor(t,n,r,s=!1,o=24){if(super(),this.blockLen=t,this.suffix=n,this.outputLen=r,this.enableXOF=s,this.rounds=o,this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,qt(r),0>=this.blockLen||this.blockLen>=200)throw new Error("Sha3 supports only keccak-f1600 function");this.state=new Uint8Array(200),this.state32=Ta(this.state)}keccak(){Kt||Zt(this.state32),Da(this.state32,this.rounds),Kt||Zt(this.state32),this.posOut=0,this.pos=0}update(t){Gt(this);const{blockLen:n,state:r}=this;t=Xn(t);const s=t.length;for(let o=0;o<s;){const i=Math.min(n-this.pos,s-o);for(let c=0;c<i;c++)r[this.pos++]^=t[o++];this.pos===n&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;const{state:t,suffix:n,pos:r,blockLen:s}=this;t[r]^=n,n&128&&r===s-1&&this.keccak(),t[s-1]^=128,this.keccak()}writeInto(t){Gt(this,!1),nt(t),this.finish();const n=this.state,{blockLen:r}=this;for(let s=0,o=t.length;s<o;){this.posOut>=r&&this.keccak();const i=Math.min(r-this.posOut,o-s);t.set(n.subarray(this.posOut,this.posOut+i),s),this.posOut+=i,s+=i}return t}xofInto(t){if(!this.enableXOF)throw new Error("XOF is not possible for this instance");return this.writeInto(t)}xof(t){return qt(t),this.xofInto(new Uint8Array(t))}digestInto(t){if(ga(t,this),this.finished)throw new Error("digest() was already called");return this.writeInto(t),this.destroy(),t}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,this.state.fill(0)}_cloneInto(t){const{blockLen:n,suffix:r,outputLen:s,rounds:o,enableXOF:i}=this;return t||(t=new nr(n,r,s,i,o)),t.state32.set(this.state32),t.pos=this.pos,t.posOut=this.posOut,t.finished=this.finished,t.rounds=o,t.suffix=r,t.outputLen=s,t.enableXOF=i,t.destroyed=this.destroyed,t}};const Ha=(e,t,n)=>_a(()=>new Ua(t,e,n)),$a=Ha(1,136,256/8);function rr(e){return`0x${Ia($a(Jn(e)))}`}const La=e=>{if(!D.isString(e))return;const t=/(\d+)$/,n=e.match(t);if(n)return n[1]},sr=(e,t=!1)=>{if(!D.isString(e))return"";const n=t?e.replace(/[^0-9a-z ]/gi,""):e,s=D.upperCase(n).split(" "),o=La(n),i=s.map(c=>c[0]);return o&&o.length>1&&o.length<n.length?[i[0],o.substring(0,2)].join(""):s.length===1?s[0].substring(0,2):[i[0],i[i.length-1]].join("")},{toBigInt:ja}=g.num,Xt=e=>{const t=e.replace("#","");if(!/^[0-9A-F]{6}$/i.test(t))throw new Error(`Invalid color ${e}`);return`#${t}`},Re=(e,t)=>{const n=Xt(t.background),r=Xt(t.color??"#ffffff"),s=sr(e,!0),o=`<svg xmlns="http://www.w3.org/2000/svg" width="48" height="48" viewBox="0 0 48 48">
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const m=require("zod"),a=require("./transactionVersion-IV8urBdT.js"),g=require("starknet"),$=require("react"),D=require("lodash-es"),Be=require("swr"),ye=require("@scure/base"),es=require("ua-parser-js"),ts=require("@scure/bip39"),ns=require("@scure/bip39/wordlists/english"),rs=require("object-hash"),gn=m.z.object({name:m.z.string().optional(),address:m.z.string(),ownerAddress:m.z.string(),chain:m.z.enum(["ethereum","zksync","zksync2","starknet"]),deploymentStatus:m.z.enum(["notDeployed","deploying","deployed","deployError"]),application:m.z.enum(["mobile","webwallet","argentx"]),guardianAddresses:m.z.array(m.z.string()).optional(),enabledGuardianAddresses:m.z.array(m.z.string()).optional(),implClassHash:m.z.string().optional(),proxyClassHash:m.z.string().optional(),salt:m.z.string().optional(),created:m.z.string().optional(),contractVersion:m.z.string().optional(),contractName:m.z.string().optional(),version:m.z.number().optional(),owner:m.z.object({guid:m.z.string().optional(),signerType:m.z.enum(["StarknetKey","EthereumKey"]).optional()}).optional()}),ss=m.z.object({address:m.z.string(),guardianAddress:m.z.string().optional(),account:gn}),os=m.z.object({ownerAddress:m.z.string(),signature:m.z.object({r:m.z.string(),s:m.z.string()}),implClassHash:m.z.string().optional(),name:m.z.string().optional(),icon:m.z.string().optional()});function as(e){return"transactionVersion"in e}function is(e){return"simulateTransaction"in e}function cs(e){return!("simulateTransaction"in e)}const Sn=m.z.object({value:m.z.string(),platform:m.z.enum(["ios","argentx","android","webwallet"]).nullable()}),ls=m.z.object({preferences:m.z.record(Sn)}),wn=m.z.enum(["mainnet-alpha","sepolia-alpha"]),yn=m.z.enum(["mainnet","sepolia"]);function ds(e){return wn.safeParse(e).success}function us(e){return yn.safeParse(e).success}const Ee=18;function Ue({value:e,decimals:t}){if(t===0)return e.toString();const n=e<0n;e=n?-e:e;const r=e.toString().padStart(t,"0"),s=r.slice(0,-t)||"0",o=r.slice(-t).replace(/0+$/,"");return`${n?"-":""}${s}${o?`.${o}`:""}`}const At=(e,t)=>({decimals:t,value:t>=e.decimals?e.value*BigInt(10)**BigInt(t-e.decimals):e.value/BigInt(10)**BigInt(e.decimals-t)}),bn=e=>{const t=e.value.toString().split("").reverse();let n=0;for(let s=0;s<t.length&&t[s]==="0";s++)n++;const r=e.decimals-n;return At(e,r)},En=(e,t)=>{const n=Math.max(e.decimals,t.decimals),[r,s]=[e,t].map(o=>At(o,n));return[r.value,s.value,n]},Je=e=>(t,n)=>{const[r,s,o]=En(t,n);return{decimals:o,value:e(r,s,o)}},He=e=>(t,n)=>{const[r,s]=En(t,n);return e(r,s)},hs=Je((e,t)=>e+t),fs=Je((e,t)=>e-t),ms=Je((e,t,n)=>{if(t===BigInt(0))throw new Error("Division by zero is not allowed");return e*BigInt(10)**BigInt(n)/t}),ps=(e,t)=>bn({decimals:e.decimals+t.decimals,value:e.value*t.value}),gs=Je((e,t)=>{if(t===BigInt(0))throw new Error("Modulus by zero is not allowed");return e%t}),Tt=e=>({decimals:e.decimals,value:e.value>=BigInt(0)?e.value:-e.value}),An=He((e,t)=>e===t),Ss=He((e,t)=>e<t),ws=He((e,t)=>e>t),ys=He((e,t)=>e<=t),bs=He((e,t)=>e>=t),Es=(e,t)=>!An(e,t);function As(e){return Ue({value:e,decimals:Ee})}function Ts(e){return a.parseUnits(e,Ee)}function vs(e){return Ue({value:e,decimals:Ee})}function vt(e){return a.parseUnits(e,Ee)}function xs(e){return Tt({value:e,decimals:0}).value}function Is(e){return Tt(vt(e))}function Cs(e,t){return{value:BigInt(e),decimals:t}}const _s={value:1n,decimals:0};function Bs(e){return m.z.string().refine(t=>/^-?\d+(\.\d+)?$/.test(t),{message:"Invalid number format"}).transform(t=>a.parseUnits(t,e))}const Ns=Object.freeze(Object.defineProperty({__proto__:null,ONE:_s,abs:Tt,absBigInt:xs,add:hs,createUnitsSchema:Bs,div:ms,eq:An,formatCurrency:vs,formatEther:As,formatUnits:Ue,gt:ws,gte:bs,lt:Ss,lte:ys,mod:gs,mul:ps,not:Es,parseCurrency:vt,parseCurrencyAbs:Is,parseEther:Ts,parseUnits:a.parseUnits,sub:fs,toBigDecimal:Cs,toFixedDecimals:At,toTiniestPossibleDecimal:bn},Symbol.toStringTag,{value:"Module"}));class ks{constructor(t,n){this.cachePromise=n.open(t).catch(r=>(console.error(new Error("Failed to open cache",{cause:r})),null))}async get(t){const n=await this.cachePromise;if(!n)throw new Error("No cache available");const r=await n.match(t).catch(()=>{throw new Error("Failed to match cache")});if(!r)throw new Error("Failed to match cache");return r.clone()}async set(t,n){const r=await this.cachePromise;r&&await r.put(t,n).catch(()=>{throw new Error("Failed to match cache")})}async delete(t){const n=await this.cachePromise;return n?n.delete(t):!1}async flush(){const t=await this.cachePromise;if(!t)return;const n=await t.keys();await Promise.allSettled(n.map(r=>t.delete(r)))}}class Os{constructor(t,n){this.httpService=t,this.baseUrl=n,this.offsetInS=0,this.syncIntervalInMs=60*1e3,this.initialSync=this.syncWithServer(),setInterval(()=>void this.syncWithServer(),this.syncIntervalInMs)}async now(){return await this.initialSync,new Date(Date.now()+this.offsetInS*1e3)}async syncWithServer(){if(typeof window>"u")return;const{time:t}=await this.httpService.get(`${this.baseUrl}/time`),n=Math.floor(Date.now()/1e3),r=t-n;this.offsetInS=r}}class Xe{constructor(t,n="json"){this.requestInit=t,this.responseType=n}async get(t,n){const r=D.isFunction(this.requestInit)?await this.requestInit():this.requestInit,s={...r,...n,method:"GET",headers:{...r==null?void 0:r.headers,...n==null?void 0:n.headers}},o=await fetch(t,s).catch(()=>{throw new a.HttpError(a.HTTP_ERROR_MESSAGE.FAILED_TO_FETCH_URL,0)});if(this.responseType==="json"){if(!o.ok)throw new a.HttpError(o.statusText,o.status);return await o.json()}return o}async post(t,n,r){const s=D.isFunction(this.requestInit)?await this.requestInit():this.requestInit,o={...s,...n,method:"POST",headers:{...s==null?void 0:s.headers,...n==null?void 0:n.headers}},i=await fetch(t,o).catch(()=>{throw new a.HttpError(a.HTTP_ERROR_MESSAGE.FAILED_TO_POST_URL,0)});if(!i.ok)throw new a.HttpError(i.statusText,i.status,await i.json());if(i.status===204)return{};const c=await i.json();if(r)try{return r.parse(c)}catch(l){throw new a.HttpError(l.message,0)}return c}async put(t,n){const r=D.isFunction(this.requestInit)?await this.requestInit():this.requestInit,s={...r,...n,method:"PUT",headers:{...r==null?void 0:r.headers,...n==null?void 0:n.headers}},o=await fetch(t,s).catch(()=>{throw new a.HttpError("Failed to put url",0)});if(!o.ok)throw new a.HttpError(o.statusText,o.status);return await o.json()}async delete(t,n){const r=D.isFunction(this.requestInit)?await this.requestInit():this.requestInit,s={...r,...n,method:"DELETE",headers:{...r==null?void 0:r.headers,...n==null?void 0:n.headers}},o=await fetch(t,s).catch(()=>{throw new a.HttpError("Failed to delete url",0)});if(!o.ok)throw new a.HttpError(o.statusText,o.status)}}const ze=e=>{process.env.NODE_ENV};function Rs(e,t){const n=e.clone(),r=new Headers(n.headers);for(const[s,o]of Object.entries(t))r.set(s,o);return new Response(n.body,{status:n.status,statusText:e.statusText,headers:r})}class Ps{constructor(t,n,r,s){this.dateService=t,this.cacheService=n,this.httpService=r,this.options=s,this.inFlightRequests=new Map}async rawGet(t,n){try{const r=await this.cacheService.get(t),s=await this.dateService.now(),o=new Date(r.headers.get("date")||""),i=s.getTime()-o.getTime();if(i<this.options.freshFor)return ze("🟢 [SWR] Using fresh cache"),r;if(i<this.options.staleFor)return this.fetchAndCache(t,n),ze("🟠 [SWR] Revalidating cache"),r;throw new Error("Cache too old")}catch(r){if(r instanceof a.HttpError)throw r;return ze(),await this.fetchAndCache(t,n)}}async get(t,n){const r=await this.rawGet(t,n);return this.parseResponse(r)}async fetchAndCache(t,n){const r=this.inFlightRequests.get(t);if(!r){const s=this.httpService.get(t,n).then(async o=>{const i=await this.dateService.now();return await this.cacheService.set(t,Rs(o,{date:i.toUTCString()})),o}).finally(()=>{this.inFlightRequests.delete(t)});return this.inFlightRequests.set(t,s),s}return ze(),r}parseResponse(t){if(t.ok)return t.json();throw new a.HttpError(t.statusText,t.status)}}const Ne=(e,t,n)=>{const r=new Error(e);r.name="FetcherError",r.url=t.url,r.status=t.status,r.statusText=t.statusText,r.responseText=n;try{const s=JSON.parse(n);r.responseJson=s}catch{}return r},xt=async(e,t)=>{const n=await fetch(e,t),r=await n.text();if(!n.ok)throw Ne("An error occurred while fetching",n,r);try{return JSON.parse(r)}catch{throw Ne("An error occurred while parsing",n,r)}},Fs=async(e,t)=>{const n=await fetch(e,{method:"POST",...t}),r=await n.text();if(!n.ok)throw Ne("An error occurred while fetching",n,r);try{return JSON.parse(r)}catch{throw Ne("An error occurred while parsing",n,r)}},Ds=e=>({refreshInterval:e,dedupingInterval:e}),Us=e=>`${e.networkId}::${e.address}`,Hs=()=>{};function Tn(e,t,n,r){const{cache:s}=Be.useSWRConfig(),o=Be(e&&t,e?n:Hs,r);return $.useEffect(()=>{e||(o.mutate(),s.delete(t))},[e]),o}const $s={revalidateOnFocus:!1,revalidateOnMount:!0,revalidateOnReconnect:!1,refreshWhenOffline:!1,refreshWhenHidden:!1,refreshInterval:0},vn=async(e,t)=>{try{const{time:n}=await xt(a.urlJoin(e,"time"),{headers:t});return n}catch{throw new Error("failed to request time")}},Ls=async(e,t)=>{const n=await vn(e,t);return Math.floor(n)};function xn(e){switch(e){case"mainnet-alpha":case g.constants.NetworkName.SN_MAIN:return g.constants.StarknetChainId.SN_MAIN;case"sepolia-alpha":case g.constants.NetworkName.SN_SEPOLIA:return g.constants.StarknetChainId.SN_SEPOLIA;default:throw new a.NetworkError({code:"NOT_FOUND",message:`Unknown networkId: ${e}`})}}function In(e){return e.replace(".stark","").split(".").map(r=>g.starknetId.useEncoded(r).toString(10))}function Cn(e){const t=xn(e);return g.starknetId.getStarknetIdContract(t)}function _n(e,t){const n=Cn(t),r=In(e);try{const o={domain:r,hint:[]};return a.callSchema.parse({contractAddress:n,entrypoint:"domain_to_address",calldata:o})}catch(s){throw new a.CallError({code:"NOT_VALID",options:{error:s}})}}async function Bn(e,t,n){if(!t||!n)throw new a.NetworkError({code:"NO_NETWORK_OR_MULTICALL"});let r=null;try{r=_n(e,t)}catch(c){throw new a.CallError({code:"NOT_VALID",options:{error:c}})}let s,o;try{s=await n.callContract(r),o=s[0]}catch{throw new a.AddressError({code:"STARKNAME_ERROR"})}if(a.isZeroAddress(o))throw new a.AddressError({code:"STARKNAME_NOT_FOUND",message:`${e} not found`});if(!a.isValidAddress(o))throw new a.AddressError({code:"STARKNAME_INVALID_ADDRESS",message:`${e} resolved to an invalid address (${o})`});return a.normalizeAddress(o)}class js{constructor(t,n,r){this.httpService=t,this.baseUrl=n,this.allowedArgentNameNetworkId=r}async parseAddressOrDomain(t,n,r){if(a.isAddress(t))return a.normalizeAddress(t);try{return await this.getAddressFromDomainName(t,n,r)}catch{throw new a.AddressError({code:"NOT_VALID"})}}async getAddressFromDomainName(t,n,r){if(a.isStarknetId(t))return Bn(t,n,r);if(a.isArgentName(t)){if(n!==this.allowedArgentNameNetworkId)throw new a.AddressError({code:"ARGENT_NAME_INVALID_NETWORK",message:`Argent name is only enabled on "${this.allowedArgentNameNetworkId}"`});return a.getAddressFromArgentName(t,this.httpService,this.baseUrl)}throw new a.AddressError({code:"NO_ADDRESS_FROM_DOMAIN"})}}const Nn=["0x25ec026985a3bf9d0cc1fe17326b245dfdc3ff89b8fde106542a3ea56c5a918"],J={"0.2.4":"0x033434ad846cdd5f23eb73ff09fe6fddd568284a0fb7d1be20ee482f044dabe2","0.2.3":"0x1a7820094feaf82d53f53f214b81292d717e7bb9a92bb2488092cd306f3993f","0.2.2":"0x3e327de1c40540b98d05cbcb13552008e36f0ec8d61d46956d2f9752c294328","0.2.1":"0x7e28fb0161d10d1cf7fe1f13e7ca57bce062731a3bd04494dfd2d0412699727","0.4.0":"0x036078334509b514626504edc9fb252328d1a240e4e948bef8d0c08dff45927f","0.3.1":"0x29927c8af6bccf3f6fda035981e765a7bdbf18a2dc0d630494f8758aa908e2b","0.3.0":"0x1a736d6ed154502257f02b1ccdf4d9d1089f80811cd6acad48e6b6a9d1f2003"},ke={"0.1.1":"0x6e150953b26271a740bf2b6e9bca17cc52c68d765f761295de51ceb8526ee72","0.1.0":"0x737ee2f87ce571a58c6c8da558ec18a07ceb64a6172d5ec46171fbc80077a48"};var zs=typeof global=="object"&&global&&global.Object===Object&&global,Vs=typeof self=="object"&&self&&self.Object===Object&&self,Qe=zs||Vs||Function("return this")(),We=Qe.Symbol,kn=Object.prototype,Ms=kn.hasOwnProperty,qs=kn.toString,xe=We?We.toStringTag:void 0;function Gs(e){var t=Ms.call(e,xe),n=e[xe];try{e[xe]=void 0;var r=!0}catch{}var s=qs.call(e);return r&&(t?e[xe]=n:delete e[xe]),s}var Ws=Object.prototype,Ks=Ws.toString;function Zs(e){return Ks.call(e)}var Ys="[object Null]",Js="[object Undefined]",Vt=We?We.toStringTag:void 0;function Xs(e){return e==null?e===void 0?Js:Ys:Vt&&Vt in Object(e)?Gs(e):Zs(e)}function On(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var Qs="[object AsyncFunction]",eo="[object Function]",to="[object GeneratorFunction]",no="[object Proxy]";function ro(e){if(!On(e))return!1;var t=Xs(e);return t==eo||t==to||t==Qs||t==no}var lt=Qe["__core-js_shared__"],Mt=function(){var e=/[^.]+$/.exec(lt&&lt.keys&&lt.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function so(e){return!!Mt&&Mt in e}var oo=Function.prototype,ao=oo.toString;function io(e){if(e!=null){try{return ao.call(e)}catch{}try{return e+""}catch{}}return""}var co=/[\\^$.*+?()[\]{}|]/g,lo=/^\[object .+?Constructor\]$/,uo=Function.prototype,ho=Object.prototype,fo=uo.toString,mo=ho.hasOwnProperty,po=RegExp("^"+fo.call(mo).replace(co,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function go(e){if(!On(e)||so(e))return!1;var t=ro(e)?po:lo;return t.test(io(e))}function So(e,t){return e==null?void 0:e[t]}function It(e,t){var n=So(e,t);return go(n)?n:void 0}var Oe=It(Object,"create");function wo(){this.__data__=Oe?Oe(null):{},this.size=0}function yo(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var bo="__lodash_hash_undefined__",Eo=Object.prototype,Ao=Eo.hasOwnProperty;function To(e){var t=this.__data__;if(Oe){var n=t[e];return n===bo?void 0:n}return Ao.call(t,e)?t[e]:void 0}var vo=Object.prototype,xo=vo.hasOwnProperty;function Io(e){var t=this.__data__;return Oe?t[e]!==void 0:xo.call(t,e)}var Co="__lodash_hash_undefined__";function _o(e,t){var n=this.__data__;return this.size+=this.has(e)?0:1,n[e]=Oe&&t===void 0?Co:t,this}function de(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}de.prototype.clear=wo;de.prototype.delete=yo;de.prototype.get=To;de.prototype.has=Io;de.prototype.set=_o;function Bo(){this.__data__=[],this.size=0}function No(e,t){return e===t||e!==e&&t!==t}function et(e,t){for(var n=e.length;n--;)if(No(e[n][0],t))return n;return-1}var ko=Array.prototype,Oo=ko.splice;function Ro(e){var t=this.__data__,n=et(t,e);if(n<0)return!1;var r=t.length-1;return n==r?t.pop():Oo.call(t,n,1),--this.size,!0}function Po(e){var t=this.__data__,n=et(t,e);return n<0?void 0:t[n][1]}function Fo(e){return et(this.__data__,e)>-1}function Do(e,t){var n=this.__data__,r=et(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this}function Ae(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}Ae.prototype.clear=Bo;Ae.prototype.delete=Ro;Ae.prototype.get=Po;Ae.prototype.has=Fo;Ae.prototype.set=Do;var Uo=It(Qe,"Map");function Ho(){this.size=0,this.__data__={hash:new de,map:new(Uo||Ae),string:new de}}function $o(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}function tt(e,t){var n=e.__data__;return $o(t)?n[typeof t=="string"?"string":"hash"]:n.map}function Lo(e){var t=tt(this,e).delete(e);return this.size-=t?1:0,t}function jo(e){return tt(this,e).get(e)}function zo(e){return tt(this,e).has(e)}function Vo(e,t){var n=tt(this,e),r=n.size;return n.set(e,t),this.size+=n.size==r?0:1,this}function Te(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}Te.prototype.clear=Ho;Te.prototype.delete=Lo;Te.prototype.get=jo;Te.prototype.has=zo;Te.prototype.set=Vo;var Mo="__lodash_hash_undefined__";function qo(e){return this.__data__.set(e,Mo),this}function Go(e){return this.__data__.has(e)}function Ke(e){var t=-1,n=e==null?0:e.length;for(this.__data__=new Te;++t<n;)this.add(e[t])}Ke.prototype.add=Ke.prototype.push=qo;Ke.prototype.has=Go;function Wo(e,t,n,r){for(var s=e.length,o=n+-1;++o<s;)if(t(e[o],o,e))return o;return-1}function Ko(e){return e!==e}function Zo(e,t,n){for(var r=n-1,s=e.length;++r<s;)if(e[r]===t)return r;return-1}function Yo(e,t,n){return t===t?Zo(e,t,n):Wo(e,Ko,n)}function Jo(e,t){var n=e==null?0:e.length;return!!n&&Yo(e,t,0)>-1}function Xo(e,t,n){for(var r=-1,s=e==null?0:e.length;++r<s;)if(n(t,e[r]))return!0;return!1}function Qo(e,t){return e.has(t)}var dt=It(Qe,"Set");function ea(){}function Rn(e){var t=-1,n=Array(e.size);return e.forEach(function(r){n[++t]=r}),n}var ta=1/0,na=dt&&1/Rn(new dt([,-0]))[1]==ta?function(e){return new dt(e)}:ea,ra=200;function sa(e,t,n){var r=-1,s=Jo,o=e.length,i=!0,c=[],l=c;if(n)i=!1,s=Xo;else if(o>=ra){var d=na(e);if(d)return Rn(d);i=!1,s=Qo,l=new Ke}else l=c;e:for(;++r<o;){var h=e[r],u=h;if(h=n||h!==0?h:0,i&&u===u){for(var y=l.length;y--;)if(l[y]===u)continue e;c.push(h)}else s(l,u,n)||(l!==c&&l.push(u),c.push(h))}return c}function oa(e,t){return t=typeof t=="function"?t:void 0,e&&e.length?sa(e,void 0,t):[]}function St(e){const t=Object.entries(J),n=Object.entries(ke);switch(e){case"cairo0":return t.filter(([r])=>a.semver.lt(r,"0.3.0")).map(([,r])=>r);case"cairo1":return t.filter(([r])=>a.semver.gte(r,"0.3.0")).map(([,r])=>r);case"multisig":return n.map(([,r])=>r);default:return t.map(([,r])=>r)}}function Pn(){const e=a.semver.maxSatisfying(Object.keys(J),"*");if(!e)throw new Error(`No argent account contract found: v${e} `);return J[e]}function aa(){const e=a.semver.maxSatisfying(Object.keys(ke),"*");if(!e)throw new Error(`No argent multisig contract found: v${e} `);return ke[e]}function Fn(){return Object.entries(J).filter(([e])=>a.semver.gte(e,"0.4.0")).map(([,e])=>e)}function ia(){const e=a.semver.maxSatisfying(Object.keys(J),"<0.3.0");if(!e)throw new Error(`No argent account contract found: v${e} `);return J[e]}function Dn(){const e=Object.entries(J).filter(([n])=>a.semver.gte(n,"0.3.1")).map(([,n])=>n),t=Object.entries(ke).filter(([n])=>a.semver.gte(n,"0.1.1")).map(([,n])=>n);return[...e,...t]}function ca(){return Object.entries(J).filter(([e])=>a.semver.gte(e,"0.4.0")).map(([,e])=>e)}function la(){const e=a.semver.maxSatisfying(Object.keys(J),">=0.4.0");if(!e)throw new Error(`No ledger account contract found: v${e}`);return J[e]}const Un=(e,t)=>e.cairoVersion===t.cairoVersion&&a.isEqualAddress(e.accountClassHash,t.accountClassHash);function da(e,t,n=[]){const r=a.implementationSchema.parse({cairoVersion:t.cairoVersion??"1",accountClassHash:t.classHash??Pn()}),s=m.z.array(a.implementationSchema).parse(n),o=[...St("cairo0").map(d=>({cairoVersion:"0",accountClassHash:d})),...St("cairo1").map(d=>({cairoVersion:"1",accountClassHash:d}))],l=oa([r,...s,...o],Un).map(d=>({implementation:d,address:Ln(d.cairoVersion,d.accountClassHash,e,t.guardian,t.salt)})).find(d=>a.isEqualAddress(d.address,t.address));if(!l)throw new a.AccountError({code:"CALCULATED_ADDRESS_NO_MATCH"});return l.implementation}function Hn(e,t,n,r,s,o=Nn[0]){const i=$n(e,t,n,r);return{classHash:e==="0"?o:t,constructorCalldata:g.CallData.compile(i),addressSalt:s||n}}function $n(e,t,n,r){const s=e!=="0"&&a.isEqualAddress(a.STANDARD_DEVNET_ACCOUNT_CLASS_HASH,t),o={pubkey:n,...s?{}:{guardian:r||"0"}};if(Fn().some(c=>a.isEqualAddress(c,t))){const c=a.getSignerForMultiSigner(n,a.MultiSigner.Starknet),l=r?new g.CairoOption(g.CairoOptionVariant.Some,a.getSignerForMultiSigner(r,a.MultiSigner.Starknet)):new g.CairoOption(g.CairoOptionVariant.None,null);return{ownerSigner:c,guardianAsOption:l}}return e==="0"?a.constructorCallDataSchemaC0.parse({implementation:t,selector:g.hash.getSelectorFromName("initialize"),calldata:g.CallData.compile(o)}):a.constructorCallDataSchemaC1V1.parse({owner:n,guardian:r})}function Ln(e,t,n,r,s){const o=Hn(e,t,n,r,s);return g.hash.calculateContractAddressFromHash(o.addressSalt,o.classHash,o.constructorCalldata,0)}function ua(e,t){const n=$.useRef(e),r=$.useRef();return $.useEffect(()=>{n.current=e},[e]),$.useEffect(()=>()=>{r.current&&clearTimeout(r.current)},[]),(...s)=>{r.current&&clearTimeout(r.current),r.current=setTimeout(()=>n.current(...s),t)}}function ha(e,t){const[n,r]=$.useState(e);return $.useEffect(()=>{const s=setTimeout(()=>{r(e)},t);return()=>{clearTimeout(s)}},[e,t]),n}const jn=m.z.object({name:m.z.enum(["dappland","discord","github","telegram","twitter","website"]),url:m.z.string(),position:m.z.number()}),zn=m.z.object({address:a.addressSchemaArgentBackend,chain:m.z.enum(["ethereum","starknet"])}),Vn=m.z.object({dappId:m.z.string(),name:m.z.string(),description:m.z.string().optional(),logoUrl:m.z.string().optional(),dappUrl:m.z.string().optional(),inAppBrowserCompatible:m.z.boolean(),argentVerified:m.z.boolean(),links:m.z.array(jn).optional(),contracts:m.z.array(zn).optional(),categories:m.z.array(m.z.string()).optional(),supportedApps:m.z.array(m.z.string()).optional(),brandColor:m.z.string().optional()}),Mn=m.z.array(Vn);class fa{constructor(t,n){this.apiBase=t,this.httpService=new Xe(n,"json")}async getAll(){const t=await this.httpService.get(`${this.apiBase}/tokens/dapps`),n=Mn.safeParse(t);if(!n.success)throw new Error("Failed to parse known dapps");return n.data}}function qn(e){var t;return(t=e==null?void 0:e.links)==null?void 0:t.find(n=>n.name==="dappland")}function ma(e){var t;return(t=qn(e))==null?void 0:t.url}const Ct=m.object({domain:a.starknetIdSchema,address:a.addressSchema.optional(),avatar:m.string().optional(),status:m.union([m.literal("KNOWN"),m.literal("UNKNOWN")])}),Gn=m.array(Ct),Wn=m.object({provider:m.string(),name:m.string(),avatar:m.string().optional()}),Kn=m.object({address:a.addressSchema,status:m.union([m.literal("KNOWN"),m.literal("UNKNOWN")]),resolutions:m.array(Wn).optional()}),Zn=m.array(m.string()),Yn=Kn.array();class pa{constructor(t,n){this.apiBase=t,this.headers=n,this.httpService=new Xe(this.headers,"json")}async getAddressFromMultipleStarknetId(t,n,r){const s=new URLSearchParams(n.map(l=>["domain",l]));r&&s.set("includeAvatar","true");const o=a.urlJoin(this.apiBase,t,"starknet.id",`?${s}`),i=await this.httpService.get(o),c=Gn.safeParse(i);if(!c.success)throw new Error("Failed to parse name resolution");return c.data}async getAddressFromStarknetId(t,n,r){const s=a.urlJoin(this.apiBase,t,"starknet.id",n,r?"?includeAvatar=true":""),o=await this.httpService.get(s),i=Ct.safeParse(o);if(!i.success)throw new Error("Failed to parse name resolution");return i.data}async getStarknetIdFromAddress(t,n,r){const s=new URLSearchParams(n.map(l=>["address",l]));r&&s.set("includeAvatar","true");const o=a.urlJoin(this.apiBase,t,"addresses",`?${s}`),i=await this.httpService.get(o),c=Yn.safeParse(i);if(!c.success)throw new Error("Failed to parse name resolution");return c.data}async getProvidersNames(t){const n=a.urlJoin(this.apiBase,t,"providers","name"),r=await this.httpService.get(n),s=Zn.safeParse(r);if(!s.success)throw new Error("Failed to parse name resolution");return s.data}}const _t=e=>e.slice(0,6)+"..."+e.slice(-4);function qt(e){if(!Number.isSafeInteger(e)||e<0)throw new Error(`positive integer expected, not ${e}`)}function ga(e){return e instanceof Uint8Array||e!=null&&typeof e=="object"&&e.constructor.name==="Uint8Array"}function nt(e,...t){if(!ga(e))throw new Error("Uint8Array expected");if(t.length>0&&!t.includes(e.length))throw new Error(`Uint8Array expected of length ${t}, not of length=${e.length}`)}function Gt(e,t=!0){if(e.destroyed)throw new Error("Hash instance has been destroyed");if(t&&e.finished)throw new Error("Hash#digest() has already been called")}function Sa(e,t){nt(e);const n=t.outputLen;if(e.length<n)throw new Error(`digestInto() expects output buffer of length at least ${n}`)}const Ve=BigInt(2**32-1),Wt=BigInt(32);function wa(e,t=!1){return t?{h:Number(e&Ve),l:Number(e>>Wt&Ve)}:{h:Number(e>>Wt&Ve)|0,l:Number(e&Ve)|0}}function ya(e,t=!1){let n=new Uint32Array(e.length),r=new Uint32Array(e.length);for(let s=0;s<e.length;s++){const{h:o,l:i}=wa(e[s],t);[n[s],r[s]]=[o,i]}return[n,r]}const ba=(e,t,n)=>e<<n|t>>>32-n,Ea=(e,t,n)=>t<<n|e>>>32-n,Aa=(e,t,n)=>t<<n-32|e>>>64-n,Ta=(e,t,n)=>e<<n-32|t>>>64-n;/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */const va=e=>new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4)),Kt=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68,xa=e=>e<<24&4278190080|e<<8&16711680|e>>>8&65280|e>>>24&255;function Zt(e){for(let t=0;t<e.length;t++)e[t]=xa(e[t])}const Ia=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function Ca(e){nt(e);let t="";for(let n=0;n<e.length;n++)t+=Ia[e[n]];return t}function Jn(e){if(typeof e!="string")throw new Error(`utf8ToBytes expected string, got ${typeof e}`);return new Uint8Array(new TextEncoder().encode(e))}function Xn(e){return typeof e=="string"&&(e=Jn(e)),nt(e),e}let _a=class{clone(){return this._cloneInto()}};function Ba(e){const t=r=>e().update(Xn(r)).digest(),n=e();return t.outputLen=n.outputLen,t.blockLen=n.blockLen,t.create=()=>e(),t}const Qn=[],er=[],tr=[],Na=BigInt(0),Ie=BigInt(1),ka=BigInt(2),Oa=BigInt(7),Ra=BigInt(256),Pa=BigInt(113);for(let e=0,t=Ie,n=1,r=0;e<24;e++){[n,r]=[r,(2*n+3*r)%5],Qn.push(2*(5*r+n)),er.push((e+1)*(e+2)/2%64);let s=Na;for(let o=0;o<7;o++)t=(t<<Ie^(t>>Oa)*Pa)%Ra,t&ka&&(s^=Ie<<(Ie<<BigInt(o))-Ie);tr.push(s)}const[Fa,Da]=ya(tr,!0),Yt=(e,t,n)=>n>32?Aa(e,t,n):ba(e,t,n),Jt=(e,t,n)=>n>32?Ta(e,t,n):Ea(e,t,n);function Ua(e,t=24){const n=new Uint32Array(10);for(let r=24-t;r<24;r++){for(let i=0;i<10;i++)n[i]=e[i]^e[i+10]^e[i+20]^e[i+30]^e[i+40];for(let i=0;i<10;i+=2){const c=(i+8)%10,l=(i+2)%10,d=n[l],h=n[l+1],u=Yt(d,h,1)^n[c],y=Jt(d,h,1)^n[c+1];for(let S=0;S<50;S+=10)e[i+S]^=u,e[i+S+1]^=y}let s=e[2],o=e[3];for(let i=0;i<24;i++){const c=er[i],l=Yt(s,o,c),d=Jt(s,o,c),h=Qn[i];s=e[h],o=e[h+1],e[h]=l,e[h+1]=d}for(let i=0;i<50;i+=10){for(let c=0;c<10;c++)n[c]=e[i+c];for(let c=0;c<10;c++)e[i+c]^=~n[(c+2)%10]&n[(c+4)%10]}e[0]^=Fa[r],e[1]^=Da[r]}n.fill(0)}let Ha=class nr extends _a{constructor(t,n,r,s=!1,o=24){if(super(),this.blockLen=t,this.suffix=n,this.outputLen=r,this.enableXOF=s,this.rounds=o,this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,qt(r),0>=this.blockLen||this.blockLen>=200)throw new Error("Sha3 supports only keccak-f1600 function");this.state=new Uint8Array(200),this.state32=va(this.state)}keccak(){Kt||Zt(this.state32),Ua(this.state32,this.rounds),Kt||Zt(this.state32),this.posOut=0,this.pos=0}update(t){Gt(this);const{blockLen:n,state:r}=this;t=Xn(t);const s=t.length;for(let o=0;o<s;){const i=Math.min(n-this.pos,s-o);for(let c=0;c<i;c++)r[this.pos++]^=t[o++];this.pos===n&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;const{state:t,suffix:n,pos:r,blockLen:s}=this;t[r]^=n,n&128&&r===s-1&&this.keccak(),t[s-1]^=128,this.keccak()}writeInto(t){Gt(this,!1),nt(t),this.finish();const n=this.state,{blockLen:r}=this;for(let s=0,o=t.length;s<o;){this.posOut>=r&&this.keccak();const i=Math.min(r-this.posOut,o-s);t.set(n.subarray(this.posOut,this.posOut+i),s),this.posOut+=i,s+=i}return t}xofInto(t){if(!this.enableXOF)throw new Error("XOF is not possible for this instance");return this.writeInto(t)}xof(t){return qt(t),this.xofInto(new Uint8Array(t))}digestInto(t){if(Sa(t,this),this.finished)throw new Error("digest() was already called");return this.writeInto(t),this.destroy(),t}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,this.state.fill(0)}_cloneInto(t){const{blockLen:n,suffix:r,outputLen:s,rounds:o,enableXOF:i}=this;return t||(t=new nr(n,r,s,i,o)),t.state32.set(this.state32),t.pos=this.pos,t.posOut=this.posOut,t.finished=this.finished,t.rounds=o,t.suffix=r,t.outputLen=s,t.enableXOF=i,t.destroyed=this.destroyed,t}};const $a=(e,t,n)=>Ba(()=>new Ha(t,e,n)),La=$a(1,136,256/8);function rr(e){return`0x${Ca(La(Jn(e)))}`}const ja=e=>{if(!D.isString(e))return;const t=/(\d+)$/,n=e.match(t);if(n)return n[1]},sr=(e,t=!1)=>{if(!D.isString(e))return"";const n=t?e.replace(/[^0-9a-z ]/gi,""):e,s=D.upperCase(n).split(" "),o=ja(n),i=s.map(c=>c[0]);return o&&o.length>1&&o.length<n.length?[i[0],o.substring(0,2)].join(""):s.length===1?s[0].substring(0,2):[i[0],i[i.length-1]].join("")},{toBigInt:za}=g.num,Xt=e=>{const t=e.replace("#","");if(!/^[0-9A-F]{6}$/i.test(t))throw new Error(`Invalid color ${e}`);return`#${t}`},Re=(e,t)=>{const n=Xt(t.background),r=Xt(t.color??"#ffffff"),s=sr(e,!0),o=`<svg xmlns="http://www.w3.org/2000/svg" width="48" height="48" viewBox="0 0 48 48">
2
2
  <rect width="48" height="48" fill="${n}" />
3
3
  <text x="50%" y="54%" dominant-baseline="middle" text-anchor="middle" font-size="16" font-family="Barlow, Helvetica, Arial, sans-serif" fill="${r}">${s}</text>
4
- </svg>`;return`data:image/svg+xml;base64,${btoa(o)}`},Qt=["02BBA8","29C5FF","0078A4","FFBF3D","FFA85C","FF875B","FF675C","FF5C72"],or=e=>{const t=rr(e).slice(-2),n=parseInt(t,16)%Qt.length;return Qt[n]},ar=e=>{try{return g.num.toHex(ja(g.num.hexToDecimalString(e)))}catch{}return""},za=({accountName:e,networkId:t,accountAddress:n,backgroundColor:r})=>{const s=ar(n),o=`${t}::${s}`,i=r||or(o);return Re(e,{background:i})},ir=e=>{const t=g.encode.removeHexPrefix(g.encode.sanitizeHex(g.num.toHex(e))),n=ye.hex.decode(t);return ye.base58.encode(n)},Va=e=>e.map(ir),cr=e=>{const t=ye.base58.decode(e);return g.encode.sanitizeHex(ye.hex.encode(t))},Ma=e=>e.map(cr);function qa(e,t){const n=e.getTime(),r=t.getTime(),s=Math.abs(n-r);return Math.floor(s/(1e3*60*60*24))}const Ga=e=>(e||"false")==="true",Wa=async(e,t)=>{try{return await e.getClassHashAt(t),!0}catch{return!1}};function Ka(e){return!D.isNil(e)}const Za=e=>{const t=/^(0|0x([a-f0-9A-F]+)?)$/;return!!(e===""||t.test(e))},K=e=>!isNaN(parseFloat(e))&&isFinite(Number(e)),Ya=(e,t=16)=>{const n=new RegExp(`^[0-9]*.?[0-9]{0,${t}}$`);return e===""?!0:K(e)?!!n.test(e):!1},rt={CURRENCY:{minDecimalPlaces:2,maxDecimalPlaces:10,minDecimalSignificantDigits:2,decimalPlacesWhenZero:2,allowLeadingZerosInDecimalPart:!0},TOKEN:{minDecimalPlaces:4,maxDecimalPlaces:16,minDecimalSignificantDigits:2,decimalPlacesWhenZero:1,allowLeadingZerosInDecimalPart:!0}},lr=(e,t)=>Bt(e,{...rt.CURRENCY,...t||{}}),dr=(e,t)=>Bt(e,{...rt.TOKEN,...t||{}}),Bt=(e,{minDecimalPlaces:t,maxDecimalPlaces:n,minDecimalSignificantDigits:r,decimalPlacesWhenZero:s,allowLeadingZerosInDecimalPart:o}=rt.CURRENCY)=>{if(!K(e))return null;const i=new a.BigNumber(typeof e=="bigint"?e.toString():e);let c;const l=`0.${"".padStart(s-1,"0")}1`;if(i.lt(new a.BigNumber(l))&&!o)c=`0.${"".padStart(s,"0")}`;else if(i.gte(1))c=i.toFormat(t);else{const S=i.toFormat(n).split(".")[1].match(/^0+/),A=o&&S&&S.length?S[0].length:0,f=Math.max(A+r,t);c=i.toFormat(f)}let d=c.replace(/0+$/,"");const h=1+c.indexOf(".")+s;return d.length<h&&(d=c.substring(0,h)),d},ur=(e,t=18)=>{const n=e.replace(",",".");return!e||!K(n)?0n:a.parseUnits(n,Number(t)).value};function be(e){return g.uint256.bnToUint256(e)}const Ja=(e,t)=>`${e} ${t}${e===1?"":"s"}`,Xa=e=>new Promise((t,n)=>{const r=new FileReader;r.onload=()=>{var s;return r.result?t((s=r.result)==null?void 0:s.toString()):n(new Error("Could not read file"))},r.onerror=n,r.onabort=n.bind(null,new Error("User aborted")),r.readAsText(e)});function Qa(e){try{return D.upperFirst(D.lowerCase(e))}catch{return e}}const ei=(e,t)=>{const n=new URLSearchParams(t),r=n.size?`?${n}`:"";return a.urlJoin(...a.ensureArray(e),r)};function ti(e){return(...t)=>{e(...t)}}class ni extends Error{constructor(t,n){super(`${t}::${n}`),this.name=t,this.code=n,this.name=t}}class en extends ni{constructor(t){super("BackendPaginationError",t)}}const tn=32;class ri{constructor(t,n,r){this.apiBase=t,this.headers=n,this.imageOptimizationUrl=r,this.httpService=new Xe(this.headers,"json")}async getNfts(t,n,r,s=1){const o=this.normalizeAddress(r),i=a.urlJoin(this.apiBase,"pandora",t,n),c=this.pageToPageIndex(s),d=`${a.urlJoin(i,"profile",o,"nfts")}?page=${c}&size=${tn}`,h=await this.httpService.get(d),u=h.content.map(y=>this.mapItem(y,r));return{totalPages:h.totalPages,page:h.number+1,count:u.length,nfts:u}}async getCollection(t,n,r){const s=this.normalizeAddress(r),o=a.urlJoin(this.apiBase,"pandora",t,n),i=a.urlJoin(o,"collection",s),c=`${o}/collection/${s}`,[l,d]=await Promise.all([this.httpService.get(i),this.httpService.get(c)]),h=ut(l),u=d.content.map(y=>this.mapItem(y));return{...h,nfts:{totalPages:d.totalPages,page:d.number,count:u.length,data:u}}}async getNft(t,n,r,s){const o=this.normalizeAddress(r),i=a.urlJoin(this.apiBase,"pandora",t,n),c=a.urlJoin(i,"nft",o,s),l=await this.httpService.get(c);return this.mapItem(l)}async getProfileCollections(t,n,r,s=1,o=!1){const i=this.pageToPageIndex(s),c=this.normalizeAddress(r),l=a.urlJoin(this.apiBase,"pandora",t,n),d=a.urlJoin(l,"profile",c,"collections",`?page=${i}&size=${tn}`),h=await this.httpService.get(d),u=[];for(const y of h.content)if(o){const S=await this.getCollectionMetrics(t,n,y.contractAddress);u.push(ut(y,S))}else u.push(ut(y));return{totalPages:h.totalPages,page:h.number+1,count:u.length,collections:u}}async getCollectionMetrics(t,n,r){const s=this.normalizeAddress(r),o=a.urlJoin(this.apiBase,"pandora",t,n),i=a.urlJoin(o,"collection",s,"metrics");return this.httpService.get(i)}normalizeAddress(t){return a.addressSchemaArgentBackend.parse(t)}pageToPageIndex(t){if(!Number.isInteger(t))throw new en("notANumber");const n=t-1;if(n<0)throw new en("tooLow");return n}optimizeImage(t,n,r){if(!t)return;const s=new URLSearchParams({url:t,w:(n??400).toString(),h:(r??400).toString()});return`${this.imageOptimizationUrl}?${s.toString()}`}mapItem(t,n){var s;const r=t.name??t.tokenId;return{token_id:t.tokenId,contract_address:t.contractAddress,name:r,spec:"spec"in t?si(t.spec):void 0,description:"",best_bid_order:{payment_amount:"bestListPrice"in t?BigInt(t.bestListPrice):void 0},properties:"properties"in t&&t.properties.map(o=>({key:o.key,value:o.value}))||[],image_uri:this.optimizeImage(t.imageUrls.preview)??Re(r,{background:"#15192A",color:"#ffffff"}),image_url_copy:this.optimizeImage(t.imageUrls.full)??Re(r,{background:"#15192A",color:"#ffffff"}),owner:{account_address:((s=t.owner)==null?void 0:s.address)||n},contract_name:_t(t.contractAddress)}}}function si(e){switch(e){case"erc721":case"starknetErc721":return"ERC721";case"erc1155":case"starknetErc1155":return"ERC1155"}}function ut(e,t){return{contractAddress:a.addressSchema.parse(e.contractAddress),name:e.name||_t(e.contractAddress),description:e.description??"",imageUri:e.imageUrls.preview??Re(e.name||e.contractAddress.replace("0x",""),{background:"#15192A",color:"#ffffff"}),...t&&{owners:{total:t.numberOfItems,unique:t.uniqueOwners},...t.floorPrice&&{floorPrice:BigInt(t.floorPrice)}}}}const hr=async(e,t,n,r,s=1)=>{const o=await e.getNfts(t,n,r,s);if(s<o.totalPages){const i=await hr(e,t,n,r,o.page+1);return{...o,nfts:o.nfts.concat(i.nfts)}}return o},oi=(e,t,n,r,s)=>{const{data:o,...i}=Be(r&&[r,"nfts"],()=>r&&hr(e,t,n,r),{refreshInterval:3e5,...s});return{nfts:o==null?void 0:o.nfts,...i}},ai=(e,t,n,r,s)=>{const{data:o,...i}=Be(r&&[`${r}`,"nfts-collection"],()=>r&&e.getCollection(t,n,r),{refreshInterval:6e4,...s});return{collection:o,...i}},ii=(e,t,n,r,s,o)=>{const{data:i,...c}=Be(s&&r&&[`${r}:${s}`,"nft"],()=>s&&r?e.getNft(t,n,r,s):void 0,{refreshInterval:6e4,revalidateOnFocus:!1,revalidateOnMount:!1,...o});return{nft:i,...c}},ci=({image_uri:e,image_url_copy:t})=>{if(e&&t){if(!t.startsWith("ipfs://"))return t;if(!e.startsWith("ipfs://"))return e}return t||e},li=(e,t)=>e.token_id===t.token_id&&a.isEqualAddress(e.contract_address,t.contract_address);function nn(e){if(!Number.isSafeInteger(e)||e<0)throw new Error(`Wrong positive integer: ${e}`)}function di(e){return e instanceof Uint8Array||e!=null&&typeof e=="object"&&e.constructor.name==="Uint8Array"}function fr(e,...t){if(!di(e))throw new Error("Expected Uint8Array");if(t.length>0&&!t.includes(e.length))throw new Error(`Expected Uint8Array of length ${t}, not of length=${e.length}`)}function Ze(e,t=!0){if(e.destroyed)throw new Error("Hash instance has been destroyed");if(t&&e.finished)throw new Error("Hash#digest() has already been called")}function mr(e,t){fr(e);const n=t.outputLen;if(e.length<n)throw new Error(`digestInto() expects output buffer of length at least ${n}`)}const Me=BigInt(2**32-1),rn=BigInt(32);function ui(e,t=!1){return t?{h:Number(e&Me),l:Number(e>>rn&Me)}:{h:Number(e>>rn&Me)|0,l:Number(e&Me)|0}}function hi(e,t=!1){let n=new Uint32Array(e.length),r=new Uint32Array(e.length);for(let s=0;s<e.length;s++){const{h:o,l:i}=ui(e[s],t);[n[s],r[s]]=[o,i]}return[n,r]}const fi=(e,t,n)=>e<<n|t>>>32-n,mi=(e,t,n)=>t<<n|e>>>32-n,pi=(e,t,n)=>t<<n-32|e>>>64-n,gi=(e,t,n)=>e<<n-32|t>>>64-n;/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */const Si=e=>new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4));function wi(e){return e instanceof Uint8Array||e!=null&&typeof e=="object"&&e.constructor.name==="Uint8Array"}const ht=e=>new DataView(e.buffer,e.byteOffset,e.byteLength),X=(e,t)=>e<<32-t|e>>>t,yi=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;if(!yi)throw new Error("Non little-endian hardware is not supported");function pr(e){if(typeof e!="string")throw new Error(`utf8ToBytes expected string, got ${typeof e}`);return new Uint8Array(new TextEncoder().encode(e))}function Nt(e){if(typeof e=="string"&&(e=pr(e)),!wi(e))throw new Error(`expected Uint8Array, got ${typeof e}`);return e}let gr=class{clone(){return this._cloneInto()}};function Sr(e){const t=r=>e().update(Nt(r)).digest(),n=e();return t.outputLen=n.outputLen,t.blockLen=n.blockLen,t.create=()=>e(),t}const[wr,yr,br]=[[],[],[]],bi=BigInt(0),Ce=BigInt(1),Ei=BigInt(2),Ai=BigInt(7),Ti=BigInt(256),xi=BigInt(113);for(let e=0,t=Ce,n=1,r=0;e<24;e++){[n,r]=[r,(2*n+3*r)%5],wr.push(2*(5*r+n)),yr.push((e+1)*(e+2)/2%64);let s=bi;for(let o=0;o<7;o++)t=(t<<Ce^(t>>Ai)*xi)%Ti,t&Ei&&(s^=Ce<<(Ce<<BigInt(o))-Ce);br.push(s)}const[vi,Ii]=hi(br,!0),sn=(e,t,n)=>n>32?pi(e,t,n):fi(e,t,n),on=(e,t,n)=>n>32?gi(e,t,n):mi(e,t,n);function Ci(e,t=24){const n=new Uint32Array(10);for(let r=24-t;r<24;r++){for(let i=0;i<10;i++)n[i]=e[i]^e[i+10]^e[i+20]^e[i+30]^e[i+40];for(let i=0;i<10;i+=2){const c=(i+8)%10,l=(i+2)%10,d=n[l],h=n[l+1],u=sn(d,h,1)^n[c],y=on(d,h,1)^n[c+1];for(let S=0;S<50;S+=10)e[i+S]^=u,e[i+S+1]^=y}let s=e[2],o=e[3];for(let i=0;i<24;i++){const c=yr[i],l=sn(s,o,c),d=on(s,o,c),h=wr[i];s=e[h],o=e[h+1],e[h]=l,e[h+1]=d}for(let i=0;i<50;i+=10){for(let c=0;c<10;c++)n[c]=e[i+c];for(let c=0;c<10;c++)e[i+c]^=~n[(c+2)%10]&n[(c+4)%10]}e[0]^=vi[r],e[1]^=Ii[r]}n.fill(0)}class kt extends gr{constructor(t,n,r,s=!1,o=24){if(super(),this.blockLen=t,this.suffix=n,this.outputLen=r,this.enableXOF=s,this.rounds=o,this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,nn(r),0>=this.blockLen||this.blockLen>=200)throw new Error("Sha3 supports only keccak-f1600 function");this.state=new Uint8Array(200),this.state32=Si(this.state)}keccak(){Ci(this.state32,this.rounds),this.posOut=0,this.pos=0}update(t){Ze(this);const{blockLen:n,state:r}=this;t=Nt(t);const s=t.length;for(let o=0;o<s;){const i=Math.min(n-this.pos,s-o);for(let c=0;c<i;c++)r[this.pos++]^=t[o++];this.pos===n&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;const{state:t,suffix:n,pos:r,blockLen:s}=this;t[r]^=n,n&128&&r===s-1&&this.keccak(),t[s-1]^=128,this.keccak()}writeInto(t){Ze(this,!1),fr(t),this.finish();const n=this.state,{blockLen:r}=this;for(let s=0,o=t.length;s<o;){this.posOut>=r&&this.keccak();const i=Math.min(r-this.posOut,o-s);t.set(n.subarray(this.posOut,this.posOut+i),s),this.posOut+=i,s+=i}return t}xofInto(t){if(!this.enableXOF)throw new Error("XOF is not possible for this instance");return this.writeInto(t)}xof(t){return nn(t),this.xofInto(new Uint8Array(t))}digestInto(t){if(mr(t,this),this.finished)throw new Error("digest() was already called");return this.writeInto(t),this.destroy(),t}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,this.state.fill(0)}_cloneInto(t){const{blockLen:n,suffix:r,outputLen:s,rounds:o,enableXOF:i}=this;return t||(t=new kt(n,r,s,i,o)),t.state32.set(this.state32),t.pos=this.pos,t.posOut=this.posOut,t.finished=this.finished,t.rounds=o,t.suffix=r,t.outputLen=s,t.enableXOF=i,t.destroyed=this.destroyed,t}}const _i=(e,t,n)=>Sr(()=>new kt(t,e,n)),Bi=_i(1,136,256/8);function Ni(e,t,n,r){if(typeof e.setBigUint64=="function")return e.setBigUint64(t,n,r);const s=BigInt(32),o=BigInt(4294967295),i=Number(n>>s&o),c=Number(n&o),l=r?4:0,d=r?0:4;e.setUint32(t+l,i,r),e.setUint32(t+d,c,r)}class ki extends gr{constructor(t,n,r,s){super(),this.blockLen=t,this.outputLen=n,this.padOffset=r,this.isLE=s,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(t),this.view=ht(this.buffer)}update(t){Ze(this);const{view:n,buffer:r,blockLen:s}=this;t=Nt(t);const o=t.length;for(let i=0;i<o;){const c=Math.min(s-this.pos,o-i);if(c===s){const l=ht(t);for(;s<=o-i;i+=s)this.process(l,i);continue}r.set(t.subarray(i,i+c),this.pos),this.pos+=c,i+=c,this.pos===s&&(this.process(n,0),this.pos=0)}return this.length+=t.length,this.roundClean(),this}digestInto(t){Ze(this),mr(t,this),this.finished=!0;const{buffer:n,view:r,blockLen:s,isLE:o}=this;let{pos:i}=this;n[i++]=128,this.buffer.subarray(i).fill(0),this.padOffset>s-i&&(this.process(r,0),i=0);for(let u=i;u<s;u++)n[u]=0;Ni(r,s-8,BigInt(this.length*8),o),this.process(r,0);const c=ht(t),l=this.outputLen;if(l%4)throw new Error("_sha2: outputLen should be aligned to 32bit");const d=l/4,h=this.get();if(d>h.length)throw new Error("_sha2: outputLen bigger than state");for(let u=0;u<d;u++)c.setUint32(4*u,h[u],o)}digest(){const{buffer:t,outputLen:n}=this;this.digestInto(t);const r=t.slice(0,n);return this.destroy(),r}_cloneInto(t){t||(t=new this.constructor),t.set(...this.get());const{blockLen:n,buffer:r,length:s,finished:o,destroyed:i,pos:c}=this;return t.length=s,t.pos=c,t.finished=o,t.destroyed=i,s%n&&t.buffer.set(r),t}}const Oi=(e,t,n)=>e&t^~e&n,Ri=(e,t,n)=>e&t^e&n^t&n,Pi=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]),se=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),oe=new Uint32Array(64);class Fi extends ki{constructor(){super(64,32,8,!1),this.A=se[0]|0,this.B=se[1]|0,this.C=se[2]|0,this.D=se[3]|0,this.E=se[4]|0,this.F=se[5]|0,this.G=se[6]|0,this.H=se[7]|0}get(){const{A:t,B:n,C:r,D:s,E:o,F:i,G:c,H:l}=this;return[t,n,r,s,o,i,c,l]}set(t,n,r,s,o,i,c,l){this.A=t|0,this.B=n|0,this.C=r|0,this.D=s|0,this.E=o|0,this.F=i|0,this.G=c|0,this.H=l|0}process(t,n){for(let u=0;u<16;u++,n+=4)oe[u]=t.getUint32(n,!1);for(let u=16;u<64;u++){const y=oe[u-15],S=oe[u-2],A=X(y,7)^X(y,18)^y>>>3,f=X(S,17)^X(S,19)^S>>>10;oe[u]=f+oe[u-7]+A+oe[u-16]|0}let{A:r,B:s,C:o,D:i,E:c,F:l,G:d,H:h}=this;for(let u=0;u<64;u++){const y=X(c,6)^X(c,11)^X(c,25),S=h+y+Oi(c,l,d)+Pi[u]+oe[u]|0,f=(X(r,2)^X(r,13)^X(r,22))+Ri(r,s,o)|0;h=d,d=l,l=c,c=i+S|0,i=o,o=s,s=r,r=S+f|0}r=r+this.A|0,s=s+this.B|0,o=o+this.C|0,i=i+this.D|0,c=c+this.E|0,l=l+this.F|0,d=d+this.G|0,h=h+this.H|0,this.set(r,s,o,i,c,l,d,h)}roundClean(){oe.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}}const Er=Sr(()=>new Fi);/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const Ar=BigInt(0),st=BigInt(1),Di=BigInt(2),ot=e=>e instanceof Uint8Array,Ui=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function ue(e){if(!ot(e))throw new Error("Uint8Array expected");let t="";for(let n=0;n<e.length;n++)t+=Ui[e[n]];return t}function Tr(e){const t=e.toString(16);return t.length&1?`0${t}`:t}function Ot(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);return BigInt(e===""?"0":`0x${e}`)}function he(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);if(e.length%2)throw new Error("hex string is invalid: unpadded "+e.length);const t=new Uint8Array(e.length/2);for(let n=0;n<t.length;n++){const r=n*2,s=e.slice(r,r+2),o=Number.parseInt(s,16);if(Number.isNaN(o)||o<0)throw new Error("invalid byte sequence");t[n]=o}return t}function Y(e){return Ot(ue(e))}function Rt(e){if(!ot(e))throw new Error("Uint8Array expected");return Ot(ue(Uint8Array.from(e).reverse()))}const Se=(e,t)=>he(e.toString(16).padStart(t*2,"0")),xr=(e,t)=>Se(e,t).reverse(),Hi=e=>he(Tr(e));function V(e,t,n){let r;if(typeof t=="string")try{r=he(t)}catch(o){throw new Error(`${e} must be valid hex string, got "${t}". Cause: ${o}`)}else if(ot(t))r=Uint8Array.from(t);else throw new Error(`${e} must be hex string or Uint8Array`);const s=r.length;if(typeof n=="number"&&s!==n)throw new Error(`${e} expected ${n} bytes, got ${s}`);return r}function Pe(...e){const t=new Uint8Array(e.reduce((r,s)=>r+s.length,0));let n=0;return e.forEach(r=>{if(!ot(r))throw new Error("Uint8Array expected");t.set(r,n),n+=r.length}),t}function $i(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 Li(e){if(typeof e!="string")throw new Error(`utf8ToBytes expected string, got ${typeof e}`);return new TextEncoder().encode(e)}function ji(e){let t;for(t=0;e>Ar;e>>=st,t+=1);return t}const zi=(e,t)=>e>>BigInt(t)&st,Vi=(e,t,n)=>e|(n?st:Ar)<<BigInt(t),at=e=>(Di<<BigInt(e-1))-st,ft=e=>new Uint8Array(e),an=e=>Uint8Array.from(e);function vr(e,t,n){if(typeof e!="number"||e<2)throw new Error("hashLen must be a number");if(typeof t!="number"||t<2)throw new Error("qByteLen must be a number");if(typeof n!="function")throw new Error("hmacFn must be a function");let r=ft(e),s=ft(e),o=0;const i=()=>{r.fill(1),s.fill(0),o=0},c=(...u)=>n(s,r,...u),l=(u=ft())=>{s=c(an([0]),u),r=c(),u.length!==0&&(s=c(an([1]),u),r=c())},d=()=>{if(o++>=1e3)throw new Error("drbg: tried 1000 values");let u=0;const y=[];for(;u<t;){r=c();const S=r.slice();y.push(S),u+=r.length}return Pe(...y)};return(u,y)=>{i(),l(u);let S;for(;!(S=y(d()));)l();return i(),S}}const Mi={bigint:e=>typeof e=="bigint",function:e=>typeof e=="function",boolean:e=>typeof e=="boolean",string:e=>typeof e=="string",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 $e(e,t,n={}){const r=(s,o,i)=>{const c=Mi[o];if(typeof c!="function")throw new Error(`Invalid validator "${o}", expected function`);const l=e[s];if(!(i&&l===void 0)&&!c(l,e))throw new Error(`Invalid param ${String(s)}=${l} (${typeof l}), expected ${o}`)};for(const[s,o]of Object.entries(t))r(s,o,!1);for(const[s,o]of Object.entries(n))r(s,o,!0);return e}const qi=Object.freeze(Object.defineProperty({__proto__:null,bitGet:zi,bitLen:ji,bitMask:at,bitSet:Vi,bytesToHex:ue,bytesToNumberBE:Y,bytesToNumberLE:Rt,concatBytes:Pe,createHmacDrbg:vr,ensureBytes:V,equalBytes:$i,hexToBytes:he,hexToNumber:Ot,numberToBytesBE:Se,numberToBytesLE:xr,numberToHexUnpadded:Tr,numberToVarBytesBE:Hi,utf8ToBytes:Li,validateObject:$e},Symbol.toStringTag,{value:"Module"}));/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const U=BigInt(0),F=BigInt(1),ie=BigInt(2),Gi=BigInt(3),wt=BigInt(4),cn=BigInt(5),ln=BigInt(8);BigInt(9);BigInt(16);function M(e,t){const n=e%t;return n>=U?n:t+n}function Wi(e,t,n){if(n<=U||t<U)throw new Error("Expected power/modulo > 0");if(n===F)return U;let r=F;for(;t>U;)t&F&&(r=r*e%n),e=e*e%n,t>>=F;return r}function yt(e,t){if(e===U||t<=U)throw new Error(`invert: expected positive integers, got n=${e} mod=${t}`);let n=M(e,t),r=t,s=U,o=F;for(;n!==U;){const c=r/n,l=r%n,d=s-o*c;r=n,n=l,s=o,o=d}if(r!==F)throw new Error("invert: does not exist");return M(s,t)}function Ki(e){const t=(e-F)/ie;let n,r,s;for(n=e-F,r=0;n%ie===U;n/=ie,r++);for(s=ie;s<e&&Wi(s,t,e)!==e-F;s++);if(r===1){const i=(e+F)/wt;return function(l,d){const h=l.pow(d,i);if(!l.eql(l.sqr(h),d))throw new Error("Cannot find square root");return h}}const o=(n+F)/ie;return function(c,l){if(c.pow(l,t)===c.neg(c.ONE))throw new Error("Cannot find square root");let d=r,h=c.pow(c.mul(c.ONE,s),n),u=c.pow(l,o),y=c.pow(l,n);for(;!c.eql(y,c.ONE);){if(c.eql(y,c.ZERO))return c.ZERO;let S=1;for(let f=c.sqr(y);S<d&&!c.eql(f,c.ONE);S++)f=c.sqr(f);const A=c.pow(h,F<<BigInt(d-S-1));h=c.sqr(A),u=c.mul(u,A),y=c.mul(y,h),d=S}return u}}function Zi(e){if(e%wt===Gi){const t=(e+F)/wt;return function(r,s){const o=r.pow(s,t);if(!r.eql(r.sqr(o),s))throw new Error("Cannot find square root");return o}}if(e%ln===cn){const t=(e-cn)/ln;return function(r,s){const o=r.mul(s,ie),i=r.pow(o,t),c=r.mul(s,i),l=r.mul(r.mul(c,ie),i),d=r.mul(c,r.sub(l,r.ONE));if(!r.eql(r.sqr(d),s))throw new Error("Cannot find square root");return d}}return Ki(e)}const Yi=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function Pt(e){const t={ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"},n=Yi.reduce((r,s)=>(r[s]="function",r),t);return $e(e,n)}function Ir(e,t,n){if(n<U)throw new Error("Expected power > 0");if(n===U)return e.ONE;if(n===F)return t;let r=e.ONE,s=t;for(;n>U;)n&F&&(r=e.mul(r,s)),s=e.sqr(s),n>>=F;return r}function Ji(e,t){const n=new Array(t.length),r=t.reduce((o,i,c)=>e.is0(i)?o:(n[c]=o,e.mul(o,i)),e.ONE),s=e.inv(r);return t.reduceRight((o,i,c)=>e.is0(i)?o:(n[c]=e.mul(o,n[c]),e.mul(o,i)),s),n}function Ft(e,t){const n=t!==void 0?t:e.toString(2).length,r=Math.ceil(n/8);return{nBitLength:n,nByteLength:r}}function Dt(e,t,n=!1,r={}){if(e<=U)throw new Error(`Expected Fp ORDER > 0, got ${e}`);const{nBitLength:s,nByteLength:o}=Ft(e,t);if(o>2048)throw new Error("Field lengths over 2048 bytes are not supported");const i=Zi(e),c=Object.freeze({ORDER:e,BITS:s,BYTES:o,MASK:at(s),ZERO:U,ONE:F,create:l=>M(l,e),isValid:l=>{if(typeof l!="bigint")throw new Error(`Invalid field element: expected bigint, got ${typeof l}`);return U<=l&&l<e},is0:l=>l===U,isOdd:l=>(l&F)===F,neg:l=>M(-l,e),eql:(l,d)=>l===d,sqr:l=>M(l*l,e),add:(l,d)=>M(l+d,e),sub:(l,d)=>M(l-d,e),mul:(l,d)=>M(l*d,e),pow:(l,d)=>Ir(c,l,d),div:(l,d)=>M(l*yt(d,e),e),sqrN:l=>l*l,addN:(l,d)=>l+d,subN:(l,d)=>l-d,mulN:(l,d)=>l*d,inv:l=>yt(l,e),sqrt:r.sqrt||(l=>i(c,l)),invertBatch:l=>Ji(c,l),cmov:(l,d,h)=>h?d:l,toBytes:l=>n?xr(l,o):Se(l,o),fromBytes:l=>{if(l.length!==o)throw new Error(`Fp.fromBytes: expected ${o}, got ${l.length}`);return n?Rt(l):Y(l)}});return Object.freeze(c)}function Xi(e,t,n=!1){e=V("privateHash",e);const r=e.length,s=Ft(t).nByteLength+8;if(s<24||r<s||r>1024)throw new Error(`hashToPrivateScalar: expected ${s}-1024 bytes of input, got ${r}`);const o=n?Rt(e):Y(e);return M(o,t-F)+F}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */function Qi(e){const{Fp:t}=e;Pt(t);for(const l of["t","roundsFull","roundsPartial"])if(typeof e[l]!="number"||!Number.isSafeInteger(e[l]))throw new Error(`Poseidon: invalid param ${l}=${e[l]} (${typeof e[l]})`);if(e.reversePartialPowIdx!==void 0&&typeof e.reversePartialPowIdx!="boolean")throw new Error(`Poseidon: invalid param reversePartialPowIdx=${e.reversePartialPowIdx}`);let n=e.sboxPower;if(n===void 0&&(n=5),typeof n!="number"||!Number.isSafeInteger(n))throw new Error(`Poseidon wrong sboxPower=${n}`);const r=BigInt(n);let s=l=>Ir(t,l,r);if(n===3?s=l=>t.mul(t.sqrN(l),l):n===5&&(s=l=>t.mul(t.sqrN(t.sqrN(l)),l)),e.roundsFull%2!==0)throw new Error(`Poseidon roundsFull is not even: ${e.roundsFull}`);const o=e.roundsFull+e.roundsPartial;if(!Array.isArray(e.roundConstants)||e.roundConstants.length!==o)throw new Error("Poseidon: wrong round constants");const i=e.roundConstants.map(l=>{if(!Array.isArray(l)||l.length!==e.t)throw new Error(`Poseidon wrong round constants: ${l}`);return l.map(d=>{if(typeof d!="bigint"||!t.isValid(d))throw new Error(`Poseidon wrong round constant=${d}`);return t.create(d)})});if(!Array.isArray(e.mds)||e.mds.length!==e.t)throw new Error("Poseidon: wrong MDS matrix");const c=e.mds.map(l=>{if(!Array.isArray(l)||l.length!==e.t)throw new Error(`Poseidon MDS matrix row: ${l}`);return l.map(d=>{if(typeof d!="bigint")throw new Error(`Poseidon MDS matrix value=${d}`);return t.create(d)})});return Object.freeze({...e,rounds:o,sboxFn:s,roundConstants:i,mds:c})}function ec(e){const{t,Fp:n,rounds:r,sboxFn:s,reversePartialPowIdx:o}=Qi(e),i=Math.floor(e.roundsFull/2),c=o?t-1:0,l=(h,u,y)=>(h=h.map((S,A)=>n.add(S,e.roundConstants[y][A])),u?h=h.map(S=>s(S)):h[c]=s(h[c]),h=e.mds.map(S=>S.reduce((A,f,w)=>n.add(A,n.mulN(f,h[w])),n.ZERO)),h),d=function(u){if(!Array.isArray(u)||u.length!==t)throw new Error(`Poseidon: wrong values (expected array of bigints with length ${t})`);u=u.map(S=>{if(typeof S!="bigint")throw new Error(`Poseidon: wrong value=${S} (${typeof S})`);return n.create(S)});let y=0;for(let S=0;S<i;S++)u=l(u,!0,y++);for(let S=0;S<e.roundsPartial;S++)u=l(u,!1,y++);for(let S=0;S<i;S++)u=l(u,!0,y++);if(y!==r)throw new Error(`Poseidon: wrong number of rounds: last round=${y}, total=${r}`);return u};return d.roundConstants=e.roundConstants,d}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const tc=BigInt(0),mt=BigInt(1);function nc(e,t){const n=(s,o)=>{const i=o.negate();return s?i:o},r=s=>{const o=Math.ceil(t/s)+1,i=2**(s-1);return{windows:o,windowSize:i}};return{constTimeNegate:n,unsafeLadder(s,o){let i=e.ZERO,c=s;for(;o>tc;)o&mt&&(i=i.add(c)),c=c.double(),o>>=mt;return i},precomputeWindow(s,o){const{windows:i,windowSize:c}=r(o),l=[];let d=s,h=d;for(let u=0;u<i;u++){h=d,l.push(h);for(let y=1;y<c;y++)h=h.add(d),l.push(h);d=h.double()}return l},wNAF(s,o,i){const{windows:c,windowSize:l}=r(s);let d=e.ZERO,h=e.BASE;const u=BigInt(2**s-1),y=2**s,S=BigInt(s);for(let A=0;A<c;A++){const f=A*l;let w=Number(i&u);i>>=S,w>l&&(w-=y,i+=mt);const E=f,T=f+Math.abs(w)-1,v=A%2!==0,N=w<0;w===0?h=h.add(n(v,o[E])):d=d.add(n(N,o[T]))}return{p:d,f:h}},wNAFCached(s,o,i,c){const l=s._WINDOW_SIZE||1;let d=o.get(s);return d||(d=this.precomputeWindow(s,l),l!==1&&o.set(s,c(d))),this.wNAF(l,d,i)}}}function Cr(e){return Pt(e.Fp),$e(e,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...Ft(e.n,e.nBitLength),...e,p:e.Fp.ORDER})}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */function rc(e){const t=Cr(e);$e(t,{a:"field",b:"field"},{allowedPrivateKeyLengths:"array",wrapPrivateKey:"boolean",isTorsionFree:"function",clearCofactor:"function",allowInfinityPoint:"boolean",fromBytes:"function",toBytes:"function"});const{endo:n,Fp:r,a:s}=t;if(n){if(!r.eql(s,r.ZERO))throw new 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 new Error("Expected endomorphism with beta: bigint and splitScalar: function")}return Object.freeze({...t})}const{bytesToNumberBE:sc,hexToBytes:oc}=qi,ce={Err:class extends Error{constructor(t=""){super(t)}},_parseInt(e){const{Err:t}=ce;if(e.length<2||e[0]!==2)throw new t("Invalid signature integer tag");const 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:sc(r),l:e.subarray(n+2)}},toSig(e){const{Err:t}=ce,n=typeof e=="string"?oc(e):e;if(!(n instanceof Uint8Array))throw new 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");const{d:s,l:o}=ce._parseInt(n.subarray(2)),{d:i,l:c}=ce._parseInt(o);if(c.length)throw new t("Invalid signature: left bytes after parsing");return{r:s,s:i}},hexFromSig(e){const t=d=>Number.parseInt(d[0],16)&8?"00"+d:d,n=d=>{const h=d.toString(16);return h.length&1?`0${h}`:h},r=t(n(e.s)),s=t(n(e.r)),o=r.length/2,i=s.length/2,c=n(o),l=n(i);return`30${n(i+o+4)}02${l}${s}02${c}${r}`}},Q=BigInt(0),W=BigInt(1);BigInt(2);const dn=BigInt(3);BigInt(4);function ac(e){const t=rc(e),{Fp:n}=t,r=t.toBytes||((A,f,w)=>{const E=f.toAffine();return Pe(Uint8Array.from([4]),n.toBytes(E.x),n.toBytes(E.y))}),s=t.fromBytes||(A=>{const f=A.subarray(1),w=n.fromBytes(f.subarray(0,n.BYTES)),E=n.fromBytes(f.subarray(n.BYTES,2*n.BYTES));return{x:w,y:E}});function o(A){const{a:f,b:w}=t,E=n.sqr(A),T=n.mul(E,A);return n.add(n.add(T,n.mul(A,f)),w)}if(!n.eql(n.sqr(t.Gy),o(t.Gx)))throw new Error("bad generator point: equation left != right");function i(A){return typeof A=="bigint"&&Q<A&&A<t.n}function c(A){if(!i(A))throw new Error("Expected valid bigint: 0 < bigint < curve.n")}function l(A){const{allowedPrivateKeyLengths:f,nByteLength:w,wrapPrivateKey:E,n:T}=t;if(f&&typeof A!="bigint"){if(A instanceof Uint8Array&&(A=ue(A)),typeof A!="string"||!f.includes(A.length))throw new Error("Invalid key");A=A.padStart(w*2,"0")}let v;try{v=typeof A=="bigint"?A:Y(V("private key",A,w))}catch{throw new Error(`private key must be ${w} bytes, hex or bigint, not ${typeof A}`)}return E&&(v=M(v,T)),c(v),v}const d=new Map;function h(A){if(!(A instanceof u))throw new Error("ProjectivePoint expected")}class u{constructor(f,w,E){if(this.px=f,this.py=w,this.pz=E,f==null||!n.isValid(f))throw new Error("x required");if(w==null||!n.isValid(w))throw new Error("y required");if(E==null||!n.isValid(E))throw new Error("z required")}static fromAffine(f){const{x:w,y:E}=f||{};if(!f||!n.isValid(w)||!n.isValid(E))throw new Error("invalid affine point");if(f instanceof u)throw new Error("projective point not allowed");const T=v=>n.eql(v,n.ZERO);return T(w)&&T(E)?u.ZERO:new u(w,E,n.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(f){const w=n.invertBatch(f.map(E=>E.pz));return f.map((E,T)=>E.toAffine(w[T])).map(u.fromAffine)}static fromHex(f){const w=u.fromAffine(s(V("pointHex",f)));return w.assertValidity(),w}static fromPrivateKey(f){return u.BASE.multiply(l(f))}_setWindowSize(f){this._WINDOW_SIZE=f,d.delete(this)}assertValidity(){if(this.is0()){if(t.allowInfinityPoint)return;throw new Error("bad point: ZERO")}const{x:f,y:w}=this.toAffine();if(!n.isValid(f)||!n.isValid(w))throw new Error("bad point: x or y not FE");const E=n.sqr(w),T=o(f);if(!n.eql(E,T))throw new Error("bad point: equation left != right");if(!this.isTorsionFree())throw new Error("bad point: not in prime-order subgroup")}hasEvenY(){const{y:f}=this.toAffine();if(n.isOdd)return!n.isOdd(f);throw new Error("Field doesn't support isOdd")}equals(f){h(f);const{px:w,py:E,pz:T}=this,{px:v,py:N,pz:B}=f,x=n.eql(n.mul(w,B),n.mul(v,T)),I=n.eql(n.mul(E,B),n.mul(N,T));return x&&I}negate(){return new u(this.px,n.neg(this.py),this.pz)}double(){const{a:f,b:w}=t,E=n.mul(w,dn),{px:T,py:v,pz:N}=this;let B=n.ZERO,x=n.ZERO,I=n.ZERO,_=n.mul(T,T),q=n.mul(v,v),P=n.mul(N,N),k=n.mul(T,v);return k=n.add(k,k),I=n.mul(T,N),I=n.add(I,I),B=n.mul(f,I),x=n.mul(E,P),x=n.add(B,x),B=n.sub(q,x),x=n.add(q,x),x=n.mul(B,x),B=n.mul(k,B),I=n.mul(E,I),P=n.mul(f,P),k=n.sub(_,P),k=n.mul(f,k),k=n.add(k,I),I=n.add(_,_),_=n.add(I,_),_=n.add(_,P),_=n.mul(_,k),x=n.add(x,_),P=n.mul(v,N),P=n.add(P,P),_=n.mul(P,k),B=n.sub(B,_),I=n.mul(P,q),I=n.add(I,I),I=n.add(I,I),new u(B,x,I)}add(f){h(f);const{px:w,py:E,pz:T}=this,{px:v,py:N,pz:B}=f;let x=n.ZERO,I=n.ZERO,_=n.ZERO;const q=t.a,P=n.mul(t.b,dn);let k=n.mul(w,v),L=n.mul(E,N),j=n.mul(T,B),ee=n.add(w,E),p=n.add(v,N);ee=n.mul(ee,p),p=n.add(k,L),ee=n.sub(ee,p),p=n.add(w,T);let b=n.add(v,B);return p=n.mul(p,b),b=n.add(k,j),p=n.sub(p,b),b=n.add(E,T),x=n.add(N,B),b=n.mul(b,x),x=n.add(L,j),b=n.sub(b,x),_=n.mul(q,p),x=n.mul(P,j),_=n.add(x,_),x=n.sub(L,_),_=n.add(L,_),I=n.mul(x,_),L=n.add(k,k),L=n.add(L,k),j=n.mul(q,j),p=n.mul(P,p),L=n.add(L,j),j=n.sub(k,j),j=n.mul(q,j),p=n.add(p,j),k=n.mul(L,p),I=n.add(I,k),k=n.mul(b,p),x=n.mul(ee,x),x=n.sub(x,k),k=n.mul(ee,L),_=n.mul(b,_),_=n.add(_,k),new u(x,I,_)}subtract(f){return this.add(f.negate())}is0(){return this.equals(u.ZERO)}wNAF(f){return S.wNAFCached(this,d,f,w=>{const E=n.invertBatch(w.map(T=>T.pz));return w.map((T,v)=>T.toAffine(E[v])).map(u.fromAffine)})}multiplyUnsafe(f){const w=u.ZERO;if(f===Q)return w;if(c(f),f===W)return this;const{endo:E}=t;if(!E)return S.unsafeLadder(this,f);let{k1neg:T,k1:v,k2neg:N,k2:B}=E.splitScalar(f),x=w,I=w,_=this;for(;v>Q||B>Q;)v&W&&(x=x.add(_)),B&W&&(I=I.add(_)),_=_.double(),v>>=W,B>>=W;return T&&(x=x.negate()),N&&(I=I.negate()),I=new u(n.mul(I.px,E.beta),I.py,I.pz),x.add(I)}multiply(f){c(f);let w=f,E,T;const{endo:v}=t;if(v){const{k1neg:N,k1:B,k2neg:x,k2:I}=v.splitScalar(w);let{p:_,f:q}=this.wNAF(B),{p:P,f:k}=this.wNAF(I);_=S.constTimeNegate(N,_),P=S.constTimeNegate(x,P),P=new u(n.mul(P.px,v.beta),P.py,P.pz),E=_.add(P),T=q.add(k)}else{const{p:N,f:B}=this.wNAF(w);E=N,T=B}return u.normalizeZ([E,T])[0]}multiplyAndAddUnsafe(f,w,E){const T=u.BASE,v=(B,x)=>x===Q||x===W||!B.equals(T)?B.multiplyUnsafe(x):B.multiply(x),N=v(this,w).add(v(f,E));return N.is0()?void 0:N}toAffine(f){const{px:w,py:E,pz:T}=this,v=this.is0();f==null&&(f=v?n.ONE:n.inv(T));const N=n.mul(w,f),B=n.mul(E,f),x=n.mul(T,f);if(v)return{x:n.ZERO,y:n.ZERO};if(!n.eql(x,n.ONE))throw new Error("invZ was invalid");return{x:N,y:B}}isTorsionFree(){const{h:f,isTorsionFree:w}=t;if(f===W)return!0;if(w)return w(u,this);throw new Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){const{h:f,clearCofactor:w}=t;return f===W?this:w?w(u,this):this.multiplyUnsafe(t.h)}toRawBytes(f=!0){return this.assertValidity(),r(u,this,f)}toHex(f=!0){return ue(this.toRawBytes(f))}}u.BASE=new u(t.Gx,t.Gy,n.ONE),u.ZERO=new u(n.ZERO,n.ONE,n.ZERO);const y=t.nBitLength,S=nc(u,t.endo?Math.ceil(y/2):y);return{CURVE:t,ProjectivePoint:u,normPrivateKeyToScalar:l,weierstrassEquation:o,isWithinCurveOrder:i}}function ic(e){const t=Cr(e);return $e(t,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...t})}function cc(e){const t=ic(e),{Fp:n,n:r}=t,s=n.BYTES+1,o=2*n.BYTES+1;function i(p){return Q<p&&p<n.ORDER}function c(p){return M(p,r)}function l(p){return yt(p,r)}const{ProjectivePoint:d,normPrivateKeyToScalar:h,weierstrassEquation:u,isWithinCurveOrder:y}=ac({...t,toBytes(p,b,C){const R=b.toAffine(),O=n.toBytes(R.x),H=Pe;return C?H(Uint8Array.from([b.hasEvenY()?2:3]),O):H(Uint8Array.from([4]),O,n.toBytes(R.y))},fromBytes(p){const b=p.length,C=p[0],R=p.subarray(1);if(b===s&&(C===2||C===3)){const O=Y(R);if(!i(O))throw new Error("Point is not on curve");const H=u(O);let G=n.sqrt(H);const z=(G&W)===W;return(C&1)===1!==z&&(G=n.neg(G)),{x:O,y:G}}else if(b===o&&C===4){const O=n.fromBytes(R.subarray(0,n.BYTES)),H=n.fromBytes(R.subarray(n.BYTES,2*n.BYTES));return{x:O,y:H}}else throw new Error(`Point of length ${b} was invalid. Expected ${s} compressed bytes or ${o} uncompressed bytes`)}}),S=p=>ue(Se(p,t.nByteLength));function A(p){const b=r>>W;return p>b}function f(p){return A(p)?c(-p):p}const w=(p,b,C)=>Y(p.slice(b,C));class E{constructor(b,C,R){this.r=b,this.s=C,this.recovery=R,this.assertValidity()}static fromCompact(b){const C=t.nByteLength;return b=V("compactSignature",b,C*2),new E(w(b,0,C),w(b,C,2*C))}static fromDER(b){const{r:C,s:R}=ce.toSig(V("DER",b));return new E(C,R)}assertValidity(){if(!y(this.r))throw new Error("r must be 0 < r < CURVE.n");if(!y(this.s))throw new Error("s must be 0 < s < CURVE.n")}addRecoveryBit(b){return new E(this.r,this.s,b)}recoverPublicKey(b){const{r:C,s:R,recovery:O}=this,H=I(V("msgHash",b));if(O==null||![0,1,2,3].includes(O))throw new Error("recovery id invalid");const G=O===2||O===3?C+t.n:C;if(G>=n.ORDER)throw new Error("recovery id 2 or 3 invalid");const z=O&1?"03":"02",te=d.fromHex(z+S(G)),ne=l(G),fe=c(-H*ne),xe=c(R*ne),re=d.BASE.multiplyAndAddUnsafe(te,fe,xe);if(!re)throw new Error("point at infinify");return re.assertValidity(),re}hasHighS(){return A(this.s)}normalizeS(){return this.hasHighS()?new E(this.r,c(-this.s),this.recovery):this}toDERRawBytes(){return he(this.toDERHex())}toDERHex(){return ce.hexFromSig({r:this.r,s:this.s})}toCompactRawBytes(){return he(this.toCompactHex())}toCompactHex(){return S(this.r)+S(this.s)}}const T={isValidPrivateKey(p){try{return h(p),!0}catch{return!1}},normPrivateKeyToScalar:h,randomPrivateKey:()=>{const p=t.randomBytes(n.BYTES+8),b=Xi(p,r);return Se(b,t.nByteLength)},precompute(p=8,b=d.BASE){return b._setWindowSize(p),b.multiply(BigInt(3)),b}};function v(p,b=!0){return d.fromPrivateKey(p).toRawBytes(b)}function N(p){const b=p instanceof Uint8Array,C=typeof p=="string",R=(b||C)&&p.length;return b?R===s||R===o:C?R===2*s||R===2*o:p instanceof d}function B(p,b,C=!0){if(N(p))throw new Error("first arg must be private key");if(!N(b))throw new Error("second arg must be public key");return d.fromHex(b).multiply(h(p)).toRawBytes(C)}const x=t.bits2int||function(p){const b=Y(p),C=p.length*8-t.nBitLength;return C>0?b>>BigInt(C):b},I=t.bits2int_modN||function(p){return c(x(p))},_=at(t.nBitLength);function q(p){if(typeof p!="bigint")throw new Error("bigint expected");if(!(Q<=p&&p<_))throw new Error(`bigint expected < 2^${t.nBitLength}`);return Se(p,t.nByteLength)}function P(p,b,C=k){if(["recovered","canonical"].some(ae=>ae in C))throw new Error("sign() legacy options not supported");const{hash:R,randomBytes:O}=t;let{lowS:H,prehash:G,extraEntropy:z}=C;H==null&&(H=!0),p=V("msgHash",p),G&&(p=V("prehashed msgHash",R(p)));const te=I(p),ne=h(b),fe=[q(ne),q(te)];if(z!=null){const ae=z===!0?O(n.BYTES):z;fe.push(V("extraEntropy",ae,n.BYTES))}const xe=Pe(...fe),re=te;function ct(ae){const me=x(ae);if(!y(me))return;const Lt=l(me),pe=d.BASE.multiply(me).toAffine(),Z=c(pe.x);if(Z===Q)return;const ge=c(Lt*c(re+Z*ne));if(ge===Q)return;let jt=(pe.x===Z?0:2)|Number(pe.y&W),zt=ge;return H&&A(ge)&&(zt=f(ge),jt^=1),new E(Z,zt,jt)}return{seed:xe,k2sig:ct}}const k={lowS:t.lowS,prehash:!1},L={lowS:t.lowS,prehash:!1};function j(p,b,C=k){const{seed:R,k2sig:O}=P(p,b,C);return vr(t.hash.outputLen,t.nByteLength,t.hmac)(R,O)}d.BASE._setWindowSize(8);function ee(p,b,C,R=L){var pe;const O=p;if(b=V("msgHash",b),C=V("publicKey",C),"strict"in R)throw new Error("options.strict was renamed to lowS");const{lowS:H,prehash:G}=R;let z,te;try{if(typeof O=="string"||O instanceof Uint8Array)try{z=E.fromDER(O)}catch(Z){if(!(Z instanceof ce.Err))throw Z;z=E.fromCompact(O)}else if(typeof O=="object"&&typeof O.r=="bigint"&&typeof O.s=="bigint"){const{r:Z,s:ge}=O;z=new E(Z,ge)}else throw new Error("PARSE");te=d.fromHex(C)}catch(Z){if(Z.message==="PARSE")throw new Error("signature must be Signature instance, Uint8Array or hex string");return!1}if(H&&z.hasHighS())return!1;G&&(b=t.hash(b));const{r:ne,s:fe}=z,xe=I(b),re=l(fe),ct=c(xe*re),ae=c(ne*re),me=(pe=d.BASE.multiplyAndAddUnsafe(te,ct,ae))==null?void 0:pe.toAffine();return me?c(me.x)===ne:!1}return{CURVE:t,getPublicKey:v,getSharedSecret:B,sign:j,verify:ee,ProjectivePoint:d,Signature:E,utils:T}}function bt(e){if(!Number.isSafeInteger(e)||e<0)throw new Error(`Wrong positive integer: ${e}`)}function lc(e){if(typeof e!="boolean")throw new Error(`Expected boolean, not ${e}`)}function _r(e,...t){if(!(e instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(t.length>0&&!t.includes(e.length))throw new TypeError(`Expected Uint8Array of length ${t}, not of length=${e.length}`)}function dc(e){if(typeof e!="function"||typeof e.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");bt(e.outputLen),bt(e.blockLen)}function uc(e,t=!0){if(e.destroyed)throw new Error("Hash instance has been destroyed");if(t&&e.finished)throw new Error("Hash#digest() has already been called")}function hc(e,t){_r(e);const n=t.outputLen;if(e.length<n)throw new Error(`digestInto() expects output buffer of length at least ${n}`)}const qe={number:bt,bool:lc,bytes:_r,hash:dc,exists:uc,output:hc},pt=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */const fc=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;if(!fc)throw new Error("Non little-endian hardware is not supported");Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function mc(e){if(typeof e!="string")throw new TypeError(`utf8ToBytes expected string, got ${typeof e}`);return new TextEncoder().encode(e)}function pc(e){if(typeof e=="string"&&(e=mc(e)),!(e instanceof Uint8Array))throw new TypeError(`Expected input type is Uint8Array (got ${typeof e})`);return e}function gc(...e){if(!e.every(r=>r instanceof Uint8Array))throw new Error("Uint8Array list expected");if(e.length===1)return e[0];const t=e.reduce((r,s)=>r+s.length,0),n=new Uint8Array(t);for(let r=0,s=0;r<e.length;r++){const o=e[r];n.set(o,s),s+=o.length}return n}class Sc{clone(){return this._cloneInto()}}function wc(e=32){if(pt&&typeof pt.getRandomValues=="function")return pt.getRandomValues(new Uint8Array(e));throw new Error("crypto.getRandomValues must be defined")}class Br extends Sc{constructor(t,n){super(),this.finished=!1,this.destroyed=!1,qe.hash(t);const r=pc(n);if(this.iHash=t.create(),typeof this.iHash.update!="function")throw new TypeError("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;const s=this.blockLen,o=new Uint8Array(s);o.set(r.length>s?t.create().update(r).digest():r);for(let i=0;i<o.length;i++)o[i]^=54;this.iHash.update(o),this.oHash=t.create();for(let i=0;i<o.length;i++)o[i]^=106;this.oHash.update(o),o.fill(0)}update(t){return qe.exists(this),this.iHash.update(t),this}digestInto(t){qe.exists(this),qe.bytes(t,this.outputLen),this.finished=!0,this.iHash.digestInto(t),this.oHash.update(t),this.oHash.digestInto(t),this.destroy()}digest(){const t=new Uint8Array(this.oHash.outputLen);return this.digestInto(t),t}_cloneInto(t){t||(t=Object.create(Object.getPrototypeOf(this),{}));const{oHash:n,iHash:r,finished:s,destroyed:o,blockLen:i,outputLen:c}=this;return t=t,t.finished=s,t.destroyed=o,t.blockLen=i,t.outputLen=c,t.oHash=n._cloneInto(t.oHash),t.iHash=r._cloneInto(t.iHash),t}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}}const Nr=(e,t,n)=>new Br(e,t).update(n).digest();Nr.create=(e,t)=>new Br(e,t);/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */function yc(e){return{hash:e,hmac:(t,...n)=>Nr(e,t,gc(...n)),randomBytes:wc}}const un=BigInt("3618502788666131213697322783095070105526743751716087489154079457884512865583"),kr=252;function hn(e){for(;e[0]===0;)e=e.subarray(1);const t=e.length*8-kr,n=Y(e);return t>0?n>>BigInt(t):n}function Or(e){return typeof e=="string"&&(e=Ac(e),e.length&1&&(e="0"+e)),he(e)}const Rr=cc({a:BigInt(1),b:BigInt("3141592653589793238462643383279502884197169399375105820974944592307816406665"),Fp:Dt(BigInt("0x800000000000011000000000000000000000000000000000000000000000001")),n:un,nBitLength:kr,Gx:BigInt("874739451078007766457464989774322083649278607533249481151382481072868806602"),Gy:BigInt("152666792071518830868575557812948353041420400780739481342941381225525861407"),h:BigInt(1),lowS:!1,...yc(Er),bits2int:hn,bits2int_modN:e=>{const t=Y(e).toString(16);return t.length===63&&(e=Or(t+"0")),M(hn(e),un)}});function bc(e){return V("",typeof e=="string"?Or(e):e)}const{CURVE:Fl,ProjectivePoint:_e,Signature:Dl,utils:Ul}=Rr;function Ec(e){return`0x${ue(e.subarray(1)).replace(/^0+/gm,"")}`}function Ac(e){return e.replace(/^0x/i,"")}const Fe=[new _e(2089986280348253421170679821480865132823066470938446095505822317253594081284n,1713931329540660377023406109199410414810705867260802078187082345529207694986n,1n),new _e(996781205833008774514500082376783249102396023663454813447423147977397232763n,1668503676786377725805489344771023921079126552019160156920634619255970485781n,1n),new _e(2251563274489750535117886426533222435294046428347329203627021249169616184184n,1798716007562728905295480679789526322175868328062420237419143593021674992973n,1n),new _e(2138414695194151160943305727036575959195309218611738193261179310511854807447n,113410276730064486255102093846540133784865286929052426931474106396135072156n,1n),new _e(2379962749567351885752724891227938183011949129833673362440656643086021394946n,776496453633298175483985398648758586525933812536653089401905292063708816422n,1n)];function Pr(e,t){const n=[];let r=e;for(let s=0;s<248;s++)n.push(r),r=r.double();r=t;for(let s=0;s<4;s++)n.push(r),r=r.double();return n}const Tc=Pr(Fe[1],Fe[2]),xc=Pr(Fe[3],Fe[4]);function vc(e){let t;if(typeof e=="bigint")t=e;else if(typeof e=="number"){if(!Number.isSafeInteger(e))throw new Error(`Invalid pedersenArg: ${e}`);t=BigInt(e)}else t=Y(bc(e));if(!(0n<=t&&t<Rr.CURVE.Fp.ORDER))throw new Error(`PedersenArg should be 0 <= value < CURVE.P: ${t}`);return t}function fn(e,t,n){let r=vc(t);for(let s=0;s<252;s++){const o=n[s];if(o.equals(e))throw new Error("Same point");(r&1n)!==0n&&(e=e.add(o)),r>>=1n}return e}function mn(e,t){let n=Fe[0];return n=fn(n,e,Tc),n=fn(n,t,xc),Ec(n.toRawBytes(!0))}const Ic=at(250),pn=e=>Y(Bi(e))&Ic;Dt(BigInt("14474011154664525231415395255581126252639794253786371766033694892385558855681"));const Cc=Dt(BigInt("3618502788666131213697322783095070105623107215331596699973092056135872020481"));function _c(e,t,n){const r=e.fromBytes(Er(pr(`${t}${n}`)));return e.create(r)}const Bc=[[3,1,1],[1,-1,1],[1,1,-2]].map(e=>e.map(BigInt));function Nc(e,t){if(Pt(e.Fp),!Number.isSafeInteger(e.rate)||!Number.isSafeInteger(e.capacity))throw new Error(`Wrong poseidon opts: ${e}`);const n=e.rate+e.capacity,r=e.roundsFull+e.roundsPartial,s=[];for(let i=0;i<r;i++){const c=[];for(let l=0;l<n;l++)c.push(_c(e.Fp,"Hades",n*i+l));s.push(c)}const o=ec({...e,t:n,sboxPower:3,reversePartialPowIdx:!0,mds:t,roundConstants:s});return o.m=n,o.rate=e.rate,o.capacity=e.capacity,o}Nc({Fp:Cc,rate:2,capacity:1,roundsFull:8,roundsPartial:83},Bc);const kc=m.z.object({feeToken:a.addressSchema,signerSignature:m.z.object({type:m.z.literal("StarknetKey"),signer:m.z.object({publicKey:a.hexSchema,r:a.hexSchema,s:a.hexSchema})})}),Fr=m.z.enum(["ONGOING","COMPLETED","ERROR","CANCELLED","AWAITING_FUNDS"]),Dr=m.z.object({status:Fr,recoveryId:m.z.number().optional(),completionTime:m.z.array(m.z.number())});class Oc{constructor(t,n){this.apiBase=t,this.httpService=n}async startRecovery(t,n,r,s){const{r:o,s:i}=g.ec.starkCurve.sign(mn(pn(ye.stringToBytes("utf8","starknet:recovery")),r),s),c={feeToken:n,signerSignature:{type:"StarknetKey",signer:{publicKey:r,r:g.encode.addHexPrefix(o.toString(16)),s:g.encode.addHexPrefix(i.toString(16))}}};return await this.httpService.post(`${this.apiBase}/accounts/starknet/${t}/recovery`,{body:JSON.stringify(c)},Dr)}async getRecovery(t,n){const r=a.urlJoin(this.apiBase,"accounts","starknet",t,"recovery",n?`${n}`:"");return await this.httpService.get(r)}async cancelRecovery(t,n,r,s){const{r:o,s:i}=g.ec.starkCurve.sign(mn(pn(ye.stringToBytes("utf8","starknet:recovery:cancel")),r),s),c={signerSignature:{type:"StarknetKey",signer:{publicKey:r,r:g.encode.addHexPrefix(o.toString(16)),s:g.encode.addHexPrefix(i.toString(16))}}};await this.httpService.post(`${this.apiBase}/accounts/starknet/${t}/recovery/cancel`,{body:JSON.stringify(c)})}}async function Rc(){if("brave"in navigator)try{return await navigator.brave.isBrave()}catch{}return!1}let gt;function Ur(){return gt||(gt=new Qr.UAParser(navigator.userAgent).getResult()),gt}function Le(e){return Ur().browser.name===e}function Pc(){return Le("Firefox")}function Fc(){return Le("Chrome")}function Dc(){return Le("Safari")}function Uc(){return Le("Edge")}const Hc=m.z.string().refine(e=>es.validateMnemonic(e,ts.wordlist),"Invalid seedphrase"),Ut=[{address:"0x049d36570d4e46f48e99674bd3fcc84644ddd6b96f7c741b1562b82f9e004dc7",name:"Ether",symbol:"ETH",decimals:18,networkId:"mainnet-alpha",image:"https://dv3jj1unlp2jl.cloudfront.net/128/color/eth.png"},{address:"0x049d36570d4e46f48e99674bd3fcc84644ddd6b96f7c741b1562b82f9e004dc7",name:"Ether",symbol:"ETH",decimals:18,networkId:"sepolia-alpha",image:"https://dv3jj1unlp2jl.cloudfront.net/128/color/eth.png"},{address:"0x049d36570d4e46f48e99674bd3fcc84644ddd6b96f7c741b1562b82f9e004dc7",name:"Ether",symbol:"ETH",decimals:18,networkId:"localhost",image:"https://dv3jj1unlp2jl.cloudfront.net/128/color/eth.png"},{address:"0x04718f5a0fc34cc1af16a1cdee98ffb20c31f5cd61d6ab07201858f4287c938d",name:"Starknet",symbol:"STRK",decimals:"18",networkId:"mainnet-alpha",image:"https://dv3jj1unlp2jl.cloudfront.net/128/color/strk.png"},{address:"0x04718f5a0fc34cc1af16a1cdee98ffb20c31f5cd61d6ab07201858f4287c938d",name:"Starknet",symbol:"STRK",decimals:"18",networkId:"integration",image:"https://dv3jj1unlp2jl.cloudfront.net/128/color/strk.png"},{address:"0x04718f5a0fc34cc1af16a1cdee98ffb20c31f5cd61d6ab07201858f4287c938d",name:"Starknet",symbol:"STRK",decimals:"18",networkId:"sepolia-alpha",image:"https://dv3jj1unlp2jl.cloudfront.net/128/color/strk.png"},{address:"0x00da114221cb83fa859dbdb4c44beeaa0bb37c7537ad5ae66fe5e0efd20e6eb3",name:"DAI",symbol:"DAI",decimals:18,networkId:"mainnet-alpha",image:"https://dv3jj1unlp2jl.cloudfront.net/128/color/dai.png"},{address:"0x03e85bfbb8e2a42b7bead9e88e9a1b19dbccf661471061807292120462396ec9",name:"DAI",symbol:"DAI",decimals:18,networkId:"sepolia-alpha",image:"https://dv3jj1unlp2jl.cloudfront.net/128/color/dai.png"},{address:"0x06f2a0dfeff180133de890ad69c6ba294574c5f34a67890fd22464f348c4d03c",name:"DAI",symbol:"DAI",decimals:18,networkId:"sepolia-alpha",image:"https://dv3jj1unlp2jl.cloudfront.net/128/color/dai.png"},{address:"0x03fe2b97c1fd336e750087d68b9b867997fd64a2661ff3ca5a7c771641e8e7ac",name:"Wrapped BTC",symbol:"WBTC",decimals:8,networkId:"mainnet-alpha",image:"https://dv3jj1unlp2jl.cloudfront.net/128/color/wbtc.png"},{address:"0x12d537dc323c439dc65c976fad242d5610d27cfb5f31689a0a319b8be7f3d56",name:"Wrapped BTC",symbol:"WBTC",decimals:8,networkId:"sepolia-alpha",image:"https://dv3jj1unlp2jl.cloudfront.net/128/color/wbtc.png"},{address:"0x020d208b9e57a7f92bfa9f61135446e0961afc340378be97dbd317453c0950ae",name:"Wrapped BTC",symbol:"WBTC",decimals:8,networkId:"sepolia-alpha",image:"https://dv3jj1unlp2jl.cloudfront.net/128/color/wbtc.png"},{address:"0x053c91253bc9682c04929ca02ed00b3e423f6710d2ee7e0d5ebb06f3ecf368a8",name:"USD Coin",symbol:"USDC",decimals:6,networkId:"mainnet-alpha",image:"https://dv3jj1unlp2jl.cloudfront.net/128/color/usdc.png"},{address:"0x005a643907b9a4bc6a55e9069c4fd5fd1f5c79a22470690f75556c4736e34426",name:"USD Coin",symbol:"USDC",decimals:6,networkId:"sepolia-alpha",image:"https://dv3jj1unlp2jl.cloudfront.net/128/color/usdc.png"},{address:"0x07ab0b8855a61f480b4423c46c32fa7c553f0aac3531bbddaa282d86244f7a23",name:"USD Coin",symbol:"USDC",decimals:6,networkId:"sepolia-alpha",image:"https://dv3jj1unlp2jl.cloudfront.net/128/color/usdc.png"},{address:"0x068f5c6a61780768455de69077e07e89787839bf8166decfbf92b645209c0fb8",name:"Tether USD",symbol:"USDT",decimals:6,networkId:"mainnet-alpha",image:"https://dv3jj1unlp2jl.cloudfront.net/128/color/usdt.png"},{address:"0x386e8d061177f19b3b485c20e31137e6f6bc497cc635ccdfcab96fadf5add6a",name:"Tether USD",symbol:"USDT",decimals:6,networkId:"sepolia-alpha",image:"https://dv3jj1unlp2jl.cloudfront.net/128/color/usdt.png"},{address:"0x00585c32b625999e6e5e78645ff8df7a9001cf5cf3eb6b80ccdd16cb64bd3a34",name:"zkLend Token",symbol:"ZEND",decimals:18,networkId:"mainnet-alpha",image:"https://dv3jj1unlp2jl.cloudfront.net/128/color/zend.png"},{address:"0x06ea04cd7e40bfef07c3625e2b3472839093d966bf601568128436466f962fcf",name:"Baby Laika",symbol:"BABYLAIKA",decimals:18,networkId:"mainnet-alpha",image:"https://dv3jj1unlp2jl.cloudfront.net/128/color/babylaika.png"},{address:"0x004a8ff6a7b121c55d5e21af478265c5798f574abaa41efadf569d6939705896",name:"Baby Laika",symbol:"BABYLAIKA",decimals:18,networkId:"sepolia-alpha",image:"https://dv3jj1unlp2jl.cloudfront.net/128/color/babylaika.png"},{address:"0x0782f0ddca11d9950bc3220e35ac82cf868778edb67a5e58b39838544bc4cd0f",name:"Starknet Voting Token",symbol:"vSTRK",decimals:18,networkId:"mainnet-alpha",image:"https://dv3jj1unlp2jl.cloudfront.net/128/color/vstrk.png"},{address:"0x075afe6402ad5a5c20dd25e10ec3b3986acaa647b77e4ae24b0cbc9a54a27a87",name:"Ekubo Protocol",symbol:"EKUBO",decimals:18,networkId:"mainnet-alpha",image:"https://dv3jj1unlp2jl.cloudfront.net/128/color/ekubo.png"}],Hr=async(e,t,n)=>{const r=await n.callContract({contractAddress:e,entrypoint:"balanceOf",calldata:[t]});return BigInt(g.num.toHex(g.uint256.uint256ToBN({low:r[0],high:r[1]})))},$c=async(e,t,n)=>{const r=Ut.filter(o=>o.networkId===e);return(await Promise.allSettled(r.map(o=>t.callContract({contractAddress:o.address,entrypoint:"balanceOf",calldata:[n]})))).reduce((o,i,c)=>{if(i.status==="fulfilled"&&D.isUndefined(i.value)||i.status==="rejected"||i.value[0]==="0x0"&&i.value[1]==="0x0")return o;const l=BigInt(g.num.toHex(g.uint256.uint256ToBN({low:i.value[0],high:i.value[1]}))),d={...r[c],balance:l};return o.push(d),o},[])},Lc=async()=>Ut,jc=({address:e,networkId:t})=>Ut.find(r=>r.address===e&&r.networkId===t),zc=({amount:e,decimals:t,unitCurrencyValue:n})=>{if(!K(e)||!K(t)||!K(n))return;const r=Number(t),s=BigInt(e)*xt(n.toString()).value;return Ue({value:s,decimals:r+Ee})},Vc=({unitAmount:e,decimals:t})=>{if(e===void 0||!K(e)||t===void 0||!K(t))return;const n=Number(t);return a.parseUnits(e.toString(),n).value.toString()},Mc=e=>K(e)?Number(e):18,{UINT_256_MAX:qc}=g.uint256,$r=e=>String(e)===String(qc),Gc=(e,t="$",n)=>{if(e===void 0||!K(e))return null;const r=lr(e,n);return[t,r].filter(Boolean).join("")},Lr="Unlimited",Wc=({amount:e,decimals:t,symbol:n,showPlusSign:r=!1,withSymbol:s=!0,unlimitedText:o=Lr,prettyConfigOverrides:i})=>{if(!K(e))return null;let c,l=!1;if($r(e))c=o;else{const h=Number(t),u=BigInt(e);l=u>0n;const y=h>0?Ue({value:u,decimals:h}):u.toString();c=h>0?dr(y,i):y}const d=[c,s&&n].filter(Boolean).join(" ");return r&&l?`+${d}`:d};var Kc=a.retry,Zc=Kc;function Yc(e,t){function n(r,s){var o=t||{},i;"randomize"in o||(o.randomize=!0),i=Zc.operation(o);function c(h){s(h||new Error("Aborted"))}function l(h,u){if(h.bail){c(h);return}i.retry(h)?o.onRetry&&o.onRetry(h,u):s(i.mainError())}function d(h){var u;try{u=e(c,h)}catch(y){l(y,h);return}Promise.resolve(u).then(r).catch(function(S){l(S,h)})}i.attempt(d)}return new Promise(n)}var Jc=Yc;const Xc=a.getDefaultExportFromCjs(Jc);class Qc{constructor(t,n){this.apiBase=t,this.httpService=n,this.TOKENS_INFO_URL="/tokens/info",this.TOKENS_DEFI_DECOMPOSITION_URL="/tokens/defi/decomposition"}async fetchTokensInfoFromBackend(t){const n=a.urlJoin(this.apiBase,this.TOKENS_INFO_URL,t??"","?chain=starknet"),r=await this.httpService.get(n),s=a.apiTokensInfoResponseSchema.safeParse(r);if(s.success)return s.data.tokens;const o=a.apiTokenInfoResponseSchema.safeParse(r);if(o.success)return[o.data]}async fetchAddressTokenBalancesFromBackend(t,n,r){const s=a.urlJoin(this.apiBase,"activity","starknet",n,"account",t,"balance");return(await Xc(async c=>{let l;try{l=await this.httpService.get(s)}catch{return c(new Error("Error fetching")),[]}const d=a.apiAccountTokenBalancesSchema.safeParse(l);if(!d.success)return c(new Error("Error parsing response")),[];if(d.data.status!=="initialised")throw new Error("Not initialised yet");return d.data.balances},{retries:5,minTimeout:5e3,...r})).map(c=>({address:c.tokenAddress,balance:c.tokenBalance,networkId:n}))}async fetchDefiDecomposition(t){const n=a.urlJoin(this.apiBase,this.TOKENS_DEFI_DECOMPOSITION_URL,t,"?chain=starknet"),r=await this.httpService.get(n);if(!a.apiDefiPositionsSchema.safeParse(r).success)throw new a.TokenError({code:"TOKEN_DEFI_DECOMPOSITION_PARSING_ERROR"});return r.dapps}}const el=(e,t,n,r)=>({contractAddress:e,entrypoint:"transfer",calldata:g.CallData.compile({recipient:t,amount:be(ur(n,r))})}),tl=(e,t,n,r)=>({contractAddress:e,entrypoint:"transferFrom",calldata:g.CallData.compile({from_:t,to:n,tokenId:be(r)})}),nl=(e,t,n,r)=>({contractAddress:e,entrypoint:"safeTransferFrom",calldata:g.CallData.compile({from_:t,to:n,tokenId:be(r),amount:be(1),data_len:"0"})});function Ht(e){return D.upperCase(e.unit)==="WEI"}function jr(e){return D.upperCase(e.unit)==="FRI"}function le(e,t){return Ht(e)?{...e,maxFee:t(e.maxFee),overallFee:t(e.overallFee),gasPrice:t(e.gasPrice),gasUsage:t(e.gasUsage)}:{...e,overallFee:t(e.overallFee),gasPrice:t(e.gasPrice),gasUsage:t(e.gasUsage),maxAmount:t(e.maxAmount),maxPricePerUnit:t(e.maxPricePerUnit)}}function we(e){return Ht(e)?{maxFee:e.maxFee}:{amount:e.maxAmount,pricePerUnit:e.maxPricePerUnit}}function Ge(e){return jr({unit:e})?a.STRK_TOKEN_ADDRESS:a.ETH_TOKEN_ADDRESS}function rl(e,t,n=2){const r=BigInt(10**n),s=BigInt(Math.round(t*10**n));return e*s/r}const sl=[a.STRK_TOKEN_ADDRESS],zr=(e,t=Wr)=>{if(e.max&&"amount"in e.max)return{...e,...e.max};const n=10000n,{amount:r,pricePerUnit:s,dataGasConsumed:o=0n,dataGasPrice:i=0n}=e,c=r*s+o*i;if(c<0)throw Error("Cannot calculate max fee for negative fee");const l=g.num.toBigInt(a.argentMaxFee({estimatedFee:c})),d=Number(l)/Number(c),h=t(d),u=BigInt(Math.trunc(h*Number(n)));return{...e,amount:r*u/n,pricePerUnit:s*u/n,dataGasConsumed:o*u/n,dataGasPrice:i*u/n}},De=e=>{const{amount:t,pricePerUnit:n,dataGasConsumed:r=0n,dataGasPrice:s=0n}=e;return t*n+r*s},Vr=e=>{if(e.max)return"maxFee"in e.max?e.max.maxFee:De(e.max)},Ye=e=>{const t=Vr(e);return t||De(zr(e))},ol=e=>{if(e.deployment&&!a.isEqualAddress(e.deployment.feeTokenAddress,e.transactions.feeTokenAddress))throw Error("Cannot calculate estimated fees for different tokens");const t=De(e.transactions),n=e.deployment?De(e.deployment):0n;return t+n},al=e=>{if(e.deployment&&!a.isEqualAddress(e.deployment.feeTokenAddress,e.transactions.feeTokenAddress))throw Error("Cannot calculate estimated fees for different tokens");const t=e.deployment?Ye(e.deployment):0n,n=Ye(e.transactions);return t+n},il=(e,t)=>[{contractAddress:e,entrypoint:"transfer",calldata:g.CallData.compile(a.transferCalldataSchema.parse({recipient:t,amount:g.uint256.bnToUint256(BigInt(1))}))}],Mr=(e,t)=>{if(!e)return{transactions:{feeTokenAddress:t??a.ETH_TOKEN_ADDRESS,amount:0n,pricePerUnit:0n,dataGasConsumed:0n,dataGasPrice:0n}};if(!Array.isArray(e))throw Error(`Unexpected simulation response. Expected array. Got ${typeof e}`);if(e.length===1){const n=a.feeEstimationSchema.parse(e[0].feeEstimation);return{transactions:{feeTokenAddress:Ge(n.unit),amount:g.num.toBigInt(n.gasUsage),pricePerUnit:g.num.toBigInt(n.gasPrice),max:we(le(n,g.num.toBigInt)),dataGasConsumed:n.dataGasConsumed?g.num.toBigInt(n.dataGasConsumed):0n,dataGasPrice:n.dataGasPrice?g.num.toBigInt(n.dataGasPrice):0n}}}if(e.length===2){const n=a.feeEstimationSchema.parse(e[0].feeEstimation),r=a.feeEstimationSchema.parse(e[1].feeEstimation);return{deployment:{feeTokenAddress:Ge(n.unit),amount:g.num.toBigInt(n.gasUsage),pricePerUnit:g.num.toBigInt(n.gasPrice),max:we(le(n,g.num.toBigInt)),dataGasConsumed:n.dataGasConsumed?g.num.toBigInt(n.dataGasConsumed):0n,dataGasPrice:n.dataGasPrice?g.num.toBigInt(n.dataGasPrice):0n},transactions:{feeTokenAddress:Ge(r.unit),amount:g.num.toBigInt(r.gasUsage),pricePerUnit:g.num.toBigInt(r.gasPrice),max:we(le(r,g.num.toBigInt)),dataGasConsumed:r.dataGasConsumed?g.num.toBigInt(r.dataGasConsumed):0n,dataGasPrice:r.dataGasPrice?g.num.toBigInt(r.dataGasPrice):0n}}}throw Error("Unexpected simulation response length")},qr=({transaction:e,nonce:t,chainId:n,version:r,isDeploymentTransaction:s,cairoVersion:o,address:i,appDomain:c})=>{let l=t;s&&e.type!=="DEPLOY_ACCOUNT"&&(l=g.num.toHex(1));const d=a.ensureArray(e.calls);return{type:e.type,chainId:n,cairoVersion:o,nonce:l,version:r,account:i,calls:d,calldata:e.calldata,salt:e.salt,signature:e.signature,classHash:e.classHash,appDomain:c}},Gr=(e,t)=>{const{transactions:n}=e,r=n.map(l=>{if(!l.simulation)throw new a.EstimateError({code:"SIMULATE_AND_REVIEW_FAILED"});return l}),s=r.map(l=>({...l.simulation,feeEstimation:le(l.simulation.feeEstimation,Number)})),o=Mr(s,t),[i,c]=r.length===1?[r[0],void 0]:[r[1],r[0]];return{...o,transactions:{...o.transactions,dataGasConsumed:o.transactions.dataGasConsumed??0n,dataGasPrice:o.transactions.dataGasPrice??0n,max:we(le(i.simulation.feeEstimation,g.num.toBigInt))},deployment:o.deployment&&c?{...o.deployment,dataGasConsumed:o.deployment.dataGasConsumed??0n,dataGasPrice:o.deployment.dataGasPrice??0n,max:we(le(c.simulation.feeEstimation,g.num.toBigInt))}:void 0}},cl=e=>{const t=zr(e),n=Ye(e);return{maxFee:n,resourceBounds:{l1_gas:{max_amount:g.num.toHex(n/e.pricePerUnit),max_price_per_unit:g.num.toHex(t.pricePerUnit)},l2_gas:{max_amount:"0x0",max_price_per_unit:"0x0"}}}},ll=e=>{const t=Math.sqrt(e);return isNaN(t)?Math.sqrt(2):t},Wr=e=>{const t=Math.cbrt(e);return isNaN(t)?Math.cbrt(2):t},dl=e=>e<1||isNaN(e)?1.1:Math.log(e+1)+1,ul=[a.STRK_TOKEN_ADDRESS];function it({address:e}){return ul.some(t=>a.isEqualAddress(e,t))}function hl(e){return e?Dn().some(t=>a.isEqualAddress(t,e)):!1}function Et(e){return it({address:e})?g.constants.TRANSACTION_VERSION.V3:g.constants.TRANSACTION_VERSION.V1}function fl(e){return it({address:e})?g.constants.TRANSACTION_VERSION.F3:g.constants.TRANSACTION_VERSION.F1}function ml(e,t){return g.isSierra(t.contract)?it({address:e})?g.constants.TRANSACTION_VERSION.V3:g.constants.TRANSACTION_VERSION.V2:g.constants.TRANSACTION_VERSION.V1}class pl{constructor(t,n){this.apiBase=t,this.httpService=n}async getLabels(){const t=a.urlJoin(this.apiBase,"reviewer","labels");return await this.httpService.get(t)}async getWarnings(){const t=a.urlJoin(this.apiBase,"reviewer","warnings/reasons");return await this.httpService.get(t)}async simulateAndReview(t,n,r,s,o){const i=n.some(c=>c.type==="DEPLOY_ACCOUNT");try{if(!("getChainId"in t))throw new Error("MISSING_METHOD");const c=Et(r),l=i?"0x0":await t.getNonce(),d=await t.getChainId(),h={transactions:n.map(f=>({...qr({transaction:f,nonce:l,version:c,chainId:d,isDeploymentTransaction:i,appDomain:s,cairoVersion:t.cairoVersion,address:t.address}),type:f.type}))},u=a.urlJoin(this.apiBase,"reviewer","transactions","v2","review","starknet"),y=await this.httpService.post(u,{headers:{Accept:"application/json","Content-Type":"application/json"},body:JSON.stringify(h)},a.simulateAndReviewSchema);if(y.transactions.some(f=>a.isTransactionSimulationError(f)))return y;const A=Gr(y,r);return{...y,enrichedFeeEstimation:A}}catch(c){return console.error(c),this.fallbackToOnchainFeeEstimation({transactions:n,account:t,isDeploymentTransaction:i,feeTokenAddress:r,accountDeployTransaction:o})}}getCallsFromTx(t){let n;return t.calls&&(n=a.ensureArray(t.calls)),n}async fallbackToOnchainFeeEstimation({transactions:t,account:n,isDeploymentTransaction:r,feeTokenAddress:s,accountDeployTransaction:o}){try{const i=r?this.getCallsFromTx(t[1]):this.getCallsFromTx(t[0]);if(!i)throw new a.ReviewError({code:"NO_CALLS_FOUND"});const c=await this.fetchFeesOnchain({starknetAccount:n,calls:i,isDeployed:!r,feeTokenAddress:s,accountDeployTransaction:o});return{transactions:[],enrichedFeeEstimation:c,isBackendDown:!0}}catch(i){throw console.error(i),new a.ReviewError({message:`${i}`,code:"SIMULATE_AND_REVIEW_FAILED"})}}async fetchFeesOnchain({starknetAccount:t,calls:n,isDeployed:r,feeTokenAddress:s,accountDeployTransaction:o}){try{const i=Et(s),c={transactions:{feeTokenAddress:s,amount:0n,pricePerUnit:0n,dataGasConsumed:0n,dataGasPrice:0n}};if(!r&&o){if("estimateFeeBulk"in t){const l=[{type:g.TransactionType.DEPLOY_ACCOUNT,payload:{classHash:o.classHash,addressSalt:o.salt,constructorCalldata:o.calldata,contractAddress:t.address}},{type:g.TransactionType.INVOKE,payload:n}],[d,h]=await t.estimateFeeBulk(l,{version:i}).catch(u=>{throw console.error(u),u});if(!d.gas_consumed||!d.gas_price||!h.gas_consumed||!h.gas_price)throw new a.ReviewError({code:"ONCHAIN_FEE_ESTIMATION_FAILED",message:"Missing gas_consumed or gas_price"});c.deployment={feeTokenAddress:s,amount:d.gas_consumed,pricePerUnit:d.gas_price,dataGasConsumed:d.data_gas_consumed,dataGasPrice:d.data_gas_price},c.transactions={feeTokenAddress:s,amount:h.gas_consumed,pricePerUnit:h.gas_price,dataGasConsumed:h.data_gas_consumed,dataGasPrice:h.data_gas_price}}}else{const{gas_consumed:l,gas_price:d,data_gas_consumed:h,data_gas_price:u}=await t.estimateFee(n,{skipValidate:!0,version:i});if(!l||!d)throw new a.ReviewError({code:"ONCHAIN_FEE_ESTIMATION_FAILED",message:"Missing gas_consumed or gas_price"});c.transactions={feeTokenAddress:s,amount:l,pricePerUnit:d,dataGasConsumed:h,dataGasPrice:u}}return c}catch(i){throw new a.ReviewError({code:"ONCHAIN_FEE_ESTIMATION_FAILED",message:`${i}`})}}}const gl=["account-upgrade","approve","set-approval-for-all","swap","transfer"],Sl=e=>({showBalanceChange:$.useMemo(()=>{const n=e==null?void 0:e.some(s=>!D.isEmpty(s.transfers)),r=e==null?void 0:e.some(s=>!D.isEmpty(s.approvals));return e&&(n||r)},[e])}),je=e=>e?e.filter(t=>t.token.type==="erc20"):[],wl=e=>$.useMemo(()=>je(e),[e]),yl=e=>je(e).length>0,bl=e=>je(e).some(n=>n.amount>0n),El=e=>je(e).some(n=>n.amount<0n),$t=e=>e?e.filter(t=>t.token.type==="erc721"):[],Al=e=>$.useMemo(()=>$t(e),[e]),Kr=e=>$t(e).length>0,Tl=e=>$.useMemo(()=>Kr(e),[e]),xl=(e,t)=>$.useMemo(()=>e&&t?[{contractAddress:e.address,entrypoint:"transfer",calldata:g.CallData.compile({recipient:t,amount:be(e.balance)})}]:[],[e,t]),vl=({apiData:{apiBaseUrl:e,apiHeaders:t},address:n,network:r,transactionReviewEnabled:s=!0,transactions:o})=>{const i=$.useCallback(async()=>{if(!n||!r)return;if(!e)throw"Transaction review endpoint is not defined";const l=a.urlJoin(e,"reviewer/transactions/review/starknet"),d=D.isArray(o)?o:[o],h={network:r,account:n,calls:d};return vt(l,{method:"POST",headers:{"Content-Type":"application/json",...t},body:JSON.stringify(h)})},[n,r,o]),c=$.useMemo(()=>ns({transactions:o,address:n,network:r}),[o,n,r]);return Tn(!!s,[c,"transactionReview"],i)},Il=e=>{if(!e)return{};const t=e.assessment==="warn"&&e.reason!=="contract_is_not_verified",n=e.reason?` (Reason: ${D.lowerCase(e.reason)})`:"",r=t?e.reason==="recipient_is_token_address"?"You are sending tokens to their own address. This is likely to burn them.":`This transaction has been flagged as dangerous. We recommend you reject this transaction unless you are sure.${n}`:void 0;return{warn:t,reason:r}},Zr=e=>{var t;if(e){for(const n of e.reviews)if(((t=n.activity)==null?void 0:t.type)==="swap")return n}},Cl=e=>{},_l=(e,t)=>{var n;if(t){for(const r of t.reviews)if(((n=r.activity)==null?void 0:n.type)===e)return r.activity}},Bl=e=>!!Zr(e),Nl=e=>{var t,n;if(e){for(const r of e.reviews)if((t=r.activity)!=null&&t.type)return{...r,type:(n=r.activity)==null?void 0:n.type}}},Yr=async({feeTokenAddress:e,calls:t,selectedAccount:n,transactionReviewService:r,appDomain:s,accountDeployTransaction:o})=>{const i={type:"INVOKE",calls:a.ensureArray(t)};if(!n||!e)return;const c=o?[o,i]:[i];return{result:await r.simulateAndReview(n,c,e,s,o)}},Jr=async(e,t,n,r)=>{var y,S,A,f,w,E;let s=!1;const o=t.transactions.find(T=>{var v,N;return(N=(v=T==null?void 0:T.simulation)==null?void 0:v.summary)==null?void 0:N.find(B=>B.sent)});if(!o||!((y=o.simulation)!=null&&y.summary))return s;const i=o.simulation.summary.filter(T=>T.sent).map(T=>T.token.address);if(!(((S=t.enrichedFeeEstimation)==null?void 0:S.transactions.feeTokenAddress)&&i.includes((A=t.enrichedFeeEstimation)==null?void 0:A.transactions.feeTokenAddress))||!((w=(f=t.enrichedFeeEstimation)==null?void 0:f.transactions)!=null&&w.max))return s;const l="amount"in t.enrichedFeeEstimation.transactions.max?t.enrichedFeeEstimation.transactions.max.amount:"maxFee"in t.enrichedFeeEstimation.transactions.max?t.enrichedFeeEstimation.transactions.max.maxFee:void 0,d=(E=o.simulation.summary.find(T=>T.sent&&T.token.address===n))==null?void 0:E.value;if(!l||!d)return s;const h=await Hr(n,e,r)??0n;return BigInt(h)>l+BigInt(d)||(s=!0),s},kl=()=>$.useCallback(async({feeTokenAddress:t,calls:n,selectedAccount:r,transactionReviewService:s,appDomain:o,accountDeployPayload:i,provider:c})=>{if(!r)return;const l=await Yr({feeTokenAddress:t,calls:n,selectedAccount:r,transactionReviewService:s,appDomain:o,accountDeployTransaction:Xr(i)});if(!l||!l.result||!t)return;const d=await Jr(r.address,l.result,t,c);return{...l.result,isSendingMoreThanBalanceAndGas:d}},[]),Xr=e=>e?{type:"DEPLOY_ACCOUNT",calldata:e.calldata,classHash:a.hexSchema.parse(e.class_hash),salt:a.hexSchema.parse(e.salt),signature:[]}:void 0;exports.BaseError=a.BaseError;Object.defineProperty(exports,"ESTIMATE_ERROR_MESSAGES",{enumerable:!0,get:()=>a.ESTIMATE_ERROR_MESSAGES});exports.ETH_TOKEN_ADDRESS=a.ETH_TOKEN_ADDRESS;exports.EstimateError=a.EstimateError;exports.EventEmitterProvider=a.EventEmitterProvider;exports.EventsBySelector=a.EventsBySelector;exports.FEE_OVERHEAD=a.FEE_OVERHEAD;Object.defineProperty(exports,"HTTP_ERROR_MESSAGE",{enumerable:!0,get:()=>a.HTTP_ERROR_MESSAGE});exports.HttpError=a.HttpError;Object.defineProperty(exports,"MultiSigner",{enumerable:!0,get:()=>a.MultiSigner});exports.STANDARD_DEVNET_ACCOUNT_CLASS_HASH=a.STANDARD_DEVNET_ACCOUNT_CLASS_HASH;exports.STRK_TOKEN_ADDRESS=a.STRK_TOKEN_ADDRESS;Object.defineProperty(exports,"TOKEN_ERROR_MESSAGES",{enumerable:!0,get:()=>a.TOKEN_ERROR_MESSAGES});exports.TXV1_ACCOUNT_CLASS_HASH=a.TXV1_ACCOUNT_CLASS_HASH;exports.TXV1_MULTISIG_CLASS_HASH=a.TXV1_MULTISIG_CLASS_HASH;exports.TXV3_ACCOUNT_CLASS_HASH=a.TXV3_ACCOUNT_CLASS_HASH;exports.TXV3_MULTISIG_CLASS_HASH=a.TXV3_MULTISIG_CLASS_HASH;exports.TokenError=a.TokenError;exports.abiEntrySchema=a.abiEntrySchema;exports.abiSchema=a.abiSchema;exports.addOwnersCalldataSchema=a.addOwnersCalldataSchema;exports.addPluginCalldataSchema=a.addPluginCalldataSchema;exports.addressInputCharactersAndLengthSchema=a.addressInputCharactersAndLengthSchema;exports.addressInputSchema=a.addressInputSchema;exports.addressOrDomainInputSchema=a.addressOrDomainInputSchema;exports.addressOrDomainSchema=a.addressOrDomainSchema;exports.addressOrEmptyUndefinedSchema=a.addressOrEmptyUndefinedSchema;exports.addressSchema=a.addressSchema;exports.addressSchemaArgentBackend=a.addressSchemaArgentBackend;exports.addressSchemaBase=a.addressSchemaBase;exports.addressSchemaLooseLength=a.addressSchemaLooseLength;exports.addressSchemaStrictLength=a.addressSchemaStrictLength;exports.airdropSchema=a.airdropSchema;exports.apiAccountTokenBalancesSchema=a.apiAccountTokenBalancesSchema;exports.apiAirdropSchema=a.apiAirdropSchema;exports.apiCollateralizedDebtPositionSchema=a.apiCollateralizedDebtPositionSchema;exports.apiCollateralizedDebtPositionsSchema=a.apiCollateralizedDebtPositionsSchema;exports.apiConcentratedLiquidityPositionSchema=a.apiConcentratedLiquidityPositionSchema;exports.apiConcentratedLiquidityPositionsSchema=a.apiConcentratedLiquidityPositionsSchema;exports.apiDefiDecompositionProduct=a.apiDefiDecompositionProduct;exports.apiDefiDecompositionProducts=a.apiDefiDecompositionProducts;exports.apiDefiDecompositionSchema=a.apiDefiDecompositionSchema;exports.apiDefiDecompositionToken=a.apiDefiDecompositionToken;exports.apiDefiPositionsSchema=a.apiDefiPositionsSchema;exports.apiPriceDataResponseSchema=a.apiPriceDataResponseSchema;exports.apiPriceDetailsSchema=a.apiPriceDetailsSchema;exports.apiTokenInfoResponseSchema=a.apiTokenInfoResponseSchema;exports.apiTokenInfoSchema=a.apiTokenInfoSchema;exports.apiTokensInfoResponseSchema=a.apiTokensInfoResponseSchema;exports.apiUnclaimedRewardsSchema=a.apiUnclaimedRewardsSchema;exports.apiWalletResponseSchema=a.apiWalletResponseSchema;exports.argentMaxFee=a.argentMaxFee;exports.argentNameSchema=a.argentNameSchema;exports.bigNumberSchema=a.bigNumberSchema;exports.bigNumberishSchema=a.bigNumberishSchema;exports.booleanToStringSchema=a.booleanToStringSchema;exports.builtinsSchema=a.builtinsSchema;exports.byteCodeSchema=a.byteCodeSchema;exports.cairo1EventSchema=a.cairo1EventSchema;exports.cairoAssemblySchema=a.cairoAssemblySchema;exports.cairoVersionSchema=a.cairoVersionSchema;exports.callDetailsSchema=a.callDetailsSchema;exports.callSchema=a.callSchema;exports.calldataSchema=a.calldataSchema;exports.changeGuardianCalldataSchema=a.changeGuardianCalldataSchema;exports.changeThresholdCalldataSchema=a.changeThresholdCalldataSchema;exports.collateralizedDebtGroupSchema=a.collateralizedDebtGroupSchema;exports.collateralizedDebtPositionSchema=a.collateralizedDebtPositionSchema;exports.collateralizedDebtPositionsSchema=a.collateralizedDebtPositionsSchema;exports.compiledContractClassSchema=a.compiledContractClassSchema;exports.compiledSierraCasmSchema=a.compiledSierraCasmSchema;exports.compiledSierraSchema=a.compiledSierraSchema;exports.compressedProgramSchema=a.compressedProgramSchema;exports.concentratedLiquidityPositionSchema=a.concentratedLiquidityPositionSchema;exports.concentratedLiquidityPositionsSchema=a.concentratedLiquidityPositionsSchema;exports.constructorCallDataSchemaC0=a.constructorCallDataSchemaC0;exports.constructorCallDataSchemaC1V1=a.constructorCallDataSchemaC1V1;exports.contractEntryPointFieldsSchema=a.contractEntryPointFieldsSchema;exports.defiDappsProductsSchema=a.defiDappsProductsSchema;exports.defiPositionSchema=a.defiPositionSchema;exports.defiPositionTypeSchema=a.defiPositionTypeSchema;exports.defiProductSchema=a.defiProductSchema;exports.defiProductsSchema=a.defiProductsSchema;exports.denyTxV3=a.denyTxV3;exports.ensureArray=a.ensureArray;exports.entryPointsByTypeSchema=a.entryPointsByTypeSchema;exports.escapeGuardianCalldataSchema=a.escapeGuardianCalldataSchema;exports.eventAbiSchema=a.eventAbiSchema;exports.eventEntrySchema=a.eventEntrySchema;exports.executeOnPluginCalldataSchema=a.executeOnPluginCalldataSchema;exports.feltSchema=a.feltSchema;exports.findTransfersAndApprovals=a.findTransfersAndApprovals;exports.formatFullAddress=a.formatFullAddress;exports.formatTruncatedAddress=a.formatTruncatedAddress;exports.formatTruncatedSignerKey=a.formatTruncatedSignerKey;exports.formatTruncatedString=a.formatTruncatedString;exports.functionAbiSchema=a.functionAbiSchema;exports.functionAbiTypeSchema=a.functionAbiTypeSchema;exports.getAddressFromArgentName=a.getAddressFromArgentName;exports.getMessageFromTrpcError=a.getMessageFromTrpcError;exports.getPrettyRpcError=a.getPrettyRpcError;exports.getSignerForMultiSigner=a.getSignerForMultiSigner;exports.hexSchema=a.hexSchema;exports.hexSchemaBase=a.hexSchemaBase;exports.implementationSchema=a.implementationSchema;exports.includesAddress=a.includesAddress;exports.inputAmountSchema=a.inputAmountSchema;exports.isAddress=a.isAddress;exports.isArgentName=a.isArgentName;exports.isEqualAddress=a.isEqualAddress;exports.isEqualArgentName=a.isEqualArgentName;exports.isEqualStarknetDomainName=a.isEqualStarknetDomainName;exports.isEqualStarknetId=a.isEqualStarknetId;exports.isStarknetDomainName=a.isStarknetDomainName;exports.isStarknetId=a.isStarknetId;exports.isValidAddress=a.isValidAddress;exports.isValidInputAmount=a.isValidInputAmount;exports.isZeroAddress=a.isZeroAddress;exports.legacyContractClassSchema=a.legacyContractClassSchema;exports.legacyEventSchema=a.legacyEventSchema;exports.modifySnjsFeeOverhead=a.modifySnjsFeeOverhead;exports.multiTypeSchema=a.multiTypeSchema;exports.normalizeAddress=a.normalizeAddress;exports.normalizeAddressOrDomain=a.normalizeAddressOrDomain;exports.normalizeArgentName=a.normalizeArgentName;exports.normalizeStarknetId=a.normalizeStarknetId;exports.parseAmount=a.parseAmount;exports.productGroupsSchema=a.productGroupsSchema;exports.programSchema=a.programSchema;exports.pythonicHintsSchema=a.pythonicHintsSchema;exports.rawArgsArraySchema=a.rawArgsArraySchema;exports.rawArgsObjectSchema=a.rawArgsObjectSchema;exports.rawArgsSchema=a.rawArgsSchema;exports.removeOwnersCalldataSchema=a.removeOwnersCalldataSchema;exports.removePluginCalldataSchema=a.removePluginCalldataSchema;exports.replaceSignerCalldataSchema=a.replaceSignerCalldataSchema;exports.sierraContractEntryPointFieldsSchema=a.sierraContractEntryPointFieldsSchema;exports.sierraEntryPointsByTypeSchema=a.sierraEntryPointsByTypeSchema;exports.sierraProgramDebugInfoSchema=a.sierraProgramDebugInfoSchema;exports.starknetDomainNameSchema=a.starknetDomainNameSchema;exports.starknetIdSchema=a.starknetIdSchema;exports.stringToBooleanSchema=a.stringToBooleanSchema;exports.structAbiSchema=a.structAbiSchema;exports.transactionReviewTransactionsSchema=a.transactionReviewTransactionsSchema;exports.transactionReviewWarningSchema=a.transactionReviewWarningSchema;exports.transferCalldataSchema=a.transferCalldataSchema;exports.trpcErrorSchema=a.trpcErrorSchema;exports.txVersionSchema=a.txVersionSchema;exports.uint256Schema=a.uint256Schema;exports.unclaimedRewardsSchema=a.unclaimedRewardsSchema;exports.useEmitEvent=a.useEmitEvent;exports.useEventEmitter=a.useEventEmitter;exports.useEventEmitterContext=a.useEventEmitterContext;exports.useEventListener=a.useEventListener;exports.useIsEventEmitterEnabled=a.useIsEventEmitterEnabled;exports.validChecksumAddressSchema=a.validChecksumAddressSchema;exports.validateAddressRangeSchema=a.validateAddressRangeSchema;exports.ARGENT_ACCOUNT_CONTRACT_CLASS_HASHES=J;exports.ARGENT_MULTISIG_CONTRACT_CLASS_HASHES=ke;exports.AddSmartAccountResponseSchema=rs;exports.AddSmartAcountRequestSchema=ss;exports.BackendAccountSchema=gn;exports.BackendNftService=ri;exports.C0_PROXY_CONTRACT_CLASS_HASHES=Nn;exports.CacheService=Ns;exports.DEFAULT_TOKEN_DECIMALS=Ee;exports.DateService=ks;exports.HTTPService=Xe;exports.KnownDappsBackendService=ha;exports.OnchainRecoveryService=Oc;exports.PRETTY_UNLIMITED=Lr;exports.ResolveNameService=ma;exports.SWRService=Rs;exports.StarknetAddressService=Ls;exports.TokenServiceWeb=Qc;exports.TransactionReviewServiceWeb=pl;exports.apiTransactionReviewActivityType=gl;exports.argentBackendNetworkIdSchema=yn;exports.argentNetworkIdSchema=wn;exports.bigDecimal=Bs;exports.buildAccountDeployTransaction=Xr;exports.buildConstructorCalldata=$n;exports.buildDummyTx=il;exports.calculateCubeRootAdjustment=Wr;exports.calculateNonLinearAdjustment=dl;exports.calculateSqrtAdjustment=ll;exports.castFeeEstimation=le;exports.checkGasFeeBalance=Jr;exports.classHashSupportsTxV3=hl;exports.convertTokenAmountToCurrencyValue=zc;exports.convertTokenUnitAmountWithDecimals=Vc;exports.dappContractSchema=zn;exports.dappLinkSchema=jn;exports.daysBetween=qa;exports.decodeBase58=cr;exports.decodeBase58Array=Ma;exports.encodeBase58=ir;exports.encodeBase58Array=Va;exports.ensureDecimals=Mc;exports.entryPointToHumanReadable=Qa;exports.equalNft=li;exports.erc20TransferTransaction=el;exports.erc721SafeTransferFromTransaction=nl;exports.erc721TransferFromTransaction=tl;exports.estimatedFeeToMaxFeeTotal=Ye;exports.estimatedFeeToMaxResourceBounds=cl;exports.estimatedFeeToTotal=De;exports.estimatedFeesToMaxFeeTotal=al;exports.estimatedFeesToTotal=ol;exports.feeTokenNeedsTxV3Support=it;exports.fetchData=vt;exports.fetcherError=Ne;exports.findImplementationForAccount=la;exports.formatAddress=_t;exports.generateAvatarImage=Re;exports.getAccountContractAddress=Ln;exports.getAccountDeploymentPayload=Hn;exports.getAccountIdentifier=Ds;exports.getAddressFromStarkName=Bn;exports.getArgentAccountClassHashes=St;exports.getArgentAccountClassHashesWithTxV3Support=Dn;exports.getArgentAccountWithMultiSignerClassHashes=Fn;exports.getBackendTimeNowSeconds=$s;exports.getBackendTimeSeconds=xn;exports.getCallFromStarkName=_n;exports.getChainIdFromNetworkId=vn;exports.getColor=or;exports.getDapplandLinkForDapp=qn;exports.getDapplandUrlForDapp=fa;exports.getDisplayWarnAndReasonForTransactionReview=Il;exports.getERC20Transactions=je;exports.getERC721Transactions=$t;exports.getEstimatedFeeFromBulkSimulation=Mr;exports.getEstimatedFeeFromSimulationAndRespectWatermarkFee=Gr;exports.getInitials=sr;exports.getLastCairo0ArgentAccountClassHash=aa;exports.getLatestArgentAccountClassHash=Pn;exports.getLatestArgentMultisigClassHash=oa;exports.getLatestLedgerAccountClassHash=ca;exports.getLedgerAccountClassHashes=ia;exports.getNFTTransferActivity=Cl;exports.getNetworkAccountImageUrl=za;exports.getNftPicture=ci;exports.getPayloadFromTransaction=qr;exports.getReviewForTransactions=Yr;exports.getSimulationTxVersionFromFeeToken=fl;exports.getStarknetIdContractAddressFromNetworkId=Cn;exports.getTokenBalance=Hr;exports.getTokens=Lc;exports.getTokensBalances=$c;exports.getTransactionReviewActivityOfType=_l;exports.getTransactionReviewHasSwap=Bl;exports.getTransactionReviewSwap=Zr;exports.getTransactionReviewWithType=Nl;exports.getTxVersionFromFeeToken=Et;exports.getTxVersionFromFeeTokenForDeclareContract=ml;exports.getUAParserResult=Ur;exports.getUint256CalldataFromBN=be;exports.getWatermarkedMaxFeeTotal=Vr;exports.hasERC20Transactions=yl;exports.hasERC721Transactions=Kr;exports.hasIncomingERC20Transactions=bl;exports.hasOutgoingERC20Transactions=El;exports.id=rr;exports.isAccountV4=is;exports.isAccountV5=as;exports.isAccountV6=os;exports.isAllowedAddressHexInputValue=Za;exports.isAllowedNumericInputValue=Ya;exports.isArgentBackendNetworkId=ds;exports.isArgentNetworkId=ls;exports.isBraveBrowser=Rc;exports.isBrowser=Le;exports.isChromeBrowser=Fc;exports.isContractDeployed=Wa;exports.isEdgeBrowser=Uc;exports.isEqualImplementation=Un;exports.isFRI=jr;exports.isFeatureEnabled=Ga;exports.isFirefoxBrowser=Pc;exports.isNumeric=K;exports.isSafariBrowser=Dc;exports.isUnlimitedAmount=$r;exports.isWEI=Ht;exports.knownDappSchema=Vn;exports.knownDappsSchema=Mn;exports.multiplyBigIntByFloat=rl;exports.nameProviderResolutionSchema=Wn;exports.nameResolutionAddressSchema=Kn;exports.nameResolutionAddressesSchema=Yn;exports.nameResolutionStarknetIdSchema=Ct;exports.nameResolutionStarknetIdsSchema=Gn;exports.nonNullable=Ka;exports.onchainRecoverySchema=Dr;exports.parseAmountValue=ur;exports.pluralise=Ja;exports.postData=Ps;exports.preferencesEndpointPayload=cs;exports.preferencesSchema=Sn;exports.prettifyCurrencyNumber=lr;exports.prettifyCurrencyValue=Gc;exports.prettifyNumber=Bt;exports.prettifyNumberConfig=rt;exports.prettifyTokenAmount=Wc;exports.prettifyTokenNumber=dr;exports.providersNamesSchema=Zn;exports.readFileAsString=Xa;exports.recoveryBodySchema=kc;exports.recoveryStatusSchema=Fr;exports.seedphraseSchema=Hc;exports.starkNameToCallDataDomain=In;exports.stripAddressZeroPadding=ar;exports.swrRefetchDisabledConfig=Hs;exports.toMax=we;exports.tokensRequireTxV3Support=sl;exports.unitToFeeTokenAddress=Ge;exports.urlWithQuery=ei;exports.useBalanceChange=Sl;exports.useCollection=ai;exports.useConditionallyEnabledSWR=Tn;exports.useDebounce=da;exports.useDebouncedValue=ua;exports.useERC20Transactions=wl;exports.useERC721Transactions=Al;exports.useHasERC721Transaction=Tl;exports.useMaxAmountTransaction=xl;exports.useNft=ii;exports.useNfts=oi;exports.useToken=jc;exports.useTransactionReview=vl;exports.useTransactionReviewV2webFetcher=kl;exports.voidify=ti;exports.withPolling=Fs;
4
+ </svg>`;return`data:image/svg+xml;base64,${btoa(o)}`},Qt=["02BBA8","29C5FF","0078A4","FFBF3D","FFA85C","FF875B","FF675C","FF5C72"],or=e=>{const t=rr(e).slice(-2),n=parseInt(t,16)%Qt.length;return Qt[n]},ar=e=>{try{return g.num.toHex(za(g.num.hexToDecimalString(e)))}catch{}return""},Va=({accountName:e,networkId:t,accountAddress:n,backgroundColor:r})=>{const s=ar(n),o=`${t}::${s}`,i=r||or(o);return Re(e,{background:i})},ir=e=>{const t=g.encode.removeHexPrefix(g.encode.sanitizeHex(g.num.toHex(e))),n=ye.hex.decode(t);return ye.base58.encode(n)},Ma=e=>e.map(ir),cr=e=>{const t=ye.base58.decode(e);return g.encode.sanitizeHex(ye.hex.encode(t))},qa=e=>e.map(cr);function Ga(e,t){const n=e.getTime(),r=t.getTime(),s=Math.abs(n-r);return Math.floor(s/(1e3*60*60*24))}const Wa=e=>(e||"false")==="true",Ka=async(e,t)=>{try{return await e.getClassHashAt(t),!0}catch{return!1}};function Za(e){return!D.isNil(e)}const Ya=e=>{const t=/^(0|0x([a-f0-9A-F]+)?)$/;return!!(e===""||t.test(e))},K=e=>!isNaN(parseFloat(e))&&isFinite(Number(e)),Ja=(e,t=16)=>{const n=new RegExp(`^[0-9]*.?[0-9]{0,${t}}$`);return e===""?!0:K(e)?!!n.test(e):!1},rt={CURRENCY:{minDecimalPlaces:2,maxDecimalPlaces:10,minDecimalSignificantDigits:2,decimalPlacesWhenZero:2,allowLeadingZerosInDecimalPart:!0},TOKEN:{minDecimalPlaces:4,maxDecimalPlaces:16,minDecimalSignificantDigits:2,decimalPlacesWhenZero:1,allowLeadingZerosInDecimalPart:!0}},lr=(e,t)=>Bt(e,{...rt.CURRENCY,...t||{}}),dr=(e,t)=>Bt(e,{...rt.TOKEN,...t||{}}),Bt=(e,{minDecimalPlaces:t,maxDecimalPlaces:n,minDecimalSignificantDigits:r,decimalPlacesWhenZero:s,allowLeadingZerosInDecimalPart:o}=rt.CURRENCY)=>{if(!K(e))return null;const i=new a.BigNumber(typeof e=="bigint"?e.toString():e);let c;const l=`0.${"".padStart(s-1,"0")}1`;if(i.lt(new a.BigNumber(l))&&!o)c=`0.${"".padStart(s,"0")}`;else if(i.gte(1))c=i.toFormat(t);else{const S=i.toFormat(n).split(".")[1].match(/^0+/),A=o&&S&&S.length?S[0].length:0,f=Math.max(A+r,t);c=i.toFormat(f)}let d=c.replace(/0+$/,"");const h=1+c.indexOf(".")+s;return d.length<h&&(d=c.substring(0,h)),d},ur=(e,t=18)=>{const n=e.replace(",",".");return!e||!K(n)?0n:a.parseUnits(n,Number(t)).value};function be(e){return g.uint256.bnToUint256(e)}const Xa=(e,t)=>`${e} ${t}${e===1?"":"s"}`,Qa=e=>new Promise((t,n)=>{const r=new FileReader;r.onload=()=>{var s;return r.result?t((s=r.result)==null?void 0:s.toString()):n(new Error("Could not read file"))},r.onerror=n,r.onabort=n.bind(null,new Error("User aborted")),r.readAsText(e)});function ei(e){try{return D.upperFirst(D.lowerCase(e))}catch{return e}}const ti=(e,t)=>{const n=new URLSearchParams(t),r=n.size?`?${n}`:"";return a.urlJoin(...a.ensureArray(e),r)};function ni(e){return(...t)=>{e(...t)}}class ri extends Error{constructor(t,n){super(`${t}::${n}`),this.name=t,this.code=n,this.name=t}}class en extends ri{constructor(t){super("BackendPaginationError",t)}}const tn=32;class si{constructor(t,n,r){this.apiBase=t,this.headers=n,this.imageOptimizationUrl=r,this.httpService=new Xe(this.headers,"json")}async getNfts(t,n,r,s=1){const o=this.normalizeAddress(r),i=a.urlJoin(this.apiBase,"pandora",t,n),c=this.pageToPageIndex(s),d=`${a.urlJoin(i,"profile",o,"nfts")}?page=${c}&size=${tn}`,h=await this.httpService.get(d),u=h.content.map(y=>this.mapItem(y,r));return{totalPages:h.totalPages,page:h.number+1,count:u.length,nfts:u}}async getCollection(t,n,r){const s=this.normalizeAddress(r),o=a.urlJoin(this.apiBase,"pandora",t,n),i=a.urlJoin(o,"collection",s),c=`${o}/collection/${s}`,[l,d]=await Promise.all([this.httpService.get(i),this.httpService.get(c)]),h=ut(l),u=d.content.map(y=>this.mapItem(y));return{...h,nfts:{totalPages:d.totalPages,page:d.number,count:u.length,data:u}}}async getNft(t,n,r,s){const o=this.normalizeAddress(r),i=a.urlJoin(this.apiBase,"pandora",t,n),c=a.urlJoin(i,"nft",o,s),l=await this.httpService.get(c);return this.mapItem(l)}async getProfileCollections(t,n,r,s=1,o=!1){const i=this.pageToPageIndex(s),c=this.normalizeAddress(r),l=a.urlJoin(this.apiBase,"pandora",t,n),d=a.urlJoin(l,"profile",c,"collections",`?page=${i}&size=${tn}`),h=await this.httpService.get(d),u=[];for(const y of h.content)if(o){const S=await this.getCollectionMetrics(t,n,y.contractAddress);u.push(ut(y,S))}else u.push(ut(y));return{totalPages:h.totalPages,page:h.number+1,count:u.length,collections:u}}async getCollectionMetrics(t,n,r){const s=this.normalizeAddress(r),o=a.urlJoin(this.apiBase,"pandora",t,n),i=a.urlJoin(o,"collection",s,"metrics");return this.httpService.get(i)}normalizeAddress(t){return a.addressSchemaArgentBackend.parse(t)}pageToPageIndex(t){if(!Number.isInteger(t))throw new en("notANumber");const n=t-1;if(n<0)throw new en("tooLow");return n}optimizeImage(t,n,r){if(!t)return;const s=new URLSearchParams({url:t,w:(n??400).toString(),h:(r??400).toString()});return`${this.imageOptimizationUrl}?${s.toString()}`}mapItem(t,n){var s;const r=t.name??t.tokenId;return{token_id:t.tokenId,contract_address:t.contractAddress,name:r,spec:"spec"in t?oi(t.spec):void 0,description:"",best_bid_order:{payment_amount:"bestListPrice"in t?BigInt(t.bestListPrice):void 0},properties:"properties"in t&&t.properties.map(o=>({key:o.key,value:o.value}))||[],image_uri:this.optimizeImage(t.imageUrls.preview)??Re(r,{background:"#15192A",color:"#ffffff"}),image_url_copy:this.optimizeImage(t.imageUrls.full)??Re(r,{background:"#15192A",color:"#ffffff"}),owner:{account_address:((s=t.owner)==null?void 0:s.address)||n},contract_name:_t(t.contractAddress)}}}function oi(e){switch(e){case"erc721":case"starknetErc721":return"ERC721";case"erc1155":case"starknetErc1155":return"ERC1155"}}function ut(e,t){return{contractAddress:a.addressSchema.parse(e.contractAddress),name:e.name||_t(e.contractAddress),description:e.description??"",imageUri:e.imageUrls.preview??Re(e.name||e.contractAddress.replace("0x",""),{background:"#15192A",color:"#ffffff"}),...t&&{owners:{total:t.numberOfItems,unique:t.uniqueOwners},...t.floorPrice&&{floorPrice:BigInt(t.floorPrice)}}}}const hr=async(e,t,n,r,s=1)=>{const o=await e.getNfts(t,n,r,s);if(s<o.totalPages){const i=await hr(e,t,n,r,o.page+1);return{...o,nfts:o.nfts.concat(i.nfts)}}return o},ai=(e,t,n,r,s)=>{const{data:o,...i}=Be(r&&[r,"nfts"],()=>r&&hr(e,t,n,r),{refreshInterval:3e5,...s});return{nfts:o==null?void 0:o.nfts,...i}},ii=(e,t,n,r,s)=>{const{data:o,...i}=Be(r&&[`${r}`,"nfts-collection"],()=>r&&e.getCollection(t,n,r),{refreshInterval:6e4,...s});return{collection:o,...i}},ci=(e,t,n,r,s,o)=>{const{data:i,...c}=Be(s&&r&&[`${r}:${s}`,"nft"],()=>s&&r?e.getNft(t,n,r,s):void 0,{refreshInterval:6e4,revalidateOnFocus:!1,revalidateOnMount:!1,...o});return{nft:i,...c}},li=({image_uri:e,image_url_copy:t})=>{if(e&&t){if(!t.startsWith("ipfs://"))return t;if(!e.startsWith("ipfs://"))return e}return t||e},di=(e,t)=>e.token_id===t.token_id&&a.isEqualAddress(e.contract_address,t.contract_address);function nn(e){if(!Number.isSafeInteger(e)||e<0)throw new Error(`Wrong positive integer: ${e}`)}function ui(e){return e instanceof Uint8Array||e!=null&&typeof e=="object"&&e.constructor.name==="Uint8Array"}function fr(e,...t){if(!ui(e))throw new Error("Expected Uint8Array");if(t.length>0&&!t.includes(e.length))throw new Error(`Expected Uint8Array of length ${t}, not of length=${e.length}`)}function Ze(e,t=!0){if(e.destroyed)throw new Error("Hash instance has been destroyed");if(t&&e.finished)throw new Error("Hash#digest() has already been called")}function mr(e,t){fr(e);const n=t.outputLen;if(e.length<n)throw new Error(`digestInto() expects output buffer of length at least ${n}`)}const Me=BigInt(2**32-1),rn=BigInt(32);function hi(e,t=!1){return t?{h:Number(e&Me),l:Number(e>>rn&Me)}:{h:Number(e>>rn&Me)|0,l:Number(e&Me)|0}}function fi(e,t=!1){let n=new Uint32Array(e.length),r=new Uint32Array(e.length);for(let s=0;s<e.length;s++){const{h:o,l:i}=hi(e[s],t);[n[s],r[s]]=[o,i]}return[n,r]}const mi=(e,t,n)=>e<<n|t>>>32-n,pi=(e,t,n)=>t<<n|e>>>32-n,gi=(e,t,n)=>t<<n-32|e>>>64-n,Si=(e,t,n)=>e<<n-32|t>>>64-n;/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */const wi=e=>new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4));function yi(e){return e instanceof Uint8Array||e!=null&&typeof e=="object"&&e.constructor.name==="Uint8Array"}const ht=e=>new DataView(e.buffer,e.byteOffset,e.byteLength),X=(e,t)=>e<<32-t|e>>>t,bi=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;if(!bi)throw new Error("Non little-endian hardware is not supported");function pr(e){if(typeof e!="string")throw new Error(`utf8ToBytes expected string, got ${typeof e}`);return new Uint8Array(new TextEncoder().encode(e))}function Nt(e){if(typeof e=="string"&&(e=pr(e)),!yi(e))throw new Error(`expected Uint8Array, got ${typeof e}`);return e}let gr=class{clone(){return this._cloneInto()}};function Sr(e){const t=r=>e().update(Nt(r)).digest(),n=e();return t.outputLen=n.outputLen,t.blockLen=n.blockLen,t.create=()=>e(),t}const[wr,yr,br]=[[],[],[]],Ei=BigInt(0),Ce=BigInt(1),Ai=BigInt(2),Ti=BigInt(7),vi=BigInt(256),xi=BigInt(113);for(let e=0,t=Ce,n=1,r=0;e<24;e++){[n,r]=[r,(2*n+3*r)%5],wr.push(2*(5*r+n)),yr.push((e+1)*(e+2)/2%64);let s=Ei;for(let o=0;o<7;o++)t=(t<<Ce^(t>>Ti)*xi)%vi,t&Ai&&(s^=Ce<<(Ce<<BigInt(o))-Ce);br.push(s)}const[Ii,Ci]=fi(br,!0),sn=(e,t,n)=>n>32?gi(e,t,n):mi(e,t,n),on=(e,t,n)=>n>32?Si(e,t,n):pi(e,t,n);function _i(e,t=24){const n=new Uint32Array(10);for(let r=24-t;r<24;r++){for(let i=0;i<10;i++)n[i]=e[i]^e[i+10]^e[i+20]^e[i+30]^e[i+40];for(let i=0;i<10;i+=2){const c=(i+8)%10,l=(i+2)%10,d=n[l],h=n[l+1],u=sn(d,h,1)^n[c],y=on(d,h,1)^n[c+1];for(let S=0;S<50;S+=10)e[i+S]^=u,e[i+S+1]^=y}let s=e[2],o=e[3];for(let i=0;i<24;i++){const c=yr[i],l=sn(s,o,c),d=on(s,o,c),h=wr[i];s=e[h],o=e[h+1],e[h]=l,e[h+1]=d}for(let i=0;i<50;i+=10){for(let c=0;c<10;c++)n[c]=e[i+c];for(let c=0;c<10;c++)e[i+c]^=~n[(c+2)%10]&n[(c+4)%10]}e[0]^=Ii[r],e[1]^=Ci[r]}n.fill(0)}class kt extends gr{constructor(t,n,r,s=!1,o=24){if(super(),this.blockLen=t,this.suffix=n,this.outputLen=r,this.enableXOF=s,this.rounds=o,this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,nn(r),0>=this.blockLen||this.blockLen>=200)throw new Error("Sha3 supports only keccak-f1600 function");this.state=new Uint8Array(200),this.state32=wi(this.state)}keccak(){_i(this.state32,this.rounds),this.posOut=0,this.pos=0}update(t){Ze(this);const{blockLen:n,state:r}=this;t=Nt(t);const s=t.length;for(let o=0;o<s;){const i=Math.min(n-this.pos,s-o);for(let c=0;c<i;c++)r[this.pos++]^=t[o++];this.pos===n&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;const{state:t,suffix:n,pos:r,blockLen:s}=this;t[r]^=n,n&128&&r===s-1&&this.keccak(),t[s-1]^=128,this.keccak()}writeInto(t){Ze(this,!1),fr(t),this.finish();const n=this.state,{blockLen:r}=this;for(let s=0,o=t.length;s<o;){this.posOut>=r&&this.keccak();const i=Math.min(r-this.posOut,o-s);t.set(n.subarray(this.posOut,this.posOut+i),s),this.posOut+=i,s+=i}return t}xofInto(t){if(!this.enableXOF)throw new Error("XOF is not possible for this instance");return this.writeInto(t)}xof(t){return nn(t),this.xofInto(new Uint8Array(t))}digestInto(t){if(mr(t,this),this.finished)throw new Error("digest() was already called");return this.writeInto(t),this.destroy(),t}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,this.state.fill(0)}_cloneInto(t){const{blockLen:n,suffix:r,outputLen:s,rounds:o,enableXOF:i}=this;return t||(t=new kt(n,r,s,i,o)),t.state32.set(this.state32),t.pos=this.pos,t.posOut=this.posOut,t.finished=this.finished,t.rounds=o,t.suffix=r,t.outputLen=s,t.enableXOF=i,t.destroyed=this.destroyed,t}}const Bi=(e,t,n)=>Sr(()=>new kt(t,e,n)),Ni=Bi(1,136,256/8);function ki(e,t,n,r){if(typeof e.setBigUint64=="function")return e.setBigUint64(t,n,r);const s=BigInt(32),o=BigInt(4294967295),i=Number(n>>s&o),c=Number(n&o),l=r?4:0,d=r?0:4;e.setUint32(t+l,i,r),e.setUint32(t+d,c,r)}class Oi extends gr{constructor(t,n,r,s){super(),this.blockLen=t,this.outputLen=n,this.padOffset=r,this.isLE=s,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(t),this.view=ht(this.buffer)}update(t){Ze(this);const{view:n,buffer:r,blockLen:s}=this;t=Nt(t);const o=t.length;for(let i=0;i<o;){const c=Math.min(s-this.pos,o-i);if(c===s){const l=ht(t);for(;s<=o-i;i+=s)this.process(l,i);continue}r.set(t.subarray(i,i+c),this.pos),this.pos+=c,i+=c,this.pos===s&&(this.process(n,0),this.pos=0)}return this.length+=t.length,this.roundClean(),this}digestInto(t){Ze(this),mr(t,this),this.finished=!0;const{buffer:n,view:r,blockLen:s,isLE:o}=this;let{pos:i}=this;n[i++]=128,this.buffer.subarray(i).fill(0),this.padOffset>s-i&&(this.process(r,0),i=0);for(let u=i;u<s;u++)n[u]=0;ki(r,s-8,BigInt(this.length*8),o),this.process(r,0);const c=ht(t),l=this.outputLen;if(l%4)throw new Error("_sha2: outputLen should be aligned to 32bit");const d=l/4,h=this.get();if(d>h.length)throw new Error("_sha2: outputLen bigger than state");for(let u=0;u<d;u++)c.setUint32(4*u,h[u],o)}digest(){const{buffer:t,outputLen:n}=this;this.digestInto(t);const r=t.slice(0,n);return this.destroy(),r}_cloneInto(t){t||(t=new this.constructor),t.set(...this.get());const{blockLen:n,buffer:r,length:s,finished:o,destroyed:i,pos:c}=this;return t.length=s,t.pos=c,t.finished=o,t.destroyed=i,s%n&&t.buffer.set(r),t}}const Ri=(e,t,n)=>e&t^~e&n,Pi=(e,t,n)=>e&t^e&n^t&n,Fi=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]),se=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),oe=new Uint32Array(64);class Di extends Oi{constructor(){super(64,32,8,!1),this.A=se[0]|0,this.B=se[1]|0,this.C=se[2]|0,this.D=se[3]|0,this.E=se[4]|0,this.F=se[5]|0,this.G=se[6]|0,this.H=se[7]|0}get(){const{A:t,B:n,C:r,D:s,E:o,F:i,G:c,H:l}=this;return[t,n,r,s,o,i,c,l]}set(t,n,r,s,o,i,c,l){this.A=t|0,this.B=n|0,this.C=r|0,this.D=s|0,this.E=o|0,this.F=i|0,this.G=c|0,this.H=l|0}process(t,n){for(let u=0;u<16;u++,n+=4)oe[u]=t.getUint32(n,!1);for(let u=16;u<64;u++){const y=oe[u-15],S=oe[u-2],A=X(y,7)^X(y,18)^y>>>3,f=X(S,17)^X(S,19)^S>>>10;oe[u]=f+oe[u-7]+A+oe[u-16]|0}let{A:r,B:s,C:o,D:i,E:c,F:l,G:d,H:h}=this;for(let u=0;u<64;u++){const y=X(c,6)^X(c,11)^X(c,25),S=h+y+Ri(c,l,d)+Fi[u]+oe[u]|0,f=(X(r,2)^X(r,13)^X(r,22))+Pi(r,s,o)|0;h=d,d=l,l=c,c=i+S|0,i=o,o=s,s=r,r=S+f|0}r=r+this.A|0,s=s+this.B|0,o=o+this.C|0,i=i+this.D|0,c=c+this.E|0,l=l+this.F|0,d=d+this.G|0,h=h+this.H|0,this.set(r,s,o,i,c,l,d,h)}roundClean(){oe.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}}const Er=Sr(()=>new Di);/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const Ar=BigInt(0),st=BigInt(1),Ui=BigInt(2),ot=e=>e instanceof Uint8Array,Hi=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function ue(e){if(!ot(e))throw new Error("Uint8Array expected");let t="";for(let n=0;n<e.length;n++)t+=Hi[e[n]];return t}function Tr(e){const t=e.toString(16);return t.length&1?`0${t}`:t}function Ot(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);return BigInt(e===""?"0":`0x${e}`)}function he(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);if(e.length%2)throw new Error("hex string is invalid: unpadded "+e.length);const t=new Uint8Array(e.length/2);for(let n=0;n<t.length;n++){const r=n*2,s=e.slice(r,r+2),o=Number.parseInt(s,16);if(Number.isNaN(o)||o<0)throw new Error("invalid byte sequence");t[n]=o}return t}function Y(e){return Ot(ue(e))}function Rt(e){if(!ot(e))throw new Error("Uint8Array expected");return Ot(ue(Uint8Array.from(e).reverse()))}const Se=(e,t)=>he(e.toString(16).padStart(t*2,"0")),vr=(e,t)=>Se(e,t).reverse(),$i=e=>he(Tr(e));function V(e,t,n){let r;if(typeof t=="string")try{r=he(t)}catch(o){throw new Error(`${e} must be valid hex string, got "${t}". Cause: ${o}`)}else if(ot(t))r=Uint8Array.from(t);else throw new Error(`${e} must be hex string or Uint8Array`);const s=r.length;if(typeof n=="number"&&s!==n)throw new Error(`${e} expected ${n} bytes, got ${s}`);return r}function Pe(...e){const t=new Uint8Array(e.reduce((r,s)=>r+s.length,0));let n=0;return e.forEach(r=>{if(!ot(r))throw new Error("Uint8Array expected");t.set(r,n),n+=r.length}),t}function Li(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 ji(e){if(typeof e!="string")throw new Error(`utf8ToBytes expected string, got ${typeof e}`);return new TextEncoder().encode(e)}function zi(e){let t;for(t=0;e>Ar;e>>=st,t+=1);return t}const Vi=(e,t)=>e>>BigInt(t)&st,Mi=(e,t,n)=>e|(n?st:Ar)<<BigInt(t),at=e=>(Ui<<BigInt(e-1))-st,ft=e=>new Uint8Array(e),an=e=>Uint8Array.from(e);function xr(e,t,n){if(typeof e!="number"||e<2)throw new Error("hashLen must be a number");if(typeof t!="number"||t<2)throw new Error("qByteLen must be a number");if(typeof n!="function")throw new Error("hmacFn must be a function");let r=ft(e),s=ft(e),o=0;const i=()=>{r.fill(1),s.fill(0),o=0},c=(...u)=>n(s,r,...u),l=(u=ft())=>{s=c(an([0]),u),r=c(),u.length!==0&&(s=c(an([1]),u),r=c())},d=()=>{if(o++>=1e3)throw new Error("drbg: tried 1000 values");let u=0;const y=[];for(;u<t;){r=c();const S=r.slice();y.push(S),u+=r.length}return Pe(...y)};return(u,y)=>{i(),l(u);let S;for(;!(S=y(d()));)l();return i(),S}}const qi={bigint:e=>typeof e=="bigint",function:e=>typeof e=="function",boolean:e=>typeof e=="boolean",string:e=>typeof e=="string",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 $e(e,t,n={}){const r=(s,o,i)=>{const c=qi[o];if(typeof c!="function")throw new Error(`Invalid validator "${o}", expected function`);const l=e[s];if(!(i&&l===void 0)&&!c(l,e))throw new Error(`Invalid param ${String(s)}=${l} (${typeof l}), expected ${o}`)};for(const[s,o]of Object.entries(t))r(s,o,!1);for(const[s,o]of Object.entries(n))r(s,o,!0);return e}const Gi=Object.freeze(Object.defineProperty({__proto__:null,bitGet:Vi,bitLen:zi,bitMask:at,bitSet:Mi,bytesToHex:ue,bytesToNumberBE:Y,bytesToNumberLE:Rt,concatBytes:Pe,createHmacDrbg:xr,ensureBytes:V,equalBytes:Li,hexToBytes:he,hexToNumber:Ot,numberToBytesBE:Se,numberToBytesLE:vr,numberToHexUnpadded:Tr,numberToVarBytesBE:$i,utf8ToBytes:ji,validateObject:$e},Symbol.toStringTag,{value:"Module"}));/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const U=BigInt(0),F=BigInt(1),ie=BigInt(2),Wi=BigInt(3),wt=BigInt(4),cn=BigInt(5),ln=BigInt(8);BigInt(9);BigInt(16);function M(e,t){const n=e%t;return n>=U?n:t+n}function Ki(e,t,n){if(n<=U||t<U)throw new Error("Expected power/modulo > 0");if(n===F)return U;let r=F;for(;t>U;)t&F&&(r=r*e%n),e=e*e%n,t>>=F;return r}function yt(e,t){if(e===U||t<=U)throw new Error(`invert: expected positive integers, got n=${e} mod=${t}`);let n=M(e,t),r=t,s=U,o=F;for(;n!==U;){const c=r/n,l=r%n,d=s-o*c;r=n,n=l,s=o,o=d}if(r!==F)throw new Error("invert: does not exist");return M(s,t)}function Zi(e){const t=(e-F)/ie;let n,r,s;for(n=e-F,r=0;n%ie===U;n/=ie,r++);for(s=ie;s<e&&Ki(s,t,e)!==e-F;s++);if(r===1){const i=(e+F)/wt;return function(l,d){const h=l.pow(d,i);if(!l.eql(l.sqr(h),d))throw new Error("Cannot find square root");return h}}const o=(n+F)/ie;return function(c,l){if(c.pow(l,t)===c.neg(c.ONE))throw new Error("Cannot find square root");let d=r,h=c.pow(c.mul(c.ONE,s),n),u=c.pow(l,o),y=c.pow(l,n);for(;!c.eql(y,c.ONE);){if(c.eql(y,c.ZERO))return c.ZERO;let S=1;for(let f=c.sqr(y);S<d&&!c.eql(f,c.ONE);S++)f=c.sqr(f);const A=c.pow(h,F<<BigInt(d-S-1));h=c.sqr(A),u=c.mul(u,A),y=c.mul(y,h),d=S}return u}}function Yi(e){if(e%wt===Wi){const t=(e+F)/wt;return function(r,s){const o=r.pow(s,t);if(!r.eql(r.sqr(o),s))throw new Error("Cannot find square root");return o}}if(e%ln===cn){const t=(e-cn)/ln;return function(r,s){const o=r.mul(s,ie),i=r.pow(o,t),c=r.mul(s,i),l=r.mul(r.mul(c,ie),i),d=r.mul(c,r.sub(l,r.ONE));if(!r.eql(r.sqr(d),s))throw new Error("Cannot find square root");return d}}return Zi(e)}const Ji=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function Pt(e){const t={ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"},n=Ji.reduce((r,s)=>(r[s]="function",r),t);return $e(e,n)}function Ir(e,t,n){if(n<U)throw new Error("Expected power > 0");if(n===U)return e.ONE;if(n===F)return t;let r=e.ONE,s=t;for(;n>U;)n&F&&(r=e.mul(r,s)),s=e.sqr(s),n>>=F;return r}function Xi(e,t){const n=new Array(t.length),r=t.reduce((o,i,c)=>e.is0(i)?o:(n[c]=o,e.mul(o,i)),e.ONE),s=e.inv(r);return t.reduceRight((o,i,c)=>e.is0(i)?o:(n[c]=e.mul(o,n[c]),e.mul(o,i)),s),n}function Ft(e,t){const n=t!==void 0?t:e.toString(2).length,r=Math.ceil(n/8);return{nBitLength:n,nByteLength:r}}function Dt(e,t,n=!1,r={}){if(e<=U)throw new Error(`Expected Fp ORDER > 0, got ${e}`);const{nBitLength:s,nByteLength:o}=Ft(e,t);if(o>2048)throw new Error("Field lengths over 2048 bytes are not supported");const i=Yi(e),c=Object.freeze({ORDER:e,BITS:s,BYTES:o,MASK:at(s),ZERO:U,ONE:F,create:l=>M(l,e),isValid:l=>{if(typeof l!="bigint")throw new Error(`Invalid field element: expected bigint, got ${typeof l}`);return U<=l&&l<e},is0:l=>l===U,isOdd:l=>(l&F)===F,neg:l=>M(-l,e),eql:(l,d)=>l===d,sqr:l=>M(l*l,e),add:(l,d)=>M(l+d,e),sub:(l,d)=>M(l-d,e),mul:(l,d)=>M(l*d,e),pow:(l,d)=>Ir(c,l,d),div:(l,d)=>M(l*yt(d,e),e),sqrN:l=>l*l,addN:(l,d)=>l+d,subN:(l,d)=>l-d,mulN:(l,d)=>l*d,inv:l=>yt(l,e),sqrt:r.sqrt||(l=>i(c,l)),invertBatch:l=>Xi(c,l),cmov:(l,d,h)=>h?d:l,toBytes:l=>n?vr(l,o):Se(l,o),fromBytes:l=>{if(l.length!==o)throw new Error(`Fp.fromBytes: expected ${o}, got ${l.length}`);return n?Rt(l):Y(l)}});return Object.freeze(c)}function Qi(e,t,n=!1){e=V("privateHash",e);const r=e.length,s=Ft(t).nByteLength+8;if(s<24||r<s||r>1024)throw new Error(`hashToPrivateScalar: expected ${s}-1024 bytes of input, got ${r}`);const o=n?Rt(e):Y(e);return M(o,t-F)+F}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */function ec(e){const{Fp:t}=e;Pt(t);for(const l of["t","roundsFull","roundsPartial"])if(typeof e[l]!="number"||!Number.isSafeInteger(e[l]))throw new Error(`Poseidon: invalid param ${l}=${e[l]} (${typeof e[l]})`);if(e.reversePartialPowIdx!==void 0&&typeof e.reversePartialPowIdx!="boolean")throw new Error(`Poseidon: invalid param reversePartialPowIdx=${e.reversePartialPowIdx}`);let n=e.sboxPower;if(n===void 0&&(n=5),typeof n!="number"||!Number.isSafeInteger(n))throw new Error(`Poseidon wrong sboxPower=${n}`);const r=BigInt(n);let s=l=>Ir(t,l,r);if(n===3?s=l=>t.mul(t.sqrN(l),l):n===5&&(s=l=>t.mul(t.sqrN(t.sqrN(l)),l)),e.roundsFull%2!==0)throw new Error(`Poseidon roundsFull is not even: ${e.roundsFull}`);const o=e.roundsFull+e.roundsPartial;if(!Array.isArray(e.roundConstants)||e.roundConstants.length!==o)throw new Error("Poseidon: wrong round constants");const i=e.roundConstants.map(l=>{if(!Array.isArray(l)||l.length!==e.t)throw new Error(`Poseidon wrong round constants: ${l}`);return l.map(d=>{if(typeof d!="bigint"||!t.isValid(d))throw new Error(`Poseidon wrong round constant=${d}`);return t.create(d)})});if(!Array.isArray(e.mds)||e.mds.length!==e.t)throw new Error("Poseidon: wrong MDS matrix");const c=e.mds.map(l=>{if(!Array.isArray(l)||l.length!==e.t)throw new Error(`Poseidon MDS matrix row: ${l}`);return l.map(d=>{if(typeof d!="bigint")throw new Error(`Poseidon MDS matrix value=${d}`);return t.create(d)})});return Object.freeze({...e,rounds:o,sboxFn:s,roundConstants:i,mds:c})}function tc(e){const{t,Fp:n,rounds:r,sboxFn:s,reversePartialPowIdx:o}=ec(e),i=Math.floor(e.roundsFull/2),c=o?t-1:0,l=(h,u,y)=>(h=h.map((S,A)=>n.add(S,e.roundConstants[y][A])),u?h=h.map(S=>s(S)):h[c]=s(h[c]),h=e.mds.map(S=>S.reduce((A,f,w)=>n.add(A,n.mulN(f,h[w])),n.ZERO)),h),d=function(u){if(!Array.isArray(u)||u.length!==t)throw new Error(`Poseidon: wrong values (expected array of bigints with length ${t})`);u=u.map(S=>{if(typeof S!="bigint")throw new Error(`Poseidon: wrong value=${S} (${typeof S})`);return n.create(S)});let y=0;for(let S=0;S<i;S++)u=l(u,!0,y++);for(let S=0;S<e.roundsPartial;S++)u=l(u,!1,y++);for(let S=0;S<i;S++)u=l(u,!0,y++);if(y!==r)throw new Error(`Poseidon: wrong number of rounds: last round=${y}, total=${r}`);return u};return d.roundConstants=e.roundConstants,d}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const nc=BigInt(0),mt=BigInt(1);function rc(e,t){const n=(s,o)=>{const i=o.negate();return s?i:o},r=s=>{const o=Math.ceil(t/s)+1,i=2**(s-1);return{windows:o,windowSize:i}};return{constTimeNegate:n,unsafeLadder(s,o){let i=e.ZERO,c=s;for(;o>nc;)o&mt&&(i=i.add(c)),c=c.double(),o>>=mt;return i},precomputeWindow(s,o){const{windows:i,windowSize:c}=r(o),l=[];let d=s,h=d;for(let u=0;u<i;u++){h=d,l.push(h);for(let y=1;y<c;y++)h=h.add(d),l.push(h);d=h.double()}return l},wNAF(s,o,i){const{windows:c,windowSize:l}=r(s);let d=e.ZERO,h=e.BASE;const u=BigInt(2**s-1),y=2**s,S=BigInt(s);for(let A=0;A<c;A++){const f=A*l;let w=Number(i&u);i>>=S,w>l&&(w-=y,i+=mt);const E=f,T=f+Math.abs(w)-1,x=A%2!==0,N=w<0;w===0?h=h.add(n(x,o[E])):d=d.add(n(N,o[T]))}return{p:d,f:h}},wNAFCached(s,o,i,c){const l=s._WINDOW_SIZE||1;let d=o.get(s);return d||(d=this.precomputeWindow(s,l),l!==1&&o.set(s,c(d))),this.wNAF(l,d,i)}}}function Cr(e){return Pt(e.Fp),$e(e,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...Ft(e.n,e.nBitLength),...e,p:e.Fp.ORDER})}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */function sc(e){const t=Cr(e);$e(t,{a:"field",b:"field"},{allowedPrivateKeyLengths:"array",wrapPrivateKey:"boolean",isTorsionFree:"function",clearCofactor:"function",allowInfinityPoint:"boolean",fromBytes:"function",toBytes:"function"});const{endo:n,Fp:r,a:s}=t;if(n){if(!r.eql(s,r.ZERO))throw new 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 new Error("Expected endomorphism with beta: bigint and splitScalar: function")}return Object.freeze({...t})}const{bytesToNumberBE:oc,hexToBytes:ac}=Gi,ce={Err:class extends Error{constructor(t=""){super(t)}},_parseInt(e){const{Err:t}=ce;if(e.length<2||e[0]!==2)throw new t("Invalid signature integer tag");const 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:oc(r),l:e.subarray(n+2)}},toSig(e){const{Err:t}=ce,n=typeof e=="string"?ac(e):e;if(!(n instanceof Uint8Array))throw new 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");const{d:s,l:o}=ce._parseInt(n.subarray(2)),{d:i,l:c}=ce._parseInt(o);if(c.length)throw new t("Invalid signature: left bytes after parsing");return{r:s,s:i}},hexFromSig(e){const t=d=>Number.parseInt(d[0],16)&8?"00"+d:d,n=d=>{const h=d.toString(16);return h.length&1?`0${h}`:h},r=t(n(e.s)),s=t(n(e.r)),o=r.length/2,i=s.length/2,c=n(o),l=n(i);return`30${n(i+o+4)}02${l}${s}02${c}${r}`}},Q=BigInt(0),W=BigInt(1);BigInt(2);const dn=BigInt(3);BigInt(4);function ic(e){const t=sc(e),{Fp:n}=t,r=t.toBytes||((A,f,w)=>{const E=f.toAffine();return Pe(Uint8Array.from([4]),n.toBytes(E.x),n.toBytes(E.y))}),s=t.fromBytes||(A=>{const f=A.subarray(1),w=n.fromBytes(f.subarray(0,n.BYTES)),E=n.fromBytes(f.subarray(n.BYTES,2*n.BYTES));return{x:w,y:E}});function o(A){const{a:f,b:w}=t,E=n.sqr(A),T=n.mul(E,A);return n.add(n.add(T,n.mul(A,f)),w)}if(!n.eql(n.sqr(t.Gy),o(t.Gx)))throw new Error("bad generator point: equation left != right");function i(A){return typeof A=="bigint"&&Q<A&&A<t.n}function c(A){if(!i(A))throw new Error("Expected valid bigint: 0 < bigint < curve.n")}function l(A){const{allowedPrivateKeyLengths:f,nByteLength:w,wrapPrivateKey:E,n:T}=t;if(f&&typeof A!="bigint"){if(A instanceof Uint8Array&&(A=ue(A)),typeof A!="string"||!f.includes(A.length))throw new Error("Invalid key");A=A.padStart(w*2,"0")}let x;try{x=typeof A=="bigint"?A:Y(V("private key",A,w))}catch{throw new Error(`private key must be ${w} bytes, hex or bigint, not ${typeof A}`)}return E&&(x=M(x,T)),c(x),x}const d=new Map;function h(A){if(!(A instanceof u))throw new Error("ProjectivePoint expected")}class u{constructor(f,w,E){if(this.px=f,this.py=w,this.pz=E,f==null||!n.isValid(f))throw new Error("x required");if(w==null||!n.isValid(w))throw new Error("y required");if(E==null||!n.isValid(E))throw new Error("z required")}static fromAffine(f){const{x:w,y:E}=f||{};if(!f||!n.isValid(w)||!n.isValid(E))throw new Error("invalid affine point");if(f instanceof u)throw new Error("projective point not allowed");const T=x=>n.eql(x,n.ZERO);return T(w)&&T(E)?u.ZERO:new u(w,E,n.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(f){const w=n.invertBatch(f.map(E=>E.pz));return f.map((E,T)=>E.toAffine(w[T])).map(u.fromAffine)}static fromHex(f){const w=u.fromAffine(s(V("pointHex",f)));return w.assertValidity(),w}static fromPrivateKey(f){return u.BASE.multiply(l(f))}_setWindowSize(f){this._WINDOW_SIZE=f,d.delete(this)}assertValidity(){if(this.is0()){if(t.allowInfinityPoint)return;throw new Error("bad point: ZERO")}const{x:f,y:w}=this.toAffine();if(!n.isValid(f)||!n.isValid(w))throw new Error("bad point: x or y not FE");const E=n.sqr(w),T=o(f);if(!n.eql(E,T))throw new Error("bad point: equation left != right");if(!this.isTorsionFree())throw new Error("bad point: not in prime-order subgroup")}hasEvenY(){const{y:f}=this.toAffine();if(n.isOdd)return!n.isOdd(f);throw new Error("Field doesn't support isOdd")}equals(f){h(f);const{px:w,py:E,pz:T}=this,{px:x,py:N,pz:B}=f,v=n.eql(n.mul(w,B),n.mul(x,T)),I=n.eql(n.mul(E,B),n.mul(N,T));return v&&I}negate(){return new u(this.px,n.neg(this.py),this.pz)}double(){const{a:f,b:w}=t,E=n.mul(w,dn),{px:T,py:x,pz:N}=this;let B=n.ZERO,v=n.ZERO,I=n.ZERO,_=n.mul(T,T),q=n.mul(x,x),P=n.mul(N,N),k=n.mul(T,x);return k=n.add(k,k),I=n.mul(T,N),I=n.add(I,I),B=n.mul(f,I),v=n.mul(E,P),v=n.add(B,v),B=n.sub(q,v),v=n.add(q,v),v=n.mul(B,v),B=n.mul(k,B),I=n.mul(E,I),P=n.mul(f,P),k=n.sub(_,P),k=n.mul(f,k),k=n.add(k,I),I=n.add(_,_),_=n.add(I,_),_=n.add(_,P),_=n.mul(_,k),v=n.add(v,_),P=n.mul(x,N),P=n.add(P,P),_=n.mul(P,k),B=n.sub(B,_),I=n.mul(P,q),I=n.add(I,I),I=n.add(I,I),new u(B,v,I)}add(f){h(f);const{px:w,py:E,pz:T}=this,{px:x,py:N,pz:B}=f;let v=n.ZERO,I=n.ZERO,_=n.ZERO;const q=t.a,P=n.mul(t.b,dn);let k=n.mul(w,x),L=n.mul(E,N),j=n.mul(T,B),ee=n.add(w,E),p=n.add(x,N);ee=n.mul(ee,p),p=n.add(k,L),ee=n.sub(ee,p),p=n.add(w,T);let b=n.add(x,B);return p=n.mul(p,b),b=n.add(k,j),p=n.sub(p,b),b=n.add(E,T),v=n.add(N,B),b=n.mul(b,v),v=n.add(L,j),b=n.sub(b,v),_=n.mul(q,p),v=n.mul(P,j),_=n.add(v,_),v=n.sub(L,_),_=n.add(L,_),I=n.mul(v,_),L=n.add(k,k),L=n.add(L,k),j=n.mul(q,j),p=n.mul(P,p),L=n.add(L,j),j=n.sub(k,j),j=n.mul(q,j),p=n.add(p,j),k=n.mul(L,p),I=n.add(I,k),k=n.mul(b,p),v=n.mul(ee,v),v=n.sub(v,k),k=n.mul(ee,L),_=n.mul(b,_),_=n.add(_,k),new u(v,I,_)}subtract(f){return this.add(f.negate())}is0(){return this.equals(u.ZERO)}wNAF(f){return S.wNAFCached(this,d,f,w=>{const E=n.invertBatch(w.map(T=>T.pz));return w.map((T,x)=>T.toAffine(E[x])).map(u.fromAffine)})}multiplyUnsafe(f){const w=u.ZERO;if(f===Q)return w;if(c(f),f===W)return this;const{endo:E}=t;if(!E)return S.unsafeLadder(this,f);let{k1neg:T,k1:x,k2neg:N,k2:B}=E.splitScalar(f),v=w,I=w,_=this;for(;x>Q||B>Q;)x&W&&(v=v.add(_)),B&W&&(I=I.add(_)),_=_.double(),x>>=W,B>>=W;return T&&(v=v.negate()),N&&(I=I.negate()),I=new u(n.mul(I.px,E.beta),I.py,I.pz),v.add(I)}multiply(f){c(f);let w=f,E,T;const{endo:x}=t;if(x){const{k1neg:N,k1:B,k2neg:v,k2:I}=x.splitScalar(w);let{p:_,f:q}=this.wNAF(B),{p:P,f:k}=this.wNAF(I);_=S.constTimeNegate(N,_),P=S.constTimeNegate(v,P),P=new u(n.mul(P.px,x.beta),P.py,P.pz),E=_.add(P),T=q.add(k)}else{const{p:N,f:B}=this.wNAF(w);E=N,T=B}return u.normalizeZ([E,T])[0]}multiplyAndAddUnsafe(f,w,E){const T=u.BASE,x=(B,v)=>v===Q||v===W||!B.equals(T)?B.multiplyUnsafe(v):B.multiply(v),N=x(this,w).add(x(f,E));return N.is0()?void 0:N}toAffine(f){const{px:w,py:E,pz:T}=this,x=this.is0();f==null&&(f=x?n.ONE:n.inv(T));const N=n.mul(w,f),B=n.mul(E,f),v=n.mul(T,f);if(x)return{x:n.ZERO,y:n.ZERO};if(!n.eql(v,n.ONE))throw new Error("invZ was invalid");return{x:N,y:B}}isTorsionFree(){const{h:f,isTorsionFree:w}=t;if(f===W)return!0;if(w)return w(u,this);throw new Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){const{h:f,clearCofactor:w}=t;return f===W?this:w?w(u,this):this.multiplyUnsafe(t.h)}toRawBytes(f=!0){return this.assertValidity(),r(u,this,f)}toHex(f=!0){return ue(this.toRawBytes(f))}}u.BASE=new u(t.Gx,t.Gy,n.ONE),u.ZERO=new u(n.ZERO,n.ONE,n.ZERO);const y=t.nBitLength,S=rc(u,t.endo?Math.ceil(y/2):y);return{CURVE:t,ProjectivePoint:u,normPrivateKeyToScalar:l,weierstrassEquation:o,isWithinCurveOrder:i}}function cc(e){const t=Cr(e);return $e(t,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...t})}function lc(e){const t=cc(e),{Fp:n,n:r}=t,s=n.BYTES+1,o=2*n.BYTES+1;function i(p){return Q<p&&p<n.ORDER}function c(p){return M(p,r)}function l(p){return yt(p,r)}const{ProjectivePoint:d,normPrivateKeyToScalar:h,weierstrassEquation:u,isWithinCurveOrder:y}=ic({...t,toBytes(p,b,C){const R=b.toAffine(),O=n.toBytes(R.x),H=Pe;return C?H(Uint8Array.from([b.hasEvenY()?2:3]),O):H(Uint8Array.from([4]),O,n.toBytes(R.y))},fromBytes(p){const b=p.length,C=p[0],R=p.subarray(1);if(b===s&&(C===2||C===3)){const O=Y(R);if(!i(O))throw new Error("Point is not on curve");const H=u(O);let G=n.sqrt(H);const z=(G&W)===W;return(C&1)===1!==z&&(G=n.neg(G)),{x:O,y:G}}else if(b===o&&C===4){const O=n.fromBytes(R.subarray(0,n.BYTES)),H=n.fromBytes(R.subarray(n.BYTES,2*n.BYTES));return{x:O,y:H}}else throw new Error(`Point of length ${b} was invalid. Expected ${s} compressed bytes or ${o} uncompressed bytes`)}}),S=p=>ue(Se(p,t.nByteLength));function A(p){const b=r>>W;return p>b}function f(p){return A(p)?c(-p):p}const w=(p,b,C)=>Y(p.slice(b,C));class E{constructor(b,C,R){this.r=b,this.s=C,this.recovery=R,this.assertValidity()}static fromCompact(b){const C=t.nByteLength;return b=V("compactSignature",b,C*2),new E(w(b,0,C),w(b,C,2*C))}static fromDER(b){const{r:C,s:R}=ce.toSig(V("DER",b));return new E(C,R)}assertValidity(){if(!y(this.r))throw new Error("r must be 0 < r < CURVE.n");if(!y(this.s))throw new Error("s must be 0 < s < CURVE.n")}addRecoveryBit(b){return new E(this.r,this.s,b)}recoverPublicKey(b){const{r:C,s:R,recovery:O}=this,H=I(V("msgHash",b));if(O==null||![0,1,2,3].includes(O))throw new Error("recovery id invalid");const G=O===2||O===3?C+t.n:C;if(G>=n.ORDER)throw new Error("recovery id 2 or 3 invalid");const z=O&1?"03":"02",te=d.fromHex(z+S(G)),ne=l(G),fe=c(-H*ne),ve=c(R*ne),re=d.BASE.multiplyAndAddUnsafe(te,fe,ve);if(!re)throw new Error("point at infinify");return re.assertValidity(),re}hasHighS(){return A(this.s)}normalizeS(){return this.hasHighS()?new E(this.r,c(-this.s),this.recovery):this}toDERRawBytes(){return he(this.toDERHex())}toDERHex(){return ce.hexFromSig({r:this.r,s:this.s})}toCompactRawBytes(){return he(this.toCompactHex())}toCompactHex(){return S(this.r)+S(this.s)}}const T={isValidPrivateKey(p){try{return h(p),!0}catch{return!1}},normPrivateKeyToScalar:h,randomPrivateKey:()=>{const p=t.randomBytes(n.BYTES+8),b=Qi(p,r);return Se(b,t.nByteLength)},precompute(p=8,b=d.BASE){return b._setWindowSize(p),b.multiply(BigInt(3)),b}};function x(p,b=!0){return d.fromPrivateKey(p).toRawBytes(b)}function N(p){const b=p instanceof Uint8Array,C=typeof p=="string",R=(b||C)&&p.length;return b?R===s||R===o:C?R===2*s||R===2*o:p instanceof d}function B(p,b,C=!0){if(N(p))throw new Error("first arg must be private key");if(!N(b))throw new Error("second arg must be public key");return d.fromHex(b).multiply(h(p)).toRawBytes(C)}const v=t.bits2int||function(p){const b=Y(p),C=p.length*8-t.nBitLength;return C>0?b>>BigInt(C):b},I=t.bits2int_modN||function(p){return c(v(p))},_=at(t.nBitLength);function q(p){if(typeof p!="bigint")throw new Error("bigint expected");if(!(Q<=p&&p<_))throw new Error(`bigint expected < 2^${t.nBitLength}`);return Se(p,t.nByteLength)}function P(p,b,C=k){if(["recovered","canonical"].some(ae=>ae in C))throw new Error("sign() legacy options not supported");const{hash:R,randomBytes:O}=t;let{lowS:H,prehash:G,extraEntropy:z}=C;H==null&&(H=!0),p=V("msgHash",p),G&&(p=V("prehashed msgHash",R(p)));const te=I(p),ne=h(b),fe=[q(ne),q(te)];if(z!=null){const ae=z===!0?O(n.BYTES):z;fe.push(V("extraEntropy",ae,n.BYTES))}const ve=Pe(...fe),re=te;function ct(ae){const me=v(ae);if(!y(me))return;const Lt=l(me),pe=d.BASE.multiply(me).toAffine(),Z=c(pe.x);if(Z===Q)return;const ge=c(Lt*c(re+Z*ne));if(ge===Q)return;let jt=(pe.x===Z?0:2)|Number(pe.y&W),zt=ge;return H&&A(ge)&&(zt=f(ge),jt^=1),new E(Z,zt,jt)}return{seed:ve,k2sig:ct}}const k={lowS:t.lowS,prehash:!1},L={lowS:t.lowS,prehash:!1};function j(p,b,C=k){const{seed:R,k2sig:O}=P(p,b,C);return xr(t.hash.outputLen,t.nByteLength,t.hmac)(R,O)}d.BASE._setWindowSize(8);function ee(p,b,C,R=L){var pe;const O=p;if(b=V("msgHash",b),C=V("publicKey",C),"strict"in R)throw new Error("options.strict was renamed to lowS");const{lowS:H,prehash:G}=R;let z,te;try{if(typeof O=="string"||O instanceof Uint8Array)try{z=E.fromDER(O)}catch(Z){if(!(Z instanceof ce.Err))throw Z;z=E.fromCompact(O)}else if(typeof O=="object"&&typeof O.r=="bigint"&&typeof O.s=="bigint"){const{r:Z,s:ge}=O;z=new E(Z,ge)}else throw new Error("PARSE");te=d.fromHex(C)}catch(Z){if(Z.message==="PARSE")throw new Error("signature must be Signature instance, Uint8Array or hex string");return!1}if(H&&z.hasHighS())return!1;G&&(b=t.hash(b));const{r:ne,s:fe}=z,ve=I(b),re=l(fe),ct=c(ve*re),ae=c(ne*re),me=(pe=d.BASE.multiplyAndAddUnsafe(te,ct,ae))==null?void 0:pe.toAffine();return me?c(me.x)===ne:!1}return{CURVE:t,getPublicKey:x,getSharedSecret:B,sign:j,verify:ee,ProjectivePoint:d,Signature:E,utils:T}}function bt(e){if(!Number.isSafeInteger(e)||e<0)throw new Error(`Wrong positive integer: ${e}`)}function dc(e){if(typeof e!="boolean")throw new Error(`Expected boolean, not ${e}`)}function _r(e,...t){if(!(e instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(t.length>0&&!t.includes(e.length))throw new TypeError(`Expected Uint8Array of length ${t}, not of length=${e.length}`)}function uc(e){if(typeof e!="function"||typeof e.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");bt(e.outputLen),bt(e.blockLen)}function hc(e,t=!0){if(e.destroyed)throw new Error("Hash instance has been destroyed");if(t&&e.finished)throw new Error("Hash#digest() has already been called")}function fc(e,t){_r(e);const n=t.outputLen;if(e.length<n)throw new Error(`digestInto() expects output buffer of length at least ${n}`)}const qe={number:bt,bool:dc,bytes:_r,hash:uc,exists:hc,output:fc},pt=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */const mc=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;if(!mc)throw new Error("Non little-endian hardware is not supported");Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function pc(e){if(typeof e!="string")throw new TypeError(`utf8ToBytes expected string, got ${typeof e}`);return new TextEncoder().encode(e)}function gc(e){if(typeof e=="string"&&(e=pc(e)),!(e instanceof Uint8Array))throw new TypeError(`Expected input type is Uint8Array (got ${typeof e})`);return e}function Sc(...e){if(!e.every(r=>r instanceof Uint8Array))throw new Error("Uint8Array list expected");if(e.length===1)return e[0];const t=e.reduce((r,s)=>r+s.length,0),n=new Uint8Array(t);for(let r=0,s=0;r<e.length;r++){const o=e[r];n.set(o,s),s+=o.length}return n}class wc{clone(){return this._cloneInto()}}function yc(e=32){if(pt&&typeof pt.getRandomValues=="function")return pt.getRandomValues(new Uint8Array(e));throw new Error("crypto.getRandomValues must be defined")}class Br extends wc{constructor(t,n){super(),this.finished=!1,this.destroyed=!1,qe.hash(t);const r=gc(n);if(this.iHash=t.create(),typeof this.iHash.update!="function")throw new TypeError("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;const s=this.blockLen,o=new Uint8Array(s);o.set(r.length>s?t.create().update(r).digest():r);for(let i=0;i<o.length;i++)o[i]^=54;this.iHash.update(o),this.oHash=t.create();for(let i=0;i<o.length;i++)o[i]^=106;this.oHash.update(o),o.fill(0)}update(t){return qe.exists(this),this.iHash.update(t),this}digestInto(t){qe.exists(this),qe.bytes(t,this.outputLen),this.finished=!0,this.iHash.digestInto(t),this.oHash.update(t),this.oHash.digestInto(t),this.destroy()}digest(){const t=new Uint8Array(this.oHash.outputLen);return this.digestInto(t),t}_cloneInto(t){t||(t=Object.create(Object.getPrototypeOf(this),{}));const{oHash:n,iHash:r,finished:s,destroyed:o,blockLen:i,outputLen:c}=this;return t=t,t.finished=s,t.destroyed=o,t.blockLen=i,t.outputLen=c,t.oHash=n._cloneInto(t.oHash),t.iHash=r._cloneInto(t.iHash),t}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}}const Nr=(e,t,n)=>new Br(e,t).update(n).digest();Nr.create=(e,t)=>new Br(e,t);/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */function bc(e){return{hash:e,hmac:(t,...n)=>Nr(e,t,Sc(...n)),randomBytes:yc}}const un=BigInt("3618502788666131213697322783095070105526743751716087489154079457884512865583"),kr=252;function hn(e){for(;e[0]===0;)e=e.subarray(1);const t=e.length*8-kr,n=Y(e);return t>0?n>>BigInt(t):n}function Or(e){return typeof e=="string"&&(e=Tc(e),e.length&1&&(e="0"+e)),he(e)}const Rr=lc({a:BigInt(1),b:BigInt("3141592653589793238462643383279502884197169399375105820974944592307816406665"),Fp:Dt(BigInt("0x800000000000011000000000000000000000000000000000000000000000001")),n:un,nBitLength:kr,Gx:BigInt("874739451078007766457464989774322083649278607533249481151382481072868806602"),Gy:BigInt("152666792071518830868575557812948353041420400780739481342941381225525861407"),h:BigInt(1),lowS:!1,...bc(Er),bits2int:hn,bits2int_modN:e=>{const t=Y(e).toString(16);return t.length===63&&(e=Or(t+"0")),M(hn(e),un)}});function Ec(e){return V("",typeof e=="string"?Or(e):e)}const{CURVE:Hl,ProjectivePoint:_e,Signature:$l,utils:Ll}=Rr;function Ac(e){return`0x${ue(e.subarray(1)).replace(/^0+/gm,"")}`}function Tc(e){return e.replace(/^0x/i,"")}const Fe=[new _e(2089986280348253421170679821480865132823066470938446095505822317253594081284n,1713931329540660377023406109199410414810705867260802078187082345529207694986n,1n),new _e(996781205833008774514500082376783249102396023663454813447423147977397232763n,1668503676786377725805489344771023921079126552019160156920634619255970485781n,1n),new _e(2251563274489750535117886426533222435294046428347329203627021249169616184184n,1798716007562728905295480679789526322175868328062420237419143593021674992973n,1n),new _e(2138414695194151160943305727036575959195309218611738193261179310511854807447n,113410276730064486255102093846540133784865286929052426931474106396135072156n,1n),new _e(2379962749567351885752724891227938183011949129833673362440656643086021394946n,776496453633298175483985398648758586525933812536653089401905292063708816422n,1n)];function Pr(e,t){const n=[];let r=e;for(let s=0;s<248;s++)n.push(r),r=r.double();r=t;for(let s=0;s<4;s++)n.push(r),r=r.double();return n}const vc=Pr(Fe[1],Fe[2]),xc=Pr(Fe[3],Fe[4]);function Ic(e){let t;if(typeof e=="bigint")t=e;else if(typeof e=="number"){if(!Number.isSafeInteger(e))throw new Error(`Invalid pedersenArg: ${e}`);t=BigInt(e)}else t=Y(Ec(e));if(!(0n<=t&&t<Rr.CURVE.Fp.ORDER))throw new Error(`PedersenArg should be 0 <= value < CURVE.P: ${t}`);return t}function fn(e,t,n){let r=Ic(t);for(let s=0;s<252;s++){const o=n[s];if(o.equals(e))throw new Error("Same point");(r&1n)!==0n&&(e=e.add(o)),r>>=1n}return e}function mn(e,t){let n=Fe[0];return n=fn(n,e,vc),n=fn(n,t,xc),Ac(n.toRawBytes(!0))}const Cc=at(250),pn=e=>Y(Ni(e))&Cc;Dt(BigInt("14474011154664525231415395255581126252639794253786371766033694892385558855681"));const _c=Dt(BigInt("3618502788666131213697322783095070105623107215331596699973092056135872020481"));function Bc(e,t,n){const r=e.fromBytes(Er(pr(`${t}${n}`)));return e.create(r)}const Nc=[[3,1,1],[1,-1,1],[1,1,-2]].map(e=>e.map(BigInt));function kc(e,t){if(Pt(e.Fp),!Number.isSafeInteger(e.rate)||!Number.isSafeInteger(e.capacity))throw new Error(`Wrong poseidon opts: ${e}`);const n=e.rate+e.capacity,r=e.roundsFull+e.roundsPartial,s=[];for(let i=0;i<r;i++){const c=[];for(let l=0;l<n;l++)c.push(Bc(e.Fp,"Hades",n*i+l));s.push(c)}const o=tc({...e,t:n,sboxPower:3,reversePartialPowIdx:!0,mds:t,roundConstants:s});return o.m=n,o.rate=e.rate,o.capacity=e.capacity,o}kc({Fp:_c,rate:2,capacity:1,roundsFull:8,roundsPartial:83},Nc);const Fr=m.z.object({recoveryId:m.z.number()}),Oc=m.z.object({feeToken:a.addressSchema,signerSignature:m.z.object({type:m.z.literal("StarknetKey"),signer:m.z.object({publicKey:a.hexSchema,r:a.hexSchema,s:a.hexSchema})})}),Dr=m.z.enum(["ONGOING","COMPLETED","ERROR","CANCELLED","AWAITING_FUNDS"]),Rc=m.z.object({status:Dr.optional(),recoveryId:m.z.number().optional(),completionTime:m.z.array(m.z.number()).optional()}),Ur=m.z.enum(["undeployedAccount","notEnoughToPayFees"]),Pc=m.z.object({status:Ur});class Fc{constructor(t,n){this.apiBase=t,this.httpService=n}async startRecovery(t,n,r,s){const{r:o,s:i}=g.ec.starkCurve.sign(mn(pn(ye.stringToBytes("utf8","starknet:recovery")),r),s),c={feeToken:n,signerSignature:{type:"StarknetKey",signer:{publicKey:r,r:g.encode.addHexPrefix(o.toString(16)),s:g.encode.addHexPrefix(i.toString(16))}}};return await this.httpService.post(`${this.apiBase}/accounts/starknet/${t}/recovery`,{body:JSON.stringify(c)},Fr)}async getRecovery(t,n){const r=a.urlJoin(this.apiBase,"accounts","starknet",t,"recovery",n?`${n}`:"");return await this.httpService.get(r)}async cancelRecovery(t,n,r){const{r:s,s:o}=g.ec.starkCurve.sign(mn(pn(ye.stringToBytes("utf8","starknet:recovery:cancel")),n),r),i={signerSignature:{type:"StarknetKey",signer:{publicKey:n,r:g.encode.addHexPrefix(s.toString(16)),s:g.encode.addHexPrefix(o.toString(16))}}};await this.httpService.post(`${this.apiBase}/accounts/starknet/${t}/recovery/cancel`,{body:JSON.stringify(i)})}}async function Dc(){if("brave"in navigator)try{return await navigator.brave.isBrave()}catch{}return!1}let gt;function Hr(){return gt||(gt=new es.UAParser(navigator.userAgent).getResult()),gt}function Le(e){return Hr().browser.name===e}function Uc(){return Le("Firefox")}function Hc(){return Le("Chrome")}function $c(){return Le("Safari")}function Lc(){return Le("Edge")}const jc=m.z.string().refine(e=>ts.validateMnemonic(e,ns.wordlist),"Invalid seedphrase"),Ut=[{address:"0x049d36570d4e46f48e99674bd3fcc84644ddd6b96f7c741b1562b82f9e004dc7",name:"Ether",symbol:"ETH",decimals:18,networkId:"mainnet-alpha",image:"https://dv3jj1unlp2jl.cloudfront.net/128/color/eth.png"},{address:"0x049d36570d4e46f48e99674bd3fcc84644ddd6b96f7c741b1562b82f9e004dc7",name:"Ether",symbol:"ETH",decimals:18,networkId:"sepolia-alpha",image:"https://dv3jj1unlp2jl.cloudfront.net/128/color/eth.png"},{address:"0x049d36570d4e46f48e99674bd3fcc84644ddd6b96f7c741b1562b82f9e004dc7",name:"Ether",symbol:"ETH",decimals:18,networkId:"localhost",image:"https://dv3jj1unlp2jl.cloudfront.net/128/color/eth.png"},{address:"0x04718f5a0fc34cc1af16a1cdee98ffb20c31f5cd61d6ab07201858f4287c938d",name:"Starknet",symbol:"STRK",decimals:"18",networkId:"mainnet-alpha",image:"https://dv3jj1unlp2jl.cloudfront.net/128/color/strk.png"},{address:"0x04718f5a0fc34cc1af16a1cdee98ffb20c31f5cd61d6ab07201858f4287c938d",name:"Starknet",symbol:"STRK",decimals:"18",networkId:"integration",image:"https://dv3jj1unlp2jl.cloudfront.net/128/color/strk.png"},{address:"0x04718f5a0fc34cc1af16a1cdee98ffb20c31f5cd61d6ab07201858f4287c938d",name:"Starknet",symbol:"STRK",decimals:"18",networkId:"sepolia-alpha",image:"https://dv3jj1unlp2jl.cloudfront.net/128/color/strk.png"},{address:"0x00da114221cb83fa859dbdb4c44beeaa0bb37c7537ad5ae66fe5e0efd20e6eb3",name:"DAI",symbol:"DAI",decimals:18,networkId:"mainnet-alpha",image:"https://dv3jj1unlp2jl.cloudfront.net/128/color/dai.png"},{address:"0x03e85bfbb8e2a42b7bead9e88e9a1b19dbccf661471061807292120462396ec9",name:"DAI",symbol:"DAI",decimals:18,networkId:"sepolia-alpha",image:"https://dv3jj1unlp2jl.cloudfront.net/128/color/dai.png"},{address:"0x06f2a0dfeff180133de890ad69c6ba294574c5f34a67890fd22464f348c4d03c",name:"DAI",symbol:"DAI",decimals:18,networkId:"sepolia-alpha",image:"https://dv3jj1unlp2jl.cloudfront.net/128/color/dai.png"},{address:"0x03fe2b97c1fd336e750087d68b9b867997fd64a2661ff3ca5a7c771641e8e7ac",name:"Wrapped BTC",symbol:"WBTC",decimals:8,networkId:"mainnet-alpha",image:"https://dv3jj1unlp2jl.cloudfront.net/128/color/wbtc.png"},{address:"0x12d537dc323c439dc65c976fad242d5610d27cfb5f31689a0a319b8be7f3d56",name:"Wrapped BTC",symbol:"WBTC",decimals:8,networkId:"sepolia-alpha",image:"https://dv3jj1unlp2jl.cloudfront.net/128/color/wbtc.png"},{address:"0x020d208b9e57a7f92bfa9f61135446e0961afc340378be97dbd317453c0950ae",name:"Wrapped BTC",symbol:"WBTC",decimals:8,networkId:"sepolia-alpha",image:"https://dv3jj1unlp2jl.cloudfront.net/128/color/wbtc.png"},{address:"0x053c91253bc9682c04929ca02ed00b3e423f6710d2ee7e0d5ebb06f3ecf368a8",name:"USD Coin",symbol:"USDC",decimals:6,networkId:"mainnet-alpha",image:"https://dv3jj1unlp2jl.cloudfront.net/128/color/usdc.png"},{address:"0x005a643907b9a4bc6a55e9069c4fd5fd1f5c79a22470690f75556c4736e34426",name:"USD Coin",symbol:"USDC",decimals:6,networkId:"sepolia-alpha",image:"https://dv3jj1unlp2jl.cloudfront.net/128/color/usdc.png"},{address:"0x07ab0b8855a61f480b4423c46c32fa7c553f0aac3531bbddaa282d86244f7a23",name:"USD Coin",symbol:"USDC",decimals:6,networkId:"sepolia-alpha",image:"https://dv3jj1unlp2jl.cloudfront.net/128/color/usdc.png"},{address:"0x068f5c6a61780768455de69077e07e89787839bf8166decfbf92b645209c0fb8",name:"Tether USD",symbol:"USDT",decimals:6,networkId:"mainnet-alpha",image:"https://dv3jj1unlp2jl.cloudfront.net/128/color/usdt.png"},{address:"0x386e8d061177f19b3b485c20e31137e6f6bc497cc635ccdfcab96fadf5add6a",name:"Tether USD",symbol:"USDT",decimals:6,networkId:"sepolia-alpha",image:"https://dv3jj1unlp2jl.cloudfront.net/128/color/usdt.png"},{address:"0x00585c32b625999e6e5e78645ff8df7a9001cf5cf3eb6b80ccdd16cb64bd3a34",name:"zkLend Token",symbol:"ZEND",decimals:18,networkId:"mainnet-alpha",image:"https://dv3jj1unlp2jl.cloudfront.net/128/color/zend.png"},{address:"0x06ea04cd7e40bfef07c3625e2b3472839093d966bf601568128436466f962fcf",name:"Baby Laika",symbol:"BABYLAIKA",decimals:18,networkId:"mainnet-alpha",image:"https://dv3jj1unlp2jl.cloudfront.net/128/color/babylaika.png"},{address:"0x004a8ff6a7b121c55d5e21af478265c5798f574abaa41efadf569d6939705896",name:"Baby Laika",symbol:"BABYLAIKA",decimals:18,networkId:"sepolia-alpha",image:"https://dv3jj1unlp2jl.cloudfront.net/128/color/babylaika.png"},{address:"0x0782f0ddca11d9950bc3220e35ac82cf868778edb67a5e58b39838544bc4cd0f",name:"Starknet Voting Token",symbol:"vSTRK",decimals:18,networkId:"mainnet-alpha",image:"https://dv3jj1unlp2jl.cloudfront.net/128/color/vstrk.png"},{address:"0x075afe6402ad5a5c20dd25e10ec3b3986acaa647b77e4ae24b0cbc9a54a27a87",name:"Ekubo Protocol",symbol:"EKUBO",decimals:18,networkId:"mainnet-alpha",image:"https://dv3jj1unlp2jl.cloudfront.net/128/color/ekubo.png"}],$r=async(e,t,n)=>{const r=await n.callContract({contractAddress:e,entrypoint:"balanceOf",calldata:[t]});return BigInt(g.num.toHex(g.uint256.uint256ToBN({low:r[0],high:r[1]})))},zc=async(e,t,n)=>{const r=Ut.filter(o=>o.networkId===e);return(await Promise.allSettled(r.map(o=>t.callContract({contractAddress:o.address,entrypoint:"balanceOf",calldata:[n]})))).reduce((o,i,c)=>{if(i.status==="fulfilled"&&D.isUndefined(i.value)||i.status==="rejected"||i.value[0]==="0x0"&&i.value[1]==="0x0")return o;const l=BigInt(g.num.toHex(g.uint256.uint256ToBN({low:i.value[0],high:i.value[1]}))),d={...r[c],balance:l};return o.push(d),o},[])},Vc=async()=>Ut,Mc=({address:e,networkId:t})=>Ut.find(r=>r.address===e&&r.networkId===t),qc=({amount:e,decimals:t,unitCurrencyValue:n})=>{if(!K(e)||!K(t)||!K(n))return;const r=Number(t),s=BigInt(e)*vt(n.toString()).value;return Ue({value:s,decimals:r+Ee})},Gc=({unitAmount:e,decimals:t})=>{if(e===void 0||!K(e)||t===void 0||!K(t))return;const n=Number(t);return a.parseUnits(e.toString(),n).value.toString()},Wc=e=>K(e)?Number(e):18,{UINT_256_MAX:Kc}=g.uint256,Lr=e=>String(e)===String(Kc),Zc=(e,t="$",n)=>{if(e===void 0||!K(e))return null;const r=lr(e,n);return[t,r].filter(Boolean).join("")},jr="Unlimited",Yc=({amount:e,decimals:t,symbol:n,showPlusSign:r=!1,withSymbol:s=!0,unlimitedText:o=jr,prettyConfigOverrides:i})=>{if(!K(e))return null;let c,l=!1;if(Lr(e))c=o;else{const h=Number(t),u=BigInt(e);l=u>0n;const y=h>0?Ue({value:u,decimals:h}):u.toString();c=h>0?dr(y,i):y}const d=[c,s&&n].filter(Boolean).join(" ");return r&&l?`+${d}`:d};var Jc=a.retry,Xc=Jc;function Qc(e,t){function n(r,s){var o=t||{},i;"randomize"in o||(o.randomize=!0),i=Xc.operation(o);function c(h){s(h||new Error("Aborted"))}function l(h,u){if(h.bail){c(h);return}i.retry(h)?o.onRetry&&o.onRetry(h,u):s(i.mainError())}function d(h){var u;try{u=e(c,h)}catch(y){l(y,h);return}Promise.resolve(u).then(r).catch(function(S){l(S,h)})}i.attempt(d)}return new Promise(n)}var el=Qc;const tl=a.getDefaultExportFromCjs(el);class nl{constructor(t,n){this.apiBase=t,this.httpService=n,this.TOKENS_INFO_URL="/tokens/info",this.TOKENS_DEFI_DECOMPOSITION_URL="/tokens/defi/decomposition"}async fetchTokensInfoFromBackend(t){const n=a.urlJoin(this.apiBase,this.TOKENS_INFO_URL,t??"","?chain=starknet"),r=await this.httpService.get(n),s=a.apiTokensInfoResponseSchema.safeParse(r);if(s.success)return s.data.tokens;const o=a.apiTokenInfoResponseSchema.safeParse(r);if(o.success)return[o.data]}async fetchAddressTokenBalancesFromBackend(t,n,r){const s=a.urlJoin(this.apiBase,"activity","starknet",n,"account",t,"balance");return(await tl(async c=>{let l;try{l=await this.httpService.get(s)}catch{return c(new Error("Error fetching")),[]}const d=a.apiAccountTokenBalancesSchema.safeParse(l);if(!d.success)return c(new Error("Error parsing response")),[];if(d.data.status!=="initialised")throw new Error("Not initialised yet");return d.data.balances},{retries:5,minTimeout:5e3,...r})).map(c=>({address:c.tokenAddress,balance:c.tokenBalance,networkId:n}))}async fetchDefiDecomposition(t){const n=a.urlJoin(this.apiBase,this.TOKENS_DEFI_DECOMPOSITION_URL,t,"?chain=starknet"),r=await this.httpService.get(n);if(!a.apiDefiPositionsSchema.safeParse(r).success)throw new a.TokenError({code:"TOKEN_DEFI_DECOMPOSITION_PARSING_ERROR"});return r.dapps}}const rl=(e,t,n,r)=>({contractAddress:e,entrypoint:"transfer",calldata:g.CallData.compile({recipient:t,amount:be(ur(n,r))})}),sl=(e,t,n,r)=>({contractAddress:e,entrypoint:"transferFrom",calldata:g.CallData.compile({from_:t,to:n,tokenId:be(r)})}),ol=(e,t,n,r)=>({contractAddress:e,entrypoint:"safeTransferFrom",calldata:g.CallData.compile({from_:t,to:n,tokenId:be(r),amount:be(1),data_len:"0"})});function Ht(e){return D.upperCase(e.unit)==="WEI"}function zr(e){return D.upperCase(e.unit)==="FRI"}function le(e,t){return Ht(e)?{...e,maxFee:t(e.maxFee),overallFee:t(e.overallFee),gasPrice:t(e.gasPrice),gasUsage:t(e.gasUsage)}:{...e,overallFee:t(e.overallFee),gasPrice:t(e.gasPrice),gasUsage:t(e.gasUsage),maxAmount:t(e.maxAmount),maxPricePerUnit:t(e.maxPricePerUnit)}}function we(e){return Ht(e)?{maxFee:e.maxFee}:{amount:e.maxAmount,pricePerUnit:e.maxPricePerUnit}}function Ge(e){return zr({unit:e})?a.STRK_TOKEN_ADDRESS:a.ETH_TOKEN_ADDRESS}function al(e,t,n=2){const r=BigInt(10**n),s=BigInt(Math.round(t*10**n));return e*s/r}const il=[a.STRK_TOKEN_ADDRESS],Vr=(e,t=Kr)=>{if(e.max&&"amount"in e.max)return{...e,...e.max};const n=10000n,{amount:r,pricePerUnit:s,dataGasConsumed:o=0n,dataGasPrice:i=0n}=e,c=r*s+o*i;if(c<0)throw Error("Cannot calculate max fee for negative fee");const l=g.num.toBigInt(a.argentMaxFee({estimatedFee:c})),d=Number(l)/Number(c),h=t(d),u=BigInt(Math.trunc(h*Number(n)));return{...e,amount:r*u/n,pricePerUnit:s*u/n,dataGasConsumed:o*u/n,dataGasPrice:i*u/n}},De=e=>{const{amount:t,pricePerUnit:n,dataGasConsumed:r=0n,dataGasPrice:s=0n}=e;return t*n+r*s},Mr=e=>{if(e.max)return"maxFee"in e.max?e.max.maxFee:De(e.max)},Ye=e=>{const t=Mr(e);return t||De(Vr(e))},cl=e=>{if(e.deployment&&!a.isEqualAddress(e.deployment.feeTokenAddress,e.transactions.feeTokenAddress))throw Error("Cannot calculate estimated fees for different tokens");const t=De(e.transactions),n=e.deployment?De(e.deployment):0n;return t+n},ll=e=>{if(e.deployment&&!a.isEqualAddress(e.deployment.feeTokenAddress,e.transactions.feeTokenAddress))throw Error("Cannot calculate estimated fees for different tokens");const t=e.deployment?Ye(e.deployment):0n,n=Ye(e.transactions);return t+n},dl=(e,t)=>[{contractAddress:e,entrypoint:"transfer",calldata:g.CallData.compile(a.transferCalldataSchema.parse({recipient:t,amount:g.uint256.bnToUint256(BigInt(1))}))}],qr=(e,t)=>{if(!e)return{transactions:{feeTokenAddress:t??a.ETH_TOKEN_ADDRESS,amount:0n,pricePerUnit:0n,dataGasConsumed:0n,dataGasPrice:0n}};if(!Array.isArray(e))throw Error(`Unexpected simulation response. Expected array. Got ${typeof e}`);if(e.length===1){const n=a.feeEstimationSchema.parse(e[0].feeEstimation);return{transactions:{feeTokenAddress:Ge(n.unit),amount:g.num.toBigInt(n.gasUsage),pricePerUnit:g.num.toBigInt(n.gasPrice),max:we(le(n,g.num.toBigInt)),dataGasConsumed:n.dataGasConsumed?g.num.toBigInt(n.dataGasConsumed):0n,dataGasPrice:n.dataGasPrice?g.num.toBigInt(n.dataGasPrice):0n}}}if(e.length===2){const n=a.feeEstimationSchema.parse(e[0].feeEstimation),r=a.feeEstimationSchema.parse(e[1].feeEstimation);return{deployment:{feeTokenAddress:Ge(n.unit),amount:g.num.toBigInt(n.gasUsage),pricePerUnit:g.num.toBigInt(n.gasPrice),max:we(le(n,g.num.toBigInt)),dataGasConsumed:n.dataGasConsumed?g.num.toBigInt(n.dataGasConsumed):0n,dataGasPrice:n.dataGasPrice?g.num.toBigInt(n.dataGasPrice):0n},transactions:{feeTokenAddress:Ge(r.unit),amount:g.num.toBigInt(r.gasUsage),pricePerUnit:g.num.toBigInt(r.gasPrice),max:we(le(r,g.num.toBigInt)),dataGasConsumed:r.dataGasConsumed?g.num.toBigInt(r.dataGasConsumed):0n,dataGasPrice:r.dataGasPrice?g.num.toBigInt(r.dataGasPrice):0n}}}throw Error("Unexpected simulation response length")},Gr=({transaction:e,nonce:t,chainId:n,version:r,isDeploymentTransaction:s,cairoVersion:o,address:i,appDomain:c})=>{let l=t;s&&e.type!=="DEPLOY_ACCOUNT"&&(l=g.num.toHex(1));const d=a.ensureArray(e.calls);return{type:e.type,chainId:n,cairoVersion:o,nonce:l,version:r,account:i,calls:d,calldata:e.calldata,salt:e.salt,signature:e.signature,classHash:e.classHash,appDomain:c}},Wr=(e,t)=>{const{transactions:n}=e,r=n.map(l=>{if(!l.simulation)throw new a.EstimateError({code:"SIMULATE_AND_REVIEW_FAILED"});return l}),s=r.map(l=>({...l.simulation,feeEstimation:le(l.simulation.feeEstimation,Number)})),o=qr(s,t),[i,c]=r.length===1?[r[0],void 0]:[r[1],r[0]];return{...o,transactions:{...o.transactions,dataGasConsumed:o.transactions.dataGasConsumed??0n,dataGasPrice:o.transactions.dataGasPrice??0n,max:we(le(i.simulation.feeEstimation,g.num.toBigInt))},deployment:o.deployment&&c?{...o.deployment,dataGasConsumed:o.deployment.dataGasConsumed??0n,dataGasPrice:o.deployment.dataGasPrice??0n,max:we(le(c.simulation.feeEstimation,g.num.toBigInt))}:void 0}},ul=e=>{const t=Vr(e),n=Ye(e);return{maxFee:n,resourceBounds:{l1_gas:{max_amount:g.num.toHex(n/e.pricePerUnit),max_price_per_unit:g.num.toHex(t.pricePerUnit)},l2_gas:{max_amount:"0x0",max_price_per_unit:"0x0"}}}},hl=e=>{const t=Math.sqrt(e);return isNaN(t)?Math.sqrt(2):t},Kr=e=>{const t=Math.cbrt(e);return isNaN(t)?Math.cbrt(2):t},fl=e=>e<1||isNaN(e)?1.1:Math.log(e+1)+1,ml=[a.STRK_TOKEN_ADDRESS];function it({address:e}){return ml.some(t=>a.isEqualAddress(e,t))}function pl(e){return e?Dn().some(t=>a.isEqualAddress(t,e)):!1}function Et(e){return it({address:e})?g.constants.TRANSACTION_VERSION.V3:g.constants.TRANSACTION_VERSION.V1}function gl(e){return it({address:e})?g.constants.TRANSACTION_VERSION.F3:g.constants.TRANSACTION_VERSION.F1}function Sl(e,t){return g.isSierra(t.contract)?it({address:e})?g.constants.TRANSACTION_VERSION.V3:g.constants.TRANSACTION_VERSION.V2:g.constants.TRANSACTION_VERSION.V1}class wl{constructor(t,n){this.apiBase=t,this.httpService=n}async getLabels(){const t=a.urlJoin(this.apiBase,"reviewer","labels");return await this.httpService.get(t)}async getWarnings(){const t=a.urlJoin(this.apiBase,"reviewer","warnings/reasons");return await this.httpService.get(t)}async simulateAndReview(t,n,r,s,o){const i=n.some(c=>c.type==="DEPLOY_ACCOUNT");try{if(!("getChainId"in t))throw new Error("MISSING_METHOD");const c=Et(r),l=i?"0x0":await t.getNonce(),d=await t.getChainId(),h={transactions:n.map(f=>({...Gr({transaction:f,nonce:l,version:c,chainId:d,isDeploymentTransaction:i,appDomain:s,cairoVersion:t.cairoVersion,address:t.address}),type:f.type}))},u=a.urlJoin(this.apiBase,"reviewer","transactions","v2","review","starknet"),y=await this.httpService.post(u,{headers:{Accept:"application/json","Content-Type":"application/json"},body:JSON.stringify(h)},a.simulateAndReviewSchema);if(y.transactions.some(f=>a.isTransactionSimulationError(f)))return y;const A=Wr(y,r);return{...y,enrichedFeeEstimation:A}}catch(c){return console.error(c),this.fallbackToOnchainFeeEstimation({transactions:n,account:t,isDeploymentTransaction:i,feeTokenAddress:r,accountDeployTransaction:o})}}getCallsFromTx(t){let n;return t.calls&&(n=a.ensureArray(t.calls)),n}async fallbackToOnchainFeeEstimation({transactions:t,account:n,isDeploymentTransaction:r,feeTokenAddress:s,accountDeployTransaction:o}){try{const i=r?this.getCallsFromTx(t[1]):this.getCallsFromTx(t[0]);if(!i)throw new a.ReviewError({code:"NO_CALLS_FOUND"});const c=await this.fetchFeesOnchain({starknetAccount:n,calls:i,isDeployed:!r,feeTokenAddress:s,accountDeployTransaction:o});return{transactions:[],enrichedFeeEstimation:c,isBackendDown:!0}}catch(i){throw console.error(i),new a.ReviewError({message:`${i}`,code:"SIMULATE_AND_REVIEW_FAILED"})}}async fetchFeesOnchain({starknetAccount:t,calls:n,isDeployed:r,feeTokenAddress:s,accountDeployTransaction:o}){try{const i=Et(s),c={transactions:{feeTokenAddress:s,amount:0n,pricePerUnit:0n,dataGasConsumed:0n,dataGasPrice:0n}};if(!r&&o){if("estimateFeeBulk"in t){const l=[{type:g.TransactionType.DEPLOY_ACCOUNT,payload:{classHash:o.classHash,addressSalt:o.salt,constructorCalldata:o.calldata,contractAddress:t.address}},{type:g.TransactionType.INVOKE,payload:n}],[d,h]=await t.estimateFeeBulk(l,{version:i}).catch(u=>{throw console.error(u),u});if(!d.gas_consumed||!d.gas_price||!h.gas_consumed||!h.gas_price)throw new a.ReviewError({code:"ONCHAIN_FEE_ESTIMATION_FAILED",message:"Missing gas_consumed or gas_price"});c.deployment={feeTokenAddress:s,amount:d.gas_consumed,pricePerUnit:d.gas_price,dataGasConsumed:d.data_gas_consumed,dataGasPrice:d.data_gas_price},c.transactions={feeTokenAddress:s,amount:h.gas_consumed,pricePerUnit:h.gas_price,dataGasConsumed:h.data_gas_consumed,dataGasPrice:h.data_gas_price}}}else{const{gas_consumed:l,gas_price:d,data_gas_consumed:h,data_gas_price:u}=await t.estimateFee(n,{skipValidate:!0,version:i});if(!l||!d)throw new a.ReviewError({code:"ONCHAIN_FEE_ESTIMATION_FAILED",message:"Missing gas_consumed or gas_price"});c.transactions={feeTokenAddress:s,amount:l,pricePerUnit:d,dataGasConsumed:h,dataGasPrice:u}}return c}catch(i){throw new a.ReviewError({code:"ONCHAIN_FEE_ESTIMATION_FAILED",message:`${i}`})}}}const yl=["account-upgrade","approve","set-approval-for-all","swap","transfer"],bl=e=>({showBalanceChange:$.useMemo(()=>{const n=e==null?void 0:e.some(s=>!D.isEmpty(s.transfers)),r=e==null?void 0:e.some(s=>!D.isEmpty(s.approvals));return e&&(n||r)},[e])}),je=e=>e?e.filter(t=>t.token.type==="erc20"):[],El=e=>$.useMemo(()=>je(e),[e]),Al=e=>je(e).length>0,Tl=e=>je(e).some(n=>n.amount>0n),vl=e=>je(e).some(n=>n.amount<0n),$t=e=>e?e.filter(t=>t.token.type==="erc721"):[],xl=e=>$.useMemo(()=>$t(e),[e]),Zr=e=>$t(e).length>0,Il=e=>$.useMemo(()=>Zr(e),[e]),Cl=(e,t)=>$.useMemo(()=>e&&t?[{contractAddress:e.address,entrypoint:"transfer",calldata:g.CallData.compile({recipient:t,amount:be(e.balance)})}]:[],[e,t]),_l=({apiData:{apiBaseUrl:e,apiHeaders:t},address:n,network:r,transactionReviewEnabled:s=!0,transactions:o})=>{const i=$.useCallback(async()=>{if(!n||!r)return;if(!e)throw"Transaction review endpoint is not defined";const l=a.urlJoin(e,"reviewer/transactions/review/starknet"),d=D.isArray(o)?o:[o],h={network:r,account:n,calls:d};return xt(l,{method:"POST",headers:{"Content-Type":"application/json",...t},body:JSON.stringify(h)})},[n,r,o]),c=$.useMemo(()=>rs({transactions:o,address:n,network:r}),[o,n,r]);return Tn(!!s,[c,"transactionReview"],i)},Bl=e=>{if(!e)return{};const t=e.assessment==="warn"&&e.reason!=="contract_is_not_verified",n=e.reason?` (Reason: ${D.lowerCase(e.reason)})`:"",r=t?e.reason==="recipient_is_token_address"?"You are sending tokens to their own address. This is likely to burn them.":`This transaction has been flagged as dangerous. We recommend you reject this transaction unless you are sure.${n}`:void 0;return{warn:t,reason:r}},Yr=e=>{var t;if(e){for(const n of e.reviews)if(((t=n.activity)==null?void 0:t.type)==="swap")return n}},Nl=e=>{},kl=(e,t)=>{var n;if(t){for(const r of t.reviews)if(((n=r.activity)==null?void 0:n.type)===e)return r.activity}},Ol=e=>!!Yr(e),Rl=e=>{var t,n;if(e){for(const r of e.reviews)if((t=r.activity)!=null&&t.type)return{...r,type:(n=r.activity)==null?void 0:n.type}}},Jr=async({feeTokenAddress:e,calls:t,selectedAccount:n,transactionReviewService:r,appDomain:s,accountDeployTransaction:o})=>{const i={type:"INVOKE",calls:a.ensureArray(t)};if(!n||!e)return;const c=o?[o,i]:[i];return{result:await r.simulateAndReview(n,c,e,s,o)}},Xr=async(e,t,n,r)=>{var y,S,A,f,w,E;let s=!1;const o=t.transactions.find(T=>{var x,N;return(N=(x=T==null?void 0:T.simulation)==null?void 0:x.summary)==null?void 0:N.find(B=>B.sent)});if(!o||!((y=o.simulation)!=null&&y.summary))return s;const i=o.simulation.summary.filter(T=>T.sent).map(T=>T.token.address);if(!(((S=t.enrichedFeeEstimation)==null?void 0:S.transactions.feeTokenAddress)&&i.includes((A=t.enrichedFeeEstimation)==null?void 0:A.transactions.feeTokenAddress))||!((w=(f=t.enrichedFeeEstimation)==null?void 0:f.transactions)!=null&&w.max))return s;const l="amount"in t.enrichedFeeEstimation.transactions.max?t.enrichedFeeEstimation.transactions.max.amount:"maxFee"in t.enrichedFeeEstimation.transactions.max?t.enrichedFeeEstimation.transactions.max.maxFee:void 0,d=(E=o.simulation.summary.find(T=>T.sent&&T.token.address===n))==null?void 0:E.value;if(!l||!d)return s;const h=await $r(n,e,r)??0n;return BigInt(h)>l+BigInt(d)||(s=!0),s},Pl=()=>$.useCallback(async({feeTokenAddress:t,calls:n,selectedAccount:r,transactionReviewService:s,appDomain:o,accountDeployPayload:i,provider:c})=>{if(!r)return;const l=await Jr({feeTokenAddress:t,calls:n,selectedAccount:r,transactionReviewService:s,appDomain:o,accountDeployTransaction:Qr(i)});if(!l||!l.result||!t)return;const d=await Xr(r.address,l.result,t,c);return{...l.result,isSendingMoreThanBalanceAndGas:d}},[]),Qr=e=>e?{type:"DEPLOY_ACCOUNT",calldata:e.calldata,classHash:a.hexSchema.parse(e.class_hash),salt:a.hexSchema.parse(e.salt),signature:[]}:void 0;exports.BaseError=a.BaseError;Object.defineProperty(exports,"ESTIMATE_ERROR_MESSAGES",{enumerable:!0,get:()=>a.ESTIMATE_ERROR_MESSAGES});exports.ETH_TOKEN_ADDRESS=a.ETH_TOKEN_ADDRESS;exports.EstimateError=a.EstimateError;exports.EventEmitterProvider=a.EventEmitterProvider;exports.EventsBySelector=a.EventsBySelector;exports.FEE_OVERHEAD=a.FEE_OVERHEAD;Object.defineProperty(exports,"HTTP_ERROR_MESSAGE",{enumerable:!0,get:()=>a.HTTP_ERROR_MESSAGE});exports.HttpError=a.HttpError;Object.defineProperty(exports,"MultiSigner",{enumerable:!0,get:()=>a.MultiSigner});exports.STANDARD_DEVNET_ACCOUNT_CLASS_HASH=a.STANDARD_DEVNET_ACCOUNT_CLASS_HASH;exports.STRK_TOKEN_ADDRESS=a.STRK_TOKEN_ADDRESS;Object.defineProperty(exports,"TOKEN_ERROR_MESSAGES",{enumerable:!0,get:()=>a.TOKEN_ERROR_MESSAGES});exports.TXV1_ACCOUNT_CLASS_HASH=a.TXV1_ACCOUNT_CLASS_HASH;exports.TXV1_MULTISIG_CLASS_HASH=a.TXV1_MULTISIG_CLASS_HASH;exports.TXV3_ACCOUNT_CLASS_HASH=a.TXV3_ACCOUNT_CLASS_HASH;exports.TXV3_MULTISIG_CLASS_HASH=a.TXV3_MULTISIG_CLASS_HASH;exports.TokenError=a.TokenError;exports.abiEntrySchema=a.abiEntrySchema;exports.abiSchema=a.abiSchema;exports.addOwnersCalldataSchema=a.addOwnersCalldataSchema;exports.addPluginCalldataSchema=a.addPluginCalldataSchema;exports.addressInputCharactersAndLengthSchema=a.addressInputCharactersAndLengthSchema;exports.addressInputSchema=a.addressInputSchema;exports.addressOrDomainInputSchema=a.addressOrDomainInputSchema;exports.addressOrDomainSchema=a.addressOrDomainSchema;exports.addressOrEmptyUndefinedSchema=a.addressOrEmptyUndefinedSchema;exports.addressSchema=a.addressSchema;exports.addressSchemaArgentBackend=a.addressSchemaArgentBackend;exports.addressSchemaBase=a.addressSchemaBase;exports.addressSchemaLooseLength=a.addressSchemaLooseLength;exports.addressSchemaStrictLength=a.addressSchemaStrictLength;exports.airdropSchema=a.airdropSchema;exports.apiAccountTokenBalancesSchema=a.apiAccountTokenBalancesSchema;exports.apiAirdropSchema=a.apiAirdropSchema;exports.apiCollateralizedDebtPositionSchema=a.apiCollateralizedDebtPositionSchema;exports.apiCollateralizedDebtPositionsSchema=a.apiCollateralizedDebtPositionsSchema;exports.apiConcentratedLiquidityPositionSchema=a.apiConcentratedLiquidityPositionSchema;exports.apiConcentratedLiquidityPositionsSchema=a.apiConcentratedLiquidityPositionsSchema;exports.apiDefiDecompositionProduct=a.apiDefiDecompositionProduct;exports.apiDefiDecompositionProducts=a.apiDefiDecompositionProducts;exports.apiDefiDecompositionSchema=a.apiDefiDecompositionSchema;exports.apiDefiDecompositionToken=a.apiDefiDecompositionToken;exports.apiDefiPositionsSchema=a.apiDefiPositionsSchema;exports.apiPriceDataResponseSchema=a.apiPriceDataResponseSchema;exports.apiPriceDetailsSchema=a.apiPriceDetailsSchema;exports.apiTokenInfoResponseSchema=a.apiTokenInfoResponseSchema;exports.apiTokenInfoSchema=a.apiTokenInfoSchema;exports.apiTokensInfoResponseSchema=a.apiTokensInfoResponseSchema;exports.apiUnclaimedRewardsSchema=a.apiUnclaimedRewardsSchema;exports.apiWalletResponseSchema=a.apiWalletResponseSchema;exports.argentMaxFee=a.argentMaxFee;exports.argentNameSchema=a.argentNameSchema;exports.bigNumberSchema=a.bigNumberSchema;exports.bigNumberishSchema=a.bigNumberishSchema;exports.booleanToStringSchema=a.booleanToStringSchema;exports.builtinsSchema=a.builtinsSchema;exports.byteCodeSchema=a.byteCodeSchema;exports.cairo1EventSchema=a.cairo1EventSchema;exports.cairoAssemblySchema=a.cairoAssemblySchema;exports.cairoVersionSchema=a.cairoVersionSchema;exports.callDetailsSchema=a.callDetailsSchema;exports.callSchema=a.callSchema;exports.calldataSchema=a.calldataSchema;exports.changeGuardianCalldataSchema=a.changeGuardianCalldataSchema;exports.changeThresholdCalldataSchema=a.changeThresholdCalldataSchema;exports.collateralizedDebtGroupSchema=a.collateralizedDebtGroupSchema;exports.collateralizedDebtPositionSchema=a.collateralizedDebtPositionSchema;exports.collateralizedDebtPositionsSchema=a.collateralizedDebtPositionsSchema;exports.compiledContractClassSchema=a.compiledContractClassSchema;exports.compiledSierraCasmSchema=a.compiledSierraCasmSchema;exports.compiledSierraSchema=a.compiledSierraSchema;exports.compressedProgramSchema=a.compressedProgramSchema;exports.concentratedLiquidityPositionSchema=a.concentratedLiquidityPositionSchema;exports.concentratedLiquidityPositionsSchema=a.concentratedLiquidityPositionsSchema;exports.constructorCallDataSchemaC0=a.constructorCallDataSchemaC0;exports.constructorCallDataSchemaC1V1=a.constructorCallDataSchemaC1V1;exports.contractEntryPointFieldsSchema=a.contractEntryPointFieldsSchema;exports.defiDappsProductsSchema=a.defiDappsProductsSchema;exports.defiPositionSchema=a.defiPositionSchema;exports.defiPositionTypeSchema=a.defiPositionTypeSchema;exports.defiProductSchema=a.defiProductSchema;exports.defiProductsSchema=a.defiProductsSchema;exports.denyTxV3=a.denyTxV3;exports.ensureArray=a.ensureArray;exports.entryPointsByTypeSchema=a.entryPointsByTypeSchema;exports.escapeGuardianCalldataSchema=a.escapeGuardianCalldataSchema;exports.eventAbiSchema=a.eventAbiSchema;exports.eventEntrySchema=a.eventEntrySchema;exports.executeOnPluginCalldataSchema=a.executeOnPluginCalldataSchema;exports.feltSchema=a.feltSchema;exports.findTransfersAndApprovals=a.findTransfersAndApprovals;exports.formatFullAddress=a.formatFullAddress;exports.formatTruncatedAddress=a.formatTruncatedAddress;exports.formatTruncatedSignerKey=a.formatTruncatedSignerKey;exports.formatTruncatedString=a.formatTruncatedString;exports.functionAbiSchema=a.functionAbiSchema;exports.functionAbiTypeSchema=a.functionAbiTypeSchema;exports.getAddressFromArgentName=a.getAddressFromArgentName;exports.getMessageFromTrpcError=a.getMessageFromTrpcError;exports.getPrettyRpcError=a.getPrettyRpcError;exports.getSignerForMultiSigner=a.getSignerForMultiSigner;exports.hexSchema=a.hexSchema;exports.hexSchemaBase=a.hexSchemaBase;exports.implementationSchema=a.implementationSchema;exports.includesAddress=a.includesAddress;exports.inputAmountSchema=a.inputAmountSchema;exports.isAddress=a.isAddress;exports.isArgentName=a.isArgentName;exports.isEqualAddress=a.isEqualAddress;exports.isEqualArgentName=a.isEqualArgentName;exports.isEqualStarknetDomainName=a.isEqualStarknetDomainName;exports.isEqualStarknetId=a.isEqualStarknetId;exports.isStarknetDomainName=a.isStarknetDomainName;exports.isStarknetId=a.isStarknetId;exports.isValidAddress=a.isValidAddress;exports.isValidInputAmount=a.isValidInputAmount;exports.isZeroAddress=a.isZeroAddress;exports.legacyContractClassSchema=a.legacyContractClassSchema;exports.legacyEventSchema=a.legacyEventSchema;exports.modifySnjsFeeOverhead=a.modifySnjsFeeOverhead;exports.multiTypeSchema=a.multiTypeSchema;exports.normalizeAddress=a.normalizeAddress;exports.normalizeAddressOrDomain=a.normalizeAddressOrDomain;exports.normalizeArgentName=a.normalizeArgentName;exports.normalizeStarknetId=a.normalizeStarknetId;exports.parseAmount=a.parseAmount;exports.productGroupsSchema=a.productGroupsSchema;exports.programSchema=a.programSchema;exports.pythonicHintsSchema=a.pythonicHintsSchema;exports.rawArgsArraySchema=a.rawArgsArraySchema;exports.rawArgsObjectSchema=a.rawArgsObjectSchema;exports.rawArgsSchema=a.rawArgsSchema;exports.removeOwnersCalldataSchema=a.removeOwnersCalldataSchema;exports.removePluginCalldataSchema=a.removePluginCalldataSchema;exports.replaceSignerCalldataSchema=a.replaceSignerCalldataSchema;exports.sierraContractEntryPointFieldsSchema=a.sierraContractEntryPointFieldsSchema;exports.sierraEntryPointsByTypeSchema=a.sierraEntryPointsByTypeSchema;exports.sierraProgramDebugInfoSchema=a.sierraProgramDebugInfoSchema;exports.starknetDomainNameSchema=a.starknetDomainNameSchema;exports.starknetIdSchema=a.starknetIdSchema;exports.stringToBooleanSchema=a.stringToBooleanSchema;exports.structAbiSchema=a.structAbiSchema;exports.transactionReviewTransactionsSchema=a.transactionReviewTransactionsSchema;exports.transactionReviewWarningSchema=a.transactionReviewWarningSchema;exports.transferCalldataSchema=a.transferCalldataSchema;exports.trpcErrorSchema=a.trpcErrorSchema;exports.txVersionSchema=a.txVersionSchema;exports.uint256Schema=a.uint256Schema;exports.unclaimedRewardsSchema=a.unclaimedRewardsSchema;exports.useEmitEvent=a.useEmitEvent;exports.useEventEmitter=a.useEventEmitter;exports.useEventEmitterContext=a.useEventEmitterContext;exports.useEventListener=a.useEventListener;exports.useIsEventEmitterEnabled=a.useIsEventEmitterEnabled;exports.validChecksumAddressSchema=a.validChecksumAddressSchema;exports.validateAddressRangeSchema=a.validateAddressRangeSchema;exports.ARGENT_ACCOUNT_CONTRACT_CLASS_HASHES=J;exports.ARGENT_MULTISIG_CONTRACT_CLASS_HASHES=ke;exports.AddSmartAccountResponseSchema=ss;exports.AddSmartAcountRequestSchema=os;exports.BackendAccountSchema=gn;exports.BackendNftService=si;exports.C0_PROXY_CONTRACT_CLASS_HASHES=Nn;exports.CacheService=ks;exports.DEFAULT_TOKEN_DECIMALS=Ee;exports.DateService=Os;exports.HTTPService=Xe;exports.KnownDappsBackendService=fa;exports.OnchainRecoveryService=Fc;exports.PRETTY_UNLIMITED=jr;exports.ResolveNameService=pa;exports.SWRService=Ps;exports.StarknetAddressService=js;exports.TokenServiceWeb=nl;exports.TransactionReviewServiceWeb=wl;exports.apiTransactionReviewActivityType=yl;exports.argentBackendNetworkIdSchema=yn;exports.argentNetworkIdSchema=wn;exports.bigDecimal=Ns;exports.buildAccountDeployTransaction=Qr;exports.buildConstructorCalldata=$n;exports.buildDummyTx=dl;exports.calculateCubeRootAdjustment=Kr;exports.calculateNonLinearAdjustment=fl;exports.calculateSqrtAdjustment=hl;exports.castFeeEstimation=le;exports.checkGasFeeBalance=Xr;exports.classHashSupportsTxV3=pl;exports.convertTokenAmountToCurrencyValue=qc;exports.convertTokenUnitAmountWithDecimals=Gc;exports.dappContractSchema=zn;exports.dappLinkSchema=jn;exports.daysBetween=Ga;exports.decodeBase58=cr;exports.decodeBase58Array=qa;exports.encodeBase58=ir;exports.encodeBase58Array=Ma;exports.ensureDecimals=Wc;exports.entryPointToHumanReadable=ei;exports.equalNft=di;exports.erc20TransferTransaction=rl;exports.erc721SafeTransferFromTransaction=ol;exports.erc721TransferFromTransaction=sl;exports.estimatedFeeToMaxFeeTotal=Ye;exports.estimatedFeeToMaxResourceBounds=ul;exports.estimatedFeeToTotal=De;exports.estimatedFeesToMaxFeeTotal=ll;exports.estimatedFeesToTotal=cl;exports.feeTokenNeedsTxV3Support=it;exports.fetchData=xt;exports.fetcherError=Ne;exports.findImplementationForAccount=da;exports.formatAddress=_t;exports.generateAvatarImage=Re;exports.getAccountContractAddress=Ln;exports.getAccountDeploymentPayload=Hn;exports.getAccountIdentifier=Us;exports.getAddressFromStarkName=Bn;exports.getArgentAccountClassHashes=St;exports.getArgentAccountClassHashesWithTxV3Support=Dn;exports.getArgentAccountWithMultiSignerClassHashes=Fn;exports.getBackendTimeNowSeconds=Ls;exports.getBackendTimeSeconds=vn;exports.getCallFromStarkName=_n;exports.getChainIdFromNetworkId=xn;exports.getColor=or;exports.getDapplandLinkForDapp=qn;exports.getDapplandUrlForDapp=ma;exports.getDisplayWarnAndReasonForTransactionReview=Bl;exports.getERC20Transactions=je;exports.getERC721Transactions=$t;exports.getEstimatedFeeFromBulkSimulation=qr;exports.getEstimatedFeeFromSimulationAndRespectWatermarkFee=Wr;exports.getInitials=sr;exports.getLastCairo0ArgentAccountClassHash=ia;exports.getLatestArgentAccountClassHash=Pn;exports.getLatestArgentMultisigClassHash=aa;exports.getLatestLedgerAccountClassHash=la;exports.getLedgerAccountClassHashes=ca;exports.getNFTTransferActivity=Nl;exports.getNetworkAccountImageUrl=Va;exports.getNftPicture=li;exports.getPayloadFromTransaction=Gr;exports.getReviewForTransactions=Jr;exports.getSimulationTxVersionFromFeeToken=gl;exports.getStarknetIdContractAddressFromNetworkId=Cn;exports.getTokenBalance=$r;exports.getTokens=Vc;exports.getTokensBalances=zc;exports.getTransactionReviewActivityOfType=kl;exports.getTransactionReviewHasSwap=Ol;exports.getTransactionReviewSwap=Yr;exports.getTransactionReviewWithType=Rl;exports.getTxVersionFromFeeToken=Et;exports.getTxVersionFromFeeTokenForDeclareContract=Sl;exports.getUAParserResult=Hr;exports.getUint256CalldataFromBN=be;exports.getWatermarkedMaxFeeTotal=Mr;exports.hasERC20Transactions=Al;exports.hasERC721Transactions=Zr;exports.hasIncomingERC20Transactions=Tl;exports.hasOutgoingERC20Transactions=vl;exports.id=rr;exports.isAccountV4=cs;exports.isAccountV5=is;exports.isAccountV6=as;exports.isAllowedAddressHexInputValue=Ya;exports.isAllowedNumericInputValue=Ja;exports.isArgentBackendNetworkId=us;exports.isArgentNetworkId=ds;exports.isBraveBrowser=Dc;exports.isBrowser=Le;exports.isChromeBrowser=Hc;exports.isContractDeployed=Ka;exports.isEdgeBrowser=Lc;exports.isEqualImplementation=Un;exports.isFRI=zr;exports.isFeatureEnabled=Wa;exports.isFirefoxBrowser=Uc;exports.isNumeric=K;exports.isSafariBrowser=$c;exports.isUnlimitedAmount=Lr;exports.isWEI=Ht;exports.knownDappSchema=Vn;exports.knownDappsSchema=Mn;exports.multiplyBigIntByFloat=al;exports.nameProviderResolutionSchema=Wn;exports.nameResolutionAddressSchema=Kn;exports.nameResolutionAddressesSchema=Yn;exports.nameResolutionStarknetIdSchema=Ct;exports.nameResolutionStarknetIdsSchema=Gn;exports.nonNullable=Za;exports.onchainRecoverySchema=Rc;exports.parseAmountValue=ur;exports.pluralise=Xa;exports.postData=Fs;exports.preferencesEndpointPayload=ls;exports.preferencesSchema=Sn;exports.prettifyCurrencyNumber=lr;exports.prettifyCurrencyValue=Zc;exports.prettifyNumber=Bt;exports.prettifyNumberConfig=rt;exports.prettifyTokenAmount=Yc;exports.prettifyTokenNumber=dr;exports.providersNamesSchema=Zn;exports.readFileAsString=Qa;exports.recoveryBodySchema=Oc;exports.recoveryStatusSchema=Dr;exports.seedphraseSchema=jc;exports.starkNameToCallDataDomain=In;exports.startOnchainRecoveryErrorSchema=Pc;exports.startOnchainRecoveryErrorStatusSchema=Ur;exports.startOnchainRecoverySchema=Fr;exports.stripAddressZeroPadding=ar;exports.swrRefetchDisabledConfig=$s;exports.toMax=we;exports.tokensRequireTxV3Support=il;exports.unitToFeeTokenAddress=Ge;exports.urlWithQuery=ti;exports.useBalanceChange=bl;exports.useCollection=ii;exports.useConditionallyEnabledSWR=Tn;exports.useDebounce=ua;exports.useDebouncedValue=ha;exports.useERC20Transactions=El;exports.useERC721Transactions=xl;exports.useHasERC721Transaction=Il;exports.useMaxAmountTransaction=Cl;exports.useNft=ci;exports.useNfts=ai;exports.useToken=Mc;exports.useTransactionReview=_l;exports.useTransactionReviewV2webFetcher=Pl;exports.voidify=ni;exports.withPolling=Ds;