@pufferfinance/puffer-sdk 1.25.0 → 1.25.2
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/api/puffer-client-helpers.cjs +1 -1
- package/dist/api/puffer-client-helpers.js +3 -3
- package/dist/api/puffer-client.cjs +1 -1
- package/dist/api/puffer-client.js +2 -2
- package/dist/{ccip-w5ez1DCx.js → ccip-C76-YhQK.js} +4 -4
- package/dist/{ccip-w5ez1DCx.js.map → ccip-C76-YhQK.js.map} +1 -1
- package/dist/{ccip-FdkpGaX4.cjs → ccip-CEodLZ4s.cjs} +2 -2
- package/dist/{ccip-FdkpGaX4.cjs.map → ccip-CEodLZ4s.cjs.map} +1 -1
- package/dist/chains/constants.cjs +1 -1
- package/dist/chains/constants.d.ts +2 -1
- package/dist/chains/constants.js +1 -1
- package/dist/{constants-BweLzNUt.js → constants-C9YZ6Ewc.js} +302 -274
- package/dist/constants-C9YZ6Ewc.js.map +1 -0
- package/dist/{constants-JN89aXws.cjs → constants-CxSgz27h.cjs} +6 -6
- package/dist/constants-CxSgz27h.cjs.map +1 -0
- package/dist/contracts/addresses.cjs +1 -1
- package/dist/contracts/addresses.js +1 -1
- package/dist/contracts/handlers/carrot-staking-handler.cjs +1 -1
- package/dist/contracts/handlers/carrot-staking-handler.js +2 -2
- package/dist/contracts/handlers/concrete-vault-handler.cjs +1 -1
- package/dist/contracts/handlers/concrete-vault-handler.js +2 -2
- package/dist/contracts/handlers/distributor-handler.cjs +1 -1
- package/dist/contracts/handlers/distributor-handler.js +2 -2
- package/dist/contracts/handlers/erc20-permit-handler.cjs +1 -1
- package/dist/contracts/handlers/erc20-permit-handler.js +3 -3
- package/dist/contracts/handlers/guardian-module-handler.cjs +1 -1
- package/dist/contracts/handlers/guardian-module-handler.js +2 -2
- package/dist/contracts/handlers/institutional-access-manager-handler.cjs +1 -1
- package/dist/contracts/handlers/institutional-access-manager-handler.js +3 -3
- package/dist/contracts/handlers/institutional-vault-handler.cjs +1 -1
- package/dist/contracts/handlers/institutional-vault-handler.cjs.map +1 -1
- package/dist/contracts/handlers/institutional-vault-handler.d.ts +2 -1
- package/dist/contracts/handlers/institutional-vault-handler.js +9 -4
- package/dist/contracts/handlers/institutional-vault-handler.js.map +1 -1
- package/dist/contracts/handlers/l1-reward-manager-handler.cjs +1 -1
- package/dist/contracts/handlers/l1-reward-manager-handler.js +2 -2
- package/dist/contracts/handlers/l2-reward-manager-handler.cjs +1 -1
- package/dist/contracts/handlers/l2-reward-manager-handler.js +2 -2
- package/dist/contracts/handlers/lagoon-vault-handler.cjs +1 -1
- package/dist/contracts/handlers/lagoon-vault-handler.js +2 -2
- package/dist/contracts/handlers/mtw-carrot-handler.cjs +1 -1
- package/dist/contracts/handlers/mtw-carrot-handler.js +2 -2
- package/dist/contracts/handlers/nucleus-accountant-handler.cjs +1 -1
- package/dist/contracts/handlers/nucleus-accountant-handler.js +1 -1
- package/dist/contracts/handlers/nucleus-atomic-queue-handler.cjs +1 -1
- package/dist/contracts/handlers/nucleus-atomic-queue-handler.js +2 -2
- package/dist/contracts/handlers/nucleus-boring-vault-handler.cjs +1 -1
- package/dist/contracts/handlers/nucleus-boring-vault-handler.js +2 -2
- package/dist/contracts/handlers/nucleus-teller-handler.cjs +1 -1
- package/dist/contracts/handlers/nucleus-teller-handler.js +2 -2
- package/dist/contracts/handlers/puf-locker-handler.cjs +1 -1
- package/dist/contracts/handlers/puf-locker-handler.js +2 -2
- package/dist/contracts/handlers/puffer-depositor-handler.cjs +1 -1
- package/dist/contracts/handlers/puffer-depositor-handler.js +2 -2
- package/dist/contracts/handlers/puffer-l2-depositor-handler.cjs +1 -1
- package/dist/contracts/handlers/puffer-l2-depositor-handler.js +2 -2
- package/dist/contracts/handlers/puffer-oracle-v2-handler.cjs +1 -1
- package/dist/contracts/handlers/puffer-oracle-v2-handler.js +2 -2
- package/dist/contracts/handlers/puffer-protocol-handler.cjs +1 -1
- package/dist/contracts/handlers/puffer-protocol-handler.js +2 -2
- package/dist/contracts/handlers/puffer-vault-handler.cjs +1 -1
- package/dist/contracts/handlers/puffer-vault-handler.js +2 -2
- package/dist/contracts/handlers/puffer-withdrawal-manager-handler.cjs +1 -1
- package/dist/contracts/handlers/puffer-withdrawal-manager-handler.js +2 -2
- package/dist/contracts/handlers/validator-ticket-handler.cjs +1 -1
- package/dist/contracts/handlers/validator-ticket-handler.js +2 -2
- package/dist/contracts/tokens.cjs +1 -1
- package/dist/contracts/tokens.js +1 -1
- package/dist/contracts/vaults-addresses.cjs +1 -1
- package/dist/contracts/vaults-addresses.cjs.map +1 -1
- package/dist/contracts/vaults-addresses.d.ts +3 -0
- package/dist/contracts/vaults-addresses.js +4 -1
- package/dist/contracts/vaults-addresses.js.map +1 -1
- package/dist/{createWalletClient-LeyDLKOH.cjs → createWalletClient-Cct6ojqI.cjs} +2 -2
- package/dist/{createWalletClient-LeyDLKOH.cjs.map → createWalletClient-Cct6ojqI.cjs.map} +1 -1
- package/dist/{createWalletClient-CYva1_XM.js → createWalletClient-DAuQCrLq.js} +5 -5
- package/dist/{createWalletClient-CYva1_XM.js.map → createWalletClient-DAuQCrLq.js.map} +1 -1
- package/dist/{getContract-BES7gSby.js → getContract-DEPNMZxg.js} +2 -2
- package/dist/{getContract-BES7gSby.js.map → getContract-DEPNMZxg.js.map} +1 -1
- package/dist/{getContract-F-fd_vf7.cjs → getContract-DUA3M2pm.cjs} +2 -2
- package/dist/{getContract-F-fd_vf7.cjs.map → getContract-DUA3M2pm.cjs.map} +1 -1
- package/dist/{localBatchGatewayRequest-CCdxn5t3.js → localBatchGatewayRequest-C0QtijkB.js} +3 -3
- package/dist/{localBatchGatewayRequest-CCdxn5t3.js.map → localBatchGatewayRequest-C0QtijkB.js.map} +1 -1
- package/dist/{localBatchGatewayRequest-DCWU6kQW.cjs → localBatchGatewayRequest-CKLnLqib.cjs} +2 -2
- package/dist/{localBatchGatewayRequest-DCWU6kQW.cjs.map → localBatchGatewayRequest-CKLnLqib.cjs.map} +1 -1
- package/dist/main.cjs +1 -1
- package/dist/main.js +1 -1
- package/dist/{secp256k1-DGP4Y7VW.js → secp256k1-ClOw2ksU.js} +2 -2
- package/dist/{secp256k1-DGP4Y7VW.js.map → secp256k1-ClOw2ksU.js.map} +1 -1
- package/dist/{secp256k1-QOxLqUEc.cjs → secp256k1-YUzyTLhP.cjs} +2 -2
- package/dist/{secp256k1-QOxLqUEc.cjs.map → secp256k1-YUzyTLhP.cjs.map} +1 -1
- package/dist/utils/version.cjs +1 -1
- package/dist/utils/version.js +1 -1
- package/dist/{writeContract-Cqc9vxbU.cjs → writeContract-BfAYISeL.cjs} +4 -4
- package/dist/{writeContract-Cqc9vxbU.cjs.map → writeContract-BfAYISeL.cjs.map} +1 -1
- package/dist/{writeContract-QAArm5iD.js → writeContract-DkC9wV5p.js} +4 -4
- package/dist/{writeContract-QAArm5iD.js.map → writeContract-DkC9wV5p.js.map} +1 -1
- package/package.json +1 -1
- package/dist/constants-BweLzNUt.js.map +0 -1
- package/dist/constants-JN89aXws.cjs.map +0 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
"use strict";const s=require("./writeContract-Cqc9vxbU.cjs"),m=require("./constants-JN89aXws.cjs"),ve=require("./localBatchGatewayRequest-DCWU6kQW.cjs"),st=require("./secp256k1-QOxLqUEc.cjs");function pe(e){let t;if(typeof e=="string")t=s.parseSignature(e);else{const r=s.parseStructs(e),n=e.length;for(let a=0;a<n;a++){const o=e[a];if(!s.isStructSignature(o)){t=s.parseSignature(o,r);break}}}if(!t)throw new s.InvalidAbiItemError({signature:e});return t}function at(e,t){if(me(e)>t)throw new pt({givenSize:me(e),maxSize:t})}const z={zero:48,nine:57,A:65,F:70,a:97,f:102};function he(e){if(e>=z.zero&&e<=z.nine)return e-z.zero;if(e>=z.A&&e<=z.F)return e-(z.A-10);if(e>=z.a&&e<=z.f)return e-(z.a-10)}function ot(e,t={}){const{dir:r,size:n=32}=t;if(n===0)return e;if(e.length>n)throw new ht({size:e.length,targetSize:n,type:"Bytes"});const a=new Uint8Array(n);for(let o=0;o<n;o++){const i=r==="right";a[i?o:n-o-1]=e[i?o:e.length-o-1]}return a}const it=new TextEncoder;function ct(e){return e instanceof Uint8Array?e:typeof e=="string"?dt(e):ut(e)}function ut(e){return e instanceof Uint8Array?e:new Uint8Array(e)}function dt(e,t={}){const{size:r}=t;let n=e;r&&(s.assertSize(e,r),n=s.padRight(e,r));let a=n.slice(2);a.length%2&&(a=`0${a}`);const o=a.length/2,i=new Uint8Array(o);for(let c=0,d=0;c<o;c++){const u=he(a.charCodeAt(d++)),f=he(a.charCodeAt(d++));if(u===void 0||f===void 0)throw new s.BaseError(`Invalid byte sequence ("${a[d-2]}${a[d-1]}" in "${a}").`);i[c]=u*16+f}return i}function ft(e,t={}){const{size:r}=t,n=it.encode(e);return typeof r=="number"?(at(n,r),lt(n,r)):n}function lt(e,t){return ot(e,{dir:"right",size:t})}function me(e){return e.length}class pt extends s.BaseError{constructor({givenSize:t,maxSize:r}){super(`Size cannot exceed \`${r}\` bytes. Given size: \`${t}\` bytes.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Bytes.SizeOverflowError"})}}class ht extends s.BaseError{constructor({size:t,targetSize:r,type:n}){super(`${n.charAt(0).toUpperCase()}${n.slice(1).toLowerCase()} size (\`${t}\`) exceeds padding size (\`${r}\`).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Bytes.SizeExceedsPaddingSizeError"})}}const Ae="0x5792579257925792579257925792579257925792579257925792579257925792",Ee=m.numberToHex(0,{size:32});async function mt(e,t){const{account:r=e.account,capabilities:n,chain:a=e.chain,experimental_fallback:o,experimental_fallbackDelay:i=32,forceAtomic:c=!1,id:d,version:u="2.0.0"}=t,f=r?s.parseAccount(r):null,p=t.calls.map(h=>{const l=h,g=l.abi?s.encodeFunctionData({abi:l.abi,functionName:l.functionName,args:l.args}):l.data;return{data:l.dataSuffix&&g?m.concat([g,l.dataSuffix]):g,to:l.to,value:l.value?m.numberToHex(l.value):void 0}});try{const h=await e.request({method:"wallet_sendCalls",params:[{atomicRequired:c,calls:p,capabilities:n,chainId:m.numberToHex(a.id),from:f==null?void 0:f.address,id:d,version:u}]},{retryCount:0});return typeof h=="string"?{id:h}:h}catch(h){const l=h;if(o&&(l.name==="MethodNotFoundRpcError"||l.name==="MethodNotSupportedRpcError"||l.name==="UnknownRpcError"||l.details.toLowerCase().includes("does not exist / is not available")||l.details.toLowerCase().includes("missing or invalid. request()")||l.details.toLowerCase().includes("did not match any variant of untagged enum")||l.details.toLowerCase().includes("account upgraded to unsupported contract")||l.details.toLowerCase().includes("eip-7702 not supported")||l.details.toLowerCase().includes("unsupported wc_ method"))){if(n&&Object.values(n).some(w=>!w.optional)){const w="non-optional `capabilities` are not supported on fallback to `eth_sendTransaction`.";throw new s.UnsupportedNonOptionalCapabilityError(new m.BaseError(w,{details:w}))}if(c&&p.length>1){const b="`forceAtomic` is not supported on fallback to `eth_sendTransaction`.";throw new s.AtomicityNotSupportedError(new m.BaseError(b,{details:b}))}const g=[];for(const b of p){const w=s.sendTransaction(e,{account:f,chain:a,data:b.data,to:b.to,value:b.value?m.hexToBigInt(b.value):void 0});g.push(w),i>0&&await new Promise(A=>setTimeout(A,i))}const y=await Promise.allSettled(g);if(y.every(b=>b.status==="rejected"))throw y[0].reason;const v=y.map(b=>b.status==="fulfilled"?b.value:Ee);return{id:m.concat([...v,m.numberToHex(a.id,{size:32}),Ae])}}throw s.getTransactionError(h,{...t,account:f,chain:t.chain})}}async function Te(e,t){async function r(f){if(f.endsWith(Ae.slice(2))){const h=m.trim(m.sliceHex(f,-64,-32)),l=m.sliceHex(f,0,-64).slice(2).match(/.{1,64}/g),g=await Promise.all(l.map(v=>Ee.slice(2)!==v?e.request({method:"eth_getTransactionReceipt",params:[`0x${v}`]},{dedupe:!0}):void 0)),y=g.some(v=>v===null)?100:g.every(v=>(v==null?void 0:v.status)==="0x1")?200:g.every(v=>(v==null?void 0:v.status)==="0x0")?500:600;return{atomic:!1,chainId:m.hexToNumber(h),receipts:g.filter(Boolean),status:y,version:"2.0.0"}}return e.request({method:"wallet_getCallsStatus",params:[f]})}const{atomic:n=!1,chainId:a,receipts:o,version:i="2.0.0",...c}=await r(t.id),[d,u]=(()=>{const f=c.status;return f>=100&&f<200?["pending",f]:f>=200&&f<300?["success",f]:f>=300&&f<700?["failure",f]:f==="CONFIRMED"?["success",200]:f==="PENDING"?["pending",100]:[void 0,f]})();return{...c,atomic:n,chainId:a?m.hexToNumber(a):void 0,receipts:(o==null?void 0:o.map(f=>({...f,blockNumber:m.hexToBigInt(f.blockNumber),gasUsed:m.hexToBigInt(f.gasUsed),status:m.receiptStatuses[f.status]})))??[],statusCode:u,status:d,version:i}}async function gt(e,t){const{id:r,pollingInterval:n=e.pollingInterval,status:a=({statusCode:h})=>h>=200,timeout:o=6e4}=t,i=s.stringify(["waitForCallsStatus",e.uid,r]),{promise:c,resolve:d,reject:u}=s.withResolvers();let f;const p=s.observe(i,{resolve:d,reject:u},h=>{const l=s.poll(async()=>{const g=y=>{clearTimeout(f),l(),y(),p()};try{const y=await Te(e,{id:r});if(!a(y))return;g(()=>h.resolve(y))}catch(y){g(()=>h.reject(y))}},{interval:n,emitOnBegin:!0});return l});return f=o?setTimeout(()=>{p(),clearTimeout(f),u(new bt({id:r}))},o):void 0,await c}class bt extends m.BaseError{constructor({id:t}){super(`Timed out while waiting for call bundle with id "${t}" to be confirmed.`,{name:"WaitForCallsStatusTimeoutError"})}}const Q=256;let U=Q,M;function xe(e=11){if(!M||U+e>Q*2){M="",U=0;for(let t=0;t<Q;t++)M+=(256+Math.random()*256|0).toString(16).substring(1)}return M.substring(U,U+++e)}function Ce(e){const{batch:t,chain:r,ccipRead:n,key:a="base",name:o="Base Client",type:i="base"}=e,c=e.experimental_blockTag??(typeof(r==null?void 0:r.experimental_preconfirmationTime)=="number"?"pending":void 0),d=(r==null?void 0:r.blockTime)??12e3,u=Math.min(Math.max(Math.floor(d/2),500),4e3),f=e.pollingInterval??u,p=e.cacheTime??f,h=e.account?s.parseAccount(e.account):void 0,{config:l,request:g,value:y}=e.transport({chain:r,pollingInterval:f}),v={...l,...y},b={account:h,batch:t,cacheTime:p,ccipRead:n,chain:r,key:a,name:o,pollingInterval:f,request:g,transport:v,type:i,uid:xe(),...c?{experimental_blockTag:c}:{}};function w(A){return C=>{const T=C(A);for(const E in b)delete T[E];const k={...A,...T};return Object.assign(k,{extend:w(k)})}}return Object.assign(b,{extend:w(b)})}const j=new m.LruMap(8192);function yt(e,{enabled:t=!0,id:r}){if(!t||!r)return e();if(j.get(r))return j.get(r);const n=e().finally(()=>j.delete(r));return j.set(r,n),n}function X(e,{delay:t=100,retryCount:r=2,shouldRetry:n=()=>!0}={}){return new Promise((a,o)=>{const i=async({count:c=0}={})=>{const d=async({error:u})=>{const f=typeof t=="function"?t({count:c,error:u}):t;f&&await s.wait(f),i({count:c+1})};try{const u=await e();a(u)}catch(u){if(c<r&&await n({count:c,error:u}))return d({error:u});o(u)}};i()})}function wt(e,t={}){return async(r,n={})=>{var p;const{dedupe:a=!1,methods:o,retryDelay:i=150,retryCount:c=3,uid:d}={...t,...n},{method:u}=r;if((p=o==null?void 0:o.exclude)!=null&&p.includes(u))throw new s.MethodNotSupportedRpcError(new Error("method not supported"),{method:u});if(o!=null&&o.include&&!o.include.includes(u))throw new s.MethodNotSupportedRpcError(new Error("method not supported"),{method:u});const f=a?m.stringToHex(`${d}.${s.stringify(r)}`):void 0;return yt(()=>X(async()=>{try{return await e(r)}catch(h){const l=h;switch(l.code){case s.ParseRpcError.code:throw new s.ParseRpcError(l);case s.InvalidRequestRpcError.code:throw new s.InvalidRequestRpcError(l);case s.MethodNotFoundRpcError.code:throw new s.MethodNotFoundRpcError(l,{method:r.method});case s.InvalidParamsRpcError.code:throw new s.InvalidParamsRpcError(l);case s.InternalRpcError.code:throw new s.InternalRpcError(l);case s.InvalidInputRpcError.code:throw new s.InvalidInputRpcError(l);case s.ResourceNotFoundRpcError.code:throw new s.ResourceNotFoundRpcError(l);case s.ResourceUnavailableRpcError.code:throw new s.ResourceUnavailableRpcError(l);case s.TransactionRejectedRpcError.code:throw new s.TransactionRejectedRpcError(l);case s.MethodNotSupportedRpcError.code:throw new s.MethodNotSupportedRpcError(l,{method:r.method});case s.LimitExceededRpcError.code:throw new s.LimitExceededRpcError(l);case s.JsonRpcVersionUnsupportedError.code:throw new s.JsonRpcVersionUnsupportedError(l);case s.UserRejectedRequestError.code:throw new s.UserRejectedRequestError(l);case s.UnauthorizedProviderError.code:throw new s.UnauthorizedProviderError(l);case s.UnsupportedProviderMethodError.code:throw new s.UnsupportedProviderMethodError(l);case s.ProviderDisconnectedError.code:throw new s.ProviderDisconnectedError(l);case s.ChainDisconnectedError.code:throw new s.ChainDisconnectedError(l);case s.SwitchChainError.code:throw new s.SwitchChainError(l);case s.UnsupportedNonOptionalCapabilityError.code:throw new s.UnsupportedNonOptionalCapabilityError(l);case s.UnsupportedChainIdError.code:throw new s.UnsupportedChainIdError(l);case s.DuplicateIdError.code:throw new s.DuplicateIdError(l);case s.UnknownBundleIdError.code:throw new s.UnknownBundleIdError(l);case s.BundleTooLargeError.code:throw new s.BundleTooLargeError(l);case s.AtomicReadyWalletRejectedUpgradeError.code:throw new s.AtomicReadyWalletRejectedUpgradeError(l);case s.AtomicityNotSupportedError.code:throw new s.AtomicityNotSupportedError(l);case 5e3:throw new s.UserRejectedRequestError(l);default:throw h instanceof m.BaseError?h:new s.UnknownRpcError(l)}}},{delay:({count:h,error:l})=>{var g;if(l&&l instanceof s.HttpRequestError){const y=(g=l==null?void 0:l.headers)==null?void 0:g.get("Retry-After");if(y!=null&&y.match(/\d/))return Number.parseInt(y)*1e3}return~~(1<<h)*i},retryCount:c,shouldRetry:({error:h})=>vt(h)}),{enabled:a,id:f})}}function vt(e){return"code"in e&&typeof e.code=="number"?e.code===-1||e.code===s.LimitExceededRpcError.code||e.code===s.InternalRpcError.code:e instanceof s.HttpRequestError&&e.status?e.status===403||e.status===408||e.status===413||e.status===429||e.status===500||e.status===502||e.status===503||e.status===504:!0}function Re({key:e,methods:t,name:r,request:n,retryCount:a=3,retryDelay:o=150,timeout:i,type:c},d){const u=xe();return{config:{key:e,methods:t,name:r,request:n,retryCount:a,retryDelay:o,timeout:i,type:c},request:wt(n,{methods:t,retryCount:a,retryDelay:o,uid:u}),value:d}}class At extends m.BaseError{constructor(){super("No URL was provided to the Transport. Please provide a valid RPC URL to the Transport.",{docsPath:"/docs/clients/intro",name:"UrlRequiredError"})}}function Et(e,{errorInstance:t=new Error("timed out"),timeout:r,signal:n}){return new Promise((a,o)=>{(async()=>{let i;try{const c=new AbortController;r>0&&(i=setTimeout(()=>{n&&c.abort()},r)),a(await e({signal:(c==null?void 0:c.signal)||null}))}catch(c){(c==null?void 0:c.name)==="AbortError"&&o(t),o(c)}finally{clearTimeout(i)}})()})}function Tt(){return{current:0,take(){return this.current++},reset(){this.current=0}}}const ge=Tt();function xt(e,t={}){return{async request(r){var p;const{body:n,onRequest:a=t.onRequest,onResponse:o=t.onResponse,timeout:i=t.timeout??1e4}=r,c={...t.fetchOptions??{},...r.fetchOptions??{}},{headers:d,method:u,signal:f}=c;try{const h=await Et(async({signal:g})=>{const y={...c,body:Array.isArray(n)?s.stringify(n.map(A=>({jsonrpc:"2.0",id:A.id??ge.take(),...A}))):s.stringify({jsonrpc:"2.0",id:n.id??ge.take(),...n}),headers:{"Content-Type":"application/json",...d},method:u||"POST",signal:f||(i>0?g:null)},v=new Request(e,y),b=await(a==null?void 0:a(v,y))??{...y,url:e};return await fetch(b.url??e,b)},{errorInstance:new s.TimeoutError({body:n,url:e}),timeout:i,signal:!0});o&&await o(h);let l;if((p=h.headers.get("Content-Type"))!=null&&p.startsWith("application/json"))l=await h.json();else{l=await h.text();try{l=JSON.parse(l||"{}")}catch(g){if(h.ok)throw g;l={error:l}}}if(!h.ok)throw new s.HttpRequestError({body:n,details:s.stringify(l.error)||h.statusText,headers:h.headers,status:h.status,url:e});return l}catch(h){throw h instanceof s.HttpRequestError||h instanceof s.TimeoutError?h:new s.HttpRequestError({body:n,cause:h,url:e})}}}}function Ct(e,t={}){const{batch:r,fetchOptions:n,key:a="http",methods:o,name:i="HTTP JSON-RPC",onFetchRequest:c,onFetchResponse:d,retryDelay:u,raw:f}=t;return({chain:p,retryCount:h,timeout:l})=>{const{batchSize:g=1e3,wait:y=0}=typeof r=="object"?r:{},v=t.retryCount??h,b=l??t.timeout??1e4,w=e||(p==null?void 0:p.rpcUrls.default.http[0]);if(!w)throw new At;const A=xt(w,{fetchOptions:n,onRequest:c,onResponse:d,timeout:b});return Re({key:a,methods:o,name:i,async request({method:C,params:T}){const k={method:C,params:T},{schedule:E}=s.createBatchScheduler({id:w,wait:y,shouldSplitBatch(R){return R.length>g},fn:R=>A.request({body:R}),sort:(R,B)=>R.id-B.id}),I=async R=>r?E(R):[await A.request({body:R})],[{error:N,result:S}]=await I(k);if(f)return{error:N,result:S};if(N)throw new s.RpcRequestError({body:k,error:N,url:w});return S},retryCount:v,retryDelay:u,timeout:b,type:"http"},{fetchOptions:n,url:w})}}function ae(e,t){var n,a,o,i,c,d;if(!(e instanceof m.BaseError))return!1;const r=e.walk(u=>u instanceof s.ContractFunctionRevertedError);return r instanceof s.ContractFunctionRevertedError?!!(((n=r.data)==null?void 0:n.errorName)==="ResolverNotFound"||((a=r.data)==null?void 0:a.errorName)==="ResolverWildcardNotSupported"||((o=r.data)==null?void 0:o.errorName)==="ResolverNotContract"||((i=r.data)==null?void 0:i.errorName)==="ResolverError"||((c=r.data)==null?void 0:c.errorName)==="HttpError"||(d=r.reason)!=null&&d.includes("Wildcard on non-extended resolvers is not supported")||t==="reverse"&&r.reason===s.panicReasons[50]):!1}function ke(e){if(e.length!==66||e.indexOf("[")!==0||e.indexOf("]")!==65)return null;const t=`0x${e.slice(1,65)}`;return m.isHex(t)?t:null}function W(e){let t=new Uint8Array(32).fill(0);if(!e)return m.bytesToHex(t);const r=e.split(".");for(let n=r.length-1;n>=0;n-=1){const a=ke(r[n]),o=a?m.toBytes(a):m.keccak256(m.stringToBytes(r[n]),"bytes");t=m.keccak256(m.concat([t,o]),"bytes")}return m.bytesToHex(t)}function Rt(e){return`[${e.slice(2)}]`}function kt(e){const t=new Uint8Array(32).fill(0);return e?ke(e)||m.keccak256(m.stringToBytes(e)):m.bytesToHex(t)}function V(e){const t=e.replace(/^\.|\.$/gm,"");if(t.length===0)return new Uint8Array(1);const r=new Uint8Array(m.stringToBytes(t).byteLength+2);let n=0;const a=t.split(".");for(let o=0;o<a.length;o++){let i=m.stringToBytes(a[o]);i.byteLength>255&&(i=m.stringToBytes(Rt(kt(a[o])))),r[n]=i.length,r.set(i,n+1),n+=i.length+1}return r.byteLength!==n+1?r.slice(0,n+1):r}async function It(e,t){const{blockNumber:r,blockTag:n,coinType:a,name:o,gatewayUrls:i,strict:c}=t,{chain:d}=e,u=(()=>{if(t.universalResolverAddress)return t.universalResolverAddress;if(!d)throw new Error("client chain not configured. universalResolverAddress is required.");return s.getChainContractAddress({blockNumber:r,chain:d,contract:"ensUniversalResolver"})})(),f=d==null?void 0:d.ensTlds;if(f&&!f.some(p=>o.endsWith(p)))return null;try{const p=s.encodeFunctionData({abi:s.addressResolverAbi,functionName:"addr",...a!=null?{args:[W(o),BigInt(a)]}:{args:[W(o)]}}),h={address:u,abi:s.universalResolverResolveAbi,functionName:"resolve",args:[m.toHex(V(o)),p,i??[ve.localBatchGatewayUrl]],blockNumber:r,blockTag:n},g=await s.getAction(e,s.readContract,"readContract")(h);if(g[0]==="0x")return null;const y=s.decodeFunctionResult({abi:s.addressResolverAbi,args:a!=null?[W(o),BigInt(a)]:void 0,functionName:"addr",data:g[0]});return y==="0x"||m.trim(y)==="0x00"?null:y}catch(p){if(c)throw p;if(ae(p,"resolve"))return null;throw p}}class Nt extends m.BaseError{constructor({data:t}){super("Unable to extract image from metadata. The metadata may be malformed or invalid.",{metaMessages:["- Metadata must be a JSON object with at least an `image`, `image_url` or `image_data` property.","",`Provided data: ${JSON.stringify(t)}`],name:"EnsAvatarInvalidMetadataError"})}}class O extends m.BaseError{constructor({reason:t}){super(`ENS NFT avatar URI is invalid. ${t}`,{name:"EnsAvatarInvalidNftUriError"})}}class oe extends m.BaseError{constructor({uri:t}){super(`Unable to resolve ENS avatar URI "${t}". The URI may be malformed, invalid, or does not respond with a valid image.`,{name:"EnsAvatarUriResolutionError"})}}class Bt extends m.BaseError{constructor({namespace:t}){super(`ENS NFT avatar namespace "${t}" is not supported. Must be "erc721" or "erc1155".`,{name:"EnsAvatarUnsupportedNamespaceError"})}}const Pt=/(?<protocol>https?:\/\/[^\/]*|ipfs:\/|ipns:\/|ar:\/)?(?<root>\/)?(?<subpath>ipfs\/|ipns\/)?(?<target>[\w\-.]+)(?<subtarget>\/.*)?/,St=/^(Qm[1-9A-HJ-NP-Za-km-z]{44,}|b[A-Za-z2-7]{58,}|B[A-Z2-7]{58,}|z[1-9A-HJ-NP-Za-km-z]{48,}|F[0-9A-F]{50,})(\/(?<target>[\w\-.]+))?(?<subtarget>\/.*)?$/,Ft=/^data:([a-zA-Z\-/+]*);base64,([^"].*)/,qt=/^data:([a-zA-Z\-/+]*)?(;[a-zA-Z0-9].*?)?(,)/;async function zt(e){try{const t=await fetch(e,{method:"HEAD"});if(t.status===200){const r=t.headers.get("content-type");return r==null?void 0:r.startsWith("image/")}return!1}catch(t){return typeof t=="object"&&typeof t.response<"u"||!globalThis.hasOwnProperty("Image")?!1:new Promise(r=>{const n=new Image;n.onload=()=>{r(!0)},n.onerror=()=>{r(!1)},n.src=e})}}function be(e,t){return e?e.endsWith("/")?e.slice(0,-1):e:t}function Ie({uri:e,gatewayUrls:t}){const r=Ft.test(e);if(r)return{uri:e,isOnChain:!0,isEncoded:r};const n=be(t==null?void 0:t.ipfs,"https://ipfs.io"),a=be(t==null?void 0:t.arweave,"https://arweave.net"),o=e.match(Pt),{protocol:i,subpath:c,target:d,subtarget:u=""}=(o==null?void 0:o.groups)||{},f=i==="ipns:/"||c==="ipns/",p=i==="ipfs:/"||c==="ipfs/"||St.test(e);if(e.startsWith("http")&&!f&&!p){let l=e;return t!=null&&t.arweave&&(l=e.replace(/https:\/\/arweave.net/g,t==null?void 0:t.arweave)),{uri:l,isOnChain:!1,isEncoded:!1}}if((f||p)&&d)return{uri:`${n}/${f?"ipns":"ipfs"}/${d}${u}`,isOnChain:!1,isEncoded:!1};if(i==="ar:/"&&d)return{uri:`${a}/${d}${u||""}`,isOnChain:!1,isEncoded:!1};let h=e.replace(qt,"");if(h.startsWith("<svg")&&(h=`data:image/svg+xml;base64,${btoa(h)}`),h.startsWith("data:")||h.startsWith("{"))return{uri:h,isOnChain:!0,isEncoded:!1};throw new oe({uri:e})}function Ne(e){if(typeof e!="object"||!("image"in e)&&!("image_url"in e)&&!("image_data"in e))throw new Nt({data:e});return e.image||e.image_url||e.image_data}async function Dt({gatewayUrls:e,uri:t}){try{const r=await fetch(t).then(a=>a.json());return await ie({gatewayUrls:e,uri:Ne(r)})}catch{throw new oe({uri:t})}}async function ie({gatewayUrls:e,uri:t}){const{uri:r,isOnChain:n}=Ie({uri:t,gatewayUrls:e});if(n||await zt(r))return r;throw new oe({uri:t})}function $t(e){let t=e;t.startsWith("did:nft:")&&(t=t.replace("did:nft:","").replace(/_/g,"/"));const[r,n,a]=t.split("/"),[o,i]=r.split(":"),[c,d]=n.split(":");if(!o||o.toLowerCase()!=="eip155")throw new O({reason:"Only EIP-155 supported"});if(!i)throw new O({reason:"Chain ID not found"});if(!d)throw new O({reason:"Contract address not found"});if(!a)throw new O({reason:"Token ID not found"});if(!c)throw new O({reason:"ERC namespace not found"});return{chainID:Number.parseInt(i),namespace:c.toLowerCase(),contractAddress:d,tokenID:a}}async function _t(e,{nft:t}){if(t.namespace==="erc721")return s.readContract(e,{address:t.contractAddress,abi:[{name:"tokenURI",type:"function",stateMutability:"view",inputs:[{name:"tokenId",type:"uint256"}],outputs:[{name:"",type:"string"}]}],functionName:"tokenURI",args:[BigInt(t.tokenID)]});if(t.namespace==="erc1155")return s.readContract(e,{address:t.contractAddress,abi:[{name:"uri",type:"function",stateMutability:"view",inputs:[{name:"_id",type:"uint256"}],outputs:[{name:"",type:"string"}]}],functionName:"uri",args:[BigInt(t.tokenID)]});throw new Bt({namespace:t.namespace})}async function Ht(e,{gatewayUrls:t,record:r}){return/eip155:/i.test(r)?Ot(e,{gatewayUrls:t,record:r}):ie({uri:r,gatewayUrls:t})}async function Ot(e,{gatewayUrls:t,record:r}){const n=$t(r),a=await _t(e,{nft:n}),{uri:o,isOnChain:i,isEncoded:c}=Ie({uri:a,gatewayUrls:t});if(i&&(o.includes("data:application/json;base64,")||o.startsWith("{"))){const u=c?atob(o.replace("data:application/json;base64,","")):o,f=JSON.parse(u);return ie({uri:Ne(f),gatewayUrls:t})}let d=n.tokenID;return n.namespace==="erc1155"&&(d=d.replace("0x","").padStart(64,"0")),Dt({gatewayUrls:t,uri:o.replace(/(?:0x)?{id}/,d)})}async function Be(e,t){const{blockNumber:r,blockTag:n,key:a,name:o,gatewayUrls:i,strict:c}=t,{chain:d}=e,u=(()=>{if(t.universalResolverAddress)return t.universalResolverAddress;if(!d)throw new Error("client chain not configured. universalResolverAddress is required.");return s.getChainContractAddress({blockNumber:r,chain:d,contract:"ensUniversalResolver"})})(),f=d==null?void 0:d.ensTlds;if(f&&!f.some(p=>o.endsWith(p)))return null;try{const p={address:u,abi:s.universalResolverResolveAbi,functionName:"resolve",args:[m.toHex(V(o)),s.encodeFunctionData({abi:s.textResolverAbi,functionName:"text",args:[W(o),a]}),i??[ve.localBatchGatewayUrl]],blockNumber:r,blockTag:n},l=await s.getAction(e,s.readContract,"readContract")(p);if(l[0]==="0x")return null;const g=s.decodeFunctionResult({abi:s.textResolverAbi,functionName:"text",data:l[0]});return g===""?null:g}catch(p){if(c)throw p;if(ae(p,"resolve"))return null;throw p}}async function Lt(e,{blockNumber:t,blockTag:r,assetGatewayUrls:n,name:a,gatewayUrls:o,strict:i,universalResolverAddress:c}){const d=await s.getAction(e,Be,"getEnsText")({blockNumber:t,blockTag:r,key:"avatar",name:a,universalResolverAddress:c,gatewayUrls:o,strict:i});if(!d)return null;try{return await Ht(e,{record:d,gatewayUrls:n})}catch{return null}}async function Ut(e,{address:t,blockNumber:r,blockTag:n,gatewayUrls:a,strict:o,universalResolverAddress:i}){let c=i;if(!c){if(!e.chain)throw new Error("client chain not configured. universalResolverAddress is required.");c=s.getChainContractAddress({blockNumber:r,chain:e.chain,contract:"ensUniversalResolver"})}const d=`${t.toLowerCase().substring(2)}.addr.reverse`;try{const u={address:c,abi:s.universalResolverReverseAbi,functionName:"reverse",args:[m.toHex(V(d))],blockNumber:r,blockTag:n},f=s.getAction(e,s.readContract,"readContract"),[p,h]=a?await f({...u,args:[...u.args,a]}):await f(u);return t.toLowerCase()!==h.toLowerCase()?null:p}catch(u){if(o)throw u;if(ae(u,"reverse"))return null;throw u}}async function Mt(e,t){const{blockNumber:r,blockTag:n,name:a}=t,{chain:o}=e,i=(()=>{if(t.universalResolverAddress)return t.universalResolverAddress;if(!o)throw new Error("client chain not configured. universalResolverAddress is required.");return s.getChainContractAddress({blockNumber:r,chain:o,contract:"ensUniversalResolver"})})(),c=o==null?void 0:o.ensTlds;if(c&&!c.some(u=>a.endsWith(u)))throw new Error(`${a} is not a valid ENS TLD (${c==null?void 0:c.join(", ")}) for chain "${o.name}" (id: ${o.id}).`);const[d]=await s.getAction(e,s.readContract,"readContract")({address:i,abi:[{inputs:[{type:"bytes"}],name:"findResolver",outputs:[{type:"address"},{type:"bytes32"}],stateMutability:"view",type:"function"}],functionName:"findResolver",args:[m.toHex(V(a))],blockNumber:r,blockTag:n});return d}async function Pe(e,t){var v,b,w;const{account:r=e.account,blockNumber:n,blockTag:a="latest",blobs:o,data:i,gas:c,gasPrice:d,maxFeePerBlobGas:u,maxFeePerGas:f,maxPriorityFeePerGas:p,to:h,value:l,...g}=t,y=r?s.parseAccount(r):void 0;try{s.assertRequest(t);const C=(typeof n=="bigint"?m.numberToHex(n):void 0)||a,T=(w=(b=(v=e.chain)==null?void 0:v.formatters)==null?void 0:b.transactionRequest)==null?void 0:w.format,E=(T||s.formatTransactionRequest)({...s.extract(g,{format:T}),from:y==null?void 0:y.address,blobs:o,data:i,gas:c,gasPrice:d,maxFeePerBlobGas:u,maxFeePerGas:f,maxPriorityFeePerGas:p,to:h,value:l}),I=await e.request({method:"eth_createAccessList",params:[E,C]});return{accessList:I.accessList,gasUsed:BigInt(I.gasUsed)}}catch(A){throw s.getCallError(A,{...t,account:y,chain:e.chain})}}async function jt(e){const t=s.createFilterRequestScope(e,{method:"eth_newBlockFilter"}),r=await e.request({method:"eth_newBlockFilter"});return{id:r,request:t(r),type:"block"}}async function Se(e,{address:t,args:r,event:n,events:a,fromBlock:o,strict:i,toBlock:c}={}){const d=a??(n?[n]:void 0),u=s.createFilterRequestScope(e,{method:"eth_newFilter"});let f=[];d&&(f=[d.flatMap(l=>s.encodeEventTopics({abi:[l],eventName:l.name,args:r}))],n&&(f=f[0]));const p=await e.request({method:"eth_newFilter",params:[{address:t,fromBlock:typeof o=="bigint"?m.numberToHex(o):o,toBlock:typeof c=="bigint"?m.numberToHex(c):c,...f.length?{topics:f}:{}}]});return{abi:d,args:r,eventName:n?n.name:void 0,fromBlock:o,id:p,request:u(p),strict:!!i,toBlock:c,type:"event"}}async function Fe(e){const t=s.createFilterRequestScope(e,{method:"eth_newPendingTransactionFilter"}),r=await e.request({method:"eth_newPendingTransactionFilter"});return{id:r,request:t(r),type:"transaction"}}async function Wt(e){const t=await e.request({method:"eth_blobBaseFee"});return BigInt(t)}async function Gt(e,{blockHash:t,blockNumber:r,blockTag:n="latest"}={}){const a=r!==void 0?m.numberToHex(r):void 0;let o;return t?o=await e.request({method:"eth_getBlockTransactionCountByHash",params:[t]},{dedupe:!0}):o=await e.request({method:"eth_getBlockTransactionCountByNumber",params:[a||n]},{dedupe:!!a}),m.hexToNumber(o)}async function ye(e,{address:t,blockNumber:r,blockTag:n="latest"}){const a=r!==void 0?m.numberToHex(r):void 0,o=await e.request({method:"eth_getCode",params:[t,a||n]},{dedupe:!!a});if(o!=="0x")return o}class Vt extends m.BaseError{constructor({address:t}){super(`No EIP-712 domain found on contract "${t}".`,{metaMessages:["Ensure that:",`- The contract is deployed at the address "${t}".`,"- `eip712Domain()` function exists on the contract.","- `eip712Domain()` function matches signature to ERC-5267 specification."],name:"Eip712DomainNotFoundError"})}}async function Zt(e,t){const{address:r,factory:n,factoryData:a}=t;try{const[o,i,c,d,u,f,p]=await s.getAction(e,s.readContract,"readContract")({abi:Jt,address:r,functionName:"eip712Domain",factory:n,factoryData:a});return{domain:{name:i,version:c,chainId:Number(d),verifyingContract:u,salt:f},extensions:p,fields:o}}catch(o){const i=o;throw i.name==="ContractFunctionExecutionError"&&i.cause.name==="ContractFunctionZeroDataError"?new Vt({address:r}):i}}const Jt=[{inputs:[],name:"eip712Domain",outputs:[{name:"fields",type:"bytes1"},{name:"name",type:"string"},{name:"version",type:"string"},{name:"chainId",type:"uint256"},{name:"verifyingContract",type:"address"},{name:"salt",type:"bytes32"},{name:"extensions",type:"uint256[]"}],stateMutability:"view",type:"function"}];function Kt(e){var t;return{baseFeePerGas:e.baseFeePerGas.map(r=>BigInt(r)),gasUsedRatio:e.gasUsedRatio,oldestBlock:BigInt(e.oldestBlock),reward:(t=e.reward)==null?void 0:t.map(r=>r.map(n=>BigInt(n)))}}async function Qt(e,{blockCount:t,blockNumber:r,blockTag:n="latest",rewardPercentiles:a}){const o=typeof r=="bigint"?m.numberToHex(r):void 0,i=await e.request({method:"eth_feeHistory",params:[m.numberToHex(t),o||n,a]},{dedupe:!!o});return Kt(i)}async function Xt(e,{filter:t}){const r=t.strict??!1,a=(await t.request({method:"eth_getFilterLogs",params:[t.id]})).map(o=>m.formatLog(o));return t.abi?s.parseEventLogs({abi:t.abi,logs:a,strict:r}):a}class Yt extends m.BaseError{constructor({domain:t}){super(`Invalid domain "${s.stringify(t)}".`,{metaMessages:["Must be a valid EIP-712 domain."]})}}class er extends m.BaseError{constructor({primaryType:t,types:r}){super(`Invalid primary type \`${t}\` must be one of \`${JSON.stringify(Object.keys(r))}\`.`,{docsPath:"/api/glossary/Errors#typeddatainvalidprimarytypeerror",metaMessages:["Check that the primary type is a key in `types`."]})}}class tr extends m.BaseError{constructor({type:t}){super(`Struct type "${t}" is invalid.`,{metaMessages:["Struct type must not be a Solidity type."],name:"InvalidStructTypeError"})}}function rr(e){const{domain:t={},message:r,primaryType:n}=e,a={EIP712Domain:He({domain:t}),...e.types};_e({domain:t,message:r,primaryType:n,types:a});const o=["0x1901"];return t&&o.push(nr({domain:t,types:a})),n!=="EIP712Domain"&&o.push(qe({data:r,primaryType:n,types:a})),m.keccak256(m.concat(o))}function nr({domain:e,types:t}){return qe({data:e,primaryType:"EIP712Domain",types:t})}function qe({data:e,primaryType:t,types:r}){const n=ze({data:e,primaryType:t,types:r});return m.keccak256(n)}function ze({data:e,primaryType:t,types:r}){const n=[{type:"bytes32"}],a=[sr({primaryType:t,types:r})];for(const o of r[t]){const[i,c]=$e({types:r,name:o.name,type:o.type,value:e[o.name]});n.push(i),a.push(c)}return s.encodeAbiParameters(n,a)}function sr({primaryType:e,types:t}){const r=m.toHex(ar({primaryType:e,types:t}));return m.keccak256(r)}function ar({primaryType:e,types:t}){let r="";const n=De({primaryType:e,types:t});n.delete(e);const a=[e,...Array.from(n).sort()];for(const o of a)r+=`${o}(${t[o].map(({name:i,type:c})=>`${c} ${i}`).join(",")})`;return r}function De({primaryType:e,types:t},r=new Set){const n=e.match(/^\w*/u),a=n==null?void 0:n[0];if(r.has(a)||t[a]===void 0)return r;r.add(a);for(const o of t[a])De({primaryType:o.type,types:t},r);return r}function $e({types:e,name:t,type:r,value:n}){if(e[r]!==void 0)return[{type:"bytes32"},m.keccak256(ze({data:n,primaryType:r,types:e}))];if(r==="bytes")return n=`0x${(n.length%2?"0":"")+n.slice(2)}`,[{type:"bytes32"},m.keccak256(n)];if(r==="string")return[{type:"bytes32"},m.keccak256(m.toHex(n))];if(r.lastIndexOf("]")===r.length-1){const a=r.slice(0,r.lastIndexOf("[")),o=n.map(i=>$e({name:t,type:a,types:e,value:i}));return[{type:"bytes32"},m.keccak256(s.encodeAbiParameters(o.map(([i])=>i),o.map(([,i])=>i)))]}return[{type:r},n]}function or(e){const{domain:t,message:r,primaryType:n,types:a}=e,o=(d,u)=>{const f={...u};for(const p of d){const{name:h,type:l}=p;l==="address"&&(f[h]=f[h].toLowerCase())}return f},i=a.EIP712Domain?t?o(a.EIP712Domain,t):{}:{},c=(()=>{if(n!=="EIP712Domain")return o(a[n],r)})();return s.stringify({domain:i,message:c,primaryType:n,types:a})}function _e(e){const{domain:t,message:r,primaryType:n,types:a}=e,o=(i,c)=>{for(const d of i){const{name:u,type:f}=d,p=c[u],h=f.match(s.integerRegex);if(h&&(typeof p=="number"||typeof p=="bigint")){const[y,v,b]=h;m.numberToHex(p,{signed:v==="int",size:Number.parseInt(b)/8})}if(f==="address"&&typeof p=="string"&&!m.isAddress(p))throw new m.InvalidAddressError({address:p});const l=f.match(s.bytesRegex);if(l){const[y,v]=l;if(v&&m.size(p)!==Number.parseInt(v))throw new s.BytesSizeMismatchError({expectedSize:Number.parseInt(v),givenSize:m.size(p)})}const g=a[f];g&&(ir(f),o(g,p))}};if(a.EIP712Domain&&t){if(typeof t!="object")throw new Yt({domain:t});o(a.EIP712Domain,t)}if(n!=="EIP712Domain")if(a[n])o(a[n],r);else throw new er({primaryType:n,types:a})}function He({domain:e}){return[typeof(e==null?void 0:e.name)=="string"&&{name:"name",type:"string"},(e==null?void 0:e.version)&&{name:"version",type:"string"},(typeof(e==null?void 0:e.chainId)=="number"||typeof(e==null?void 0:e.chainId)=="bigint")&&{name:"chainId",type:"uint256"},(e==null?void 0:e.verifyingContract)&&{name:"verifyingContract",type:"address"},(e==null?void 0:e.salt)&&{name:"salt",type:"bytes32"}].filter(Boolean)}function ir(e){if(e==="address"||e==="bool"||e==="string"||e.startsWith("bytes")||e.startsWith("uint")||e.startsWith("int"))throw new tr({type:e})}const cr=`Ethereum Signed Message:
|
|
1
|
+
"use strict";const s=require("./writeContract-BfAYISeL.cjs"),m=require("./constants-CxSgz27h.cjs"),ve=require("./localBatchGatewayRequest-CKLnLqib.cjs"),st=require("./secp256k1-YUzyTLhP.cjs");function pe(e){let t;if(typeof e=="string")t=s.parseSignature(e);else{const r=s.parseStructs(e),n=e.length;for(let a=0;a<n;a++){const o=e[a];if(!s.isStructSignature(o)){t=s.parseSignature(o,r);break}}}if(!t)throw new s.InvalidAbiItemError({signature:e});return t}function at(e,t){if(me(e)>t)throw new pt({givenSize:me(e),maxSize:t})}const z={zero:48,nine:57,A:65,F:70,a:97,f:102};function he(e){if(e>=z.zero&&e<=z.nine)return e-z.zero;if(e>=z.A&&e<=z.F)return e-(z.A-10);if(e>=z.a&&e<=z.f)return e-(z.a-10)}function ot(e,t={}){const{dir:r,size:n=32}=t;if(n===0)return e;if(e.length>n)throw new ht({size:e.length,targetSize:n,type:"Bytes"});const a=new Uint8Array(n);for(let o=0;o<n;o++){const i=r==="right";a[i?o:n-o-1]=e[i?o:e.length-o-1]}return a}const it=new TextEncoder;function ct(e){return e instanceof Uint8Array?e:typeof e=="string"?dt(e):ut(e)}function ut(e){return e instanceof Uint8Array?e:new Uint8Array(e)}function dt(e,t={}){const{size:r}=t;let n=e;r&&(s.assertSize(e,r),n=s.padRight(e,r));let a=n.slice(2);a.length%2&&(a=`0${a}`);const o=a.length/2,i=new Uint8Array(o);for(let c=0,d=0;c<o;c++){const u=he(a.charCodeAt(d++)),f=he(a.charCodeAt(d++));if(u===void 0||f===void 0)throw new s.BaseError(`Invalid byte sequence ("${a[d-2]}${a[d-1]}" in "${a}").`);i[c]=u*16+f}return i}function ft(e,t={}){const{size:r}=t,n=it.encode(e);return typeof r=="number"?(at(n,r),lt(n,r)):n}function lt(e,t){return ot(e,{dir:"right",size:t})}function me(e){return e.length}class pt extends s.BaseError{constructor({givenSize:t,maxSize:r}){super(`Size cannot exceed \`${r}\` bytes. Given size: \`${t}\` bytes.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Bytes.SizeOverflowError"})}}class ht extends s.BaseError{constructor({size:t,targetSize:r,type:n}){super(`${n.charAt(0).toUpperCase()}${n.slice(1).toLowerCase()} size (\`${t}\`) exceeds padding size (\`${r}\`).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Bytes.SizeExceedsPaddingSizeError"})}}const Ae="0x5792579257925792579257925792579257925792579257925792579257925792",Ee=m.numberToHex(0,{size:32});async function mt(e,t){const{account:r=e.account,capabilities:n,chain:a=e.chain,experimental_fallback:o,experimental_fallbackDelay:i=32,forceAtomic:c=!1,id:d,version:u="2.0.0"}=t,f=r?s.parseAccount(r):null,p=t.calls.map(h=>{const l=h,g=l.abi?s.encodeFunctionData({abi:l.abi,functionName:l.functionName,args:l.args}):l.data;return{data:l.dataSuffix&&g?m.concat([g,l.dataSuffix]):g,to:l.to,value:l.value?m.numberToHex(l.value):void 0}});try{const h=await e.request({method:"wallet_sendCalls",params:[{atomicRequired:c,calls:p,capabilities:n,chainId:m.numberToHex(a.id),from:f==null?void 0:f.address,id:d,version:u}]},{retryCount:0});return typeof h=="string"?{id:h}:h}catch(h){const l=h;if(o&&(l.name==="MethodNotFoundRpcError"||l.name==="MethodNotSupportedRpcError"||l.name==="UnknownRpcError"||l.details.toLowerCase().includes("does not exist / is not available")||l.details.toLowerCase().includes("missing or invalid. request()")||l.details.toLowerCase().includes("did not match any variant of untagged enum")||l.details.toLowerCase().includes("account upgraded to unsupported contract")||l.details.toLowerCase().includes("eip-7702 not supported")||l.details.toLowerCase().includes("unsupported wc_ method"))){if(n&&Object.values(n).some(w=>!w.optional)){const w="non-optional `capabilities` are not supported on fallback to `eth_sendTransaction`.";throw new s.UnsupportedNonOptionalCapabilityError(new m.BaseError(w,{details:w}))}if(c&&p.length>1){const b="`forceAtomic` is not supported on fallback to `eth_sendTransaction`.";throw new s.AtomicityNotSupportedError(new m.BaseError(b,{details:b}))}const g=[];for(const b of p){const w=s.sendTransaction(e,{account:f,chain:a,data:b.data,to:b.to,value:b.value?m.hexToBigInt(b.value):void 0});g.push(w),i>0&&await new Promise(A=>setTimeout(A,i))}const y=await Promise.allSettled(g);if(y.every(b=>b.status==="rejected"))throw y[0].reason;const v=y.map(b=>b.status==="fulfilled"?b.value:Ee);return{id:m.concat([...v,m.numberToHex(a.id,{size:32}),Ae])}}throw s.getTransactionError(h,{...t,account:f,chain:t.chain})}}async function Te(e,t){async function r(f){if(f.endsWith(Ae.slice(2))){const h=m.trim(m.sliceHex(f,-64,-32)),l=m.sliceHex(f,0,-64).slice(2).match(/.{1,64}/g),g=await Promise.all(l.map(v=>Ee.slice(2)!==v?e.request({method:"eth_getTransactionReceipt",params:[`0x${v}`]},{dedupe:!0}):void 0)),y=g.some(v=>v===null)?100:g.every(v=>(v==null?void 0:v.status)==="0x1")?200:g.every(v=>(v==null?void 0:v.status)==="0x0")?500:600;return{atomic:!1,chainId:m.hexToNumber(h),receipts:g.filter(Boolean),status:y,version:"2.0.0"}}return e.request({method:"wallet_getCallsStatus",params:[f]})}const{atomic:n=!1,chainId:a,receipts:o,version:i="2.0.0",...c}=await r(t.id),[d,u]=(()=>{const f=c.status;return f>=100&&f<200?["pending",f]:f>=200&&f<300?["success",f]:f>=300&&f<700?["failure",f]:f==="CONFIRMED"?["success",200]:f==="PENDING"?["pending",100]:[void 0,f]})();return{...c,atomic:n,chainId:a?m.hexToNumber(a):void 0,receipts:(o==null?void 0:o.map(f=>({...f,blockNumber:m.hexToBigInt(f.blockNumber),gasUsed:m.hexToBigInt(f.gasUsed),status:m.receiptStatuses[f.status]})))??[],statusCode:u,status:d,version:i}}async function gt(e,t){const{id:r,pollingInterval:n=e.pollingInterval,status:a=({statusCode:h})=>h>=200,timeout:o=6e4}=t,i=s.stringify(["waitForCallsStatus",e.uid,r]),{promise:c,resolve:d,reject:u}=s.withResolvers();let f;const p=s.observe(i,{resolve:d,reject:u},h=>{const l=s.poll(async()=>{const g=y=>{clearTimeout(f),l(),y(),p()};try{const y=await Te(e,{id:r});if(!a(y))return;g(()=>h.resolve(y))}catch(y){g(()=>h.reject(y))}},{interval:n,emitOnBegin:!0});return l});return f=o?setTimeout(()=>{p(),clearTimeout(f),u(new bt({id:r}))},o):void 0,await c}class bt extends m.BaseError{constructor({id:t}){super(`Timed out while waiting for call bundle with id "${t}" to be confirmed.`,{name:"WaitForCallsStatusTimeoutError"})}}const Q=256;let U=Q,M;function xe(e=11){if(!M||U+e>Q*2){M="",U=0;for(let t=0;t<Q;t++)M+=(256+Math.random()*256|0).toString(16).substring(1)}return M.substring(U,U+++e)}function Ce(e){const{batch:t,chain:r,ccipRead:n,key:a="base",name:o="Base Client",type:i="base"}=e,c=e.experimental_blockTag??(typeof(r==null?void 0:r.experimental_preconfirmationTime)=="number"?"pending":void 0),d=(r==null?void 0:r.blockTime)??12e3,u=Math.min(Math.max(Math.floor(d/2),500),4e3),f=e.pollingInterval??u,p=e.cacheTime??f,h=e.account?s.parseAccount(e.account):void 0,{config:l,request:g,value:y}=e.transport({chain:r,pollingInterval:f}),v={...l,...y},b={account:h,batch:t,cacheTime:p,ccipRead:n,chain:r,key:a,name:o,pollingInterval:f,request:g,transport:v,type:i,uid:xe(),...c?{experimental_blockTag:c}:{}};function w(A){return C=>{const T=C(A);for(const E in b)delete T[E];const k={...A,...T};return Object.assign(k,{extend:w(k)})}}return Object.assign(b,{extend:w(b)})}const j=new m.LruMap(8192);function yt(e,{enabled:t=!0,id:r}){if(!t||!r)return e();if(j.get(r))return j.get(r);const n=e().finally(()=>j.delete(r));return j.set(r,n),n}function X(e,{delay:t=100,retryCount:r=2,shouldRetry:n=()=>!0}={}){return new Promise((a,o)=>{const i=async({count:c=0}={})=>{const d=async({error:u})=>{const f=typeof t=="function"?t({count:c,error:u}):t;f&&await s.wait(f),i({count:c+1})};try{const u=await e();a(u)}catch(u){if(c<r&&await n({count:c,error:u}))return d({error:u});o(u)}};i()})}function wt(e,t={}){return async(r,n={})=>{var p;const{dedupe:a=!1,methods:o,retryDelay:i=150,retryCount:c=3,uid:d}={...t,...n},{method:u}=r;if((p=o==null?void 0:o.exclude)!=null&&p.includes(u))throw new s.MethodNotSupportedRpcError(new Error("method not supported"),{method:u});if(o!=null&&o.include&&!o.include.includes(u))throw new s.MethodNotSupportedRpcError(new Error("method not supported"),{method:u});const f=a?m.stringToHex(`${d}.${s.stringify(r)}`):void 0;return yt(()=>X(async()=>{try{return await e(r)}catch(h){const l=h;switch(l.code){case s.ParseRpcError.code:throw new s.ParseRpcError(l);case s.InvalidRequestRpcError.code:throw new s.InvalidRequestRpcError(l);case s.MethodNotFoundRpcError.code:throw new s.MethodNotFoundRpcError(l,{method:r.method});case s.InvalidParamsRpcError.code:throw new s.InvalidParamsRpcError(l);case s.InternalRpcError.code:throw new s.InternalRpcError(l);case s.InvalidInputRpcError.code:throw new s.InvalidInputRpcError(l);case s.ResourceNotFoundRpcError.code:throw new s.ResourceNotFoundRpcError(l);case s.ResourceUnavailableRpcError.code:throw new s.ResourceUnavailableRpcError(l);case s.TransactionRejectedRpcError.code:throw new s.TransactionRejectedRpcError(l);case s.MethodNotSupportedRpcError.code:throw new s.MethodNotSupportedRpcError(l,{method:r.method});case s.LimitExceededRpcError.code:throw new s.LimitExceededRpcError(l);case s.JsonRpcVersionUnsupportedError.code:throw new s.JsonRpcVersionUnsupportedError(l);case s.UserRejectedRequestError.code:throw new s.UserRejectedRequestError(l);case s.UnauthorizedProviderError.code:throw new s.UnauthorizedProviderError(l);case s.UnsupportedProviderMethodError.code:throw new s.UnsupportedProviderMethodError(l);case s.ProviderDisconnectedError.code:throw new s.ProviderDisconnectedError(l);case s.ChainDisconnectedError.code:throw new s.ChainDisconnectedError(l);case s.SwitchChainError.code:throw new s.SwitchChainError(l);case s.UnsupportedNonOptionalCapabilityError.code:throw new s.UnsupportedNonOptionalCapabilityError(l);case s.UnsupportedChainIdError.code:throw new s.UnsupportedChainIdError(l);case s.DuplicateIdError.code:throw new s.DuplicateIdError(l);case s.UnknownBundleIdError.code:throw new s.UnknownBundleIdError(l);case s.BundleTooLargeError.code:throw new s.BundleTooLargeError(l);case s.AtomicReadyWalletRejectedUpgradeError.code:throw new s.AtomicReadyWalletRejectedUpgradeError(l);case s.AtomicityNotSupportedError.code:throw new s.AtomicityNotSupportedError(l);case 5e3:throw new s.UserRejectedRequestError(l);default:throw h instanceof m.BaseError?h:new s.UnknownRpcError(l)}}},{delay:({count:h,error:l})=>{var g;if(l&&l instanceof s.HttpRequestError){const y=(g=l==null?void 0:l.headers)==null?void 0:g.get("Retry-After");if(y!=null&&y.match(/\d/))return Number.parseInt(y)*1e3}return~~(1<<h)*i},retryCount:c,shouldRetry:({error:h})=>vt(h)}),{enabled:a,id:f})}}function vt(e){return"code"in e&&typeof e.code=="number"?e.code===-1||e.code===s.LimitExceededRpcError.code||e.code===s.InternalRpcError.code:e instanceof s.HttpRequestError&&e.status?e.status===403||e.status===408||e.status===413||e.status===429||e.status===500||e.status===502||e.status===503||e.status===504:!0}function Re({key:e,methods:t,name:r,request:n,retryCount:a=3,retryDelay:o=150,timeout:i,type:c},d){const u=xe();return{config:{key:e,methods:t,name:r,request:n,retryCount:a,retryDelay:o,timeout:i,type:c},request:wt(n,{methods:t,retryCount:a,retryDelay:o,uid:u}),value:d}}class At extends m.BaseError{constructor(){super("No URL was provided to the Transport. Please provide a valid RPC URL to the Transport.",{docsPath:"/docs/clients/intro",name:"UrlRequiredError"})}}function Et(e,{errorInstance:t=new Error("timed out"),timeout:r,signal:n}){return new Promise((a,o)=>{(async()=>{let i;try{const c=new AbortController;r>0&&(i=setTimeout(()=>{n&&c.abort()},r)),a(await e({signal:(c==null?void 0:c.signal)||null}))}catch(c){(c==null?void 0:c.name)==="AbortError"&&o(t),o(c)}finally{clearTimeout(i)}})()})}function Tt(){return{current:0,take(){return this.current++},reset(){this.current=0}}}const ge=Tt();function xt(e,t={}){return{async request(r){var p;const{body:n,onRequest:a=t.onRequest,onResponse:o=t.onResponse,timeout:i=t.timeout??1e4}=r,c={...t.fetchOptions??{},...r.fetchOptions??{}},{headers:d,method:u,signal:f}=c;try{const h=await Et(async({signal:g})=>{const y={...c,body:Array.isArray(n)?s.stringify(n.map(A=>({jsonrpc:"2.0",id:A.id??ge.take(),...A}))):s.stringify({jsonrpc:"2.0",id:n.id??ge.take(),...n}),headers:{"Content-Type":"application/json",...d},method:u||"POST",signal:f||(i>0?g:null)},v=new Request(e,y),b=await(a==null?void 0:a(v,y))??{...y,url:e};return await fetch(b.url??e,b)},{errorInstance:new s.TimeoutError({body:n,url:e}),timeout:i,signal:!0});o&&await o(h);let l;if((p=h.headers.get("Content-Type"))!=null&&p.startsWith("application/json"))l=await h.json();else{l=await h.text();try{l=JSON.parse(l||"{}")}catch(g){if(h.ok)throw g;l={error:l}}}if(!h.ok)throw new s.HttpRequestError({body:n,details:s.stringify(l.error)||h.statusText,headers:h.headers,status:h.status,url:e});return l}catch(h){throw h instanceof s.HttpRequestError||h instanceof s.TimeoutError?h:new s.HttpRequestError({body:n,cause:h,url:e})}}}}function Ct(e,t={}){const{batch:r,fetchOptions:n,key:a="http",methods:o,name:i="HTTP JSON-RPC",onFetchRequest:c,onFetchResponse:d,retryDelay:u,raw:f}=t;return({chain:p,retryCount:h,timeout:l})=>{const{batchSize:g=1e3,wait:y=0}=typeof r=="object"?r:{},v=t.retryCount??h,b=l??t.timeout??1e4,w=e||(p==null?void 0:p.rpcUrls.default.http[0]);if(!w)throw new At;const A=xt(w,{fetchOptions:n,onRequest:c,onResponse:d,timeout:b});return Re({key:a,methods:o,name:i,async request({method:C,params:T}){const k={method:C,params:T},{schedule:E}=s.createBatchScheduler({id:w,wait:y,shouldSplitBatch(R){return R.length>g},fn:R=>A.request({body:R}),sort:(R,B)=>R.id-B.id}),I=async R=>r?E(R):[await A.request({body:R})],[{error:N,result:S}]=await I(k);if(f)return{error:N,result:S};if(N)throw new s.RpcRequestError({body:k,error:N,url:w});return S},retryCount:v,retryDelay:u,timeout:b,type:"http"},{fetchOptions:n,url:w})}}function ae(e,t){var n,a,o,i,c,d;if(!(e instanceof m.BaseError))return!1;const r=e.walk(u=>u instanceof s.ContractFunctionRevertedError);return r instanceof s.ContractFunctionRevertedError?!!(((n=r.data)==null?void 0:n.errorName)==="ResolverNotFound"||((a=r.data)==null?void 0:a.errorName)==="ResolverWildcardNotSupported"||((o=r.data)==null?void 0:o.errorName)==="ResolverNotContract"||((i=r.data)==null?void 0:i.errorName)==="ResolverError"||((c=r.data)==null?void 0:c.errorName)==="HttpError"||(d=r.reason)!=null&&d.includes("Wildcard on non-extended resolvers is not supported")||t==="reverse"&&r.reason===s.panicReasons[50]):!1}function ke(e){if(e.length!==66||e.indexOf("[")!==0||e.indexOf("]")!==65)return null;const t=`0x${e.slice(1,65)}`;return m.isHex(t)?t:null}function W(e){let t=new Uint8Array(32).fill(0);if(!e)return m.bytesToHex(t);const r=e.split(".");for(let n=r.length-1;n>=0;n-=1){const a=ke(r[n]),o=a?m.toBytes(a):m.keccak256(m.stringToBytes(r[n]),"bytes");t=m.keccak256(m.concat([t,o]),"bytes")}return m.bytesToHex(t)}function Rt(e){return`[${e.slice(2)}]`}function kt(e){const t=new Uint8Array(32).fill(0);return e?ke(e)||m.keccak256(m.stringToBytes(e)):m.bytesToHex(t)}function V(e){const t=e.replace(/^\.|\.$/gm,"");if(t.length===0)return new Uint8Array(1);const r=new Uint8Array(m.stringToBytes(t).byteLength+2);let n=0;const a=t.split(".");for(let o=0;o<a.length;o++){let i=m.stringToBytes(a[o]);i.byteLength>255&&(i=m.stringToBytes(Rt(kt(a[o])))),r[n]=i.length,r.set(i,n+1),n+=i.length+1}return r.byteLength!==n+1?r.slice(0,n+1):r}async function It(e,t){const{blockNumber:r,blockTag:n,coinType:a,name:o,gatewayUrls:i,strict:c}=t,{chain:d}=e,u=(()=>{if(t.universalResolverAddress)return t.universalResolverAddress;if(!d)throw new Error("client chain not configured. universalResolverAddress is required.");return s.getChainContractAddress({blockNumber:r,chain:d,contract:"ensUniversalResolver"})})(),f=d==null?void 0:d.ensTlds;if(f&&!f.some(p=>o.endsWith(p)))return null;try{const p=s.encodeFunctionData({abi:s.addressResolverAbi,functionName:"addr",...a!=null?{args:[W(o),BigInt(a)]}:{args:[W(o)]}}),h={address:u,abi:s.universalResolverResolveAbi,functionName:"resolve",args:[m.toHex(V(o)),p,i??[ve.localBatchGatewayUrl]],blockNumber:r,blockTag:n},g=await s.getAction(e,s.readContract,"readContract")(h);if(g[0]==="0x")return null;const y=s.decodeFunctionResult({abi:s.addressResolverAbi,args:a!=null?[W(o),BigInt(a)]:void 0,functionName:"addr",data:g[0]});return y==="0x"||m.trim(y)==="0x00"?null:y}catch(p){if(c)throw p;if(ae(p,"resolve"))return null;throw p}}class Nt extends m.BaseError{constructor({data:t}){super("Unable to extract image from metadata. The metadata may be malformed or invalid.",{metaMessages:["- Metadata must be a JSON object with at least an `image`, `image_url` or `image_data` property.","",`Provided data: ${JSON.stringify(t)}`],name:"EnsAvatarInvalidMetadataError"})}}class O extends m.BaseError{constructor({reason:t}){super(`ENS NFT avatar URI is invalid. ${t}`,{name:"EnsAvatarInvalidNftUriError"})}}class oe extends m.BaseError{constructor({uri:t}){super(`Unable to resolve ENS avatar URI "${t}". The URI may be malformed, invalid, or does not respond with a valid image.`,{name:"EnsAvatarUriResolutionError"})}}class Bt extends m.BaseError{constructor({namespace:t}){super(`ENS NFT avatar namespace "${t}" is not supported. Must be "erc721" or "erc1155".`,{name:"EnsAvatarUnsupportedNamespaceError"})}}const Pt=/(?<protocol>https?:\/\/[^\/]*|ipfs:\/|ipns:\/|ar:\/)?(?<root>\/)?(?<subpath>ipfs\/|ipns\/)?(?<target>[\w\-.]+)(?<subtarget>\/.*)?/,St=/^(Qm[1-9A-HJ-NP-Za-km-z]{44,}|b[A-Za-z2-7]{58,}|B[A-Z2-7]{58,}|z[1-9A-HJ-NP-Za-km-z]{48,}|F[0-9A-F]{50,})(\/(?<target>[\w\-.]+))?(?<subtarget>\/.*)?$/,Ft=/^data:([a-zA-Z\-/+]*);base64,([^"].*)/,qt=/^data:([a-zA-Z\-/+]*)?(;[a-zA-Z0-9].*?)?(,)/;async function zt(e){try{const t=await fetch(e,{method:"HEAD"});if(t.status===200){const r=t.headers.get("content-type");return r==null?void 0:r.startsWith("image/")}return!1}catch(t){return typeof t=="object"&&typeof t.response<"u"||!globalThis.hasOwnProperty("Image")?!1:new Promise(r=>{const n=new Image;n.onload=()=>{r(!0)},n.onerror=()=>{r(!1)},n.src=e})}}function be(e,t){return e?e.endsWith("/")?e.slice(0,-1):e:t}function Ie({uri:e,gatewayUrls:t}){const r=Ft.test(e);if(r)return{uri:e,isOnChain:!0,isEncoded:r};const n=be(t==null?void 0:t.ipfs,"https://ipfs.io"),a=be(t==null?void 0:t.arweave,"https://arweave.net"),o=e.match(Pt),{protocol:i,subpath:c,target:d,subtarget:u=""}=(o==null?void 0:o.groups)||{},f=i==="ipns:/"||c==="ipns/",p=i==="ipfs:/"||c==="ipfs/"||St.test(e);if(e.startsWith("http")&&!f&&!p){let l=e;return t!=null&&t.arweave&&(l=e.replace(/https:\/\/arweave.net/g,t==null?void 0:t.arweave)),{uri:l,isOnChain:!1,isEncoded:!1}}if((f||p)&&d)return{uri:`${n}/${f?"ipns":"ipfs"}/${d}${u}`,isOnChain:!1,isEncoded:!1};if(i==="ar:/"&&d)return{uri:`${a}/${d}${u||""}`,isOnChain:!1,isEncoded:!1};let h=e.replace(qt,"");if(h.startsWith("<svg")&&(h=`data:image/svg+xml;base64,${btoa(h)}`),h.startsWith("data:")||h.startsWith("{"))return{uri:h,isOnChain:!0,isEncoded:!1};throw new oe({uri:e})}function Ne(e){if(typeof e!="object"||!("image"in e)&&!("image_url"in e)&&!("image_data"in e))throw new Nt({data:e});return e.image||e.image_url||e.image_data}async function Dt({gatewayUrls:e,uri:t}){try{const r=await fetch(t).then(a=>a.json());return await ie({gatewayUrls:e,uri:Ne(r)})}catch{throw new oe({uri:t})}}async function ie({gatewayUrls:e,uri:t}){const{uri:r,isOnChain:n}=Ie({uri:t,gatewayUrls:e});if(n||await zt(r))return r;throw new oe({uri:t})}function $t(e){let t=e;t.startsWith("did:nft:")&&(t=t.replace("did:nft:","").replace(/_/g,"/"));const[r,n,a]=t.split("/"),[o,i]=r.split(":"),[c,d]=n.split(":");if(!o||o.toLowerCase()!=="eip155")throw new O({reason:"Only EIP-155 supported"});if(!i)throw new O({reason:"Chain ID not found"});if(!d)throw new O({reason:"Contract address not found"});if(!a)throw new O({reason:"Token ID not found"});if(!c)throw new O({reason:"ERC namespace not found"});return{chainID:Number.parseInt(i),namespace:c.toLowerCase(),contractAddress:d,tokenID:a}}async function _t(e,{nft:t}){if(t.namespace==="erc721")return s.readContract(e,{address:t.contractAddress,abi:[{name:"tokenURI",type:"function",stateMutability:"view",inputs:[{name:"tokenId",type:"uint256"}],outputs:[{name:"",type:"string"}]}],functionName:"tokenURI",args:[BigInt(t.tokenID)]});if(t.namespace==="erc1155")return s.readContract(e,{address:t.contractAddress,abi:[{name:"uri",type:"function",stateMutability:"view",inputs:[{name:"_id",type:"uint256"}],outputs:[{name:"",type:"string"}]}],functionName:"uri",args:[BigInt(t.tokenID)]});throw new Bt({namespace:t.namespace})}async function Ht(e,{gatewayUrls:t,record:r}){return/eip155:/i.test(r)?Ot(e,{gatewayUrls:t,record:r}):ie({uri:r,gatewayUrls:t})}async function Ot(e,{gatewayUrls:t,record:r}){const n=$t(r),a=await _t(e,{nft:n}),{uri:o,isOnChain:i,isEncoded:c}=Ie({uri:a,gatewayUrls:t});if(i&&(o.includes("data:application/json;base64,")||o.startsWith("{"))){const u=c?atob(o.replace("data:application/json;base64,","")):o,f=JSON.parse(u);return ie({uri:Ne(f),gatewayUrls:t})}let d=n.tokenID;return n.namespace==="erc1155"&&(d=d.replace("0x","").padStart(64,"0")),Dt({gatewayUrls:t,uri:o.replace(/(?:0x)?{id}/,d)})}async function Be(e,t){const{blockNumber:r,blockTag:n,key:a,name:o,gatewayUrls:i,strict:c}=t,{chain:d}=e,u=(()=>{if(t.universalResolverAddress)return t.universalResolverAddress;if(!d)throw new Error("client chain not configured. universalResolverAddress is required.");return s.getChainContractAddress({blockNumber:r,chain:d,contract:"ensUniversalResolver"})})(),f=d==null?void 0:d.ensTlds;if(f&&!f.some(p=>o.endsWith(p)))return null;try{const p={address:u,abi:s.universalResolverResolveAbi,functionName:"resolve",args:[m.toHex(V(o)),s.encodeFunctionData({abi:s.textResolverAbi,functionName:"text",args:[W(o),a]}),i??[ve.localBatchGatewayUrl]],blockNumber:r,blockTag:n},l=await s.getAction(e,s.readContract,"readContract")(p);if(l[0]==="0x")return null;const g=s.decodeFunctionResult({abi:s.textResolverAbi,functionName:"text",data:l[0]});return g===""?null:g}catch(p){if(c)throw p;if(ae(p,"resolve"))return null;throw p}}async function Lt(e,{blockNumber:t,blockTag:r,assetGatewayUrls:n,name:a,gatewayUrls:o,strict:i,universalResolverAddress:c}){const d=await s.getAction(e,Be,"getEnsText")({blockNumber:t,blockTag:r,key:"avatar",name:a,universalResolverAddress:c,gatewayUrls:o,strict:i});if(!d)return null;try{return await Ht(e,{record:d,gatewayUrls:n})}catch{return null}}async function Ut(e,{address:t,blockNumber:r,blockTag:n,gatewayUrls:a,strict:o,universalResolverAddress:i}){let c=i;if(!c){if(!e.chain)throw new Error("client chain not configured. universalResolverAddress is required.");c=s.getChainContractAddress({blockNumber:r,chain:e.chain,contract:"ensUniversalResolver"})}const d=`${t.toLowerCase().substring(2)}.addr.reverse`;try{const u={address:c,abi:s.universalResolverReverseAbi,functionName:"reverse",args:[m.toHex(V(d))],blockNumber:r,blockTag:n},f=s.getAction(e,s.readContract,"readContract"),[p,h]=a?await f({...u,args:[...u.args,a]}):await f(u);return t.toLowerCase()!==h.toLowerCase()?null:p}catch(u){if(o)throw u;if(ae(u,"reverse"))return null;throw u}}async function Mt(e,t){const{blockNumber:r,blockTag:n,name:a}=t,{chain:o}=e,i=(()=>{if(t.universalResolverAddress)return t.universalResolverAddress;if(!o)throw new Error("client chain not configured. universalResolverAddress is required.");return s.getChainContractAddress({blockNumber:r,chain:o,contract:"ensUniversalResolver"})})(),c=o==null?void 0:o.ensTlds;if(c&&!c.some(u=>a.endsWith(u)))throw new Error(`${a} is not a valid ENS TLD (${c==null?void 0:c.join(", ")}) for chain "${o.name}" (id: ${o.id}).`);const[d]=await s.getAction(e,s.readContract,"readContract")({address:i,abi:[{inputs:[{type:"bytes"}],name:"findResolver",outputs:[{type:"address"},{type:"bytes32"}],stateMutability:"view",type:"function"}],functionName:"findResolver",args:[m.toHex(V(a))],blockNumber:r,blockTag:n});return d}async function Pe(e,t){var v,b,w;const{account:r=e.account,blockNumber:n,blockTag:a="latest",blobs:o,data:i,gas:c,gasPrice:d,maxFeePerBlobGas:u,maxFeePerGas:f,maxPriorityFeePerGas:p,to:h,value:l,...g}=t,y=r?s.parseAccount(r):void 0;try{s.assertRequest(t);const C=(typeof n=="bigint"?m.numberToHex(n):void 0)||a,T=(w=(b=(v=e.chain)==null?void 0:v.formatters)==null?void 0:b.transactionRequest)==null?void 0:w.format,E=(T||s.formatTransactionRequest)({...s.extract(g,{format:T}),from:y==null?void 0:y.address,blobs:o,data:i,gas:c,gasPrice:d,maxFeePerBlobGas:u,maxFeePerGas:f,maxPriorityFeePerGas:p,to:h,value:l}),I=await e.request({method:"eth_createAccessList",params:[E,C]});return{accessList:I.accessList,gasUsed:BigInt(I.gasUsed)}}catch(A){throw s.getCallError(A,{...t,account:y,chain:e.chain})}}async function jt(e){const t=s.createFilterRequestScope(e,{method:"eth_newBlockFilter"}),r=await e.request({method:"eth_newBlockFilter"});return{id:r,request:t(r),type:"block"}}async function Se(e,{address:t,args:r,event:n,events:a,fromBlock:o,strict:i,toBlock:c}={}){const d=a??(n?[n]:void 0),u=s.createFilterRequestScope(e,{method:"eth_newFilter"});let f=[];d&&(f=[d.flatMap(l=>s.encodeEventTopics({abi:[l],eventName:l.name,args:r}))],n&&(f=f[0]));const p=await e.request({method:"eth_newFilter",params:[{address:t,fromBlock:typeof o=="bigint"?m.numberToHex(o):o,toBlock:typeof c=="bigint"?m.numberToHex(c):c,...f.length?{topics:f}:{}}]});return{abi:d,args:r,eventName:n?n.name:void 0,fromBlock:o,id:p,request:u(p),strict:!!i,toBlock:c,type:"event"}}async function Fe(e){const t=s.createFilterRequestScope(e,{method:"eth_newPendingTransactionFilter"}),r=await e.request({method:"eth_newPendingTransactionFilter"});return{id:r,request:t(r),type:"transaction"}}async function Wt(e){const t=await e.request({method:"eth_blobBaseFee"});return BigInt(t)}async function Gt(e,{blockHash:t,blockNumber:r,blockTag:n="latest"}={}){const a=r!==void 0?m.numberToHex(r):void 0;let o;return t?o=await e.request({method:"eth_getBlockTransactionCountByHash",params:[t]},{dedupe:!0}):o=await e.request({method:"eth_getBlockTransactionCountByNumber",params:[a||n]},{dedupe:!!a}),m.hexToNumber(o)}async function ye(e,{address:t,blockNumber:r,blockTag:n="latest"}){const a=r!==void 0?m.numberToHex(r):void 0,o=await e.request({method:"eth_getCode",params:[t,a||n]},{dedupe:!!a});if(o!=="0x")return o}class Vt extends m.BaseError{constructor({address:t}){super(`No EIP-712 domain found on contract "${t}".`,{metaMessages:["Ensure that:",`- The contract is deployed at the address "${t}".`,"- `eip712Domain()` function exists on the contract.","- `eip712Domain()` function matches signature to ERC-5267 specification."],name:"Eip712DomainNotFoundError"})}}async function Zt(e,t){const{address:r,factory:n,factoryData:a}=t;try{const[o,i,c,d,u,f,p]=await s.getAction(e,s.readContract,"readContract")({abi:Jt,address:r,functionName:"eip712Domain",factory:n,factoryData:a});return{domain:{name:i,version:c,chainId:Number(d),verifyingContract:u,salt:f},extensions:p,fields:o}}catch(o){const i=o;throw i.name==="ContractFunctionExecutionError"&&i.cause.name==="ContractFunctionZeroDataError"?new Vt({address:r}):i}}const Jt=[{inputs:[],name:"eip712Domain",outputs:[{name:"fields",type:"bytes1"},{name:"name",type:"string"},{name:"version",type:"string"},{name:"chainId",type:"uint256"},{name:"verifyingContract",type:"address"},{name:"salt",type:"bytes32"},{name:"extensions",type:"uint256[]"}],stateMutability:"view",type:"function"}];function Kt(e){var t;return{baseFeePerGas:e.baseFeePerGas.map(r=>BigInt(r)),gasUsedRatio:e.gasUsedRatio,oldestBlock:BigInt(e.oldestBlock),reward:(t=e.reward)==null?void 0:t.map(r=>r.map(n=>BigInt(n)))}}async function Qt(e,{blockCount:t,blockNumber:r,blockTag:n="latest",rewardPercentiles:a}){const o=typeof r=="bigint"?m.numberToHex(r):void 0,i=await e.request({method:"eth_feeHistory",params:[m.numberToHex(t),o||n,a]},{dedupe:!!o});return Kt(i)}async function Xt(e,{filter:t}){const r=t.strict??!1,a=(await t.request({method:"eth_getFilterLogs",params:[t.id]})).map(o=>m.formatLog(o));return t.abi?s.parseEventLogs({abi:t.abi,logs:a,strict:r}):a}class Yt extends m.BaseError{constructor({domain:t}){super(`Invalid domain "${s.stringify(t)}".`,{metaMessages:["Must be a valid EIP-712 domain."]})}}class er extends m.BaseError{constructor({primaryType:t,types:r}){super(`Invalid primary type \`${t}\` must be one of \`${JSON.stringify(Object.keys(r))}\`.`,{docsPath:"/api/glossary/Errors#typeddatainvalidprimarytypeerror",metaMessages:["Check that the primary type is a key in `types`."]})}}class tr extends m.BaseError{constructor({type:t}){super(`Struct type "${t}" is invalid.`,{metaMessages:["Struct type must not be a Solidity type."],name:"InvalidStructTypeError"})}}function rr(e){const{domain:t={},message:r,primaryType:n}=e,a={EIP712Domain:He({domain:t}),...e.types};_e({domain:t,message:r,primaryType:n,types:a});const o=["0x1901"];return t&&o.push(nr({domain:t,types:a})),n!=="EIP712Domain"&&o.push(qe({data:r,primaryType:n,types:a})),m.keccak256(m.concat(o))}function nr({domain:e,types:t}){return qe({data:e,primaryType:"EIP712Domain",types:t})}function qe({data:e,primaryType:t,types:r}){const n=ze({data:e,primaryType:t,types:r});return m.keccak256(n)}function ze({data:e,primaryType:t,types:r}){const n=[{type:"bytes32"}],a=[sr({primaryType:t,types:r})];for(const o of r[t]){const[i,c]=$e({types:r,name:o.name,type:o.type,value:e[o.name]});n.push(i),a.push(c)}return s.encodeAbiParameters(n,a)}function sr({primaryType:e,types:t}){const r=m.toHex(ar({primaryType:e,types:t}));return m.keccak256(r)}function ar({primaryType:e,types:t}){let r="";const n=De({primaryType:e,types:t});n.delete(e);const a=[e,...Array.from(n).sort()];for(const o of a)r+=`${o}(${t[o].map(({name:i,type:c})=>`${c} ${i}`).join(",")})`;return r}function De({primaryType:e,types:t},r=new Set){const n=e.match(/^\w*/u),a=n==null?void 0:n[0];if(r.has(a)||t[a]===void 0)return r;r.add(a);for(const o of t[a])De({primaryType:o.type,types:t},r);return r}function $e({types:e,name:t,type:r,value:n}){if(e[r]!==void 0)return[{type:"bytes32"},m.keccak256(ze({data:n,primaryType:r,types:e}))];if(r==="bytes")return n=`0x${(n.length%2?"0":"")+n.slice(2)}`,[{type:"bytes32"},m.keccak256(n)];if(r==="string")return[{type:"bytes32"},m.keccak256(m.toHex(n))];if(r.lastIndexOf("]")===r.length-1){const a=r.slice(0,r.lastIndexOf("[")),o=n.map(i=>$e({name:t,type:a,types:e,value:i}));return[{type:"bytes32"},m.keccak256(s.encodeAbiParameters(o.map(([i])=>i),o.map(([,i])=>i)))]}return[{type:r},n]}function or(e){const{domain:t,message:r,primaryType:n,types:a}=e,o=(d,u)=>{const f={...u};for(const p of d){const{name:h,type:l}=p;l==="address"&&(f[h]=f[h].toLowerCase())}return f},i=a.EIP712Domain?t?o(a.EIP712Domain,t):{}:{},c=(()=>{if(n!=="EIP712Domain")return o(a[n],r)})();return s.stringify({domain:i,message:c,primaryType:n,types:a})}function _e(e){const{domain:t,message:r,primaryType:n,types:a}=e,o=(i,c)=>{for(const d of i){const{name:u,type:f}=d,p=c[u],h=f.match(s.integerRegex);if(h&&(typeof p=="number"||typeof p=="bigint")){const[y,v,b]=h;m.numberToHex(p,{signed:v==="int",size:Number.parseInt(b)/8})}if(f==="address"&&typeof p=="string"&&!m.isAddress(p))throw new m.InvalidAddressError({address:p});const l=f.match(s.bytesRegex);if(l){const[y,v]=l;if(v&&m.size(p)!==Number.parseInt(v))throw new s.BytesSizeMismatchError({expectedSize:Number.parseInt(v),givenSize:m.size(p)})}const g=a[f];g&&(ir(f),o(g,p))}};if(a.EIP712Domain&&t){if(typeof t!="object")throw new Yt({domain:t});o(a.EIP712Domain,t)}if(n!=="EIP712Domain")if(a[n])o(a[n],r);else throw new er({primaryType:n,types:a})}function He({domain:e}){return[typeof(e==null?void 0:e.name)=="string"&&{name:"name",type:"string"},(e==null?void 0:e.version)&&{name:"version",type:"string"},(typeof(e==null?void 0:e.chainId)=="number"||typeof(e==null?void 0:e.chainId)=="bigint")&&{name:"chainId",type:"uint256"},(e==null?void 0:e.verifyingContract)&&{name:"verifyingContract",type:"address"},(e==null?void 0:e.salt)&&{name:"salt",type:"bytes32"}].filter(Boolean)}function ir(e){if(e==="address"||e==="bool"||e==="string"||e.startsWith("bytes")||e.startsWith("uint")||e.startsWith("int"))throw new tr({type:e})}const cr=`Ethereum Signed Message:
|
|
2
2
|
`;function ur(e){const t=typeof e=="string"?m.stringToHex(e):typeof e.raw=="string"?e.raw:m.bytesToHex(e.raw),r=m.stringToHex(`${cr}${m.size(t)}`);return m.concat([r,t])}function Oe(e,t){return m.keccak256(ur(e),t)}const Le="0x6492649264926492649264926492649264926492649264926492649264926492";function dr(e){return m.sliceHex(e,-32)===Le}function fr(e){const{address:t,data:r,signature:n,to:a="hex"}=e,o=m.concatHex([s.encodeAbiParameters([{type:"address"},{type:"bytes"},{type:"bytes"}],[t,r,n]),Le]);return a==="hex"?o:m.hexToBytes$1(o)}function lr(e){return e.map(t=>({...t,value:BigInt(t.value)}))}function pr(e){return{...e,balance:e.balance?BigInt(e.balance):void 0,nonce:e.nonce?m.hexToNumber(e.nonce):void 0,storageProof:e.storageProof?lr(e.storageProof):void 0}}async function hr(e,{address:t,blockNumber:r,blockTag:n,storageKeys:a}){const o=n??"latest",i=r!==void 0?m.numberToHex(r):void 0,c=await e.request({method:"eth_getProof",params:[t,a,i||o]});return pr(c)}async function mr(e,{address:t,blockNumber:r,blockTag:n="latest",slot:a}){const o=r!==void 0?m.numberToHex(r):void 0;return await e.request({method:"eth_getStorageAt",params:[t,a,o||n]})}async function ce(e,{blockHash:t,blockNumber:r,blockTag:n,hash:a,index:o}){var f,p,h;const i=n||"latest",c=r!==void 0?m.numberToHex(r):void 0;let d=null;if(a?d=await e.request({method:"eth_getTransactionByHash",params:[a]},{dedupe:!0}):t?d=await e.request({method:"eth_getTransactionByBlockHashAndIndex",params:[t,m.numberToHex(o)]},{dedupe:!0}):d=await e.request({method:"eth_getTransactionByBlockNumberAndIndex",params:[c||i,m.numberToHex(o)]},{dedupe:!!c}),!d)throw new m.TransactionNotFoundError({blockHash:t,blockNumber:r,blockTag:i,hash:a,index:o});return(((h=(p=(f=e.chain)==null?void 0:f.formatters)==null?void 0:p.transaction)==null?void 0:h.format)||m.formatTransaction)(d)}async function gr(e,{hash:t,transactionReceipt:r}){const[n,a]=await Promise.all([s.getAction(e,s.getBlockNumber,"getBlockNumber")({}),t?s.getAction(e,ce,"getTransaction")({hash:t}):void 0]),o=(r==null?void 0:r.blockNumber)||(a==null?void 0:a.blockNumber);return o?n-o+1n:0n}async function G(e,{hash:t}){var a,o,i;const r=await e.request({method:"eth_getTransactionReceipt",params:[t]},{dedupe:!0});if(!r)throw new m.TransactionReceiptNotFoundError({hash:t});return(((i=(o=(a=e.chain)==null?void 0:a.formatters)==null?void 0:o.transactionReceipt)==null?void 0:i.format)||m.formatTransactionReceipt)(r)}async function br(e,t){var b;const{account:r,allowFailure:n=!0,batchSize:a,blockNumber:o,blockTag:i,multicallAddress:c,stateOverride:d}=t,u=t.contracts,f=a??(typeof((b=e.batch)==null?void 0:b.multicall)=="object"&&e.batch.multicall.batchSize||1024);let p=c;if(!p){if(!e.chain)throw new Error("client chain not configured. multicallAddress is required.");p=s.getChainContractAddress({blockNumber:o,chain:e.chain,contract:"multicall3"})}const h=[[]];let l=0,g=0;for(let w=0;w<u.length;w++){const{abi:A,address:C,args:T,functionName:k}=u[w];try{const E=s.encodeFunctionData({abi:A,args:T,functionName:k});g+=(E.length-2)/2,f>0&&g>f&&h[l].length>0&&(l++,g=(E.length-2)/2,h[l]=[]),h[l]=[...h[l],{allowFailure:!0,callData:E,target:C}]}catch(E){const I=s.getContractError(E,{abi:A,address:C,args:T,docsPath:"/docs/contract/multicall",functionName:k,sender:r});if(!n)throw I;h[l]=[...h[l],{allowFailure:!0,callData:"0x",target:C}]}}const y=await Promise.allSettled(h.map(w=>s.getAction(e,s.readContract,"readContract")({abi:s.multicall3Abi,account:r,address:p,args:[w],blockNumber:o,blockTag:i,functionName:"aggregate3",stateOverride:d}))),v=[];for(let w=0;w<y.length;w++){const A=y[w];if(A.status==="rejected"){if(!n)throw A.reason;for(let T=0;T<h[w].length;T++)v.push({status:"failure",error:A.reason,result:void 0});continue}const C=A.value;for(let T=0;T<C.length;T++){const{returnData:k,success:E}=C[T],{callData:I}=h[w][T],{abi:N,address:S,functionName:R,args:B}=u[v.length];try{if(I==="0x")throw new s.AbiDecodingZeroDataError;if(!E)throw new s.RawContractError({data:k});const P=s.decodeFunctionResult({abi:N,args:B,data:k,functionName:R});v.push(n?{result:P,status:"success"}:P)}catch(P){const D=s.getContractError(P,{abi:N,address:S,args:B,docsPath:"/docs/contract/multicall",functionName:R});if(!n)throw D;v.push({error:D,result:void 0,status:"failure"})}}}if(v.length!==u.length)throw new m.BaseError("multicall results mismatch");return v}async function Y(e,t){const{blockNumber:r,blockTag:n=e.experimental_blockTag??"latest",blocks:a,returnFullTransactions:o,traceTransfers:i,validation:c}=t;try{const d=[];for(const h of a){const l=h.blockOverrides?s.toRpc(h.blockOverrides):void 0,g=h.calls.map(v=>{const b=v,w=b.account?s.parseAccount(b.account):void 0,A=b.abi?s.encodeFunctionData(b):b.data,C={...b,data:b.dataSuffix?m.concat([A||"0x",b.dataSuffix]):A,from:b.from??(w==null?void 0:w.address)};return s.assertRequest(C),s.formatTransactionRequest(C)}),y=h.stateOverrides?s.serializeStateOverride(h.stateOverrides):void 0;d.push({blockOverrides:l,calls:g,stateOverrides:y})}const f=(typeof r=="bigint"?m.numberToHex(r):void 0)||n;return(await e.request({method:"eth_simulateV1",params:[{blockStateCalls:d,returnFullTransactions:o,traceTransfers:i,validation:c},f]})).map((h,l)=>({...m.formatBlock(h),calls:h.calls.map((g,y)=>{var S,R;const{abi:v,args:b,functionName:w,to:A}=a[l].calls[y],C=((S=g.error)==null?void 0:S.data)??g.returnData,T=BigInt(g.gasUsed),k=(R=g.logs)==null?void 0:R.map(B=>m.formatLog(B)),E=g.status==="0x1"?"success":"failure",I=v&&E==="success"&&C!=="0x"?s.decodeFunctionResult({abi:v,data:C,functionName:w}):null,N=(()=>{var P;if(E==="success")return;let B;if(((P=g.error)==null?void 0:P.data)==="0x"?B=new s.AbiDecodingZeroDataError:g.error&&(B=new s.RawContractError(g.error)),!!B)return s.getContractError(B,{abi:v??[],address:A??"0x",args:b,functionName:w??"<unknown>"})})();return{data:C,gasUsed:T,logs:k,status:E,...E==="success"?{result:I}:{error:N}}})}))}catch(d){const u=d,f=s.getNodeError(u,{});throw f instanceof m.UnknownNodeError?u:f}}function Ue(e,t={}){const{as:r=typeof e=="string"?"Hex":"Bytes"}=t,n=m.keccak_256(ct(e));return r==="Bytes"?n:s.fromBytes(n)}class yr extends Map{constructor(t){super(),Object.defineProperty(this,"maxSize",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.maxSize=t}get(t){const r=super.get(t);return super.has(t)&&r!==void 0&&(this.delete(t),super.set(t,r)),r}set(t,r){if(super.set(t,r),this.maxSize&&this.size>this.maxSize){const n=this.keys().next().value;n&&this.delete(n)}return this}}const wr={checksum:new yr(8192)},K=wr.checksum,vr=/^0x[a-fA-F0-9]{40}$/;function Z(e,t={}){const{strict:r=!0}=t;if(!vr.test(e))throw new we({address:e,cause:new Er});if(r){if(e.toLowerCase()===e)return;if(Ar(e)!==e)throw new we({address:e,cause:new Tr})}}function Ar(e){if(K.has(e))return K.get(e);Z(e,{strict:!1});const t=e.substring(2).toLowerCase(),r=Ue(ft(t),{as:"Bytes"}),n=t.split("");for(let o=0;o<40;o+=2)r[o>>1]>>4>=8&&n[o]&&(n[o]=n[o].toUpperCase()),(r[o>>1]&15)>=8&&n[o+1]&&(n[o+1]=n[o+1].toUpperCase());const a=`0x${n.join("")}`;return K.set(e,a),a}function ee(e,t={}){const{strict:r=!0}=t??{};try{return Z(e,{strict:r}),!0}catch{return!1}}class we extends s.BaseError{constructor({address:t,cause:r}){super(`Address "${t}" is invalid.`,{cause:r}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Address.InvalidAddressError"})}}class Er extends s.BaseError{constructor(){super("Address is not a 20 byte (40 hexadecimal character) value."),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Address.InvalidInputError"})}}class Tr extends s.BaseError{constructor(){super("Address does not match its checksum counterpart."),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Address.InvalidChecksumError"})}}function te(e){let t=!0,r="",n=0,a="",o=!1;for(let i=0;i<e.length;i++){const c=e[i];if(["(",")",","].includes(c)&&(t=!0),c==="("&&n++,c===")"&&n--,!!t){if(n===0){if(c===" "&&["event","function","error",""].includes(a))a="";else if(a+=c,c===")"){o=!0;break}continue}if(c===" "){e[i-1]!==","&&r!==","&&r!==",("&&(r="",t=!1);continue}a+=c,r+=c}}if(!o)throw new s.BaseError("Unable to normalize signature.");return a}function re(e,t){const r=typeof e,n=t.type;switch(n){case"address":return ee(e,{strict:!1});case"bool":return r==="boolean";case"function":return r==="string";case"string":return r==="string";default:return n==="tuple"&&"components"in t?Object.values(t.components).every((a,o)=>re(Object.values(e)[o],a)):/^u?int(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/.test(n)?r==="number"||r==="bigint":/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/.test(n)?r==="string"||e instanceof Uint8Array:/[a-z]+[1-9]{0,3}(\[[0-9]{0,}\])+$/.test(n)?Array.isArray(e)&&e.every(a=>re(a,{...t,type:n.replace(/(\[[0-9]{0,}\])$/,"")})):!1}}function Me(e,t,r){for(const n in e){const a=e[n],o=t[n];if(a.type==="tuple"&&o.type==="tuple"&&"components"in a&&"components"in o)return Me(a.components,o.components,r[n]);const i=[a.type,o.type];if(i.includes("address")&&i.includes("bytes20")?!0:i.includes("address")&&i.includes("string")?ee(r[n],{strict:!1}):i.includes("address")&&i.includes("bytes")?ee(r[n],{strict:!1}):!1)return i}}function je(e,t={}){const{prepare:r=!0}=t,n=Array.isArray(e)||typeof e=="string"?pe(e):e;return{...n,...r?{hash:_(n)}:{}}}function xr(e,t,r){const{args:n=[],prepare:a=!0}=r??{},o=s.validate(t,{strict:!1}),i=e.filter(u=>o?u.type==="function"||u.type==="error"?We(u)===s.slice(t,0,4):u.type==="event"?_(u)===t:!1:"name"in u&&u.name===t);if(i.length===0)throw new ne({name:t});if(i.length===1)return{...i[0],...a?{hash:_(i[0])}:{}};let c;for(const u of i){if(!("inputs"in u))continue;if(!n||n.length===0){if(!u.inputs||u.inputs.length===0)return{...u,...a?{hash:_(u)}:{}};continue}if(!u.inputs||u.inputs.length===0||u.inputs.length!==n.length)continue;if(n.every((p,h)=>{const l="inputs"in u&&u.inputs[h];return l?re(p,l):!1})){if(c&&"inputs"in c&&c.inputs){const p=Me(u.inputs,c.inputs,n);if(p)throw new Rr({abiItem:u,type:p[0]},{abiItem:c,type:p[1]})}c=u}}const d=(()=>{if(c)return c;const[u,...f]=i;return{...u,overloads:f}})();if(!d)throw new ne({name:t});return{...d,...a?{hash:_(d)}:{}}}function We(e){return s.slice(_(e),0,4)}function Cr(e){const t=typeof e=="string"?e:s.formatAbiItem$1(e);return te(t)}function _(e){return typeof e!="string"&&"hash"in e&&e.hash?e.hash:Ue(s.fromString(Cr(e)))}class Rr extends s.BaseError{constructor(t,r){super("Found ambiguous types in overloaded ABI Items.",{metaMessages:[`\`${t.type}\` in \`${te(s.formatAbiItem$1(t.abiItem))}\`, and`,`\`${r.type}\` in \`${te(s.formatAbiItem$1(r.abiItem))}\``,"","These types encode differently and cannot be distinguished at runtime.","Remove one of the ambiguous items in the ABI."]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiItem.AmbiguityError"})}}class ne extends s.BaseError{constructor({name:t,data:r,type:n="item"}){const a=t?` with name "${t}"`:r?` with data "${r}"`:"";super(`ABI ${n}${a} not found.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiItem.NotFoundError"})}}const kr=/^(.*)\[([0-9]*)\]$/,Ir=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,Ge=/^(u?int)(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/;function Nr({checksumAddress:e,parameters:t,values:r}){const n=[];for(let a=0;a<t.length;a++)n.push(ue({checksumAddress:e,parameter:t[a],value:r[a]}));return n}function ue({checksumAddress:e=!1,parameter:t,value:r}){const n=t,a=$r(n.type);if(a){const[o,i]=a;return Pr(r,{checksumAddress:e,length:o,parameter:{...n,type:i}})}if(n.type==="tuple")return Dr(r,{checksumAddress:e,parameter:n});if(n.type==="address")return Br(r,{checksum:e});if(n.type==="bool")return Fr(r);if(n.type.startsWith("uint")||n.type.startsWith("int")){const o=n.type.startsWith("int"),[,,i="256"]=Ge.exec(n.type)??[];return qr(r,{signed:o,size:Number(i)})}if(n.type.startsWith("bytes"))return Sr(r,{type:n.type});if(n.type==="string")return zr(r);throw new Ke(n.type)}function de(e){let t=0;for(let o=0;o<e.length;o++){const{dynamic:i,encoded:c}=e[o];i?t+=32:t+=s.size(c)}const r=[],n=[];let a=0;for(let o=0;o<e.length;o++){const{dynamic:i,encoded:c}=e[o];i?(r.push(s.fromNumber(t+a,{size:32})),n.push(c),a+=s.size(c)):r.push(c)}return s.concat(...r,...n)}function Br(e,t){const{checksum:r=!1}=t;return Z(e,{strict:r}),{dynamic:!1,encoded:s.padLeft(e.toLowerCase())}}function Pr(e,t){const{checksumAddress:r,length:n,parameter:a}=t,o=n===null;if(!Array.isArray(e))throw new Hr(e);if(!o&&e.length!==n)throw new _r({expectedLength:n,givenLength:e.length,type:`${a.type}[${n}]`});let i=!1;const c=[];for(let d=0;d<e.length;d++){const u=ue({checksumAddress:r,parameter:a,value:e[d]});u.dynamic&&(i=!0),c.push(u)}if(o||i){const d=de(c);if(o){const u=s.fromNumber(c.length,{size:32});return{dynamic:!0,encoded:c.length>0?s.concat(u,d):u}}if(i)return{dynamic:!0,encoded:d}}return{dynamic:!1,encoded:s.concat(...c.map(({encoded:d})=>d))}}function Sr(e,{type:t}){const[,r]=t.split("bytes"),n=s.size(e);if(!r){let a=e;return n%32!==0&&(a=s.padRight(a,Math.ceil((e.length-2)/2/32)*32)),{dynamic:!0,encoded:s.concat(s.padLeft(s.fromNumber(n,{size:32})),a)}}if(n!==Number.parseInt(r))throw new Ze({expectedSize:Number.parseInt(r),value:e});return{dynamic:!1,encoded:s.padRight(e)}}function Fr(e){if(typeof e!="boolean")throw new s.BaseError(`Invalid boolean value: "${e}" (type: ${typeof e}). Expected: \`true\` or \`false\`.`);return{dynamic:!1,encoded:s.padLeft(s.fromBoolean(e))}}function qr(e,{signed:t,size:r}){if(typeof r=="number"){const n=2n**(BigInt(r)-(t?1n:0n))-1n,a=t?-n-1n:0n;if(e>n||e<a)throw new s.IntegerOutOfRangeError({max:n.toString(),min:a.toString(),signed:t,size:r/8,value:e.toString()})}return{dynamic:!1,encoded:s.fromNumber(e,{size:32,signed:t})}}function zr(e){const t=s.fromString(e),r=Math.ceil(s.size(t)/32),n=[];for(let a=0;a<r;a++)n.push(s.padRight(s.slice(t,a*32,(a+1)*32)));return{dynamic:!0,encoded:s.concat(s.padRight(s.fromNumber(s.size(t),{size:32})),...n)}}function Dr(e,t){const{checksumAddress:r,parameter:n}=t;let a=!1;const o=[];for(let i=0;i<n.components.length;i++){const c=n.components[i],d=Array.isArray(e)?i:c.name,u=ue({checksumAddress:r,parameter:c,value:e[d]});o.push(u),u.dynamic&&(a=!0)}return{dynamic:a,encoded:a?de(o):s.concat(...o.map(({encoded:i})=>i))}}function $r(e){const t=e.match(/^(.*)\[(\d+)?\]$/);return t?[t[2]?Number(t[2]):null,t[1]]:void 0}function Ve(e,t,r){const{checksumAddress:n=!1}={};if(e.length!==t.length)throw new Je({expectedLength:e.length,givenLength:t.length});const a=Nr({checksumAddress:n,parameters:e,values:t}),o=de(a);return o.length===0?"0x":o}function se(e,t){if(e.length!==t.length)throw new Je({expectedLength:e.length,givenLength:t.length});const r=[];for(let n=0;n<e.length;n++){const a=e[n],o=t[n];r.push(se.encode(a,o))}return s.concat(...r)}(function(e){function t(r,n,a=!1){if(r==="address"){const d=n;return Z(d),s.padLeft(d.toLowerCase(),a?32:0)}if(r==="string")return s.fromString(n);if(r==="bytes")return n;if(r==="bool")return s.padLeft(s.fromBoolean(n),a?32:1);const o=r.match(Ge);if(o){const[d,u,f="256"]=o,p=Number.parseInt(f)/8;return s.fromNumber(n,{size:a?32:p,signed:u==="int"})}const i=r.match(Ir);if(i){const[d,u]=i;if(Number.parseInt(u)!==(n.length-2)/2)throw new Ze({expectedSize:Number.parseInt(u),value:n});return s.padRight(n,a?32:0)}const c=r.match(kr);if(c&&Array.isArray(n)){const[d,u]=c,f=[];for(let p=0;p<n.length;p++)f.push(t(u,n[p],!0));return f.length===0?"0x":s.concat(...f)}throw new Ke(r)}e.encode=t})(se||(se={}));class _r extends s.BaseError{constructor({expectedLength:t,givenLength:r,type:n}){super(`Array length mismatch for type \`${n}\`. Expected: \`${t}\`. Given: \`${r}\`.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.ArrayLengthMismatchError"})}}class Ze extends s.BaseError{constructor({expectedSize:t,value:r}){super(`Size of bytes "${r}" (bytes${s.size(r)}) does not match expected size (bytes${t}).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.BytesSizeMismatchError"})}}class Je extends s.BaseError{constructor({expectedLength:t,givenLength:r}){super(["ABI encoding parameters/values length mismatch.",`Expected length (parameters): ${t}`,`Given length (values): ${r}`].join(`
|
|
3
3
|
`)),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.LengthMismatchError"})}}class Hr extends s.BaseError{constructor(t){super(`Value \`${t}\` is not a valid array.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.InvalidArrayError"})}}class Ke extends s.BaseError{constructor(t){super(`Type \`${t}\` is not a valid ABI Type.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.InvalidTypeError"})}}function Or(e,t){var a;const{bytecode:r,args:n}=t;return s.concat(r,(a=e.inputs)!=null&&a.length&&(n!=null&&n.length)?Ve(e.inputs,n):"0x")}function Lr(e){return je(e)}function Ur(e,...t){const{overloads:r}=e,n=r?Mr([e,...r],e.name,{args:t[0]}):e,a=jr(n),o=t.length>0?Ve(n.inputs,t[0]):void 0;return o?s.concat(a,o):a}function $(e,t={}){return je(e,t)}function Mr(e,t,r){const n=xr(e,t,r);if(n.type!=="function")throw new ne({name:t,type:"function"});return n}function jr(e){return We(e)}const Wr="0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee",q="0x0000000000000000000000000000000000000000",Gr="0x6080604052348015600e575f80fd5b5061016d8061001c5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c8063f8b2cb4f1461002d575b5f80fd5b610047600480360381019061004291906100db565b61005d565b604051610054919061011e565b60405180910390f35b5f8173ffffffffffffffffffffffffffffffffffffffff16319050919050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6100aa82610081565b9050919050565b6100ba816100a0565b81146100c4575f80fd5b50565b5f813590506100d5816100b1565b92915050565b5f602082840312156100f0576100ef61007d565b5b5f6100fd848285016100c7565b91505092915050565b5f819050919050565b61011881610106565b82525050565b5f6020820190506101315f83018461010f565b9291505056fea26469706673582212203b9fe929fe995c7cf9887f0bdba8a36dd78e8b73f149b17d2d9ad7cd09d2dc6264736f6c634300081a0033";async function Vr(e,t){const{blockNumber:r,blockTag:n,calls:a,stateOverrides:o,traceAssetChanges:i,traceTransfers:c,validation:d}=t,u=t.account?s.parseAccount(t.account):void 0;if(i&&!u)throw new m.BaseError("`account` is required when `traceAssetChanges` is true");const f=u?Or(Lr("constructor(bytes, bytes)"),{bytecode:s.deploylessCallViaBytecodeBytecode,args:[Gr,Ur($("function getBalance(address)"),[u.address])]}):void 0,p=i?await Promise.all(t.calls.map(async x=>{if(!x.data&&!x.abi)return;const{accessList:F}=await Pe(e,{account:u.address,...x,data:x.abi?s.encodeFunctionData(x):x.data});return F.map(({address:H,storageKeys:L})=>L.length>0?H:null)})).then(x=>x.flat().filter(Boolean)):[],h=await Y(e,{blockNumber:r,blockTag:n,blocks:[...i?[{calls:[{data:f}],stateOverrides:o},{calls:p.map((x,F)=>({abi:[$("function balanceOf(address) returns (uint256)")],functionName:"balanceOf",args:[u.address],to:x,from:q,nonce:F})),stateOverrides:[{address:q,nonce:0}]}]:[],{calls:[...a,{}].map(x=>({...x,from:u==null?void 0:u.address})),stateOverrides:o},...i?[{calls:[{data:f}]},{calls:p.map((x,F)=>({abi:[$("function balanceOf(address) returns (uint256)")],functionName:"balanceOf",args:[u.address],to:x,from:q,nonce:F})),stateOverrides:[{address:q,nonce:0}]},{calls:p.map((x,F)=>({to:x,abi:[$("function decimals() returns (uint256)")],functionName:"decimals",from:q,nonce:F})),stateOverrides:[{address:q,nonce:0}]},{calls:p.map((x,F)=>({to:x,abi:[$("function tokenURI(uint256) returns (string)")],functionName:"tokenURI",args:[0n],from:q,nonce:F})),stateOverrides:[{address:q,nonce:0}]},{calls:p.map((x,F)=>({to:x,abi:[$("function symbol() returns (string)")],functionName:"symbol",from:q,nonce:F})),stateOverrides:[{address:q,nonce:0}]}]:[]],traceTransfers:c,validation:d}),l=i?h[2]:h[0],[g,y,,v,b,w,A,C]=i?h:[],{calls:T,...k}=l,E=T.slice(0,-1)??[],I=(g==null?void 0:g.calls)??[],N=(y==null?void 0:y.calls)??[],S=[...I,...N].map(x=>x.status==="success"?m.hexToBigInt(x.data):null),R=(v==null?void 0:v.calls)??[],B=(b==null?void 0:b.calls)??[],P=[...R,...B].map(x=>x.status==="success"?m.hexToBigInt(x.data):null),D=((w==null?void 0:w.calls)??[]).map(x=>x.status==="success"?x.result:null),Ye=((C==null?void 0:C.calls)??[]).map(x=>x.status==="success"?x.result:null),et=((A==null?void 0:A.calls)??[]).map(x=>x.status==="success"?x.result:null),J=[];for(const[x,F]of P.entries()){const H=S[x];if(typeof F!="bigint"||typeof H!="bigint")continue;const L=D[x-1],tt=Ye[x-1],rt=et[x-1],le=x===0?{address:Wr,decimals:18,symbol:"ETH"}:{address:p[x-1],decimals:rt||L?Number(L??1):void 0,symbol:tt??void 0};J.some(nt=>nt.token.address===le.address)||J.push({token:le,value:{pre:H,post:F,diff:F-H}})}return{assetChanges:J,block:k,results:E}}function Zr({r:e,s:t,to:r="hex",v:n,yParity:a}){const o=(()=>{if(a===0||a===1)return a;if(n&&(n===27n||n===28n||n>=35n))return n%2n===0n?1:0;throw new Error("Invalid `v` or `yParity` value")})(),i=`0x${new st.secp256k1.Signature(m.hexToBigInt(e),m.hexToBigInt(t)).toCompactHex()}${o===0?"1b":"1c"}`;return r==="hex"?i:m.hexToBytes$1(i)}async function fe(e,t){var p,h,l;const{address:r,factory:n,factoryData:a,hash:o,signature:i,universalSignatureVerifierAddress:c=(l=(h=(p=e.chain)==null?void 0:p.contracts)==null?void 0:h.universalSignatureVerifier)==null?void 0:l.address,...d}=t,u=m.isHex(i)?i:typeof i=="object"&&"r"in i&&"s"in i?Zr(i):m.bytesToHex(i),f=await(async()=>!n&&!a||dr(u)?u:fr({address:n,data:a,signature:u}))();try{const g=c?{to:c,data:s.encodeFunctionData({abi:s.universalSignatureValidatorAbi,functionName:"isValidSig",args:[r,o,f]}),...d}:{data:s.encodeDeployData({abi:s.universalSignatureValidatorAbi,args:[r,o,f],bytecode:s.universalSignatureValidatorByteCode}),...d},{data:y}=await s.getAction(e,s.call,"call")(g);return m.hexToBool(y??"0x0")}catch(g){try{if(s.isAddressEqual(m.getAddress(r),await s.recoverAddress({hash:o,signature:i})))return!0}catch{}if(g instanceof s.CallExecutionError)return!1;throw g}}async function Jr(e,{address:t,message:r,factory:n,factoryData:a,signature:o,...i}){const c=Oe(r);return fe(e,{address:t,factory:n,factoryData:a,hash:c,signature:o,...i})}async function Kr(e,t){const{address:r,factory:n,factoryData:a,signature:o,message:i,primaryType:c,types:d,domain:u,...f}=t,p=rr({message:i,primaryType:c,types:d,domain:u});return fe(e,{address:r,factory:n,factoryData:a,hash:p,signature:o,...f})}function Qe(e,{emitOnBegin:t=!1,emitMissed:r=!1,onBlockNumber:n,onError:a,poll:o,pollingInterval:i=e.pollingInterval}){const c=typeof o<"u"?o:!(e.transport.type==="webSocket"||e.transport.type==="ipc"||e.transport.type==="fallback"&&(e.transport.transports[0].config.type==="webSocket"||e.transport.transports[0].config.type==="ipc"));let d;return c?(()=>{const p=s.stringify(["watchBlockNumber",e.uid,t,r,i]);return s.observe(p,{onBlockNumber:n,onError:a},h=>s.poll(async()=>{var l;try{const g=await s.getAction(e,s.getBlockNumber,"getBlockNumber")({cacheTime:0});if(d){if(g===d)return;if(g-d>1&&r)for(let y=d+1n;y<g;y++)h.onBlockNumber(y,d),d=y}(!d||g>d)&&(h.onBlockNumber(g,d),d=g)}catch(g){(l=h.onError)==null||l.call(h,g)}},{emitOnBegin:t,interval:i}))})():(()=>{const p=s.stringify(["watchBlockNumber",e.uid,t,r]);return s.observe(p,{onBlockNumber:n,onError:a},h=>{let l=!0,g=()=>l=!1;return(async()=>{try{const y=(()=>{if(e.transport.type==="fallback"){const b=e.transport.transports.find(w=>w.config.type==="webSocket"||w.config.type==="ipc");return b?b.value:e.transport}return e.transport})(),{unsubscribe:v}=await y.subscribe({params:["newHeads"],onData(b){var A;if(!l)return;const w=m.hexToBigInt((A=b.result)==null?void 0:A.number);h.onBlockNumber(w,d),d=w},onError(b){var w;(w=h.onError)==null||w.call(h,b)}});g=v,l||g()}catch(y){a==null||a(y)}})(),()=>g()})})()}async function Qr(e,t){const{checkReplacement:r=!0,confirmations:n=1,hash:a,onReplaced:o,retryCount:i=6,retryDelay:c=({count:T})=>~~(1<<T)*200,timeout:d=18e4}=t,u=s.stringify(["waitForTransactionReceipt",e.uid,a]),f=(()=>{var T;return t.pollingInterval?t.pollingInterval:(T=e.chain)!=null&&T.experimental_preconfirmationTime?e.chain.experimental_preconfirmationTime:e.pollingInterval})();let p,h,l,g=!1,y,v;const{promise:b,resolve:w,reject:A}=s.withResolvers(),C=d?setTimeout(()=>{v(),y(),A(new m.WaitForTransactionReceiptTimeoutError({hash:a}))},d):void 0;return y=s.observe(u,{onReplaced:o,resolve:w,reject:A},async T=>{if(l=await s.getAction(e,G,"getTransactionReceipt")({hash:a}).catch(()=>{}),l&&n<=1){clearTimeout(C),T.resolve(l),y();return}v=s.getAction(e,Qe,"watchBlockNumber")({emitMissed:!0,emitOnBegin:!0,poll:!0,pollingInterval:f,async onBlockNumber(k){const E=N=>{clearTimeout(C),v(),N(),y()};let I=k;if(!g)try{if(l){if(n>1&&(!l.blockNumber||I-l.blockNumber+1n<n))return;E(()=>T.resolve(l));return}if(r&&!p&&(g=!0,await X(async()=>{p=await s.getAction(e,ce,"getTransaction")({hash:a}),p.blockNumber&&(I=p.blockNumber)},{delay:c,retryCount:i}),g=!1),l=await s.getAction(e,G,"getTransactionReceipt")({hash:a}),n>1&&(!l.blockNumber||I-l.blockNumber+1n<n))return;E(()=>T.resolve(l))}catch(N){if(N instanceof m.TransactionNotFoundError||N instanceof m.TransactionReceiptNotFoundError){if(!p){g=!1;return}try{h=p,g=!0;const S=await X(()=>s.getAction(e,s.getBlock,"getBlock")({blockNumber:I,includeTransactions:!0}),{delay:c,retryCount:i,shouldRetry:({error:P})=>P instanceof s.BlockNotFoundError});g=!1;const R=S.transactions.find(({from:P,nonce:D})=>P===h.from&&D===h.nonce);if(!R||(l=await s.getAction(e,G,"getTransactionReceipt")({hash:R.hash}),n>1&&(!l.blockNumber||I-l.blockNumber+1n<n)))return;let B="replaced";R.to===h.to&&R.value===h.value&&R.input===h.input?B="repriced":R.from===R.to&&R.value===0n&&(B="cancelled"),E(()=>{var P;(P=T.onReplaced)==null||P.call(T,{reason:B,replacedTransaction:h,transaction:R,transactionReceipt:l}),T.resolve(l)})}catch(S){E(()=>T.reject(S))}}else E(()=>T.reject(N))}}})}),b}function Xr(e,{blockTag:t=e.experimental_blockTag??"latest",emitMissed:r=!1,emitOnBegin:n=!1,onBlock:a,onError:o,includeTransactions:i,poll:c,pollingInterval:d=e.pollingInterval}){const u=typeof c<"u"?c:!(e.transport.type==="webSocket"||e.transport.type==="ipc"||e.transport.type==="fallback"&&(e.transport.transports[0].config.type==="webSocket"||e.transport.transports[0].config.type==="ipc")),f=i??!1;let p;return u?(()=>{const g=s.stringify(["watchBlocks",e.uid,t,r,n,f,d]);return s.observe(g,{onBlock:a,onError:o},y=>s.poll(async()=>{var v;try{const b=await s.getAction(e,s.getBlock,"getBlock")({blockTag:t,includeTransactions:f});if(b.number!==null&&(p==null?void 0:p.number)!=null){if(b.number===p.number)return;if(b.number-p.number>1&&r)for(let w=(p==null?void 0:p.number)+1n;w<b.number;w++){const A=await s.getAction(e,s.getBlock,"getBlock")({blockNumber:w,includeTransactions:f});y.onBlock(A,p),p=A}}((p==null?void 0:p.number)==null||t==="pending"&&(b==null?void 0:b.number)==null||b.number!==null&&b.number>p.number)&&(y.onBlock(b,p),p=b)}catch(b){(v=y.onError)==null||v.call(y,b)}},{emitOnBegin:n,interval:d}))})():(()=>{let g=!0,y=!0,v=()=>g=!1;return(async()=>{try{n&&s.getAction(e,s.getBlock,"getBlock")({blockTag:t,includeTransactions:f}).then(A=>{g&&y&&(a(A,void 0),y=!1)}).catch(o);const b=(()=>{if(e.transport.type==="fallback"){const A=e.transport.transports.find(C=>C.config.type==="webSocket"||C.config.type==="ipc");return A?A.value:e.transport}return e.transport})(),{unsubscribe:w}=await b.subscribe({params:["newHeads"],async onData(A){var T;if(!g)return;const C=await s.getAction(e,s.getBlock,"getBlock")({blockNumber:(T=A.result)==null?void 0:T.number,includeTransactions:f}).catch(()=>{});g&&(a(C,p),y=!1,p=C)},onError(A){o==null||o(A)}});v=w,g||v()}catch(b){o==null||o(b)}})(),()=>v()})()}function Yr(e,{address:t,args:r,batch:n=!0,event:a,events:o,fromBlock:i,onError:c,onLogs:d,poll:u,pollingInterval:f=e.pollingInterval,strict:p}){const h=typeof u<"u"?u:typeof i=="bigint"?!0:!(e.transport.type==="webSocket"||e.transport.type==="ipc"||e.transport.type==="fallback"&&(e.transport.transports[0].config.type==="webSocket"||e.transport.transports[0].config.type==="ipc")),l=p??!1;return h?(()=>{const v=s.stringify(["watchEvent",t,r,n,e.uid,a,f,i]);return s.observe(v,{onLogs:d,onError:c},b=>{let w;i!==void 0&&(w=i-1n);let A,C=!1;const T=s.poll(async()=>{var k;if(!C){try{A=await s.getAction(e,Se,"createEventFilter")({address:t,args:r,event:a,events:o,strict:l,fromBlock:i})}catch{}C=!0;return}try{let E;if(A)E=await s.getAction(e,s.getFilterChanges,"getFilterChanges")({filter:A});else{const I=await s.getAction(e,s.getBlockNumber,"getBlockNumber")({});w&&w!==I?E=await s.getAction(e,s.getLogs,"getLogs")({address:t,args:r,event:a,events:o,fromBlock:w+1n,toBlock:I}):E=[],w=I}if(E.length===0)return;if(n)b.onLogs(E);else for(const I of E)b.onLogs([I])}catch(E){A&&E instanceof s.InvalidInputRpcError&&(C=!1),(k=b.onError)==null||k.call(b,E)}},{emitOnBegin:!0,interval:f});return async()=>{A&&await s.getAction(e,s.uninstallFilter,"uninstallFilter")({filter:A}),T()}})})():(()=>{let v=!0,b=()=>v=!1;return(async()=>{try{const w=(()=>{if(e.transport.type==="fallback"){const k=e.transport.transports.find(E=>E.config.type==="webSocket"||E.config.type==="ipc");return k?k.value:e.transport}return e.transport})(),A=o??(a?[a]:void 0);let C=[];A&&(C=[A.flatMap(E=>s.encodeEventTopics({abi:[E],eventName:E.name,args:r}))],a&&(C=C[0]));const{unsubscribe:T}=await w.subscribe({params:["logs",{address:t,topics:C}],onData(k){var I;if(!v)return;const E=k.result;try{const{eventName:N,args:S}=s.decodeEventLog({abi:A??[],data:E.data,topics:E.topics,strict:l}),R=m.formatLog(E,{args:S,eventName:N});d([R])}catch(N){let S,R;if(N instanceof s.DecodeLogDataMismatch||N instanceof s.DecodeLogTopicsMismatch){if(p)return;S=N.abiItem.name,R=(I=N.abiItem.inputs)==null?void 0:I.some(P=>!("name"in P&&P.name))}const B=m.formatLog(E,{args:R?[]:{},eventName:S});d([B])}},onError(k){c==null||c(k)}});b=T,v||b()}catch(w){c==null||c(w)}})(),()=>b()})()}function en(e,{batch:t=!0,onError:r,onTransactions:n,poll:a,pollingInterval:o=e.pollingInterval}){return(typeof a<"u"?a:e.transport.type!=="webSocket"&&e.transport.type!=="ipc")?(()=>{const u=s.stringify(["watchPendingTransactions",e.uid,t,o]);return s.observe(u,{onTransactions:n,onError:r},f=>{let p;const h=s.poll(async()=>{var l;try{if(!p)try{p=await s.getAction(e,Fe,"createPendingTransactionFilter")({});return}catch(y){throw h(),y}const g=await s.getAction(e,s.getFilterChanges,"getFilterChanges")({filter:p});if(g.length===0)return;if(t)f.onTransactions(g);else for(const y of g)f.onTransactions([y])}catch(g){(l=f.onError)==null||l.call(f,g)}},{emitOnBegin:!0,interval:o});return async()=>{p&&await s.getAction(e,s.uninstallFilter,"uninstallFilter")({filter:p}),h()}})})():(()=>{let u=!0,f=()=>u=!1;return(async()=>{try{const{unsubscribe:p}=await e.transport.subscribe({params:["newPendingTransactions"],onData(h){if(!u)return;const l=h.result;n([l])},onError(h){r==null||r(h)}});f=p,u||f()}catch(p){r==null||r(p)}})(),()=>f()})()}function tn(e){var p,h,l;const{scheme:t,statement:r,...n}=((p=e.match(rn))==null?void 0:p.groups)??{},{chainId:a,expirationTime:o,issuedAt:i,notBefore:c,requestId:d,...u}=((h=e.match(nn))==null?void 0:h.groups)??{},f=(l=e.split("Resources:")[1])==null?void 0:l.split(`
|
|
4
4
|
- `).slice(1);return{...n,...u,...a?{chainId:Number(a)}:{},...o?{expirationTime:new Date(o)}:{},...i?{issuedAt:new Date(i)}:{},...c?{notBefore:new Date(c)}:{},...d?{requestId:d}:{},...f?{resources:f}:{},...t?{scheme:t}:{},...r?{statement:r}:{}}}const rn=/^(?:(?<scheme>[a-zA-Z][a-zA-Z0-9+-.]*):\/\/)?(?<domain>[a-zA-Z0-9+-.]*(?::[0-9]{1,5})?) (?:wants you to sign in with your Ethereum account:\n)(?<address>0x[a-fA-F0-9]{40})\n\n(?:(?<statement>.*)\n\n)?/,nn=/(?:URI: (?<uri>.+))\n(?:Version: (?<version>.+))\n(?:Chain ID: (?<chainId>\d+))\n(?:Nonce: (?<nonce>[a-zA-Z0-9]+))\n(?:Issued At: (?<issuedAt>.+))(?:\nExpiration Time: (?<expirationTime>.+))?(?:\nNot Before: (?<notBefore>.+))?(?:\nRequest ID: (?<requestId>.+))?/;function sn(e){const{address:t,domain:r,message:n,nonce:a,scheme:o,time:i=new Date}=e;if(r&&n.domain!==r||a&&n.nonce!==a||o&&n.scheme!==o||n.expirationTime&&i>=n.expirationTime||n.notBefore&&i<n.notBefore)return!1;try{if(!n.address||!m.isAddress(n.address,{strict:!1})||t&&!s.isAddressEqual(n.address,t))return!1}catch{return!1}return!0}async function an(e,t){const{address:r,domain:n,message:a,nonce:o,scheme:i,signature:c,time:d=new Date,...u}=t,f=tn(a);if(!f.address||!sn({address:r,domain:n,message:f,nonce:o,scheme:i,time:d}))return!1;const h=Oe(a);return fe(e,{address:f.address,hash:h,signature:c,...u})}function on(e){return{call:t=>s.call(e,t),createAccessList:t=>Pe(e,t),createBlockFilter:()=>jt(e),createContractEventFilter:t=>s.createContractEventFilter(e,t),createEventFilter:t=>Se(e,t),createPendingTransactionFilter:()=>Fe(e),estimateContractGas:t=>s.estimateContractGas(e,t),estimateGas:t=>s.estimateGas(e,t),getBalance:t=>s.getBalance(e,t),getBlobBaseFee:()=>Wt(e),getBlock:t=>s.getBlock(e,t),getBlockNumber:t=>s.getBlockNumber(e,t),getBlockTransactionCount:t=>Gt(e,t),getBytecode:t=>ye(e,t),getChainId:()=>s.getChainId(e),getCode:t=>ye(e,t),getContractEvents:t=>s.getContractEvents(e,t),getEip712Domain:t=>Zt(e,t),getEnsAddress:t=>It(e,t),getEnsAvatar:t=>Lt(e,t),getEnsName:t=>Ut(e,t),getEnsResolver:t=>Mt(e,t),getEnsText:t=>Be(e,t),getFeeHistory:t=>Qt(e,t),estimateFeesPerGas:t=>s.estimateFeesPerGas(e,t),getFilterChanges:t=>s.getFilterChanges(e,t),getFilterLogs:t=>Xt(e,t),getGasPrice:()=>s.getGasPrice(e),getLogs:t=>s.getLogs(e,t),getProof:t=>hr(e,t),estimateMaxPriorityFeePerGas:t=>s.estimateMaxPriorityFeePerGas(e,t),getStorageAt:t=>mr(e,t),getTransaction:t=>ce(e,t),getTransactionConfirmations:t=>gr(e,t),getTransactionCount:t=>s.getTransactionCount(e,t),getTransactionReceipt:t=>G(e,t),multicall:t=>br(e,t),prepareTransactionRequest:t=>s.prepareTransactionRequest(e,t),readContract:t=>s.readContract(e,t),sendRawTransaction:t=>s.sendRawTransaction(e,t),simulate:t=>Y(e,t),simulateBlocks:t=>Y(e,t),simulateCalls:t=>Vr(e,t),simulateContract:t=>s.simulateContract(e,t),verifyMessage:t=>Jr(e,t),verifySiweMessage:t=>an(e,t),verifyTypedData:t=>Kr(e,t),uninstallFilter:t=>s.uninstallFilter(e,t),waitForTransactionReceipt:t=>Qr(e,t),watchBlocks:t=>Xr(e,t),watchBlockNumber:t=>Qe(e,t),watchContractEvent:t=>s.watchContractEvent(e,t),watchEvent:t=>Yr(e,t),watchPendingTransactions:t=>en(e,t)}}function cn(e){const{key:t="public",name:r="Public Client"}=e;return Ce({...e,key:t,name:r,type:"publicClient"}).extend(on)}async function un(e,{chain:t}){const{id:r,name:n,nativeCurrency:a,rpcUrls:o,blockExplorers:i}=t;await e.request({method:"wallet_addEthereumChain",params:[{chainId:m.numberToHex(r),chainName:n,nativeCurrency:a,rpcUrls:o.default.http,blockExplorerUrls:i?Object.values(i).map(({url:c})=>c):void 0}]},{dedupe:!0,retryCount:0})}function dn(e,t){const{abi:r,args:n,bytecode:a,...o}=t,i=s.encodeDeployData({abi:r,args:n,bytecode:a});return s.sendTransaction(e,{...o,...o.authorizationList?{to:null}:{},data:i})}async function fn(e){var r;return((r=e.account)==null?void 0:r.type)==="local"?[e.account.address]:(await e.request({method:"eth_accounts"},{dedupe:!0})).map(n=>m.checksumAddress(n))}async function ln(e,t={}){const{account:r=e.account,chainId:n}=t,a=r?s.parseAccount(r):void 0,o=n?[a==null?void 0:a.address,[m.numberToHex(n)]]:[a==null?void 0:a.address],i=await e.request({method:"wallet_getCapabilities",params:o}),c={};for(const[d,u]of Object.entries(i)){c[Number(d)]={};for(let[f,p]of Object.entries(u))f==="addSubAccount"&&(f="unstable_addSubAccount"),c[Number(d)][f]=p}return typeof n=="number"?c[n]:c}async function pn(e){return await e.request({method:"wallet_getPermissions"},{dedupe:!0})}async function Xe(e,t){var d;const{account:r=e.account,chainId:n,nonce:a}=t;if(!r)throw new s.AccountNotFoundError({docsPath:"/docs/eip7702/prepareAuthorization"});const o=s.parseAccount(r),i=(()=>{if(t.executor)return t.executor==="self"?t.executor:s.parseAccount(t.executor)})(),c={address:t.contractAddress??t.address,chainId:n,nonce:a};return typeof c.chainId>"u"&&(c.chainId=((d=e.chain)==null?void 0:d.id)??await s.getAction(e,s.getChainId,"getChainId")({})),typeof c.nonce>"u"&&(c.nonce=await s.getAction(e,s.getTransactionCount,"getTransactionCount")({address:o.address,blockTag:"pending"}),(i==="self"||i!=null&&i.address&&s.isAddressEqual(i.address,o.address))&&(c.nonce+=1)),c}async function hn(e){return(await e.request({method:"eth_requestAccounts"},{dedupe:!0,retryCount:0})).map(r=>m.getAddress(r))}async function mn(e,t){return e.request({method:"wallet_requestPermissions",params:[t]},{retryCount:0})}async function gn(e,t){const{id:r}=t;await e.request({method:"wallet_showCallsStatus",params:[r]})}async function bn(e,t){const{account:r=e.account}=t;if(!r)throw new s.AccountNotFoundError({docsPath:"/docs/eip7702/signAuthorization"});const n=s.parseAccount(r);if(!n.signAuthorization)throw new s.AccountTypeNotSupportedError({docsPath:"/docs/eip7702/signAuthorization",metaMessages:["The `signAuthorization` Action does not support JSON-RPC Accounts."],type:n.type});const a=await Xe(e,t);return n.signAuthorization(a)}async function yn(e,{account:t=e.account,message:r}){if(!t)throw new s.AccountNotFoundError({docsPath:"/docs/actions/wallet/signMessage"});const n=s.parseAccount(t);if(n.signMessage)return n.signMessage({message:r});const a=typeof r=="string"?m.stringToHex(r):r.raw instanceof Uint8Array?m.toHex(r.raw):r.raw;return e.request({method:"personal_sign",params:[a,n.address]},{retryCount:0})}async function wn(e,t){var u,f,p,h;const{account:r=e.account,chain:n=e.chain,...a}=t;if(!r)throw new s.AccountNotFoundError({docsPath:"/docs/actions/wallet/signTransaction"});const o=s.parseAccount(r);s.assertRequest({account:o,...t});const i=await s.getAction(e,s.getChainId,"getChainId")({});n!==null&&s.assertCurrentChain({currentChainId:i,chain:n});const c=(n==null?void 0:n.formatters)||((u=e.chain)==null?void 0:u.formatters),d=((f=c==null?void 0:c.transactionRequest)==null?void 0:f.format)||s.formatTransactionRequest;return o.signTransaction?o.signTransaction({...a,chainId:i},{serializer:(h=(p=e.chain)==null?void 0:p.serializers)==null?void 0:h.transaction}):await e.request({method:"eth_signTransaction",params:[{...d(a),chainId:m.numberToHex(i),from:o.address}]},{retryCount:0})}async function vn(e,t){const{account:r=e.account,domain:n,message:a,primaryType:o}=t;if(!r)throw new s.AccountNotFoundError({docsPath:"/docs/actions/wallet/signTypedData"});const i=s.parseAccount(r),c={EIP712Domain:He({domain:n}),...t.types};if(_e({domain:n,message:a,primaryType:o,types:c}),i.signTypedData)return i.signTypedData({domain:n,message:a,primaryType:o,types:c});const d=or({domain:n,message:a,primaryType:o,types:c});return e.request({method:"eth_signTypedData_v4",params:[i.address,d]},{retryCount:0})}async function An(e,{id:t}){await e.request({method:"wallet_switchEthereumChain",params:[{chainId:m.numberToHex(t)}]},{retryCount:0})}async function En(e,t){return await e.request({method:"wallet_watchAsset",params:t},{retryCount:0})}function Tn(e){return{addChain:t=>un(e,t),deployContract:t=>dn(e,t),getAddresses:()=>fn(e),getCallsStatus:t=>Te(e,t),getCapabilities:t=>ln(e,t),getChainId:()=>s.getChainId(e),getPermissions:()=>pn(e),prepareAuthorization:t=>Xe(e,t),prepareTransactionRequest:t=>s.prepareTransactionRequest(e,t),requestAddresses:()=>hn(e),requestPermissions:t=>mn(e,t),sendCalls:t=>mt(e,t),sendRawTransaction:t=>s.sendRawTransaction(e,t),sendTransaction:t=>s.sendTransaction(e,t),showCallsStatus:t=>gn(e,t),signAuthorization:t=>bn(e,t),signMessage:t=>yn(e,t),signTransaction:t=>wn(e,t),signTypedData:t=>vn(e,t),switchChain:t=>An(e,t),waitForCallsStatus:t=>gt(e,t),watchAsset:t=>En(e,t),writeContract:t=>s.writeContract(e,t)}}function xn(e){const{key:t="wallet",name:r="Wallet Client",transport:n}=e;return Ce({...e,key:t,name:r,transport:n,type:"walletClient"}).extend(Tn)}exports.createPublicClient=cn;exports.createTransport=Re;exports.createWalletClient=xn;exports.http=Ct;
|
|
5
|
-
//# sourceMappingURL=createWalletClient-
|
|
5
|
+
//# sourceMappingURL=createWalletClient-Cct6ojqI.cjs.map
|