@pufferfinance/puffer-sdk 1.29.1 → 1.29.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.
Files changed (137) hide show
  1. package/dist/api/puffer-client-helpers.cjs +1 -1
  2. package/dist/api/puffer-client-helpers.cjs.map +1 -1
  3. package/dist/api/puffer-client-helpers.js +3 -3
  4. package/dist/api/puffer-client-helpers.js.map +1 -1
  5. package/dist/api/puffer-client.cjs +1 -1
  6. package/dist/api/puffer-client.js +2 -2
  7. package/dist/{ccip-Dv8Z-tXr.cjs → ccip-BQKdkZzc.cjs} +2 -2
  8. package/dist/{ccip-Dv8Z-tXr.cjs.map → ccip-BQKdkZzc.cjs.map} +1 -1
  9. package/dist/{ccip-dYaIZXTj.js → ccip-DkpMYAPh.js} +4 -4
  10. package/dist/{ccip-dYaIZXTj.js.map → ccip-DkpMYAPh.js.map} +1 -1
  11. package/dist/chains/constants.cjs +1 -1
  12. package/dist/chains/constants.d.ts +3 -1
  13. package/dist/chains/constants.js +1 -1
  14. package/dist/{constants-BO_Dvglw.js → constants-0GZgavMM.js} +511 -443
  15. package/dist/constants-0GZgavMM.js.map +1 -0
  16. package/dist/constants-CwkqnEF2.cjs +8 -0
  17. package/dist/constants-CwkqnEF2.cjs.map +1 -0
  18. package/dist/contracts/addresses.cjs +1 -1
  19. package/dist/contracts/addresses.js +1 -1
  20. package/dist/contracts/handlers/carrot-staking-handler.cjs +1 -1
  21. package/dist/contracts/handlers/carrot-staking-handler.d.ts +9 -3
  22. package/dist/contracts/handlers/carrot-staking-handler.js +2 -2
  23. package/dist/contracts/handlers/carrot-vesting-handler.cjs +1 -1
  24. package/dist/contracts/handlers/carrot-vesting-handler.d.ts +9 -3
  25. package/dist/contracts/handlers/carrot-vesting-handler.js +2 -2
  26. package/dist/contracts/handlers/concrete-vault-handler.cjs +1 -1
  27. package/dist/contracts/handlers/concrete-vault-handler.d.ts +9 -3
  28. package/dist/contracts/handlers/concrete-vault-handler.js +2 -2
  29. package/dist/contracts/handlers/distributor-handler.cjs +1 -1
  30. package/dist/contracts/handlers/distributor-handler.d.ts +9 -3
  31. package/dist/contracts/handlers/distributor-handler.js +2 -2
  32. package/dist/contracts/handlers/erc20-permit-handler.cjs +1 -1
  33. package/dist/contracts/handlers/erc20-permit-handler.cjs.map +1 -1
  34. package/dist/contracts/handlers/erc20-permit-handler.d.ts +9 -3
  35. package/dist/contracts/handlers/erc20-permit-handler.js +3 -3
  36. package/dist/contracts/handlers/erc20-permit-handler.js.map +1 -1
  37. package/dist/contracts/handlers/gauge-registry-handler.cjs +1 -1
  38. package/dist/contracts/handlers/gauge-registry-handler.d.ts +9 -3
  39. package/dist/contracts/handlers/gauge-registry-handler.js +2 -2
  40. package/dist/contracts/handlers/guardian-module-handler.cjs +1 -1
  41. package/dist/contracts/handlers/guardian-module-handler.d.ts +9 -3
  42. package/dist/contracts/handlers/guardian-module-handler.js +2 -2
  43. package/dist/contracts/handlers/institutional-access-manager-handler.cjs +1 -1
  44. package/dist/contracts/handlers/institutional-access-manager-handler.d.ts +9 -3
  45. package/dist/contracts/handlers/institutional-access-manager-handler.js +3 -3
  46. package/dist/contracts/handlers/institutional-vault-handler.cjs +1 -1
  47. package/dist/contracts/handlers/institutional-vault-handler.d.ts +9 -3
  48. package/dist/contracts/handlers/institutional-vault-handler.js +2 -2
  49. package/dist/contracts/handlers/l1-reward-manager-handler.cjs +1 -1
  50. package/dist/contracts/handlers/l1-reward-manager-handler.d.ts +9 -3
  51. package/dist/contracts/handlers/l1-reward-manager-handler.js +2 -2
  52. package/dist/contracts/handlers/l2-reward-manager-handler.cjs +1 -1
  53. package/dist/contracts/handlers/l2-reward-manager-handler.d.ts +9 -3
  54. package/dist/contracts/handlers/l2-reward-manager-handler.js +2 -2
  55. package/dist/contracts/handlers/lagoon-vault-handler.cjs +1 -1
  56. package/dist/contracts/handlers/lagoon-vault-handler.d.ts +9 -3
  57. package/dist/contracts/handlers/lagoon-vault-handler.js +2 -2
  58. package/dist/contracts/handlers/mtw-carrot-handler.cjs +1 -1
  59. package/dist/contracts/handlers/mtw-carrot-handler.d.ts +9 -3
  60. package/dist/contracts/handlers/mtw-carrot-handler.js +2 -2
  61. package/dist/contracts/handlers/nucleus-accountant-handler.cjs +1 -1
  62. package/dist/contracts/handlers/nucleus-accountant-handler.d.ts +9 -3
  63. package/dist/contracts/handlers/nucleus-accountant-handler.js +1 -1
  64. package/dist/contracts/handlers/nucleus-atomic-queue-handler.cjs +1 -1
  65. package/dist/contracts/handlers/nucleus-atomic-queue-handler.d.ts +10 -4
  66. package/dist/contracts/handlers/nucleus-atomic-queue-handler.js +2 -2
  67. package/dist/contracts/handlers/nucleus-boring-vault-handler.cjs +1 -1
  68. package/dist/contracts/handlers/nucleus-boring-vault-handler.d.ts +9 -3
  69. package/dist/contracts/handlers/nucleus-boring-vault-handler.js +2 -2
  70. package/dist/contracts/handlers/nucleus-teller-handler.cjs +1 -1
  71. package/dist/contracts/handlers/nucleus-teller-handler.d.ts +9 -3
  72. package/dist/contracts/handlers/nucleus-teller-handler.js +2 -2
  73. package/dist/contracts/handlers/puf-locker-handler.cjs +1 -1
  74. package/dist/contracts/handlers/puf-locker-handler.d.ts +9 -3
  75. package/dist/contracts/handlers/puf-locker-handler.js +2 -2
  76. package/dist/contracts/handlers/puffer-depositor-handler.cjs +1 -1
  77. package/dist/contracts/handlers/puffer-depositor-handler.d.ts +9 -3
  78. package/dist/contracts/handlers/puffer-depositor-handler.js +2 -2
  79. package/dist/contracts/handlers/puffer-l2-depositor-handler.cjs +1 -1
  80. package/dist/contracts/handlers/puffer-l2-depositor-handler.d.ts +9 -3
  81. package/dist/contracts/handlers/puffer-l2-depositor-handler.js +2 -2
  82. package/dist/contracts/handlers/puffer-oracle-v2-handler.cjs +1 -1
  83. package/dist/contracts/handlers/puffer-oracle-v2-handler.d.ts +9 -3
  84. package/dist/contracts/handlers/puffer-oracle-v2-handler.js +2 -2
  85. package/dist/contracts/handlers/puffer-protocol-handler.cjs +1 -1
  86. package/dist/contracts/handlers/puffer-protocol-handler.d.ts +9 -3
  87. package/dist/contracts/handlers/puffer-protocol-handler.js +2 -2
  88. package/dist/contracts/handlers/puffer-vault-handler.cjs +1 -1
  89. package/dist/contracts/handlers/puffer-vault-handler.d.ts +9 -3
  90. package/dist/contracts/handlers/puffer-vault-handler.js +2 -2
  91. package/dist/contracts/handlers/puffer-withdrawal-manager-handler.cjs +1 -1
  92. package/dist/contracts/handlers/puffer-withdrawal-manager-handler.d.ts +9 -3
  93. package/dist/contracts/handlers/puffer-withdrawal-manager-handler.js +2 -2
  94. package/dist/contracts/handlers/validator-ticket-handler.cjs +1 -1
  95. package/dist/contracts/handlers/validator-ticket-handler.d.ts +10 -4
  96. package/dist/contracts/handlers/validator-ticket-handler.js +2 -2
  97. package/dist/contracts/handlers/vl-puffer-handler.cjs +1 -1
  98. package/dist/contracts/handlers/vl-puffer-handler.d.ts +9 -3
  99. package/dist/contracts/handlers/vl-puffer-handler.js +2 -2
  100. package/dist/contracts/tokens.cjs +1 -1
  101. package/dist/contracts/tokens.js +1 -1
  102. package/dist/contracts/vaults-addresses.cjs +1 -1
  103. package/dist/contracts/vaults-addresses.js +1 -1
  104. package/dist/{getContract-C6a8L2Jd.cjs → getContract-BinxcNSi.cjs} +2 -2
  105. package/dist/{getContract-C6a8L2Jd.cjs.map → getContract-BinxcNSi.cjs.map} +1 -1
  106. package/dist/{getContract-DRjKmuyC.js → getContract-DaCKXI8P.js} +2 -2
  107. package/dist/{getContract-DRjKmuyC.js.map → getContract-DaCKXI8P.js.map} +1 -1
  108. package/dist/http-BC-nqLLb.cjs +5 -0
  109. package/dist/http-BC-nqLLb.cjs.map +1 -0
  110. package/dist/{http-ZcKHvn9V.js → http-DfLfk9B5.js} +1343 -1302
  111. package/dist/http-DfLfk9B5.js.map +1 -0
  112. package/dist/{localBatchGatewayRequest-BTy8p6qj.cjs → localBatchGatewayRequest-B7XKTHRK.cjs} +2 -2
  113. package/dist/{localBatchGatewayRequest-BTy8p6qj.cjs.map → localBatchGatewayRequest-B7XKTHRK.cjs.map} +1 -1
  114. package/dist/{localBatchGatewayRequest-Cb0QKL0s.js → localBatchGatewayRequest-C1C2Kpcs.js} +3 -3
  115. package/dist/{localBatchGatewayRequest-Cb0QKL0s.js.map → localBatchGatewayRequest-C1C2Kpcs.js.map} +1 -1
  116. package/dist/main.cjs +1 -1
  117. package/dist/main.js +1 -1
  118. package/dist/{secp256k1-Dx1prb1E.js → secp256k1-BNsewQvi.js} +2 -2
  119. package/dist/{secp256k1-Dx1prb1E.js.map → secp256k1-BNsewQvi.js.map} +1 -1
  120. package/dist/{secp256k1-CzsL7iVx.cjs → secp256k1-Be7RiBch.cjs} +2 -2
  121. package/dist/{secp256k1-CzsL7iVx.cjs.map → secp256k1-Be7RiBch.cjs.map} +1 -1
  122. package/dist/utils/version.cjs +1 -1
  123. package/dist/utils/version.js +1 -1
  124. package/dist/writeContract-De1cMFmW.cjs +36 -0
  125. package/dist/writeContract-De1cMFmW.cjs.map +1 -0
  126. package/dist/{writeContract-BFxyLFA9.js → writeContract-DordYfu2.js} +1650 -1479
  127. package/dist/writeContract-DordYfu2.js.map +1 -0
  128. package/package.json +2 -2
  129. package/dist/constants-4-ehn8UI.cjs +0 -9
  130. package/dist/constants-4-ehn8UI.cjs.map +0 -1
  131. package/dist/constants-BO_Dvglw.js.map +0 -1
  132. package/dist/http-CRYDzx7w.cjs +0 -5
  133. package/dist/http-CRYDzx7w.cjs.map +0 -1
  134. package/dist/http-ZcKHvn9V.js.map +0 -1
  135. package/dist/writeContract-BFxyLFA9.js.map +0 -1
  136. package/dist/writeContract-HBsqM_Od.cjs +0 -36
  137. package/dist/writeContract-HBsqM_Od.cjs.map +0 -1
