@pufferfinance/puffer-sdk 1.12.2 → 1.13.1

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 (156) 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 +70 -65
  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.cjs.map +1 -1
  7. package/dist/api/puffer-client.d.ts +3 -0
  8. package/dist/api/puffer-client.js +20 -13
  9. package/dist/api/puffer-client.js.map +1 -1
  10. package/dist/{ccip-BO_b9tFc.cjs → ccip-C0xwQhXU.cjs} +2 -2
  11. package/dist/ccip-C0xwQhXU.cjs.map +1 -0
  12. package/dist/{ccip-DLDO0_x2.js → ccip-K-z2PL4P.js} +3 -3
  13. package/dist/ccip-K-z2PL4P.js.map +1 -0
  14. package/dist/chains/constants.cjs +1 -1
  15. package/dist/chains/constants.js +1 -1
  16. package/dist/constants-BcPRVxdH.cjs +9 -0
  17. package/dist/constants-BcPRVxdH.cjs.map +1 -0
  18. package/dist/{constants-BjRNQpT2.js → constants-CH7Tz5jz.js} +745 -694
  19. package/dist/constants-CH7Tz5jz.js.map +1 -0
  20. package/dist/contracts/abis/l1-reward-manager-abis.cjs +1 -1
  21. package/dist/contracts/abis/l1-reward-manager-abis.d.ts +527 -1
  22. package/dist/contracts/abis/l1-reward-manager-abis.js +1 -1
  23. package/dist/contracts/abis/l2-reward-manager-abis.cjs +1 -1
  24. package/dist/contracts/abis/l2-reward-manager-abis.d.ts +1416 -1
  25. package/dist/contracts/abis/l2-reward-manager-abis.js +1 -1
  26. package/dist/contracts/abis/mainnet/Distributor.cjs +2 -0
  27. package/dist/contracts/abis/mainnet/Distributor.cjs.map +1 -0
  28. package/dist/contracts/abis/mainnet/Distributor.d.ts +618 -0
  29. package/dist/contracts/abis/mainnet/Distributor.js +492 -0
  30. package/dist/contracts/abis/mainnet/Distributor.js.map +1 -0
  31. package/dist/contracts/abis/nucleus-accountant-abis.cjs +1 -1
  32. package/dist/contracts/abis/nucleus-accountant-abis.d.ts +2 -1
  33. package/dist/contracts/abis/nucleus-accountant-abis.js +1 -1
  34. package/dist/contracts/abis/nucleus-atomic-queue-abis.cjs +1 -1
  35. package/dist/contracts/abis/nucleus-atomic-queue-abis.d.ts +2 -1
  36. package/dist/contracts/abis/nucleus-atomic-queue-abis.js +1 -1
  37. package/dist/contracts/abis/nucleus-boring-vault-abis.cjs +1 -1
  38. package/dist/contracts/abis/nucleus-boring-vault-abis.d.ts +2 -1
  39. package/dist/contracts/abis/nucleus-boring-vault-abis.js +1 -1
  40. package/dist/contracts/abis/nucleus-teller-abis.cjs +1 -1
  41. package/dist/contracts/abis/nucleus-teller-abis.d.ts +2 -1
  42. package/dist/contracts/abis/nucleus-teller-abis.js +1 -1
  43. package/dist/contracts/abis/puf-locker-abis.cjs +1 -1
  44. package/dist/contracts/abis/puf-locker-abis.d.ts +484 -1
  45. package/dist/contracts/abis/puf-locker-abis.js +1 -1
  46. package/dist/contracts/abis/puffer-depositor-abis.cjs +1 -1
  47. package/dist/contracts/abis/puffer-depositor-abis.d.ts +663 -2
  48. package/dist/contracts/abis/puffer-depositor-abis.js +1 -1
  49. package/dist/contracts/abis/puffer-vault-abis.cjs +1 -1
  50. package/dist/contracts/abis/puffer-vault-abis.d.ts +4 -2
  51. package/dist/contracts/abis/puffer-vault-abis.js +1 -1
  52. package/dist/contracts/abis/puffer-withdrawal-manager-abis.cjs +1 -1
  53. package/dist/contracts/abis/puffer-withdrawal-manager-abis.d.ts +514 -1
  54. package/dist/contracts/abis/puffer-withdrawal-manager-abis.js +1 -1
  55. package/dist/contracts/addresses.cjs +1 -1
  56. package/dist/contracts/addresses.cjs.map +1 -1
  57. package/dist/contracts/addresses.d.ts +7 -13
  58. package/dist/contracts/addresses.js +6 -5
  59. package/dist/contracts/addresses.js.map +1 -1
  60. package/dist/contracts/handlers/carrot-staking-handler.cjs +1 -1
  61. package/dist/contracts/handlers/carrot-staking-handler.js +2 -2
  62. package/dist/contracts/handlers/distributor-handler.cjs +2 -0
  63. package/dist/contracts/handlers/distributor-handler.cjs.map +1 -0
  64. package/dist/contracts/handlers/distributor-handler.js +318 -0
  65. package/dist/contracts/handlers/distributor-handler.js.map +1 -0
  66. package/dist/contracts/handlers/erc20-permit-handler.cjs +1 -1
  67. package/dist/contracts/handlers/erc20-permit-handler.cjs.map +1 -1
  68. package/dist/contracts/handlers/erc20-permit-handler.d.ts +17101 -14898
  69. package/dist/contracts/handlers/erc20-permit-handler.js +3 -3
  70. package/dist/contracts/handlers/erc20-permit-handler.js.map +1 -1
  71. package/dist/contracts/handlers/l1-reward-manager-handler.cjs +1 -1
  72. package/dist/contracts/handlers/l1-reward-manager-handler.js +2 -2
  73. package/dist/contracts/handlers/l2-reward-manager-handler.cjs +1 -1
  74. package/dist/contracts/handlers/l2-reward-manager-handler.js +2 -2
  75. package/dist/contracts/handlers/mtw-carrot-handler.cjs +1 -1
  76. package/dist/contracts/handlers/mtw-carrot-handler.js +2 -2
  77. package/dist/contracts/handlers/nucleus-accountant-handler.cjs +1 -1
  78. package/dist/contracts/handlers/nucleus-accountant-handler.js +1 -1
  79. package/dist/contracts/handlers/nucleus-atomic-queue-handler.cjs +1 -1
  80. package/dist/contracts/handlers/nucleus-atomic-queue-handler.cjs.map +1 -1
  81. package/dist/contracts/handlers/nucleus-atomic-queue-handler.d.ts +7619 -14812
  82. package/dist/contracts/handlers/nucleus-atomic-queue-handler.js +2 -2
  83. package/dist/contracts/handlers/nucleus-atomic-queue-handler.js.map +1 -1
  84. package/dist/contracts/handlers/nucleus-boring-vault-handler.cjs +1 -1
  85. package/dist/contracts/handlers/nucleus-boring-vault-handler.js +2 -2
  86. package/dist/contracts/handlers/nucleus-teller-handler.cjs +1 -1
  87. package/dist/contracts/handlers/nucleus-teller-handler.js +2 -2
  88. package/dist/contracts/handlers/puf-locker-handler.cjs +1 -1
  89. package/dist/contracts/handlers/puf-locker-handler.cjs.map +1 -1
  90. package/dist/contracts/handlers/puf-locker-handler.js +2 -2
  91. package/dist/contracts/handlers/puf-locker-handler.js.map +1 -1
  92. package/dist/contracts/handlers/puffer-depositor-handler.cjs +1 -1
  93. package/dist/contracts/handlers/puffer-depositor-handler.d.ts +11215 -14794
  94. package/dist/contracts/handlers/puffer-depositor-handler.js +2 -2
  95. package/dist/contracts/handlers/puffer-l2-depositor-handler.cjs +1 -1
  96. package/dist/contracts/handlers/puffer-l2-depositor-handler.js +2 -2
  97. package/dist/contracts/handlers/puffer-vault-handler.cjs +1 -1
  98. package/dist/contracts/handlers/puffer-vault-handler.js +2 -2
  99. package/dist/contracts/handlers/puffer-withdrawal-manager-handler.cjs +1 -1
  100. package/dist/contracts/handlers/puffer-withdrawal-manager-handler.js +2 -2
  101. package/dist/contracts/tokens.cjs +1 -1
  102. package/dist/contracts/tokens.js +1 -1
  103. package/dist/contracts/vaults-addresses.cjs +1 -1
  104. package/dist/contracts/vaults-addresses.d.ts +5 -4
  105. package/dist/contracts/vaults-addresses.js +1 -1
  106. package/dist/createWalletClient-DNLhBkOd.js +3289 -0
  107. package/dist/createWalletClient-DNLhBkOd.js.map +1 -0
  108. package/dist/createWalletClient-Di5of07E.cjs +6 -0
  109. package/dist/createWalletClient-Di5of07E.cjs.map +1 -0
  110. package/dist/{getContract-CezEyDf-.js → getContract-6ajhFbP2.js} +2 -2
  111. package/dist/getContract-6ajhFbP2.js.map +1 -0
  112. package/dist/{getContract-3QbyfZBF.cjs → getContract-ChPFzc5y.cjs} +2 -2
  113. package/dist/{getContract-CezEyDf-.js.map → getContract-ChPFzc5y.cjs.map} +1 -1
  114. package/dist/main.cjs +1 -1
  115. package/dist/main.d.ts +1 -0
  116. package/dist/main.js +13 -11
  117. package/dist/main.js.map +1 -1
  118. package/dist/secp256k1-B8plqpXf.cjs +2 -0
  119. package/dist/secp256k1-B8plqpXf.cjs.map +1 -0
  120. package/dist/secp256k1-Ev0s9Yr6.js +1340 -0
  121. package/dist/secp256k1-Ev0s9Yr6.js.map +1 -0
  122. package/dist/utils/version.cjs +1 -1
  123. package/dist/utils/version.js +1 -1
  124. package/dist/writeContract-BatuNuTe.cjs +32 -0
  125. package/dist/writeContract-BatuNuTe.cjs.map +1 -0
  126. package/dist/{writeContract-ChuHpJLC.js → writeContract-CjcOEtWX.js} +822 -763
  127. package/dist/writeContract-CjcOEtWX.js.map +1 -0
  128. package/package.json +15 -15
  129. package/dist/ccip-BO_b9tFc.cjs.map +0 -1
  130. package/dist/ccip-DLDO0_x2.js.map +0 -1
  131. package/dist/constants-BjRNQpT2.js.map +0 -1
  132. package/dist/constants-DA2xUb9r.cjs +0 -9
  133. package/dist/constants-DA2xUb9r.cjs.map +0 -1
  134. package/dist/contracts/handlers/carrot-staking-handler.d.ts +0 -15063
  135. package/dist/contracts/handlers/l1-reward-manager-handler.d.ts +0 -15107
  136. package/dist/contracts/handlers/l2-reward-manager-handler.d.ts +0 -15353
  137. package/dist/contracts/handlers/mtw-carrot-handler.d.ts +0 -15293
  138. package/dist/contracts/handlers/nucleus-accountant-handler.d.ts +0 -15126
  139. package/dist/contracts/handlers/nucleus-boring-vault-handler.d.ts +0 -15284
  140. package/dist/contracts/handlers/nucleus-teller-handler.d.ts +0 -15201
  141. package/dist/contracts/handlers/puf-locker-handler.d.ts +0 -15116
  142. package/dist/contracts/handlers/puffer-l2-depositor-handler.d.ts +0 -14969
  143. package/dist/contracts/handlers/puffer-vault-handler.d.ts +0 -17452
  144. package/dist/contracts/handlers/puffer-withdrawal-manager-handler.d.ts +0 -15111
  145. package/dist/createWalletClient-BuLYysrp.cjs +0 -4
  146. package/dist/createWalletClient-BuLYysrp.cjs.map +0 -1
  147. package/dist/createWalletClient-DNcW-ENe.js +0 -2028
  148. package/dist/createWalletClient-DNcW-ENe.js.map +0 -1
  149. package/dist/getContract-3QbyfZBF.cjs.map +0 -1
  150. package/dist/secp256k1-3OC5y4qp.js +0 -1579
  151. package/dist/secp256k1-3OC5y4qp.js.map +0 -1
  152. package/dist/secp256k1-bcahnPX9.cjs +0 -2
  153. package/dist/secp256k1-bcahnPX9.cjs.map +0 -1
  154. package/dist/writeContract-ChuHpJLC.js.map +0 -1
  155. package/dist/writeContract-D97dSJQe.cjs +0 -32
  156. package/dist/writeContract-D97dSJQe.cjs.map +0 -1
