@avalabs/evm-module 4.1.0 → 4.2.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.cjs +2 -2
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/package.json +9 -9
package/dist/index.cjs
CHANGED
|
@@ -23,7 +23,7 @@ var Pn__default = /*#__PURE__*/_interopDefault(Pn);
|
|
|
23
23
|
var In__default = /*#__PURE__*/_interopDefault(In);
|
|
24
24
|
var ri__default = /*#__PURE__*/_interopDefault(ri);
|
|
25
25
|
|
|
26
|
-
function Gr(e){let t,r=0;for(t=0;t<e.length;t++)r+=e.charCodeAt(t)*(t+1);return r}chunkVYIKXRYZ_cjs.a(Gr,"charsum");function Jt(e){let t,r=0;for(t=0;t<e.length;t++){let n=Gr(e[t]??"");r=r+65027/n;}return (""+r).slice(0,16)}chunkVYIKXRYZ_cjs.a(Jt,"arrayHash");var me=chunkVYIKXRYZ_cjs.a(async({operation:e,isSuccess:t,maxRetries:r=10,backoffPolicy:n=j.exponential()})=>{let a=0,i=0,s;for(;i<r;){i>0&&await Ka(a);try{let l=await e(i);if(t(l))return l}catch(l){s=l;}a=n(i),i++;}let c=s?`Max retry exceeded. ${s}`:"Max retry exceeded.";throw new Error(c)},"retry"),Xt=class Xt{static exponential(){return t=>Math.pow(2,t)*1e3}static constant(t){return r=>t*1e3}static constantMs(t){return r=>t}static linearThenExponential(t,r){return n=>{if(n<t)return (n+1)*r;let a=n-t+1,i=t*r,s=2*r*(Math.pow(2,a)-1);return i+s}}};chunkVYIKXRYZ_cjs.a(Xt,"RetryBackoffPolicy");var j=Xt;function Ka(e){return new Promise(t=>setTimeout(t,e))}chunkVYIKXRYZ_cjs.a(Ka,"delay");var Zt=chunkVYIKXRYZ_cjs.a(e=>me({operation:t=>e(t>0),maxRetries:2,backoffPolicy:j.constant(1),isSuccess:t=>t?.status?.error_code!==429}),"coingeckoRetry");async function $(e,t,r=fetch){let n=await r(...e);if(!n.ok)throw new Error(`Request failed with status ${n.status}`);let a=await n.json();return t.parse(a)}chunkVYIKXRYZ_cjs.a($,"fetchAndVerify");var Qt=class Qt{constructor(t,r){this.proxyApiUrl=t;this.fetchFn=r;}simplePrice(t){let r=new URLSearchParams(t);return $([`${this.proxyApiUrl}/proxy/coingecko/simple/price?${r}`,{method:"POST",headers:{"Content-Type":"application/json"}}],vmModuleTypes.RawSimplePriceResponseSchema,this.fetchFn)}simplePriceByContractAddresses(t){let{id:r,...n}=t,a=new URLSearchParams(n);return $([`${this.proxyApiUrl}/proxy/coingecko/simple/token_price/${r}?${a}`,{method:"POST",headers:{"Content-Type":"application/json"}}],vmModuleTypes.RawSimplePriceResponseSchema,this.fetchFn)}};chunkVYIKXRYZ_cjs.a(Qt,"CoingeckoProxyClient");var qe=Qt;var Ja=zod.z.array(zod.z.object({internalId:zod.z.string(),id:zod.z.string(),symbol:zod.z.string(),name:zod.z.string(),image:zod.z.string().optional().nullable(),current_price:zod.z.number().optional().nullable(),price_change_percentage_24h:zod.z.number().optional().nullable(),market_cap:zod.z.number().optional().nullable(),total_volume:zod.z.number().optional().nullable(),platforms:zod.z.record(zod.z.string(),zod.z.string())})),er=class er{constructor(t){this.proxyApiUrl=t;}watchlistToken(t){let r=new URLSearchParams(t);return $([`${this.proxyApiUrl}/watchlist/tokens?${r}`,{method:"GET",headers:{"Content-Type":"application/json"}}],Ja)}};chunkVYIKXRYZ_cjs.a(er,"WatchlistProxyClient");var ft=er;var ne,de,ue,Re,tr=class tr{constructor({storage:t,proxyApiUrl:r,fetch:n}){chunkVYIKXRYZ_cjs.d(this,ne,void 0);chunkVYIKXRYZ_cjs.d(this,de,void 0);chunkVYIKXRYZ_cjs.d(this,ue,void 0);chunkVYIKXRYZ_cjs.d(this,Re,void 0);chunkVYIKXRYZ_cjs.b(this,"transformSimplePriceResponse",chunkVYIKXRYZ_cjs.a((t,r=[coreCoingeckoSdk.VsCurrencyType.USD])=>{let n={};return Object.keys(t).forEach(a=>{let i=t[a];n[a]={},r.forEach(s=>{n[a]={[s]:{price:i?.[s],change24:i?.[`${s}_24h_change`],vol24:i?.[`${s}_24h_vol`],marketCap:i?.[`${s}_market_cap`]}};});}),n},"transformSimplePriceResponse"));chunkVYIKXRYZ_cjs.e(this,ne,t),chunkVYIKXRYZ_cjs.e(this,de,r),chunkVYIKXRYZ_cjs.e(this,ue,n??globalThis.fetch),chunkVYIKXRYZ_cjs.e(this,Re,coreCoingeckoSdk.getBasicCoingeckoHttp(void 0,chunkVYIKXRYZ_cjs.c(this,ue)));}async getWatchlistDataForToken({tokenDetails:t,currency:r=coreCoingeckoSdk.VsCurrencyType.USD}){let n=(await new ft(chunkVYIKXRYZ_cjs.c(this,de)).watchlistToken({tokens:t.symbol,currency:r})).filter(i=>t.isNative?i.internalId===`NATIVE-${t.symbol.toLowerCase()}`:i.platforms[t.caip2Id]===t.address),[a]=n;return a?{priceInCurrency:a.current_price??0,change24:a.price_change_percentage_24h??0,marketCap:a.market_cap??0,vol24:a.total_volume??0}:{priceInCurrency:0,change24:0,marketCap:0,vol24:0}}async getSimplePrice({coinIds:t=[],currencies:r=[coreCoingeckoSdk.VsCurrencyType.USD]}){let n,i=`getSimplePrice-${t?`${Jt(t)}-${r.toString()}`:`${r.toString()}`}`;if(n=chunkVYIKXRYZ_cjs.c(this,ne)?.get?.(i),n)return n;try{n=await Zt(s=>this.simplePrice({coinIds:t,currencies:r,marketCap:!0,vol24:!0,change24:!0,useCoingeckoProxy:s}));}catch{n=void 0;}return chunkVYIKXRYZ_cjs.c(this,ne)?.set?.(i,n),n}async getPricesByAddresses(t,r,n=coreCoingeckoSdk.VsCurrencyType.USD){let a,s=`getPricesWithMarketDataByAddresses-${`${Jt(t)}-${r}-${n}`}`;if(a=chunkVYIKXRYZ_cjs.c(this,ne)?.get?.(s),a)return a;try{a=await Zt(c=>this.fetchPricesByAddresses({assetPlatformId:r,tokenAddresses:t,currency:n,useCoingeckoProxy:c}));}catch(c){console.error(c),a=void 0;}return chunkVYIKXRYZ_cjs.c(this,ne)?.set?.(s,a),a}async fetchPricesByAddresses({assetPlatformId:t,tokenAddresses:r,currency:n=coreCoingeckoSdk.VsCurrencyType.USD,useCoingeckoProxy:a=!1}){if(a){let i=await new qe(chunkVYIKXRYZ_cjs.c(this,de),chunkVYIKXRYZ_cjs.c(this,ue)).simplePriceByContractAddresses({id:t,contract_addresses:r,vs_currencies:[n],include_market_cap:!0,include_24hr_vol:!0,include_24hr_change:!0});return this.transformSimplePriceResponse(i,[n])}return coreCoingeckoSdk.simpleTokenPrice(chunkVYIKXRYZ_cjs.c(this,Re),{assetPlatformId:t,tokenAddresses:r,currencies:[n],marketCap:!0,vol24:!0,change24:!0})}async simplePrice({coinIds:t=[],currencies:r=[coreCoingeckoSdk.VsCurrencyType.USD],marketCap:n=!1,vol24:a=!1,change24:i=!1,lastUpdated:s=!1,useCoingeckoProxy:c=!1,shouldThrow:l=!0}){if(c){let p=await new qe(chunkVYIKXRYZ_cjs.c(this,de),chunkVYIKXRYZ_cjs.c(this,ue)).simplePrice({ids:t,vs_currencies:r,include_market_cap:n,include_24hr_vol:a,include_24hr_change:i,include_last_updated_at:s});return this.transformSimplePriceResponse(p,r)}return coreCoingeckoSdk.simplePrice(chunkVYIKXRYZ_cjs.c(this,Re),{coinIds:t,currencies:r,marketCap:n,vol24:a,change24:i,lastUpdated:s,shouldThrow:l})}};ne=new WeakMap,de=new WeakMap,ue=new WeakMap,Re=new WeakMap,chunkVYIKXRYZ_cjs.a(tr,"TokenService");var ae=tr;var as="https://cdn.jsdelivr.net/npm/@fawazahmed0/currency-api@latest/v1/currencies/usd.min.json",ss="https://latest.currency-api.pages.dev/v1/currencies/usd.min.json",Or=zod.object({date:zod.string(),usd:zod.record(zod.number())}),yt=chunkVYIKXRYZ_cjs.a(async()=>{try{return await $([as],Or)}catch{return await $([ss],Or)}},"getExchangeRates");var rr=chunkVYIKXRYZ_cjs.a((e,t,r,n)=>({label:e,type:vmModuleTypes.DetailItemType.CURRENCY,value:t,maxDecimals:r,symbol:n}),"currencyItem"),O=chunkVYIKXRYZ_cjs.a((e,t,r="horizontal")=>({label:e,alignment:r,type:vmModuleTypes.DetailItemType.TEXT,value:t}),"textItem"),Ee=chunkVYIKXRYZ_cjs.a((e,t)=>({label:e,value:t,type:vmModuleTypes.DetailItemType.LINK}),"linkItem"),J=chunkVYIKXRYZ_cjs.a((e,t)=>({label:e,type:vmModuleTypes.DetailItemType.ADDRESS,value:t}),"addressItem");var ht=chunkVYIKXRYZ_cjs.a((e,t)=>({label:e,type:vmModuleTypes.DetailItemType.NETWORK,value:t}),"networkItem");var nr=chunkVYIKXRYZ_cjs.a(({name:e,version:t})=>{switch(e){case vmModuleTypes.AppName.CORE_MOBILE_IOS:case vmModuleTypes.AppName.CORE_MOBILE_ANDROID:case vmModuleTypes.AppName.CORE_WEB:case vmModuleTypes.AppName.CORE_EXTENSION:case vmModuleTypes.AppName.EXPLORER:return {"x-application-name":e,"x-application-version":t};case vmModuleTypes.AppName.OTHER:return}},"getCoreHeaders");var Hr=process.env.GLACIER_API_KEY;var Ye=chunkVYIKXRYZ_cjs.a(()=>Hr,"getGlacierApiKey");var os=["glacier-api.avax.network","proxy-api.avax.network","proxy-api-dev.avax.network","core-proxy-api.avax.network","core-proxy-api.avax-test.network"];function ar(e){let t=new URL(e),r=Ye();if(r&&os.includes(t.hostname)){let n=t.searchParams;return n.set("token",r),t.search=n.toString(),t.toString()}return e}chunkVYIKXRYZ_cjs.a(ar,"addGlacierAPIKeyIfNeeded");var ls={rltoken:Ye()},ge,Tt,kt,jr,bt,qr,sr=class sr extends glacierSdk.FetchHttpRequest{constructor(r){super(r);chunkVYIKXRYZ_cjs.d(this,kt);chunkVYIKXRYZ_cjs.d(this,bt);chunkVYIKXRYZ_cjs.d(this,ge,0);chunkVYIKXRYZ_cjs.d(this,Tt,j.exponential());}request(r){let n={...ls,...r.query||{}},a={...r,query:Object.keys(n).length>0?n:void 0},i=chunkVYIKXRYZ_cjs.a(()=>super.request(a),"getRequest");return chunkVYIKXRYZ_cjs.c(this,ge)>0?chunkVYIKXRYZ_cjs.f(this,bt,qr).call(this,i):chunkVYIKXRYZ_cjs.f(this,kt,jr).call(this,i)}};ge=new WeakMap,Tt=new WeakMap,kt=new WeakSet,jr=chunkVYIKXRYZ_cjs.a(function(r){let n=r();return new glacierSdk.CancelablePromise((a,i,s)=>{s(()=>n.cancel()),n.then(c=>{chunkVYIKXRYZ_cjs.e(this,ge,0),a(c);}).catch(c=>{if(c instanceof glacierSdk.ApiError){let l=c.status===429,p=c.status>=500&&c.status<600;chunkVYIKXRYZ_cjs.e(this,ge,chunkVYIKXRYZ_cjs.c(this,ge)+Number(l||p));}i(c);});})},"#request"),bt=new WeakSet,qr=chunkVYIKXRYZ_cjs.a(function(r){let n=chunkVYIKXRYZ_cjs.c(this,Tt).call(this,chunkVYIKXRYZ_cjs.c(this,ge));return new glacierSdk.CancelablePromise((a,i,s)=>{let c=setTimeout(()=>{let l=r();s(()=>{l.cancel(),clearTimeout(c);}),l.then(a).catch(i);},n);})},"#postponeRequest"),chunkVYIKXRYZ_cjs.a(sr,"GlacierFetchHttpRequest");var Ke=sr;var G=chunkVYIKXRYZ_cjs.a((e,t)=>({message:`${e}${t instanceof Error?`: ${t.message}`:""}`,data:{cause:t}}),"rpcErrorOpts");var zr={name:"EVM",description:"",version:"0.0.1",sources:{module:{checksum:"",location:{npm:{filePath:"dist/index.js",packageName:"@avalabs/evm-module",registry:"https://registry.npmjs.org"}}},provider:{checksum:"",location:{npm:{filePath:"dist/provider/index.js",packageName:"@avalabs/evm-module",registry:"https://registry.npmjs.org"}}}},network:{chainIds:[],namespaces:["eip155"]},cointype:"60",permissions:{rpc:{dapps:!0,methods:["personal_sign","avalanche_declareAgentIdentity","eth_sendTransaction","eth_sendTransactionBatch","eth_*","web3_clientVersion","web3_sha3","net_version","net_peerCount","net_listening"],nonRestrictedMethods:["eth_requestAccounts","eth_decrypt","eth_getEncryptionPublicKey","eth_subscribe","eth_unsubscribe","eth_blockNumber","eth_call","eth_chainId","eth_coinbase","eth_estimateGas","eth_feeHistory","eth_gasPrice","eth_getBalance","eth_getBlockByHash","eth_getBlockByNumber","eth_getBlockTransactionCountByHash","eth_getBlockTransactionCountByNumber","eth_getCode","eth_getFilterChanges","eth_getFilterLogs","eth_getLogs","eth_getProof","eth_getStorageAt","eth_getTransactionByBlockHashAndIndex","eth_getTransactionByBlockNumberAndIndex","eth_getTransactionByHash","eth_getTransactionCount","eth_getTransactionReceipt","eth_getUncleCountByBlockHash","eth_getUncleCountByBlockNumber","eth_newBlockFilter","eth_newFilter","eth_newPendingTransactionFilter","eth_syncing","eth_uninstallFilter","net_version","net_peerCount","net_listening","web3_sha3","web3_clientVersion"]}},manifestVersion:"0.1"};var Yr="DUMMY_API_KEY";var ms={glacierApiUrl:"https://core-proxy-api.avax.network/v1/proxy/glacier",proxyApiUrl:"https://proxy-api.avax.network"},ds={glacierApiUrl:"https://core-proxy-api.avax-test.network/v1/proxy/glacier",proxyApiUrl:"https://proxy-api-dev.avax.network"},Jr=chunkVYIKXRYZ_cjs.a(e=>{switch(e){case vmModuleTypes.Environment.PRODUCTION:return ms;case vmModuleTypes.Environment.DEV:return ds}},"getEnv");var Ie=chunkVYIKXRYZ_cjs.a(({accountIndex:e,derivationPathType:t})=>{if(e<0)throw rpcErrors.rpcErrors.invalidParams("Account index must be a non-negative integer");switch(t){case"bip44":return {[vmModuleTypes.NetworkVMType.EVM]:`m/44'/60'/0'/0/${e}`};case"ledger_live":return {[vmModuleTypes.NetworkVMType.EVM]:`m/44'/60'/${e}'/0/0`};default:throw rpcErrors.rpcErrors.invalidParams(`Unsupported derivation path type: ${t}`)}},"buildDerivationPath");var M=chunkVYIKXRYZ_cjs.a(async e=>{let{chainId:t,chainName:r,rpcUrl:n,multiContractAddress:a,pollingInterval:i=2e3,customRpcHeaders:s}=e,c=ar(n),l=c;if(s){let m=new ethers.FetchRequest(c);for(let[u,f]of Object.entries(s))m.setHeader(u,f);l=m;}let p=new coreWalletsSdk.JsonRpcBatchInternal({maxCalls:40,multiContractAddress:a},l,new ethers.Network(r,t));return p.pollingInterval=i,p},"getProvider");var hs=5*60*1e3,Ts={43114:"0x8004BAa17C55a88189AE136b182e5fdA19dE9b63"},ks=["function ownerOf(uint256 tokenId) view returns (address)","function tokenURI(uint256 tokenId) view returns (string)","function agentURI(uint256 agentId) view returns (string)","function getMetadata(uint256 agentId, string metadataKey) view returns (bytes)"],bs=["function getSummary(uint256 agentId, address[] clientAddresses, string tag1, string tag2) view returns (uint64 count, int128 summaryValue, uint8 summaryValueDecimals)","function readAllFeedback(uint256 agentId, address[] clientAddresses, string tag1, string tag2, bool includeRevoked) view returns (address[] clients, uint64[] feedbackIndexes, int128[] values, uint8[] valueDecimals, string[] tag1s, string[] tag2s, bool[] isRevoked)","function getIdentityRegistry() view returns (address)"],en=new Map,Rs=chunkVYIKXRYZ_cjs.a(e=>e===null?"unknown":e>=75?"high":e>=40?"medium":"low","getTrustLevel"),Es=chunkVYIKXRYZ_cjs.a(e=>e===null||!Number.isFinite(e)?null:Math.max(0,Math.min(100,Math.trunc(e))),"clampScore"),ir=chunkVYIKXRYZ_cjs.a(e=>{let t=typeof e=="bigint"?Number(e):e;return Number.isFinite(t)?t:null},"toNumber"),tn=chunkVYIKXRYZ_cjs.a((e,t)=>{let r=ir(e),n=ir(t);return r===null||n===null||n<0?null:r/10**n},"scaleFixedPoint"),vs=chunkVYIKXRYZ_cjs.a(e=>Array.isArray(e),"isReputationSummaryTuple"),Ae=chunkVYIKXRYZ_cjs.a(e=>Array.isArray(e),"isReputationFeedbackTuple"),Is=chunkVYIKXRYZ_cjs.a(e=>vs(e)?{count:e[0],summaryValue:e[1],summaryValueDecimals:e[2]}:e,"getSummaryValue"),As=chunkVYIKXRYZ_cjs.a(e=>{let t=Ae(e)?e[2]:e.values,r=Ae(e)?e[3]:e.valueDecimals,n=Ae(e)?e[4]:e.tag1s,a=Ae(e)?e[5]:e.tag2s,i=Ae(e)?e[6]:e.isRevoked;return t.map((s,c)=>({value:s,valueDecimals:r[c]??0,tag1:n[c],tag2:a[c],isRevoked:i[c]}))},"getFeedbackValues"),Ps=chunkVYIKXRYZ_cjs.a(e=>{let t=e.filter(r=>r!==null);return t.length?t.reduce((r,n)=>r+n,0)/t.length:null},"averageScores"),or="starred",xs=chunkVYIKXRYZ_cjs.a(e=>{let t=new Set,r=[];for(let n of e)try{let a=ethers.getAddress(n);t.has(a)||(t.add(a),r.push(a));}catch{continue}return r},"dedupeAddresses"),Ss=chunkVYIKXRYZ_cjs.a(e=>Ae(e)?e[0]:e.clients,"getFeedbackClients"),Ns=chunkVYIKXRYZ_cjs.a(async(e,t,r)=>{try{if(ethers.getAddress(await e.getIdentityRegistry())!==t)return null;let a=await e.readAllFeedback(r,[],or,"",!1),i=As(a).filter(c=>c.tag1===void 0||c.tag1===or).filter(c=>!c.isRevoked),s=xs(Ss(a));if(s.length)try{let c=Is(await e.getSummary(r,s,or,""));if(ir(c.count))return tn(c.summaryValue,c.summaryValueDecimals)}catch{}return Ps(i.map(c=>tn(c.value,c.valueDecimals)))}catch{return null}},"resolveReputationScore"),Cs=chunkVYIKXRYZ_cjs.a(async(e,t)=>{if(!e)return !1;try{return ethers.getAddress(await e.getIdentityRegistry())===t}catch{return !1}},"isKnownIdentityRegistry"),ws=chunkVYIKXRYZ_cjs.a(e=>{let[t,r,n]=e.split(":");if(t!=="eip155"||!r||!n)return null;let a=Number(r);if(!Number.isInteger(a))return null;try{return {chainId:a,address:ethers.getAddress(n)}}catch{return null}},"parseAgentRegistry"),Rt=chunkVYIKXRYZ_cjs.a(e=>({agentId:e.agentId,agentRegistry:e.agentRegistry,owner:null,reputationScore:null,metadataUri:null,trustLevel:"unknown"}),"buildFallback"),rn=chunkVYIKXRYZ_cjs.a(async e=>{let t=await Promise.allSettled(e.map(r=>r()));for(let r of t)if(r.status==="fulfilled"&&r.value!=null)return r.value;return null},"callFirst"),nn=chunkVYIKXRYZ_cjs.a(e=>{if(!e||e==="0x")return null;try{return ethers.toUtf8String(e)}catch{return null}},"decodeMetadata"),se=chunkVYIKXRYZ_cjs.a(async({declaration:e,rpcUrl:t,chainId:r,chainName:n,customRpcHeaders:a})=>{let i=en.get(`${t}:${e.agentRegistry}:${e.agentId}`);if(i&&i.expiresAt>Date.now())return i.value;let s=ws(e.agentRegistry);if(!s||s.chainId!==r)return Rt(e);if(!/^\d+$/.test(e.agentId))return Rt({...e,agentRegistry:`eip155:${s.chainId}:${s.address}`});let c={...e,agentRegistry:`eip155:${s.chainId}:${s.address}`},l=Rt(c),p=await M({chainId:r,chainName:n,rpcUrl:t,customRpcHeaders:a}),m=new ethers.Contract(s.address,ks,p),u=Ts[s.chainId],f=u?new ethers.Contract(u,bs,p):null;if(!await Cs(f,s.address))return l;let[y,g,k]=await Promise.all([rn([async()=>ethers.getAddress(await m.ownerOf(BigInt(e.agentId)))]),rn([async()=>await m.tokenURI(BigInt(e.agentId)),async()=>await m.agentURI(BigInt(e.agentId)),async()=>nn(await m.getMetadata(BigInt(e.agentId),"agentURI")),async()=>nn(await m.getMetadata(BigInt(e.agentId),"uri"))]),f?Ns(f,s.address,BigInt(e.agentId)):Promise.resolve(null)]),T=Es(k??null),v={...l,owner:y??null,metadataUri:g??null,reputationScore:T,trustLevel:Rs(T)};return en.set(`${t}:${e.agentRegistry}:${e.agentId}`,{expiresAt:Date.now()+hs,value:v}),v},"resolveAgentIdentity");var _s=zod.z.object({agentId:zod.z.coerce.string().regex(/^\d+$/),agentRegistry:zod.z.string().min(1)}),an=chunkVYIKXRYZ_cjs.a(async({request:e,network:t})=>{let r=_s.safeParse(e.params);return r.success?{result:await se({declaration:r.data,rpcUrl:t.rpcUrl,chainId:t.chainId,chainName:t.chainName,customRpcHeaders:t.customRpcHeaders})}:(console.error("invalid params",r.error),{error:rpcErrors.rpcErrors.invalidParams({message:"Agent identity params are invalid",data:{cause:r.error.flatten()}})})},"avalancheDeclareAgentIdentity");var sn=chunkVYIKXRYZ_cjs.a(e=>"derivationPathType"in e&&"accountIndex"in e&&typeof e.accountIndex=="number"&&typeof e.derivationPathType=="string","hasDerivationDetails");var on=chunkVYIKXRYZ_cjs.a(async e=>{let{secretId:t,approvalController:r}=e,n=sn(e)?Ie(e).EVM:void 0,a=await r.requestPublicKey({curve:"secp256k1",secretId:t,derivationPath:n});return {[vmModuleTypes.NetworkVMType.EVM]:ethers.computeAddress(`0x${a}`)}},"deriveAddress");var cn=chunkVYIKXRYZ_cjs.a(async e=>{let{approvalController:t,secretId:r,accountIndices:n,derivationPathType:a}=e;if(n.length===0)return [];await cryptoSdk.init();let i=await Promise.all(n.map(async c=>{let l=Ie({accountIndex:c,derivationPathType:a}).EVM,p=await t.requestPublicKey({curve:"secp256k1",secretId:r,derivationPath:l});return Uint8Array.from(Buffer.from(p,"hex"))}));return (await cryptoSdk.deriveAddressesForEvm(i)).map(c=>({[vmModuleTypes.NetworkVMType.EVM]:c}))},"deriveAddresses");var Pe=zod.z.object({from:zod.z.string().length(42),to:zod.z.string().length(42).optional(),data:zod.z.string().optional(),value:zod.z.string().startsWith("0x").optional(),gas:zod.z.string().startsWith("0x").optional(),gasPrice:zod.z.string().startsWith("0x").optional(),maxFeePerGas:zod.z.string().startsWith("0x").optional(),maxPriorityFeePerGas:zod.z.string().startsWith("0x").optional(),nonce:zod.z.string().optional(),chainId:zod.z.string().optional().or(zod.z.number().optional()),accessList:zod.z.array(zod.z.object({address:zod.z.string().startsWith("0x"),storageKeys:zod.z.array(zod.z.string())})).optional()});var ln=zod.z.tuple([Pe,Pe]).rest(Pe).refine(e=>lr(e,"chainId"),{message:'All transactions must use the same "chainId"'}).refine(e=>lr(e,"from"),{message:'All transactions must use the same "from" address'}).refine(e=>Os(e,"nonce")||$s(e,"nonce"),{message:'Each transaction needs a different "nonce". Make them different, or leave them empty for all transactions.'}),Ls=zod.z.object({skipIntermediateTxs:zod.z.boolean().optional()}),Gs=zod.z.union([ln,zod.z.object({transactions:ln,options:Ls.optional()})]);function $s(e,t){return !lr(e,t)}chunkVYIKXRYZ_cjs.a($s,"areAllDifferentByProp");function Os(e,t){return e.every(r=>r[t]===void 0||r[t]==="")}chunkVYIKXRYZ_cjs.a(Os,"areAllEmptyByProp");function lr(e,t){return new Set(e.map(n=>n[t])).size===1}chunkVYIKXRYZ_cjs.a(lr,"areAllEqualByProp");var pn=chunkVYIKXRYZ_cjs.a(e=>{let t=Gs.safeParse(e);return t.success?Array.isArray(t.data)?{success:!0,data:{transactions:t.data,options:{}}}:{success:!0,data:{transactions:t.data.transactions,options:t.data.options??{}}}:t},"parseRequestParams");var Et=chunkVYIKXRYZ_cjs.a((e,t)=>{if(e===void 0||e==="")return !0;if(typeof e=="number")return e===t;if(!(e.startsWith("0x")||e.startsWith("0X"))&&!/^\d+$/.test(e))return !1;try{return BigInt(e)===BigInt(t)}catch{return !1}},"isMatchingChainId");var vt=chunkVYIKXRYZ_cjs.a(async({from:e,provider:t})=>t.getTransactionCount(e),"getNonce");var mn=chunkVYIKXRYZ_cjs.a(async(e,t)=>{if(e[0].nonce)return;let r=await vt({from:e[0].from,provider:t});return Promise.all(e.map(async(n,a)=>{n.nonce=String(r+a);}))},"ensureProperNonces");var Hs=chunkVYIKXRYZ_cjs.a(e=>e.startsWith("https://")||e.startsWith("http://")||e.startsWith("ipfs://"),"isNavigableMetadataUri"),Ws=chunkVYIKXRYZ_cjs.a(e=>e.startsWith("data:"),"isEmbeddedDataUri"),xe=chunkVYIKXRYZ_cjs.a(e=>{let t=[O("Agent ID",e.agentId),O("Registry",e.agentRegistry,"vertical"),O("Trust level",e.trustLevel)];return e.reputationScore!==null&&t.push(O("Reputation score",String(e.reputationScore))),e.owner&&t.push(J("Owner",e.owner)),e.metadataUri&&t.push(Hs(e.metadataUri)?Ee("Metadata",{url:e.metadataUri,name:e.metadataUri}):Ws(e.metadataUri)?O("Metadata","Embedded data URI","vertical"):O("Metadata",e.metadataUri,"vertical")),{title:"Agent Identity",items:t}},"buildAgentIdentityDetailSection");var dn=[vmModuleTypes.TransactionType.SEND,vmModuleTypes.TransactionType.RECEIVE,vmModuleTypes.TransactionType.TRANSFER,vmModuleTypes.TransactionType.NFT_SEND,vmModuleTypes.TransactionType.NFT_RECEIVE],X=(s=>(s.TOTAL_SUPPLY="totalSupply",s.BALANCE_OF="balanceOf",s.TRANSFER="transfer",s.TRANSFER_FROM="transferFrom",s.APPROVE="approve",s.ALLOWANCE="allowance",s))(X||{}),pr=(n=>(n.NATIVE_TRANSFER="native_transfer",n.ERC20_TRANSFER="erc20_transfer",n.CONTRACT_CALL="contract_call",n))(pr||{});var Se=chunkVYIKXRYZ_cjs.a(e=>{if(e.data)try{let r=new ethers.Interface(Pn__default.default.abi).parseTransaction({data:e.data,value:e.value}),n=r?.name??r?.fragment?.name;return n&&zs(n)?n:void 0}catch{return}},"parseERC20TransactionType");function zs(e){return Object.values(X).includes(e)}chunkVYIKXRYZ_cjs.a(zs,"isERC20TransactionType");var un=chunkVYIKXRYZ_cjs.a(e=>{if(e.data)try{let r=new ethers.Interface(Pn__default.default.abi).parseTransaction({data:e.data,value:e.value}),n=r?.name??r?.fragment?.name;if(n==="transfer"||n==="transferFrom"){let a=r?.args.to;if(typeof a=="string")return a}}catch{}return e.to},"getRecipientAddress");var gn=chunkVYIKXRYZ_cjs.a(e=>{if(!!!(e.data&&e.data!=="0x"))return "native_transfer";let r=Se(e);return r==="transfer"||r==="transferFrom"?"erc20_transfer":"contract_call"},"classifyTransaction");var fn=["function register(((uint256[2],uint256[2][2],uint256[2]),uint256[5]) proof)","function setAuditorPublicKey(address user)","function privateMint(address user, ((uint256[2],uint256[2][2],uint256[2]),uint256[24]) proof)","function privateMint(address user, ((uint256[2],uint256[2][2],uint256[2]),uint256[24]) proof, bytes message)","function deposit(uint256 amount, address tokenAddress, uint256[7] amountPCT)","function deposit(uint256 amount, address tokenAddress, uint256[7] amountPCT, bytes message)","function transfer(address to, uint256 tokenId, ((uint256[2],uint256[2][2],uint256[2]),uint256[32]) proof, uint256[7] balancePCT)","function transfer(address to, uint256 tokenId, ((uint256[2],uint256[2][2],uint256[2]),uint256[32]) proof, uint256[7] balancePCT, bytes message)","function withdraw(uint256 tokenId, ((uint256[2],uint256[2][2],uint256[2]),uint256[16]) proof, uint256[7] balancePCT)","function withdraw(uint256 tokenId, ((uint256[2],uint256[2][2],uint256[2]),uint256[16]) proof, uint256[7] balancePCT, bytes message)"];var yn=(s=>(s.REGISTER="register",s.DEPOSIT="deposit",s.TRANSFER="transfer",s.WITHDRAW="withdraw",s.PRIVATE_MINT="privateMint",s.SET_AUDITOR_PUBLIC_KEY="setAuditorPublicKey",s))(yn||{}),Xs=new ethers.Interface(fn),hn=chunkVYIKXRYZ_cjs.a(e=>{if(!(!e.data||e.data==="0x"))try{let t=Xs.parseTransaction({data:e.data,value:e.value}),r=t?.name??t?.fragment?.name;return r&&Zs(r)?{operation:r}:void 0}catch{return}},"parseEercTransaction");function Zs(e){return Object.values(yn).includes(e)}chunkVYIKXRYZ_cjs.a(Zs,"isEercOperation");var to=chunkVYIKXRYZ_cjs.a(e=>{if(!e)return null;try{let t=BigInt(e);return t>0n?t:null}catch{return null}},"parseNativeValue"),It=chunkVYIKXRYZ_cjs.a((e,t,r,{isSimulationSuccessful:n,balanceChange:a,tokenApprovals:i,alert:s},c,l=!1)=>{let{dappInfo:p}=e,m=Se(r),u="Do you approve this transaction?";m==="approve"&&(u="Do you approve this spend limit?");let f=un(r),y=[J("Account",r.from),ht("Network",{name:t.chainName,logoUri:t.logoUri}),Ee("Website",p)].filter(x=>!!x),g=gn(r);g!=="contract_call"&&f&&y.push(J("To",f)),r.to&&["erc20_transfer","contract_call"].includes(g)&&y.push(J("Contract",r.to));let k=to(r.value);if(k&&y.push(rr("Amount",k,t.networkToken.decimals,t.networkToken.symbol)),l){let x=hn(r);x&&(y.push(O("Operation",x.operation)),y.push(O("Privacy","eERC20")));}let T=Array.isArray(r.accessList)&&r.accessList.length>0,v={type:vmModuleTypes.AlertType.INFO,details:{title:"Includes an access list",description:"This transaction includes EIP-2930 access-list data that pre-declares the accounts and storage it will touch. Its contents aren't part of the security preview."}},R={title:u,details:[{title:"Transaction Details",items:y},...c?[xe(c)]:[]],networkFeeSelector:!0,alert:s??(T?v:void 0),balanceChange:a,tokenApprovals:i,isSimulationSuccessful:n},w={type:vmModuleTypes.RpcMethod.ETH_SEND_TRANSACTION,account:r.from,data:{type:2,nonce:Number(r.nonce),gasLimit:Number(r.gas),maxFeePerGas:r.maxFeePerGas,maxPriorityFeePerGas:r.maxPriorityFeePerGas,to:r.to,from:r.from,data:r.data,value:r.value,chainId:r.chainId??t.chainId,accessList:r.accessList}};return {displayData:R,signingData:w}},"buildTxApprovalRequest");var At=chunkVYIKXRYZ_cjs.a(async(e,t,r)=>{if("txHash"in t)return t.txHash;let n=chunkVYIKXRYZ_cjs.a(()=>e.send("eth_sendRawTransaction",[t.signedData]),"broadcast");return r?.shouldRetry?me({operation:()=>n(),isSuccess:()=>!0,maxRetries:6,backoffPolicy:j.linearThenExponential(4,1e3)}):n()},"getTxHash");function oe(e,t,r="tx"){return `${e}/${r}/${t}`}chunkVYIKXRYZ_cjs.a(oe,"getExplorerAddressByNetwork");var Qe=chunkVYIKXRYZ_cjs.a(async({explorerUrl:e,provider:t,txHash:r,onTransactionPending:n,onTransactionConfirmed:a,onTransactionReverted:i,request:s})=>{try{let c=oe(e,r);if(n({txHash:r,request:s,explorerLink:c}),(await me({operation:async()=>t.getTransactionReceipt(r),isSuccess:m=>!!m,backoffPolicy:j.linearThenExponential(15,750),maxRetries:20}))?.status===1)return a({txHash:r,explorerLink:c,request:s}),!0}catch(c){console.error(c);}return i({txHash:r,request:s}),!1},"waitForTransactionReceipt");var Pt=new Map,Tn=chunkVYIKXRYZ_cjs.a((e,t,r)=>(Pt.set(e,{signingRequests:t,displayData:r}),{updateTx:({maxFeeRate:n,maxTipRate:a},i)=>{let s=Pt.get(e);if(!s)throw rpcErrors.rpcErrors.resourceNotFound();let{signingRequests:c}=s,p={signingRequests:c.map((m,u)=>{if(i===void 0||i===u){let{signingData:f}=m;return {signingData:{...f,data:{...f.data,maxFeePerGas:n??f.data.maxFeePerGas,maxPriorityFeePerGas:a??f.data.maxPriorityFeePerGas}},displayData:m.displayData}}return m}),displayData:r};return Pt.set(e,p),p},cleanup:()=>Pt.delete(e)}),"getTxBatchUpdater");function fe(e){return !("type"in e)}chunkVYIKXRYZ_cjs.a(fe,"isNetworkToken");function xt(e){return e.type===vmModuleTypes.TokenType.ERC20}chunkVYIKXRYZ_cjs.a(xt,"isERC20Token");function kn(e){return typeof e.to=="string"}chunkVYIKXRYZ_cjs.a(kn,"hasToField");function bn(e){return "requestBatchApproval"in e&&typeof e.requestBatchApproval=="function"}chunkVYIKXRYZ_cjs.a(bn,"supportsBatchApprovals");function ao(e){return typeof e=="object"&&e!==null&&"ins"in e&&"outs"in e&&Array.isArray(e.ins)&&Array.isArray(e.outs)}chunkVYIKXRYZ_cjs.a(ao,"isBalanceChange");function so(e){return typeof e=="object"&&e!==null&&"approvals"in e&&"isEditable"in e&&Array.isArray(e.approvals)}chunkVYIKXRYZ_cjs.a(so,"isTokenApprovals");function mr(e){return ao(e)?e.ins.length===0&&e.outs.length===0:so(e)?e.approvals.length===0:!1}chunkVYIKXRYZ_cjs.a(mr,"isEmpty");var Rn=chunkVYIKXRYZ_cjs.a(async({chainId:e,params:t,domain:r,withGasEstimation:n,blockaid:a})=>{let i=["validation","simulation"];return n&&i.push("gas_estimation"),a.evm.transactionBulk.scan({chain:e.toString(),options:i,data:t,metadata:r&&r.length>0?{domain:r}:{non_dapp:!0}})},"scanTransactionBatch"),En=chunkVYIKXRYZ_cjs.a(async({chainId:e,params:t,domain:r,blockaid:n})=>n.evm.transaction.scan({account_address:t.from,chain:e.toString(),options:["validation","simulation"],data:{from:t.from,to:t.to,data:t.data,value:t.value,gas:t.gas,gas_price:t.gasPrice},metadata:r&&r.length>0?{domain:r}:{non_dapp:!0}}),"scanTransaction"),vn=chunkVYIKXRYZ_cjs.a(async({chainId:e,accountAddress:t,data:r,domain:n,blockaid:a})=>a.evm.jsonRpc.scan({chain:e.toString(),options:["validation","simulation"],account_address:t,data:r,metadata:n&&n.length>0?{domain:n}:{non_dapp:!0}}),"scanJsonRpc");var xn=chunkVYIKXRYZ_cjs.a(async(e,t,r)=>{if(!e.data)return {tokenApprovals:void 0,balanceChange:void 0};try{let n=new ethers.ethers.Contract(e.to,Pn__default.default.abi,r),a=await Promise.all([n.name?.(),n.symbol?.(),n.decimals?.()]),i=In__default.default(a[0]),s=In__default.default(a[1]),c=parseInt(a[2]),l={type:vmModuleTypes.TokenType.ERC20,name:i,chainId:t,symbol:s,decimals:c,address:e.to,contractType:"ERC-20"},p=new ethers.ethers.Interface(Pn__default.default.abi),m=p.getFunction(e.data.slice(0,10)),u=p.decodeFunctionData(e.data.slice(0,10),e.data);if(m?.name==="transfer")return {balanceChange:{outs:[{items:[{displayValue:new coreUtilsSdk.TokenUnit(u.amount,l.decimals,l.symbol).toDisplay(),usdPrice:void 0}],token:l}],ins:[]}};if(m?.name==="approve")return {tokenApprovals:{isEditable:!0,approvals:[{token:l,spenderAddress:u.spender,value:u.amount}]}}}catch(n){console.error("parseErc20Tx error",n);}return {tokenApprovals:void 0,balanceChange:void 0}},"parseWithErc20Abi");var ie={[vmModuleTypes.AlertType.WARNING]:{type:vmModuleTypes.AlertType.WARNING,details:{title:"Suspicious transaction",description:"Use caution, this transaction might be malicious."}},[vmModuleTypes.AlertType.DANGER]:{type:vmModuleTypes.AlertType.DANGER,details:{title:"Scam transaction",description:"This transaction has been flagged as malicious, I understand the risk.",body:["This transaction is malicious","do not proceed"],actionTitles:{reject:"Reject Transaction",proceed:"Proceed Anyway"}}}};var Nn=chunkVYIKXRYZ_cjs.a(async({rpcMethod:e,dAppUrl:t,params:r,chainId:n,provider:a,blockaid:i})=>{let s;try{s=await En({chainId:n,params:r,domain:t,blockaid:i});}catch(c){console.error("simulateTransaction error",c);}return dr({rpcMethod:e,params:r,chainId:n,provider:a,simulationResult:s})},"simulateTransaction"),dr=chunkVYIKXRYZ_cjs.a(async({rpcMethod:e,params:t,chainId:r,provider:n,simulationResult:a})=>{let i,s,c,l=!1,p;if(a){let{validation:m,simulation:u,gas_estimation:f}=a;m?.result_type==="Warning"?i=ie[vmModuleTypes.AlertType.WARNING]:m?.result_type==="Malicious"&&(i=ie[vmModuleTypes.AlertType.DANGER]),u?.status==="Success"&&(l=!0,c=Cn(e,u.account_summary),s=wn(u.account_summary.assets_diffs)),f?.status==="Success"&&(p=Number(f.estimate));}if(!l&&kn(t)){let m=await xn(t,r,n);s=m.balanceChange,c=m.tokenApprovals;}return {alert:i,balanceChange:s,tokenApprovals:c,isSimulationSuccessful:l,estimatedGasLimit:p}},"processTransactionSimulation"),go=chunkVYIKXRYZ_cjs.a(e=>e.trace_type==="ExposureTrace","isExposureTrace"),fo=chunkVYIKXRYZ_cjs.a((e,t)=>`${e.toLowerCase()}.${t.toLowerCase()}`,"normalizeAddresses"),yo=chunkVYIKXRYZ_cjs.a(e=>e===void 0||e.length===0?{}:e.reduce((t,r)=>go(r)?{[fo(r.spender,r.asset.address)]:r}:t,{}),"mapExposureTracesToSpenderAsset"),Cn=chunkVYIKXRYZ_cjs.a((e,t)=>{let{traces:r}=t,n=yo(r),a=Object.entries(n).map(([s,c])=>{let l=Dn(c.asset);if(!l)return;let p={token:l,spenderAddress:c.spender,logoUri:l.logoUri};if(c.type==="ERC20ExposureTrace"){let{exposed:{raw_value:m,value:u,usd_price:f}}=c;if(!u||u<=0)return;p.value=m,p.usdPrice=`${f}`;}if(c.type==="ERC721ExposureTrace")if(!c.exposed)p.value=`0x${ethers.MaxUint256.toString(16)}`;else {let{usd_price:m,amount:u}=c.exposed;p.value=`${u}`,p.usdPrice=`${m}`;}return p}).filter(Boolean);return a.length===0?void 0:{isEditable:a.length===1&&a[0]?.token.type===vmModuleTypes.TokenType.ERC20&&e===vmModuleTypes.RpcMethod.ETH_SEND_TRANSACTION,approvals:a}},"processTokenApprovals"),wn=chunkVYIKXRYZ_cjs.a(e=>{let t=Sn(e,"in"),r=Sn(e,"out");if(!(t.length===0&&r.length===0))return {ins:t,outs:r}},"processBalanceChange"),Sn=chunkVYIKXRYZ_cjs.a((e,t)=>e.filter(r=>r[t].length>0).sort((r,n)=>r[t].length-n[t].length).map(r=>{let n=r.asset,a="address"in n?Dn(n):ho(n);if(!a)return;let i=r[t].map(s=>{let c;if("value"in s&&s.value)if("decimals"in a){let u=coreUtilsSdk.numberToBN(s.value,a.decimals);c=coreUtilsSdk.balanceToDisplayValue(u,a.decimals);}else ethers.isHexString(s.value)&&(c=parseInt(s.value,16).toString());else "type"in a&&a.type===vmModuleTypes.TokenType.ERC721&&(c="1");if(!c)return;let l="logo_url"in s?s.logo_url:void 0,p="token_id"in s?s.token_id:void 0;return {displayValue:c,usdPrice:s.usd_price,...l!==void 0&&{logoUri:l},...p!==void 0&&{tokenId:p}}}).filter(s=>s!==void 0);return {token:a,items:i}}).filter(r=>r!==void 0),"processAssetDiffs"),Dn=chunkVYIKXRYZ_cjs.a(e=>{let t;return e.type==="ERC20"?t={type:vmModuleTypes.TokenType.ERC20,address:e.address,decimals:e.decimals,name:e.name??e.symbol??"",symbol:e.symbol??"",logoUri:e.logo_url}:e.type==="ERC1155"?t={type:vmModuleTypes.TokenType.ERC1155,address:e.address,logoUri:e.logo_url,name:e.name,symbol:e.symbol}:e.type==="ERC721"?t={type:vmModuleTypes.TokenType.ERC721,address:e.address,logoUri:e.logo_url,name:e.name,symbol:e.symbol}:e.type==="NONERC"&&(t={type:vmModuleTypes.TokenType.NONERC,address:e.address,logoUri:e.logo_url,name:e.name,symbol:e.symbol}),t},"convertAssetToNetworkContractToken"),ho=chunkVYIKXRYZ_cjs.a(e=>({name:e.name??"",symbol:e.symbol??"",decimals:e.decimals,description:"",logoUri:e.logo_url}),"convertNativeAssetToToken"),_n=chunkVYIKXRYZ_cjs.a(async({request:e,dAppUrl:t,accountAddress:r,chainId:n,data:a,blockaid:i})=>{let s,c,l;try{let{validation:p,simulation:m}=await vn({chainId:n,accountAddress:r,data:a,domain:t,blockaid:i});p?.result_type==="Warning"?s=ie[vmModuleTypes.AlertType.WARNING]:p?.result_type==="Malicious"&&(s=ie[vmModuleTypes.AlertType.DANGER]),m?.status==="Success"&&(l=Cn(e.method,m.account_summary),c=wn(m.account_summary.assets_diffs));}catch(p){console.error("processJsonRpcSimulation error",p),s=ie[vmModuleTypes.AlertType.WARNING];}return {alert:s,balanceChange:c,tokenApprovals:l}},"processJsonRpcSimulation");var Un=chunkVYIKXRYZ_cjs.a(async({rpcMethod:e,dAppUrl:t,params:r,chainId:n,provider:a,populateMissingGas:i,blockaid:s})=>{let c;try{c=await Rn({chainId:n,params:r,domain:t,withGasEstimation:i,blockaid:s});}catch(y){return console.error("simulateTransactionBatch error",y),{isSimulationSuccessful:!1,alert:ie[vmModuleTypes.AlertType.WARNING],scans:[]}}let l=await Promise.all(c.map(async(y,g)=>{let k=r[g],T=await dr({chainId:n,params:r[g],provider:a,rpcMethod:e,simulationResult:y});return i&&!k.gas&&T.estimatedGasLimit&&(k.gas=`0x${T.estimatedGasLimit.toString(16)}`),{transaction:k,...T}})),p=l.every(y=>y.isSimulationSuccessful),m=To(l),u=bo(l),f=ko(l);return {isSimulationSuccessful:p,alert:m,balanceChange:u,tokenApprovals:f,scans:l.map(y=>(y.tokenApprovals&&(y.tokenApprovals.isEditable=!1),y))}},"simulateTransactionBatch"),To=chunkVYIKXRYZ_cjs.a(e=>{let t={[vmModuleTypes.AlertType.INFO]:0,[vmModuleTypes.AlertType.WARNING]:1,[vmModuleTypes.AlertType.DANGER]:2};return e.reduce((r,{alert:n})=>n&&(!r||t[n.type]>t[r.type])?n:r,void 0)},"getHighestAlert"),ko=chunkVYIKXRYZ_cjs.a(e=>{let t=e.reduce((r,{tokenApprovals:n})=>(n&&n.approvals.forEach(a=>{let i=r.approvals.find(s=>a.token.address===s.token.address&&a.spenderAddress===s.spenderAddress);if(!i){r.approvals.push({...a});return}i.value=a.value,i.usdPrice=a.usdPrice;}),r),{approvals:[],isEditable:!1});return Ro(t,e),mr(t)?void 0:t},"aggregateTokenApprovals"),bo=chunkVYIKXRYZ_cjs.a(e=>{let t=e.reduce((r,{balanceChange:n})=>(n&&(n.ins.forEach(a=>{let i=Bn(r.ins,a);i?i.items.push(...a.items):r.ins.push(a);}),n.outs.forEach(a=>{let i=Bn(r.outs,a);i?i.items.push(...a.items):r.outs.push({...a});})),r),{ins:[],outs:[]});return mr(t)?void 0:t},"aggregateBalanceChange"),Bn=chunkVYIKXRYZ_cjs.a((e,t)=>e.find(r=>fe(r.token)&&fe(t.token)?r.token.symbol===t.token.symbol:!fe(r.token)&&!fe(t.token)?r.token.address===t.token.address:!1),"findTokenDiff"),Ro=chunkVYIKXRYZ_cjs.a((e,t)=>{for(let r of e.approvals)for(let n of t)if(!(!n.isSimulationSuccessful||!n.balanceChange||!n.balanceChange.outs.some(i=>!fe(i.token)&&!fe(r.token)&&i.token.address===r.token.address)))if(!n.tokenApprovals)e.approvals=e.approvals.filter(i=>i.spenderAddress!==r.spenderAddress&&r.token.address!==i.token.address);else {let i=n.tokenApprovals.approvals.find(s=>s.spenderAddress===r.spenderAddress&&s.token.address===r.token.address);if(!i)continue;r.usdPrice=i.usdPrice,r.value=i.value;}},"clearSpentApprovals");var Eo=chunkVYIKXRYZ_cjs.a(e=>{if(!e||typeof e!="object")return !1;let t=e;return typeof t.agentId=="string"&&typeof t.agentRegistry=="string"},"isAgentIdentityDeclaration"),Ce=chunkVYIKXRYZ_cjs.a(e=>{let t=e.context?.agentIdentity;return Eo(t)?t:null},"getAgentIdentityFromContext");var Fn=chunkVYIKXRYZ_cjs.a(async({request:e,network:t,approvalController:r,blockaid:n})=>{let{params:a}=e,{data:i,success:s,error:c}=pn(a);if(!s)return console.error("invalid params",c),{error:rpcErrors.rpcErrors.invalidParams(G("Transaction params are invalid",c))};let{transactions:l,options:p={}}=i,{skipIntermediateTxs:m=!1}=p;if(l.some(({chainId:V})=>!Et(V,t.chainId)))return {error:rpcErrors.rpcErrors.invalidParams(G("Transaction params are invalid",new Error(`The transactions target a different chain than ${t.chainName}`)))};let u=await M({chainId:t.chainId,chainName:t.chainName,rpcUrl:t.rpcUrl,multiContractAddress:t.utilityAddresses?.multicall,pollingInterval:1e3,customRpcHeaders:t.customRpcHeaders});try{await mn(l,u);}catch(V){return console.error("Unable to calculate nonce",V),{error:rpcErrors.rpcErrors.internal(G("Unable to calculate nonce",V))}}let f=l.every(V=>Number(V.gas)>0),{alert:y,balanceChange:g,isSimulationSuccessful:k,tokenApprovals:T,scans:v}=await Un({rpcMethod:e.method,chainId:t.chainId,params:l,dAppUrl:e.dappInfo.url,provider:u,populateMissingGas:!f,blockaid:n});if(!v.every(({transaction:V})=>Number(V.gas)>0))return console.error("Gas limit is missing in some transactions"),{error:rpcErrors.rpcErrors.internal({message:"Gas limit is missing in some transactions"})};let w=Ce(e),x=w?await se({declaration:w,rpcUrl:t.rpcUrl,chainId:t.chainId,chainName:t.chainName,customRpcHeaders:t.customRpcHeaders}):void 0,N={title:"Do you approve these transactions?",details:[{title:"Transaction Details",items:[J("Account",l[0].from),ht("Network",{name:t.chainName,logoUri:t.logoUri}),Ee("Website",e.dappInfo)]},...x?[xe(x)]:[]],isSimulationSuccessful:k,balanceChange:g,alert:y,tokenApprovals:T,networkFeeSelector:!0},pe=v.map(V=>It(e,t,V.transaction,V,x)),{cleanup:A,updateTx:P}=Tn(e.requestId,pe,N),B=await r.requestBatchApproval({request:e,signingRequests:pe,displayData:N,updateTx:P});if(A(),"error"in B)return {error:B.error};if(B.result.length!==l.length)return {error:rpcErrors.rpcErrors.internal({message:`Invalid number of signatures. Expected ${l.length}, got ${B.result.length}`})};let je=[];for(let[V,Ya]of B.result.entries()){let Lr=V===B.result.length-1,Kt=await At(u,Ya);if(Lr&&Qe({explorerUrl:t.explorerUrl??"",provider:u,txHash:Kt,onTransactionPending:r.onTransactionPending,onTransactionConfirmed:r.onTransactionConfirmed,onTransactionReverted:r.onTransactionReverted,request:e}),!Lr&&!m&&!await Qe({explorerUrl:t.explorerUrl??"",provider:u,txHash:Kt,onTransactionPending:r.onTransactionPending,onTransactionConfirmed:r.onTransactionConfirmed,onTransactionReverted:r.onTransactionReverted,request:e}))return {error:rpcErrors.rpcErrors.internal({message:`Transaction ${V+1} failed! Batch execution stopped`})};je.push(Kt);}return {result:je}},"ethSendTransactionBatch");function Mn(e,t,r){return new ethers.ethers.Contract(e,Pn__default.default.abi).interface.encodeFunctionData("approve",[t,r])}chunkVYIKXRYZ_cjs.a(Mn,"encodeApprovalLimit");var Ct=new Map,Vn=chunkVYIKXRYZ_cjs.a((e,t,r)=>(Ct.set(e,{signingData:t,displayData:r}),{updateTx:({maxFeeRate:n,maxTipRate:a,approvalLimit:i,gasLimit:s})=>{let c=Ct.get(e);if(!c)throw rpcErrors.rpcErrors.resourceNotFound();let{signingData:l,displayData:p}=c,m={...l,data:{...l.data,gasLimit:s??l.data.gasLimit,maxFeePerGas:n??l.data.maxFeePerGas,maxPriorityFeePerGas:a??l.data.maxPriorityFeePerGas}},u={...p};if(typeof i=="string"){if(!i.startsWith("0x"))throw rpcErrors.rpcErrors.invalidInput("Expected approvalLimit to be a hexadecimal number (0x-prefixed)");let y=p.tokenApprovals;Ao(y),Po(l.data.data);let g=y.approvals[0];m.data.data=Mn(g.token.address,g.spenderAddress,i),u.tokenApprovals={approvals:[{...g,value:i}],isEditable:!0};}let f={signingData:m,displayData:u};return Ct.set(e,f),f},cleanup:()=>Ct.delete(e)}),"getTxUpdater");function Ao(e){if(!e||!e.isEditable||e.approvals.length!==1)throw rpcErrors.rpcErrors.invalidInput("Cannot edit the token approval for this request. Please start a new request instead.")}chunkVYIKXRYZ_cjs.a(Ao,"ensureTokenApprovalCanBeEdited");function Po(e){if((!e||e==="0x"?null:Se({data:e??void 0}))!=="approve")throw rpcErrors.rpcErrors.invalidInput("Cannot change invoked method for requests in progress. Please start a new request instead.")}chunkVYIKXRYZ_cjs.a(Po,"ensureApproveWasCalled");var Ln=chunkVYIKXRYZ_cjs.a(async({transactionParams:{from:e,to:t,data:r,value:n,accessList:a},provider:i})=>{let s=await i.getTransactionCount(e);return Number(await i.estimateGas({from:e,to:t,nonce:s,data:r,value:n,accessList:a}))},"estimateGasLimit");var So=zod.z.tuple([Pe]),Gn=chunkVYIKXRYZ_cjs.a(e=>So.safeParse(e),"parseRequestParams");var $n=chunkVYIKXRYZ_cjs.a(async({request:e,network:t,approvalController:r,blockaid:n,eercEnabled:a=!1})=>{let{params:i}=e,{data:s,error:c,success:l}=Gn(i);if(!l)return console.error("invalid params",c),{error:rpcErrors.rpcErrors.invalidParams(G("Transaction params are invalid",c))};let[p]=s;if(!Et(p.chainId,t.chainId))return {error:rpcErrors.rpcErrors.invalidParams(G("Transaction params are invalid",new Error(`The transaction targets a different chain than ${t.chainName}`)))};let m=await M({chainId:t.chainId,chainName:t.chainName,rpcUrl:t.rpcUrl,multiContractAddress:t.utilityAddresses?.multicall,pollingInterval:1e3,customRpcHeaders:t.customRpcHeaders});if(!p.gas||Number(p.gas)<0)try{let N=await Ln({transactionParams:{from:p.from,to:p.to,data:p.data,value:p.value,accessList:p.accessList},provider:m});p.gas="0x"+N.toString(16);}catch(N){return {error:rpcErrors.rpcErrors.internal(G("Unable to calculate gas limit",N))}}if(!p.nonce)try{let N=await vt({from:p.from,provider:m});p.nonce=String(N);}catch(N){return {error:rpcErrors.rpcErrors.internal(G("Unable to calculate nonce",N))}}let u=Ce(e),f=u?await se({declaration:u,rpcUrl:t.rpcUrl,chainId:t.chainId,chainName:t.chainName,customRpcHeaders:t.customRpcHeaders}):void 0,y=await Nn({rpcMethod:e.method,chainId:t.chainId,params:p,dAppUrl:e.dappInfo.url,provider:m,blockaid:n}),{displayData:g,signingData:k}=It(e,t,p,y,f,a),{updateTx:T,cleanup:v}=Vn(e.requestId,k,g),R=await r.requestApproval({request:e,displayData:g,signingData:k,updateTx:T});if(v(),"error"in R)return {error:R.error};let w,x=e.context?.shouldRetry===!0;try{w=await At(m,R,{shouldRetry:x});}catch(N){return {error:rpcErrors.rpcErrors.internal(G("Unable to get transaction hash",N))}}return Qe({explorerUrl:t.explorerUrl??"",provider:m,txHash:w,onTransactionPending:r.onTransactionPending,onTransactionConfirmed:r.onTransactionConfirmed,onTransactionReverted:r.onTransactionReverted,request:e}),{result:w}},"ethSendTransaction");var Dt=chunkVYIKXRYZ_cjs.a(e=>{let t="";t+=`Domain
|
|
26
|
+
function Gr(e){let t,r=0;for(t=0;t<e.length;t++)r+=e.charCodeAt(t)*(t+1);return r}chunkVYIKXRYZ_cjs.a(Gr,"charsum");function Jt(e){let t,r=0;for(t=0;t<e.length;t++){let n=Gr(e[t]??"");r=r+65027/n;}return (""+r).slice(0,16)}chunkVYIKXRYZ_cjs.a(Jt,"arrayHash");var me=chunkVYIKXRYZ_cjs.a(async({operation:e,isSuccess:t,maxRetries:r=10,backoffPolicy:n=j.exponential()})=>{let a=0,i=0,s;for(;i<r;){i>0&&await Ka(a);try{let l=await e(i);if(t(l))return l}catch(l){s=l;}a=n(i),i++;}let c=s?`Max retry exceeded. ${s}`:"Max retry exceeded.";throw new Error(c)},"retry"),Xt=class Xt{static exponential(){return t=>Math.pow(2,t)*1e3}static constant(t){return r=>t*1e3}static constantMs(t){return r=>t}static linearThenExponential(t,r){return n=>{if(n<t)return (n+1)*r;let a=n-t+1,i=t*r,s=2*r*(Math.pow(2,a)-1);return i+s}}};chunkVYIKXRYZ_cjs.a(Xt,"RetryBackoffPolicy");var j=Xt;function Ka(e){return new Promise(t=>setTimeout(t,e))}chunkVYIKXRYZ_cjs.a(Ka,"delay");var Zt=chunkVYIKXRYZ_cjs.a(e=>me({operation:t=>e(t>0),maxRetries:2,backoffPolicy:j.constant(1),isSuccess:t=>t?.status?.error_code!==429}),"coingeckoRetry");async function $(e,t,r=fetch){let n=await r(...e);if(!n.ok)throw new Error(`Request failed with status ${n.status}`);let a=await n.json();return t.parse(a)}chunkVYIKXRYZ_cjs.a($,"fetchAndVerify");var Qt=class Qt{constructor(t,r){this.proxyApiUrl=t;this.fetchFn=r;}simplePrice(t){let r=new URLSearchParams(t);return $([`${this.proxyApiUrl}/proxy/coingecko/simple/price?${r}`,{method:"POST",headers:{"Content-Type":"application/json"}}],vmModuleTypes.RawSimplePriceResponseSchema,this.fetchFn)}simplePriceByContractAddresses(t){let{id:r,...n}=t,a=new URLSearchParams(n);return $([`${this.proxyApiUrl}/proxy/coingecko/simple/token_price/${r}?${a}`,{method:"POST",headers:{"Content-Type":"application/json"}}],vmModuleTypes.RawSimplePriceResponseSchema,this.fetchFn)}};chunkVYIKXRYZ_cjs.a(Qt,"CoingeckoProxyClient");var qe=Qt;var Ja=zod.z.array(zod.z.object({internalId:zod.z.string(),id:zod.z.string(),symbol:zod.z.string(),name:zod.z.string(),image:zod.z.string().optional().nullable(),current_price:zod.z.number().optional().nullable(),price_change_percentage_24h:zod.z.number().optional().nullable(),market_cap:zod.z.number().optional().nullable(),total_volume:zod.z.number().optional().nullable(),platforms:zod.z.record(zod.z.string(),zod.z.string())})),er=class er{constructor(t){this.proxyApiUrl=t;}watchlistToken(t){let r=new URLSearchParams(t);return $([`${this.proxyApiUrl}/watchlist/tokens?${r}`,{method:"GET",headers:{"Content-Type":"application/json"}}],Ja)}};chunkVYIKXRYZ_cjs.a(er,"WatchlistProxyClient");var ft=er;var ne,de,ue,Re,tr=class tr{constructor({storage:t,proxyApiUrl:r,fetch:n}){chunkVYIKXRYZ_cjs.d(this,ne,void 0);chunkVYIKXRYZ_cjs.d(this,de,void 0);chunkVYIKXRYZ_cjs.d(this,ue,void 0);chunkVYIKXRYZ_cjs.d(this,Re,void 0);chunkVYIKXRYZ_cjs.b(this,"transformSimplePriceResponse",chunkVYIKXRYZ_cjs.a((t,r=[coreCoingeckoSdk.VsCurrencyType.USD])=>{let n={};return Object.keys(t).forEach(a=>{let i=t[a];n[a]={},r.forEach(s=>{n[a]={[s]:{price:i?.[s],change24:i?.[`${s}_24h_change`],vol24:i?.[`${s}_24h_vol`],marketCap:i?.[`${s}_market_cap`]}};});}),n},"transformSimplePriceResponse"));chunkVYIKXRYZ_cjs.e(this,ne,t),chunkVYIKXRYZ_cjs.e(this,de,r),chunkVYIKXRYZ_cjs.e(this,ue,n??globalThis.fetch),chunkVYIKXRYZ_cjs.e(this,Re,coreCoingeckoSdk.getBasicCoingeckoHttp(void 0,chunkVYIKXRYZ_cjs.c(this,ue)));}async getWatchlistDataForToken({tokenDetails:t,currency:r=coreCoingeckoSdk.VsCurrencyType.USD}){let n=(await new ft(chunkVYIKXRYZ_cjs.c(this,de)).watchlistToken({tokens:t.symbol,currency:r})).filter(i=>t.isNative?i.internalId===`NATIVE-${t.symbol.toLowerCase()}`:i.platforms[t.caip2Id]===t.address),[a]=n;return a?{priceInCurrency:a.current_price??0,change24:a.price_change_percentage_24h??0,marketCap:a.market_cap??0,vol24:a.total_volume??0}:{priceInCurrency:0,change24:0,marketCap:0,vol24:0}}async getSimplePrice({coinIds:t=[],currencies:r=[coreCoingeckoSdk.VsCurrencyType.USD]}){let n,i=`getSimplePrice-${t?`${Jt(t)}-${r.toString()}`:`${r.toString()}`}`;if(n=chunkVYIKXRYZ_cjs.c(this,ne)?.get?.(i),n)return n;try{n=await Zt(s=>this.simplePrice({coinIds:t,currencies:r,marketCap:!0,vol24:!0,change24:!0,useCoingeckoProxy:s}));}catch{n=void 0;}return chunkVYIKXRYZ_cjs.c(this,ne)?.set?.(i,n),n}async getPricesByAddresses(t,r,n=coreCoingeckoSdk.VsCurrencyType.USD){let a,s=`getPricesWithMarketDataByAddresses-${`${Jt(t)}-${r}-${n}`}`;if(a=chunkVYIKXRYZ_cjs.c(this,ne)?.get?.(s),a)return a;try{a=await Zt(c=>this.fetchPricesByAddresses({assetPlatformId:r,tokenAddresses:t,currency:n,useCoingeckoProxy:c}));}catch(c){console.error(c),a=void 0;}return chunkVYIKXRYZ_cjs.c(this,ne)?.set?.(s,a),a}async fetchPricesByAddresses({assetPlatformId:t,tokenAddresses:r,currency:n=coreCoingeckoSdk.VsCurrencyType.USD,useCoingeckoProxy:a=!1}){if(a){let i=await new qe(chunkVYIKXRYZ_cjs.c(this,de),chunkVYIKXRYZ_cjs.c(this,ue)).simplePriceByContractAddresses({id:t,contract_addresses:r,vs_currencies:[n],include_market_cap:!0,include_24hr_vol:!0,include_24hr_change:!0});return this.transformSimplePriceResponse(i,[n])}return coreCoingeckoSdk.simpleTokenPrice(chunkVYIKXRYZ_cjs.c(this,Re),{assetPlatformId:t,tokenAddresses:r,currencies:[n],marketCap:!0,vol24:!0,change24:!0})}async simplePrice({coinIds:t=[],currencies:r=[coreCoingeckoSdk.VsCurrencyType.USD],marketCap:n=!1,vol24:a=!1,change24:i=!1,lastUpdated:s=!1,useCoingeckoProxy:c=!1,shouldThrow:l=!0}){if(c){let p=await new qe(chunkVYIKXRYZ_cjs.c(this,de),chunkVYIKXRYZ_cjs.c(this,ue)).simplePrice({ids:t,vs_currencies:r,include_market_cap:n,include_24hr_vol:a,include_24hr_change:i,include_last_updated_at:s});return this.transformSimplePriceResponse(p,r)}return coreCoingeckoSdk.simplePrice(chunkVYIKXRYZ_cjs.c(this,Re),{coinIds:t,currencies:r,marketCap:n,vol24:a,change24:i,lastUpdated:s,shouldThrow:l})}};ne=new WeakMap,de=new WeakMap,ue=new WeakMap,Re=new WeakMap,chunkVYIKXRYZ_cjs.a(tr,"TokenService");var ae=tr;var as="https://cdn.jsdelivr.net/npm/@fawazahmed0/currency-api@latest/v1/currencies/usd.min.json",ss="https://latest.currency-api.pages.dev/v1/currencies/usd.min.json",Or=zod.object({date:zod.string(),usd:zod.record(zod.number())}),yt=chunkVYIKXRYZ_cjs.a(async()=>{try{return await $([as],Or)}catch{return await $([ss],Or)}},"getExchangeRates");var rr=chunkVYIKXRYZ_cjs.a((e,t,r,n,a)=>({label:e,type:vmModuleTypes.DetailItemType.CURRENCY,value:t,maxDecimals:r,symbol:n,...a===void 0?{}:{isNativeToken:a}}),"currencyItem"),O=chunkVYIKXRYZ_cjs.a((e,t,r="horizontal")=>({label:e,alignment:r,type:vmModuleTypes.DetailItemType.TEXT,value:t}),"textItem"),Ee=chunkVYIKXRYZ_cjs.a((e,t)=>({label:e,value:t,type:vmModuleTypes.DetailItemType.LINK}),"linkItem"),J=chunkVYIKXRYZ_cjs.a((e,t)=>({label:e,type:vmModuleTypes.DetailItemType.ADDRESS,value:t}),"addressItem");var ht=chunkVYIKXRYZ_cjs.a((e,t)=>({label:e,type:vmModuleTypes.DetailItemType.NETWORK,value:t}),"networkItem");var nr=chunkVYIKXRYZ_cjs.a(({name:e,version:t})=>{switch(e){case vmModuleTypes.AppName.CORE_MOBILE_IOS:case vmModuleTypes.AppName.CORE_MOBILE_ANDROID:case vmModuleTypes.AppName.CORE_WEB:case vmModuleTypes.AppName.CORE_EXTENSION:case vmModuleTypes.AppName.EXPLORER:return {"x-application-name":e,"x-application-version":t};case vmModuleTypes.AppName.OTHER:return}},"getCoreHeaders");var Hr=process.env.GLACIER_API_KEY;var Ye=chunkVYIKXRYZ_cjs.a(()=>Hr,"getGlacierApiKey");var os=["glacier-api.avax.network","proxy-api.avax.network","proxy-api-dev.avax.network","core-proxy-api.avax.network","core-proxy-api.avax-test.network"];function ar(e){let t=new URL(e),r=Ye();if(r&&os.includes(t.hostname)){let n=t.searchParams;return n.set("token",r),t.search=n.toString(),t.toString()}return e}chunkVYIKXRYZ_cjs.a(ar,"addGlacierAPIKeyIfNeeded");var ls={rltoken:Ye()},ge,Tt,kt,jr,bt,qr,sr=class sr extends glacierSdk.FetchHttpRequest{constructor(r){super(r);chunkVYIKXRYZ_cjs.d(this,kt);chunkVYIKXRYZ_cjs.d(this,bt);chunkVYIKXRYZ_cjs.d(this,ge,0);chunkVYIKXRYZ_cjs.d(this,Tt,j.exponential());}request(r){let n={...ls,...r.query||{}},a={...r,query:Object.keys(n).length>0?n:void 0},i=chunkVYIKXRYZ_cjs.a(()=>super.request(a),"getRequest");return chunkVYIKXRYZ_cjs.c(this,ge)>0?chunkVYIKXRYZ_cjs.f(this,bt,qr).call(this,i):chunkVYIKXRYZ_cjs.f(this,kt,jr).call(this,i)}};ge=new WeakMap,Tt=new WeakMap,kt=new WeakSet,jr=chunkVYIKXRYZ_cjs.a(function(r){let n=r();return new glacierSdk.CancelablePromise((a,i,s)=>{s(()=>n.cancel()),n.then(c=>{chunkVYIKXRYZ_cjs.e(this,ge,0),a(c);}).catch(c=>{if(c instanceof glacierSdk.ApiError){let l=c.status===429,p=c.status>=500&&c.status<600;chunkVYIKXRYZ_cjs.e(this,ge,chunkVYIKXRYZ_cjs.c(this,ge)+Number(l||p));}i(c);});})},"#request"),bt=new WeakSet,qr=chunkVYIKXRYZ_cjs.a(function(r){let n=chunkVYIKXRYZ_cjs.c(this,Tt).call(this,chunkVYIKXRYZ_cjs.c(this,ge));return new glacierSdk.CancelablePromise((a,i,s)=>{let c=setTimeout(()=>{let l=r();s(()=>{l.cancel(),clearTimeout(c);}),l.then(a).catch(i);},n);})},"#postponeRequest"),chunkVYIKXRYZ_cjs.a(sr,"GlacierFetchHttpRequest");var Ke=sr;var G=chunkVYIKXRYZ_cjs.a((e,t)=>({message:`${e}${t instanceof Error?`: ${t.message}`:""}`,data:{cause:t}}),"rpcErrorOpts");var zr={name:"EVM",description:"",version:"0.0.1",sources:{module:{checksum:"",location:{npm:{filePath:"dist/index.js",packageName:"@avalabs/evm-module",registry:"https://registry.npmjs.org"}}},provider:{checksum:"",location:{npm:{filePath:"dist/provider/index.js",packageName:"@avalabs/evm-module",registry:"https://registry.npmjs.org"}}}},network:{chainIds:[],namespaces:["eip155"]},cointype:"60",permissions:{rpc:{dapps:!0,methods:["personal_sign","avalanche_declareAgentIdentity","eth_sendTransaction","eth_sendTransactionBatch","eth_*","web3_clientVersion","web3_sha3","net_version","net_peerCount","net_listening"],nonRestrictedMethods:["eth_requestAccounts","eth_decrypt","eth_getEncryptionPublicKey","eth_subscribe","eth_unsubscribe","eth_blockNumber","eth_call","eth_chainId","eth_coinbase","eth_estimateGas","eth_feeHistory","eth_gasPrice","eth_getBalance","eth_getBlockByHash","eth_getBlockByNumber","eth_getBlockTransactionCountByHash","eth_getBlockTransactionCountByNumber","eth_getCode","eth_getFilterChanges","eth_getFilterLogs","eth_getLogs","eth_getProof","eth_getStorageAt","eth_getTransactionByBlockHashAndIndex","eth_getTransactionByBlockNumberAndIndex","eth_getTransactionByHash","eth_getTransactionCount","eth_getTransactionReceipt","eth_getUncleCountByBlockHash","eth_getUncleCountByBlockNumber","eth_newBlockFilter","eth_newFilter","eth_newPendingTransactionFilter","eth_syncing","eth_uninstallFilter","net_version","net_peerCount","net_listening","web3_sha3","web3_clientVersion"]}},manifestVersion:"0.1"};var Yr="DUMMY_API_KEY";var ms={glacierApiUrl:"https://core-proxy-api.avax.network/v1/proxy/glacier",proxyApiUrl:"https://proxy-api.avax.network"},ds={glacierApiUrl:"https://core-proxy-api.avax-test.network/v1/proxy/glacier",proxyApiUrl:"https://proxy-api-dev.avax.network"},Jr=chunkVYIKXRYZ_cjs.a(e=>{switch(e){case vmModuleTypes.Environment.PRODUCTION:return ms;case vmModuleTypes.Environment.DEV:return ds}},"getEnv");var Ie=chunkVYIKXRYZ_cjs.a(({accountIndex:e,derivationPathType:t})=>{if(e<0)throw rpcErrors.rpcErrors.invalidParams("Account index must be a non-negative integer");switch(t){case"bip44":return {[vmModuleTypes.NetworkVMType.EVM]:`m/44'/60'/0'/0/${e}`};case"ledger_live":return {[vmModuleTypes.NetworkVMType.EVM]:`m/44'/60'/${e}'/0/0`};default:throw rpcErrors.rpcErrors.invalidParams(`Unsupported derivation path type: ${t}`)}},"buildDerivationPath");var M=chunkVYIKXRYZ_cjs.a(async e=>{let{chainId:t,chainName:r,rpcUrl:n,multiContractAddress:a,pollingInterval:i=2e3,customRpcHeaders:s}=e,c=ar(n),l=c;if(s){let m=new ethers.FetchRequest(c);for(let[u,f]of Object.entries(s))m.setHeader(u,f);l=m;}let p=new coreWalletsSdk.JsonRpcBatchInternal({maxCalls:40,multiContractAddress:a},l,new ethers.Network(r,t));return p.pollingInterval=i,p},"getProvider");var hs=5*60*1e3,Ts={43114:"0x8004BAa17C55a88189AE136b182e5fdA19dE9b63"},ks=["function ownerOf(uint256 tokenId) view returns (address)","function tokenURI(uint256 tokenId) view returns (string)","function agentURI(uint256 agentId) view returns (string)","function getMetadata(uint256 agentId, string metadataKey) view returns (bytes)"],bs=["function getSummary(uint256 agentId, address[] clientAddresses, string tag1, string tag2) view returns (uint64 count, int128 summaryValue, uint8 summaryValueDecimals)","function readAllFeedback(uint256 agentId, address[] clientAddresses, string tag1, string tag2, bool includeRevoked) view returns (address[] clients, uint64[] feedbackIndexes, int128[] values, uint8[] valueDecimals, string[] tag1s, string[] tag2s, bool[] isRevoked)","function getIdentityRegistry() view returns (address)"],en=new Map,Rs=chunkVYIKXRYZ_cjs.a(e=>e===null?"unknown":e>=75?"high":e>=40?"medium":"low","getTrustLevel"),Es=chunkVYIKXRYZ_cjs.a(e=>e===null||!Number.isFinite(e)?null:Math.max(0,Math.min(100,Math.trunc(e))),"clampScore"),ir=chunkVYIKXRYZ_cjs.a(e=>{let t=typeof e=="bigint"?Number(e):e;return Number.isFinite(t)?t:null},"toNumber"),tn=chunkVYIKXRYZ_cjs.a((e,t)=>{let r=ir(e),n=ir(t);return r===null||n===null||n<0?null:r/10**n},"scaleFixedPoint"),vs=chunkVYIKXRYZ_cjs.a(e=>Array.isArray(e),"isReputationSummaryTuple"),Ae=chunkVYIKXRYZ_cjs.a(e=>Array.isArray(e),"isReputationFeedbackTuple"),Is=chunkVYIKXRYZ_cjs.a(e=>vs(e)?{count:e[0],summaryValue:e[1],summaryValueDecimals:e[2]}:e,"getSummaryValue"),As=chunkVYIKXRYZ_cjs.a(e=>{let t=Ae(e)?e[2]:e.values,r=Ae(e)?e[3]:e.valueDecimals,n=Ae(e)?e[4]:e.tag1s,a=Ae(e)?e[5]:e.tag2s,i=Ae(e)?e[6]:e.isRevoked;return t.map((s,c)=>({value:s,valueDecimals:r[c]??0,tag1:n[c],tag2:a[c],isRevoked:i[c]}))},"getFeedbackValues"),Ps=chunkVYIKXRYZ_cjs.a(e=>{let t=e.filter(r=>r!==null);return t.length?t.reduce((r,n)=>r+n,0)/t.length:null},"averageScores"),or="starred",xs=chunkVYIKXRYZ_cjs.a(e=>{let t=new Set,r=[];for(let n of e)try{let a=ethers.getAddress(n);t.has(a)||(t.add(a),r.push(a));}catch{continue}return r},"dedupeAddresses"),Ss=chunkVYIKXRYZ_cjs.a(e=>Ae(e)?e[0]:e.clients,"getFeedbackClients"),Ns=chunkVYIKXRYZ_cjs.a(async(e,t,r)=>{try{if(ethers.getAddress(await e.getIdentityRegistry())!==t)return null;let a=await e.readAllFeedback(r,[],or,"",!1),i=As(a).filter(c=>c.tag1===void 0||c.tag1===or).filter(c=>!c.isRevoked),s=xs(Ss(a));if(s.length)try{let c=Is(await e.getSummary(r,s,or,""));if(ir(c.count))return tn(c.summaryValue,c.summaryValueDecimals)}catch{}return Ps(i.map(c=>tn(c.value,c.valueDecimals)))}catch{return null}},"resolveReputationScore"),Cs=chunkVYIKXRYZ_cjs.a(async(e,t)=>{if(!e)return !1;try{return ethers.getAddress(await e.getIdentityRegistry())===t}catch{return !1}},"isKnownIdentityRegistry"),ws=chunkVYIKXRYZ_cjs.a(e=>{let[t,r,n]=e.split(":");if(t!=="eip155"||!r||!n)return null;let a=Number(r);if(!Number.isInteger(a))return null;try{return {chainId:a,address:ethers.getAddress(n)}}catch{return null}},"parseAgentRegistry"),Rt=chunkVYIKXRYZ_cjs.a(e=>({agentId:e.agentId,agentRegistry:e.agentRegistry,owner:null,reputationScore:null,metadataUri:null,trustLevel:"unknown"}),"buildFallback"),rn=chunkVYIKXRYZ_cjs.a(async e=>{let t=await Promise.allSettled(e.map(r=>r()));for(let r of t)if(r.status==="fulfilled"&&r.value!=null)return r.value;return null},"callFirst"),nn=chunkVYIKXRYZ_cjs.a(e=>{if(!e||e==="0x")return null;try{return ethers.toUtf8String(e)}catch{return null}},"decodeMetadata"),se=chunkVYIKXRYZ_cjs.a(async({declaration:e,rpcUrl:t,chainId:r,chainName:n,customRpcHeaders:a})=>{let i=en.get(`${t}:${e.agentRegistry}:${e.agentId}`);if(i&&i.expiresAt>Date.now())return i.value;let s=ws(e.agentRegistry);if(!s||s.chainId!==r)return Rt(e);if(!/^\d+$/.test(e.agentId))return Rt({...e,agentRegistry:`eip155:${s.chainId}:${s.address}`});let c={...e,agentRegistry:`eip155:${s.chainId}:${s.address}`},l=Rt(c),p=await M({chainId:r,chainName:n,rpcUrl:t,customRpcHeaders:a}),m=new ethers.Contract(s.address,ks,p),u=Ts[s.chainId],f=u?new ethers.Contract(u,bs,p):null;if(!await Cs(f,s.address))return l;let[y,g,k]=await Promise.all([rn([async()=>ethers.getAddress(await m.ownerOf(BigInt(e.agentId)))]),rn([async()=>await m.tokenURI(BigInt(e.agentId)),async()=>await m.agentURI(BigInt(e.agentId)),async()=>nn(await m.getMetadata(BigInt(e.agentId),"agentURI")),async()=>nn(await m.getMetadata(BigInt(e.agentId),"uri"))]),f?Ns(f,s.address,BigInt(e.agentId)):Promise.resolve(null)]),T=Es(k??null),v={...l,owner:y??null,metadataUri:g??null,reputationScore:T,trustLevel:Rs(T)};return en.set(`${t}:${e.agentRegistry}:${e.agentId}`,{expiresAt:Date.now()+hs,value:v}),v},"resolveAgentIdentity");var _s=zod.z.object({agentId:zod.z.coerce.string().regex(/^\d+$/),agentRegistry:zod.z.string().min(1)}),an=chunkVYIKXRYZ_cjs.a(async({request:e,network:t})=>{let r=_s.safeParse(e.params);return r.success?{result:await se({declaration:r.data,rpcUrl:t.rpcUrl,chainId:t.chainId,chainName:t.chainName,customRpcHeaders:t.customRpcHeaders})}:(console.error("invalid params",r.error),{error:rpcErrors.rpcErrors.invalidParams({message:"Agent identity params are invalid",data:{cause:r.error.flatten()}})})},"avalancheDeclareAgentIdentity");var sn=chunkVYIKXRYZ_cjs.a(e=>"derivationPathType"in e&&"accountIndex"in e&&typeof e.accountIndex=="number"&&typeof e.derivationPathType=="string","hasDerivationDetails");var on=chunkVYIKXRYZ_cjs.a(async e=>{let{secretId:t,approvalController:r}=e,n=sn(e)?Ie(e).EVM:void 0,a=await r.requestPublicKey({curve:"secp256k1",secretId:t,derivationPath:n});return {[vmModuleTypes.NetworkVMType.EVM]:ethers.computeAddress(`0x${a}`)}},"deriveAddress");var cn=chunkVYIKXRYZ_cjs.a(async e=>{let{approvalController:t,secretId:r,accountIndices:n,derivationPathType:a}=e;if(n.length===0)return [];await cryptoSdk.init();let i=await Promise.all(n.map(async c=>{let l=Ie({accountIndex:c,derivationPathType:a}).EVM,p=await t.requestPublicKey({curve:"secp256k1",secretId:r,derivationPath:l});return Uint8Array.from(Buffer.from(p,"hex"))}));return (await cryptoSdk.deriveAddressesForEvm(i)).map(c=>({[vmModuleTypes.NetworkVMType.EVM]:c}))},"deriveAddresses");var Pe=zod.z.object({from:zod.z.string().length(42),to:zod.z.string().length(42).optional(),data:zod.z.string().optional(),value:zod.z.string().startsWith("0x").optional(),gas:zod.z.string().startsWith("0x").optional(),gasPrice:zod.z.string().startsWith("0x").optional(),maxFeePerGas:zod.z.string().startsWith("0x").optional(),maxPriorityFeePerGas:zod.z.string().startsWith("0x").optional(),nonce:zod.z.string().optional(),chainId:zod.z.string().optional().or(zod.z.number().optional()),accessList:zod.z.array(zod.z.object({address:zod.z.string().startsWith("0x"),storageKeys:zod.z.array(zod.z.string())})).optional()});var ln=zod.z.tuple([Pe,Pe]).rest(Pe).refine(e=>lr(e,"chainId"),{message:'All transactions must use the same "chainId"'}).refine(e=>lr(e,"from"),{message:'All transactions must use the same "from" address'}).refine(e=>Os(e,"nonce")||$s(e,"nonce"),{message:'Each transaction needs a different "nonce". Make them different, or leave them empty for all transactions.'}),Vs=zod.z.object({skipIntermediateTxs:zod.z.boolean().optional()}),Gs=zod.z.union([ln,zod.z.object({transactions:ln,options:Vs.optional()})]);function $s(e,t){return !lr(e,t)}chunkVYIKXRYZ_cjs.a($s,"areAllDifferentByProp");function Os(e,t){return e.every(r=>r[t]===void 0||r[t]==="")}chunkVYIKXRYZ_cjs.a(Os,"areAllEmptyByProp");function lr(e,t){return new Set(e.map(n=>n[t])).size===1}chunkVYIKXRYZ_cjs.a(lr,"areAllEqualByProp");var pn=chunkVYIKXRYZ_cjs.a(e=>{let t=Gs.safeParse(e);return t.success?Array.isArray(t.data)?{success:!0,data:{transactions:t.data,options:{}}}:{success:!0,data:{transactions:t.data.transactions,options:t.data.options??{}}}:t},"parseRequestParams");var Et=chunkVYIKXRYZ_cjs.a((e,t)=>{if(e===void 0||e==="")return !0;if(typeof e=="number")return e===t;if(!(e.startsWith("0x")||e.startsWith("0X"))&&!/^\d+$/.test(e))return !1;try{return BigInt(e)===BigInt(t)}catch{return !1}},"isMatchingChainId");var vt=chunkVYIKXRYZ_cjs.a(async({from:e,provider:t})=>t.getTransactionCount(e),"getNonce");var mn=chunkVYIKXRYZ_cjs.a(async(e,t)=>{if(e[0].nonce)return;let r=await vt({from:e[0].from,provider:t});return Promise.all(e.map(async(n,a)=>{n.nonce=String(r+a);}))},"ensureProperNonces");var Hs=chunkVYIKXRYZ_cjs.a(e=>e.startsWith("https://")||e.startsWith("http://")||e.startsWith("ipfs://"),"isNavigableMetadataUri"),Ws=chunkVYIKXRYZ_cjs.a(e=>e.startsWith("data:"),"isEmbeddedDataUri"),xe=chunkVYIKXRYZ_cjs.a(e=>{let t=[O("Agent ID",e.agentId),O("Registry",e.agentRegistry,"vertical"),O("Trust level",e.trustLevel)];return e.reputationScore!==null&&t.push(O("Reputation score",String(e.reputationScore))),e.owner&&t.push(J("Owner",e.owner)),e.metadataUri&&t.push(Hs(e.metadataUri)?Ee("Metadata",{url:e.metadataUri,name:e.metadataUri}):Ws(e.metadataUri)?O("Metadata","Embedded data URI","vertical"):O("Metadata",e.metadataUri,"vertical")),{title:"Agent Identity",items:t}},"buildAgentIdentityDetailSection");var dn=[vmModuleTypes.TransactionType.SEND,vmModuleTypes.TransactionType.RECEIVE,vmModuleTypes.TransactionType.TRANSFER,vmModuleTypes.TransactionType.NFT_SEND,vmModuleTypes.TransactionType.NFT_RECEIVE],X=(s=>(s.TOTAL_SUPPLY="totalSupply",s.BALANCE_OF="balanceOf",s.TRANSFER="transfer",s.TRANSFER_FROM="transferFrom",s.APPROVE="approve",s.ALLOWANCE="allowance",s))(X||{}),pr=(n=>(n.NATIVE_TRANSFER="native_transfer",n.ERC20_TRANSFER="erc20_transfer",n.CONTRACT_CALL="contract_call",n))(pr||{});var Se=chunkVYIKXRYZ_cjs.a(e=>{if(e.data)try{let r=new ethers.Interface(Pn__default.default.abi).parseTransaction({data:e.data,value:e.value}),n=r?.name??r?.fragment?.name;return n&&zs(n)?n:void 0}catch{return}},"parseERC20TransactionType");function zs(e){return Object.values(X).includes(e)}chunkVYIKXRYZ_cjs.a(zs,"isERC20TransactionType");var un=chunkVYIKXRYZ_cjs.a(e=>{if(e.data)try{let r=new ethers.Interface(Pn__default.default.abi).parseTransaction({data:e.data,value:e.value}),n=r?.name??r?.fragment?.name;if(n==="transfer"||n==="transferFrom"){let a=r?.args.to;if(typeof a=="string")return a}}catch{}return e.to},"getRecipientAddress");var gn=chunkVYIKXRYZ_cjs.a(e=>{if(!!!(e.data&&e.data!=="0x"))return "native_transfer";let r=Se(e);return r==="transfer"||r==="transferFrom"?"erc20_transfer":"contract_call"},"classifyTransaction");var fn=["function register(((uint256[2],uint256[2][2],uint256[2]),uint256[5]) proof)","function setAuditorPublicKey(address user)","function privateMint(address user, ((uint256[2],uint256[2][2],uint256[2]),uint256[24]) proof)","function privateMint(address user, ((uint256[2],uint256[2][2],uint256[2]),uint256[24]) proof, bytes message)","function deposit(uint256 amount, address tokenAddress, uint256[7] amountPCT)","function deposit(uint256 amount, address tokenAddress, uint256[7] amountPCT, bytes message)","function transfer(address to, uint256 tokenId, ((uint256[2],uint256[2][2],uint256[2]),uint256[32]) proof, uint256[7] balancePCT)","function transfer(address to, uint256 tokenId, ((uint256[2],uint256[2][2],uint256[2]),uint256[32]) proof, uint256[7] balancePCT, bytes message)","function withdraw(uint256 tokenId, ((uint256[2],uint256[2][2],uint256[2]),uint256[16]) proof, uint256[7] balancePCT)","function withdraw(uint256 tokenId, ((uint256[2],uint256[2][2],uint256[2]),uint256[16]) proof, uint256[7] balancePCT, bytes message)"];var yn=(s=>(s.REGISTER="register",s.DEPOSIT="deposit",s.TRANSFER="transfer",s.WITHDRAW="withdraw",s.PRIVATE_MINT="privateMint",s.SET_AUDITOR_PUBLIC_KEY="setAuditorPublicKey",s))(yn||{}),Xs=new ethers.Interface(fn),hn=chunkVYIKXRYZ_cjs.a(e=>{if(!(!e.data||e.data==="0x"))try{let t=Xs.parseTransaction({data:e.data,value:e.value}),r=t?.name??t?.fragment?.name;return r&&Zs(r)?{operation:r}:void 0}catch{return}},"parseEercTransaction");function Zs(e){return Object.values(yn).includes(e)}chunkVYIKXRYZ_cjs.a(Zs,"isEercOperation");var to=chunkVYIKXRYZ_cjs.a(e=>{if(!e)return null;try{let t=BigInt(e);return t>0n?t:null}catch{return null}},"parseNativeValue"),It=chunkVYIKXRYZ_cjs.a((e,t,r,{isSimulationSuccessful:n,balanceChange:a,tokenApprovals:i,alert:s},c,l=!1)=>{let{dappInfo:p}=e,m=Se(r),u="Do you approve this transaction?";m==="approve"&&(u="Do you approve this spend limit?");let f=un(r),y=[J("Account",r.from),ht("Network",{name:t.chainName,logoUri:t.logoUri}),Ee("Website",p)].filter(x=>!!x),g=gn(r);g!=="contract_call"&&f&&y.push(J("To",f)),r.to&&["erc20_transfer","contract_call"].includes(g)&&y.push(J("Contract",r.to));let k=to(r.value);if(k&&y.push(rr("Amount",k,t.networkToken.decimals,t.networkToken.symbol)),l){let x=hn(r);x&&(y.push(O("Operation",x.operation)),y.push(O("Privacy","eERC20")));}let T=Array.isArray(r.accessList)&&r.accessList.length>0,v={type:vmModuleTypes.AlertType.INFO,details:{title:"Includes an access list",description:"This transaction includes EIP-2930 access-list data that pre-declares the accounts and storage it will touch. Its contents aren't part of the security preview."}},R={title:u,details:[{title:"Transaction Details",items:y},...c?[xe(c)]:[]],networkFeeSelector:!0,alert:s??(T?v:void 0),balanceChange:a,tokenApprovals:i,isSimulationSuccessful:n},w={type:vmModuleTypes.RpcMethod.ETH_SEND_TRANSACTION,account:r.from,data:{type:2,nonce:Number(r.nonce),gasLimit:Number(r.gas),maxFeePerGas:r.maxFeePerGas,maxPriorityFeePerGas:r.maxPriorityFeePerGas,to:r.to,from:r.from,data:r.data,value:r.value,chainId:r.chainId??t.chainId,accessList:r.accessList}};return {displayData:R,signingData:w}},"buildTxApprovalRequest");var At=chunkVYIKXRYZ_cjs.a(async(e,t,r)=>{if("txHash"in t)return t.txHash;let n=chunkVYIKXRYZ_cjs.a(()=>e.send("eth_sendRawTransaction",[t.signedData]),"broadcast");return r?.shouldRetry?me({operation:()=>n(),isSuccess:()=>!0,maxRetries:6,backoffPolicy:j.linearThenExponential(4,1e3)}):n()},"getTxHash");function oe(e,t,r="tx"){return `${e}/${r}/${t}`}chunkVYIKXRYZ_cjs.a(oe,"getExplorerAddressByNetwork");var Qe=chunkVYIKXRYZ_cjs.a(async({explorerUrl:e,provider:t,txHash:r,onTransactionPending:n,onTransactionConfirmed:a,onTransactionReverted:i,request:s})=>{try{let c=oe(e,r);if(n({txHash:r,request:s,explorerLink:c}),(await me({operation:async()=>t.getTransactionReceipt(r),isSuccess:m=>!!m,backoffPolicy:j.linearThenExponential(15,750),maxRetries:20}))?.status===1)return a({txHash:r,explorerLink:c,request:s}),!0}catch(c){console.error(c);}return i({txHash:r,request:s}),!1},"waitForTransactionReceipt");var Pt=new Map,Tn=chunkVYIKXRYZ_cjs.a((e,t,r)=>(Pt.set(e,{signingRequests:t,displayData:r}),{updateTx:({maxFeeRate:n,maxTipRate:a},i)=>{let s=Pt.get(e);if(!s)throw rpcErrors.rpcErrors.resourceNotFound();let{signingRequests:c}=s,p={signingRequests:c.map((m,u)=>{if(i===void 0||i===u){let{signingData:f}=m;return {signingData:{...f,data:{...f.data,maxFeePerGas:n??f.data.maxFeePerGas,maxPriorityFeePerGas:a??f.data.maxPriorityFeePerGas}},displayData:m.displayData}}return m}),displayData:r};return Pt.set(e,p),p},cleanup:()=>Pt.delete(e)}),"getTxBatchUpdater");function fe(e){return !("type"in e)}chunkVYIKXRYZ_cjs.a(fe,"isNetworkToken");function xt(e){return e.type===vmModuleTypes.TokenType.ERC20}chunkVYIKXRYZ_cjs.a(xt,"isERC20Token");function kn(e){return typeof e.to=="string"}chunkVYIKXRYZ_cjs.a(kn,"hasToField");function bn(e){return "requestBatchApproval"in e&&typeof e.requestBatchApproval=="function"}chunkVYIKXRYZ_cjs.a(bn,"supportsBatchApprovals");function ao(e){return typeof e=="object"&&e!==null&&"ins"in e&&"outs"in e&&Array.isArray(e.ins)&&Array.isArray(e.outs)}chunkVYIKXRYZ_cjs.a(ao,"isBalanceChange");function so(e){return typeof e=="object"&&e!==null&&"approvals"in e&&"isEditable"in e&&Array.isArray(e.approvals)}chunkVYIKXRYZ_cjs.a(so,"isTokenApprovals");function mr(e){return ao(e)?e.ins.length===0&&e.outs.length===0:so(e)?e.approvals.length===0:!1}chunkVYIKXRYZ_cjs.a(mr,"isEmpty");var Rn=chunkVYIKXRYZ_cjs.a(async({chainId:e,params:t,domain:r,withGasEstimation:n,blockaid:a})=>{let i=["validation","simulation"];return n&&i.push("gas_estimation"),a.evm.transactionBulk.scan({chain:e.toString(),options:i,data:t,metadata:r&&r.length>0?{domain:r}:{non_dapp:!0}})},"scanTransactionBatch"),En=chunkVYIKXRYZ_cjs.a(async({chainId:e,params:t,domain:r,blockaid:n})=>n.evm.transaction.scan({account_address:t.from,chain:e.toString(),options:["validation","simulation"],data:{from:t.from,to:t.to,data:t.data,value:t.value,gas:t.gas,gas_price:t.gasPrice},metadata:r&&r.length>0?{domain:r}:{non_dapp:!0}}),"scanTransaction"),vn=chunkVYIKXRYZ_cjs.a(async({chainId:e,accountAddress:t,data:r,domain:n,blockaid:a})=>a.evm.jsonRpc.scan({chain:e.toString(),options:["validation","simulation"],account_address:t,data:r,metadata:n&&n.length>0?{domain:n}:{non_dapp:!0}}),"scanJsonRpc");var xn=chunkVYIKXRYZ_cjs.a(async(e,t,r)=>{if(!e.data)return {tokenApprovals:void 0,balanceChange:void 0};try{let n=new ethers.ethers.Contract(e.to,Pn__default.default.abi,r),a=await Promise.all([n.name?.(),n.symbol?.(),n.decimals?.()]),i=In__default.default(a[0]),s=In__default.default(a[1]),c=parseInt(a[2]),l={type:vmModuleTypes.TokenType.ERC20,name:i,chainId:t,symbol:s,decimals:c,address:e.to,contractType:"ERC-20"},p=new ethers.ethers.Interface(Pn__default.default.abi),m=p.getFunction(e.data.slice(0,10)),u=p.decodeFunctionData(e.data.slice(0,10),e.data);if(m?.name==="transfer")return {balanceChange:{outs:[{items:[{displayValue:new coreUtilsSdk.TokenUnit(u.amount,l.decimals,l.symbol).toDisplay(),usdPrice:void 0}],token:l}],ins:[]}};if(m?.name==="approve")return {tokenApprovals:{isEditable:!0,approvals:[{token:l,spenderAddress:u.spender,value:u.amount}]}}}catch(n){console.error("parseErc20Tx error",n);}return {tokenApprovals:void 0,balanceChange:void 0}},"parseWithErc20Abi");var ie={[vmModuleTypes.AlertType.WARNING]:{type:vmModuleTypes.AlertType.WARNING,details:{title:"Suspicious transaction",description:"Use caution, this transaction might be malicious."}},[vmModuleTypes.AlertType.DANGER]:{type:vmModuleTypes.AlertType.DANGER,details:{title:"Scam transaction",description:"This transaction has been flagged as malicious, I understand the risk.",body:["This transaction is malicious","do not proceed"],actionTitles:{reject:"Reject Transaction",proceed:"Proceed Anyway"}}}};var Nn=chunkVYIKXRYZ_cjs.a(async({rpcMethod:e,dAppUrl:t,params:r,chainId:n,provider:a,blockaid:i})=>{let s;try{s=await En({chainId:n,params:r,domain:t,blockaid:i});}catch(c){console.error("simulateTransaction error",c);}return dr({rpcMethod:e,params:r,chainId:n,provider:a,simulationResult:s})},"simulateTransaction"),dr=chunkVYIKXRYZ_cjs.a(async({rpcMethod:e,params:t,chainId:r,provider:n,simulationResult:a})=>{let i,s,c,l=!1,p;if(a){let{validation:m,simulation:u,gas_estimation:f}=a;m?.result_type==="Warning"?i=ie[vmModuleTypes.AlertType.WARNING]:m?.result_type==="Malicious"&&(i=ie[vmModuleTypes.AlertType.DANGER]),u?.status==="Success"&&(l=!0,c=Cn(e,u.account_summary),s=wn(u.account_summary.assets_diffs)),f?.status==="Success"&&(p=Number(f.estimate));}if(!l&&kn(t)){let m=await xn(t,r,n);s=m.balanceChange,c=m.tokenApprovals;}return {alert:i,balanceChange:s,tokenApprovals:c,isSimulationSuccessful:l,estimatedGasLimit:p}},"processTransactionSimulation"),go=chunkVYIKXRYZ_cjs.a(e=>e.trace_type==="ExposureTrace","isExposureTrace"),fo=chunkVYIKXRYZ_cjs.a((e,t)=>`${e.toLowerCase()}.${t.toLowerCase()}`,"normalizeAddresses"),yo=chunkVYIKXRYZ_cjs.a(e=>e===void 0||e.length===0?{}:e.reduce((t,r)=>go(r)?{[fo(r.spender,r.asset.address)]:r}:t,{}),"mapExposureTracesToSpenderAsset"),Cn=chunkVYIKXRYZ_cjs.a((e,t)=>{let{traces:r}=t,n=yo(r),a=Object.entries(n).map(([s,c])=>{let l=Dn(c.asset);if(!l)return;let p={token:l,spenderAddress:c.spender,logoUri:l.logoUri};if(c.type==="ERC20ExposureTrace"){let{exposed:{raw_value:m,value:u,usd_price:f}}=c;if(!u||u<=0)return;p.value=m,p.usdPrice=`${f}`;}if(c.type==="ERC721ExposureTrace")if(!c.exposed)p.value=`0x${ethers.MaxUint256.toString(16)}`;else {let{usd_price:m,amount:u}=c.exposed;p.value=`${u}`,p.usdPrice=`${m}`;}return p}).filter(Boolean);return a.length===0?void 0:{isEditable:a.length===1&&a[0]?.token.type===vmModuleTypes.TokenType.ERC20&&e===vmModuleTypes.RpcMethod.ETH_SEND_TRANSACTION,approvals:a}},"processTokenApprovals"),wn=chunkVYIKXRYZ_cjs.a(e=>{let t=Sn(e,"in"),r=Sn(e,"out");if(!(t.length===0&&r.length===0))return {ins:t,outs:r}},"processBalanceChange"),Sn=chunkVYIKXRYZ_cjs.a((e,t)=>e.filter(r=>r[t].length>0).sort((r,n)=>r[t].length-n[t].length).map(r=>{let n=r.asset,a="address"in n?Dn(n):ho(n);if(!a)return;let i=r[t].map(s=>{let c;if("value"in s&&s.value)if("decimals"in a){let u=coreUtilsSdk.numberToBN(s.value,a.decimals);c=coreUtilsSdk.balanceToDisplayValue(u,a.decimals);}else ethers.isHexString(s.value)&&(c=parseInt(s.value,16).toString());else "type"in a&&a.type===vmModuleTypes.TokenType.ERC721&&(c="1");if(!c)return;let l="logo_url"in s?s.logo_url:void 0,p="token_id"in s?s.token_id:void 0;return {displayValue:c,usdPrice:s.usd_price,...l!==void 0&&{logoUri:l},...p!==void 0&&{tokenId:p}}}).filter(s=>s!==void 0);return {token:a,items:i}}).filter(r=>r!==void 0),"processAssetDiffs"),Dn=chunkVYIKXRYZ_cjs.a(e=>{let t;return e.type==="ERC20"?t={type:vmModuleTypes.TokenType.ERC20,address:e.address,decimals:e.decimals,name:e.name??e.symbol??"",symbol:e.symbol??"",logoUri:e.logo_url}:e.type==="ERC1155"?t={type:vmModuleTypes.TokenType.ERC1155,address:e.address,logoUri:e.logo_url,name:e.name,symbol:e.symbol}:e.type==="ERC721"?t={type:vmModuleTypes.TokenType.ERC721,address:e.address,logoUri:e.logo_url,name:e.name,symbol:e.symbol}:e.type==="NONERC"&&(t={type:vmModuleTypes.TokenType.NONERC,address:e.address,logoUri:e.logo_url,name:e.name,symbol:e.symbol}),t},"convertAssetToNetworkContractToken"),ho=chunkVYIKXRYZ_cjs.a(e=>({name:e.name??"",symbol:e.symbol??"",decimals:e.decimals,description:"",logoUri:e.logo_url}),"convertNativeAssetToToken"),_n=chunkVYIKXRYZ_cjs.a(async({request:e,dAppUrl:t,accountAddress:r,chainId:n,data:a,blockaid:i})=>{let s,c,l;try{let{validation:p,simulation:m}=await vn({chainId:n,accountAddress:r,data:a,domain:t,blockaid:i});p?.result_type==="Warning"?s=ie[vmModuleTypes.AlertType.WARNING]:p?.result_type==="Malicious"&&(s=ie[vmModuleTypes.AlertType.DANGER]),m?.status==="Success"&&(l=Cn(e.method,m.account_summary),c=wn(m.account_summary.assets_diffs));}catch(p){console.error("processJsonRpcSimulation error",p),s=ie[vmModuleTypes.AlertType.WARNING];}return {alert:s,balanceChange:c,tokenApprovals:l}},"processJsonRpcSimulation");var Un=chunkVYIKXRYZ_cjs.a(async({rpcMethod:e,dAppUrl:t,params:r,chainId:n,provider:a,populateMissingGas:i,blockaid:s})=>{let c;try{c=await Rn({chainId:n,params:r,domain:t,withGasEstimation:i,blockaid:s});}catch(y){return console.error("simulateTransactionBatch error",y),{isSimulationSuccessful:!1,alert:ie[vmModuleTypes.AlertType.WARNING],scans:[]}}let l=await Promise.all(c.map(async(y,g)=>{let k=r[g],T=await dr({chainId:n,params:r[g],provider:a,rpcMethod:e,simulationResult:y});return i&&!k.gas&&T.estimatedGasLimit&&(k.gas=`0x${T.estimatedGasLimit.toString(16)}`),{transaction:k,...T}})),p=l.every(y=>y.isSimulationSuccessful),m=To(l),u=bo(l),f=ko(l);return {isSimulationSuccessful:p,alert:m,balanceChange:u,tokenApprovals:f,scans:l.map(y=>(y.tokenApprovals&&(y.tokenApprovals.isEditable=!1),y))}},"simulateTransactionBatch"),To=chunkVYIKXRYZ_cjs.a(e=>{let t={[vmModuleTypes.AlertType.INFO]:0,[vmModuleTypes.AlertType.WARNING]:1,[vmModuleTypes.AlertType.DANGER]:2};return e.reduce((r,{alert:n})=>n&&(!r||t[n.type]>t[r.type])?n:r,void 0)},"getHighestAlert"),ko=chunkVYIKXRYZ_cjs.a(e=>{let t=e.reduce((r,{tokenApprovals:n})=>(n&&n.approvals.forEach(a=>{let i=r.approvals.find(s=>a.token.address===s.token.address&&a.spenderAddress===s.spenderAddress);if(!i){r.approvals.push({...a});return}i.value=a.value,i.usdPrice=a.usdPrice;}),r),{approvals:[],isEditable:!1});return Ro(t,e),mr(t)?void 0:t},"aggregateTokenApprovals"),bo=chunkVYIKXRYZ_cjs.a(e=>{let t=e.reduce((r,{balanceChange:n})=>(n&&(n.ins.forEach(a=>{let i=Bn(r.ins,a);i?i.items.push(...a.items):r.ins.push(a);}),n.outs.forEach(a=>{let i=Bn(r.outs,a);i?i.items.push(...a.items):r.outs.push({...a});})),r),{ins:[],outs:[]});return mr(t)?void 0:t},"aggregateBalanceChange"),Bn=chunkVYIKXRYZ_cjs.a((e,t)=>e.find(r=>fe(r.token)&&fe(t.token)?r.token.symbol===t.token.symbol:!fe(r.token)&&!fe(t.token)?r.token.address===t.token.address:!1),"findTokenDiff"),Ro=chunkVYIKXRYZ_cjs.a((e,t)=>{for(let r of e.approvals)for(let n of t)if(!(!n.isSimulationSuccessful||!n.balanceChange||!n.balanceChange.outs.some(i=>!fe(i.token)&&!fe(r.token)&&i.token.address===r.token.address)))if(!n.tokenApprovals)e.approvals=e.approvals.filter(i=>i.spenderAddress!==r.spenderAddress&&r.token.address!==i.token.address);else {let i=n.tokenApprovals.approvals.find(s=>s.spenderAddress===r.spenderAddress&&s.token.address===r.token.address);if(!i)continue;r.usdPrice=i.usdPrice,r.value=i.value;}},"clearSpentApprovals");var Eo=chunkVYIKXRYZ_cjs.a(e=>{if(!e||typeof e!="object")return !1;let t=e;return typeof t.agentId=="string"&&typeof t.agentRegistry=="string"},"isAgentIdentityDeclaration"),Ce=chunkVYIKXRYZ_cjs.a(e=>{let t=e.context?.agentIdentity;return Eo(t)?t:null},"getAgentIdentityFromContext");var Fn=chunkVYIKXRYZ_cjs.a(async({request:e,network:t,approvalController:r,blockaid:n})=>{let{params:a}=e,{data:i,success:s,error:c}=pn(a);if(!s)return console.error("invalid params",c),{error:rpcErrors.rpcErrors.invalidParams(G("Transaction params are invalid",c))};let{transactions:l,options:p={}}=i,{skipIntermediateTxs:m=!1}=p;if(l.some(({chainId:L})=>!Et(L,t.chainId)))return {error:rpcErrors.rpcErrors.invalidParams(G("Transaction params are invalid",new Error(`The transactions target a different chain than ${t.chainName}`)))};let u=await M({chainId:t.chainId,chainName:t.chainName,rpcUrl:t.rpcUrl,multiContractAddress:t.utilityAddresses?.multicall,pollingInterval:1e3,customRpcHeaders:t.customRpcHeaders});try{await mn(l,u);}catch(L){return console.error("Unable to calculate nonce",L),{error:rpcErrors.rpcErrors.internal(G("Unable to calculate nonce",L))}}let f=l.every(L=>Number(L.gas)>0),{alert:y,balanceChange:g,isSimulationSuccessful:k,tokenApprovals:T,scans:v}=await Un({rpcMethod:e.method,chainId:t.chainId,params:l,dAppUrl:e.dappInfo.url,provider:u,populateMissingGas:!f,blockaid:n});if(!v.every(({transaction:L})=>Number(L.gas)>0))return console.error("Gas limit is missing in some transactions"),{error:rpcErrors.rpcErrors.internal({message:"Gas limit is missing in some transactions"})};let w=Ce(e),x=w?await se({declaration:w,rpcUrl:t.rpcUrl,chainId:t.chainId,chainName:t.chainName,customRpcHeaders:t.customRpcHeaders}):void 0,N={title:"Do you approve these transactions?",details:[{title:"Transaction Details",items:[J("Account",l[0].from),ht("Network",{name:t.chainName,logoUri:t.logoUri}),Ee("Website",e.dappInfo)]},...x?[xe(x)]:[]],isSimulationSuccessful:k,balanceChange:g,alert:y,tokenApprovals:T,networkFeeSelector:!0},pe=v.map(L=>It(e,t,L.transaction,L,x)),{cleanup:A,updateTx:P}=Tn(e.requestId,pe,N),B=await r.requestBatchApproval({request:e,signingRequests:pe,displayData:N,updateTx:P});if(A(),"error"in B)return {error:B.error};if(B.result.length!==l.length)return {error:rpcErrors.rpcErrors.internal({message:`Invalid number of signatures. Expected ${l.length}, got ${B.result.length}`})};let je=[];for(let[L,Ya]of B.result.entries()){let Vr=L===B.result.length-1,Kt=await At(u,Ya);if(Vr&&Qe({explorerUrl:t.explorerUrl??"",provider:u,txHash:Kt,onTransactionPending:r.onTransactionPending,onTransactionConfirmed:r.onTransactionConfirmed,onTransactionReverted:r.onTransactionReverted,request:e}),!Vr&&!m&&!await Qe({explorerUrl:t.explorerUrl??"",provider:u,txHash:Kt,onTransactionPending:r.onTransactionPending,onTransactionConfirmed:r.onTransactionConfirmed,onTransactionReverted:r.onTransactionReverted,request:e}))return {error:rpcErrors.rpcErrors.internal({message:`Transaction ${L+1} failed! Batch execution stopped`})};je.push(Kt);}return {result:je}},"ethSendTransactionBatch");function Mn(e,t,r){return new ethers.ethers.Contract(e,Pn__default.default.abi).interface.encodeFunctionData("approve",[t,r])}chunkVYIKXRYZ_cjs.a(Mn,"encodeApprovalLimit");var Ct=new Map,Ln=chunkVYIKXRYZ_cjs.a((e,t,r)=>(Ct.set(e,{signingData:t,displayData:r}),{updateTx:({maxFeeRate:n,maxTipRate:a,approvalLimit:i,gasLimit:s})=>{let c=Ct.get(e);if(!c)throw rpcErrors.rpcErrors.resourceNotFound();let{signingData:l,displayData:p}=c,m={...l,data:{...l.data,gasLimit:s??l.data.gasLimit,maxFeePerGas:n??l.data.maxFeePerGas,maxPriorityFeePerGas:a??l.data.maxPriorityFeePerGas}},u={...p};if(typeof i=="string"){if(!i.startsWith("0x"))throw rpcErrors.rpcErrors.invalidInput("Expected approvalLimit to be a hexadecimal number (0x-prefixed)");let y=p.tokenApprovals;Ao(y),Po(l.data.data);let g=y.approvals[0];m.data.data=Mn(g.token.address,g.spenderAddress,i),u.tokenApprovals={approvals:[{...g,value:i}],isEditable:!0};}let f={signingData:m,displayData:u};return Ct.set(e,f),f},cleanup:()=>Ct.delete(e)}),"getTxUpdater");function Ao(e){if(!e||!e.isEditable||e.approvals.length!==1)throw rpcErrors.rpcErrors.invalidInput("Cannot edit the token approval for this request. Please start a new request instead.")}chunkVYIKXRYZ_cjs.a(Ao,"ensureTokenApprovalCanBeEdited");function Po(e){if((!e||e==="0x"?null:Se({data:e??void 0}))!=="approve")throw rpcErrors.rpcErrors.invalidInput("Cannot change invoked method for requests in progress. Please start a new request instead.")}chunkVYIKXRYZ_cjs.a(Po,"ensureApproveWasCalled");var Vn=chunkVYIKXRYZ_cjs.a(async({transactionParams:{from:e,to:t,data:r,value:n,accessList:a},provider:i})=>{let s=await i.getTransactionCount(e);return Number(await i.estimateGas({from:e,to:t,nonce:s,data:r,value:n,accessList:a}))},"estimateGasLimit");var So=zod.z.tuple([Pe]),Gn=chunkVYIKXRYZ_cjs.a(e=>So.safeParse(e),"parseRequestParams");var $n=chunkVYIKXRYZ_cjs.a(async({request:e,network:t,approvalController:r,blockaid:n,eercEnabled:a=!1})=>{let{params:i}=e,{data:s,error:c,success:l}=Gn(i);if(!l)return console.error("invalid params",c),{error:rpcErrors.rpcErrors.invalidParams(G("Transaction params are invalid",c))};let[p]=s;if(!Et(p.chainId,t.chainId))return {error:rpcErrors.rpcErrors.invalidParams(G("Transaction params are invalid",new Error(`The transaction targets a different chain than ${t.chainName}`)))};let m=await M({chainId:t.chainId,chainName:t.chainName,rpcUrl:t.rpcUrl,multiContractAddress:t.utilityAddresses?.multicall,pollingInterval:1e3,customRpcHeaders:t.customRpcHeaders});if(!p.gas||Number(p.gas)<0)try{let N=await Vn({transactionParams:{from:p.from,to:p.to,data:p.data,value:p.value,accessList:p.accessList},provider:m});p.gas="0x"+N.toString(16);}catch(N){return {error:rpcErrors.rpcErrors.internal(G("Unable to calculate gas limit",N))}}if(!p.nonce)try{let N=await vt({from:p.from,provider:m});p.nonce=String(N);}catch(N){return {error:rpcErrors.rpcErrors.internal(G("Unable to calculate nonce",N))}}let u=Ce(e),f=u?await se({declaration:u,rpcUrl:t.rpcUrl,chainId:t.chainId,chainName:t.chainName,customRpcHeaders:t.customRpcHeaders}):void 0,y=await Nn({rpcMethod:e.method,chainId:t.chainId,params:p,dAppUrl:e.dappInfo.url,provider:m,blockaid:n}),{displayData:g,signingData:k}=It(e,t,p,y,f,a),{updateTx:T,cleanup:v}=Ln(e.requestId,k,g),R=await r.requestApproval({request:e,displayData:g,signingData:k,updateTx:T});if(v(),"error"in R)return {error:R.error};let w,x=e.context?.shouldRetry===!0;try{w=await At(m,R,{shouldRetry:x});}catch(N){return {error:rpcErrors.rpcErrors.internal(G("Unable to get transaction hash",N))}}return Qe({explorerUrl:t.explorerUrl??"",provider:m,txHash:w,onTransactionPending:r.onTransactionPending,onTransactionConfirmed:r.onTransactionConfirmed,onTransactionReverted:r.onTransactionReverted,request:e}),{result:w}},"ethSendTransaction");var Dt=chunkVYIKXRYZ_cjs.a(e=>{let t="";t+=`Domain
|
|
27
27
|
`;for(let r in e.domain)t+=` ${r}: ${ye(String(e.domain[r]))}
|
|
28
28
|
`;t+=`
|
|
29
29
|
Message
|
|
@@ -40,7 +40,7 @@ Message
|
|
|
40
40
|
`;return t},"beautifyComplexMessage"),On=chunkVYIKXRYZ_cjs.a(e=>{let t="";return e.forEach(r=>{t+=`${r.name}:
|
|
41
41
|
`,t+=`${ye(String(r.value))}
|
|
42
42
|
|
|
43
|
-
`;}),t},"beautifySimpleMessage"),ye=chunkVYIKXRYZ_cjs.a(e=>{let t={0:"\u{1D7EC}",1:"\u{1D7ED}",2:"\u{1D7EE}",3:"\u{1D7EF}",4:"\u{1D7F0}",5:"\u{1D7F1}",6:"\u{1D7F2}",7:"\u{1D7F3}",8:"\u{1D7F4}",9:"\u{1D7F5}",a:"\u{1D5EE}",b:"\u{1D5EF}",c:"\u{1D5F0}",d:"\u{1D5F1}",e:"\u{1D5F2}",f:"\u{1D5F3}",g:"\u{1D5F4}",h:"\u{1D5F5}",i:"\u{1D5F6}",j:"\u{1D5F7}",k:"\u{1D5F8}",l:"\u{1D5F9}",m:"\u{1D5FA}",n:"\u{1D5FB}",o:"\u{1D5FC}",p:"\u{1D5FD}",q:"\u{1D5FE}",r:"\u{1D5FF}",s:"\u{1D600}",t:"\u{1D601}",u:"\u{1D602}",v:"\u{1D603}",w:"\u{1D604}",x:"\u{1D605}",y:"\u{1D606}",z:"\u{1D607}",A:"\u{1D5D4}",B:"\u{1D5D5}",C:"\u{1D5D6}",D:"\u{1D5D7}",E:"\u{1D5D8}",F:"\u{1D5D9}",G:"\u{1D5DA}",H:"\u{1D5DB}",I:"\u{1D5DC}",J:"\u{1D5DD}",K:"\u{1D5DE}",L:"\u{1D5DF}",M:"\u{1D5E0}",N:"\u{1D5E1}",O:"\u{1D5E2}",P:"\u{1D5E3}",Q:"\u{1D5E4}",R:"\u{1D5E5}",S:"\u{1D5E6}",T:"\u{1D5E7}",U:"\u{1D5E8}",V:"\u{1D5E9}",W:"\u{1D5EA}",X:"\u{1D5EB}",Y:"\u{1D5EC}",Z:"\u{1D5ED}"};return e.split("").map(r=>t[r]||r).join("")},"toUnicodeBold");var rt=zod.z.string().describe("message"),q=zod.z.string().describe("address");var Wn=zod.z.object({method:zod.z.literal(vmModuleTypes.RpcMethod.ETH_SIGN),params:zod.z.tuple([q,rt])});var jn=zod.z.object({name:zod.z.string(),type:zod.z.string()}),De=zod.z.object({types:zod.z.object({EIP712Domain:zod.z.array(jn)}).catchall(zod.z.array(jn)),primaryType:zod.z.string(),domain:zod.z.record(zod.z.any()),message:zod.z.record(zod.z.any())}),gr=zod.z.array(zod.z.object({type:zod.z.string(),name:zod.z.string(),value:zod.z.union([zod.z.string(),zod.z.number(),zod.z.boolean(),zod.z.object({}).passthrough(),zod.z.array(zod.z.unknown()),zod.z.null()])})).nonempty(),fr=De.or(gr),qn=zod.z.union([zod.z.string().describe("data string"),De]),zn=zod.z.union([zod.z.string().describe("data string"),fr]),Yn=zod.z.object({method:zod.z.literal(vmModuleTypes.RpcMethod.SIGN_TYPED_DATA),params:zod.z.tuple([q,zn])}),Kn=zod.z.object({method:zod.z.literal(vmModuleTypes.RpcMethod.SIGN_TYPED_DATA_V1),params:zod.z.tuple([q,zn])}),Jn=zod.z.object({method:zod.z.literal(vmModuleTypes.RpcMethod.SIGN_TYPED_DATA_V3),params:zod.z.tuple([q,qn])}),Xn=zod.z.object({method:zod.z.literal(vmModuleTypes.RpcMethod.SIGN_TYPED_DATA_V4),params:zod.z.tuple([q,qn])});var Zn=zod.z.object({method:zod.z.literal(vmModuleTypes.RpcMethod.PERSONAL_SIGN),params:zod.z.union([zod.z.tuple([rt,q]),zod.z.tuple([rt,q,zod.z.string().optional().describe("password")])])});var wo=zod.z.discriminatedUnion("method",[Zn,Wn,Yn,Kn,Jn,Xn]).transform((e,t)=>{let{method:r,params:n}=e;switch(r){case vmModuleTypes.RpcMethod.PERSONAL_SIGN:return {data:n[0],address:n[1],method:r};case vmModuleTypes.RpcMethod.ETH_SIGN:return {data:n[1],address:n[0],method:r};case vmModuleTypes.RpcMethod.SIGN_TYPED_DATA:case vmModuleTypes.RpcMethod.SIGN_TYPED_DATA_V1:{let a=n[0],i=n[1];if(typeof i!="string")return {data:i,address:a,method:r};try{let s=JSON.parse(i);return {data:fr.parse(s),address:a,method:r}}catch{return t.addIssue({code:zod.z.ZodIssueCode.custom,message:"param is not a valid json"}),zod.z.NEVER}}case vmModuleTypes.RpcMethod.SIGN_TYPED_DATA_V3:case vmModuleTypes.RpcMethod.SIGN_TYPED_DATA_V4:{let a=n[0],i=n[1];if(typeof i!="string")return {data:i,address:a,method:r};try{let s=JSON.parse(i);return {data:De.parse(s),address:a,method:r}}catch{return t.addIssue({code:zod.z.ZodIssueCode.custom,message:"param is not a valid json"}),zod.z.NEVER}}}});function Qn(e){return wo.safeParse(e)}chunkVYIKXRYZ_cjs.a(Qn,"parseRequestParams");var yr=chunkVYIKXRYZ_cjs.a(e=>gr.safeParse(e).success,"isTypedDataV1"),hr=chunkVYIKXRYZ_cjs.a(e=>De.safeParse(e).success,"isTypedData");var Do=/^(u?)int(\d*)$/,_o=/^bytes(\d+)$/,ea=/\[(\d*)\]$/,Bo=chunkVYIKXRYZ_cjs.a(e=>/^-?\d+$/.test(e),"isCanonicalDecimalString"),ta=chunkVYIKXRYZ_cjs.a(e=>/^0x[0-9a-fA-F]*$/.test(e),"isHexString"),Uo=chunkVYIKXRYZ_cjs.a(e=>{if(typeof e=="bigint")return e;if(typeof e=="number")return Number.isSafeInteger(e)?BigInt(e):null;if(typeof e=="string"&&(Bo(e)||ta(e)))try{return BigInt(e)}catch{return null}return null},"toIntegerValue"),ra=chunkVYIKXRYZ_cjs.a((e,t)=>{if(e==="bool")return typeof t=="boolean"?null:`expected boolean, got ${JSON.stringify(t)}`;if(e==="string")return typeof t=="string"?null:`expected string, got ${JSON.stringify(t)}`;if(e==="address")return typeof t=="string"&&/^0x[0-9a-fA-F]{40}$/.test(t)?null:`expected a 20-byte address, got ${JSON.stringify(t)}`;let r=Do.exec(e);if(r){let a=Uo(t);if(a===null)return `expected an integer for ${e}, got ${JSON.stringify(t)}`;let i=r[1]==="u",s=r[2]?Number(r[2]):256,[c,l]=i?[0n,(1n<<BigInt(s))-1n]:[-(1n<<BigInt(s-1)),(1n<<BigInt(s-1))-1n];return a<c||a>l?`expected a value in the ${e} range, got ${JSON.stringify(t)}`:null}let n=_o.exec(e);if(n){let a=Number(n[1]);return typeof t=="string"&&new RegExp(`^0x[0-9a-fA-F]{${a*2}}$`).test(t)?null:`expected ${a}-byte hex string for ${e}, got ${JSON.stringify(t)}`}return e==="bytes"?typeof t=="string"&&ta(t)&&t.length%2===0?null:`expected a hex byte string, got ${JSON.stringify(t)}`:null},"primitiveTypeMismatch"),Tr=chunkVYIKXRYZ_cjs.a((e,t,r,n,a)=>{let i=ea.exec(e);if(i){let l=e.slice(0,e.length-i[0].length);if(!Array.isArray(t)){a.push(`${n}: expected array of ${l}, got ${JSON.stringify(t)}`);return}let p=i[1]?Number(i[1]):void 0;if(p!==void 0&&t.length!==p){a.push(`${n}: expected ${p} elements for ${e}, got ${t.length}`);return}t.forEach((m,u)=>Tr(l,m,r,`${n}[${u}]`,a));return}let s=r[e];if(s){if(typeof t!="object"||t===null||Array.isArray(t)){a.push(`${n}: expected struct ${e}, got ${JSON.stringify(t)}`);return}for(let l of s)Tr(l.type,t[l.name],r,`${n}.${l.name}`,a);return}let c=ra(e,t);c&&a.push(`${n}: ${c}`);},"collectMismatches"),na=chunkVYIKXRYZ_cjs.a(e=>{let t=e.types??{},r=[],n=t[e.primaryType];if(!n)return [`primaryType "${String(e.primaryType)}" is not defined in the message types`];for(let a of n)Tr(a.type,e.message[a.name],t,`message.${a.name}`,r);return r},"findEip712TypeMismatches"),kr=chunkVYIKXRYZ_cjs.a(e=>{let t=e.types??{},r=chunkVYIKXRYZ_cjs.a((a,i)=>{let s=ea.exec(a);if(s){if(!Array.isArray(i))return i;let p=a.slice(0,a.length-s[0].length);return i.map(m=>r(p,m))}let c=t[a];if(!c||typeof i!="object"||i===null||Array.isArray(i))return i;let l={};for(let p of c)p.name in i&&(l[p.name]=r(p.type,i[p.name]));return l},"sanitizeValue");return r(e.primaryType,e.message)??e.message},"sanitizeEip712Message"),aa=chunkVYIKXRYZ_cjs.a(e=>{let t=[];for(let r of e){let n=ra(r.type,r.value);n&&t.push(`${r.name}: ${n}`);}return t},"findEip712V1TypeMismatches");var br=chunkVYIKXRYZ_cjs.a(e=>{let t=na(e);if(t.length>0)return {isValid:!1,error:new Error(`EIP-712 message contains fields with a type mismatch: ${t.join("; ")}`),blocking:!0};try{let{EIP712Domain:r,...n}=e.types;return ethers.TypedDataEncoder.getPayload(e.domain,n,e.message),{isValid:!0}}catch(r){return {isValid:!1,error:r,blocking:!1}}},"isTypedDataValid"),sa=chunkVYIKXRYZ_cjs.a(e=>{let t=aa(e);return t.length>0?{isValid:!1,error:new Error(`Typed data contains fields with a type mismatch: ${t.join("; ")}`),blocking:!0}:{isValid:!0}},"isTypedDataV1Valid");var oa={[vmModuleTypes.AlertType.INFO]:0,[vmModuleTypes.AlertType.WARNING]:1,[vmModuleTypes.AlertType.DANGER]:2},ia=chunkVYIKXRYZ_cjs.a((e,t)=>{if(!e)return t;if(!t)return e;let[r,n]=oa[t.type]>oa[e.type]?[t,e]:[e,t];return {...r,details:{...r.details,body:[...r.details.body??[],`${n.details.title}: ${n.details.description}`]}}},"mergeAlerts");var Lo=chunkVYIKXRYZ_cjs.a(e=>{try{return ethers.toUtf8String(e)}catch{return e}},"toUtf8StringOrHex"),ca=chunkVYIKXRYZ_cjs.a(async({request:e,network:t,approvalController:r,blockaid:n})=>{let a=Qn({method:e.method,params:e.params});if(!a.success)return console.error("invalid params",a.error),{success:!1,error:rpcErrors.rpcErrors.invalidParams(G("Params are invalid",a.error))};let{method:i,data:s,address:c}=a.data,l,p=i===vmModuleTypes.RpcMethod.SIGN_TYPED_DATA||i===vmModuleTypes.RpcMethod.SIGN_TYPED_DATA_V1;if(i===vmModuleTypes.RpcMethod.SIGN_TYPED_DATA_V3||i===vmModuleTypes.RpcMethod.SIGN_TYPED_DATA_V4?l=br(s):p&&(yr(s)?l=sa(s):hr(s)&&(l=br(s))),l&&!l.isValid&&l.blocking)return {success:!1,error:rpcErrors.rpcErrors.invalidParams(G("EIP-712 message is invalid",l.error))};let m,u,f;if(l&&!l.isValid&&(f={type:vmModuleTypes.AlertType.INFO,details:{title:"Warning: Verify Message Content",description:"This message contains non-standard elements. Please verify message content!",detailedDescription:l.error.toString()}}),i===vmModuleTypes.RpcMethod.ETH_SIGN)m={type:i,account:c,data:s},u=s;else if(i===vmModuleTypes.RpcMethod.PERSONAL_SIGN)m={type:i,account:c,data:s},u=Lo(s);else if(i===vmModuleTypes.RpcMethod.SIGN_TYPED_DATA||i===vmModuleTypes.RpcMethod.SIGN_TYPED_DATA_V1)m={type:i,account:c,data:s},yr(s)?u=On(s):hr(s)?u=Dt({...s,message:kr(s)}):u=Dt(s);else if(i===vmModuleTypes.RpcMethod.SIGN_TYPED_DATA_V3||i===vmModuleTypes.RpcMethod.SIGN_TYPED_DATA_V4){m={type:i,account:c,data:s};let{types:R,primaryType:w,...x}=s;u=Dt({...x,message:kr(s)});}if(!m||!u)return {success:!1,error:rpcErrors.rpcErrors.internal("Unable to generate signing data")};let y=await _n({request:e,accountAddress:c,chainId:t.chainId,data:{method:i,params:e.params},dAppUrl:e.dappInfo.url,blockaid:n}),g=Ce(e),k=g?await se({declaration:g,rpcUrl:t.rpcUrl,chainId:t.chainId,chainName:t.chainName,customRpcHeaders:t.customRpcHeaders}):void 0,T={title:"Sign Message",dAppInfo:{name:e.dappInfo.name,action:`${e.dappInfo.name} is requesting to sign the following message`,logoUri:e.dappInfo.icon},network:{chainId:t.chainId,name:t.chainName,logoUri:t.logoUri},account:c,details:[{title:"Message",items:[O("Message",u,"vertical")]},...k?[xe(k)]:[]],alert:ia(y?.alert,f),balanceChange:y?.balanceChange,tokenApprovals:y?.tokenApprovals},v=await r.requestApproval({request:e,displayData:T,signingData:m});return "error"in v?{error:v.error}:"signedData"in v?{result:v.signedData}:{error:rpcErrors.rpcErrors.internal("No signed data returned")}},"ethSign");var la=chunkVYIKXRYZ_cjs.a(async(e,t)=>{try{return {result:await(await M({chainId:t.chainId,chainName:t.chainName,rpcUrl:t.rpcUrl,pollingInterval:1e3,customRpcHeaders:t.customRpcHeaders})).send(e.method,e.params)}}catch(r){let n=r.info?.error??r.error;return n&&typeof n.code=="number"?{error:n}:{error:rpcErrors.rpcErrors.internal(r.message)}}},"forwardToRpcNode");var ma=chunkVYIKXRYZ_cjs.a(async({accountIndex:e,xpub:t,walletType:r})=>{switch(r){case vmModuleTypes.WalletType.Mnemonic:case vmModuleTypes.WalletType.Ledger:case vmModuleTypes.WalletType.Keystone:return {[vmModuleTypes.NetworkVMType.EVM]:coreWalletsSdk.getAddressFromXPub(t,e)};case vmModuleTypes.WalletType.LedgerLive:case vmModuleTypes.WalletType.Seedless:{let n=Buffer.from(t,"hex");return {[vmModuleTypes.NetworkVMType.EVM]:coreWalletsSdk.getEvmAddressFromPubKey(n)}}default:throw rpcErrors.rpcErrors.invalidParams(`Unsupported wallet type: ${r}`)}},"getAddress");function Ue(e,t){return e.then(r=>({id:t,status:"fulfilled",value:r})).catch(r=>({id:t,status:"rejected",reason:r}))}chunkVYIKXRYZ_cjs.a(Ue,"addIdToPromise");async function Fe(e){return await Promise.allSettled(e).then(t=>t.reduce((r,n)=>{if(n.status==="fulfilled"){let a=n.value;a.status==="fulfilled"?r[a.id]=a.value:r[a.id]={error:a.reason};}return r},{}))}chunkVYIKXRYZ_cjs.a(Fe,"settleAllIdPromises");var Wo={"ERC-20":vmModuleTypes.TokenType.ERC20,"ERC-721":vmModuleTypes.TokenType.ERC721,"ERC-1155":vmModuleTypes.TokenType.ERC1155,"NON-ERC":vmModuleTypes.TokenType.NONERC,SPL:vmModuleTypes.TokenType.SPL},jo=zod.z.string().transform((e,t)=>{let r=Wo[e];return r||(t.addIssue({code:zod.z.ZodIssueCode.custom,message:`Unknown contractType: ${e}`}),zod.z.NEVER)}),qo=zod.z.object({address:zod.z.string(),chainId:zod.z.number(),contractType:jo,decimals:zod.z.number(),internalId:zod.z.string().nullish(),isNative:zod.z.boolean(),logoUri:zod.z.string().nullish(),name:zod.z.string(),symbol:zod.z.string(),caip2Id:zod.z.string().nullish(),color:zod.z.string().nullish()}),zo=zod.z.array(zod.z.unknown()).transform(e=>e.flatMap(t=>{let r=qo.safeParse(t);return r.success?[r.data]:[]}));async function Ut({chainId:e,proxyApiUrl:t}){return (await $([`${t}/tokens?evmChainId=${e}`],zo)).map(n=>({...n,type:n.contractType}))}chunkVYIKXRYZ_cjs.a(Ut,"getTokens");var F,Me,he,ot,Ve,Er=class Er{constructor({network:t,storage:r,proxyApiUrl:n,customTokens:a,fetch:i}){chunkVYIKXRYZ_cjs.d(this,F,void 0);chunkVYIKXRYZ_cjs.d(this,Me,void 0);chunkVYIKXRYZ_cjs.d(this,he,void 0);chunkVYIKXRYZ_cjs.d(this,ot,void 0);chunkVYIKXRYZ_cjs.d(this,Ve,void 0);chunkVYIKXRYZ_cjs.e(this,F,t),chunkVYIKXRYZ_cjs.e(this,Me,r),chunkVYIKXRYZ_cjs.e(this,he,n),chunkVYIKXRYZ_cjs.e(this,ot,a),chunkVYIKXRYZ_cjs.e(this,Ve,i);}async isNetworkSupported(){return !0}async getNativeBalance({chainId:t,address:r,currency:n}){let a=await M({chainId:t,chainName:chunkVYIKXRYZ_cjs.c(this,F).chainName,rpcUrl:chunkVYIKXRYZ_cjs.c(this,F).rpcUrl,multiContractAddress:chunkVYIKXRYZ_cjs.c(this,F).utilityAddresses?.multicall,customRpcHeaders:chunkVYIKXRYZ_cjs.c(this,F).customRpcHeaders}),i=chunkVYIKXRYZ_cjs.c(this,F).pricingProviders?.coingecko.nativeTokenId,s=chunkVYIKXRYZ_cjs.c(this,F).networkToken,c=new ae({storage:chunkVYIKXRYZ_cjs.c(this,Me),proxyApiUrl:chunkVYIKXRYZ_cjs.c(this,he),fetch:chunkVYIKXRYZ_cjs.c(this,Ve)}),l=i?await c.getSimplePrice({coinIds:[i],currencies:[n]}):{},p=l?.[i??""]?.[n]?.price??void 0,m=l?.[i??""]?.[n]?.marketCap??void 0,u=l?.[i??""]?.[n]?.vol24??void 0,f=l?.[i??""]?.[n]?.change24??void 0,y=await a.getBalance(r),g=new coreUtilsSdk.TokenUnit(y,s.decimals,s.symbol),k=p!==void 0?g.mul(p):void 0;return {...s,coingeckoId:i??"",type:vmModuleTypes.TokenType.NATIVE,balance:y,balanceDisplayValue:g.toDisplay(),balanceInCurrency:k?.toDisplay({fixedDp:2,asNumber:!0}),balanceCurrencyDisplayValue:k?.toDisplay({fixedDp:2}),priceInCurrency:p,marketCap:m,vol24:u,change24:f}}async listErc20Balances({chainId:t,address:r,currency:n,customTokensOnly:a=!1}){let i=await M({chainId:t,chainName:chunkVYIKXRYZ_cjs.c(this,F).chainName,rpcUrl:chunkVYIKXRYZ_cjs.c(this,F).rpcUrl,multiContractAddress:chunkVYIKXRYZ_cjs.c(this,F).utilityAddresses?.multicall,customRpcHeaders:chunkVYIKXRYZ_cjs.c(this,F).customRpcHeaders}),s=chunkVYIKXRYZ_cjs.c(this,F).pricingProviders?.coingecko.assetPlatformId,c=chunkVYIKXRYZ_cjs.c(this,F).pricingProviders?.coingecko.nativeTokenId,l=a?[]:await Ut({chainId:Number(t),proxyApiUrl:chunkVYIKXRYZ_cjs.c(this,he)}),p=l.map(R=>R.address),m=[...l,...chunkVYIKXRYZ_cjs.c(this,ot)].filter(xt),u=chunkVYIKXRYZ_cjs.a(async R=>{let N=await new ethers.ethers.Contract(R.address,Pn__default.default.abi,i).balanceOf?.(r)||0n;return {...R,balance:N}},"getTokenWithBalance"),f=m.map(R=>Ue(u(R),R.address)),y=await Fe(f),g=new ae({storage:chunkVYIKXRYZ_cjs.c(this,Me),proxyApiUrl:chunkVYIKXRYZ_cjs.c(this,he),fetch:chunkVYIKXRYZ_cjs.c(this,Ve)}),k=s&&await g.getPricesByAddresses(p,s,n)||{},T=Object.keys(y),v={};for(let R=0;R<T.length;R++){let w=T[R];if(w===void 0)continue;let x=y[w];if(x===void 0||"error"in x){v[w]={error:`rpcService:getTokenWithBalance failed: ${x?.error??"unknown error"}`};continue}let N=k?.[c??""]?.[n]?.price??void 0,pe=k?.[c??""]?.[n]?.marketCap??void 0,A=k?.[c??""]?.[n]?.vol24??void 0,P=k?.[c??""]?.[n]?.change24??void 0,B=new coreUtilsSdk.TokenUnit(x.balance,x.decimals,x.symbol),je=N!==void 0?B.mul(N):void 0;v[x.address.toLowerCase()]={...x,type:vmModuleTypes.TokenType.ERC20,balance:x.balance,balanceDisplayValue:B.toDisplay(),balanceInCurrency:je?.toDisplay({fixedDp:2,asNumber:!0}),balanceCurrencyDisplayValue:je?.toDisplay({fixedDp:2}),priceInCurrency:N,marketCap:pe,change24:P,vol24:A,reputation:null};}return v}async listNftBalances(){return {}}};F=new WeakMap,Me=new WeakMap,he=new WeakMap,ot=new WeakMap,Ve=new WeakMap,chunkVYIKXRYZ_cjs.a(Er,"RpcService");var Ft=Er;async function ga(e,t){let r=e.map(async(i,s)=>({index:s,result:await t(i)})),a=(await Promise.allSettled(r)).filter(i=>i.status==="fulfilled").map(i=>i).find(i=>i.value.result);return a?e[a.value.index]:void 0}chunkVYIKXRYZ_cjs.a(ga,"findAsync");var fa=chunkVYIKXRYZ_cjs.a(async({addresses:e,currency:t,network:r,proxyApiUrl:n,tokenTypes:a=[vmModuleTypes.TokenType.NATIVE,vmModuleTypes.TokenType.ERC20,vmModuleTypes.TokenType.ERC721,vmModuleTypes.TokenType.ERC1155],customTokens:i=[],customTokensOnly:s=!1,storage:c,balanceServices:l=[],tokenService:p,fetch:m})=>{let u=r.chainId,f=new Ft({network:r,storage:c,proxyApiUrl:n,customTokens:i,fetch:m}),y=s?[f]:[...l,f],g=s?[vmModuleTypes.TokenType.ERC20]:a,k=await ga(y,v=>v.isNetworkSupported(r.chainId)),T={};if(k){let v=[],R=[],w=[];e.forEach(A=>{g.includes(vmModuleTypes.TokenType.NATIVE)&&v.push(Ue(k.getNativeBalance({address:A,currency:t.toUpperCase(),chainId:u}).then(async P=>{if(P.symbol==="AVAX"){let B=await p.getWatchlistDataForToken({tokenDetails:{symbol:r.networkToken.symbol,isNative:!0,caip2Id:r.caipId??""},currency:t.toUpperCase()});return {...P,priceInCurrency:B.priceInCurrency,marketCap:B.marketCap,vol24:B.vol24,change24:B.change24}}return P}),A)),g.includes(vmModuleTypes.TokenType.ERC20)&&R.push(Ue(k.listErc20Balances({customTokens:i.filter(xt),customTokensOnly:s,currency:t.toUpperCase(),chainId:u,address:A,pageSize:100}),A)),(g.includes(vmModuleTypes.TokenType.ERC721)||g.includes(vmModuleTypes.TokenType.ERC1155))&&w.push(Ue(k.listNftBalances({chainId:u,address:A}),A));});let x=await Fe(v),N=await Fe(R),pe=await Fe(w);Object.keys(x).forEach(A=>{let P=x[A];if(!P||"error"in P){T[A]={error:`getNativeBalance failed: ${P?.error??"unknown error"}`};return}let B=P.symbol;T[A]={[B]:P};}),Object.keys(N).forEach(A=>{let P=N[A];!P||"error"in P&&typeof P.error!="string"?T[A]={...T[A],error:"listErc20Balances failed: unknown error"}:"error"in P&&typeof P.error=="string"?T[A]={...T[A],error:`listErc20Balances failed: ${P.error}`}:T[A]={...T[A],...P};}),Object.keys(pe).forEach(A=>{let P=pe[A];!P||"error"in P&&typeof P.error!="string"?T[A]={...T[A],error:"listNftBalances failed: unknown error"}:"error"in P&&typeof P.error=="string"?T[A]={...T[A],error:`listNftBalances failed: ${P.error}`}:T[A]={...T[A],...P};});}else e.forEach(v=>{T[v]={error:"unsupported network"};});return T},"getBalances");var Ir={LOW:1n,MEDIUM:4n,HIGH:6n},Ar=500000000n,Jo=chunkVYIKXRYZ_cjs.a(e=>e===coreChainsSdk.ChainId.AVALANCHE_TESTNET_ID||e===coreChainsSdk.ChainId.AVALANCHE_MAINNET_ID,"isCChain"),Ta=137,ka=80002,Xo=chunkVYIKXRYZ_cjs.a(e=>e===Ta||e===ka,"isPolygon"),Zo={[Ta]:"https://gasstation.polygon.technology/v2",[ka]:"https://gasstation.polygon.technology/amoy"};function Te(e){return BigInt(Math.round(e*1e9))}chunkVYIKXRYZ_cjs.a(Te,"gweiToWei");async function Qo(e){let t=Zo[e];if(!t)throw new Error(`No gas station URL for Polygon chain ${e}`);let r=await fetch(t);if(!r.ok)throw new Error(`Polygon Gas Station returned ${r.status}`);let n=await r.json();return {baseFee:Te(n.estimatedBaseFee),low:{maxFeePerGas:Te(n.safeLow.maxFee),maxPriorityFeePerGas:Te(n.safeLow.maxPriorityFee)},medium:{maxFeePerGas:Te(n.standard.maxFee),maxPriorityFeePerGas:Te(n.standard.maxPriorityFee)},high:{maxFeePerGas:Te(n.fast.maxFee),maxPriorityFeePerGas:Te(n.fast.maxPriorityFee)},isFixedFee:!1,displayDecimals:9}}chunkVYIKXRYZ_cjs.a(Qo,"getPolygonGasStationFees");async function ba({chainId:e,chainName:t,rpcUrl:r,multiContractAddress:n,caipId:a,proxyApiUrl:i,customRpcHeaders:s}){let c=await M({chainId:e,chainName:t,rpcUrl:r,multiContractAddress:n,customRpcHeaders:s});if(!i)throw rpcErrors.rpcErrors.internal("Proxy API URL is needed");if(Jo(e))try{let R=await ei(c);return {...R,baseFee:R.medium.maxFeePerGas,displayDecimals:9,isFixedFee:!1}}catch{console.error("eth_suggestPriceOptions call failed, falling back to legacy fee fetching");}if(Xo(e))try{return await Qo(e)}catch{console.error("Polygon Gas Station call failed, falling back to generic fee fetching");}let l=await c.getBlock("latest",!1);if(!l)throw rpcErrors.rpcErrors.internal("There is no block");let p=l.baseFeePerGas;if(!p)throw rpcErrors.rpcErrors.internal("Pre-EIP-1559 networks are not supported");let m=await ti(i,a),u=new coreUtilsSdk.TokenUnit(m,0,""),f=new coreUtilsSdk.TokenUnit(p,0,""),y=BigInt("1000000000"),g=f.mul(u).add(y).toSubUnit(),k=Ar*Ir.LOW,T=Ar*Ir.MEDIUM,v=Ar*Ir.HIGH;return {baseFee:g,low:{maxFeePerGas:g+k,maxPriorityFeePerGas:k},medium:{maxFeePerGas:g+T,maxPriorityFeePerGas:T},high:{maxFeePerGas:g+v,maxPriorityFeePerGas:v},isFixedFee:!1,displayDecimals:9}}chunkVYIKXRYZ_cjs.a(ba,"getNetworkFee");async function ei(e){let t=await e.send("eth_suggestPriceOptions",[]);return {low:{maxFeePerGas:BigInt(t.slow.maxFeePerGas),maxPriorityFeePerGas:BigInt(t.slow.maxPriorityFeePerGas)},medium:{maxFeePerGas:BigInt(t.normal.maxFeePerGas),maxPriorityFeePerGas:BigInt(t.normal.maxPriorityFeePerGas)},high:{maxFeePerGas:BigInt(t.fast.maxFeePerGas),maxPriorityFeePerGas:BigInt(t.fast.maxPriorityFeePerGas)}}}chunkVYIKXRYZ_cjs.a(ei,"suggestPriceOptions");async function ti(e,t){if(!t)return 1.5;try{let n=await fetch(`${e}/gas/multiplier`);if(!n.ok)throw new Error(n.statusText);let a=await n.json();return a[t]??a.default}catch{return 1.5}}chunkVYIKXRYZ_cjs.a(ti,"getGasMultiplier");function Ea(e){return e===vmModuleTypes.TokenType.ERC721||e===vmModuleTypes.TokenType.ERC1155}chunkVYIKXRYZ_cjs.a(Ea,"isNftTokenType");function Pr(e){let{txType:t,isSender:r,walletAddress:n,tokens:a}=e;if(a.length===0)return t;let i=n.toLowerCase(),s=a.some(m=>Ea(m.type)&&m.to?.address?.toLowerCase()===i),c=a.some(m=>Ea(m.type)&&m.from?.address?.toLowerCase()===i),l=t===vmModuleTypes.TransactionType.RECEIVE||t===vmModuleTypes.TransactionType.UNKNOWN||t===vmModuleTypes.TransactionType.TRANSFER||t===vmModuleTypes.TransactionType.AIRDROP,p=t===vmModuleTypes.TransactionType.SEND||t===vmModuleTypes.TransactionType.UNKNOWN||t===vmModuleTypes.TransactionType.TRANSFER||t===vmModuleTypes.TransactionType.AIRDROP;return !r&&s&&l?vmModuleTypes.TransactionType.NFT_RECEIVE:r&&c&&p?vmModuleTypes.TransactionType.NFT_SEND:t}chunkVYIKXRYZ_cjs.a(Pr,"convertTransactionType");var va=chunkVYIKXRYZ_cjs.a(({nativeTransaction:e,erc20Transfers:t,erc721Transfers:r,erc1155Transfers:n},a,i)=>{let s=!t&&!r&&!n,c=ni(e.method?.methodName),l=a.toLowerCase(),p=c.toLowerCase().includes("swap"),m=s&&e.from.address.toLowerCase()===l,u=s&&e.to.address.toLowerCase()===l,f=c==="Market Buy Orders With Eth"||c==="Buy NFT",y=c==="Approve",g=c.toLowerCase().includes("transfer"),k=c.toLowerCase().includes("airdrop"),T=c.toLowerCase().includes("unwrap"),v=c==="Fill Order",R;p?R=vmModuleTypes.TransactionType.SWAP:m?R=vmModuleTypes.TransactionType.SEND:u?R=vmModuleTypes.TransactionType.RECEIVE:f?R=vmModuleTypes.TransactionType.NFT_BUY:y?R=vmModuleTypes.TransactionType.APPROVE:g?R=vmModuleTypes.TransactionType.TRANSFER:k?R=vmModuleTypes.TransactionType.AIRDROP:T?R=vmModuleTypes.TransactionType.UNWRAP:v?R=vmModuleTypes.TransactionType.FILL_ORDER:R=vmModuleTypes.TransactionType.UNKNOWN;let w=e.from.address.toLowerCase()===l;return Pr({txType:R,isSender:w,walletAddress:a,tokens:i})},"getTxType"),ni=chunkVYIKXRYZ_cjs.a((e="")=>e.includes("(")?ri__default.default(e.split("(",1)[0]):e,"parseRawMethod");function Ia({tx:e,networkToken:t,explorerUrl:r,chainId:n,address:a}){let i=e.from_address.toLowerCase()===a.toLowerCase(),s=new Date(e.block_timestamp).getTime(),c=oi(e.category),l=!ai.has(e.category),p=li(e,t,a),m=oe(r,e.hash);return c=Pr({txType:c,isSender:i,walletAddress:a,tokens:p}),{isContractCall:l,isIncoming:!i,isOutgoing:i,isSender:i,timestamp:s,hash:e.hash,from:e.from_address,to:e.to_address??"",tokens:p,gasPrice:e.gas_price,gasUsed:e.receipt_gas_used,chainId:n.toString(),txType:c,method:e.method_label??void 0,explorerLink:m}}chunkVYIKXRYZ_cjs.a(Ia,"convertMoralisTransaction");var ai=new Set(["send","receive","token send","token receive"]),si={send:vmModuleTypes.TransactionType.SEND,receive:vmModuleTypes.TransactionType.RECEIVE,"token send":vmModuleTypes.TransactionType.SEND,"token receive":vmModuleTypes.TransactionType.RECEIVE,"nft send":vmModuleTypes.TransactionType.NFT_SEND,"nft receive":vmModuleTypes.TransactionType.NFT_RECEIVE,"token swap":vmModuleTypes.TransactionType.SWAP,"nft purchase":vmModuleTypes.TransactionType.NFT_BUY,"nft sale":vmModuleTypes.TransactionType.NFT_SEND,airdrop:vmModuleTypes.TransactionType.AIRDROP,mint:vmModuleTypes.TransactionType.NFT_BUY,burn:vmModuleTypes.TransactionType.UNKNOWN,deposit:vmModuleTypes.TransactionType.UNKNOWN,withdraw:vmModuleTypes.TransactionType.UNKNOWN,borrow:vmModuleTypes.TransactionType.UNKNOWN,"contract interaction":vmModuleTypes.TransactionType.UNKNOWN};function oi(e){return si[e]??vmModuleTypes.TransactionType.UNKNOWN}chunkVYIKXRYZ_cjs.a(oi,"getMoralisTransactionType");function ce(e){if(!(e==null||e===""))return {address:e}}chunkVYIKXRYZ_cjs.a(ce,"getTransferAddress");function Mt(e){return e?.trim()??""}chunkVYIKXRYZ_cjs.a(Mt,"trimOrEmpty");function ii(e){let t=e.trim().toLowerCase();return !t.startsWith("0x")||t.length<12?e.trim():`${t.slice(0,6)}\u2026${t.slice(-4)}`}chunkVYIKXRYZ_cjs.a(ii,"shortenHexAddress");function ci(e){let t=Mt(e.token_symbol);if(t!=="")return t;let r=Mt(e.token_name);return r!==""?r:ii(e.address)}chunkVYIKXRYZ_cjs.a(ci,"getErc20DisplaySymbol");function li(e,t,r){let n=[],a=e.native_transfers.map(s=>pi(s,t)),i=e.erc20_transfers.map(s=>mi(s));n.push(...a,...i);for(let s of e.nft_transfers)n.push(di(s));return n.length===0&&n.push(ui(e,t,r)),n}chunkVYIKXRYZ_cjs.a(li,"buildTokens");function pi(e,t){let r=Mt(e.token_symbol)||t.symbol,n=new coreUtilsSdk.TokenUnit(e.value,t.decimals,r);return {decimal:t.decimals.toString(),name:t.name,symbol:r,amount:n.toDisplay(),from:ce(e.from_address),to:ce(e.to_address),type:vmModuleTypes.TokenType.NATIVE}}chunkVYIKXRYZ_cjs.a(pi,"buildNativeToken");function mi(e){let t=Number(e.token_decimals),r=ci(e),n=new coreUtilsSdk.TokenUnit(e.value,t,r),a=Mt(e.token_name)||r;return {decimal:e.token_decimals,name:a,symbol:r,amount:n.toDisplay(),from:ce(e.from_address),to:ce(e.to_address),type:vmModuleTypes.TokenType.ERC20,address:e.address}}chunkVYIKXRYZ_cjs.a(mi,"buildErc20Token");function di(e){let t=e.contract_type==="ERC1155"?vmModuleTypes.TokenType.ERC1155:vmModuleTypes.TokenType.ERC721;return {name:"",symbol:"",amount:e.amount,collectableTokenId:e.token_id,from:ce(e.from_address),to:ce(e.to_address),type:t,address:e.token_address}}chunkVYIKXRYZ_cjs.a(di,"buildNftToken");function ui(e,t,r){let n=new coreUtilsSdk.TokenUnit(e.value,t.decimals,t.symbol),i=e.from_address.toLowerCase()===r.toLowerCase()?`-${n.toDisplay()}`:n.toDisplay();return {decimal:t.decimals.toString(),name:t.name,symbol:t.symbol,amount:i,from:ce(e.from_address),to:ce(e.to_address),type:vmModuleTypes.TokenType.NATIVE}}chunkVYIKXRYZ_cjs.a(ui,"buildFallbackNativeToken");var gi="https://proxy-api.avax.network/proxy/moralis-evm";async function Aa({chainId:e,networkToken:t,explorerUrl:r,address:n,nextPageToken:a,offset:i}){try{let s=`0x${e.toString(16)}`,c=new URLSearchParams({chain:s,limit:(i??25).toString()});a&&c.set("cursor",a);let l=`${gi}/wallets/${n}/history?${c.toString()}`,p=await fetch(l);if(!p.ok)return {transactions:[],nextPageToken:""};let m=await p.json();return Array.isArray(m.result)?{transactions:m.result.filter(f=>f.receipt_status==="1").map(f=>Ia({tx:f,networkToken:t,explorerUrl:r,chainId:e,address:n})),nextPageToken:m.cursor??""}:{transactions:[],nextPageToken:""}}catch{return {transactions:[],nextPageToken:""}}}chunkVYIKXRYZ_cjs.a(Aa,"getTransactionsFromMoralis");var fi=new Set([1,4,5,11155111,8453,42161,10]);function Pa(e){return fi.has(e)}chunkVYIKXRYZ_cjs.a(Pa,"isMoralisSupportedChain");var xa=chunkVYIKXRYZ_cjs.a((e,{nativeTransaction:t,erc20Transfers:r,erc721Transfers:n},a)=>{let i=e===vmModuleTypes.TransactionType.TRANSFER,s=e===vmModuleTypes.TransactionType.SEND||e===vmModuleTypes.TransactionType.NFT_SEND,c=e===vmModuleTypes.TransactionType.RECEIVE||e===vmModuleTypes.TransactionType.NFT_RECEIVE,l=t?.from?.address,p=t?.to?.address;i&&r&&r[0]&&(l=r[0].from.address,p=r[0].to.address),i&&n&&n[0]&&(l=n[0].from.address,p=n[0].to.address);let m=s||i&&l.toLowerCase()===a.toLowerCase(),u=c||i&&p.toLowerCase()===a.toLowerCase();return {isOutgoing:m,isIncoming:u,isSender:l===a,from:l,to:p}},"getSenderInfo");async function Sa(e){try{return e.then(t=>[t,null]).catch(t=>[null,t])}catch(t){return Promise.resolve([null,t])}}chunkVYIKXRYZ_cjs.a(Sa,"resolve");var hi="https://ipfs.io";function Le(e,t=hi){if(!e)return "";try{return coreUtilsSdk.ipfsResolver(e,t)}catch{return e}}chunkVYIKXRYZ_cjs.a(Le,"ipfsResolverWithFallback");async function Ti(e,t=5e3){let r=new AbortController;return setTimeout(()=>r.abort(),t),fetch(e,{signal:r.signal})}chunkVYIKXRYZ_cjs.a(Ti,"fetchWithTimeout");async function Na(e){let t={};if(e)if(e.startsWith("data:application/json;base64,")){let r=e.substring(29);try{let n=Buffer.from(r,"base64").toString();t=JSON.parse(n);}catch{t={};}}else t=await Ti(Le(e)).then(r=>r.json()).catch(()=>({}));else return {};return t}chunkVYIKXRYZ_cjs.a(Na,"getNftMetadata");var ki="https://image-proxy.svc.prod.covalenthq.com/cdn-cgi/image";function Ca(e,t="256"){let r=Le(e);return `${ki}/width=${t},fit/${r}`}chunkVYIKXRYZ_cjs.a(Ca,"getSmallImageForNFT");var _a=chunkVYIKXRYZ_cjs.a(async({nativeTransaction:e,erc20Transfers:t,erc721Transfers:r,erc1155Transfers:n},a)=>{let i=[];if(e.value!=="0"){let s=a.decimals,l=new coreUtilsSdk.TokenUnit(e.value,a.decimals,a.symbol).toDisplay();i.push({decimal:s.toString(),name:a.name,symbol:a.symbol,amount:l,from:e.from,to:e.to,type:vmModuleTypes.TokenType.NATIVE});}return t?.forEach(s=>{let c=s.erc20Token.decimals,p=new coreUtilsSdk.TokenUnit(s.value,c,s.erc20Token.symbol).toDisplay();i.push({decimal:c.toString(),address:s.erc20Token.address,name:s.erc20Token.name,symbol:s.erc20Token.symbol,amount:p,from:s.from,to:s.to,imageUri:s.erc20Token.logoUri,type:vmModuleTypes.TokenType.ERC20});}),r&&await Promise.allSettled(r.map(async s=>{let c=s.erc721Token,l=await Da(c.tokenUri,c.metadata.imageUri);i.push({name:s.erc721Token.name,symbol:s.erc721Token.symbol,address:s.erc721Token.address,amount:"1",imageUri:l,from:s.from,to:s.to,collectableTokenId:s.erc721Token.tokenId,type:vmModuleTypes.TokenType.ERC721});})),n&&await Promise.allSettled(n.map(async s=>{let c=s.erc1155Token,l=await Da(c.tokenUri,c.metadata.imageUri);i.push({name:s.erc1155Token.metadata.name??"",symbol:s.erc1155Token.metadata.symbol??"",address:s.erc1155Token.address,amount:s.value,imageUri:l,from:s.from,to:s.to,collectableTokenId:s.erc1155Token.tokenId,type:vmModuleTypes.TokenType.ERC1155});})),i},"getTokens"),Da=chunkVYIKXRYZ_cjs.a(async(e,t)=>{if(t)return t.startsWith("ipfs://")?Le(t):t;{let[r,n]=await Sa(Na(e));return n?"":r.image?Ca(r.image):""}},"getImageUri");var Ba=chunkVYIKXRYZ_cjs.a(async({transactions:e,explorerUrl:t,networkToken:r,chainId:n,address:a})=>{let i=await _a(e,r),s=va(e,a,i),{isOutgoing:c,isIncoming:l,isSender:p,from:m,to:u}=xa(s,e,a),{blockTimestamp:f,txHash:y,gasPrice:g,gasUsed:k}=e.nativeTransaction,T=oe(t,y);return {isContractCall:!dn.includes(s),isIncoming:l,isOutgoing:c,isSender:p,timestamp:f*1e3,hash:y,from:m,to:u,tokens:i,gasPrice:g,gasUsed:k,chainId:n.toString(),txType:s,explorerLink:T}},"convertTransaction");var Ua=chunkVYIKXRYZ_cjs.a(async({chainId:e,explorerUrl:t,networkToken:r,address:n,nextPageToken:a,offset:i,glacierService:s})=>{try{let c=await s.listTransactions({chainId:e.toString(),address:n,pageToken:a,pageSize:i});return {transactions:(await Promise.all(c.transactions.filter(m=>m.nativeTransaction.txStatus==="1").map(m=>Ba({transactions:m,explorerUrl:t,networkToken:r,chainId:e,address:n}).then(u=>u)))).filter(m=>m.tokens.find(u=>Number(u.amount)!==0)),nextPageToken:c.nextPageToken}}catch{return {transactions:[],nextPageToken:""}}},"getTransactionsFromGlacier");async function Fa({client:e,chainId:t,networkToken:r,explorerUrl:n,address:a,nextPageToken:i,offset:s=25}){try{let c=bi(i),[l,p,m]=await Promise.all([e.listNormalTransactions(a,{page:c,offset:s}),e.listErc20Transfers(a,{page:c,offset:s}),e.listInternalTransactions(a,{page:c,offset:s})]),u=new Map;for(let g of l){if(g.isError!=="0"||g.txreceipt_status!=="1")continue;let k=Nr(u,g),T=Ri(g,r);T&&k.tokens.push(T);}for(let g of p)Nr(u,g).tokens.push(vi(g));for(let g of m){if(g.isError!=="0")continue;let k=Nr(u,g),T=Ei(g,r);T&&k.tokens.push(T);}let f=Array.from(u.values()).map(g=>Ii(g,a,n,r,t)).sort((g,k)=>k.timestamp-g.timestamp),y=[l,p,m].some(g=>g.length===s);return {transactions:f,nextPageToken:y?String(c+1):""}}catch{return {transactions:[],nextPageToken:""}}}chunkVYIKXRYZ_cjs.a(Fa,"getTransactionsFromHyperEvm");function bi(e){let t=Number(e);return Number.isSafeInteger(t)&&t>0?t:1}chunkVYIKXRYZ_cjs.a(bi,"getPage");function Nr(e,t){let r=e.get(t.hash);if(r)return r;let n={hash:t.hash,timestamp:Number(t.timeStamp)*1e3,from:t.from,to:t.to,gasPrice:"gasPrice"in t?t.gasPrice:void 0,gasUsed:t.gasUsed,isContractCall:"input"in t&&t.input!=="0x",tokens:[]};return e.set(t.hash,n),n}chunkVYIKXRYZ_cjs.a(Nr,"getAggregate");function Ri(e,t){if(e.value!=="0")return {decimal:String(t.decimals),name:t.name,symbol:t.symbol,amount:new coreUtilsSdk.TokenUnit(e.value,t.decimals,t.symbol).toDisplay(),from:{address:e.from},to:{address:e.to},type:vmModuleTypes.TokenType.NATIVE}}chunkVYIKXRYZ_cjs.a(Ri,"nativeToken");function Ei(e,t){if(e.value!=="0")return {decimal:String(t.decimals),name:t.name,symbol:t.symbol,amount:new coreUtilsSdk.TokenUnit(e.value,t.decimals,t.symbol).toDisplay(),from:{address:e.from},to:{address:e.to},type:vmModuleTypes.TokenType.NATIVE}}chunkVYIKXRYZ_cjs.a(Ei,"internalToken");function vi(e){return {decimal:e.tokenDecimal,name:e.tokenName,symbol:e.tokenSymbol,amount:new coreUtilsSdk.TokenUnit(e.value,Number(e.tokenDecimal),e.tokenSymbol).toDisplay(),from:{address:e.from},to:{address:e.to},type:vmModuleTypes.TokenType.ERC20,address:e.contractAddress}}chunkVYIKXRYZ_cjs.a(vi,"erc20Token");function Ii(e,t,r,n,a){let i=t.toLowerCase(),s=e.tokens.some(m=>m.to?.address.toLowerCase()===i),c=e.tokens.some(m=>m.from?.address.toLowerCase()===i),l=e.from.toLowerCase()===i||c,p=s&&c?vmModuleTypes.TransactionType.SWAP:l?vmModuleTypes.TransactionType.SEND:vmModuleTypes.TransactionType.RECEIVE;return {isContractCall:e.isContractCall||s&&c,isIncoming:s&&!c,isOutgoing:c,isSender:l,timestamp:e.timestamp,hash:e.hash,from:e.from,to:e.to,tokens:e.tokens.length>0?e.tokens:[{decimal:String(n.decimals),name:n.name,symbol:n.symbol,amount:"0",type:vmModuleTypes.TokenType.NATIVE}],gasPrice:e.gasPrice,gasUsed:e.gasUsed,chainId:a.toString(),txType:p,explorerLink:oe(r,e.hash)}}chunkVYIKXRYZ_cjs.a(Ii,"toTransaction");var Ai=999,Ma=chunkVYIKXRYZ_cjs.a(async({chainId:e,networkToken:t,explorerUrl:r,address:n,nextPageToken:a,offset:i,glacierService:s,hyperEvmEtherscanClient:c})=>e===Ai?c?Fa({client:c,chainId:e,networkToken:t,explorerUrl:r,address:n,nextPageToken:a,offset:i}):{transactions:[],nextPageToken:""}:Pa(e)?Aa({chainId:e,networkToken:t,explorerUrl:r,address:n,nextPageToken:a,offset:i}):s.isHealthy()?Ua({networkToken:t,explorerUrl:r,chainId:e,address:n,nextPageToken:a,offset:i,glacierService:s}):{transactions:[],nextPageToken:""},"getTransactionHistory");var xi="https://ipfs.io";function Va(e,t=xi){if(!e)return "";try{return coreUtilsSdk.ipfsResolver(e,t)}catch{return e}}chunkVYIKXRYZ_cjs.a(Va,"ipfsResolverWithFallback");var Si="https://image-proxy.svc.prod.covalenthq.com/cdn-cgi/image";function Gt(e,t="256"){let r=Va(e);return `${Si}/width=${t},fit/${r}`}chunkVYIKXRYZ_cjs.a(Gt,"getSmallImageForNFT");var Ge,Q,wr=class wr{constructor(t,r){this.baseUrl=t;chunkVYIKXRYZ_cjs.d(this,Ge,[]);chunkVYIKXRYZ_cjs.d(this,Q,void 0);chunkVYIKXRYZ_cjs.e(this,Q,r??fetch);}async isNetworkSupported(t){return (await this.getChainList()).some(n=>n.community_id===t)}async getChainInfo({chainId:t}){return (await this.getChainList()).find(n=>n.id===t)}async getTokenBalance({chainId:t,address:r,tokenId:n}){let a=await chunkVYIKXRYZ_cjs.c(this,Q).call(this,`${this.baseUrl}/v1/user/token?id=${r}&chain_id=${t}&token_id=${n}`);if(a.ok)return await a.json();throw new Error(`${a.status}:${a.statusText}`)}async getTokensBalanceOnChain({chainId:t,address:r}){let n=await chunkVYIKXRYZ_cjs.c(this,Q).call(this,`${this.baseUrl}/v1/user/token_list?id=${r}&chain_id=${t}`);if(n.ok)return await n.json();throw new Error(`${n.status}:${n.statusText}`)}async getTokenList({chainId:t,address:r}){let n=await(chunkVYIKXRYZ_cjs.c(this,Q)??globalThis.fetch)(`${this.baseUrl}/v1/user/token_list?id=${r}&chain_id=${t}`);if(n.ok)return await n.json();throw new Error(`${n.status}:${n.statusText}`)}async getChainList(){if(chunkVYIKXRYZ_cjs.c(this,Ge).length===0){let t=await chunkVYIKXRYZ_cjs.c(this,Q).call(this,`${this.baseUrl}/v1/chain/list`);if(t.ok)chunkVYIKXRYZ_cjs.e(this,Ge,await t.json());else throw new Error(`${t.status}:${t.statusText}`)}return chunkVYIKXRYZ_cjs.c(this,Ge)}async getNftList({address:t,chainId:r}){return $([`${this.baseUrl}/v1/user/nft_list?id=${t}&chain_id=${r}`],Di,chunkVYIKXRYZ_cjs.c(this,Q))}};Ge=new WeakMap,Q=new WeakMap,chunkVYIKXRYZ_cjs.a(wr,"DeBank");var $t=wr,Ci=zod.z.object({id:zod.z.union([zod.z.custom(ethers.isHexString),zod.z.string()]),chain:zod.z.string(),name:zod.z.string()}),wi=Ci.merge(zod.z.object({contract_id:zod.z.string(),description:zod.z.string().nullable(),content_type:zod.z.string().nullable(),content:zod.z.string(),thumbnail_url:zod.z.string(),total_supply:zod.z.number(),detail_url:zod.z.string(),collection_id:zod.z.string(),is_core:zod.z.boolean(),inner_id:zod.z.string(),collection_name:zod.z.string(),contract_name:zod.z.string(),amount:zod.z.number(),usd_price:zod.z.number().optional(),is_erc721:zod.z.boolean().optional(),is_erc1155:zod.z.boolean().optional()})),Di=zod.z.array(wi);var Y,$e,Ht,jt,Ga,_r=class _r{constructor({proxyApiUrl:t,fetch:r}){chunkVYIKXRYZ_cjs.d(this,$e);chunkVYIKXRYZ_cjs.d(this,jt);chunkVYIKXRYZ_cjs.d(this,Y,void 0);chunkVYIKXRYZ_cjs.e(this,Y,new $t(`${t}/proxy/debank`,r));}async isNetworkSupported(t){return chunkVYIKXRYZ_cjs.c(this,Y).isNetworkSupported(t)}async getNativeBalance({chainId:t,address:r,currency:n}){if(!ethers.isHexString(r))throw rpcErrors.rpcErrors.invalidParams("getNativeBalance: not valid address: "+r);let{chainInfo:a,chainIdString:i}=await chunkVYIKXRYZ_cjs.f(this,$e,Ht).call(this,t),s=a.native_token_id,c=await chunkVYIKXRYZ_cjs.c(this,Y).getTokenBalance({address:r,chainId:i,tokenId:s}),l=new coreUtilsSdk.TokenUnit(c.raw_amount,c.decimals,c.symbol),p=l.toDisplay(),u=(await yt()).usd[n.toLowerCase()],f=u?u*c.price:void 0,y=f?l.mul(f).toDisplay({fixedDp:2}):void 0,g=f?l.mul(f).toDisplay({fixedDp:2,asNumber:!0}):void 0;return {name:c.name,symbol:c.symbol,decimals:c.decimals,type:vmModuleTypes.TokenType.NATIVE,logoUri:c.logo_url,balance:l.toSubUnit(),balanceDisplayValue:p,balanceInCurrency:g,balanceCurrencyDisplayValue:y,priceInCurrency:f}}async listErc20Balances({chainId:t,address:r,currency:n}){if(!ethers.isHexString(r))throw rpcErrors.rpcErrors.invalidParams("listErc20Balances: not valid address");let{chainInfo:a,chainIdString:i}=await chunkVYIKXRYZ_cjs.f(this,$e,Ht).call(this,t),s=await chunkVYIKXRYZ_cjs.c(this,Y).getTokensBalanceOnChain({chainId:i,address:r}),c=await yt(),l={};for(let p of s){if(p.id===a.native_token_id||p.is_core===!1)continue;let m=new coreUtilsSdk.TokenUnit(p.raw_amount,p.decimals,p.symbol),u=m.toDisplay(),f=c.usd[n.toLowerCase()],y=f?f*p.price:void 0,g=y?m.mul(y).toDisplay({fixedDp:2}):void 0,k=y?m.mul(y).toDisplay({fixedDp:2,asNumber:!0}):void 0;l[p.id]={chainId:a.community_id,address:p.id,name:p.name,symbol:p.symbol,decimals:p.decimals,logoUri:p.logo_url,balance:m.toSubUnit(),balanceCurrencyDisplayValue:g,balanceDisplayValue:u,balanceInCurrency:k,priceInCurrency:y,type:vmModuleTypes.TokenType.ERC20,reputation:null};}return l}async listNftBalances({chainId:t,address:r}){if(!ethers.isHexString(r))throw rpcErrors.rpcErrors.invalidParams("listNftBalances: not valid address");let{chainIdString:n}=await chunkVYIKXRYZ_cjs.f(this,$e,Ht).call(this,t),a=await chunkVYIKXRYZ_cjs.c(this,Y).getNftList({chainId:n,address:r});return chunkVYIKXRYZ_cjs.f(this,jt,Ga).call(this,a,t)}};Y=new WeakMap,$e=new WeakSet,Ht=chunkVYIKXRYZ_cjs.a(async function(t){let n=(await chunkVYIKXRYZ_cjs.c(this,Y).getChainList()).find(i=>i.community_id===t)?.id;if(!n)throw rpcErrors.rpcErrors.invalidParams("getNativeBalance: not valid chainId: "+t);let a=await chunkVYIKXRYZ_cjs.c(this,Y).getChainInfo({chainId:n});if(!a)throw rpcErrors.rpcErrors.invalidParams("getNativeBalance: not valid chainId: "+t);return {chainInfo:a,chainIdString:n}},"#getChainInfo"),jt=new WeakSet,Ga=chunkVYIKXRYZ_cjs.a(function(t,r){return t.reduce((n,a)=>({...n,[`${a.contract_id}-${a.id}`]:{chainId:r,address:a.contract_id,description:a.description??"",logoUri:a.thumbnail_url,logoSmall:Gt(a.content),name:a.name,symbol:"",tokenId:`${a.inner_id}`,tokenUri:a.detail_url,collectionName:a.collection_name,balance:BigInt(a.amount),balanceDisplayValue:`${a.amount}`,type:a.is_erc721?vmModuleTypes.TokenType.ERC721:vmModuleTypes.TokenType.ERC1155,metadata:{indexStatus:glacierSdk.NftTokenMetadataStatus.UNINDEXED,description:a.description??"",properties:""}}}),{})},"#mapNftList"),chunkVYIKXRYZ_cjs.a(_r,"DeBankService");var Wt=_r;var Ur=class Ur extends Error{constructor(){super(...arguments);chunkVYIKXRYZ_cjs.b(this,"message","Glacier is unhealthy. Try again later.");}};chunkVYIKXRYZ_cjs.a(Ur,"GlacierUnhealthyError");var ee=Ur,Mi=[coreChainsSdk.ChainId.ETHEREUM_HOMESTEAD],Fr=class Fr{constructor({glacierApiUrl:t,headers:r,getAuthHeaders:n}){chunkVYIKXRYZ_cjs.b(this,"glacierSdk");chunkVYIKXRYZ_cjs.b(this,"isGlacierHealthy",!0);chunkVYIKXRYZ_cjs.b(this,"supportedChainIds",[]);chunkVYIKXRYZ_cjs.b(this,"isHealthy",chunkVYIKXRYZ_cjs.a(()=>this.isGlacierHealthy,"isHealthy"));this.glacierSdk=new glacierSdk.Glacier({BASE:t,HEADERS:n?async()=>({...r,...await n()}):r},Ke),this.getSupportedChainIds().catch(()=>{});}setGlacierToUnhealthy(){this.isGlacierHealthy=!1,setTimeout(()=>{this.isGlacierHealthy=!0;},5*60*1e3);}async isNetworkSupported(t){return (await this.getSupportedChainIds()).some(n=>n===t.toString())}async getSupportedChainIds(){if(this.supportedChainIds.length)return this.supportedChainIds;try{let t=await this.glacierSdk.evmChains.supportedChains({});return this.supportedChainIds=t.chains.map(r=>r.chainId).filter(r=>!Mi.includes(Number(r))),this.supportedChainIds}catch{return []}}async reindexNft({address:t,chainId:r,tokenId:n}){try{await this.glacierSdk.nfTs.reindexNft({address:t,chainId:r,tokenId:n});}catch(a){throw a instanceof ee&&this.setGlacierToUnhealthy(),a}}async getTokenDetails({address:t,chainId:r,tokenId:n}){try{return this.glacierSdk.nfTs.getTokenDetails({address:t,chainId:r,tokenId:n})}catch(a){throw a instanceof ee&&this.setGlacierToUnhealthy(),a}}async getNativeBalance({chainId:t,address:r,currency:n,coingeckoId:a}){try{let s=(await this.glacierSdk.evmBalances.getNativeBalance({chainId:t.toString(),address:r,currency:n.toLocaleLowerCase()})).nativeTokenBalance,c=new coreUtilsSdk.TokenUnit(s.balance,s.decimals,s.symbol),l=s.price?.value,p=l!==void 0?c.mul(l):void 0;return {name:s.name,symbol:s.symbol,decimals:s.decimals,type:vmModuleTypes.TokenType.NATIVE,logoUri:s.logoUri,balance:c.toSubUnit(),balanceDisplayValue:c.toDisplay(),balanceInCurrency:p?.toDisplay({fixedDp:2,asNumber:!0}),balanceCurrencyDisplayValue:p?.toDisplay({fixedDp:2}),priceInCurrency:l,coingeckoId:a??""}}catch(i){throw i instanceof ee&&this.setGlacierToUnhealthy(),i}}async listErc721Balances({chainId:t,address:r}){let n,a=[];do try{let i=await this.glacierSdk.evmBalances.listErc721Balances({chainId:t,address:r,pageSize:100,pageToken:n});a.push(...i.erc721TokenBalances),n=i.nextPageToken;}catch(i){throw i instanceof ee&&this.setGlacierToUnhealthy(),i}while(n);return a}async listErc1155Balances({chainId:t,address:r}){let n,a=[];do try{let i=await this.glacierSdk.evmBalances.listErc1155Balances({chainId:t,address:r,pageSize:100,pageToken:n});a.push(...i.erc1155TokenBalances),n=i.nextPageToken;}catch(i){throw i instanceof ee&&this.setGlacierToUnhealthy(),i}while(n);return a}async listNftBalances({chainId:t,address:r}){let a=(await Promise.allSettled([this.listErc721Balances({chainId:t.toString(),address:r}),this.listErc1155Balances({chainId:t.toString(),address:r})])).filter(i=>i.status==="fulfilled").flatMap(i=>i.value.filter(s=>s.ercType===glacierSdk.Erc721Token.ercType.ERC_721||BigInt(s.balance)>0n).map(s=>[`${s.address}-${s.tokenId}`,{address:s.address,description:s.metadata.description??"",logoUri:s.metadata.imageUri??"",logoSmall:Gt(s.metadata.imageUri??""),name:s.metadata.name??"",symbol:s.metadata.symbol??"",tokenId:s.tokenId,tokenUri:s.tokenUri,chainId:t,collectionName:"Unknown",balance:s.ercType===glacierSdk.Erc1155Token.ercType.ERC_1155?BigInt(s.balance):1,balanceDisplayValue:s.ercType===glacierSdk.Erc1155Token.ercType.ERC_1155?s.balance:"1",type:s.ercType===glacierSdk.Erc721Token.ercType.ERC_721?vmModuleTypes.TokenType.ERC721:vmModuleTypes.TokenType.ERC1155,metadata:{indexStatus:s.metadata.indexStatus,description:s.metadata.description,lastUpdatedTimestamp:s.metadata.metadataLastUpdatedTimestamp,properties:s.ercType===glacierSdk.Erc721Token.ercType.ERC_721?s.metadata.attributes:s.metadata.properties}}]));return Object.fromEntries(a)}async listErc20Balances({chainId:t,address:r,currency:n,customTokens:a}){try{let i=[],s;do{let c=await this.glacierSdk.evmBalances.listErc20Balances({chainId:t.toString(),address:r,currency:n.toLocaleLowerCase(),pageSize:100,pageToken:s});i.push(...Li(c.erc20TokenBalances,Number(t))),s=c.nextPageToken;}while(s);return [...Vi(a),...i].reduce((c,l)=>({...c,[l.address.toLowerCase()]:l}),{})}catch(i){throw i instanceof ee&&this.setGlacierToUnhealthy(),i}}async listTransactions({chainId:t,address:r,pageToken:n,pageSize:a}){try{return this.glacierSdk.evmTransactions.listTransactionsV2({chainId:t,address:r,pageToken:n,pageSize:a,filterSpamTokens:!0})}catch(i){throw i instanceof ee&&this.setGlacierToUnhealthy(),i}}};chunkVYIKXRYZ_cjs.a(Fr,"EvmGlacierService");var qt=Fr,Vi=chunkVYIKXRYZ_cjs.a(e=>e.map(t=>({...t,decimals:t.decimals??18,type:vmModuleTypes.TokenType.ERC20,balance:0n,balanceInCurrency:0,balanceDisplayValue:"0",balanceCurrencyDisplayValue:"0",priceInCurrency:0,marketCap:0,change24:0,vol24:0,reputation:null})),"convertErc20TokenToTokenWithBalance"),Li=chunkVYIKXRYZ_cjs.a((e,t)=>e.map(r=>{let n=new coreUtilsSdk.TokenUnit(r.balance,r.decimals,r.symbol),a=n.toDisplay(),i=r.balanceValue?.value.toString(),s=r.price?.value,c=s!==void 0?n.mul(s).toDisplay({fixedDp:2,asNumber:!0}):void 0;return {chainId:t,address:r.address,name:r.name,symbol:r.symbol,decimals:r.decimals,logoUri:r.logoUri,balance:n.toSubUnit(),balanceCurrencyDisplayValue:i,balanceDisplayValue:a,balanceInCurrency:c,priceInCurrency:s,reputation:r.tokenReputation,type:vmModuleTypes.TokenType.ERC20}}),"convertErc20TokenWithBalanceToTokenWithBalance");var Ha=zod.z.object({blockNumber:zod.z.string(),timeStamp:zod.z.string(),hash:zod.z.string(),nonce:zod.z.string(),blockHash:zod.z.string(),transactionIndex:zod.z.string(),from:zod.z.string(),to:zod.z.string(),value:zod.z.string(),gas:zod.z.string(),gasPrice:zod.z.string(),isError:zod.z.string(),txreceipt_status:zod.z.string(),input:zod.z.string(),contractAddress:zod.z.string(),cumulativeGasUsed:zod.z.string(),gasUsed:zod.z.string(),confirmations:zod.z.string()}),Wa=zod.z.object({blockNumber:zod.z.string(),timeStamp:zod.z.string(),hash:zod.z.string(),nonce:zod.z.string(),blockHash:zod.z.string(),from:zod.z.string(),contractAddress:zod.z.string(),to:zod.z.string(),value:zod.z.string(),tokenName:zod.z.string(),tokenSymbol:zod.z.string(),tokenDecimal:zod.z.string(),transactionIndex:zod.z.string(),gas:zod.z.string(),gasPrice:zod.z.string(),gasUsed:zod.z.string(),cumulativeGasUsed:zod.z.string(),input:zod.z.string(),confirmations:zod.z.string()}),ja=zod.z.object({blockNumber:zod.z.string(),timeStamp:zod.z.string(),hash:zod.z.string(),from:zod.z.string(),to:zod.z.string(),value:zod.z.string(),contractAddress:zod.z.string(),input:zod.z.string(),type:zod.z.string(),gas:zod.z.string(),gasUsed:zod.z.string(),traceId:zod.z.string(),isError:zod.z.string(),errCode:zod.z.string()});var Gi=chunkVYIKXRYZ_cjs.a(e=>{if(e)return e;if(typeof globalThis.fetch=="function")return globalThis.fetch.bind(globalThis);throw new Error("HyperEvmEtherscanClient requires a fetch implementation")},"resolveFetch"),mt,dt,He,zt,Mr=class Mr{constructor({proxyApiUrl:t,fetch:r}){chunkVYIKXRYZ_cjs.d(this,He);chunkVYIKXRYZ_cjs.d(this,mt,void 0);chunkVYIKXRYZ_cjs.d(this,dt,void 0);chunkVYIKXRYZ_cjs.e(this,mt,`${t}/proxy/etherscan/hyperevm/api`),chunkVYIKXRYZ_cjs.e(this,dt,Gi(r));}listNormalTransactions(t,r){return chunkVYIKXRYZ_cjs.f(this,He,zt).call(this,"txlist",t,Ha,r)}listErc20Transfers(t,r){return chunkVYIKXRYZ_cjs.f(this,He,zt).call(this,"tokentx",t,Wa,r)}listInternalTransactions(t,r){return chunkVYIKXRYZ_cjs.f(this,He,zt).call(this,"txlistinternal",t,ja,r)}};mt=new WeakMap,dt=new WeakMap,He=new WeakSet,zt=chunkVYIKXRYZ_cjs.a(async function(t,r,n,a){let i=new URLSearchParams({module:"account",action:t,address:r,page:(a?.page??1).toString(),offset:(a?.offset??25).toString(),sort:"desc"}),s=await chunkVYIKXRYZ_cjs.c(this,dt).call(this,`${chunkVYIKXRYZ_cjs.c(this,mt)}?${i.toString()}`);if(!s.ok)throw new Error(`HyperEVM explorer request failed: ${s.status} ${s.statusText}`);let c=await s.json(),l=zod.z.object({status:zod.z.string(),message:zod.z.string(),result:zod.z.union([zod.z.array(n),zod.z.string()])}).parse(c);if(Array.isArray(l.result))return l.result;if(l.status==="0"&&l.message==="No transactions found")return [];throw new Error(l.result)},"#list"),chunkVYIKXRYZ_cjs.a(Mr,"HyperEvmEtherscanClient");var Yt=Mr;var We,ut,le,K,ke,H,gt,Vr=class Vr{constructor({approvalController:t,environment:r,appInfo:n,runtime:a}){chunkVYIKXRYZ_cjs.d(this,We,void 0);chunkVYIKXRYZ_cjs.d(this,ut,void 0);chunkVYIKXRYZ_cjs.d(this,le,void 0);chunkVYIKXRYZ_cjs.d(this,K,void 0);chunkVYIKXRYZ_cjs.d(this,ke,void 0);chunkVYIKXRYZ_cjs.d(this,H,void 0);chunkVYIKXRYZ_cjs.d(this,gt,void 0);let{glacierApiUrl:i,proxyApiUrl:s}=Jr(r);chunkVYIKXRYZ_cjs.e(this,H,a),chunkVYIKXRYZ_cjs.e(this,We,new qt({glacierApiUrl:i,headers:nr(n),getAuthHeaders:async()=>chunkVYIKXRYZ_cjs.c(this,H)?.getAuthHeaders?.()})),chunkVYIKXRYZ_cjs.e(this,ut,new Wt({proxyApiUrl:s,fetch:chunkVYIKXRYZ_cjs.c(this,H)?.fetch})),chunkVYIKXRYZ_cjs.e(this,le,s),chunkVYIKXRYZ_cjs.e(this,gt,new Yt({proxyApiUrl:s,fetch:chunkVYIKXRYZ_cjs.c(this,H)?.fetch})),chunkVYIKXRYZ_cjs.e(this,K,t),chunkVYIKXRYZ_cjs.e(this,ke,new Oi__default.default({baseURL:s+"/proxy/blockaid/",apiKey:Yr,httpAgent:a?.httpAgent,fetch:a?.fetch}));}updateRuntimeParams(t){chunkVYIKXRYZ_cjs.e(this,H,{...chunkVYIKXRYZ_cjs.c(this,H),...t,features:{...chunkVYIKXRYZ_cjs.c(this,H)?.features,...t.features}});}getProvider(t){return M({chainId:t.chainId,chainName:t.chainName,rpcUrl:t.rpcUrl,multiContractAddress:t.utilityAddresses?.multicall,pollingInterval:1e3,customRpcHeaders:t.customRpcHeaders})}getAddress({accountIndex:t,xpub:r,walletType:n}){return ma({accountIndex:t,xpub:r,walletType:n})}buildDerivationPath(t){return Ie(t)}deriveAddress(t){return on({...t,approvalController:chunkVYIKXRYZ_cjs.c(this,K)})}deriveAddresses(t){return cn({...t,approvalController:chunkVYIKXRYZ_cjs.c(this,K)})}getBalances({addresses:t,network:r,currency:n,customTokens:a,storage:i,tokenTypes:s,customTokensOnly:c}){let l=new ae({storage:i,proxyApiUrl:chunkVYIKXRYZ_cjs.c(this,le),fetch:chunkVYIKXRYZ_cjs.c(this,H)?.fetch});return fa({addresses:t,currency:n,network:r,proxyApiUrl:chunkVYIKXRYZ_cjs.c(this,le),customTokens:a,customTokensOnly:c,balanceServices:[chunkVYIKXRYZ_cjs.c(this,We),chunkVYIKXRYZ_cjs.c(this,ut)],storage:i,tokenTypes:s,tokenService:l,fetch:chunkVYIKXRYZ_cjs.c(this,H)?.fetch})}getManifest(){let t=vmModuleTypes.parseManifest(zr);return t.success?t.data:void 0}getNetworkFee(t){let{chainId:r,chainName:n,rpcUrl:a,utilityAddresses:i,caipId:s,customRpcHeaders:c}=t;return ba({chainId:r,chainName:n,rpcUrl:a,multiContractAddress:i?.multicall,caipId:s,proxyApiUrl:chunkVYIKXRYZ_cjs.c(this,le),customRpcHeaders:c})}getTransactionHistory(t){let{network:r,address:n,nextPageToken:a,offset:i}=t,{chainId:s,networkToken:c,explorerUrl:l=""}=r;return Ma({chainId:s,networkToken:c,explorerUrl:l,address:n,nextPageToken:a,offset:i,glacierService:chunkVYIKXRYZ_cjs.c(this,We),hyperEvmEtherscanClient:chunkVYIKXRYZ_cjs.c(this,gt)})}getTokens(t){let{chainId:r}=t;return Ut({chainId:r,proxyApiUrl:chunkVYIKXRYZ_cjs.c(this,le)})}async onRpcRequest(t,r){switch(t.method){case vmModuleTypes.RpcMethod.ETH_SEND_TRANSACTION:return $n({request:t,network:r,approvalController:chunkVYIKXRYZ_cjs.c(this,K),blockaid:chunkVYIKXRYZ_cjs.c(this,ke),eercEnabled:chunkVYIKXRYZ_cjs.c(this,H)?.features?.encryptedERCs===!0});case vmModuleTypes.RpcMethod.ETH_SEND_TRANSACTION_BATCH:return bn(chunkVYIKXRYZ_cjs.c(this,K))?Fn({request:t,network:r,approvalController:chunkVYIKXRYZ_cjs.c(this,K),blockaid:chunkVYIKXRYZ_cjs.c(this,ke)}):{error:rpcErrors.rpcErrors.methodNotSupported(`Method ${t.method} requires BatchApprovalController`)};case vmModuleTypes.RpcMethod.AVALANCHE_DECLARE_AGENT_IDENTITY:return an({request:t,network:r});case vmModuleTypes.RpcMethod.PERSONAL_SIGN:case vmModuleTypes.RpcMethod.ETH_SIGN:case vmModuleTypes.RpcMethod.SIGN_TYPED_DATA:case vmModuleTypes.RpcMethod.SIGN_TYPED_DATA_V1:case vmModuleTypes.RpcMethod.SIGN_TYPED_DATA_V3:case vmModuleTypes.RpcMethod.SIGN_TYPED_DATA_V4:return ca({request:t,network:r,approvalController:chunkVYIKXRYZ_cjs.c(this,K),blockaid:chunkVYIKXRYZ_cjs.c(this,ke)});default:return Hi(t.method)?la(t,r):{error:rpcErrors.rpcErrors.methodNotSupported(`Method ${t.method} not supported`)}}}};We=new WeakMap,ut=new WeakMap,le=new WeakMap,K=new WeakMap,ke=new WeakMap,H=new WeakMap,gt=new WeakMap,chunkVYIKXRYZ_cjs.a(Vr,"EvmModule");var za=Vr,Hi=chunkVYIKXRYZ_cjs.a(e=>e.startsWith("eth_")||["web3_clientVersion","web3_sha3","net_version","net_peerCount","net_listening"].includes(e),"shouldForwardToRpcNode");
|
|
43
|
+
`;}),t},"beautifySimpleMessage"),ye=chunkVYIKXRYZ_cjs.a(e=>{let t={0:"\u{1D7EC}",1:"\u{1D7ED}",2:"\u{1D7EE}",3:"\u{1D7EF}",4:"\u{1D7F0}",5:"\u{1D7F1}",6:"\u{1D7F2}",7:"\u{1D7F3}",8:"\u{1D7F4}",9:"\u{1D7F5}",a:"\u{1D5EE}",b:"\u{1D5EF}",c:"\u{1D5F0}",d:"\u{1D5F1}",e:"\u{1D5F2}",f:"\u{1D5F3}",g:"\u{1D5F4}",h:"\u{1D5F5}",i:"\u{1D5F6}",j:"\u{1D5F7}",k:"\u{1D5F8}",l:"\u{1D5F9}",m:"\u{1D5FA}",n:"\u{1D5FB}",o:"\u{1D5FC}",p:"\u{1D5FD}",q:"\u{1D5FE}",r:"\u{1D5FF}",s:"\u{1D600}",t:"\u{1D601}",u:"\u{1D602}",v:"\u{1D603}",w:"\u{1D604}",x:"\u{1D605}",y:"\u{1D606}",z:"\u{1D607}",A:"\u{1D5D4}",B:"\u{1D5D5}",C:"\u{1D5D6}",D:"\u{1D5D7}",E:"\u{1D5D8}",F:"\u{1D5D9}",G:"\u{1D5DA}",H:"\u{1D5DB}",I:"\u{1D5DC}",J:"\u{1D5DD}",K:"\u{1D5DE}",L:"\u{1D5DF}",M:"\u{1D5E0}",N:"\u{1D5E1}",O:"\u{1D5E2}",P:"\u{1D5E3}",Q:"\u{1D5E4}",R:"\u{1D5E5}",S:"\u{1D5E6}",T:"\u{1D5E7}",U:"\u{1D5E8}",V:"\u{1D5E9}",W:"\u{1D5EA}",X:"\u{1D5EB}",Y:"\u{1D5EC}",Z:"\u{1D5ED}"};return e.split("").map(r=>t[r]||r).join("")},"toUnicodeBold");var rt=zod.z.string().describe("message"),q=zod.z.string().describe("address");var Wn=zod.z.object({method:zod.z.literal(vmModuleTypes.RpcMethod.ETH_SIGN),params:zod.z.tuple([q,rt])});var jn=zod.z.object({name:zod.z.string(),type:zod.z.string()}),De=zod.z.object({types:zod.z.object({EIP712Domain:zod.z.array(jn)}).catchall(zod.z.array(jn)),primaryType:zod.z.string(),domain:zod.z.record(zod.z.any()),message:zod.z.record(zod.z.any())}),gr=zod.z.array(zod.z.object({type:zod.z.string(),name:zod.z.string(),value:zod.z.union([zod.z.string(),zod.z.number(),zod.z.boolean(),zod.z.object({}).passthrough(),zod.z.array(zod.z.unknown()),zod.z.null()])})).nonempty(),fr=De.or(gr),qn=zod.z.union([zod.z.string().describe("data string"),De]),zn=zod.z.union([zod.z.string().describe("data string"),fr]),Yn=zod.z.object({method:zod.z.literal(vmModuleTypes.RpcMethod.SIGN_TYPED_DATA),params:zod.z.tuple([q,zn])}),Kn=zod.z.object({method:zod.z.literal(vmModuleTypes.RpcMethod.SIGN_TYPED_DATA_V1),params:zod.z.tuple([q,zn])}),Jn=zod.z.object({method:zod.z.literal(vmModuleTypes.RpcMethod.SIGN_TYPED_DATA_V3),params:zod.z.tuple([q,qn])}),Xn=zod.z.object({method:zod.z.literal(vmModuleTypes.RpcMethod.SIGN_TYPED_DATA_V4),params:zod.z.tuple([q,qn])});var Zn=zod.z.object({method:zod.z.literal(vmModuleTypes.RpcMethod.PERSONAL_SIGN),params:zod.z.union([zod.z.tuple([rt,q]),zod.z.tuple([rt,q,zod.z.string().optional().describe("password")])])});var wo=zod.z.discriminatedUnion("method",[Zn,Wn,Yn,Kn,Jn,Xn]).transform((e,t)=>{let{method:r,params:n}=e;switch(r){case vmModuleTypes.RpcMethod.PERSONAL_SIGN:return {data:n[0],address:n[1],method:r};case vmModuleTypes.RpcMethod.ETH_SIGN:return {data:n[1],address:n[0],method:r};case vmModuleTypes.RpcMethod.SIGN_TYPED_DATA:case vmModuleTypes.RpcMethod.SIGN_TYPED_DATA_V1:{let a=n[0],i=n[1];if(typeof i!="string")return {data:i,address:a,method:r};try{let s=JSON.parse(i);return {data:fr.parse(s),address:a,method:r}}catch{return t.addIssue({code:zod.z.ZodIssueCode.custom,message:"param is not a valid json"}),zod.z.NEVER}}case vmModuleTypes.RpcMethod.SIGN_TYPED_DATA_V3:case vmModuleTypes.RpcMethod.SIGN_TYPED_DATA_V4:{let a=n[0],i=n[1];if(typeof i!="string")return {data:i,address:a,method:r};try{let s=JSON.parse(i);return {data:De.parse(s),address:a,method:r}}catch{return t.addIssue({code:zod.z.ZodIssueCode.custom,message:"param is not a valid json"}),zod.z.NEVER}}}});function Qn(e){return wo.safeParse(e)}chunkVYIKXRYZ_cjs.a(Qn,"parseRequestParams");var yr=chunkVYIKXRYZ_cjs.a(e=>gr.safeParse(e).success,"isTypedDataV1"),hr=chunkVYIKXRYZ_cjs.a(e=>De.safeParse(e).success,"isTypedData");var Do=/^(u?)int(\d*)$/,_o=/^bytes(\d+)$/,ea=/\[(\d*)\]$/,Bo=chunkVYIKXRYZ_cjs.a(e=>/^-?\d+$/.test(e),"isCanonicalDecimalString"),ta=chunkVYIKXRYZ_cjs.a(e=>/^0x[0-9a-fA-F]*$/.test(e),"isHexString"),Uo=chunkVYIKXRYZ_cjs.a(e=>{if(typeof e=="bigint")return e;if(typeof e=="number")return Number.isSafeInteger(e)?BigInt(e):null;if(typeof e=="string"&&(Bo(e)||ta(e)))try{return BigInt(e)}catch{return null}return null},"toIntegerValue"),ra=chunkVYIKXRYZ_cjs.a((e,t)=>{if(e==="bool")return typeof t=="boolean"?null:`expected boolean, got ${JSON.stringify(t)}`;if(e==="string")return typeof t=="string"?null:`expected string, got ${JSON.stringify(t)}`;if(e==="address")return typeof t=="string"&&/^0x[0-9a-fA-F]{40}$/.test(t)?null:`expected a 20-byte address, got ${JSON.stringify(t)}`;let r=Do.exec(e);if(r){let a=Uo(t);if(a===null)return `expected an integer for ${e}, got ${JSON.stringify(t)}`;let i=r[1]==="u",s=r[2]?Number(r[2]):256,[c,l]=i?[0n,(1n<<BigInt(s))-1n]:[-(1n<<BigInt(s-1)),(1n<<BigInt(s-1))-1n];return a<c||a>l?`expected a value in the ${e} range, got ${JSON.stringify(t)}`:null}let n=_o.exec(e);if(n){let a=Number(n[1]);return typeof t=="string"&&new RegExp(`^0x[0-9a-fA-F]{${a*2}}$`).test(t)?null:`expected ${a}-byte hex string for ${e}, got ${JSON.stringify(t)}`}return e==="bytes"?typeof t=="string"&&ta(t)&&t.length%2===0?null:`expected a hex byte string, got ${JSON.stringify(t)}`:null},"primitiveTypeMismatch"),Tr=chunkVYIKXRYZ_cjs.a((e,t,r,n,a)=>{let i=ea.exec(e);if(i){let l=e.slice(0,e.length-i[0].length);if(!Array.isArray(t)){a.push(`${n}: expected array of ${l}, got ${JSON.stringify(t)}`);return}let p=i[1]?Number(i[1]):void 0;if(p!==void 0&&t.length!==p){a.push(`${n}: expected ${p} elements for ${e}, got ${t.length}`);return}t.forEach((m,u)=>Tr(l,m,r,`${n}[${u}]`,a));return}let s=r[e];if(s){if(typeof t!="object"||t===null||Array.isArray(t)){a.push(`${n}: expected struct ${e}, got ${JSON.stringify(t)}`);return}for(let l of s)Tr(l.type,t[l.name],r,`${n}.${l.name}`,a);return}let c=ra(e,t);c&&a.push(`${n}: ${c}`);},"collectMismatches"),na=chunkVYIKXRYZ_cjs.a(e=>{let t=e.types??{},r=[],n=t[e.primaryType];if(!n)return [`primaryType "${String(e.primaryType)}" is not defined in the message types`];for(let a of n)Tr(a.type,e.message[a.name],t,`message.${a.name}`,r);return r},"findEip712TypeMismatches"),kr=chunkVYIKXRYZ_cjs.a(e=>{let t=e.types??{},r=chunkVYIKXRYZ_cjs.a((a,i)=>{let s=ea.exec(a);if(s){if(!Array.isArray(i))return i;let p=a.slice(0,a.length-s[0].length);return i.map(m=>r(p,m))}let c=t[a];if(!c||typeof i!="object"||i===null||Array.isArray(i))return i;let l={};for(let p of c)p.name in i&&(l[p.name]=r(p.type,i[p.name]));return l},"sanitizeValue");return r(e.primaryType,e.message)??e.message},"sanitizeEip712Message"),aa=chunkVYIKXRYZ_cjs.a(e=>{let t=[];for(let r of e){let n=ra(r.type,r.value);n&&t.push(`${r.name}: ${n}`);}return t},"findEip712V1TypeMismatches");var br=chunkVYIKXRYZ_cjs.a(e=>{let t=na(e);if(t.length>0)return {isValid:!1,error:new Error(`EIP-712 message contains fields with a type mismatch: ${t.join("; ")}`),blocking:!0};try{let{EIP712Domain:r,...n}=e.types;return ethers.TypedDataEncoder.getPayload(e.domain,n,e.message),{isValid:!0}}catch(r){return {isValid:!1,error:r,blocking:!1}}},"isTypedDataValid"),sa=chunkVYIKXRYZ_cjs.a(e=>{let t=aa(e);return t.length>0?{isValid:!1,error:new Error(`Typed data contains fields with a type mismatch: ${t.join("; ")}`),blocking:!0}:{isValid:!0}},"isTypedDataV1Valid");var oa={[vmModuleTypes.AlertType.INFO]:0,[vmModuleTypes.AlertType.WARNING]:1,[vmModuleTypes.AlertType.DANGER]:2},ia=chunkVYIKXRYZ_cjs.a((e,t)=>{if(!e)return t;if(!t)return e;let[r,n]=oa[t.type]>oa[e.type]?[t,e]:[e,t];return {...r,details:{...r.details,body:[...r.details.body??[],`${n.details.title}: ${n.details.description}`]}}},"mergeAlerts");var Vo=chunkVYIKXRYZ_cjs.a(e=>{try{return ethers.toUtf8String(e)}catch{return e}},"toUtf8StringOrHex"),ca=chunkVYIKXRYZ_cjs.a(async({request:e,network:t,approvalController:r,blockaid:n})=>{let a=Qn({method:e.method,params:e.params});if(!a.success)return console.error("invalid params",a.error),{success:!1,error:rpcErrors.rpcErrors.invalidParams(G("Params are invalid",a.error))};let{method:i,data:s,address:c}=a.data,l,p=i===vmModuleTypes.RpcMethod.SIGN_TYPED_DATA||i===vmModuleTypes.RpcMethod.SIGN_TYPED_DATA_V1;if(i===vmModuleTypes.RpcMethod.SIGN_TYPED_DATA_V3||i===vmModuleTypes.RpcMethod.SIGN_TYPED_DATA_V4?l=br(s):p&&(yr(s)?l=sa(s):hr(s)&&(l=br(s))),l&&!l.isValid&&l.blocking)return {success:!1,error:rpcErrors.rpcErrors.invalidParams(G("EIP-712 message is invalid",l.error))};let m,u,f;if(l&&!l.isValid&&(f={type:vmModuleTypes.AlertType.INFO,details:{title:"Warning: Verify Message Content",description:"This message contains non-standard elements. Please verify message content!",detailedDescription:l.error.toString()}}),i===vmModuleTypes.RpcMethod.ETH_SIGN)m={type:i,account:c,data:s},u=s;else if(i===vmModuleTypes.RpcMethod.PERSONAL_SIGN)m={type:i,account:c,data:s},u=Vo(s);else if(i===vmModuleTypes.RpcMethod.SIGN_TYPED_DATA||i===vmModuleTypes.RpcMethod.SIGN_TYPED_DATA_V1)m={type:i,account:c,data:s},yr(s)?u=On(s):hr(s)?u=Dt({...s,message:kr(s)}):u=Dt(s);else if(i===vmModuleTypes.RpcMethod.SIGN_TYPED_DATA_V3||i===vmModuleTypes.RpcMethod.SIGN_TYPED_DATA_V4){m={type:i,account:c,data:s};let{types:R,primaryType:w,...x}=s;u=Dt({...x,message:kr(s)});}if(!m||!u)return {success:!1,error:rpcErrors.rpcErrors.internal("Unable to generate signing data")};let y=await _n({request:e,accountAddress:c,chainId:t.chainId,data:{method:i,params:e.params},dAppUrl:e.dappInfo.url,blockaid:n}),g=Ce(e),k=g?await se({declaration:g,rpcUrl:t.rpcUrl,chainId:t.chainId,chainName:t.chainName,customRpcHeaders:t.customRpcHeaders}):void 0,T={title:"Sign Message",dAppInfo:{name:e.dappInfo.name,action:`${e.dappInfo.name} is requesting to sign the following message`,logoUri:e.dappInfo.icon},network:{chainId:t.chainId,name:t.chainName,logoUri:t.logoUri},account:c,details:[{title:"Message",items:[O("Message",u,"vertical")]},...k?[xe(k)]:[]],alert:ia(y?.alert,f),balanceChange:y?.balanceChange,tokenApprovals:y?.tokenApprovals},v=await r.requestApproval({request:e,displayData:T,signingData:m});return "error"in v?{error:v.error}:"signedData"in v?{result:v.signedData}:{error:rpcErrors.rpcErrors.internal("No signed data returned")}},"ethSign");var la=chunkVYIKXRYZ_cjs.a(async(e,t)=>{try{return {result:await(await M({chainId:t.chainId,chainName:t.chainName,rpcUrl:t.rpcUrl,pollingInterval:1e3,customRpcHeaders:t.customRpcHeaders})).send(e.method,e.params)}}catch(r){let n=r.info?.error??r.error;return n&&typeof n.code=="number"?{error:n}:{error:rpcErrors.rpcErrors.internal(r.message)}}},"forwardToRpcNode");var ma=chunkVYIKXRYZ_cjs.a(async({accountIndex:e,xpub:t,walletType:r})=>{switch(r){case vmModuleTypes.WalletType.Mnemonic:case vmModuleTypes.WalletType.Ledger:case vmModuleTypes.WalletType.Keystone:return {[vmModuleTypes.NetworkVMType.EVM]:coreWalletsSdk.getAddressFromXPub(t,e)};case vmModuleTypes.WalletType.LedgerLive:case vmModuleTypes.WalletType.Seedless:{let n=Buffer.from(t,"hex");return {[vmModuleTypes.NetworkVMType.EVM]:coreWalletsSdk.getEvmAddressFromPubKey(n)}}default:throw rpcErrors.rpcErrors.invalidParams(`Unsupported wallet type: ${r}`)}},"getAddress");function Ue(e,t){return e.then(r=>({id:t,status:"fulfilled",value:r})).catch(r=>({id:t,status:"rejected",reason:r}))}chunkVYIKXRYZ_cjs.a(Ue,"addIdToPromise");async function Fe(e){return await Promise.allSettled(e).then(t=>t.reduce((r,n)=>{if(n.status==="fulfilled"){let a=n.value;a.status==="fulfilled"?r[a.id]=a.value:r[a.id]={error:a.reason};}return r},{}))}chunkVYIKXRYZ_cjs.a(Fe,"settleAllIdPromises");var Wo={"ERC-20":vmModuleTypes.TokenType.ERC20,"ERC-721":vmModuleTypes.TokenType.ERC721,"ERC-1155":vmModuleTypes.TokenType.ERC1155,"NON-ERC":vmModuleTypes.TokenType.NONERC,SPL:vmModuleTypes.TokenType.SPL},jo=zod.z.string().transform((e,t)=>{let r=Wo[e];return r||(t.addIssue({code:zod.z.ZodIssueCode.custom,message:`Unknown contractType: ${e}`}),zod.z.NEVER)}),qo=zod.z.object({address:zod.z.string(),chainId:zod.z.number(),contractType:jo,decimals:zod.z.number(),internalId:zod.z.string().nullish(),isNative:zod.z.boolean(),logoUri:zod.z.string().nullish(),name:zod.z.string(),symbol:zod.z.string(),caip2Id:zod.z.string().nullish(),color:zod.z.string().nullish()}),zo=zod.z.array(zod.z.unknown()).transform(e=>e.flatMap(t=>{let r=qo.safeParse(t);return r.success?[r.data]:[]}));async function Ut({chainId:e,proxyApiUrl:t}){return (await $([`${t}/tokens?evmChainId=${e}`],zo)).map(n=>({...n,type:n.contractType}))}chunkVYIKXRYZ_cjs.a(Ut,"getTokens");var F,Me,he,ot,Le,Er=class Er{constructor({network:t,storage:r,proxyApiUrl:n,customTokens:a,fetch:i}){chunkVYIKXRYZ_cjs.d(this,F,void 0);chunkVYIKXRYZ_cjs.d(this,Me,void 0);chunkVYIKXRYZ_cjs.d(this,he,void 0);chunkVYIKXRYZ_cjs.d(this,ot,void 0);chunkVYIKXRYZ_cjs.d(this,Le,void 0);chunkVYIKXRYZ_cjs.e(this,F,t),chunkVYIKXRYZ_cjs.e(this,Me,r),chunkVYIKXRYZ_cjs.e(this,he,n),chunkVYIKXRYZ_cjs.e(this,ot,a),chunkVYIKXRYZ_cjs.e(this,Le,i);}async isNetworkSupported(){return !0}async getNativeBalance({chainId:t,address:r,currency:n}){let a=await M({chainId:t,chainName:chunkVYIKXRYZ_cjs.c(this,F).chainName,rpcUrl:chunkVYIKXRYZ_cjs.c(this,F).rpcUrl,multiContractAddress:chunkVYIKXRYZ_cjs.c(this,F).utilityAddresses?.multicall,customRpcHeaders:chunkVYIKXRYZ_cjs.c(this,F).customRpcHeaders}),i=chunkVYIKXRYZ_cjs.c(this,F).pricingProviders?.coingecko.nativeTokenId,s=chunkVYIKXRYZ_cjs.c(this,F).networkToken,c=new ae({storage:chunkVYIKXRYZ_cjs.c(this,Me),proxyApiUrl:chunkVYIKXRYZ_cjs.c(this,he),fetch:chunkVYIKXRYZ_cjs.c(this,Le)}),l=i?await c.getSimplePrice({coinIds:[i],currencies:[n]}):{},p=l?.[i??""]?.[n]?.price??void 0,m=l?.[i??""]?.[n]?.marketCap??void 0,u=l?.[i??""]?.[n]?.vol24??void 0,f=l?.[i??""]?.[n]?.change24??void 0,y=await a.getBalance(r),g=new coreUtilsSdk.TokenUnit(y,s.decimals,s.symbol),k=p!==void 0?g.mul(p):void 0;return {...s,coingeckoId:i??"",type:vmModuleTypes.TokenType.NATIVE,balance:y,balanceDisplayValue:g.toDisplay(),balanceInCurrency:k?.toDisplay({fixedDp:2,asNumber:!0}),balanceCurrencyDisplayValue:k?.toDisplay({fixedDp:2}),priceInCurrency:p,marketCap:m,vol24:u,change24:f}}async listErc20Balances({chainId:t,address:r,currency:n,customTokensOnly:a=!1}){let i=await M({chainId:t,chainName:chunkVYIKXRYZ_cjs.c(this,F).chainName,rpcUrl:chunkVYIKXRYZ_cjs.c(this,F).rpcUrl,multiContractAddress:chunkVYIKXRYZ_cjs.c(this,F).utilityAddresses?.multicall,customRpcHeaders:chunkVYIKXRYZ_cjs.c(this,F).customRpcHeaders}),s=chunkVYIKXRYZ_cjs.c(this,F).pricingProviders?.coingecko.assetPlatformId,c=chunkVYIKXRYZ_cjs.c(this,F).pricingProviders?.coingecko.nativeTokenId,l=a?[]:await Ut({chainId:Number(t),proxyApiUrl:chunkVYIKXRYZ_cjs.c(this,he)}),p=l.map(R=>R.address),m=[...l,...chunkVYIKXRYZ_cjs.c(this,ot)].filter(xt),u=chunkVYIKXRYZ_cjs.a(async R=>{let N=await new ethers.ethers.Contract(R.address,Pn__default.default.abi,i).balanceOf?.(r)||0n;return {...R,balance:N}},"getTokenWithBalance"),f=m.map(R=>Ue(u(R),R.address)),y=await Fe(f),g=new ae({storage:chunkVYIKXRYZ_cjs.c(this,Me),proxyApiUrl:chunkVYIKXRYZ_cjs.c(this,he),fetch:chunkVYIKXRYZ_cjs.c(this,Le)}),k=s&&await g.getPricesByAddresses(p,s,n)||{},T=Object.keys(y),v={};for(let R=0;R<T.length;R++){let w=T[R];if(w===void 0)continue;let x=y[w];if(x===void 0||"error"in x){v[w]={error:`rpcService:getTokenWithBalance failed: ${x?.error??"unknown error"}`};continue}let N=k?.[c??""]?.[n]?.price??void 0,pe=k?.[c??""]?.[n]?.marketCap??void 0,A=k?.[c??""]?.[n]?.vol24??void 0,P=k?.[c??""]?.[n]?.change24??void 0,B=new coreUtilsSdk.TokenUnit(x.balance,x.decimals,x.symbol),je=N!==void 0?B.mul(N):void 0;v[x.address.toLowerCase()]={...x,type:vmModuleTypes.TokenType.ERC20,balance:x.balance,balanceDisplayValue:B.toDisplay(),balanceInCurrency:je?.toDisplay({fixedDp:2,asNumber:!0}),balanceCurrencyDisplayValue:je?.toDisplay({fixedDp:2}),priceInCurrency:N,marketCap:pe,change24:P,vol24:A,reputation:null};}return v}async listNftBalances(){return {}}};F=new WeakMap,Me=new WeakMap,he=new WeakMap,ot=new WeakMap,Le=new WeakMap,chunkVYIKXRYZ_cjs.a(Er,"RpcService");var Ft=Er;async function ga(e,t){let r=e.map(async(i,s)=>({index:s,result:await t(i)})),a=(await Promise.allSettled(r)).filter(i=>i.status==="fulfilled").map(i=>i).find(i=>i.value.result);return a?e[a.value.index]:void 0}chunkVYIKXRYZ_cjs.a(ga,"findAsync");var fa=chunkVYIKXRYZ_cjs.a(async({addresses:e,currency:t,network:r,proxyApiUrl:n,tokenTypes:a=[vmModuleTypes.TokenType.NATIVE,vmModuleTypes.TokenType.ERC20,vmModuleTypes.TokenType.ERC721,vmModuleTypes.TokenType.ERC1155],customTokens:i=[],customTokensOnly:s=!1,storage:c,balanceServices:l=[],tokenService:p,fetch:m})=>{let u=r.chainId,f=new Ft({network:r,storage:c,proxyApiUrl:n,customTokens:i,fetch:m}),y=s?[f]:[...l,f],g=s?[vmModuleTypes.TokenType.ERC20]:a,k=await ga(y,v=>v.isNetworkSupported(r.chainId)),T={};if(k){let v=[],R=[],w=[];e.forEach(A=>{g.includes(vmModuleTypes.TokenType.NATIVE)&&v.push(Ue(k.getNativeBalance({address:A,currency:t.toUpperCase(),chainId:u}).then(async P=>{if(P.symbol==="AVAX"){let B=await p.getWatchlistDataForToken({tokenDetails:{symbol:r.networkToken.symbol,isNative:!0,caip2Id:r.caipId??""},currency:t.toUpperCase()});return {...P,priceInCurrency:B.priceInCurrency,marketCap:B.marketCap,vol24:B.vol24,change24:B.change24}}return P}),A)),g.includes(vmModuleTypes.TokenType.ERC20)&&R.push(Ue(k.listErc20Balances({customTokens:i.filter(xt),customTokensOnly:s,currency:t.toUpperCase(),chainId:u,address:A,pageSize:100}),A)),(g.includes(vmModuleTypes.TokenType.ERC721)||g.includes(vmModuleTypes.TokenType.ERC1155))&&w.push(Ue(k.listNftBalances({chainId:u,address:A}),A));});let x=await Fe(v),N=await Fe(R),pe=await Fe(w);Object.keys(x).forEach(A=>{let P=x[A];if(!P||"error"in P){T[A]={error:`getNativeBalance failed: ${P?.error??"unknown error"}`};return}let B=P.symbol;T[A]={[B]:P};}),Object.keys(N).forEach(A=>{let P=N[A];!P||"error"in P&&typeof P.error!="string"?T[A]={...T[A],error:"listErc20Balances failed: unknown error"}:"error"in P&&typeof P.error=="string"?T[A]={...T[A],error:`listErc20Balances failed: ${P.error}`}:T[A]={...T[A],...P};}),Object.keys(pe).forEach(A=>{let P=pe[A];!P||"error"in P&&typeof P.error!="string"?T[A]={...T[A],error:"listNftBalances failed: unknown error"}:"error"in P&&typeof P.error=="string"?T[A]={...T[A],error:`listNftBalances failed: ${P.error}`}:T[A]={...T[A],...P};});}else e.forEach(v=>{T[v]={error:"unsupported network"};});return T},"getBalances");var Ir={LOW:1n,MEDIUM:4n,HIGH:6n},Ar=500000000n,Jo=chunkVYIKXRYZ_cjs.a(e=>e===coreChainsSdk.ChainId.AVALANCHE_TESTNET_ID||e===coreChainsSdk.ChainId.AVALANCHE_MAINNET_ID,"isCChain"),Ta=137,ka=80002,Xo=chunkVYIKXRYZ_cjs.a(e=>e===Ta||e===ka,"isPolygon"),Zo={[Ta]:"https://gasstation.polygon.technology/v2",[ka]:"https://gasstation.polygon.technology/amoy"};function Te(e){return BigInt(Math.round(e*1e9))}chunkVYIKXRYZ_cjs.a(Te,"gweiToWei");async function Qo(e){let t=Zo[e];if(!t)throw new Error(`No gas station URL for Polygon chain ${e}`);let r=await fetch(t);if(!r.ok)throw new Error(`Polygon Gas Station returned ${r.status}`);let n=await r.json();return {baseFee:Te(n.estimatedBaseFee),low:{maxFeePerGas:Te(n.safeLow.maxFee),maxPriorityFeePerGas:Te(n.safeLow.maxPriorityFee)},medium:{maxFeePerGas:Te(n.standard.maxFee),maxPriorityFeePerGas:Te(n.standard.maxPriorityFee)},high:{maxFeePerGas:Te(n.fast.maxFee),maxPriorityFeePerGas:Te(n.fast.maxPriorityFee)},isFixedFee:!1,displayDecimals:9}}chunkVYIKXRYZ_cjs.a(Qo,"getPolygonGasStationFees");async function ba({chainId:e,chainName:t,rpcUrl:r,multiContractAddress:n,caipId:a,proxyApiUrl:i,customRpcHeaders:s}){let c=await M({chainId:e,chainName:t,rpcUrl:r,multiContractAddress:n,customRpcHeaders:s});if(!i)throw rpcErrors.rpcErrors.internal("Proxy API URL is needed");if(Jo(e))try{let R=await ei(c);return {...R,baseFee:R.medium.maxFeePerGas,displayDecimals:9,isFixedFee:!1}}catch{console.error("eth_suggestPriceOptions call failed, falling back to legacy fee fetching");}if(Xo(e))try{return await Qo(e)}catch{console.error("Polygon Gas Station call failed, falling back to generic fee fetching");}let l=await c.getBlock("latest",!1);if(!l)throw rpcErrors.rpcErrors.internal("There is no block");let p=l.baseFeePerGas;if(!p)throw rpcErrors.rpcErrors.internal("Pre-EIP-1559 networks are not supported");let m=await ti(i,a),u=new coreUtilsSdk.TokenUnit(m,0,""),f=new coreUtilsSdk.TokenUnit(p,0,""),y=BigInt("1000000000"),g=f.mul(u).add(y).toSubUnit(),k=Ar*Ir.LOW,T=Ar*Ir.MEDIUM,v=Ar*Ir.HIGH;return {baseFee:g,low:{maxFeePerGas:g+k,maxPriorityFeePerGas:k},medium:{maxFeePerGas:g+T,maxPriorityFeePerGas:T},high:{maxFeePerGas:g+v,maxPriorityFeePerGas:v},isFixedFee:!1,displayDecimals:9}}chunkVYIKXRYZ_cjs.a(ba,"getNetworkFee");async function ei(e){let t=await e.send("eth_suggestPriceOptions",[]);return {low:{maxFeePerGas:BigInt(t.slow.maxFeePerGas),maxPriorityFeePerGas:BigInt(t.slow.maxPriorityFeePerGas)},medium:{maxFeePerGas:BigInt(t.normal.maxFeePerGas),maxPriorityFeePerGas:BigInt(t.normal.maxPriorityFeePerGas)},high:{maxFeePerGas:BigInt(t.fast.maxFeePerGas),maxPriorityFeePerGas:BigInt(t.fast.maxPriorityFeePerGas)}}}chunkVYIKXRYZ_cjs.a(ei,"suggestPriceOptions");async function ti(e,t){if(!t)return 1.5;try{let n=await fetch(`${e}/gas/multiplier`);if(!n.ok)throw new Error(n.statusText);let a=await n.json();return a[t]??a.default}catch{return 1.5}}chunkVYIKXRYZ_cjs.a(ti,"getGasMultiplier");function Ea(e){return e===vmModuleTypes.TokenType.ERC721||e===vmModuleTypes.TokenType.ERC1155}chunkVYIKXRYZ_cjs.a(Ea,"isNftTokenType");function Pr(e){let{txType:t,isSender:r,walletAddress:n,tokens:a}=e;if(a.length===0)return t;let i=n.toLowerCase(),s=a.some(m=>Ea(m.type)&&m.to?.address?.toLowerCase()===i),c=a.some(m=>Ea(m.type)&&m.from?.address?.toLowerCase()===i),l=t===vmModuleTypes.TransactionType.RECEIVE||t===vmModuleTypes.TransactionType.UNKNOWN||t===vmModuleTypes.TransactionType.TRANSFER||t===vmModuleTypes.TransactionType.AIRDROP,p=t===vmModuleTypes.TransactionType.SEND||t===vmModuleTypes.TransactionType.UNKNOWN||t===vmModuleTypes.TransactionType.TRANSFER||t===vmModuleTypes.TransactionType.AIRDROP;return !r&&s&&l?vmModuleTypes.TransactionType.NFT_RECEIVE:r&&c&&p?vmModuleTypes.TransactionType.NFT_SEND:t}chunkVYIKXRYZ_cjs.a(Pr,"convertTransactionType");var va=chunkVYIKXRYZ_cjs.a(({nativeTransaction:e,erc20Transfers:t,erc721Transfers:r,erc1155Transfers:n},a,i)=>{let s=!t&&!r&&!n,c=ni(e.method?.methodName),l=a.toLowerCase(),p=c.toLowerCase().includes("swap"),m=s&&e.from.address.toLowerCase()===l,u=s&&e.to.address.toLowerCase()===l,f=c==="Market Buy Orders With Eth"||c==="Buy NFT",y=c==="Approve",g=c.toLowerCase().includes("transfer"),k=c.toLowerCase().includes("airdrop"),T=c.toLowerCase().includes("unwrap"),v=c==="Fill Order",R;p?R=vmModuleTypes.TransactionType.SWAP:m?R=vmModuleTypes.TransactionType.SEND:u?R=vmModuleTypes.TransactionType.RECEIVE:f?R=vmModuleTypes.TransactionType.NFT_BUY:y?R=vmModuleTypes.TransactionType.APPROVE:g?R=vmModuleTypes.TransactionType.TRANSFER:k?R=vmModuleTypes.TransactionType.AIRDROP:T?R=vmModuleTypes.TransactionType.UNWRAP:v?R=vmModuleTypes.TransactionType.FILL_ORDER:R=vmModuleTypes.TransactionType.UNKNOWN;let w=e.from.address.toLowerCase()===l;return Pr({txType:R,isSender:w,walletAddress:a,tokens:i})},"getTxType"),ni=chunkVYIKXRYZ_cjs.a((e="")=>e.includes("(")?ri__default.default(e.split("(",1)[0]):e,"parseRawMethod");function Ia({tx:e,networkToken:t,explorerUrl:r,chainId:n,address:a}){let i=e.from_address.toLowerCase()===a.toLowerCase(),s=new Date(e.block_timestamp).getTime(),c=oi(e.category),l=!ai.has(e.category),p=li(e,t,a),m=oe(r,e.hash);return c=Pr({txType:c,isSender:i,walletAddress:a,tokens:p}),{isContractCall:l,isIncoming:!i,isOutgoing:i,isSender:i,timestamp:s,hash:e.hash,from:e.from_address,to:e.to_address??"",tokens:p,gasPrice:e.gas_price,gasUsed:e.receipt_gas_used,chainId:n.toString(),txType:c,method:e.method_label??void 0,explorerLink:m}}chunkVYIKXRYZ_cjs.a(Ia,"convertMoralisTransaction");var ai=new Set(["send","receive","token send","token receive"]),si={send:vmModuleTypes.TransactionType.SEND,receive:vmModuleTypes.TransactionType.RECEIVE,"token send":vmModuleTypes.TransactionType.SEND,"token receive":vmModuleTypes.TransactionType.RECEIVE,"nft send":vmModuleTypes.TransactionType.NFT_SEND,"nft receive":vmModuleTypes.TransactionType.NFT_RECEIVE,"token swap":vmModuleTypes.TransactionType.SWAP,"nft purchase":vmModuleTypes.TransactionType.NFT_BUY,"nft sale":vmModuleTypes.TransactionType.NFT_SEND,airdrop:vmModuleTypes.TransactionType.AIRDROP,mint:vmModuleTypes.TransactionType.NFT_BUY,burn:vmModuleTypes.TransactionType.UNKNOWN,deposit:vmModuleTypes.TransactionType.UNKNOWN,withdraw:vmModuleTypes.TransactionType.UNKNOWN,borrow:vmModuleTypes.TransactionType.UNKNOWN,"contract interaction":vmModuleTypes.TransactionType.UNKNOWN};function oi(e){return si[e]??vmModuleTypes.TransactionType.UNKNOWN}chunkVYIKXRYZ_cjs.a(oi,"getMoralisTransactionType");function ce(e){if(!(e==null||e===""))return {address:e}}chunkVYIKXRYZ_cjs.a(ce,"getTransferAddress");function Mt(e){return e?.trim()??""}chunkVYIKXRYZ_cjs.a(Mt,"trimOrEmpty");function ii(e){let t=e.trim().toLowerCase();return !t.startsWith("0x")||t.length<12?e.trim():`${t.slice(0,6)}\u2026${t.slice(-4)}`}chunkVYIKXRYZ_cjs.a(ii,"shortenHexAddress");function ci(e){let t=Mt(e.token_symbol);if(t!=="")return t;let r=Mt(e.token_name);return r!==""?r:ii(e.address)}chunkVYIKXRYZ_cjs.a(ci,"getErc20DisplaySymbol");function li(e,t,r){let n=[],a=e.native_transfers.map(s=>pi(s,t)),i=e.erc20_transfers.map(s=>mi(s));n.push(...a,...i);for(let s of e.nft_transfers)n.push(di(s));return n.length===0&&n.push(ui(e,t,r)),n}chunkVYIKXRYZ_cjs.a(li,"buildTokens");function pi(e,t){let r=Mt(e.token_symbol)||t.symbol,n=new coreUtilsSdk.TokenUnit(e.value,t.decimals,r);return {decimal:t.decimals.toString(),name:t.name,symbol:r,amount:n.toDisplay(),from:ce(e.from_address),to:ce(e.to_address),type:vmModuleTypes.TokenType.NATIVE}}chunkVYIKXRYZ_cjs.a(pi,"buildNativeToken");function mi(e){let t=Number(e.token_decimals),r=ci(e),n=new coreUtilsSdk.TokenUnit(e.value,t,r),a=Mt(e.token_name)||r;return {decimal:e.token_decimals,name:a,symbol:r,amount:n.toDisplay(),from:ce(e.from_address),to:ce(e.to_address),type:vmModuleTypes.TokenType.ERC20,address:e.address}}chunkVYIKXRYZ_cjs.a(mi,"buildErc20Token");function di(e){let t=e.contract_type==="ERC1155"?vmModuleTypes.TokenType.ERC1155:vmModuleTypes.TokenType.ERC721;return {name:"",symbol:"",amount:e.amount,collectableTokenId:e.token_id,from:ce(e.from_address),to:ce(e.to_address),type:t,address:e.token_address}}chunkVYIKXRYZ_cjs.a(di,"buildNftToken");function ui(e,t,r){let n=new coreUtilsSdk.TokenUnit(e.value,t.decimals,t.symbol),i=e.from_address.toLowerCase()===r.toLowerCase()?`-${n.toDisplay()}`:n.toDisplay();return {decimal:t.decimals.toString(),name:t.name,symbol:t.symbol,amount:i,from:ce(e.from_address),to:ce(e.to_address),type:vmModuleTypes.TokenType.NATIVE}}chunkVYIKXRYZ_cjs.a(ui,"buildFallbackNativeToken");var gi="https://proxy-api.avax.network/proxy/moralis-evm";async function Aa({chainId:e,networkToken:t,explorerUrl:r,address:n,nextPageToken:a,offset:i}){try{let s=`0x${e.toString(16)}`,c=new URLSearchParams({chain:s,limit:(i??25).toString()});a&&c.set("cursor",a);let l=`${gi}/wallets/${n}/history?${c.toString()}`,p=await fetch(l);if(!p.ok)return {transactions:[],nextPageToken:""};let m=await p.json();return Array.isArray(m.result)?{transactions:m.result.filter(f=>f.receipt_status==="1").map(f=>Ia({tx:f,networkToken:t,explorerUrl:r,chainId:e,address:n})),nextPageToken:m.cursor??""}:{transactions:[],nextPageToken:""}}catch{return {transactions:[],nextPageToken:""}}}chunkVYIKXRYZ_cjs.a(Aa,"getTransactionsFromMoralis");var fi=new Set([1,4,5,11155111,8453,42161,10]);function Pa(e){return fi.has(e)}chunkVYIKXRYZ_cjs.a(Pa,"isMoralisSupportedChain");var xa=chunkVYIKXRYZ_cjs.a((e,{nativeTransaction:t,erc20Transfers:r,erc721Transfers:n},a)=>{let i=e===vmModuleTypes.TransactionType.TRANSFER,s=e===vmModuleTypes.TransactionType.SEND||e===vmModuleTypes.TransactionType.NFT_SEND,c=e===vmModuleTypes.TransactionType.RECEIVE||e===vmModuleTypes.TransactionType.NFT_RECEIVE,l=t?.from?.address,p=t?.to?.address;i&&r&&r[0]&&(l=r[0].from.address,p=r[0].to.address),i&&n&&n[0]&&(l=n[0].from.address,p=n[0].to.address);let m=s||i&&l.toLowerCase()===a.toLowerCase(),u=c||i&&p.toLowerCase()===a.toLowerCase();return {isOutgoing:m,isIncoming:u,isSender:l===a,from:l,to:p}},"getSenderInfo");async function Sa(e){try{return e.then(t=>[t,null]).catch(t=>[null,t])}catch(t){return Promise.resolve([null,t])}}chunkVYIKXRYZ_cjs.a(Sa,"resolve");var hi="https://ipfs.io";function Ve(e,t=hi){if(!e)return "";try{return coreUtilsSdk.ipfsResolver(e,t)}catch{return e}}chunkVYIKXRYZ_cjs.a(Ve,"ipfsResolverWithFallback");async function Ti(e,t=5e3){let r=new AbortController;return setTimeout(()=>r.abort(),t),fetch(e,{signal:r.signal})}chunkVYIKXRYZ_cjs.a(Ti,"fetchWithTimeout");async function Na(e){let t={};if(e)if(e.startsWith("data:application/json;base64,")){let r=e.substring(29);try{let n=Buffer.from(r,"base64").toString();t=JSON.parse(n);}catch{t={};}}else t=await Ti(Ve(e)).then(r=>r.json()).catch(()=>({}));else return {};return t}chunkVYIKXRYZ_cjs.a(Na,"getNftMetadata");var ki="https://image-proxy.svc.prod.covalenthq.com/cdn-cgi/image";function Ca(e,t="256"){let r=Ve(e);return `${ki}/width=${t},fit/${r}`}chunkVYIKXRYZ_cjs.a(Ca,"getSmallImageForNFT");var _a=chunkVYIKXRYZ_cjs.a(async({nativeTransaction:e,erc20Transfers:t,erc721Transfers:r,erc1155Transfers:n},a)=>{let i=[];if(e.value!=="0"){let s=a.decimals,l=new coreUtilsSdk.TokenUnit(e.value,a.decimals,a.symbol).toDisplay();i.push({decimal:s.toString(),name:a.name,symbol:a.symbol,amount:l,from:e.from,to:e.to,type:vmModuleTypes.TokenType.NATIVE});}return t?.forEach(s=>{let c=s.erc20Token.decimals,p=new coreUtilsSdk.TokenUnit(s.value,c,s.erc20Token.symbol).toDisplay();i.push({decimal:c.toString(),address:s.erc20Token.address,name:s.erc20Token.name,symbol:s.erc20Token.symbol,amount:p,from:s.from,to:s.to,imageUri:s.erc20Token.logoUri,type:vmModuleTypes.TokenType.ERC20});}),r&&await Promise.allSettled(r.map(async s=>{let c=s.erc721Token,l=await Da(c.tokenUri,c.metadata.imageUri);i.push({name:s.erc721Token.name,symbol:s.erc721Token.symbol,address:s.erc721Token.address,amount:"1",imageUri:l,from:s.from,to:s.to,collectableTokenId:s.erc721Token.tokenId,type:vmModuleTypes.TokenType.ERC721});})),n&&await Promise.allSettled(n.map(async s=>{let c=s.erc1155Token,l=await Da(c.tokenUri,c.metadata.imageUri);i.push({name:s.erc1155Token.metadata.name??"",symbol:s.erc1155Token.metadata.symbol??"",address:s.erc1155Token.address,amount:s.value,imageUri:l,from:s.from,to:s.to,collectableTokenId:s.erc1155Token.tokenId,type:vmModuleTypes.TokenType.ERC1155});})),i},"getTokens"),Da=chunkVYIKXRYZ_cjs.a(async(e,t)=>{if(t)return t.startsWith("ipfs://")?Ve(t):t;{let[r,n]=await Sa(Na(e));return n?"":r.image?Ca(r.image):""}},"getImageUri");var Ba=chunkVYIKXRYZ_cjs.a(async({transactions:e,explorerUrl:t,networkToken:r,chainId:n,address:a})=>{let i=await _a(e,r),s=va(e,a,i),{isOutgoing:c,isIncoming:l,isSender:p,from:m,to:u}=xa(s,e,a),{blockTimestamp:f,txHash:y,gasPrice:g,gasUsed:k}=e.nativeTransaction,T=oe(t,y);return {isContractCall:!dn.includes(s),isIncoming:l,isOutgoing:c,isSender:p,timestamp:f*1e3,hash:y,from:m,to:u,tokens:i,gasPrice:g,gasUsed:k,chainId:n.toString(),txType:s,explorerLink:T}},"convertTransaction");var Ua=chunkVYIKXRYZ_cjs.a(async({chainId:e,explorerUrl:t,networkToken:r,address:n,nextPageToken:a,offset:i,glacierService:s})=>{try{let c=await s.listTransactions({chainId:e.toString(),address:n,pageToken:a,pageSize:i});return {transactions:(await Promise.all(c.transactions.filter(m=>m.nativeTransaction.txStatus==="1").map(m=>Ba({transactions:m,explorerUrl:t,networkToken:r,chainId:e,address:n}).then(u=>u)))).filter(m=>m.tokens.find(u=>Number(u.amount)!==0)),nextPageToken:c.nextPageToken}}catch{return {transactions:[],nextPageToken:""}}},"getTransactionsFromGlacier");async function Fa({client:e,chainId:t,networkToken:r,explorerUrl:n,address:a,nextPageToken:i,offset:s=25}){try{let c=bi(i),[l,p,m]=await Promise.all([e.listNormalTransactions(a,{page:c,offset:s}),e.listErc20Transfers(a,{page:c,offset:s}),e.listInternalTransactions(a,{page:c,offset:s})]),u=new Map;for(let g of l){if(g.isError!=="0"||g.txreceipt_status!=="1")continue;let k=Nr(u,g),T=Ri(g,r);T&&k.tokens.push(T);}for(let g of p)Nr(u,g).tokens.push(vi(g));for(let g of m){if(g.isError!=="0")continue;let k=Nr(u,g),T=Ei(g,r);T&&k.tokens.push(T);}let f=Array.from(u.values()).map(g=>Ii(g,a,n,r,t)).sort((g,k)=>k.timestamp-g.timestamp),y=[l,p,m].some(g=>g.length===s);return {transactions:f,nextPageToken:y?String(c+1):""}}catch{return {transactions:[],nextPageToken:""}}}chunkVYIKXRYZ_cjs.a(Fa,"getTransactionsFromHyperEvm");function bi(e){let t=Number(e);return Number.isSafeInteger(t)&&t>0?t:1}chunkVYIKXRYZ_cjs.a(bi,"getPage");function Nr(e,t){let r=e.get(t.hash);if(r)return r;let n={hash:t.hash,timestamp:Number(t.timeStamp)*1e3,from:t.from,to:t.to,gasPrice:"gasPrice"in t?t.gasPrice:void 0,gasUsed:t.gasUsed,isContractCall:"input"in t&&t.input!=="0x",tokens:[]};return e.set(t.hash,n),n}chunkVYIKXRYZ_cjs.a(Nr,"getAggregate");function Ri(e,t){if(e.value!=="0")return {decimal:String(t.decimals),name:t.name,symbol:t.symbol,amount:new coreUtilsSdk.TokenUnit(e.value,t.decimals,t.symbol).toDisplay(),from:{address:e.from},to:{address:e.to},type:vmModuleTypes.TokenType.NATIVE}}chunkVYIKXRYZ_cjs.a(Ri,"nativeToken");function Ei(e,t){if(e.value!=="0")return {decimal:String(t.decimals),name:t.name,symbol:t.symbol,amount:new coreUtilsSdk.TokenUnit(e.value,t.decimals,t.symbol).toDisplay(),from:{address:e.from},to:{address:e.to},type:vmModuleTypes.TokenType.NATIVE}}chunkVYIKXRYZ_cjs.a(Ei,"internalToken");function vi(e){return {decimal:e.tokenDecimal,name:e.tokenName,symbol:e.tokenSymbol,amount:new coreUtilsSdk.TokenUnit(e.value,Number(e.tokenDecimal),e.tokenSymbol).toDisplay(),from:{address:e.from},to:{address:e.to},type:vmModuleTypes.TokenType.ERC20,address:e.contractAddress}}chunkVYIKXRYZ_cjs.a(vi,"erc20Token");function Ii(e,t,r,n,a){let i=t.toLowerCase(),s=e.tokens.some(m=>m.to?.address.toLowerCase()===i),c=e.tokens.some(m=>m.from?.address.toLowerCase()===i),l=e.from.toLowerCase()===i||c,p=s&&c?vmModuleTypes.TransactionType.SWAP:l?vmModuleTypes.TransactionType.SEND:vmModuleTypes.TransactionType.RECEIVE;return {isContractCall:e.isContractCall||s&&c,isIncoming:s&&!c,isOutgoing:c,isSender:l,timestamp:e.timestamp,hash:e.hash,from:e.from,to:e.to,tokens:e.tokens.length>0?e.tokens:[{decimal:String(n.decimals),name:n.name,symbol:n.symbol,amount:"0",type:vmModuleTypes.TokenType.NATIVE}],gasPrice:e.gasPrice,gasUsed:e.gasUsed,chainId:a.toString(),txType:p,explorerLink:oe(r,e.hash)}}chunkVYIKXRYZ_cjs.a(Ii,"toTransaction");var Ai=999,Ma=chunkVYIKXRYZ_cjs.a(async({chainId:e,networkToken:t,explorerUrl:r,address:n,nextPageToken:a,offset:i,glacierService:s,hyperEvmEtherscanClient:c})=>e===Ai?c?Fa({client:c,chainId:e,networkToken:t,explorerUrl:r,address:n,nextPageToken:a,offset:i}):{transactions:[],nextPageToken:""}:Pa(e)?Aa({chainId:e,networkToken:t,explorerUrl:r,address:n,nextPageToken:a,offset:i}):s.isHealthy()?Ua({networkToken:t,explorerUrl:r,chainId:e,address:n,nextPageToken:a,offset:i,glacierService:s}):{transactions:[],nextPageToken:""},"getTransactionHistory");var xi="https://ipfs.io";function La(e,t=xi){if(!e)return "";try{return coreUtilsSdk.ipfsResolver(e,t)}catch{return e}}chunkVYIKXRYZ_cjs.a(La,"ipfsResolverWithFallback");var Si="https://image-proxy.svc.prod.covalenthq.com/cdn-cgi/image";function Gt(e,t="256"){let r=La(e);return `${Si}/width=${t},fit/${r}`}chunkVYIKXRYZ_cjs.a(Gt,"getSmallImageForNFT");var Ge,Q,wr=class wr{constructor(t,r){this.baseUrl=t;chunkVYIKXRYZ_cjs.d(this,Ge,[]);chunkVYIKXRYZ_cjs.d(this,Q,void 0);chunkVYIKXRYZ_cjs.e(this,Q,r??fetch);}async isNetworkSupported(t){return (await this.getChainList()).some(n=>n.community_id===t)}async getChainInfo({chainId:t}){return (await this.getChainList()).find(n=>n.id===t)}async getTokenBalance({chainId:t,address:r,tokenId:n}){let a=await chunkVYIKXRYZ_cjs.c(this,Q).call(this,`${this.baseUrl}/v1/user/token?id=${r}&chain_id=${t}&token_id=${n}`);if(a.ok)return await a.json();throw new Error(`${a.status}:${a.statusText}`)}async getTokensBalanceOnChain({chainId:t,address:r}){let n=await chunkVYIKXRYZ_cjs.c(this,Q).call(this,`${this.baseUrl}/v1/user/token_list?id=${r}&chain_id=${t}`);if(n.ok)return await n.json();throw new Error(`${n.status}:${n.statusText}`)}async getTokenList({chainId:t,address:r}){let n=await(chunkVYIKXRYZ_cjs.c(this,Q)??globalThis.fetch)(`${this.baseUrl}/v1/user/token_list?id=${r}&chain_id=${t}`);if(n.ok)return await n.json();throw new Error(`${n.status}:${n.statusText}`)}async getChainList(){if(chunkVYIKXRYZ_cjs.c(this,Ge).length===0){let t=await chunkVYIKXRYZ_cjs.c(this,Q).call(this,`${this.baseUrl}/v1/chain/list`);if(t.ok)chunkVYIKXRYZ_cjs.e(this,Ge,await t.json());else throw new Error(`${t.status}:${t.statusText}`)}return chunkVYIKXRYZ_cjs.c(this,Ge)}async getNftList({address:t,chainId:r}){return $([`${this.baseUrl}/v1/user/nft_list?id=${t}&chain_id=${r}`],Di,chunkVYIKXRYZ_cjs.c(this,Q))}};Ge=new WeakMap,Q=new WeakMap,chunkVYIKXRYZ_cjs.a(wr,"DeBank");var $t=wr,Ci=zod.z.object({id:zod.z.union([zod.z.custom(ethers.isHexString),zod.z.string()]),chain:zod.z.string(),name:zod.z.string()}),wi=Ci.merge(zod.z.object({contract_id:zod.z.string(),description:zod.z.string().nullable(),content_type:zod.z.string().nullable(),content:zod.z.string(),thumbnail_url:zod.z.string(),total_supply:zod.z.number(),detail_url:zod.z.string(),collection_id:zod.z.string(),is_core:zod.z.boolean(),inner_id:zod.z.string(),collection_name:zod.z.string(),contract_name:zod.z.string(),amount:zod.z.number(),usd_price:zod.z.number().optional(),is_erc721:zod.z.boolean().optional(),is_erc1155:zod.z.boolean().optional()})),Di=zod.z.array(wi);var Y,$e,Ht,jt,Ga,_r=class _r{constructor({proxyApiUrl:t,fetch:r}){chunkVYIKXRYZ_cjs.d(this,$e);chunkVYIKXRYZ_cjs.d(this,jt);chunkVYIKXRYZ_cjs.d(this,Y,void 0);chunkVYIKXRYZ_cjs.e(this,Y,new $t(`${t}/proxy/debank`,r));}async isNetworkSupported(t){return chunkVYIKXRYZ_cjs.c(this,Y).isNetworkSupported(t)}async getNativeBalance({chainId:t,address:r,currency:n}){if(!ethers.isHexString(r))throw rpcErrors.rpcErrors.invalidParams("getNativeBalance: not valid address: "+r);let{chainInfo:a,chainIdString:i}=await chunkVYIKXRYZ_cjs.f(this,$e,Ht).call(this,t),s=a.native_token_id,c=await chunkVYIKXRYZ_cjs.c(this,Y).getTokenBalance({address:r,chainId:i,tokenId:s}),l=new coreUtilsSdk.TokenUnit(c.raw_amount,c.decimals,c.symbol),p=l.toDisplay(),u=(await yt()).usd[n.toLowerCase()],f=u?u*c.price:void 0,y=f?l.mul(f).toDisplay({fixedDp:2}):void 0,g=f?l.mul(f).toDisplay({fixedDp:2,asNumber:!0}):void 0;return {name:c.name,symbol:c.symbol,decimals:c.decimals,type:vmModuleTypes.TokenType.NATIVE,logoUri:c.logo_url,balance:l.toSubUnit(),balanceDisplayValue:p,balanceInCurrency:g,balanceCurrencyDisplayValue:y,priceInCurrency:f}}async listErc20Balances({chainId:t,address:r,currency:n}){if(!ethers.isHexString(r))throw rpcErrors.rpcErrors.invalidParams("listErc20Balances: not valid address");let{chainInfo:a,chainIdString:i}=await chunkVYIKXRYZ_cjs.f(this,$e,Ht).call(this,t),s=await chunkVYIKXRYZ_cjs.c(this,Y).getTokensBalanceOnChain({chainId:i,address:r}),c=await yt(),l={};for(let p of s){if(p.id===a.native_token_id||p.is_core===!1)continue;let m=new coreUtilsSdk.TokenUnit(p.raw_amount,p.decimals,p.symbol),u=m.toDisplay(),f=c.usd[n.toLowerCase()],y=f?f*p.price:void 0,g=y?m.mul(y).toDisplay({fixedDp:2}):void 0,k=y?m.mul(y).toDisplay({fixedDp:2,asNumber:!0}):void 0;l[p.id]={chainId:a.community_id,address:p.id,name:p.name,symbol:p.symbol,decimals:p.decimals,logoUri:p.logo_url,balance:m.toSubUnit(),balanceCurrencyDisplayValue:g,balanceDisplayValue:u,balanceInCurrency:k,priceInCurrency:y,type:vmModuleTypes.TokenType.ERC20,reputation:null};}return l}async listNftBalances({chainId:t,address:r}){if(!ethers.isHexString(r))throw rpcErrors.rpcErrors.invalidParams("listNftBalances: not valid address");let{chainIdString:n}=await chunkVYIKXRYZ_cjs.f(this,$e,Ht).call(this,t),a=await chunkVYIKXRYZ_cjs.c(this,Y).getNftList({chainId:n,address:r});return chunkVYIKXRYZ_cjs.f(this,jt,Ga).call(this,a,t)}};Y=new WeakMap,$e=new WeakSet,Ht=chunkVYIKXRYZ_cjs.a(async function(t){let n=(await chunkVYIKXRYZ_cjs.c(this,Y).getChainList()).find(i=>i.community_id===t)?.id;if(!n)throw rpcErrors.rpcErrors.invalidParams("getNativeBalance: not valid chainId: "+t);let a=await chunkVYIKXRYZ_cjs.c(this,Y).getChainInfo({chainId:n});if(!a)throw rpcErrors.rpcErrors.invalidParams("getNativeBalance: not valid chainId: "+t);return {chainInfo:a,chainIdString:n}},"#getChainInfo"),jt=new WeakSet,Ga=chunkVYIKXRYZ_cjs.a(function(t,r){return t.reduce((n,a)=>({...n,[`${a.contract_id}-${a.id}`]:{chainId:r,address:a.contract_id,description:a.description??"",logoUri:a.thumbnail_url,logoSmall:Gt(a.content),name:a.name,symbol:"",tokenId:`${a.inner_id}`,tokenUri:a.detail_url,collectionName:a.collection_name,balance:BigInt(a.amount),balanceDisplayValue:`${a.amount}`,type:a.is_erc721?vmModuleTypes.TokenType.ERC721:vmModuleTypes.TokenType.ERC1155,metadata:{indexStatus:glacierSdk.NftTokenMetadataStatus.UNINDEXED,description:a.description??"",properties:""}}}),{})},"#mapNftList"),chunkVYIKXRYZ_cjs.a(_r,"DeBankService");var Wt=_r;var Ur=class Ur extends Error{constructor(){super(...arguments);chunkVYIKXRYZ_cjs.b(this,"message","Glacier is unhealthy. Try again later.");}};chunkVYIKXRYZ_cjs.a(Ur,"GlacierUnhealthyError");var ee=Ur,Mi=[coreChainsSdk.ChainId.ETHEREUM_HOMESTEAD],Fr=class Fr{constructor({glacierApiUrl:t,headers:r,getAuthHeaders:n}){chunkVYIKXRYZ_cjs.b(this,"glacierSdk");chunkVYIKXRYZ_cjs.b(this,"isGlacierHealthy",!0);chunkVYIKXRYZ_cjs.b(this,"supportedChainIds",[]);chunkVYIKXRYZ_cjs.b(this,"isHealthy",chunkVYIKXRYZ_cjs.a(()=>this.isGlacierHealthy,"isHealthy"));this.glacierSdk=new glacierSdk.Glacier({BASE:t,HEADERS:n?async()=>({...r,...await n()}):r},Ke),this.getSupportedChainIds().catch(()=>{});}setGlacierToUnhealthy(){this.isGlacierHealthy=!1,setTimeout(()=>{this.isGlacierHealthy=!0;},5*60*1e3);}async isNetworkSupported(t){return (await this.getSupportedChainIds()).some(n=>n===t.toString())}async getSupportedChainIds(){if(this.supportedChainIds.length)return this.supportedChainIds;try{let t=await this.glacierSdk.evmChains.supportedChains({});return this.supportedChainIds=t.chains.map(r=>r.chainId).filter(r=>!Mi.includes(Number(r))),this.supportedChainIds}catch{return []}}async reindexNft({address:t,chainId:r,tokenId:n}){try{await this.glacierSdk.nfTs.reindexNft({address:t,chainId:r,tokenId:n});}catch(a){throw a instanceof ee&&this.setGlacierToUnhealthy(),a}}async getTokenDetails({address:t,chainId:r,tokenId:n}){try{return this.glacierSdk.nfTs.getTokenDetails({address:t,chainId:r,tokenId:n})}catch(a){throw a instanceof ee&&this.setGlacierToUnhealthy(),a}}async getNativeBalance({chainId:t,address:r,currency:n,coingeckoId:a}){try{let s=(await this.glacierSdk.evmBalances.getNativeBalance({chainId:t.toString(),address:r,currency:n.toLocaleLowerCase()})).nativeTokenBalance,c=new coreUtilsSdk.TokenUnit(s.balance,s.decimals,s.symbol),l=s.price?.value,p=l!==void 0?c.mul(l):void 0;return {name:s.name,symbol:s.symbol,decimals:s.decimals,type:vmModuleTypes.TokenType.NATIVE,logoUri:s.logoUri,balance:c.toSubUnit(),balanceDisplayValue:c.toDisplay(),balanceInCurrency:p?.toDisplay({fixedDp:2,asNumber:!0}),balanceCurrencyDisplayValue:p?.toDisplay({fixedDp:2}),priceInCurrency:l,coingeckoId:a??""}}catch(i){throw i instanceof ee&&this.setGlacierToUnhealthy(),i}}async listErc721Balances({chainId:t,address:r}){let n,a=[];do try{let i=await this.glacierSdk.evmBalances.listErc721Balances({chainId:t,address:r,pageSize:100,pageToken:n});a.push(...i.erc721TokenBalances),n=i.nextPageToken;}catch(i){throw i instanceof ee&&this.setGlacierToUnhealthy(),i}while(n);return a}async listErc1155Balances({chainId:t,address:r}){let n,a=[];do try{let i=await this.glacierSdk.evmBalances.listErc1155Balances({chainId:t,address:r,pageSize:100,pageToken:n});a.push(...i.erc1155TokenBalances),n=i.nextPageToken;}catch(i){throw i instanceof ee&&this.setGlacierToUnhealthy(),i}while(n);return a}async listNftBalances({chainId:t,address:r}){let a=(await Promise.allSettled([this.listErc721Balances({chainId:t.toString(),address:r}),this.listErc1155Balances({chainId:t.toString(),address:r})])).filter(i=>i.status==="fulfilled").flatMap(i=>i.value.filter(s=>s.ercType===glacierSdk.Erc721Token.ercType.ERC_721||BigInt(s.balance)>0n).map(s=>[`${s.address}-${s.tokenId}`,{address:s.address,description:s.metadata.description??"",logoUri:s.metadata.imageUri??"",logoSmall:Gt(s.metadata.imageUri??""),name:s.metadata.name??"",symbol:s.metadata.symbol??"",tokenId:s.tokenId,tokenUri:s.tokenUri,chainId:t,collectionName:"Unknown",balance:s.ercType===glacierSdk.Erc1155Token.ercType.ERC_1155?BigInt(s.balance):1,balanceDisplayValue:s.ercType===glacierSdk.Erc1155Token.ercType.ERC_1155?s.balance:"1",type:s.ercType===glacierSdk.Erc721Token.ercType.ERC_721?vmModuleTypes.TokenType.ERC721:vmModuleTypes.TokenType.ERC1155,metadata:{indexStatus:s.metadata.indexStatus,description:s.metadata.description,lastUpdatedTimestamp:s.metadata.metadataLastUpdatedTimestamp,properties:s.ercType===glacierSdk.Erc721Token.ercType.ERC_721?s.metadata.attributes:s.metadata.properties}}]));return Object.fromEntries(a)}async listErc20Balances({chainId:t,address:r,currency:n,customTokens:a}){try{let i=[],s;do{let c=await this.glacierSdk.evmBalances.listErc20Balances({chainId:t.toString(),address:r,currency:n.toLocaleLowerCase(),pageSize:100,pageToken:s});i.push(...Vi(c.erc20TokenBalances,Number(t))),s=c.nextPageToken;}while(s);return [...Li(a),...i].reduce((c,l)=>({...c,[l.address.toLowerCase()]:l}),{})}catch(i){throw i instanceof ee&&this.setGlacierToUnhealthy(),i}}async listTransactions({chainId:t,address:r,pageToken:n,pageSize:a}){try{return this.glacierSdk.evmTransactions.listTransactionsV2({chainId:t,address:r,pageToken:n,pageSize:a,filterSpamTokens:!0})}catch(i){throw i instanceof ee&&this.setGlacierToUnhealthy(),i}}};chunkVYIKXRYZ_cjs.a(Fr,"EvmGlacierService");var qt=Fr,Li=chunkVYIKXRYZ_cjs.a(e=>e.map(t=>({...t,decimals:t.decimals??18,type:vmModuleTypes.TokenType.ERC20,balance:0n,balanceInCurrency:0,balanceDisplayValue:"0",balanceCurrencyDisplayValue:"0",priceInCurrency:0,marketCap:0,change24:0,vol24:0,reputation:null})),"convertErc20TokenToTokenWithBalance"),Vi=chunkVYIKXRYZ_cjs.a((e,t)=>e.map(r=>{let n=new coreUtilsSdk.TokenUnit(r.balance,r.decimals,r.symbol),a=n.toDisplay(),i=r.balanceValue?.value.toString(),s=r.price?.value,c=s!==void 0?n.mul(s).toDisplay({fixedDp:2,asNumber:!0}):void 0;return {chainId:t,address:r.address,name:r.name,symbol:r.symbol,decimals:r.decimals,logoUri:r.logoUri,balance:n.toSubUnit(),balanceCurrencyDisplayValue:i,balanceDisplayValue:a,balanceInCurrency:c,priceInCurrency:s,reputation:r.tokenReputation,type:vmModuleTypes.TokenType.ERC20}}),"convertErc20TokenWithBalanceToTokenWithBalance");var Ha=zod.z.object({blockNumber:zod.z.string(),timeStamp:zod.z.string(),hash:zod.z.string(),nonce:zod.z.string(),blockHash:zod.z.string(),transactionIndex:zod.z.string(),from:zod.z.string(),to:zod.z.string(),value:zod.z.string(),gas:zod.z.string(),gasPrice:zod.z.string(),isError:zod.z.string(),txreceipt_status:zod.z.string(),input:zod.z.string(),contractAddress:zod.z.string(),cumulativeGasUsed:zod.z.string(),gasUsed:zod.z.string(),confirmations:zod.z.string()}),Wa=zod.z.object({blockNumber:zod.z.string(),timeStamp:zod.z.string(),hash:zod.z.string(),nonce:zod.z.string(),blockHash:zod.z.string(),from:zod.z.string(),contractAddress:zod.z.string(),to:zod.z.string(),value:zod.z.string(),tokenName:zod.z.string(),tokenSymbol:zod.z.string(),tokenDecimal:zod.z.string(),transactionIndex:zod.z.string(),gas:zod.z.string(),gasPrice:zod.z.string(),gasUsed:zod.z.string(),cumulativeGasUsed:zod.z.string(),input:zod.z.string(),confirmations:zod.z.string()}),ja=zod.z.object({blockNumber:zod.z.string(),timeStamp:zod.z.string(),hash:zod.z.string(),from:zod.z.string(),to:zod.z.string(),value:zod.z.string(),contractAddress:zod.z.string(),input:zod.z.string(),type:zod.z.string(),gas:zod.z.string(),gasUsed:zod.z.string(),traceId:zod.z.string(),isError:zod.z.string(),errCode:zod.z.string()});var Gi=chunkVYIKXRYZ_cjs.a(e=>{if(e)return e;if(typeof globalThis.fetch=="function")return globalThis.fetch.bind(globalThis);throw new Error("HyperEvmEtherscanClient requires a fetch implementation")},"resolveFetch"),mt,dt,He,zt,Mr=class Mr{constructor({proxyApiUrl:t,fetch:r}){chunkVYIKXRYZ_cjs.d(this,He);chunkVYIKXRYZ_cjs.d(this,mt,void 0);chunkVYIKXRYZ_cjs.d(this,dt,void 0);chunkVYIKXRYZ_cjs.e(this,mt,`${t}/proxy/etherscan/hyperevm/api`),chunkVYIKXRYZ_cjs.e(this,dt,Gi(r));}listNormalTransactions(t,r){return chunkVYIKXRYZ_cjs.f(this,He,zt).call(this,"txlist",t,Ha,r)}listErc20Transfers(t,r){return chunkVYIKXRYZ_cjs.f(this,He,zt).call(this,"tokentx",t,Wa,r)}listInternalTransactions(t,r){return chunkVYIKXRYZ_cjs.f(this,He,zt).call(this,"txlistinternal",t,ja,r)}};mt=new WeakMap,dt=new WeakMap,He=new WeakSet,zt=chunkVYIKXRYZ_cjs.a(async function(t,r,n,a){let i=new URLSearchParams({module:"account",action:t,address:r,page:(a?.page??1).toString(),offset:(a?.offset??25).toString(),sort:"desc"}),s=await chunkVYIKXRYZ_cjs.c(this,dt).call(this,`${chunkVYIKXRYZ_cjs.c(this,mt)}?${i.toString()}`);if(!s.ok)throw new Error(`HyperEVM explorer request failed: ${s.status} ${s.statusText}`);let c=await s.json(),l=zod.z.object({status:zod.z.string(),message:zod.z.string(),result:zod.z.union([zod.z.array(n),zod.z.string()])}).parse(c);if(Array.isArray(l.result))return l.result;if(l.status==="0"&&l.message==="No transactions found")return [];throw new Error(l.result)},"#list"),chunkVYIKXRYZ_cjs.a(Mr,"HyperEvmEtherscanClient");var Yt=Mr;var We,ut,le,K,ke,H,gt,Lr=class Lr{constructor({approvalController:t,environment:r,appInfo:n,runtime:a}){chunkVYIKXRYZ_cjs.d(this,We,void 0);chunkVYIKXRYZ_cjs.d(this,ut,void 0);chunkVYIKXRYZ_cjs.d(this,le,void 0);chunkVYIKXRYZ_cjs.d(this,K,void 0);chunkVYIKXRYZ_cjs.d(this,ke,void 0);chunkVYIKXRYZ_cjs.d(this,H,void 0);chunkVYIKXRYZ_cjs.d(this,gt,void 0);let{glacierApiUrl:i,proxyApiUrl:s}=Jr(r);chunkVYIKXRYZ_cjs.e(this,H,a),chunkVYIKXRYZ_cjs.e(this,We,new qt({glacierApiUrl:i,headers:nr(n),getAuthHeaders:async()=>chunkVYIKXRYZ_cjs.c(this,H)?.getAuthHeaders?.()})),chunkVYIKXRYZ_cjs.e(this,ut,new Wt({proxyApiUrl:s,fetch:chunkVYIKXRYZ_cjs.c(this,H)?.fetch})),chunkVYIKXRYZ_cjs.e(this,le,s),chunkVYIKXRYZ_cjs.e(this,gt,new Yt({proxyApiUrl:s,fetch:chunkVYIKXRYZ_cjs.c(this,H)?.fetch})),chunkVYIKXRYZ_cjs.e(this,K,t),chunkVYIKXRYZ_cjs.e(this,ke,new Oi__default.default({baseURL:s+"/proxy/blockaid/",apiKey:Yr,httpAgent:a?.httpAgent,fetch:a?.fetch}));}updateRuntimeParams(t){chunkVYIKXRYZ_cjs.e(this,H,{...chunkVYIKXRYZ_cjs.c(this,H),...t,features:{...chunkVYIKXRYZ_cjs.c(this,H)?.features,...t.features}});}getProvider(t){return M({chainId:t.chainId,chainName:t.chainName,rpcUrl:t.rpcUrl,multiContractAddress:t.utilityAddresses?.multicall,pollingInterval:1e3,customRpcHeaders:t.customRpcHeaders})}getAddress({accountIndex:t,xpub:r,walletType:n}){return ma({accountIndex:t,xpub:r,walletType:n})}buildDerivationPath(t){return Ie(t)}deriveAddress(t){return on({...t,approvalController:chunkVYIKXRYZ_cjs.c(this,K)})}deriveAddresses(t){return cn({...t,approvalController:chunkVYIKXRYZ_cjs.c(this,K)})}getBalances({addresses:t,network:r,currency:n,customTokens:a,storage:i,tokenTypes:s,customTokensOnly:c}){let l=new ae({storage:i,proxyApiUrl:chunkVYIKXRYZ_cjs.c(this,le),fetch:chunkVYIKXRYZ_cjs.c(this,H)?.fetch});return fa({addresses:t,currency:n,network:r,proxyApiUrl:chunkVYIKXRYZ_cjs.c(this,le),customTokens:a,customTokensOnly:c,balanceServices:[chunkVYIKXRYZ_cjs.c(this,We),chunkVYIKXRYZ_cjs.c(this,ut)],storage:i,tokenTypes:s,tokenService:l,fetch:chunkVYIKXRYZ_cjs.c(this,H)?.fetch})}getManifest(){let t=vmModuleTypes.parseManifest(zr);return t.success?t.data:void 0}getNetworkFee(t){let{chainId:r,chainName:n,rpcUrl:a,utilityAddresses:i,caipId:s,customRpcHeaders:c}=t;return ba({chainId:r,chainName:n,rpcUrl:a,multiContractAddress:i?.multicall,caipId:s,proxyApiUrl:chunkVYIKXRYZ_cjs.c(this,le),customRpcHeaders:c})}getTransactionHistory(t){let{network:r,address:n,nextPageToken:a,offset:i}=t,{chainId:s,networkToken:c,explorerUrl:l=""}=r;return Ma({chainId:s,networkToken:c,explorerUrl:l,address:n,nextPageToken:a,offset:i,glacierService:chunkVYIKXRYZ_cjs.c(this,We),hyperEvmEtherscanClient:chunkVYIKXRYZ_cjs.c(this,gt)})}getTokens(t){let{chainId:r}=t;return Ut({chainId:r,proxyApiUrl:chunkVYIKXRYZ_cjs.c(this,le)})}async onRpcRequest(t,r){switch(t.method){case vmModuleTypes.RpcMethod.ETH_SEND_TRANSACTION:return $n({request:t,network:r,approvalController:chunkVYIKXRYZ_cjs.c(this,K),blockaid:chunkVYIKXRYZ_cjs.c(this,ke),eercEnabled:chunkVYIKXRYZ_cjs.c(this,H)?.features?.encryptedERCs===!0});case vmModuleTypes.RpcMethod.ETH_SEND_TRANSACTION_BATCH:return bn(chunkVYIKXRYZ_cjs.c(this,K))?Fn({request:t,network:r,approvalController:chunkVYIKXRYZ_cjs.c(this,K),blockaid:chunkVYIKXRYZ_cjs.c(this,ke)}):{error:rpcErrors.rpcErrors.methodNotSupported(`Method ${t.method} requires BatchApprovalController`)};case vmModuleTypes.RpcMethod.AVALANCHE_DECLARE_AGENT_IDENTITY:return an({request:t,network:r});case vmModuleTypes.RpcMethod.PERSONAL_SIGN:case vmModuleTypes.RpcMethod.ETH_SIGN:case vmModuleTypes.RpcMethod.SIGN_TYPED_DATA:case vmModuleTypes.RpcMethod.SIGN_TYPED_DATA_V1:case vmModuleTypes.RpcMethod.SIGN_TYPED_DATA_V3:case vmModuleTypes.RpcMethod.SIGN_TYPED_DATA_V4:return ca({request:t,network:r,approvalController:chunkVYIKXRYZ_cjs.c(this,K),blockaid:chunkVYIKXRYZ_cjs.c(this,ke)});default:return Hi(t.method)?la(t,r):{error:rpcErrors.rpcErrors.methodNotSupported(`Method ${t.method} not supported`)}}}};We=new WeakMap,ut=new WeakMap,le=new WeakMap,K=new WeakMap,ke=new WeakMap,H=new WeakMap,gt=new WeakMap,chunkVYIKXRYZ_cjs.a(Lr,"EvmModule");var za=Lr,Hi=chunkVYIKXRYZ_cjs.a(e=>e.startsWith("eth_")||["web3_clientVersion","web3_sha3","net_version","net_peerCount","net_listening"].includes(e),"shouldForwardToRpcNode");
|
|
44
44
|
|
|
45
45
|
exports.ERC20TransactionType = X;
|
|
46
46
|
exports.EercOperation = yn;
|