@@ -0,0 +1,5 @@
1
+ "use strict";const s=require("./writeContract-De1cMFmW.cjs"),p=require("./constants-CwkqnEF2.cjs"),be=require("./localBatchGatewayRequest-B7XKTHRK.cjs"),Ft=require("./secp256k1-Be7RiBch.cjs");function ze(e){let t;if(typeof e=="string")t=s.parseSignature(e);else{const r=s.parseStructs(e),n=e.length;for(let o=0;o<n;o++){const a=e[o];if(!s.isStructSignature(a)){t=s.parseSignature(a,r);break}}}if(!t)throw new s.InvalidAbiItemError({signature:e});return t}function Fe(e){const t=[];if(typeof e=="string"){const r=s.splitParameters(e),n=r.length;for(let o=0;o<n;o++)t.push(s.parseAbiParameter(r[o],{modifiers:s.modifiers}))}else{const r=s.parseStructs(e),n=e.length;for(let o=0;o<n;o++){const a=e[o];if(s.isStructSignature(a))continue;const i=s.splitParameters(a),c=i.length;for(let u=0;u<c;u++)t.push(s.parseAbiParameter(i[u],{modifiers:s.modifiers,structs:r}))}}if(t.length===0)throw new s.InvalidAbiParametersError({params:e});return t}function Z(e,t){if(L(e)>t)throw new Zt({givenSize:L(e),maxSize:t})}const $={zero:48,nine:57,A:65,F:70,a:97,f:102};function _e(e){if(e>=$.zero&&e<=$.nine)return e-$.zero;if(e>=$.A&&e<=$.F)return e-($.A-10);if(e>=$.a&&e<=$.f)return e-($.a-10)}function _t(e,t={}){const{dir:r,size:n=32}=t;if(n===0)return e;if(e.length>n)throw new Jt({size:e.length,targetSize:n,type:"Bytes"});const o=new Uint8Array(n);for(let a=0;a<n;a++){const i=r==="right";o[i?a:n-a-1]=e[i?a:e.length-a-1]}return o}function He(e,t={}){const{dir:r="left"}=t;let n=e,o=0;for(let a=0;a<n.length-1&&n[r==="left"?a:n.length-a-1].toString()==="0";a++)o++;return n=r==="left"?n.slice(o):n.slice(0,n.length-o),n}const $t=new TextDecoder,Ut=new TextEncoder;function qt(e){return e instanceof Uint8Array?e:typeof e=="string"?je(e):Dt(e)}function Dt(e){return e instanceof Uint8Array?e:new Uint8Array(e)}function je(e,t={}){const{size:r}=t;let n=e;r&&(s.assertSize(e,r),n=s.padRight(e,r));let o=n.slice(2);o.length%2&&(o=`0${o}`);const a=o.length/2,i=new Uint8Array(a);for(let c=0,u=0;c<a;c++){const f=_e(o.charCodeAt(u++)),d=_e(o.charCodeAt(u++));if(f===void 0||d===void 0)throw new s.BaseError(`Invalid byte sequence ("${o[u-2]}${o[u-1]}" in "${o}").`);i[c]=f<<4|d}return i}function Ot(e,t={}){const{size:r}=t,n=Ut.encode(e);return typeof r=="number"?(Z(n,r),Lt(n,r)):n}function Lt(e,t){return _t(e,{dir:"right",size:t})}function L(e){return e.length}function Mt(e,t,r,n={}){const{strict:o}=n;return e.slice(t,r)}function Ht(e,t={}){const{size:r}=t;typeof r<"u"&&Z(e,r);const n=s.fromBytes(e,t);return s.toBigInt(n,t)}function jt(e,t={}){const{size:r}=t;let n=e;if(typeof r<"u"&&(Z(n,r),n=We(n)),n.length>1||n[0]>1)throw new Gt(n);return!!n[0]}function U(e,t={}){const{size:r}=t;typeof r<"u"&&Z(e,r);const n=s.fromBytes(e,t);return s.toNumber(n,t)}function Wt(e,t={}){const{size:r}=t;let n=e;return typeof r<"u"&&(Z(n,r),n=Vt(n)),$t.decode(n)}function We(e){return He(e,{dir:"left"})}function Vt(e){return He(e,{dir:"right"})}class Gt extends s.BaseError{constructor(t){super(`Bytes value \`${t}\` is not a valid boolean.`,{metaMessages:["The bytes array must contain a single byte of either a `0` or `1` value."]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Bytes.InvalidBytesBooleanError"})}}class Zt 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 Jt 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"})}}class Yt extends p.BaseError{constructor(t){super(`Call bundle failed with status: ${t.statusCode}`,{name:"BundleFailedError"}),Object.defineProperty(this,"result",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.result=t}}function te(e,{delay:t=100,retryCount:r=2,shouldRetry:n=()=>!0}={}){return new Promise((o,a)=>{const i=async({count:c=0}={})=>{const u=async({error:f})=>{const d=typeof t=="function"?t({count:c,error:f}):t;d&&await s.wait(d),i({count:c+1})};try{const f=await e();o(f)}catch(f){if(c<r&&await n({count:c,error:f}))return u({error:f});a(f)}};i()})}const Ve="0x5792579257925792579257925792579257925792579257925792579257925792",Ge=p.numberToHex(0,{size:32});async function Ze(e,t){const{account:r=e.account,chain:n=e.chain,experimental_fallback:o,experimental_fallbackDelay:a=32,forceAtomic:i=!1,id:c,version:u="2.0.0"}=t,f=r?s.parseAccount(r):null;let d=t.capabilities;e.dataSuffix&&!t.capabilities?.dataSuffix&&(typeof e.dataSuffix=="string"?d={...t.capabilities,dataSuffix:{value:e.dataSuffix,optional:!0}}:d={...t.capabilities,dataSuffix:{value:e.dataSuffix.value,...e.dataSuffix.required?{}:{optional:!0}}});const l=t.calls.map(h=>{const m=h,y=m.abi?s.encodeFunctionData({abi:m.abi,functionName:m.functionName,args:m.args}):m.data;return{data:m.dataSuffix&&y?p.concat([y,m.dataSuffix]):y,to:m.to,value:m.value?p.numberToHex(m.value):void 0}});try{const h=await e.request({method:"wallet_sendCalls",params:[{atomicRequired:i,calls:l,capabilities:d,chainId:p.numberToHex(n.id),from:f?.address,id:c,version:u}]},{retryCount:0});return typeof h=="string"?{id:h}:h}catch(h){const m=h;if(o&&(m.name==="MethodNotFoundRpcError"||m.name==="MethodNotSupportedRpcError"||m.name==="UnknownRpcError"||m.details.toLowerCase().includes("does not exist / is not available")||m.details.toLowerCase().includes("missing or invalid. request()")||m.details.toLowerCase().includes("did not match any variant of untagged enum")||m.details.toLowerCase().includes("account upgraded to unsupported contract")||m.details.toLowerCase().includes("eip-7702 not supported")||m.details.toLowerCase().includes("unsupported wc_ method")||m.details.toLowerCase().includes("feature toggled misconfigured")||m.details.toLowerCase().includes("jsonrpcengine: response has no error or result for request"))){if(d&&Object.values(d).some(w=>!w.optional)){const w="non-optional `capabilities` are not supported on fallback to `eth_sendTransaction`.";throw new s.UnsupportedNonOptionalCapabilityError(new p.BaseError(w,{details:w}))}if(i&&l.length>1){const g="`forceAtomic` is not supported on fallback to `eth_sendTransaction`.";throw new s.AtomicityNotSupportedError(new p.BaseError(g,{details:g}))}const y=[];for(const g of l){const w=s.sendTransaction(e,{account:f,chain:n,data:g.data,to:g.to,value:g.value?p.hexToBigInt(g.value):void 0});y.push(w),a>0&&await new Promise(E=>setTimeout(E,a))}const v=await Promise.allSettled(y);if(v.every(g=>g.status==="rejected"))throw v[0].reason;const b=v.map(g=>g.status==="fulfilled"?g.value:Ge);return{id:p.concat([...b,p.numberToHex(n.id,{size:32}),Ve])}}throw s.getTransactionError(h,{...t,account:f,chain:t.chain})}}async function Je(e,t){async function r(d){if(d.endsWith(Ve.slice(2))){const h=p.trim(p.sliceHex(d,-64,-32)),m=p.sliceHex(d,0,-64).slice(2).match(/.{1,64}/g),y=await Promise.all(m.map(b=>Ge.slice(2)!==b?e.request({method:"eth_getTransactionReceipt",params:[`0x${b}`]},{dedupe:!0}):void 0)),v=y.some(b=>b===null)?100:y.every(b=>b?.status==="0x1")?200:y.every(b=>b?.status==="0x0")?500:600;return{atomic:!1,chainId:p.hexToNumber(h),receipts:y.filter(Boolean),status:v,version:"2.0.0"}}return e.request({method:"wallet_getCallsStatus",params:[d]})}const{atomic:n=!1,chainId:o,receipts:a,version:i="2.0.0",...c}=await r(t.id),[u,f]=(()=>{const d=c.status;return d>=100&&d<200?["pending",d]:d>=200&&d<300?["success",d]:d>=300&&d<700?["failure",d]:d==="CONFIRMED"?["success",200]:d==="PENDING"?["pending",100]:[void 0,d]})();return{...c,atomic:n,chainId:o?p.hexToNumber(o):void 0,receipts:a?.map(d=>({...d,blockNumber:p.hexToBigInt(d.blockNumber),gasUsed:p.hexToBigInt(d.gasUsed),status:p.receiptStatuses[d.status]}))??[],statusCode:f,status:u,version:i}}async function Ye(e,t){const{id:r,pollingInterval:n=e.pollingInterval,status:o=({statusCode:v})=>v===200||v>=300,retryCount:a=4,retryDelay:i=({count:v})=>~~(1<<v)*200,timeout:c=6e4,throwOnFailure:u=!1}=t,f=s.stringify(["waitForCallsStatus",e.uid,r]),{promise:d,resolve:l,reject:h}=s.withResolvers();let m;const y=s.observe(f,{resolve:l,reject:h},v=>{const b=s.poll(async()=>{const g=w=>{clearTimeout(m),b(),w(),y()};try{const w=await te(async()=>{const E=await s.getAction(e,Je,"getCallsStatus")({id:r});if(u&&E.status==="failure")throw new Yt(E);return E},{retryCount:a,delay:i});if(!o(w))return;g(()=>v.resolve(w))}catch(w){g(()=>v.reject(w))}},{interval:n,emitOnBegin:!0});return b});return m=c?setTimeout(()=>{y(),clearTimeout(m),h(new Kt({id:r}))},c):void 0,await d}class Kt extends p.BaseError{constructor({id:t}){super(`Timed out while waiting for call bundle with id "${t}" to be confirmed.`,{name:"WaitForCallsStatusTimeoutError"})}}const ue=256;let K=ue,Q;function Ke(e=11){if(!Q||K+e>ue*2){Q="",K=0;for(let t=0;t<ue;t++)Q+=(256+Math.random()*256|0).toString(16).substring(1)}return Q.substring(K,K+++e)}function Qe(e){const{batch:t,chain:r,ccipRead:n,dataSuffix:o,key:a="base",name:i="Base Client",type:c="base"}=e,u=e.experimental_blockTag??(typeof r?.experimental_preconfirmationTime=="number"?"pending":void 0),f=r?.blockTime??12e3,d=Math.min(Math.max(Math.floor(f/2),500),4e3),l=e.pollingInterval??d,h=e.cacheTime??l,m=e.account?s.parseAccount(e.account):void 0,{config:y,request:v,value:b}=e.transport({account:m,chain:r,pollingInterval:l}),g={...y,...b},w={account:m,batch:t,cacheTime:h,ccipRead:n,chain:r,dataSuffix:o,key:a,name:i,pollingInterval:l,request:v,transport:g,type:c,uid:Ke(),...u?{experimental_blockTag:u}:{}};function E(x){return C=>{const R=C(x);for(const P in w)delete R[P];const A={...x,...R};return Object.assign(A,{extend:E(A)})}}return Object.assign(w,{extend:E(w)})}function we(e){if(!(e instanceof p.BaseError))return!1;const t=e.walk(r=>r instanceof s.ContractFunctionRevertedError);return t instanceof s.ContractFunctionRevertedError?t.data?.errorName==="HttpError"||t.data?.errorName==="ResolverError"||t.data?.errorName==="ResolverNotContract"||t.data?.errorName==="ResolverNotFound"||t.data?.errorName==="ReverseAddressMismatch"||t.data?.errorName==="UnsupportedResolverProfile":!1}function Xe(e){if(e.length!==66||e.indexOf("[")!==0||e.indexOf("]")!==65)return null;const t=`0x${e.slice(1,65)}`;return p.isHex(t)?t:null}function de(e){let t=new Uint8Array(32).fill(0);if(!e)return p.bytesToHex(t);const r=e.split(".");for(let n=r.length-1;n>=0;n-=1){const o=Xe(r[n]),a=o?p.toBytes(o):p.keccak256(p.stringToBytes(r[n]),"bytes");t=p.keccak256(p.concat([t,a]),"bytes")}return p.bytesToHex(t)}function Qt(e){return`[${e.slice(2)}]`}function Xt(e){const t=new Uint8Array(32).fill(0);return e?Xe(e)||p.keccak256(p.stringToBytes(e)):p.bytesToHex(t)}function ve(e){const t=e.replace(/^\.|\.$/gm,"");if(t.length===0)return new Uint8Array(1);const r=new Uint8Array(p.stringToBytes(t).byteLength+2);let n=0;const o=t.split(".");for(let a=0;a<o.length;a++){let i=p.stringToBytes(o[a]);i.byteLength>255&&(i=p.stringToBytes(Qt(Xt(o[a])))),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 er(e,t){const{blockNumber:r,blockTag:n,coinType:o,name:a,gatewayUrls:i,strict:c}=t,{chain:u}=e,f=(()=>{if(t.universalResolverAddress)return t.universalResolverAddress;if(!u)throw new Error("client chain not configured. universalResolverAddress is required.");return s.getChainContractAddress({blockNumber:r,chain:u,contract:"ensUniversalResolver"})})(),d=u?.ensTlds;if(d&&!d.some(h=>a.endsWith(h)))return null;const l=o!=null?[de(a),BigInt(o)]:[de(a)];try{const h=s.encodeFunctionData({abi:s.addressResolverAbi,functionName:"addr",args:l}),m={address:f,abi:s.universalResolverResolveAbi,functionName:"resolveWithGateways",args:[p.toHex(ve(a)),h,i??[be.localBatchGatewayUrl]],blockNumber:r,blockTag:n},v=await s.getAction(e,s.readContract,"readContract")(m);if(v[0]==="0x")return null;const b=s.decodeFunctionResult({abi:s.addressResolverAbi,args:l,functionName:"addr",data:v[0]});return b==="0x"||p.trim(b)==="0x00"?null:b}catch(h){if(c)throw h;if(we(h))return null;throw h}}class tr extends p.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 V extends p.BaseError{constructor({reason:t}){super(`ENS NFT avatar URI is invalid. ${t}`,{name:"EnsAvatarInvalidNftUriError"})}}class Ee extends p.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 rr extends p.BaseError{constructor({namespace:t}){super(`ENS NFT avatar namespace "${t}" is not supported. Must be "erc721" or "erc1155".`,{name:"EnsAvatarUnsupportedNamespaceError"})}}const nr=/(?<protocol>https?:\/\/[^/]*|ipfs:\/|ipns:\/|ar:\/)?(?<root>\/)?(?<subpath>ipfs\/|ipns\/)?(?<target>[\w\-.]+)(?<subtarget>\/.*)?/,sr=/^(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>\/.*)?$/,or=/^data:([a-zA-Z\-/+]*);base64,([^"].*)/,ar=/^data:([a-zA-Z\-/+]*)?(;[a-zA-Z0-9].*?)?(,)/;async function ir(e){try{const t=await fetch(e,{method:"HEAD"});return t.status===200?t.headers.get("content-type")?.startsWith("image/"):!1}catch(t){return typeof t=="object"&&typeof t.response<"u"||!Object.hasOwn(globalThis,"Image")?!1:new Promise(r=>{const n=new Image;n.onload=()=>{r(!0)},n.onerror=()=>{r(!1)},n.src=e})}}function $e(e,t){return e?e.endsWith("/")?e.slice(0,-1):e:t}function et({uri:e,gatewayUrls:t}){const r=or.test(e);if(r)return{uri:e,isOnChain:!0,isEncoded:r};const n=$e(t?.ipfs,"https://ipfs.io"),o=$e(t?.arweave,"https://arweave.net"),a=e.match(nr),{protocol:i,subpath:c,target:u,subtarget:f=""}=a?.groups||{},d=i==="ipns:/"||c==="ipns/",l=i==="ipfs:/"||c==="ipfs/"||sr.test(e);if(e.startsWith("http")&&!d&&!l){let m=e;return t?.arweave&&(m=e.replace(/https:\/\/arweave.net/g,t?.arweave)),{uri:m,isOnChain:!1,isEncoded:!1}}if((d||l)&&u)return{uri:`${n}/${d?"ipns":"ipfs"}/${u}${f}`,isOnChain:!1,isEncoded:!1};if(i==="ar:/"&&u)return{uri:`${o}/${u}${f||""}`,isOnChain:!1,isEncoded:!1};let h=e.replace(ar,"");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 Ee({uri:e})}function tt(e){if(typeof e!="object"||!("image"in e)&&!("image_url"in e)&&!("image_data"in e))throw new tr({data:e});return e.image||e.image_url||e.image_data}async function cr({gatewayUrls:e,uri:t}){try{const r=await fetch(t).then(o=>o.json());return await Ae({gatewayUrls:e,uri:tt(r)})}catch{throw new Ee({uri:t})}}async function Ae({gatewayUrls:e,uri:t}){const{uri:r,isOnChain:n}=et({uri:t,gatewayUrls:e});if(n||await ir(r))return r;throw new Ee({uri:t})}function ur(e){let t=e;t.startsWith("did:nft:")&&(t=t.replace("did:nft:","").replace(/_/g,"/"));const[r,n,o]=t.split("/"),[a,i]=r.split(":"),[c,u]=n.split(":");if(!a||a.toLowerCase()!=="eip155")throw new V({reason:"Only EIP-155 supported"});if(!i)throw new V({reason:"Chain ID not found"});if(!u)throw new V({reason:"Contract address not found"});if(!o)throw new V({reason:"Token ID not found"});if(!c)throw new V({reason:"ERC namespace not found"});return{chainID:Number.parseInt(i,10),namespace:c.toLowerCase(),contractAddress:u,tokenID:o}}async function dr(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 rr({namespace:t.namespace})}async function fr(e,{gatewayUrls:t,record:r}){return/eip155:/i.test(r)?lr(e,{gatewayUrls:t,record:r}):Ae({uri:r,gatewayUrls:t})}async function lr(e,{gatewayUrls:t,record:r}){const n=ur(r),o=await dr(e,{nft:n}),{uri:a,isOnChain:i,isEncoded:c}=et({uri:o,gatewayUrls:t});if(i&&(a.includes("data:application/json;base64,")||a.startsWith("{"))){const f=c?atob(a.replace("data:application/json;base64,","")):a,d=JSON.parse(f);return Ae({uri:tt(d),gatewayUrls:t})}let u=n.tokenID;return n.namespace==="erc1155"&&(u=u.replace("0x","").padStart(64,"0")),cr({gatewayUrls:t,uri:a.replace(/(?:0x)?{id}/,u)})}async function rt(e,t){const{blockNumber:r,blockTag:n,key:o,name:a,gatewayUrls:i,strict:c}=t,{chain:u}=e,f=(()=>{if(t.universalResolverAddress)return t.universalResolverAddress;if(!u)throw new Error("client chain not configured. universalResolverAddress is required.");return s.getChainContractAddress({blockNumber:r,chain:u,contract:"ensUniversalResolver"})})(),d=u?.ensTlds;if(d&&!d.some(l=>a.endsWith(l)))return null;try{const l={address:f,abi:s.universalResolverResolveAbi,args:[p.toHex(ve(a)),s.encodeFunctionData({abi:s.textResolverAbi,functionName:"text",args:[de(a),o]}),i??[be.localBatchGatewayUrl]],functionName:"resolveWithGateways",blockNumber:r,blockTag:n},m=await s.getAction(e,s.readContract,"readContract")(l);if(m[0]==="0x")return null;const y=s.decodeFunctionResult({abi:s.textResolverAbi,functionName:"text",data:m[0]});return y===""?null:y}catch(l){if(c)throw l;if(we(l))return null;throw l}}async function hr(e,{blockNumber:t,blockTag:r,assetGatewayUrls:n,name:o,gatewayUrls:a,strict:i,universalResolverAddress:c}){const u=await s.getAction(e,rt,"getEnsText")({blockNumber:t,blockTag:r,key:"avatar",name:o,universalResolverAddress:c,gatewayUrls:a,strict:i});if(!u)return null;try{return await fr(e,{record:u,gatewayUrls:n})}catch{return null}}async function pr(e,t){const{address:r,blockNumber:n,blockTag:o,coinType:a=60n,gatewayUrls:i,strict:c}=t,{chain:u}=e,f=(()=>{if(t.universalResolverAddress)return t.universalResolverAddress;if(!u)throw new Error("client chain not configured. universalResolverAddress is required.");return s.getChainContractAddress({blockNumber:n,chain:u,contract:"ensUniversalResolver"})})();try{const d={address:f,abi:s.universalResolverReverseAbi,args:[r,a,i??[be.localBatchGatewayUrl]],functionName:"reverseWithGateways",blockNumber:n,blockTag:o},l=s.getAction(e,s.readContract,"readContract"),[h]=await l(d);return h||null}catch(d){if(c)throw d;if(we(d))return null;throw d}}async function mr(e,t){const{blockNumber:r,blockTag:n,name:o}=t,{chain:a}=e,i=(()=>{if(t.universalResolverAddress)return t.universalResolverAddress;if(!a)throw new Error("client chain not configured. universalResolverAddress is required.");return s.getChainContractAddress({blockNumber:r,chain:a,contract:"ensUniversalResolver"})})(),c=a?.ensTlds;if(c&&!c.some(f=>o.endsWith(f)))throw new Error(`${o} is not a valid ENS TLD (${c?.join(", ")}) for chain "${a.name}" (id: ${a.id}).`);const[u]=await s.getAction(e,s.readContract,"readContract")({address:i,abi:[{inputs:[{type:"bytes"}],name:"findResolver",outputs:[{type:"address"},{type:"bytes32"},{type:"uint256"}],stateMutability:"view",type:"function"}],functionName:"findResolver",args:[p.toHex(ve(o))],blockNumber:r,blockTag:n});return u}async function nt(e,t){const{account:r=e.account,blockNumber:n,blockTag:o="latest",blobs:a,data:i,gas:c,gasPrice:u,maxFeePerBlobGas:f,maxFeePerGas:d,maxPriorityFeePerGas:l,to:h,value:m,...y}=t,v=r?s.parseAccount(r):void 0;try{s.assertRequest(t);const g=(typeof n=="bigint"?p.numberToHex(n):void 0)||o,w=e.chain?.formatters?.transactionRequest?.format,x=(w||s.formatTransactionRequest)({...s.extract(y,{format:w}),account:v,blobs:a,data:i,gas:c,gasPrice:u,maxFeePerBlobGas:f,maxFeePerGas:d,maxPriorityFeePerGas:l,to:h,value:m},"createAccessList"),C=await e.request({method:"eth_createAccessList",params:[x,g]});return{accessList:C.accessList,gasUsed:BigInt(C.gasUsed)}}catch(b){throw s.getCallError(b,{...t,account:v,chain:e.chain})}}async function yr(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 st(e,{address:t,args:r,event:n,events:o,fromBlock:a,strict:i,toBlock:c}={}){const u=o??(n?[n]:void 0),f=s.createFilterRequestScope(e,{method:"eth_newFilter"});let d=[];u&&(d=[u.flatMap(m=>s.encodeEventTopics({abi:[m],eventName:m.name,args:r}))],n&&(d=d[0]));const l=await e.request({method:"eth_newFilter",params:[{address:t,fromBlock:typeof a=="bigint"?p.numberToHex(a):a,toBlock:typeof c=="bigint"?p.numberToHex(c):c,...d.length?{topics:d}:{}}]});return{abi:u,args:r,eventName:n?n.name:void 0,fromBlock:a,id:l,request:f(l),strict:!!i,toBlock:c,type:"event"}}async function ot(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 gr(e,{address:t,blockNumber:r,blockTag:n=e.experimental_blockTag??"latest"}){const o=typeof r=="bigint"?p.numberToHex(r):void 0,a=await e.request({method:"eth_getBalance",params:[t,o||n]});return BigInt(a)}async function br(e){const t=await e.request({method:"eth_blobBaseFee"});return BigInt(t)}async function wr(e,{blockHash:t,blockNumber:r,blockTag:n="latest"}={}){const o=r!==void 0?p.numberToHex(r):void 0;let a;return t?a=await e.request({method:"eth_getBlockTransactionCountByHash",params:[t]},{dedupe:!0}):a=await e.request({method:"eth_getBlockTransactionCountByNumber",params:[o||n]},{dedupe:!!o}),p.hexToNumber(a)}async function fe(e,{address:t,blockNumber:r,blockTag:n="latest"}){const o=r!==void 0?p.numberToHex(r):void 0,a=await e.request({method:"eth_getCode",params:[t,o||n]},{dedupe:!!o});if(a!=="0x")return a}class vr extends p.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 Er(e,t){const{address:r,factory:n,factoryData:o}=t;try{const[a,i,c,u,f,d,l]=await s.getAction(e,s.readContract,"readContract")({abi:Ar,address:r,functionName:"eip712Domain",factory:n,factoryData:o});return{domain:{name:i,version:c,chainId:Number(u),verifyingContract:f,salt:d},extensions:l,fields:a}}catch(a){const i=a;throw i.name==="ContractFunctionExecutionError"&&i.cause.name==="ContractFunctionZeroDataError"?new vr({address:r}):i}}const Ar=[{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 Tr(e){return{baseFeePerGas:e.baseFeePerGas.map(t=>BigInt(t)),gasUsedRatio:e.gasUsedRatio,oldestBlock:BigInt(e.oldestBlock),reward:e.reward?.map(t=>t.map(r=>BigInt(r)))}}async function xr(e,{blockCount:t,blockNumber:r,blockTag:n="latest",rewardPercentiles:o}){const a=typeof r=="bigint"?p.numberToHex(r):void 0,i=await e.request({method:"eth_feeHistory",params:[p.numberToHex(t),a||n,o]},{dedupe:!!a});return Tr(i)}async function Rr(e,{filter:t}){const r=t.strict??!1,o=(await t.request({method:"eth_getFilterLogs",params:[t.id]})).map(a=>p.formatLog(a));return t.abi?s.parseEventLogs({abi:t.abi,logs:o,strict:r}):o}async function Cr({address:e,authorization:t,signature:r}){return s.isAddressEqual(p.getAddress(e),await s.recoverAuthorizationAddress({authorization:t,signature:r}))}const X=new p.LruMap(8192);function Pr(e,{enabled:t=!0,id:r}){if(!t||!r)return e();if(X.get(r))return X.get(r);const n=e().finally(()=>X.delete(r));return X.set(r,n),n}function Ir(e,t={}){return async(r,n={})=>{const{dedupe:o=!1,methods:a,retryDelay:i=150,retryCount:c=3,uid:u}={...t,...n},{method:f}=r;if(a?.exclude?.includes(f))throw new s.MethodNotSupportedRpcError(new Error("method not supported"),{method:f});if(a?.include&&!a.include.includes(f))throw new s.MethodNotSupportedRpcError(new Error("method not supported"),{method:f});const d=o?p.stringToHex(`${u}.${s.stringify(r)}`):void 0;return Pr(()=>te(async()=>{try{return await e(r)}catch(l){const h=l;switch(h.code){case s.ParseRpcError.code:throw new s.ParseRpcError(h);case s.InvalidRequestRpcError.code:throw new s.InvalidRequestRpcError(h);case s.MethodNotFoundRpcError.code:throw new s.MethodNotFoundRpcError(h,{method:r.method});case s.InvalidParamsRpcError.code:throw new s.InvalidParamsRpcError(h);case s.InternalRpcError.code:throw new s.InternalRpcError(h);case s.InvalidInputRpcError.code:throw new s.InvalidInputRpcError(h);case s.ResourceNotFoundRpcError.code:throw new s.ResourceNotFoundRpcError(h);case s.ResourceUnavailableRpcError.code:throw new s.ResourceUnavailableRpcError(h);case s.TransactionRejectedRpcError.code:throw new s.TransactionRejectedRpcError(h);case s.MethodNotSupportedRpcError.code:throw new s.MethodNotSupportedRpcError(h,{method:r.method});case s.LimitExceededRpcError.code:throw new s.LimitExceededRpcError(h);case s.JsonRpcVersionUnsupportedError.code:throw new s.JsonRpcVersionUnsupportedError(h);case s.UserRejectedRequestError.code:throw new s.UserRejectedRequestError(h);case s.UnauthorizedProviderError.code:throw new s.UnauthorizedProviderError(h);case s.UnsupportedProviderMethodError.code:throw new s.UnsupportedProviderMethodError(h);case s.ProviderDisconnectedError.code:throw new s.ProviderDisconnectedError(h);case s.ChainDisconnectedError.code:throw new s.ChainDisconnectedError(h);case s.SwitchChainError.code:throw new s.SwitchChainError(h);case s.UnsupportedNonOptionalCapabilityError.code:throw new s.UnsupportedNonOptionalCapabilityError(h);case s.UnsupportedChainIdError.code:throw new s.UnsupportedChainIdError(h);case s.DuplicateIdError.code:throw new s.DuplicateIdError(h);case s.UnknownBundleIdError.code:throw new s.UnknownBundleIdError(h);case s.BundleTooLargeError.code:throw new s.BundleTooLargeError(h);case s.AtomicReadyWalletRejectedUpgradeError.code:throw new s.AtomicReadyWalletRejectedUpgradeError(h);case s.AtomicityNotSupportedError.code:throw new s.AtomicityNotSupportedError(h);case 5e3:throw new s.UserRejectedRequestError(h);default:throw l instanceof p.BaseError?l:new s.UnknownRpcError(h)}}},{delay:({count:l,error:h})=>{if(h&&h instanceof s.HttpRequestError){const m=h?.headers?.get("Retry-After");if(m?.match(/\d/))return Number.parseInt(m,10)*1e3}return~~(1<<l)*i},retryCount:c,shouldRetry:({error:l})=>Br(l)}),{enabled:o,id:d})}}function Br(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 kr(e,{errorInstance:t=new Error("timed out"),timeout:r,signal:n}){return new Promise((o,a)=>{(async()=>{let i;try{const c=new AbortController;r>0&&(i=setTimeout(()=>{n&&c.abort()},r)),o(await e({signal:c?.signal||null}))}catch(c){c?.name==="AbortError"&&a(t),a(c)}finally{clearTimeout(i)}})()})}function Nr(){return{current:0,take(){return this.current++},reset(){this.current=0}}}const Ue=Nr();function Sr(e,t={}){const{url:r,headers:n}=zr(e);return{async request(o){const{body:a,fetchFn:i=t.fetchFn??fetch,onRequest:c=t.onRequest,onResponse:u=t.onResponse,timeout:f=t.timeout??1e4}=o,d={...t.fetchOptions??{},...o.fetchOptions??{}},{headers:l,method:h,signal:m}=d;try{const y=await kr(async({signal:b})=>{const g={...d,body:Array.isArray(a)?s.stringify(a.map(C=>({jsonrpc:"2.0",id:C.id??Ue.take(),...C}))):s.stringify({jsonrpc:"2.0",id:a.id??Ue.take(),...a}),headers:{...n,"Content-Type":"application/json",...l},method:h||"POST",signal:m||(f>0?b:null)},w=new Request(r,g),E=await c?.(w,g)??{...g,url:r};return await i(E.url??r,E)},{errorInstance:new s.TimeoutError({body:a,url:r}),timeout:f,signal:!0});u&&await u(y);let v;if(y.headers.get("Content-Type")?.startsWith("application/json"))v=await y.json();else{v=await y.text();try{v=JSON.parse(v||"{}")}catch(b){if(y.ok)throw b;v={error:v}}}if(!y.ok)throw new s.HttpRequestError({body:a,details:s.stringify(v.error)||y.statusText,headers:y.headers,status:y.status,url:r});return v}catch(y){throw y instanceof s.HttpRequestError||y instanceof s.TimeoutError?y:new s.HttpRequestError({body:a,cause:y,url:r})}}}}function zr(e){try{const t=new URL(e),r=(()=>{if(t.username){const n=`${decodeURIComponent(t.username)}:${decodeURIComponent(t.password)}`;return t.username="",t.password="",{url:t.toString(),headers:{Authorization:`Basic ${btoa(n)}`}}}})();return{url:t.toString(),...r}}catch{return{url:e}}}const Fr=`Ethereum Signed Message:
2
+ `;function _r(e){const t=typeof e=="string"?p.stringToHex(e):typeof e.raw=="string"?e.raw:p.bytesToHex(e.raw),r=p.stringToHex(`${Fr}${p.size(t)}`);return p.concat([r,t])}function at(e,t){return p.keccak256(_r(e),t)}class $r extends p.BaseError{constructor({domain:t}){super(`Invalid domain "${s.stringify(t)}".`,{metaMessages:["Must be a valid EIP-712 domain."]})}}class Ur extends p.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 qr extends p.BaseError{constructor({type:t}){super(`Struct type "${t}" is invalid.`,{metaMessages:["Struct type must not be a Solidity type."],name:"InvalidStructTypeError"})}}function Dr(e){const{domain:t,message:r,primaryType:n,types:o}=e,a=(u,f)=>{const d={...f};for(const l of u){const{name:h,type:m}=l;m==="address"&&(d[h]=d[h].toLowerCase())}return d},i=o.EIP712Domain?t?a(o.EIP712Domain,t):{}:{},c=(()=>{if(n!=="EIP712Domain")return a(o[n],r)})();return s.stringify({domain:i,message:c,primaryType:n,types:o})}function it(e){const{domain:t,message:r,primaryType:n,types:o}=e,a=(i,c)=>{for(const u of i){const{name:f,type:d}=u,l=c[f],h=d.match(s.integerRegex);if(h&&(typeof l=="number"||typeof l=="bigint")){const[v,b,g]=h;p.numberToHex(l,{signed:b==="int",size:Number.parseInt(g,10)/8})}if(d==="address"&&typeof l=="string"&&!p.isAddress(l))throw new p.InvalidAddressError({address:l});const m=d.match(s.bytesRegex);if(m){const[v,b]=m;if(b&&p.size(l)!==Number.parseInt(b,10))throw new s.BytesSizeMismatchError({expectedSize:Number.parseInt(b,10),givenSize:p.size(l)})}const y=o[d];y&&(Or(d),a(y,l))}};if(o.EIP712Domain&&t){if(typeof t!="object")throw new $r({domain:t});a(o.EIP712Domain,t)}if(n!=="EIP712Domain")if(o[n])a(o[n],r);else throw new Ur({primaryType:n,types:o})}function ct({domain:e}){return[typeof e?.name=="string"&&{name:"name",type:"string"},e?.version&&{name:"version",type:"string"},(typeof e?.chainId=="number"||typeof e?.chainId=="bigint")&&{name:"chainId",type:"uint256"},e?.verifyingContract&&{name:"verifyingContract",type:"address"},e?.salt&&{name:"salt",type:"bytes32"}].filter(Boolean)}function Or(e){if(e==="address"||e==="bool"||e==="string"||e.startsWith("bytes")||e.startsWith("uint")||e.startsWith("int"))throw new qr({type:e})}function Lr(e){const{domain:t={},message:r,primaryType:n}=e,o={EIP712Domain:ct({domain:t}),...e.types};it({domain:t,message:r,primaryType:n,types:o});const a=["0x1901"];return t&&a.push(Mr({domain:t,types:o})),n!=="EIP712Domain"&&a.push(ut({data:r,primaryType:n,types:o})),p.keccak256(p.concat(a))}function Mr({domain:e,types:t}){return ut({data:e,primaryType:"EIP712Domain",types:t})}function ut({data:e,primaryType:t,types:r}){const n=dt({data:e,primaryType:t,types:r});return p.keccak256(n)}function dt({data:e,primaryType:t,types:r}){const n=[{type:"bytes32"}],o=[Hr({primaryType:t,types:r})];for(const a of r[t]){const[i,c]=lt({types:r,name:a.name,type:a.type,value:e[a.name]});n.push(i),o.push(c)}return s.encodeAbiParameters(n,o)}function Hr({primaryType:e,types:t}){const r=p.toHex(jr({primaryType:e,types:t}));return p.keccak256(r)}function jr({primaryType:e,types:t}){let r="";const n=ft({primaryType:e,types:t});n.delete(e);const o=[e,...Array.from(n).sort()];for(const a of o)r+=`${a}(${t[a].map(({name:i,type:c})=>`${c} ${i}`).join(",")})`;return r}function ft({primaryType:e,types:t},r=new Set){const o=e.match(/^\w*/u)?.[0];if(r.has(o)||t[o]===void 0)return r;r.add(o);for(const a of t[o])ft({primaryType:a.type,types:t},r);return r}function lt({types:e,name:t,type:r,value:n}){if(e[r]!==void 0)return[{type:"bytes32"},p.keccak256(dt({data:n,primaryType:r,types:e}))];if(r==="bytes")return[{type:"bytes32"},p.keccak256(n)];if(r==="string")return[{type:"bytes32"},p.keccak256(p.toHex(n))];if(r.lastIndexOf("]")===r.length-1){const o=r.slice(0,r.lastIndexOf("[")),a=n.map(i=>lt({name:t,type:o,types:e,value:i}));return[{type:"bytes32"},p.keccak256(s.encodeAbiParameters(a.map(([i])=>i),a.map(([,i])=>i)))]}return[{type:r},n]}class Wr 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 Vr={checksum:new Wr(8192)},ae=Vr.checksum;function ht(e,t={}){const{as:r=typeof e=="string"?"Hex":"Bytes"}=t,n=p.keccak_256(qt(e));return r==="Bytes"?n:s.fromBytes(n)}const Gr=/^0x[a-fA-F0-9]{40}$/;function ne(e,t={}){const{strict:r=!0}=t;if(!Gr.test(e))throw new qe({address:e,cause:new Zr});if(r){if(e.toLowerCase()===e)return;if(pt(e)!==e)throw new qe({address:e,cause:new Jr})}}function pt(e){if(ae.has(e))return ae.get(e);ne(e,{strict:!1});const t=e.substring(2).toLowerCase(),r=ht(Ot(t),{as:"Bytes"}),n=t.split("");for(let a=0;a<40;a+=2)r[a>>1]>>4>=8&&n[a]&&(n[a]=n[a].toUpperCase()),(r[a>>1]&15)>=8&&n[a+1]&&(n[a+1]=n[a+1].toUpperCase());const o=`0x${n.join("")}`;return ae.set(e,o),o}function le(e,t={}){const{strict:r=!0}=t??{};try{return ne(e,{strict:r}),!0}catch{return!1}}class qe 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 Zr 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 Jr 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"})}}const Yr=/^(.*)\[([0-9]*)\]$/,Kr=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,mt=/^(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)?$/,De=2n**256n-1n;function H(e,t,r){const{checksumAddress:n,staticPosition:o}=r,a=Re(t.type);if(a){const[i,c]=a;return Xr(e,{...t,type:c},{checksumAddress:n,length:i,staticPosition:o})}if(t.type==="tuple")return nn(e,t,{checksumAddress:n,staticPosition:o});if(t.type==="address")return Qr(e,{checksum:n});if(t.type==="bool")return en(e);if(t.type.startsWith("bytes"))return tn(e,t,{staticPosition:o});if(t.type.startsWith("uint")||t.type.startsWith("int"))return rn(e,t);if(t.type==="string")return sn(e,{staticPosition:o});throw new Pe(t.type)}const Oe=32,he=32;function Qr(e,t={}){const{checksum:r=!1}=t,n=e.readBytes(32);return[(a=>r?pt(a):a)(s.fromBytes(Mt(n,-20))),32]}function Xr(e,t,r){const{checksumAddress:n,length:o,staticPosition:a}=r;if(!o){const u=U(e.readBytes(he)),f=a+u,d=f+Oe;e.setPosition(f);const l=U(e.readBytes(Oe)),h=G(t);let m=0;const y=[];for(let v=0;v<l;++v){e.setPosition(d+(h?v*32:m));const[b,g]=H(e,t,{checksumAddress:n,staticPosition:d});m+=g,y.push(b)}return e.setPosition(a+32),[y,32]}if(G(t)){const u=U(e.readBytes(he)),f=a+u,d=[];for(let l=0;l<o;++l){e.setPosition(f+l*32);const[h]=H(e,t,{checksumAddress:n,staticPosition:f});d.push(h)}return e.setPosition(a+32),[d,32]}let i=0;const c=[];for(let u=0;u<o;++u){const[f,d]=H(e,t,{checksumAddress:n,staticPosition:a+i});i+=d,c.push(f)}return[c,i]}function en(e){return[jt(e.readBytes(32),{size:32}),32]}function tn(e,t,{staticPosition:r}){const[n,o]=t.type.split("bytes");if(!o){const i=U(e.readBytes(32));e.setPosition(r+i);const c=U(e.readBytes(32));if(c===0)return e.setPosition(r+32),["0x",32];const u=e.readBytes(c);return e.setPosition(r+32),[s.fromBytes(u),32]}return[s.fromBytes(e.readBytes(Number.parseInt(o,10),32)),32]}function rn(e,t){const r=t.type.startsWith("int"),n=Number.parseInt(t.type.split("int")[1]||"256",10),o=e.readBytes(32);return[n>48?Ht(o,{signed:r}):U(o,{signed:r}),32]}function nn(e,t,r){const{checksumAddress:n,staticPosition:o}=r,a=t.components.length===0||t.components.some(({name:u})=>!u),i=a?[]:{};let c=0;if(G(t)){const u=U(e.readBytes(he)),f=o+u;for(let d=0;d<t.components.length;++d){const l=t.components[d];e.setPosition(f+c);const[h,m]=H(e,l,{checksumAddress:n,staticPosition:f});c+=m,i[a?d:l?.name]=h}return e.setPosition(o+32),[i,32]}for(let u=0;u<t.components.length;++u){const f=t.components[u],[d,l]=H(e,f,{checksumAddress:n,staticPosition:o});i[a?u:f?.name]=d,c+=l}return[i,c]}function sn(e,{staticPosition:t}){const r=U(e.readBytes(32)),n=t+r;e.setPosition(n);const o=U(e.readBytes(32));if(o===0)return e.setPosition(t+32),["",32];const a=e.readBytes(o,32),i=Wt(We(a));return e.setPosition(t+32),[i,32]}function on({checksumAddress:e,parameters:t,values:r}){const n=[];for(let o=0;o<t.length;o++)n.push(Te({checksumAddress:e,parameter:t[o],value:r[o]}));return n}function Te({checksumAddress:e=!1,parameter:t,value:r}){const n=t,o=Re(n.type);if(o){const[a,i]=o;return cn(r,{checksumAddress:e,length:a,parameter:{...n,type:i}})}if(n.type==="tuple")return hn(r,{checksumAddress:e,parameter:n});if(n.type==="address")return an(r,{checksum:e});if(n.type==="bool")return dn(r);if(n.type.startsWith("uint")||n.type.startsWith("int")){const a=n.type.startsWith("int"),[,,i="256"]=mt.exec(n.type)??[];return fn(r,{signed:a,size:Number(i)})}if(n.type.startsWith("bytes"))return un(r,{type:n.type});if(n.type==="string")return ln(r);throw new Pe(n.type)}function xe(e){let t=0;for(let a=0;a<e.length;a++){const{dynamic:i,encoded:c}=e[a];i?t+=32:t+=s.size(c)}const r=[],n=[];let o=0;for(let a=0;a<e.length;a++){const{dynamic:i,encoded:c}=e[a];i?(r.push(s.fromNumber(t+o,{size:32})),n.push(c),o+=s.size(c)):r.push(c)}return s.concat(...r,...n)}function an(e,t){const{checksum:r=!1}=t;return ne(e,{strict:r}),{dynamic:!1,encoded:s.padLeft(e.toLowerCase())}}function cn(e,t){const{checksumAddress:r,length:n,parameter:o}=t,a=n===null;if(!Array.isArray(e))throw new An(e);if(!a&&e.length!==n)throw new En({expectedLength:n,givenLength:e.length,type:`${o.type}[${n}]`});let i=!1;const c=[];for(let u=0;u<e.length;u++){const f=Te({checksumAddress:r,parameter:o,value:e[u]});f.dynamic&&(i=!0),c.push(f)}if(a||i){const u=xe(c);if(a){const f=s.fromNumber(c.length,{size:32});return{dynamic:!0,encoded:c.length>0?s.concat(f,u):f}}if(i)return{dynamic:!0,encoded:u}}return{dynamic:!1,encoded:s.concat(...c.map(({encoded:u})=>u))}}function un(e,{type:t}){const[,r]=t.split("bytes"),n=s.size(e);if(!r){let o=e;return n%32!==0&&(o=s.padRight(o,Math.ceil((e.length-2)/2/32)*32)),{dynamic:!0,encoded:s.concat(s.padLeft(s.fromNumber(n,{size:32})),o)}}if(n!==Number.parseInt(r,10))throw new gt({expectedSize:Number.parseInt(r,10),value:e});return{dynamic:!1,encoded:s.padRight(e)}}function dn(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 fn(e,{signed:t,size:r}){if(typeof r=="number"){const n=2n**(BigInt(r)-(t?1n:0n))-1n,o=t?-n-1n:0n;if(e>n||e<o)throw new s.IntegerOutOfRangeError({max:n.toString(),min:o.toString(),signed:t,size:r/8,value:e.toString()})}return{dynamic:!1,encoded:s.fromNumber(e,{size:32,signed:t})}}function ln(e){const t=s.fromString(e),r=Math.ceil(s.size(t)/32),n=[];for(let o=0;o<r;o++)n.push(s.padRight(s.slice(t,o*32,(o+1)*32)));return{dynamic:!0,encoded:s.concat(s.padRight(s.fromNumber(s.size(t),{size:32})),...n)}}function hn(e,t){const{checksumAddress:r,parameter:n}=t;let o=!1;const a=[];for(let i=0;i<n.components.length;i++){const c=n.components[i],u=Array.isArray(e)?i:c.name,f=Te({checksumAddress:r,parameter:c,value:e[u]});a.push(f),f.dynamic&&(o=!0)}return{dynamic:o,encoded:o?xe(a):s.concat(...a.map(({encoded:i})=>i))}}function Re(e){const t=e.match(/^(.*)\[(\d+)?\]$/);return t?[t[2]?Number(t[2]):null,t[1]]:void 0}function G(e){const{type:t}=e;if(t==="string"||t==="bytes"||t.endsWith("[]"))return!0;if(t==="tuple")return e.components?.some(G);const r=Re(e.type);return!!(r&&G({...e,type:r[1]}))}const pn={bytes:new Uint8Array,dataView:new DataView(new ArrayBuffer(0)),position:0,positionReadCount:new Map,recursiveReadCount:0,recursiveReadLimit:Number.POSITIVE_INFINITY,assertReadLimit(){if(this.recursiveReadCount>=this.recursiveReadLimit)throw new gn({count:this.recursiveReadCount+1,limit:this.recursiveReadLimit})},assertPosition(e){if(e<0||e>this.bytes.length-1)throw new yn({length:this.bytes.length,position:e})},decrementPosition(e){if(e<0)throw new Le({offset:e});const t=this.position-e;this.assertPosition(t),this.position=t},getReadCount(e){return this.positionReadCount.get(e||this.position)||0},incrementPosition(e){if(e<0)throw new Le({offset:e});const t=this.position+e;this.assertPosition(t),this.position=t},inspectByte(e){const t=e??this.position;return this.assertPosition(t),this.bytes[t]},inspectBytes(e,t){const r=t??this.position;return this.assertPosition(r+e-1),this.bytes.subarray(r,r+e)},inspectUint8(e){const t=e??this.position;return this.assertPosition(t),this.bytes[t]},inspectUint16(e){const t=e??this.position;return this.assertPosition(t+1),this.dataView.getUint16(t)},inspectUint24(e){const t=e??this.position;return this.assertPosition(t+2),(this.dataView.getUint16(t)<<8)+this.dataView.getUint8(t+2)},inspectUint32(e){const t=e??this.position;return this.assertPosition(t+3),this.dataView.getUint32(t)},pushByte(e){this.assertPosition(this.position),this.bytes[this.position]=e,this.position++},pushBytes(e){this.assertPosition(this.position+e.length-1),this.bytes.set(e,this.position),this.position+=e.length},pushUint8(e){this.assertPosition(this.position),this.bytes[this.position]=e,this.position++},pushUint16(e){this.assertPosition(this.position+1),this.dataView.setUint16(this.position,e),this.position+=2},pushUint24(e){this.assertPosition(this.position+2),this.dataView.setUint16(this.position,e>>8),this.dataView.setUint8(this.position+2,e&255),this.position+=3},pushUint32(e){this.assertPosition(this.position+3),this.dataView.setUint32(this.position,e),this.position+=4},readByte(){this.assertReadLimit(),this._touch();const e=this.inspectByte();return this.position++,e},readBytes(e,t){this.assertReadLimit(),this._touch();const r=this.inspectBytes(e);return this.position+=t??e,r},readUint8(){this.assertReadLimit(),this._touch();const e=this.inspectUint8();return this.position+=1,e},readUint16(){this.assertReadLimit(),this._touch();const e=this.inspectUint16();return this.position+=2,e},readUint24(){this.assertReadLimit(),this._touch();const e=this.inspectUint24();return this.position+=3,e},readUint32(){this.assertReadLimit(),this._touch();const e=this.inspectUint32();return this.position+=4,e},get remaining(){return this.bytes.length-this.position},setPosition(e){const t=this.position;return this.assertPosition(e),this.position=e,()=>this.position=t},_touch(){if(this.recursiveReadLimit===Number.POSITIVE_INFINITY)return;const e=this.getReadCount();this.positionReadCount.set(this.position,e+1),e>0&&this.recursiveReadCount++}};function mn(e,{recursiveReadLimit:t=8192}={}){const r=Object.create(pn);return r.bytes=e,r.dataView=new DataView(e.buffer,e.byteOffset,e.byteLength),r.positionReadCount=new Map,r.recursiveReadLimit=t,r}class Le extends s.BaseError{constructor({offset:t}){super(`Offset \`${t}\` cannot be negative.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Cursor.NegativeOffsetError"})}}class yn extends s.BaseError{constructor({length:t,position:r}){super(`Position \`${r}\` is out of bounds (\`0 < position < ${t}\`).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Cursor.PositionOutOfBoundsError"})}}class gn extends s.BaseError{constructor({count:t,limit:r}){super(`Recursive read limit of \`${r}\` exceeded (recursive read count: \`${t}\`).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Cursor.RecursiveReadLimitExceededError"})}}function bn(e,t,r={}){const{as:n="Array",checksumAddress:o=!1}=r,a=typeof t=="string"?je(t):t,i=mn(a);if(L(a)===0&&e.length>0)throw new vn;if(L(a)&&L(a)<32)throw new wn({data:typeof t=="string"?t:s.fromBytes(t),parameters:e,size:L(a)});let c=0;const u=n==="Array"?[]:{};for(let f=0;f<e.length;++f){const d=e[f];i.setPosition(c);const[l,h]=H(i,d,{checksumAddress:o,staticPosition:0});c+=h,n==="Array"?u.push(l):u[d.name??f]=l}return u}function Ce(e,t,r){const{checksumAddress:n=!1}={};if(e.length!==t.length)throw new bt({expectedLength:e.length,givenLength:t.length});const o=on({checksumAddress:n,parameters:e,values:t}),a=xe(o);return a.length===0?"0x":a}function pe(e,t){if(e.length!==t.length)throw new bt({expectedLength:e.length,givenLength:t.length});const r=[];for(let n=0;n<e.length;n++){const o=e[n],a=t[n];r.push(pe.encode(o,a))}return s.concat(...r)}(function(e){function t(r,n,o=!1){if(r==="address"){const u=n;return ne(u),s.padLeft(u.toLowerCase(),o?32:0)}if(r==="string")return s.fromString(n);if(r==="bytes")return n;if(r==="bool")return s.padLeft(s.fromBoolean(n),o?32:1);const a=r.match(mt);if(a){const[u,f,d="256"]=a,l=Number.parseInt(d,10)/8;return s.fromNumber(n,{size:o?32:l,signed:f==="int"})}const i=r.match(Kr);if(i){const[u,f]=i;if(Number.parseInt(f,10)!==(n.length-2)/2)throw new gt({expectedSize:Number.parseInt(f,10),value:n});return s.padRight(n,o?32:0)}const c=r.match(Yr);if(c&&Array.isArray(n)){const[u,f]=c,d=[];for(let l=0;l<n.length;l++)d.push(t(f,n[l],!0));return d.length===0?"0x":s.concat(...d)}throw new Pe(r)}e.encode=t})(pe||(pe={}));function yt(e){return Array.isArray(e)&&typeof e[0]=="string"||typeof e=="string"?Fe(e):e}class wn extends s.BaseError{constructor({data:t,parameters:r,size:n}){super(`Data size of ${n} bytes is too small for given parameters.`,{metaMessages:[`Params: (${s.formatAbiParameters(r)})`,`Data: ${t} (${n} bytes)`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.DataSizeTooSmallError"})}}class vn extends s.BaseError{constructor(){super('Cannot decode zero data ("0x") with ABI parameters.'),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.ZeroDataError"})}}class En 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 gt 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 bt 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 An 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 Pe 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 wt(e,t={}){const{recovered:r}=t;if(typeof e.r>"u")throw new ie({signature:e});if(typeof e.s>"u")throw new ie({signature:e});if(r&&typeof e.yParity>"u")throw new ie({signature:e});if(e.r<0n||e.r>De)throw new Bn({value:e.r});if(e.s<0n||e.s>De)throw new kn({value:e.s});if(typeof e.yParity=="number"&&e.yParity!==0&&e.yParity!==1)throw new Be({value:e.yParity})}function Tn(e){return vt(s.fromBytes(e))}function vt(e){if(e.length!==130&&e.length!==132)throw new In({signature:e});const t=BigInt(s.slice(e,0,32)),r=BigInt(s.slice(e,32,64)),n=(()=>{const o=+`0x${e.slice(130)}`;if(!Number.isNaN(o))try{return Ie(o)}catch{throw new Be({value:o})}})();return typeof n>"u"?{r:t,s:r}:{r:t,s:r,yParity:n}}function xn(e){if(!(typeof e.r>"u")&&!(typeof e.s>"u"))return Rn(e)}function Rn(e){const t=typeof e=="string"?vt(e):e instanceof Uint8Array?Tn(e):typeof e.r=="string"?Pn(e):e.v?Cn(e):{r:e.r,s:e.s,...typeof e.yParity<"u"?{yParity:e.yParity}:{}};return wt(t),t}function Cn(e){return{r:e.r,s:e.s,yParity:Ie(e.v)}}function Pn(e){const t=(()=>{const r=e.v?Number(e.v):void 0;let n=e.yParity?Number(e.yParity):void 0;if(typeof r=="number"&&typeof n!="number"&&(n=Ie(r)),typeof n!="number")throw new Be({value:e.yParity});return n})();return{r:BigInt(e.r),s:BigInt(e.s),yParity:t}}function Ie(e){if(e===0||e===27)return 0;if(e===1||e===28)return 1;if(e>=35)return e%2===0?1:0;throw new Nn({value:e})}class In extends s.BaseError{constructor({signature:t}){super(`Value \`${t}\` is an invalid signature size.`,{metaMessages:["Expected: 64 bytes or 65 bytes.",`Received ${s.size(s.from(t))} bytes.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.InvalidSerializedSizeError"})}}class ie extends s.BaseError{constructor({signature:t}){super(`Signature \`${s.stringify$1(t)}\` is missing either an \`r\`, \`s\`, or \`yParity\` property.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.MissingPropertiesError"})}}class Bn extends s.BaseError{constructor({value:t}){super(`Value \`${t}\` is an invalid r value. r must be a positive integer less than 2^256.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.InvalidRError"})}}class kn extends s.BaseError{constructor({value:t}){super(`Value \`${t}\` is an invalid s value. s must be a positive integer less than 2^256.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.InvalidSError"})}}class Be extends s.BaseError{constructor({value:t}){super(`Value \`${t}\` is an invalid y-parity value. Y-parity must be 0 or 1.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.InvalidYParityError"})}}class Nn extends s.BaseError{constructor({value:t}){super(`Value \`${t}\` is an invalid v value. v must be 27, 28 or >=35.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.InvalidVError"})}}function Sn(e,t={}){return typeof e.chainId=="string"?zn(e):{...e,...t.signature}}function zn(e){const{address:t,chainId:r,nonce:n}=e,o=xn(e);return{address:t,chainId:Number(r),nonce:BigInt(n),...o}}const Fn="0x8010801080108010801080108010801080108010801080108010801080108010",_n=yt("(uint256 chainId, address delegation, uint256 nonce, uint8 yParity, uint256 r, uint256 s), address to, bytes data");function Et(e){if(typeof e=="string"){if(s.slice(e,-32)!==Fn)throw new qn(e)}else wt(e.authorization)}function $n(e){Et(e);const t=s.toNumber(s.slice(e,-64,-32)),r=s.slice(e,-t-64,-64),n=s.slice(e,0,-t-64),[o,a,i]=bn(_n,r);return{authorization:Sn({address:o.delegation,chainId:Number(o.chainId),nonce:o.nonce,yParity:o.yParity,r:o.r,s:o.s}),signature:n,...i&&i!=="0x"?{data:i,to:a}:{}}}function Un(e){try{return Et(e),!0}catch{return!1}}let qn=class extends s.BaseError{constructor(t){super(`Value \`${t}\` is an invalid ERC-8010 wrapped signature.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"SignatureErc8010.InvalidWrappedSignatureError"})}};function Dn(e){return e.map(t=>({...t,value:BigInt(t.value)}))}function On(e){return{...e,balance:e.balance?BigInt(e.balance):void 0,nonce:e.nonce?p.hexToNumber(e.nonce):void 0,storageProof:e.storageProof?Dn(e.storageProof):void 0}}async function Ln(e,{address:t,blockNumber:r,blockTag:n,storageKeys:o}){const a=n??"latest",i=r!==void 0?p.numberToHex(r):void 0,c=await e.request({method:"eth_getProof",params:[t,o,i||a]});return On(c)}async function Mn(e,{address:t,blockNumber:r,blockTag:n="latest",slot:o}){const a=r!==void 0?p.numberToHex(r):void 0;return await e.request({method:"eth_getStorageAt",params:[t,o,a||n]})}async function ke(e,{blockHash:t,blockNumber:r,blockTag:n,hash:o,index:a,sender:i,nonce:c}){const u=n||"latest",f=r!==void 0?p.numberToHex(r):void 0;let d=null;if(o?d=await e.request({method:"eth_getTransactionByHash",params:[o]},{dedupe:!0}):t?d=await e.request({method:"eth_getTransactionByBlockHashAndIndex",params:[t,p.numberToHex(a)]},{dedupe:!0}):typeof a=="number"?d=await e.request({method:"eth_getTransactionByBlockNumberAndIndex",params:[f||u,p.numberToHex(a)]},{dedupe:!!f}):i&&typeof c=="number"&&(d=await e.request({method:"eth_getTransactionBySenderAndNonce",params:[i,p.numberToHex(c)]},{dedupe:!0})),!d)throw new p.TransactionNotFoundError({blockHash:t,blockNumber:r,blockTag:u,hash:o,index:a});return(e.chain?.formatters?.transaction?.format||p.formatTransaction)(d,"getTransaction")}async function Hn(e,{hash:t,transactionReceipt:r}){const[n,o]=await Promise.all([s.getAction(e,s.getBlockNumber,"getBlockNumber")({}),t?s.getAction(e,ke,"getTransaction")({hash:t}):void 0]),a=r?.blockNumber||o?.blockNumber;return a?n-a+1n:0n}async function ee(e,{hash:t}){const r=await e.request({method:"eth_getTransactionReceipt",params:[t]},{dedupe:!0});if(!r)throw new p.TransactionReceiptNotFoundError({hash:t});return(e.chain?.formatters?.transactionReceipt?.format||p.formatTransactionReceipt)(r,"getTransactionReceipt")}async function jn(e,t){const{account:r,authorizationList:n,allowFailure:o=!0,blockNumber:a,blockOverrides:i,blockTag:c,stateOverride:u}=t,f=t.contracts,{batchSize:d=t.batchSize??1024,deployless:l=t.deployless??!1}=typeof e.batch?.multicall=="object"?e.batch.multicall:{},h=(()=>{if(t.multicallAddress)return t.multicallAddress;if(l)return null;if(e.chain)return s.getChainContractAddress({blockNumber:a,chain:e.chain,contract:"multicall3"});throw new Error("client chain not configured. multicallAddress is required.")})(),m=[[]];let y=0,v=0;for(let w=0;w<f.length;w++){const{abi:E,address:x,args:C,functionName:R}=f[w];try{const A=s.encodeFunctionData({abi:E,args:C,functionName:R});v+=(A.length-2)/2,d>0&&v>d&&m[y].length>0&&(y++,v=(A.length-2)/2,m[y]=[]),m[y]=[...m[y],{allowFailure:!0,callData:A,target:x}]}catch(A){const P=s.getContractError(A,{abi:E,address:x,args:C,docsPath:"/docs/contract/multicall",functionName:R,sender:r});if(!o)throw P;m[y]=[...m[y],{allowFailure:!0,callData:"0x",target:x}]}}const b=await Promise.allSettled(m.map(w=>s.getAction(e,s.readContract,"readContract")({...h===null?{code:s.multicall3Bytecode}:{address:h},abi:s.multicall3Abi,account:r,args:[w],authorizationList:n,blockNumber:a,blockOverrides:i,blockTag:c,functionName:"aggregate3",stateOverride:u}))),g=[];for(let w=0;w<b.length;w++){const E=b[w];if(E.status==="rejected"){if(!o)throw E.reason;for(let C=0;C<m[w].length;C++)g.push({status:"failure",error:E.reason,result:void 0});continue}const x=E.value;for(let C=0;C<x.length;C++){const{returnData:R,success:A}=x[C],{callData:P}=m[w][C],{abi:B,address:I,functionName:N,args:k}=f[g.length];try{if(P==="0x")throw new s.AbiDecodingZeroDataError;if(!A)throw new s.RawContractError({data:R});const z=s.decodeFunctionResult({abi:B,args:k,data:R,functionName:N});g.push(o?{result:z,status:"success"}:z)}catch(z){const q=s.getContractError(z,{abi:B,address:I,args:k,docsPath:"/docs/contract/multicall",functionName:N});if(!o)throw q;g.push({error:q,result:void 0,status:"failure"})}}}if(g.length!==f.length)throw new p.BaseError("multicall results mismatch");return g}async function me(e,t){const{blockNumber:r,blockTag:n=e.experimental_blockTag??"latest",blocks:o,returnFullTransactions:a,traceTransfers:i,validation:c}=t;try{const u=[];for(const h of o){const m=h.blockOverrides?s.toRpc(h.blockOverrides):void 0,y=h.calls.map(b=>{const g=b,w=g.account?s.parseAccount(g.account):void 0,E=g.abi?s.encodeFunctionData(g):g.data,x={...g,account:w,data:g.dataSuffix?p.concat([E||"0x",g.dataSuffix]):E,from:g.from??w?.address};return s.assertRequest(x),s.formatTransactionRequest(x)}),v=h.stateOverrides?s.serializeStateOverride(h.stateOverrides):void 0;u.push({blockOverrides:m,calls:y,stateOverrides:v})}const d=(typeof r=="bigint"?p.numberToHex(r):void 0)||n;return(await e.request({method:"eth_simulateV1",params:[{blockStateCalls:u,returnFullTransactions:a,traceTransfers:i,validation:c},d]})).map((h,m)=>({...p.formatBlock(h),calls:h.calls.map((y,v)=>{const{abi:b,args:g,functionName:w,to:E}=o[m].calls[v],x=y.error?.data??y.returnData,C=BigInt(y.gasUsed),R=y.logs?.map(I=>p.formatLog(I)),A=y.status==="0x1"?"success":"failure",P=b&&A==="success"&&x!=="0x"?s.decodeFunctionResult({abi:b,data:x,functionName:w}):null,B=(()=>{if(A==="success")return;let I;if(y.error?.data==="0x"?I=new s.AbiDecodingZeroDataError:y.error&&(I=new s.RawContractError(y.error)),!!I)return s.getContractError(I,{abi:b??[],address:E??"0x",args:g,functionName:w??"<unknown>"})})();return{data:x,gasUsed:C,logs:R,status:A,...A==="success"?{result:P}:{error:B}}})}))}catch(u){const f=u,d=s.getNodeError(f,{});throw d instanceof p.UnknownNodeError?f:d}}function ye(e){let t=!0,r="",n=0,o="",a=!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(o))o="";else if(o+=c,c===")"){a=!0;break}continue}if(c===" "){e[i-1]!==","&&r!==","&&r!==",("&&(r="",t=!1);continue}o+=c,r+=c}}if(!a)throw new s.BaseError("Unable to normalize signature.");return o}function ge(e,t){const r=typeof e,n=t.type;switch(n){case"address":return le(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((o,a)=>ge(Object.values(e)[a],o)):/^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(o=>ge(o,{...t,type:n.replace(/(\[[0-9]{0,}\])$/,"")})):!1}}function At(e,t,r){for(const n in e){const o=e[n],a=t[n];if(o.type==="tuple"&&a.type==="tuple"&&"components"in o&&"components"in a)return At(o.components,a.components,r[n]);const i=[o.type,a.type];if(i.includes("address")&&i.includes("bytes20")?!0:i.includes("address")&&i.includes("string")?le(r[n],{strict:!1}):i.includes("address")&&i.includes("bytes")?le(r[n],{strict:!1}):!1)return i}}function Tt(e,t={}){const{prepare:r=!0}=t,n=Array.isArray(e)||typeof e=="string"?ze(e):e;return{...n,...r?{hash:M(n)}:{}}}function se(e,t,r){const{args:n=[],prepare:o=!0}=r??{},a=s.validate(t,{strict:!1}),i=e.filter(f=>a?f.type==="function"||f.type==="error"?xt(f)===s.slice(t,0,4):f.type==="event"?M(f)===t:!1:"name"in f&&f.name===t);if(i.length===0)throw new re({name:t});if(i.length===1)return{...i[0],...o?{hash:M(i[0])}:{}};let c;for(const f of i){if(!("inputs"in f))continue;if(!n||n.length===0){if(!f.inputs||f.inputs.length===0)return{...f,...o?{hash:M(f)}:{}};continue}if(!f.inputs||f.inputs.length===0||f.inputs.length!==n.length)continue;if(n.every((l,h)=>{const m="inputs"in f&&f.inputs[h];return m?ge(l,m):!1})){if(c&&"inputs"in c&&c.inputs){const l=At(f.inputs,c.inputs,n);if(l)throw new Vn({abiItem:f,type:l[0]},{abiItem:c,type:l[1]})}c=f}}const u=(()=>{if(c)return c;const[f,...d]=i;return{...f,overloads:d}})();if(!u)throw new re({name:t});return{...u,...o?{hash:M(u)}:{}}}function xt(...e){const t=(()=>{if(Array.isArray(e[0])){const[r,n]=e;return se(r,n)}return e[0]})();return s.slice(M(t),0,4)}function Wn(...e){const t=(()=>{if(Array.isArray(e[0])){const[n,o]=e;return se(n,o)}return e[0]})(),r=typeof t=="string"?t:s.formatAbiItem$1(t);return ye(r)}function M(...e){const t=(()=>{if(Array.isArray(e[0])){const[r,n]=e;return se(r,n)}return e[0]})();return typeof t!="string"&&"hash"in t&&t.hash?t.hash:ht(s.fromString(Wn(t)))}class Vn extends s.BaseError{constructor(t,r){super("Found ambiguous types in overloaded ABI Items.",{metaMessages:[`\`${t.type}\` in \`${ye(s.formatAbiItem$1(t.abiItem))}\`, and`,`\`${r.type}\` in \`${ye(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 re extends s.BaseError{constructor({name:t,data:r,type:n="item"}){const o=t?` with name "${t}"`:r?` with data "${r}"`:"";super(`ABI ${n}${o} not found.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiItem.NotFoundError"})}}function Gn(...e){const[t,r]=(()=>{if(Array.isArray(e[0])){const[a,i]=e;return[Jn(a),i]}return e})(),{bytecode:n,args:o}=r;return s.concat(n,t.inputs?.length&&o?.length?Ce(t.inputs,o):"0x")}function Zn(e){return Tt(e)}function Jn(e){const t=e.find(r=>r.type==="constructor");if(!t)throw new re({name:"constructor"});return t}function Yn(...e){const[t,r=[]]=(()=>{if(Array.isArray(e[0])){const[f,d,l]=e;return[Me(f,d,{args:l}),l]}const[c,u]=e;return[c,u]})(),{overloads:n}=t,o=n?Me([t,...n],t.name,{args:r}):t,a=Kn(o),i=r.length>0?Ce(o.inputs,r):void 0;return i?s.concat(a,i):a}function O(e,t={}){return Tt(e,t)}function Me(e,t,r){const n=se(e,t,r);if(n.type!=="function")throw new re({name:t,type:"function"});return n}function Kn(e){return xt(e)}const Qn="0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee",_="0x0000000000000000000000000000000000000000",Xn="0x6080604052348015600e575f80fd5b5061016d8061001c5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c8063f8b2cb4f1461002d575b5f80fd5b610047600480360381019061004291906100db565b61005d565b604051610054919061011e565b60405180910390f35b5f8173ffffffffffffffffffffffffffffffffffffffff16319050919050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6100aa82610081565b9050919050565b6100ba816100a0565b81146100c4575f80fd5b50565b5f813590506100d5816100b1565b92915050565b5f602082840312156100f0576100ef61007d565b5b5f6100fd848285016100c7565b91505092915050565b5f819050919050565b61011881610106565b82525050565b5f6020820190506101315f83018461010f565b9291505056fea26469706673582212203b9fe929fe995c7cf9887f0bdba8a36dd78e8b73f149b17d2d9ad7cd09d2dc6264736f6c634300081a0033";async function es(e,t){const{blockNumber:r,blockTag:n,calls:o,stateOverrides:a,traceAssetChanges:i,traceTransfers:c,validation:u}=t,f=t.account?s.parseAccount(t.account):void 0;if(i&&!f)throw new p.BaseError("`account` is required when `traceAssetChanges` is true");const d=f?Gn(Zn("constructor(bytes, bytes)"),{bytecode:s.deploylessCallViaBytecodeBytecode,args:[Xn,Yn(O("function getBalance(address)"),[f.address])]}):void 0,l=i?await Promise.all(t.calls.map(async T=>{if(!T.data&&!T.abi)return;const{accessList:S}=await nt(e,{account:f.address,...T,data:T.abi?s.encodeFunctionData(T):T.data});return S.map(({address:W,storageKeys:Y})=>Y.length>0?W:null)})).then(T=>T.flat().filter(Boolean)):[],h=await me(e,{blockNumber:r,blockTag:n,blocks:[...i?[{calls:[{data:d}],stateOverrides:a},{calls:l.map((T,S)=>({abi:[O("function balanceOf(address) returns (uint256)")],functionName:"balanceOf",args:[f.address],to:T,from:_,nonce:S})),stateOverrides:[{address:_,nonce:0}]}]:[],{calls:[...o,{}].map(T=>({...T,from:f?.address})),stateOverrides:a},...i?[{calls:[{data:d}]},{calls:l.map((T,S)=>({abi:[O("function balanceOf(address) returns (uint256)")],functionName:"balanceOf",args:[f.address],to:T,from:_,nonce:S})),stateOverrides:[{address:_,nonce:0}]},{calls:l.map((T,S)=>({to:T,abi:[O("function decimals() returns (uint256)")],functionName:"decimals",from:_,nonce:S})),stateOverrides:[{address:_,nonce:0}]},{calls:l.map((T,S)=>({to:T,abi:[O("function tokenURI(uint256) returns (string)")],functionName:"tokenURI",args:[0n],from:_,nonce:S})),stateOverrides:[{address:_,nonce:0}]},{calls:l.map((T,S)=>({to:T,abi:[O("function symbol() returns (string)")],functionName:"symbol",from:_,nonce:S})),stateOverrides:[{address:_,nonce:0}]}]:[]],traceTransfers:c,validation:u}),m=i?h[2]:h[0],[y,v,,b,g,w,E,x]=i?h:[],{calls:C,...R}=m,A=C.slice(0,-1)??[],P=y?.calls??[],B=v?.calls??[],I=[...P,...B].map(T=>T.status==="success"?p.hexToBigInt(T.data):null),N=b?.calls??[],k=g?.calls??[],z=[...N,...k].map(T=>T.status==="success"?p.hexToBigInt(T.data):null),q=(w?.calls??[]).map(T=>T.status==="success"?T.result:null),j=(x?.calls??[]).map(T=>T.status==="success"?T.result:null),J=(E?.calls??[]).map(T=>T.status==="success"?T.result:null),F=[];for(const[T,S]of z.entries()){const W=I[T];if(typeof S!="bigint"||typeof W!="bigint")continue;const Y=q[T-1],Nt=j[T-1],St=J[T-1],Se=T===0?{address:Qn,decimals:18,symbol:"ETH"}:{address:l[T-1],decimals:St||Y?Number(Y??1):void 0,symbol:Nt??void 0};F.some(zt=>zt.token.address===Se.address)||F.push({token:Se,value:{pre:W,post:S,diff:S-W}})}return{assetChanges:F,block:R,results:A}}const Rt="0x6492649264926492649264926492649264926492649264926492649264926492";function ts(e){if(s.slice(e,-32)!==Rt)throw new ss(e)}function rs(e){const{data:t,signature:r,to:n}=e;return s.concat(Ce(yt("address, bytes, bytes"),[n,t,r]),Rt)}function ns(e){try{return ts(e),!0}catch{return!1}}class ss extends s.BaseError{constructor(t){super(`Value \`${t}\` is an invalid ERC-6492 wrapped signature.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"SignatureErc6492.InvalidWrappedSignatureError"})}}function os({r:e,s:t,to:r="hex",v:n,yParity:o}){const a=(()=>{if(o===0||o===1)return o;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 Ft.secp256k1.Signature(p.hexToBigInt(e),p.hexToBigInt(t)).toCompactHex()}${a===0?"1b":"1c"}`;return r==="hex"?i:p.hexToBytes(i)}async function oe(e,t){const{address:r,chain:n=e.chain,hash:o,erc6492VerifierAddress:a=t.universalSignatureVerifierAddress??n?.contracts?.erc6492Verifier?.address,multicallAddress:i=t.multicallAddress??n?.contracts?.multicall3?.address}=t;if(n?.verifyHash)return await n.verifyHash(e,t);const c=(()=>{const u=t.signature;return p.isHex(u)?u:typeof u=="object"&&"r"in u&&"s"in u?os(u):p.bytesToHex(u)})();try{return Un(c)?await as(e,{...t,multicallAddress:i,signature:c}):await is(e,{...t,verifierAddress:a,signature:c})}catch(u){try{if(s.isAddressEqual(p.getAddress(r),await s.recoverAddress({hash:o,signature:c})))return!0}catch{}if(u instanceof D)return!1;throw u}}async function as(e,t){const{address:r,blockNumber:n,blockTag:o,hash:a,multicallAddress:i}=t,{authorization:c,data:u,signature:f,to:d}=$n(t.signature);if(await fe(e,{address:r,blockNumber:n,blockTag:o})===p.concatHex(["0xef0100",c.address]))return await cs(e,{address:r,blockNumber:n,blockTag:o,hash:a,signature:f});const h={address:c.address,chainId:Number(c.chainId),nonce:Number(c.nonce),r:p.numberToHex(c.r,{size:32}),s:p.numberToHex(c.s,{size:32}),yParity:c.yParity};if(!await Cr({address:r,authorization:h}))throw new D;const y=await s.getAction(e,s.readContract,"readContract")({...i?{address:i}:{code:s.multicall3Bytecode},authorizationList:[h],abi:s.multicall3Abi,blockNumber:n,blockTag:"pending",functionName:"aggregate3",args:[[...u?[{allowFailure:!0,target:d??r,callData:u}]:[],{allowFailure:!0,target:r,callData:s.encodeFunctionData({abi:s.erc1271Abi,functionName:"isValidSignature",args:[a,f]})}]]});if(y[y.length-1]?.returnData?.startsWith("0x1626ba7e"))return!0;throw new D}async function is(e,t){const{address:r,factory:n,factoryData:o,hash:a,signature:i,verifierAddress:c,...u}=t,f=await(async()=>!n&&!o||ns(i)?i:rs({data:o,signature:i,to:n}))(),d=c?{to:c,data:s.encodeFunctionData({abi:s.erc6492SignatureValidatorAbi,functionName:"isValidSig",args:[r,a,f]}),...u}:{data:s.encodeDeployData({abi:s.erc6492SignatureValidatorAbi,args:[r,a,f],bytecode:s.erc6492SignatureValidatorByteCode}),...u},{data:l}=await s.getAction(e,s.call,"call")(d).catch(h=>{throw h instanceof s.CallExecutionError?new D:h});if(p.hexToBool(l??"0x0"))return!0;throw new D}async function cs(e,t){const{address:r,blockNumber:n,blockTag:o,hash:a,signature:i}=t;if((await s.getAction(e,s.readContract,"readContract")({address:r,abi:s.erc1271Abi,args:[a,i],blockNumber:n,blockTag:o,functionName:"isValidSignature"}).catch(u=>{throw u instanceof s.ContractFunctionExecutionError?new D:u})).startsWith("0x1626ba7e"))return!0;throw new D}class D extends Error{}async function us(e,{address:t,message:r,factory:n,factoryData:o,signature:a,...i}){const c=at(r);return s.getAction(e,oe,"verifyHash")({address:t,factory:n,factoryData:o,hash:c,signature:a,...i})}async function ds(e,t){const{address:r,factory:n,factoryData:o,signature:a,message:i,primaryType:c,types:u,domain:f,...d}=t,l=Lr({message:i,primaryType:c,types:u,domain:f});return s.getAction(e,oe,"verifyHash")({address:r,factory:n,factoryData:o,hash:l,signature:a,...d})}function Ct(e,{emitOnBegin:t=!1,emitMissed:r=!1,onBlockNumber:n,onError:o,poll:a,pollingInterval:i=e.pollingInterval}){const c=typeof a<"u"?a:!(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 u;return c?(()=>{const l=s.stringify(["watchBlockNumber",e.uid,t,r,i]);return s.observe(l,{onBlockNumber:n,onError:o},h=>s.poll(async()=>{try{const m=await s.getAction(e,s.getBlockNumber,"getBlockNumber")({cacheTime:0});if(u!==void 0){if(m===u)return;if(m-u>1&&r)for(let y=u+1n;y<m;y++)h.onBlockNumber(y,u),u=y}(u===void 0||m>u)&&(h.onBlockNumber(m,u),u=m)}catch(m){h.onError?.(m)}},{emitOnBegin:t,interval:i}))})():(()=>{const l=s.stringify(["watchBlockNumber",e.uid,t,r]);return s.observe(l,{onBlockNumber:n,onError:o},h=>{let m=!0,y=()=>m=!1;return(async()=>{try{const v=(()=>{if(e.transport.type==="fallback"){const g=e.transport.transports.find(w=>w.config.type==="webSocket"||w.config.type==="ipc");return g?g.value:e.transport}return e.transport})(),{unsubscribe:b}=await v.subscribe({params:["newHeads"],onData(g){if(!m)return;const w=p.hexToBigInt(g.result?.number);h.onBlockNumber(w,u),u=w},onError(g){h.onError?.(g)}});y=b,m||y()}catch(v){o?.(v)}})(),()=>y()})})()}async function Pt(e,t){const{checkReplacement:r=!0,confirmations:n=1,hash:o,onReplaced:a,retryCount:i=6,retryDelay:c=({count:C})=>~~(1<<C)*200,timeout:u=18e4}=t,f=s.stringify(["waitForTransactionReceipt",e.uid,o]),d=t.pollingInterval?t.pollingInterval:e.chain?.experimental_preconfirmationTime?e.chain.experimental_preconfirmationTime:e.pollingInterval;let l,h,m,y=!1,v,b;const{promise:g,resolve:w,reject:E}=s.withResolvers(),x=u?setTimeout(()=>{b?.(),v?.(),E(new p.WaitForTransactionReceiptTimeoutError({hash:o}))},u):void 0;return v=s.observe(f,{onReplaced:a,resolve:w,reject:E},async C=>{if(m=await s.getAction(e,ee,"getTransactionReceipt")({hash:o}).catch(()=>{}),m&&n<=1){clearTimeout(x),C.resolve(m),v?.();return}b=s.getAction(e,Ct,"watchBlockNumber")({emitMissed:!0,emitOnBegin:!0,poll:!0,pollingInterval:d,async onBlockNumber(R){const A=B=>{clearTimeout(x),b?.(),B(),v?.()};let P=R;if(!y)try{if(m){if(n>1&&(!m.blockNumber||P-m.blockNumber+1n<n))return;A(()=>C.resolve(m));return}if(r&&!l&&(y=!0,await te(async()=>{l=await s.getAction(e,ke,"getTransaction")({hash:o}),l.blockNumber&&(P=l.blockNumber)},{delay:c,retryCount:i}),y=!1),m=await s.getAction(e,ee,"getTransactionReceipt")({hash:o}),n>1&&(!m.blockNumber||P-m.blockNumber+1n<n))return;A(()=>C.resolve(m))}catch(B){if(B instanceof p.TransactionNotFoundError||B instanceof p.TransactionReceiptNotFoundError){if(!l){y=!1;return}try{h=l,y=!0;const I=await te(()=>s.getAction(e,s.getBlock,"getBlock")({blockNumber:P,includeTransactions:!0}),{delay:c,retryCount:i,shouldRetry:({error:z})=>z instanceof s.BlockNotFoundError});y=!1;const N=I.transactions.find(({from:z,nonce:q})=>z===h.from&&q===h.nonce);if(!N||(m=await s.getAction(e,ee,"getTransactionReceipt")({hash:N.hash}),n>1&&(!m.blockNumber||P-m.blockNumber+1n<n)))return;let k="replaced";N.to===h.to&&N.value===h.value&&N.input===h.input?k="repriced":N.from===N.to&&N.value===0n&&(k="cancelled"),A(()=>{C.onReplaced?.({reason:k,replacedTransaction:h,transaction:N,transactionReceipt:m}),C.resolve(m)})}catch(I){A(()=>C.reject(I))}}else A(()=>C.reject(B))}}})}),g}function fs(e,{blockTag:t=e.experimental_blockTag??"latest",emitMissed:r=!1,emitOnBegin:n=!1,onBlock:o,onError:a,includeTransactions:i,poll:c,pollingInterval:u=e.pollingInterval}){const f=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")),d=i??!1;let l;return f?(()=>{const y=s.stringify(["watchBlocks",e.uid,t,r,n,d,u]);return s.observe(y,{onBlock:o,onError:a},v=>s.poll(async()=>{try{const b=await s.getAction(e,s.getBlock,"getBlock")({blockTag:t,includeTransactions:d});if(b.number!==null&&l?.number!=null){if(b.number===l.number)return;if(b.number-l.number>1&&r)for(let g=l?.number+1n;g<b.number;g++){const w=await s.getAction(e,s.getBlock,"getBlock")({blockNumber:g,includeTransactions:d});v.onBlock(w,l),l=w}}(l?.number==null||t==="pending"&&b?.number==null||b.number!==null&&b.number>l.number)&&(v.onBlock(b,l),l=b)}catch(b){v.onError?.(b)}},{emitOnBegin:n,interval:u}))})():(()=>{let y=!0,v=!0,b=()=>y=!1;return(async()=>{try{n&&s.getAction(e,s.getBlock,"getBlock")({blockTag:t,includeTransactions:d}).then(E=>{y&&v&&(o(E,void 0),v=!1)}).catch(a);const g=(()=>{if(e.transport.type==="fallback"){const E=e.transport.transports.find(x=>x.config.type==="webSocket"||x.config.type==="ipc");return E?E.value:e.transport}return e.transport})(),{unsubscribe:w}=await g.subscribe({params:["newHeads"],async onData(E){if(!y)return;const x=await s.getAction(e,s.getBlock,"getBlock")({blockNumber:E.result?.number,includeTransactions:d}).catch(()=>{});y&&(o(x,l),v=!1,l=x)},onError(E){a?.(E)}});b=w,y||b()}catch(g){a?.(g)}})(),()=>b()})()}function ls(e,{address:t,args:r,batch:n=!0,event:o,events:a,fromBlock:i,onError:c,onLogs:u,poll:f,pollingInterval:d=e.pollingInterval,strict:l}){const h=typeof f<"u"?f: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")),m=l??!1;return h?(()=>{const b=s.stringify(["watchEvent",t,r,n,e.uid,o,d,i]);return s.observe(b,{onLogs:u,onError:c},g=>{let w;i!==void 0&&(w=i-1n);let E,x=!1;const C=s.poll(async()=>{if(!x){try{E=await s.getAction(e,st,"createEventFilter")({address:t,args:r,event:o,events:a,strict:m,fromBlock:i})}catch{}x=!0;return}try{let R;if(E)R=await s.getAction(e,s.getFilterChanges,"getFilterChanges")({filter:E});else{const A=await s.getAction(e,s.getBlockNumber,"getBlockNumber")({});w&&w!==A?R=await s.getAction(e,s.getLogs,"getLogs")({address:t,args:r,event:o,events:a,fromBlock:w+1n,toBlock:A}):R=[],w=A}if(R.length===0)return;if(n)g.onLogs(R);else for(const A of R)g.onLogs([A])}catch(R){E&&R instanceof s.InvalidInputRpcError&&(x=!1),g.onError?.(R)}},{emitOnBegin:!0,interval:d});return async()=>{E&&await s.getAction(e,s.uninstallFilter,"uninstallFilter")({filter:E}),C()}})})():(()=>{let b=!0,g=()=>b=!1;return(async()=>{try{const w=(()=>{if(e.transport.type==="fallback"){const R=e.transport.transports.find(A=>A.config.type==="webSocket"||A.config.type==="ipc");return R?R.value:e.transport}return e.transport})(),E=a??(o?[o]:void 0);let x=[];E&&(x=[E.flatMap(A=>s.encodeEventTopics({abi:[A],eventName:A.name,args:r}))],o&&(x=x[0]));const{unsubscribe:C}=await w.subscribe({params:["logs",{address:t,topics:x}],onData(R){if(!b)return;const A=R.result;try{const{eventName:P,args:B}=s.decodeEventLog({abi:E??[],data:A.data,topics:A.topics,strict:m}),I=p.formatLog(A,{args:B,eventName:P});u([I])}catch(P){let B,I;if(P instanceof s.DecodeLogDataMismatch||P instanceof s.DecodeLogTopicsMismatch){if(l)return;B=P.abiItem.name,I=P.abiItem.inputs?.some(k=>!("name"in k&&k.name))}const N=p.formatLog(A,{args:I?[]:{},eventName:B});u([N])}},onError(R){c?.(R)}});g=C,b||g()}catch(w){c?.(w)}})(),()=>g()})()}function hs(e,{batch:t=!0,onError:r,onTransactions:n,poll:o,pollingInterval:a=e.pollingInterval}){return(typeof o<"u"?o:e.transport.type!=="webSocket"&&e.transport.type!=="ipc")?(()=>{const f=s.stringify(["watchPendingTransactions",e.uid,t,a]);return s.observe(f,{onTransactions:n,onError:r},d=>{let l;const h=s.poll(async()=>{try{if(!l)try{l=await s.getAction(e,ot,"createPendingTransactionFilter")({});return}catch(y){throw h(),y}const m=await s.getAction(e,s.getFilterChanges,"getFilterChanges")({filter:l});if(m.length===0)return;if(t)d.onTransactions(m);else for(const y of m)d.onTransactions([y])}catch(m){d.onError?.(m)}},{emitOnBegin:!0,interval:a});return async()=>{l&&await s.getAction(e,s.uninstallFilter,"uninstallFilter")({filter:l}),h()}})})():(()=>{let f=!0,d=()=>f=!1;return(async()=>{try{const{unsubscribe:l}=await e.transport.subscribe({params:["newPendingTransactions"],onData(h){if(!f)return;const m=h.result;n([m])},onError(h){r?.(h)}});d=l,f||d()}catch(l){r?.(l)}})(),()=>d()})()}function ps(e){const{scheme:t,statement:r,...n}=e.match(ms)?.groups??{},{chainId:o,expirationTime:a,issuedAt:i,notBefore:c,requestId:u,...f}=e.match(ys)?.groups??{},d=e.split("Resources:")[1]?.split(`
4
+ - `).slice(1);return{...n,...f,...o?{chainId:Number(o)}:{},...a?{expirationTime:new Date(a)}:{},...i?{issuedAt:new Date(i)}:{},...c?{notBefore:new Date(c)}:{},...u?{requestId:u}:{},...d?{resources:d}:{},...t?{scheme:t}:{},...r?{statement:r}:{}}}const ms=/^(?:(?<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)?/,ys=/(?: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 gs(e){const{address:t,domain:r,message:n,nonce:o,scheme:a,time:i=new Date}=e;if(r&&n.domain!==r||o&&n.nonce!==o||a&&n.scheme!==a||n.expirationTime&&i>=n.expirationTime||n.notBefore&&i<n.notBefore)return!1;try{if(!n.address||!p.isAddress(n.address,{strict:!1})||t&&!s.isAddressEqual(n.address,t))return!1}catch{return!1}return!0}async function bs(e,t){const{address:r,domain:n,message:o,nonce:a,scheme:i,signature:c,time:u=new Date,...f}=t,d=ps(o);if(!d.address||!gs({address:r,domain:n,message:d,nonce:a,scheme:i,time:u}))return!1;const h=at(o);return oe(e,{address:d.address,hash:h,signature:c,...f})}async function Ne(e,{serializedTransaction:t,throwOnReceiptRevert:r,timeout:n}){const o=await e.request({method:"eth_sendRawTransactionSync",params:n?[t,p.numberToHex(n)]:[t]},{retryCount:0}),i=(e.chain?.formatters?.transactionReceipt?.format||p.formatTransactionReceipt)(o);if(i.status==="reverted"&&r)throw new p.TransactionReceiptRevertedError({receipt:i});return i}function ws(e){return{call:t=>s.call(e,t),createAccessList:t=>nt(e,t),createBlockFilter:()=>yr(e),createContractEventFilter:t=>s.createContractEventFilter(e,t),createEventFilter:t=>st(e,t),createPendingTransactionFilter:()=>ot(e),estimateContractGas:t=>s.estimateContractGas(e,t),estimateGas:t=>s.estimateGas(e,t),getBalance:t=>gr(e,t),getBlobBaseFee:()=>br(e),getBlock:t=>s.getBlock(e,t),getBlockNumber:t=>s.getBlockNumber(e,t),getBlockTransactionCount:t=>wr(e,t),getBytecode:t=>fe(e,t),getChainId:()=>s.getChainId(e),getCode:t=>fe(e,t),getContractEvents:t=>s.getContractEvents(e,t),getEip712Domain:t=>Er(e,t),getEnsAddress:t=>er(e,t),getEnsAvatar:t=>hr(e,t),getEnsName:t=>pr(e,t),getEnsResolver:t=>mr(e,t),getEnsText:t=>rt(e,t),getFeeHistory:t=>xr(e,t),estimateFeesPerGas:t=>s.estimateFeesPerGas(e,t),getFilterChanges:t=>s.getFilterChanges(e,t),getFilterLogs:t=>Rr(e,t),getGasPrice:()=>s.getGasPrice(e),getLogs:t=>s.getLogs(e,t),getProof:t=>Ln(e,t),estimateMaxPriorityFeePerGas:t=>s.estimateMaxPriorityFeePerGas(e,t),fillTransaction:t=>s.fillTransaction(e,t),getStorageAt:t=>Mn(e,t),getTransaction:t=>ke(e,t),getTransactionConfirmations:t=>Hn(e,t),getTransactionCount:t=>s.getTransactionCount(e,t),getTransactionReceipt:t=>ee(e,t),multicall:t=>jn(e,t),prepareTransactionRequest:t=>s.prepareTransactionRequest(e,t),readContract:t=>s.readContract(e,t),sendRawTransaction:t=>s.sendRawTransaction(e,t),sendRawTransactionSync:t=>Ne(e,t),simulate:t=>me(e,t),simulateBlocks:t=>me(e,t),simulateCalls:t=>es(e,t),simulateContract:t=>s.simulateContract(e,t),verifyHash:t=>oe(e,t),verifyMessage:t=>us(e,t),verifySiweMessage:t=>bs(e,t),verifyTypedData:t=>ds(e,t),uninstallFilter:t=>s.uninstallFilter(e,t),waitForTransactionReceipt:t=>Pt(e,t),watchBlocks:t=>fs(e,t),watchBlockNumber:t=>Ct(e,t),watchContractEvent:t=>s.watchContractEvent(e,t),watchEvent:t=>ls(e,t),watchPendingTransactions:t=>hs(e,t)}}function vs(e){const{key:t="public",name:r="Public Client"}=e;return Qe({...e,key:t,name:r,type:"publicClient"}).extend(ws)}async function Es(e,{chain:t}){const{id:r,name:n,nativeCurrency:o,rpcUrls:a,blockExplorers:i}=t;await e.request({method:"wallet_addEthereumChain",params:[{chainId:p.numberToHex(r),chainName:n,nativeCurrency:o,rpcUrls:a.default.http,blockExplorerUrls:i?Object.values(i).map(({url:c})=>c):void 0}]},{dedupe:!0,retryCount:0})}function As(e,t){const{abi:r,args:n,bytecode:o,...a}=t,i=s.encodeDeployData({abi:r,args:n,bytecode:o});return s.sendTransaction(e,{...a,...a.authorizationList?{to:null}:{},data:i})}async function Ts(e){return e.account?.type==="local"?[e.account.address]:(await e.request({method:"eth_accounts"},{dedupe:!0})).map(r=>p.checksumAddress(r))}async function xs(e,t={}){const{account:r=e.account,chainId:n}=t,o=r?s.parseAccount(r):void 0,a=n?[o?.address,[p.numberToHex(n)]]:[o?.address],i=await e.request({method:"wallet_getCapabilities",params:a}),c={};for(const[u,f]of Object.entries(i)){c[Number(u)]={};for(let[d,l]of Object.entries(f))d==="addSubAccount"&&(d="unstable_addSubAccount"),c[Number(u)][d]=l}return typeof n=="number"?c[n]:c}async function Rs(e){return await e.request({method:"wallet_getPermissions"},{dedupe:!0})}async function It(e,t){const{account:r=e.account,chainId:n,nonce:o}=t;if(!r)throw new s.AccountNotFoundError({docsPath:"/docs/eip7702/prepareAuthorization"});const a=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:o};return typeof c.chainId>"u"&&(c.chainId=e.chain?.id??await s.getAction(e,s.getChainId,"getChainId")({})),typeof c.nonce>"u"&&(c.nonce=await s.getAction(e,s.getTransactionCount,"getTransactionCount")({address:a.address,blockTag:"pending"}),(i==="self"||i?.address&&s.isAddressEqual(i.address,a.address))&&(c.nonce+=1)),c}async function Cs(e){return(await e.request({method:"eth_requestAccounts"},{dedupe:!0,retryCount:0})).map(r=>p.getAddress(r))}async function Ps(e,t){return e.request({method:"wallet_requestPermissions",params:[t]},{retryCount:0})}async function Is(e,t){const{chain:r=e.chain}=t,n=t.timeout??Math.max((r?.blockTime??0)*3,5e3),o=await Ze(e,t);return await Ye(e,{...t,id:o.id,timeout:n})}const ce=new p.LruMap(128);async function Bt(e,t){const{account:r=e.account,assertChainId:n=!0,chain:o=e.chain,accessList:a,authorizationList:i,blobs:c,data:u,dataSuffix:f=typeof e.dataSuffix=="string"?e.dataSuffix:e.dataSuffix?.value,gas:d,gasPrice:l,maxFeePerBlobGas:h,maxFeePerGas:m,maxPriorityFeePerGas:y,nonce:v,pollingInterval:b,throwOnReceiptRevert:g,type:w,value:E,...x}=t,C=t.timeout??Math.max((o?.blockTime??0)*3,5e3);if(typeof r>"u")throw new s.AccountNotFoundError({docsPath:"/docs/actions/wallet/sendTransactionSync"});const R=r?s.parseAccount(r):null;try{s.assertRequest(t);const A=await(async()=>{if(t.to)return t.to;if(t.to!==null&&i&&i.length>0)return await s.recoverAuthorizationAddress({authorization:i[0]}).catch(()=>{throw new p.BaseError("`to` is required. Could not infer from `authorizationList`.")})})();if(R?.type==="json-rpc"||R===null){let P;o!==null&&(P=await s.getAction(e,s.getChainId,"getChainId")({}),n&&s.assertCurrentChain({currentChainId:P,chain:o}));const B=e.chain?.formatters?.transactionRequest?.format,N=(B||s.formatTransactionRequest)({...s.extract(x,{format:B}),accessList:a,account:R,authorizationList:i,blobs:c,chainId:P,data:u&&p.concat([u,f??"0x"]),gas:d,gasPrice:l,maxFeePerBlobGas:h,maxFeePerGas:m,maxPriorityFeePerGas:y,nonce:v,to:A,type:w,value:E},"sendTransaction"),k=ce.get(e.uid),z=k?"wallet_sendTransaction":"eth_sendTransaction",q=await(async()=>{try{return await e.request({method:z,params:[N]},{retryCount:0})}catch(J){if(k===!1)throw J;const F=J;if(F.name==="InvalidInputRpcError"||F.name==="InvalidParamsRpcError"||F.name==="MethodNotFoundRpcError"||F.name==="MethodNotSupportedRpcError")return await e.request({method:"wallet_sendTransaction",params:[N]},{retryCount:0}).then(T=>(ce.set(e.uid,!0),T)).catch(T=>{const S=T;throw S.name==="MethodNotFoundRpcError"||S.name==="MethodNotSupportedRpcError"?(ce.set(e.uid,!1),F):S});throw F}})(),j=await s.getAction(e,Pt,"waitForTransactionReceipt")({checkReplacement:!1,hash:q,pollingInterval:b,timeout:C});if(g&&j.status==="reverted")throw new p.TransactionReceiptRevertedError({receipt:j});return j}if(R?.type==="local"){const P=await s.getAction(e,s.prepareTransactionRequest,"prepareTransactionRequest")({account:R,accessList:a,authorizationList:i,blobs:c,chain:o,data:u&&p.concat([u,f??"0x"]),gas:d,gasPrice:l,maxFeePerBlobGas:h,maxFeePerGas:m,maxPriorityFeePerGas:y,nonce:v,nonceManager:R.nonceManager,parameters:[...s.defaultParameters,"sidecars"],type:w,value:E,...x,to:A}),B=o?.serializers?.transaction,I=await R.signTransaction(P,{serializer:B});return await s.getAction(e,Ne,"sendRawTransactionSync")({serializedTransaction:I,throwOnReceiptRevert:g,timeout:t.timeout})}throw R?.type==="smart"?new s.AccountTypeNotSupportedError({metaMessages:["Consider using the `sendUserOperation` Action instead."],docsPath:"/docs/actions/bundler/sendUserOperation",type:"smart"}):new s.AccountTypeNotSupportedError({docsPath:"/docs/actions/wallet/sendTransactionSync",type:R?.type})}catch(A){throw A instanceof s.AccountTypeNotSupportedError?A:s.getTransactionError(A,{...t,account:R,chain:t.chain||void 0})}}async function Bs(e,t){const{id:r}=t;await e.request({method:"wallet_showCallsStatus",params:[r]})}async function ks(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 o=await It(e,t);return n.signAuthorization(o)}async function Ns(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 o=typeof r=="string"?p.stringToHex(r):r.raw instanceof Uint8Array?p.toHex(r.raw):r.raw;return e.request({method:"personal_sign",params:[o,n.address]},{retryCount:0})}async function Ss(e,t){const{account:r=e.account,chain:n=e.chain,...o}=t;if(!r)throw new s.AccountNotFoundError({docsPath:"/docs/actions/wallet/signTransaction"});const a=s.parseAccount(r);s.assertRequest({account:a,...t});const i=await s.getAction(e,s.getChainId,"getChainId")({});n!==null&&s.assertCurrentChain({currentChainId:i,chain:n});const u=(n?.formatters||e.chain?.formatters)?.transactionRequest?.format||s.formatTransactionRequest;return a.signTransaction?a.signTransaction({...o,chainId:i},{serializer:e.chain?.serializers?.transaction}):await e.request({method:"eth_signTransaction",params:[{...u({...o,account:a},"signTransaction"),chainId:p.numberToHex(i),from:a.address}]},{retryCount:0})}async function zs(e,t){const{account:r=e.account,domain:n,message:o,primaryType:a}=t;if(!r)throw new s.AccountNotFoundError({docsPath:"/docs/actions/wallet/signTypedData"});const i=s.parseAccount(r),c={EIP712Domain:ct({domain:n}),...t.types};if(it({domain:n,message:o,primaryType:a,types:c}),i.signTypedData)return i.signTypedData({domain:n,message:o,primaryType:a,types:c});const u=Dr({domain:n,message:o,primaryType:a,types:c});return e.request({method:"eth_signTypedData_v4",params:[i.address,u]},{retryCount:0})}async function Fs(e,{id:t}){await e.request({method:"wallet_switchEthereumChain",params:[{chainId:p.numberToHex(t)}]},{retryCount:0})}async function _s(e,t){return await e.request({method:"wallet_watchAsset",params:t},{retryCount:0})}async function $s(e,t){return s.writeContract.internal(e,Bt,"sendTransactionSync",t)}function Us(e){return{addChain:t=>Es(e,t),deployContract:t=>As(e,t),fillTransaction:t=>s.fillTransaction(e,t),getAddresses:()=>Ts(e),getCallsStatus:t=>Je(e,t),getCapabilities:t=>xs(e,t),getChainId:()=>s.getChainId(e),getPermissions:()=>Rs(e),prepareAuthorization:t=>It(e,t),prepareTransactionRequest:t=>s.prepareTransactionRequest(e,t),requestAddresses:()=>Cs(e),requestPermissions:t=>Ps(e,t),sendCalls:t=>Ze(e,t),sendCallsSync:t=>Is(e,t),sendRawTransaction:t=>s.sendRawTransaction(e,t),sendRawTransactionSync:t=>Ne(e,t),sendTransaction:t=>s.sendTransaction(e,t),sendTransactionSync:t=>Bt(e,t),showCallsStatus:t=>Bs(e,t),signAuthorization:t=>ks(e,t),signMessage:t=>Ns(e,t),signTransaction:t=>Ss(e,t),signTypedData:t=>zs(e,t),switchChain:t=>Fs(e,t),waitForCallsStatus:t=>Ye(e,t),watchAsset:t=>_s(e,t),writeContract:t=>s.writeContract(e,t),writeContractSync:t=>$s(e,t)}}function qs(e){const{key:t="wallet",name:r="Wallet Client",transport:n}=e;return Qe({...e,key:t,name:r,transport:n,type:"walletClient"}).extend(Us)}function kt({key:e,methods:t,name:r,request:n,retryCount:o=3,retryDelay:a=150,timeout:i,type:c},u){const f=Ke();return{config:{key:e,methods:t,name:r,request:n,retryCount:o,retryDelay:a,timeout:i,type:c},request:Ir(n,{methods:t,retryCount:o,retryDelay:a,uid:f}),value:u}}class Ds extends p.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 Os(e,t={}){const{batch:r,fetchFn:n,fetchOptions:o,key:a="http",methods:i,name:c="HTTP JSON-RPC",onFetchRequest:u,onFetchResponse:f,retryDelay:d,raw:l}=t;return({chain:h,retryCount:m,timeout:y})=>{const{batchSize:v=1e3,wait:b=0}=typeof r=="object"?r:{},g=t.retryCount??m,w=y??t.timeout??1e4,E=e||h?.rpcUrls.default.http[0];if(!E)throw new Ds;const x=Sr(E,{fetchFn:n,fetchOptions:o,onRequest:u,onResponse:f,timeout:w});return kt({key:a,methods:i,name:c,async request({method:C,params:R}){const A={method:C,params:R},{schedule:P}=s.createBatchScheduler({id:E,wait:b,shouldSplitBatch(k){return k.length>v},fn:k=>x.request({body:k}),sort:(k,z)=>k.id-z.id}),B=async k=>r?P(k):[await x.request({body:k})],[{error:I,result:N}]=await B(A);if(l)return{error:I,result:N};if(I)throw new s.RpcRequestError({body:A,error:I,url:E});return N},retryCount:g,retryDelay:d,timeout:w,type:"http"},{fetchOptions:o,url:E})}}exports.createPublicClient=vs;exports.createTransport=kt;exports.createWalletClient=qs;exports.http=Os;
5
+ //# sourceMappingURL=http-BC-nqLLb.cjs.map