@pufferfinance/puffer-sdk 1.23.1 → 1.24.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/api/puffer-client-helpers.cjs +1 -1
- package/dist/api/puffer-client-helpers.cjs.map +1 -1
- package/dist/api/puffer-client-helpers.js +3 -3
- package/dist/api/puffer-client-helpers.js.map +1 -1
- package/dist/api/puffer-client.cjs +1 -1
- package/dist/api/puffer-client.js +2 -2
- package/dist/ccip-FdkpGaX4.cjs +2 -0
- package/dist/ccip-FdkpGaX4.cjs.map +1 -0
- package/dist/{ccip-CiQCCFUl.js → ccip-w5ez1DCx.js} +43 -39
- package/dist/ccip-w5ez1DCx.js.map +1 -0
- 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-BaHwPdbi.js → constants-BweLzNUt.js} +690 -616
- package/dist/constants-BweLzNUt.js.map +1 -0
- package/dist/constants-JN89aXws.cjs +9 -0
- package/dist/constants-JN89aXws.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.d.ts +368 -352
- 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.d.ts +368 -352
- 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.d.ts +368 -352
- 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.cjs.map +1 -1
- package/dist/contracts/handlers/erc20-permit-handler.d.ts +368 -352
- package/dist/contracts/handlers/erc20-permit-handler.js +3 -3
- package/dist/contracts/handlers/erc20-permit-handler.js.map +1 -1
- package/dist/contracts/handlers/guardian-module-handler.cjs +1 -1
- package/dist/contracts/handlers/guardian-module-handler.d.ts +368 -352
- 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.d.ts +368 -352
- 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.d.ts +368 -352
- package/dist/contracts/handlers/institutional-vault-handler.js +2 -2
- package/dist/contracts/handlers/l1-reward-manager-handler.cjs +1 -1
- package/dist/contracts/handlers/l1-reward-manager-handler.d.ts +368 -352
- 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.d.ts +368 -352
- package/dist/contracts/handlers/l2-reward-manager-handler.js +2 -2
- package/dist/contracts/handlers/mtw-carrot-handler.cjs +1 -1
- package/dist/contracts/handlers/mtw-carrot-handler.d.ts +368 -352
- 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.d.ts +368 -352
- 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.d.ts +368 -352
- 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.d.ts +368 -352
- 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.d.ts +368 -352
- 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.d.ts +368 -352
- 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.d.ts +368 -352
- 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.d.ts +368 -352
- 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.d.ts +368 -352
- 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.d.ts +368 -352
- 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.d.ts +368 -352
- 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.d.ts +368 -352
- 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.d.ts +368 -352
- 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.js +1 -1
- package/dist/createWalletClient-CYva1_XM.js +3262 -0
- package/dist/createWalletClient-CYva1_XM.js.map +1 -0
- package/dist/createWalletClient-LeyDLKOH.cjs +5 -0
- package/dist/createWalletClient-LeyDLKOH.cjs.map +1 -0
- package/dist/{getContract-DGV8J5xI.js → getContract-BES7gSby.js} +2 -2
- package/dist/getContract-BES7gSby.js.map +1 -0
- package/dist/{getContract-RNLlK54b.cjs → getContract-F-fd_vf7.cjs} +2 -2
- package/dist/{getContract-DGV8J5xI.js.map → getContract-F-fd_vf7.cjs.map} +1 -1
- package/dist/localBatchGatewayRequest-CCdxn5t3.js +90 -0
- package/dist/localBatchGatewayRequest-CCdxn5t3.js.map +1 -0
- package/dist/localBatchGatewayRequest-DCWU6kQW.cjs +2 -0
- package/dist/localBatchGatewayRequest-DCWU6kQW.cjs.map +1 -0
- package/dist/main.cjs +1 -1
- package/dist/main.js +1 -1
- package/dist/secp256k1-DGP4Y7VW.js +1291 -0
- package/dist/secp256k1-DGP4Y7VW.js.map +1 -0
- package/dist/secp256k1-QOxLqUEc.cjs +2 -0
- package/dist/secp256k1-QOxLqUEc.cjs.map +1 -0
- package/dist/utils/version.cjs +1 -1
- package/dist/utils/version.js +1 -1
- package/dist/writeContract-Cqc9vxbU.cjs +36 -0
- package/dist/writeContract-Cqc9vxbU.cjs.map +1 -0
- package/dist/{writeContract-BU3yK-Xj.js → writeContract-QAArm5iD.js} +1894 -1361
- package/dist/writeContract-QAArm5iD.js.map +1 -0
- package/package.json +2 -2
- package/dist/ccip-CiQCCFUl.js.map +0 -1
- package/dist/ccip-DIWF4nDh.cjs +0 -2
- package/dist/ccip-DIWF4nDh.cjs.map +0 -1
- package/dist/constants-BaHwPdbi.js.map +0 -1
- package/dist/constants-c-vATmlG.cjs +0 -9
- package/dist/constants-c-vATmlG.cjs.map +0 -1
- package/dist/createWalletClient-D74YRepQ.js +0 -3290
- package/dist/createWalletClient-D74YRepQ.js.map +0 -1
- package/dist/createWalletClient-DKSH6l9_.cjs +0 -6
- package/dist/createWalletClient-DKSH6l9_.cjs.map +0 -1
- package/dist/getContract-RNLlK54b.cjs.map +0 -1
- package/dist/secp256k1-B-LxKJrQ.js +0 -1340
- package/dist/secp256k1-B-LxKJrQ.js.map +0 -1
- package/dist/secp256k1-CC-cv1vD.cjs +0 -2
- package/dist/secp256k1-CC-cv1vD.cjs.map +0 -1
- package/dist/writeContract-BU3yK-Xj.js.map +0 -1
- package/dist/writeContract-CKqv1dsa.cjs +0 -32
- package/dist/writeContract-CKqv1dsa.cjs.map +0 -1
|
@@ -0,0 +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:
|
|
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
|
+
`)),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
|
+
- `).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-LeyDLKOH.cjs.map
|