@@ -1,4 +0,0 @@
1
- "use strict";const n=require("./writeContract-D97dSJQe.cjs"),h=require("./constants-DA2xUb9r.cjs"),pe=require("./secp256k1-bcahnPX9.cjs");class he extends h.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 ge(e,t){const{address:r,factory:a,factoryData:s}=t;try{const[o,i,d,f,l,c,u]=await n.getAction(e,n.readContract,"readContract")({abi:me,address:r,functionName:"eip712Domain",factory:a,factoryData:s});return{domain:{name:i,version:d,chainId:Number(f),verifyingContract:l,salt:c},extensions:u,fields:o}}catch(o){const i=o;throw i.name==="ContractFunctionExecutionError"&&i.cause.name==="ContractFunctionZeroDataError"?new he({address:r}):i}}const me=[{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"}];async function ye(e,{chain:t}){const{id:r,name:a,nativeCurrency:s,rpcUrls:o,blockExplorers:i}=t;await e.request({method:"wallet_addEthereumChain",params:[{chainId:h.numberToHex(r),chainName:a,nativeCurrency:s,rpcUrls:o.default.http,blockExplorerUrls:i?Object.values(i).map(({url:d})=>d):void 0}]},{dedupe:!0,retryCount:0})}const M=256;let q=M,D;function J(e=11){if(!D||q+e>M*2){D="",q=0;for(let t=0;t<M;t++)D+=(256+Math.random()*256|0).toString(16).substring(1)}return D.substring(q,q+++e)}function Q(e){const{batch:t,cacheTime:r=e.pollingInterval??4e3,ccipRead:a,key:s="base",name:o="Base Client",pollingInterval:i=4e3,type:d="base"}=e,f=e.chain,l=e.account?n.parseAccount(e.account):void 0,{config:c,request:u,value:p}=e.transport({chain:f,pollingInterval:i}),m={...c,...p},y={account:l,batch:t,cacheTime:r,ccipRead:a,chain:f,key:s,name:o,pollingInterval:i,request:u,transport:m,type:d,uid:J()};function b(T){return g=>{const w=g(T);for(const E in y)delete w[E];const v={...T,...w};return Object.assign(v,{extend:b(v)})}}return Object.assign(y,{extend:b(y)})}const S=new h.LruMap(8192);function be(e,{enabled:t=!0,id:r}){if(!t||!r)return e();if(S.get(r))return S.get(r);const a=e().finally(()=>S.delete(r));return S.set(r,a),a}function z(e,{delay:t=100,retryCount:r=2,shouldRetry:a=()=>!0}={}){return new Promise((s,o)=>{const i=async({count:d=0}={})=>{const f=async({error:l})=>{const c=typeof t=="function"?t({count:d,error:l}):t;c&&await n.wait(c),i({count:d+1})};try{const l=await e();s(l)}catch(l){if(d<r&&await a({count:d,error:l}))return f({error:l});o(l)}};i()})}function we(e,t={}){return async(r,a={})=>{const{dedupe:s=!1,retryDelay:o=150,retryCount:i=3,uid:d}={...t,...a},f=s?h.keccak256(h.stringToHex(`${d}.${n.stringify(r)}`)):void 0;return be(()=>z(async()=>{try{return await e(r)}catch(l){const c=l;switch(c.code){case n.ParseRpcError.code:throw new n.ParseRpcError(c);case n.InvalidRequestRpcError.code:throw new n.InvalidRequestRpcError(c);case n.MethodNotFoundRpcError.code:throw new n.MethodNotFoundRpcError(c,{method:r.method});case n.InvalidParamsRpcError.code:throw new n.InvalidParamsRpcError(c);case n.InternalRpcError.code:throw new n.InternalRpcError(c);case n.InvalidInputRpcError.code:throw new n.InvalidInputRpcError(c);case n.ResourceNotFoundRpcError.code:throw new n.ResourceNotFoundRpcError(c);case n.ResourceUnavailableRpcError.code:throw new n.ResourceUnavailableRpcError(c);case n.TransactionRejectedRpcError.code:throw new n.TransactionRejectedRpcError(c);case n.MethodNotSupportedRpcError.code:throw new n.MethodNotSupportedRpcError(c,{method:r.method});case n.LimitExceededRpcError.code:throw new n.LimitExceededRpcError(c);case n.JsonRpcVersionUnsupportedError.code:throw new n.JsonRpcVersionUnsupportedError(c);case n.UserRejectedRequestError.code:throw new n.UserRejectedRequestError(c);case n.UnauthorizedProviderError.code:throw new n.UnauthorizedProviderError(c);case n.UnsupportedProviderMethodError.code:throw new n.UnsupportedProviderMethodError(c);case n.ProviderDisconnectedError.code:throw new n.ProviderDisconnectedError(c);case n.ChainDisconnectedError.code:throw new n.ChainDisconnectedError(c);case n.SwitchChainError.code:throw new n.SwitchChainError(c);case 5e3:throw new n.UserRejectedRequestError(c);default:throw l instanceof h.BaseError?l:new n.UnknownRpcError(c)}}},{delay:({count:l,error:c})=>{var u;if(c&&c instanceof n.HttpRequestError){const p=(u=c==null?void 0:c.headers)==null?void 0:u.get("Retry-After");if(p!=null&&p.match(/\d/))return Number.parseInt(p)*1e3}return~~(1<<l)*o},retryCount:i,shouldRetry:({error:l})=>ve(l)}),{enabled:s,id:f})}}function ve(e){return"code"in e&&typeof e.code=="number"?e.code===-1||e.code===n.LimitExceededRpcError.code||e.code===n.InternalRpcError.code:e instanceof n.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 K({key:e,name:t,request:r,retryCount:a=3,retryDelay:s=150,timeout:o,type:i},d){const f=J();return{config:{key:e,name:t,request:r,retryCount:a,retryDelay:s,timeout:o,type:i},request:we(r,{retryCount:a,retryDelay:s,uid:f}),value:d}}class Te extends h.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 Re(e,{errorInstance:t=new Error("timed out"),timeout:r,signal:a}){return new Promise((s,o)=>{(async()=>{let i;try{const d=new AbortController;r>0&&(i=setTimeout(()=>{a?d.abort():o(t)},r)),s(await e({signal:(d==null?void 0:d.signal)||null}))}catch(d){(d==null?void 0:d.name)==="AbortError"&&o(t),o(d)}finally{clearTimeout(i)}})()})}function Ee(){return{current:0,take(){return this.current++},reset(){this.current=0}}}const G=Ee();function Ce(e,t={}){return{async request(r){var u;const{body:a,onRequest:s=t.onRequest,onResponse:o=t.onResponse,timeout:i=t.timeout??1e4}=r,d={...t.fetchOptions??{},...r.fetchOptions??{}},{headers:f,method:l,signal:c}=d;try{const p=await Re(async({signal:y})=>{const b={...d,body:Array.isArray(a)?n.stringify(a.map(v=>({jsonrpc:"2.0",id:v.id??G.take(),...v}))):n.stringify({jsonrpc:"2.0",id:a.id??G.take(),...a}),headers:{"Content-Type":"application/json",...f},method:l||"POST",signal:c||(i>0?y:null)},T=new Request(e,b),g=await(s==null?void 0:s(T,b))??{...b,url:e};return await fetch(g.url??e,g)},{errorInstance:new n.TimeoutError({body:a,url:e}),timeout:i,signal:!0});o&&await o(p);let m;if((u=p.headers.get("Content-Type"))!=null&&u.startsWith("application/json"))m=await p.json();else{m=await p.text();try{m=JSON.parse(m||"{}")}catch(y){if(p.ok)throw y;m={error:m}}}if(!p.ok)throw new n.HttpRequestError({body:a,details:n.stringify(m.error)||p.statusText,headers:p.headers,status:p.status,url:e});return m}catch(p){throw p instanceof n.HttpRequestError||p instanceof n.TimeoutError?p:new n.HttpRequestError({body:a,cause:p,url:e})}}}}function Ae(e,t={}){const{batch:r,fetchOptions:a,key:s="http",name:o="HTTP JSON-RPC",onFetchRequest:i,onFetchResponse:d,retryDelay:f}=t;return({chain:l,retryCount:c,timeout:u})=>{const{batchSize:p=1e3,wait:m=0}=typeof r=="object"?r:{},y=t.retryCount??c,b=u??t.timeout??1e4,T=e||(l==null?void 0:l.rpcUrls.default.http[0]);if(!T)throw new Te;const g=Ce(T,{fetchOptions:a,onRequest:i,onResponse:d,timeout:b});return K({key:s,name:o,async request({method:w,params:v}){const E={method:w,params:v},{schedule:k}=n.createBatchScheduler({id:T,wait:m,shouldSplitBatch(A){return A.length>p},fn:A=>g.request({body:A}),sort:(A,N)=>A.id-N.id}),C=async A=>r?k(A):[await g.request({body:A})],[{error:R,result:x}]=await C(E);if(R)throw new n.RpcRequestError({body:E,error:R,url:T});return x},retryCount:y,retryDelay:f,timeout:b,type:"http"},{fetchOptions:a,url:T})}}function $(e,t){var a,s,o,i,d,f;if(!(e instanceof h.BaseError))return!1;const r=e.walk(l=>l instanceof n.ContractFunctionRevertedError);return r instanceof n.ContractFunctionRevertedError?!!(((a=r.data)==null?void 0:a.errorName)==="ResolverNotFound"||((s=r.data)==null?void 0:s.errorName)==="ResolverWildcardNotSupported"||((o=r.data)==null?void 0:o.errorName)==="ResolverNotContract"||((i=r.data)==null?void 0:i.errorName)==="ResolverError"||((d=r.data)==null?void 0:d.errorName)==="HttpError"||(f=r.reason)!=null&&f.includes("Wildcard on non-extended resolvers is not supported")||t==="reverse"&&r.reason===n.panicReasons[50]):!1}function X(e){if(e.length!==66||e.indexOf("[")!==0||e.indexOf("]")!==65)return null;const t=`0x${e.slice(1,65)}`;return h.isHex(t)?t:null}function H(e){let t=new Uint8Array(32).fill(0);if(!e)return h.bytesToHex(t);const r=e.split(".");for(let a=r.length-1;a>=0;a-=1){const s=X(r[a]),o=s?h.toBytes(s):h.keccak256(h.stringToBytes(r[a]),"bytes");t=h.keccak256(h.concat([t,o]),"bytes")}return h.bytesToHex(t)}function ke(e){return`[${e.slice(2)}]`}function xe(e){const t=new Uint8Array(32).fill(0);return e?X(e)||h.keccak256(h.stringToBytes(e)):h.bytesToHex(t)}function _(e){const t=e.replace(/^\.|\.$/gm,"");if(t.length===0)return new Uint8Array(1);const r=new Uint8Array(h.stringToBytes(t).byteLength+2);let a=0;const s=t.split(".");for(let o=0;o<s.length;o++){let i=h.stringToBytes(s[o]);i.byteLength>255&&(i=h.stringToBytes(ke(xe(s[o])))),r[a]=i.length,r.set(i,a+1),a+=i.length+1}return r.byteLength!==a+1?r.slice(0,a+1):r}async function Ie(e,{blockNumber:t,blockTag:r,coinType:a,name:s,gatewayUrls:o,strict:i,universalResolverAddress:d}){let f=d;if(!f){if(!e.chain)throw new Error("client chain not configured. universalResolverAddress is required.");f=n.getChainContractAddress({blockNumber:t,chain:e.chain,contract:"ensUniversalResolver"})}try{const l=n.encodeFunctionData({abi:n.addressResolverAbi,functionName:"addr",...a!=null?{args:[H(s),BigInt(a)]}:{args:[H(s)]}}),c={address:f,abi:n.universalResolverResolveAbi,functionName:"resolve",args:[h.toHex(_(s)),l],blockNumber:t,blockTag:r},u=n.getAction(e,n.readContract,"readContract"),p=o?await u({...c,args:[...c.args,o]}):await u(c);if(p[0]==="0x")return null;const m=n.decodeFunctionResult({abi:n.addressResolverAbi,args:a!=null?[H(s),BigInt(a)]:void 0,functionName:"addr",data:p[0]});return m==="0x"||h.trim(m)==="0x00"?null:m}catch(l){if(i)throw l;if($(l,"resolve"))return null;throw l}}class Ne extends h.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 F extends h.BaseError{constructor({reason:t}){super(`ENS NFT avatar URI is invalid. ${t}`,{name:"EnsAvatarInvalidNftUriError"})}}class L extends h.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 Be extends h.BaseError{constructor({namespace:t}){super(`ENS NFT avatar namespace "${t}" is not supported. Must be "erc721" or "erc1155".`,{name:"EnsAvatarUnsupportedNamespaceError"})}}const Pe=/(?<protocol>https?:\/\/[^\/]*|ipfs:\/|ipns:\/|ar:\/)?(?<root>\/)?(?<subpath>ipfs\/|ipns\/)?(?<target>[\w\-.]+)(?<subtarget>\/.*)?/,Fe=/^(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>\/.*)?$/,qe=/^data:([a-zA-Z\-/+]*);base64,([^"].*)/,De=/^data:([a-zA-Z\-/+]*)?(;[a-zA-Z0-9].*?)?(,)/;async function Se(e){try{const t=await fetch(e,{method:"HEAD"});if(t.status===200){const r=t.headers.get("content-type");return r==null?void 0:r.startsWith("image/")}return!1}catch(t){return typeof t=="object"&&typeof t.response<"u"||!globalThis.hasOwnProperty("Image")?!1:new Promise(r=>{const a=new Image;a.onload=()=>{r(!0)},a.onerror=()=>{r(!1)},a.src=e})}}function V(e,t){return e?e.endsWith("/")?e.slice(0,-1):e:t}function Y({uri:e,gatewayUrls:t}){const r=qe.test(e);if(r)return{uri:e,isOnChain:!0,isEncoded:r};const a=V(t==null?void 0:t.ipfs,"https://ipfs.io"),s=V(t==null?void 0:t.arweave,"https://arweave.net"),o=e.match(Pe),{protocol:i,subpath:d,target:f,subtarget:l=""}=(o==null?void 0:o.groups)||{},c=i==="ipns:/"||d==="ipns/",u=i==="ipfs:/"||d==="ipfs/"||Fe.test(e);if(e.startsWith("http")&&!c&&!u){let m=e;return t!=null&&t.arweave&&(m=e.replace(/https:\/\/arweave.net/g,t==null?void 0:t.arweave)),{uri:m,isOnChain:!1,isEncoded:!1}}if((c||u)&&f)return{uri:`${a}/${c?"ipns":"ipfs"}/${f}${l}`,isOnChain:!1,isEncoded:!1};if(i==="ar:/"&&f)return{uri:`${s}/${f}${l||""}`,isOnChain:!1,isEncoded:!1};let p=e.replace(De,"");if(p.startsWith("<svg")&&(p=`data:image/svg+xml;base64,${btoa(p)}`),p.startsWith("data:")||p.startsWith("{"))return{uri:p,isOnChain:!0,isEncoded:!1};throw new L({uri:e})}function ee(e){if(typeof e!="object"||!("image"in e)&&!("image_url"in e)&&!("image_data"in e))throw new Ne({data:e});return e.image||e.image_url||e.image_data}async function He({gatewayUrls:e,uri:t}){try{const r=await fetch(t).then(s=>s.json());return await j({gatewayUrls:e,uri:ee(r)})}catch{throw new L({uri:t})}}async function j({gatewayUrls:e,uri:t}){const{uri:r,isOnChain:a}=Y({uri:t,gatewayUrls:e});if(a||await Se(r))return r;throw new L({uri:t})}function _e(e){let t=e;t.startsWith("did:nft:")&&(t=t.replace("did:nft:","").replace(/_/g,"/"));const[r,a,s]=t.split("/"),[o,i]=r.split(":"),[d,f]=a.split(":");if(!o||o.toLowerCase()!=="eip155")throw new F({reason:"Only EIP-155 supported"});if(!i)throw new F({reason:"Chain ID not found"});if(!f)throw new F({reason:"Contract address not found"});if(!s)throw new F({reason:"Token ID not found"});if(!d)throw new F({reason:"ERC namespace not found"});return{chainID:Number.parseInt(i),namespace:d.toLowerCase(),contractAddress:f,tokenID:s}}async function Me(e,{nft:t}){if(t.namespace==="erc721")return n.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 n.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 Be({namespace:t.namespace})}async function ze(e,{gatewayUrls:t,record:r}){return/eip155:/i.test(r)?Ue(e,{gatewayUrls:t,record:r}):j({uri:r,gatewayUrls:t})}async function Ue(e,{gatewayUrls:t,record:r}){const a=_e(r),s=await Me(e,{nft:a}),{uri:o,isOnChain:i,isEncoded:d}=Y({uri:s,gatewayUrls:t});if(i&&(o.includes("data:application/json;base64,")||o.startsWith("{"))){const l=d?atob(o.replace("data:application/json;base64,","")):o,c=JSON.parse(l);return j({uri:ee(c),gatewayUrls:t})}let f=a.tokenID;return a.namespace==="erc1155"&&(f=f.replace("0x","").padStart(64,"0")),He({gatewayUrls:t,uri:o.replace(/(?:0x)?{id}/,f)})}async function te(e,{blockNumber:t,blockTag:r,name:a,key:s,gatewayUrls:o,strict:i,universalResolverAddress:d}){let f=d;if(!f){if(!e.chain)throw new Error("client chain not configured. universalResolverAddress is required.");f=n.getChainContractAddress({blockNumber:t,chain:e.chain,contract:"ensUniversalResolver"})}try{const l={address:f,abi:n.universalResolverResolveAbi,functionName:"resolve",args:[h.toHex(_(a)),n.encodeFunctionData({abi:n.textResolverAbi,functionName:"text",args:[H(a),s]})],blockNumber:t,blockTag:r},c=n.getAction(e,n.readContract,"readContract"),u=o?await c({...l,args:[...l.args,o]}):await c(l);if(u[0]==="0x")return null;const p=n.decodeFunctionResult({abi:n.textResolverAbi,functionName:"text",data:u[0]});return p===""?null:p}catch(l){if(i)throw l;if($(l,"resolve"))return null;throw l}}async function $e(e,{blockNumber:t,blockTag:r,assetGatewayUrls:a,name:s,gatewayUrls:o,strict:i,universalResolverAddress:d}){const f=await n.getAction(e,te,"getEnsText")({blockNumber:t,blockTag:r,key:"avatar",name:s,universalResolverAddress:d,gatewayUrls:o,strict:i});if(!f)return null;try{return await ze(e,{record:f,gatewayUrls:a})}catch{return null}}async function Le(e,{address:t,blockNumber:r,blockTag:a,gatewayUrls:s,strict:o,universalResolverAddress:i}){let d=i;if(!d){if(!e.chain)throw new Error("client chain not configured. universalResolverAddress is required.");d=n.getChainContractAddress({blockNumber:r,chain:e.chain,contract:"ensUniversalResolver"})}const f=`${t.toLowerCase().substring(2)}.addr.reverse`;try{const l={address:d,abi:n.universalResolverReverseAbi,functionName:"reverse",args:[h.toHex(_(f))],blockNumber:r,blockTag:a},c=n.getAction(e,n.readContract,"readContract"),[u,p]=s?await c({...l,args:[...l.args,s]}):await c(l);return t.toLowerCase()!==p.toLowerCase()?null:u}catch(l){if(o)throw l;if($(l,"reverse"))return null;throw l}}async function je(e,{blockNumber:t,blockTag:r,name:a,universalResolverAddress:s}){let o=s;if(!o){if(!e.chain)throw new Error("client chain not configured. universalResolverAddress is required.");o=n.getChainContractAddress({blockNumber:t,chain:e.chain,contract:"ensUniversalResolver"})}const[i]=await n.getAction(e,n.readContract,"readContract")({address:o,abi:[{inputs:[{type:"bytes"}],name:"findResolver",outputs:[{type:"address"},{type:"bytes32"}],stateMutability:"view",type:"function"}],functionName:"findResolver",args:[h.toHex(_(a))],blockNumber:t,blockTag:r});return i}async function Oe(e){const t=n.createFilterRequestScope(e,{method:"eth_newBlockFilter"}),r=await e.request({method:"eth_newBlockFilter"});return{id:r,request:t(r),type:"block"}}async function re(e,{address:t,args:r,event:a,events:s,fromBlock:o,strict:i,toBlock:d}={}){const f=s??(a?[a]:void 0),l=n.createFilterRequestScope(e,{method:"eth_newFilter"});let c=[];f&&(c=[f.flatMap(m=>n.encodeEventTopics({abi:[m],eventName:m.name,args:r}))],a&&(c=c[0]));const u=await e.request({method:"eth_newFilter",params:[{address:t,fromBlock:typeof o=="bigint"?h.numberToHex(o):o,toBlock:typeof d=="bigint"?h.numberToHex(d):d,...c.length?{topics:c}:{}}]});return{abi:f,args:r,eventName:a?a.name:void 0,fromBlock:o,id:u,request:l(u),strict:!!i,toBlock:d,type:"event"}}async function ne(e){const t=n.createFilterRequestScope(e,{method:"eth_newPendingTransactionFilter"}),r=await e.request({method:"eth_newPendingTransactionFilter"});return{id:r,request:t(r),type:"transaction"}}async function We(e){const t=await e.request({method:"eth_blobBaseFee"});return BigInt(t)}async function Ge(e,{blockHash:t,blockNumber:r,blockTag:a="latest"}={}){const s=r!==void 0?h.numberToHex(r):void 0;let o;return t?o=await e.request({method:"eth_getBlockTransactionCountByHash",params:[t]},{dedupe:!0}):o=await e.request({method:"eth_getBlockTransactionCountByNumber",params:[s||a]},{dedupe:!!s}),h.hexToNumber(o)}async function Z(e,{address:t,blockNumber:r,blockTag:a="latest"}){const s=r!==void 0?h.numberToHex(r):void 0,o=await e.request({method:"eth_getCode",params:[t,s||a]},{dedupe:!!s});if(o!=="0x")return o}function Ve(e){var t;return{baseFeePerGas:e.baseFeePerGas.map(r=>BigInt(r)),gasUsedRatio:e.gasUsedRatio,oldestBlock:BigInt(e.oldestBlock),reward:(t=e.reward)==null?void 0:t.map(r=>r.map(a=>BigInt(a)))}}async function Ze(e,{blockCount:t,blockNumber:r,blockTag:a="latest",rewardPercentiles:s}){const o=r?h.numberToHex(r):void 0,i=await e.request({method:"eth_feeHistory",params:[h.numberToHex(t),o||a,s]},{dedupe:!!o});return Ve(i)}async function Je(e,{filter:t}){const r=t.strict??!1,s=(await t.request({method:"eth_getFilterLogs",params:[t.id]})).map(o=>h.formatLog(o));return t.abi?n.parseEventLogs({abi:t.abi,logs:s,strict:r}):s}class Qe extends h.BaseError{constructor({domain:t}){super(`Invalid domain "${n.stringify(t)}".`,{metaMessages:["Must be a valid EIP-712 domain."]})}}class Ke extends h.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 Xe extends h.BaseError{constructor({type:t}){super(`Struct type "${t}" is invalid.`,{metaMessages:["Struct type must not be a Solidity type."],name:"InvalidStructTypeError"})}}function Ye(e){const{domain:t={},message:r,primaryType:a}=e,s={EIP712Domain:ue({domain:t}),...e.types};ce({domain:t,message:r,primaryType:a,types:s});const o=["0x1901"];return t&&o.push(et({domain:t,types:s})),a!=="EIP712Domain"&&o.push(ae({data:r,primaryType:a,types:s})),h.keccak256(h.concat(o))}function et({domain:e,types:t}){return ae({data:e,primaryType:"EIP712Domain",types:t})}function ae({data:e,primaryType:t,types:r}){const a=se({data:e,primaryType:t,types:r});return h.keccak256(a)}function se({data:e,primaryType:t,types:r}){const a=[{type:"bytes32"}],s=[tt({primaryType:t,types:r})];for(const o of r[t]){const[i,d]=ie({types:r,name:o.name,type:o.type,value:e[o.name]});a.push(i),s.push(d)}return n.encodeAbiParameters(a,s)}function tt({primaryType:e,types:t}){const r=h.toHex(rt({primaryType:e,types:t}));return h.keccak256(r)}function rt({primaryType:e,types:t}){let r="";const a=oe({primaryType:e,types:t});a.delete(e);const s=[e,...Array.from(a).sort()];for(const o of s)r+=`${o}(${t[o].map(({name:i,type:d})=>`${d} ${i}`).join(",")})`;return r}function oe({primaryType:e,types:t},r=new Set){const a=e.match(/^\w*/u),s=a==null?void 0:a[0];if(r.has(s)||t[s]===void 0)return r;r.add(s);for(const o of t[s])oe({primaryType:o.type,types:t},r);return r}function ie({types:e,name:t,type:r,value:a}){if(e[r]!==void 0)return[{type:"bytes32"},h.keccak256(se({data:a,primaryType:r,types:e}))];if(r==="bytes")return a=`0x${(a.length%2?"0":"")+a.slice(2)}`,[{type:"bytes32"},h.keccak256(a)];if(r==="string")return[{type:"bytes32"},h.keccak256(h.toHex(a))];if(r.lastIndexOf("]")===r.length-1){const s=r.slice(0,r.lastIndexOf("[")),o=a.map(i=>ie({name:t,type:s,types:e,value:i}));return[{type:"bytes32"},h.keccak256(n.encodeAbiParameters(o.map(([i])=>i),o.map(([,i])=>i)))]}return[{type:r},a]}function nt(e){const{domain:t,message:r,primaryType:a,types:s}=e,o=(f,l)=>{const c={...l};for(const u of f){const{name:p,type:m}=u;m==="address"&&(c[p]=c[p].toLowerCase())}return c},i=s.EIP712Domain?t?o(s.EIP712Domain,t):{}:{},d=(()=>{if(a!=="EIP712Domain")return o(s[a],r)})();return n.stringify({domain:i,message:d,primaryType:a,types:s})}function ce(e){const{domain:t,message:r,primaryType:a,types:s}=e,o=(i,d)=>{for(const f of i){const{name:l,type:c}=f,u=d[l],p=c.match(n.integerRegex);if(p&&(typeof u=="number"||typeof u=="bigint")){const[b,T,g]=p;h.numberToHex(u,{signed:T==="int",size:Number.parseInt(g)/8})}if(c==="address"&&typeof u=="string"&&!h.isAddress(u))throw new h.InvalidAddressError({address:u});const m=c.match(n.bytesRegex);if(m){const[b,T]=m;if(T&&h.size(u)!==Number.parseInt(T))throw new n.BytesSizeMismatchError({expectedSize:Number.parseInt(T),givenSize:h.size(u)})}const y=s[c];y&&(at(c),o(y,u))}};if(s.EIP712Domain&&t){if(typeof t!="object")throw new Qe({domain:t});o(s.EIP712Domain,t)}if(a!=="EIP712Domain")if(s[a])o(s[a],r);else throw new Ke({primaryType:a,types:s})}function ue({domain:e}){return[typeof(e==null?void 0:e.name)=="string"&&{name:"name",type:"string"},(e==null?void 0:e.version)&&{name:"version",type:"string"},typeof(e==null?void 0:e.chainId)=="number"&&{name:"chainId",type:"uint256"},(e==null?void 0:e.verifyingContract)&&{name:"verifyingContract",type:"address"},(e==null?void 0:e.salt)&&{name:"salt",type:"bytes32"}].filter(Boolean)}function at(e){if(e==="address"||e==="bool"||e==="string"||e.startsWith("bytes")||e.startsWith("uint")||e.startsWith("int"))throw new Xe({type:e})}const st=`Ethereum Signed Message:
2
- `;function ot(e){const t=typeof e=="string"?h.stringToHex(e):typeof e.raw=="string"?e.raw:h.bytesToHex(e.raw),r=h.stringToHex(`${st}${h.size(t)}`);return h.concat([r,t])}function de(e,t){return h.keccak256(ot(e),t)}const fe="0x6492649264926492649264926492649264926492649264926492649264926492";function it(e){return h.sliceHex(e,-32)===fe}function ct(e){const{address:t,data:r,signature:a,to:s="hex"}=e,o=h.concatHex([n.encodeAbiParameters([{type:"address"},{type:"bytes"},{type:"bytes"}],[t,r,a]),fe]);return s==="hex"?o:h.hexToBytes(o)}function ut(e){return e.map(t=>({...t,value:BigInt(t.value)}))}function dt(e){return{...e,balance:e.balance?BigInt(e.balance):void 0,nonce:e.nonce?h.hexToNumber(e.nonce):void 0,storageProof:e.storageProof?ut(e.storageProof):void 0}}async function ft(e,{address:t,blockNumber:r,blockTag:a,storageKeys:s}){const o=a??"latest",i=r!==void 0?h.numberToHex(r):void 0,d=await e.request({method:"eth_getProof",params:[t,s,i||o]});return dt(d)}async function lt(e,{address:t,blockNumber:r,blockTag:a="latest",slot:s}){const o=r!==void 0?h.numberToHex(r):void 0;return await e.request({method:"eth_getStorageAt",params:[t,s,o||a]})}async function O(e,{blockHash:t,blockNumber:r,blockTag:a,hash:s,index:o}){var c,u,p;const i=a||"latest",d=r!==void 0?h.numberToHex(r):void 0;let f=null;if(s?f=await e.request({method:"eth_getTransactionByHash",params:[s]},{dedupe:!0}):t?f=await e.request({method:"eth_getTransactionByBlockHashAndIndex",params:[t,h.numberToHex(o)]},{dedupe:!0}):(d||i)&&(f=await e.request({method:"eth_getTransactionByBlockNumberAndIndex",params:[d||i,h.numberToHex(o)]},{dedupe:!!d})),!f)throw new h.TransactionNotFoundError({blockHash:t,blockNumber:r,blockTag:i,hash:s,index:o});return(((p=(u=(c=e.chain)==null?void 0:c.formatters)==null?void 0:u.transaction)==null?void 0:p.format)||h.formatTransaction)(f)}async function pt(e,{hash:t,transactionReceipt:r}){const[a,s]=await Promise.all([n.getAction(e,n.getBlockNumber,"getBlockNumber")({}),t?n.getAction(e,O,"getTransaction")({hash:t}):void 0]),o=(r==null?void 0:r.blockNumber)||(s==null?void 0:s.blockNumber);return o?a-o+1n:0n}async function U(e,{hash:t}){var s,o,i;const r=await e.request({method:"eth_getTransactionReceipt",params:[t]},{dedupe:!0});if(!r)throw new h.TransactionReceiptNotFoundError({hash:t});return(((i=(o=(s=e.chain)==null?void 0:s.formatters)==null?void 0:o.transactionReceipt)==null?void 0:i.format)||h.formatTransactionReceipt)(r)}async function ht(e,t){var T;const{allowFailure:r=!0,batchSize:a,blockNumber:s,blockTag:o,multicallAddress:i,stateOverride:d}=t,f=t.contracts,l=a??(typeof((T=e.batch)==null?void 0:T.multicall)=="object"&&e.batch.multicall.batchSize||1024);let c=i;if(!c){if(!e.chain)throw new Error("client chain not configured. multicallAddress is required.");c=n.getChainContractAddress({blockNumber:s,chain:e.chain,contract:"multicall3"})}const u=[[]];let p=0,m=0;for(let g=0;g<f.length;g++){const{abi:w,address:v,args:E,functionName:k}=f[g];try{const C=n.encodeFunctionData({abi:w,args:E,functionName:k});m+=(C.length-2)/2,l>0&&m>l&&u[p].length>0&&(p++,m=(C.length-2)/2,u[p]=[]),u[p]=[...u[p],{allowFailure:!0,callData:C,target:v}]}catch(C){const R=n.getContractError(C,{abi:w,address:v,args:E,docsPath:"/docs/contract/multicall",functionName:k});if(!r)throw R;u[p]=[...u[p],{allowFailure:!0,callData:"0x",target:v}]}}const y=await Promise.allSettled(u.map(g=>n.getAction(e,n.readContract,"readContract")({abi:n.multicall3Abi,address:c,args:[g],blockNumber:s,blockTag:o,functionName:"aggregate3",stateOverride:d}))),b=[];for(let g=0;g<y.length;g++){const w=y[g];if(w.status==="rejected"){if(!r)throw w.reason;for(let E=0;E<u[g].length;E++)b.push({status:"failure",error:w.reason,result:void 0});continue}const v=w.value;for(let E=0;E<v.length;E++){const{returnData:k,success:C}=v[E],{callData:R}=u[g][E],{abi:x,address:A,functionName:N,args:I}=f[b.length];try{if(R==="0x")throw new n.AbiDecodingZeroDataError;if(!C)throw new n.RawContractError({data:k});const B=n.decodeFunctionResult({abi:x,args:I,data:k,functionName:N});b.push(r?{result:B,status:"success"}:B)}catch(B){const P=n.getContractError(B,{abi:x,address:A,args:I,docsPath:"/docs/contract/multicall",functionName:N});if(!r)throw P;b.push({error:P,result:void 0,status:"failure"})}}}if(b.length!==f.length)throw new h.BaseError("multicall results mismatch");return b}function gt({r:e,s:t,to:r="hex",v:a,yParity:s}){const o=(()=>{if(s===0||s===1)return s;if(a&&(a===27n||a===28n||a>=35n))return a%2n===0n?1:0;throw new Error("Invalid `v` or `yParity` value")})(),i=`0x${new pe.secp256k1.Signature(h.hexToBigInt(e),h.hexToBigInt(t)).toCompactHex()}${o===0?"1b":"1c"}`;return r==="hex"?i:h.hexToBytes(i)}async function W(e,t){var u,p,m;const{address:r,factory:a,factoryData:s,hash:o,signature:i,universalSignatureVerifierAddress:d=(m=(p=(u=e.chain)==null?void 0:u.contracts)==null?void 0:p.universalSignatureVerifier)==null?void 0:m.address,...f}=t,l=h.isHex(i)?i:typeof i=="object"&&"r"in i&&"s"in i?gt(i):h.bytesToHex(i),c=await(async()=>!a&&!s||it(l)?l:ct({address:a,data:s,signature:l}))();try{const y=d?{to:d,data:n.encodeFunctionData({abi:n.universalSignatureValidatorAbi,functionName:"isValidSig",args:[r,o,c]}),...f}:{data:n.encodeDeployData({abi:n.universalSignatureValidatorAbi,args:[r,o,c],bytecode:n.universalSignatureValidatorByteCode}),...f},{data:b}=await n.getAction(e,n.call,"call")(y);return h.hexToBool(b??"0x0")}catch(y){try{if(n.isAddressEqual(h.getAddress(r),await n.recoverAddress({hash:o,signature:i})))return!0}catch{}if(y instanceof n.CallExecutionError)return!1;throw y}}async function mt(e,{address:t,message:r,factory:a,factoryData:s,signature:o,...i}){const d=de(r);return W(e,{address:t,factory:a,factoryData:s,hash:d,signature:o,...i})}async function yt(e,t){const{address:r,factory:a,factoryData:s,signature:o,message:i,primaryType:d,types:f,domain:l,...c}=t,u=Ye({message:i,primaryType:d,types:f,domain:l});return W(e,{address:r,factory:a,factoryData:s,hash:u,signature:o,...c})}function le(e,{emitOnBegin:t=!1,emitMissed:r=!1,onBlockNumber:a,onError:s,poll:o,pollingInterval:i=e.pollingInterval}){const d=typeof o<"u"?o:!(e.transport.type==="webSocket"||e.transport.type==="fallback"&&e.transport.transports[0].config.type==="webSocket");let f;return d?(()=>{const u=n.stringify(["watchBlockNumber",e.uid,t,r,i]);return n.observe(u,{onBlockNumber:a,onError:s},p=>n.poll(async()=>{var m;try{const y=await n.getAction(e,n.getBlockNumber,"getBlockNumber")({cacheTime:0});if(f){if(y===f)return;if(y-f>1&&r)for(let b=f+1n;b<y;b++)p.onBlockNumber(b,f),f=b}(!f||y>f)&&(p.onBlockNumber(y,f),f=y)}catch(y){(m=p.onError)==null||m.call(p,y)}},{emitOnBegin:t,interval:i}))})():(()=>{const u=n.stringify(["watchBlockNumber",e.uid,t,r]);return n.observe(u,{onBlockNumber:a,onError:s},p=>{let m=!0,y=()=>m=!1;return(async()=>{try{const b=(()=>{if(e.transport.type==="fallback"){const g=e.transport.transports.find(w=>w.config.type==="webSocket");return g?g.value:e.transport}return e.transport})(),{unsubscribe:T}=await b.subscribe({params:["newHeads"],onData(g){var v;if(!m)return;const w=h.hexToBigInt((v=g.result)==null?void 0:v.number);p.onBlockNumber(w,f),f=w},onError(g){var w;(w=p.onError)==null||w.call(p,g)}});y=T,m||y()}catch(b){s==null||s(b)}})(),()=>y()})})()}async function bt(e,{confirmations:t=1,hash:r,onReplaced:a,pollingInterval:s=e.pollingInterval,retryCount:o=6,retryDelay:i=({count:f})=>~~(1<<f)*200,timeout:d=18e4}){const f=n.stringify(["waitForTransactionReceipt",e.uid,r]);let l,c,u,p=!1;const{promise:m,resolve:y,reject:b}=n.withResolvers(),T=d?setTimeout(()=>b(new h.WaitForTransactionReceiptTimeoutError({hash:r})),d):void 0,g=n.observe(f,{onReplaced:a,resolve:y,reject:b},w=>{const v=n.getAction(e,le,"watchBlockNumber")({emitMissed:!0,emitOnBegin:!0,poll:!0,pollingInterval:s,async onBlockNumber(E){const k=R=>{clearTimeout(T),v(),R(),g()};let C=E;if(!p)try{if(u){if(t>1&&(!u.blockNumber||C-u.blockNumber+1n<t))return;k(()=>w.resolve(u));return}if(l||(p=!0,await z(async()=>{l=await n.getAction(e,O,"getTransaction")({hash:r}),l.blockNumber&&(C=l.blockNumber)},{delay:i,retryCount:o}),p=!1),u=await n.getAction(e,U,"getTransactionReceipt")({hash:r}),t>1&&(!u.blockNumber||C-u.blockNumber+1n<t))return;k(()=>w.resolve(u))}catch(R){if(R instanceof h.TransactionNotFoundError||R instanceof h.TransactionReceiptNotFoundError){if(!l){p=!1;return}try{c=l,p=!0;const x=await z(()=>n.getAction(e,n.getBlock,"getBlock")({blockNumber:C,includeTransactions:!0}),{delay:i,retryCount:o,shouldRetry:({error:I})=>I instanceof n.BlockNotFoundError});p=!1;const A=x.transactions.find(({from:I,nonce:B})=>I===c.from&&B===c.nonce);if(!A||(u=await n.getAction(e,U,"getTransactionReceipt")({hash:A.hash}),t>1&&(!u.blockNumber||C-u.blockNumber+1n<t)))return;let N="replaced";A.to===c.to&&A.value===c.value?N="repriced":A.from===A.to&&A.value===0n&&(N="cancelled"),k(()=>{var I;(I=w.onReplaced)==null||I.call(w,{reason:N,replacedTransaction:c,transaction:A,transactionReceipt:u}),w.resolve(u)})}catch(x){k(()=>w.reject(x))}}else k(()=>w.reject(R))}}})});return m}function wt(e,{blockTag:t="latest",emitMissed:r=!1,emitOnBegin:a=!1,onBlock:s,onError:o,includeTransactions:i,poll:d,pollingInterval:f=e.pollingInterval}){const l=typeof d<"u"?d:!(e.transport.type==="webSocket"||e.transport.type==="fallback"&&e.transport.transports[0].config.type==="webSocket"),c=i??!1;let u;return l?(()=>{const y=n.stringify(["watchBlocks",e.uid,t,r,a,c,f]);return n.observe(y,{onBlock:s,onError:o},b=>n.poll(async()=>{var T;try{const g=await n.getAction(e,n.getBlock,"getBlock")({blockTag:t,includeTransactions:c});if(g.number&&(u!=null&&u.number)){if(g.number===u.number)return;if(g.number-u.number>1&&r)for(let w=(u==null?void 0:u.number)+1n;w<g.number;w++){const v=await n.getAction(e,n.getBlock,"getBlock")({blockNumber:w,includeTransactions:c});b.onBlock(v,u),u=v}}(!(u!=null&&u.number)||t==="pending"&&!(g!=null&&g.number)||g.number&&g.number>u.number)&&(b.onBlock(g,u),u=g)}catch(g){(T=b.onError)==null||T.call(b,g)}},{emitOnBegin:a,interval:f}))})():(()=>{let y=!0,b=!0,T=()=>y=!1;return(async()=>{try{a&&n.getAction(e,n.getBlock,"getBlock")({blockTag:t,includeTransactions:c}).then(v=>{y&&b&&(s(v,void 0),b=!1)});const g=(()=>{if(e.transport.type==="fallback"){const v=e.transport.transports.find(E=>E.config.type==="webSocket");return v?v.value:e.transport}return e.transport})(),{unsubscribe:w}=await g.subscribe({params:["newHeads"],async onData(v){if(!y)return;const E=await n.getAction(e,n.getBlock,"getBlock")({blockNumber:v.blockNumber,includeTransactions:c}).catch(()=>{});y&&(s(E,u),b=!1,u=E)},onError(v){o==null||o(v)}});T=w,y||T()}catch(g){o==null||o(g)}})(),()=>T()})()}function vt(e,{address:t,args:r,batch:a=!0,event:s,events:o,fromBlock:i,onError:d,onLogs:f,poll:l,pollingInterval:c=e.pollingInterval,strict:u}){const p=typeof l<"u"?l:typeof i=="bigint"?!0:!(e.transport.type==="webSocket"||e.transport.type==="fallback"&&e.transport.transports[0].config.type==="webSocket"),m=u??!1;return p?(()=>{const T=n.stringify(["watchEvent",t,r,a,e.uid,s,c,i]);return n.observe(T,{onLogs:f,onError:d},g=>{let w;i!==void 0&&(w=i-1n);let v,E=!1;const k=n.poll(async()=>{var C;if(!E){try{v=await n.getAction(e,re,"createEventFilter")({address:t,args:r,event:s,events:o,strict:m,fromBlock:i})}catch{}E=!0;return}try{let R;if(v)R=await n.getAction(e,n.getFilterChanges,"getFilterChanges")({filter:v});else{const x=await n.getAction(e,n.getBlockNumber,"getBlockNumber")({});w&&w!==x?R=await n.getAction(e,n.getLogs,"getLogs")({address:t,args:r,event:s,events:o,fromBlock:w+1n,toBlock:x}):R=[],w=x}if(R.length===0)return;if(a)g.onLogs(R);else for(const x of R)g.onLogs([x])}catch(R){v&&R instanceof n.InvalidInputRpcError&&(E=!1),(C=g.onError)==null||C.call(g,R)}},{emitOnBegin:!0,interval:c});return async()=>{v&&await n.getAction(e,n.uninstallFilter,"uninstallFilter")({filter:v}),k()}})})():(()=>{let T=!0,g=()=>T=!1;return(async()=>{try{const w=(()=>{if(e.transport.type==="fallback"){const C=e.transport.transports.find(R=>R.config.type==="webSocket");return C?C.value:e.transport}return e.transport})(),v=o??(s?[s]:void 0);let E=[];v&&(E=[v.flatMap(R=>n.encodeEventTopics({abi:[R],eventName:R.name,args:r}))],s&&(E=E[0]));const{unsubscribe:k}=await w.subscribe({params:["logs",{address:t,topics:E}],onData(C){var x;if(!T)return;const R=C.result;try{const{eventName:A,args:N}=n.decodeEventLog({abi:v??[],data:R.data,topics:R.topics,strict:m}),I=h.formatLog(R,{args:N,eventName:A});f([I])}catch(A){let N,I;if(A instanceof n.DecodeLogDataMismatch||A instanceof n.DecodeLogTopicsMismatch){if(u)return;N=A.abiItem.name,I=(x=A.abiItem.inputs)==null?void 0:x.some(P=>!("name"in P&&P.name))}const B=h.formatLog(R,{args:I?[]:{},eventName:N});f([B])}},onError(C){d==null||d(C)}});g=k,T||g()}catch(w){d==null||d(w)}})(),()=>g()})()}function Tt(e,{batch:t=!0,onError:r,onTransactions:a,poll:s,pollingInterval:o=e.pollingInterval}){return(typeof s<"u"?s:e.transport.type!=="webSocket")?(()=>{const l=n.stringify(["watchPendingTransactions",e.uid,t,o]);return n.observe(l,{onTransactions:a,onError:r},c=>{let u;const p=n.poll(async()=>{var m;try{if(!u)try{u=await n.getAction(e,ne,"createPendingTransactionFilter")({});return}catch(b){throw p(),b}const y=await n.getAction(e,n.getFilterChanges,"getFilterChanges")({filter:u});if(y.length===0)return;if(t)c.onTransactions(y);else for(const b of y)c.onTransactions([b])}catch(y){(m=c.onError)==null||m.call(c,y)}},{emitOnBegin:!0,interval:o});return async()=>{u&&await n.getAction(e,n.uninstallFilter,"uninstallFilter")({filter:u}),p()}})})():(()=>{let l=!0,c=()=>l=!1;return(async()=>{try{const{unsubscribe:u}=await e.transport.subscribe({params:["newPendingTransactions"],onData(p){if(!l)return;const m=p.result;a([m])},onError(p){r==null||r(p)}});c=u,l||c()}catch(u){r==null||r(u)}})(),()=>c()})()}function Rt(e){var u,p,m;const{scheme:t,statement:r,...a}=((u=e.match(Et))==null?void 0:u.groups)??{},{chainId:s,expirationTime:o,issuedAt:i,notBefore:d,requestId:f,...l}=((p=e.match(Ct))==null?void 0:p.groups)??{},c=(m=e.split("Resources:")[1])==null?void 0:m.split(`
3
- - `).slice(1);return{...a,...l,...s?{chainId:Number(s)}:{},...o?{expirationTime:new Date(o)}:{},...i?{issuedAt:new Date(i)}:{},...d?{notBefore:new Date(d)}:{},...f?{requestId:f}:{},...c?{resources:c}:{},...t?{scheme:t}:{},...r?{statement:r}:{}}}const Et=/^(?:(?<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)?/,Ct=/(?: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 At(e){const{address:t,domain:r,message:a,nonce:s,scheme:o,time:i=new Date}=e;if(r&&a.domain!==r||s&&a.nonce!==s||o&&a.scheme!==o||a.expirationTime&&i>=a.expirationTime||a.notBefore&&i<a.notBefore)return!1;try{if(!a.address||t&&!n.isAddressEqual(a.address,t))return!1}catch{return!1}return!0}async function kt(e,t){const{address:r,domain:a,message:s,nonce:o,scheme:i,signature:d,time:f=new Date,...l}=t,c=Rt(s);if(!c.address||!At({address:r,domain:a,message:c,nonce:o,scheme:i,time:f}))return!1;const p=de(s);return W(e,{address:c.address,hash:p,signature:d,...l})}function xt(e){return{call:t=>n.call(e,t),createBlockFilter:()=>Oe(e),createContractEventFilter:t=>n.createContractEventFilter(e,t),createEventFilter:t=>re(e,t),createPendingTransactionFilter:()=>ne(e),estimateContractGas:t=>n.estimateContractGas(e,t),estimateGas:t=>n.estimateGas(e,t),getBalance:t=>n.getBalance(e,t),getBlobBaseFee:()=>We(e),getBlock:t=>n.getBlock(e,t),getBlockNumber:t=>n.getBlockNumber(e,t),getBlockTransactionCount:t=>Ge(e,t),getBytecode:t=>Z(e,t),getChainId:()=>n.getChainId(e),getCode:t=>Z(e,t),getContractEvents:t=>n.getContractEvents(e,t),getEip712Domain:t=>ge(e,t),getEnsAddress:t=>Ie(e,t),getEnsAvatar:t=>$e(e,t),getEnsName:t=>Le(e,t),getEnsResolver:t=>je(e,t),getEnsText:t=>te(e,t),getFeeHistory:t=>Ze(e,t),estimateFeesPerGas:t=>n.estimateFeesPerGas(e,t),getFilterChanges:t=>n.getFilterChanges(e,t),getFilterLogs:t=>Je(e,t),getGasPrice:()=>n.getGasPrice(e),getLogs:t=>n.getLogs(e,t),getProof:t=>ft(e,t),estimateMaxPriorityFeePerGas:t=>n.estimateMaxPriorityFeePerGas(e,t),getStorageAt:t=>lt(e,t),getTransaction:t=>O(e,t),getTransactionConfirmations:t=>pt(e,t),getTransactionCount:t=>n.getTransactionCount(e,t),getTransactionReceipt:t=>U(e,t),multicall:t=>ht(e,t),prepareTransactionRequest:t=>n.prepareTransactionRequest(e,t),readContract:t=>n.readContract(e,t),sendRawTransaction:t=>n.sendRawTransaction(e,t),simulateContract:t=>n.simulateContract(e,t),verifyMessage:t=>mt(e,t),verifySiweMessage:t=>kt(e,t),verifyTypedData:t=>yt(e,t),uninstallFilter:t=>n.uninstallFilter(e,t),waitForTransactionReceipt:t=>bt(e,t),watchBlocks:t=>wt(e,t),watchBlockNumber:t=>le(e,t),watchContractEvent:t=>n.watchContractEvent(e,t),watchEvent:t=>vt(e,t),watchPendingTransactions:t=>Tt(e,t)}}function It(e){const{key:t="public",name:r="Public Client"}=e;return Q({...e,key:t,name:r,type:"publicClient"}).extend(xt)}function Nt(e,t){const{abi:r,args:a,bytecode:s,...o}=t,i=n.encodeDeployData({abi:r,args:a,bytecode:s});return n.sendTransaction(e,{...o,data:i})}async function Bt(e){var r;return((r=e.account)==null?void 0:r.type)==="local"?[e.account.address]:(await e.request({method:"eth_accounts"},{dedupe:!0})).map(a=>h.checksumAddress(a))}async function Pt(e){return await e.request({method:"wallet_getPermissions"},{dedupe:!0})}async function Ft(e){return(await e.request({method:"eth_requestAccounts"},{dedupe:!0,retryCount:0})).map(r=>h.getAddress(r))}async function qt(e,t){return e.request({method:"wallet_requestPermissions",params:[t]},{retryCount:0})}async function Dt(e,{account:t=e.account,message:r}){if(!t)throw new n.AccountNotFoundError({docsPath:"/docs/actions/wallet/signMessage"});const a=n.parseAccount(t);if(a.signMessage)return a.signMessage({message:r});const s=typeof r=="string"?h.stringToHex(r):r.raw instanceof Uint8Array?h.toHex(r.raw):r.raw;return e.request({method:"personal_sign",params:[s,a.address]},{retryCount:0})}async function St(e,t){var l,c,u,p;const{account:r=e.account,chain:a=e.chain,...s}=t;if(!r)throw new n.AccountNotFoundError({docsPath:"/docs/actions/wallet/signTransaction"});const o=n.parseAccount(r);n.assertRequest({account:o,...t});const i=await n.getAction(e,n.getChainId,"getChainId")({});a!==null&&n.assertCurrentChain({currentChainId:i,chain:a});const d=(a==null?void 0:a.formatters)||((l=e.chain)==null?void 0:l.formatters),f=((c=d==null?void 0:d.transactionRequest)==null?void 0:c.format)||n.formatTransactionRequest;return o.signTransaction?o.signTransaction({...s,chainId:i},{serializer:(p=(u=e.chain)==null?void 0:u.serializers)==null?void 0:p.transaction}):await e.request({method:"eth_signTransaction",params:[{...f(s),chainId:h.numberToHex(i),from:o.address}]},{retryCount:0})}async function Ht(e,t){const{account:r=e.account,domain:a,message:s,primaryType:o}=t;if(!r)throw new n.AccountNotFoundError({docsPath:"/docs/actions/wallet/signTypedData"});const i=n.parseAccount(r),d={EIP712Domain:ue({domain:a}),...t.types};if(ce({domain:a,message:s,primaryType:o,types:d}),i.signTypedData)return i.signTypedData({domain:a,message:s,primaryType:o,types:d});const f=nt({domain:a,message:s,primaryType:o,types:d});return e.request({method:"eth_signTypedData_v4",params:[i.address,f]},{retryCount:0})}async function _t(e,{id:t}){await e.request({method:"wallet_switchEthereumChain",params:[{chainId:h.numberToHex(t)}]},{retryCount:0})}async function Mt(e,t){return await e.request({method:"wallet_watchAsset",params:t},{retryCount:0})}function zt(e){return{addChain:t=>ye(e,t),deployContract:t=>Nt(e,t),getAddresses:()=>Bt(e),getChainId:()=>n.getChainId(e),getPermissions:()=>Pt(e),prepareTransactionRequest:t=>n.prepareTransactionRequest(e,t),requestAddresses:()=>Ft(e),requestPermissions:t=>qt(e,t),sendRawTransaction:t=>n.sendRawTransaction(e,t),sendTransaction:t=>n.sendTransaction(e,t),signMessage:t=>Dt(e,t),signTransaction:t=>St(e,t),signTypedData:t=>Ht(e,t),switchChain:t=>_t(e,t),watchAsset:t=>Mt(e,t),writeContract:t=>n.writeContract(e,t)}}function Ut(e){const{key:t="wallet",name:r="Wallet Client",transport:a}=e;return Q({...e,key:t,name:r,transport:a,type:"walletClient"}).extend(zt)}exports.createPublicClient=It;exports.createTransport=K;exports.createWalletClient=Ut;exports.http=Ae;
4
- //# sourceMappingURL=createWalletClient-BuLYysrp.cjs.map