@pufferfinance/puffer-sdk 1.13.2 → 1.14.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.
- package/dist/api/puffer-client-helpers.cjs +1 -1
- package/dist/api/puffer-client-helpers.cjs.map +1 -1
- package/dist/api/puffer-client-helpers.js +3 -3
- package/dist/api/puffer-client-helpers.js.map +1 -1
- package/dist/api/puffer-client.cjs +1 -1
- package/dist/api/puffer-client.js +2 -2
- package/dist/{ccip-C0xwQhXU.cjs → ccip-BYEwaDSr.cjs} +2 -2
- package/dist/{ccip-C0xwQhXU.cjs.map → ccip-BYEwaDSr.cjs.map} +1 -1
- package/dist/{ccip-K-z2PL4P.js → ccip-DA_MOIPz.js} +3 -3
- package/dist/{ccip-K-z2PL4P.js.map → ccip-DA_MOIPz.js.map} +1 -1
- package/dist/chains/constants.cjs +1 -1
- package/dist/chains/constants.d.ts +4 -1
- package/dist/chains/constants.js +1 -1
- package/dist/constants-5WxIZnbu.cjs +9 -0
- package/dist/constants-5WxIZnbu.cjs.map +1 -0
- package/dist/{constants-CH7Tz5jz.js → constants-BDqMRitM.js} +924 -798
- package/dist/constants-BDqMRitM.js.map +1 -0
- package/dist/contracts/abis/mainnet/Accountant.cjs +1 -1
- package/dist/contracts/abis/mainnet/Accountant.cjs.map +1 -1
- package/dist/contracts/abis/mainnet/Accountant.d.ts +13 -457
- package/dist/contracts/abis/mainnet/Accountant.js +12 -441
- package/dist/contracts/abis/mainnet/Accountant.js.map +1 -1
- package/dist/contracts/abis/mainnet/BoringVault.cjs +1 -1
- package/dist/contracts/abis/mainnet/BoringVault.cjs.map +1 -1
- package/dist/contracts/abis/mainnet/BoringVault.d.ts +18 -505
- package/dist/contracts/abis/mainnet/BoringVault.js +15 -346
- package/dist/contracts/abis/mainnet/BoringVault.js.map +1 -1
- package/dist/contracts/abis/mainnet/CarrotStaker.cjs +1 -1
- package/dist/contracts/abis/mainnet/CarrotStaker.cjs.map +1 -1
- package/dist/contracts/abis/mainnet/CarrotStaker.d.ts +2 -371
- package/dist/contracts/abis/mainnet/CarrotStaker.js +4 -295
- package/dist/contracts/abis/mainnet/CarrotStaker.js.map +1 -1
- package/dist/contracts/abis/mainnet/Distributor.cjs +1 -1
- package/dist/contracts/abis/mainnet/Distributor.cjs.map +1 -1
- package/dist/contracts/abis/mainnet/Distributor.d.ts +0 -413
- package/dist/contracts/abis/mainnet/Distributor.js +2 -355
- package/dist/contracts/abis/mainnet/Distributor.js.map +1 -1
- package/dist/contracts/abis/mainnet/L1RewardManager.cjs +1 -1
- package/dist/contracts/abis/mainnet/L1RewardManager.cjs.map +1 -1
- package/dist/contracts/abis/mainnet/L1RewardManager.d.ts +0 -489
- package/dist/contracts/abis/mainnet/L1RewardManager.js +0 -411
- package/dist/contracts/abis/mainnet/L1RewardManager.js.map +1 -1
- package/dist/contracts/abis/mainnet/L2RewardManager.cjs +1 -1
- package/dist/contracts/abis/mainnet/L2RewardManager.cjs.map +1 -1
- package/dist/contracts/abis/mainnet/L2RewardManager.d.ts +23 -569
- package/dist/contracts/abis/mainnet/L2RewardManager.js +16 -484
- package/dist/contracts/abis/mainnet/L2RewardManager.js.map +1 -1
- package/dist/contracts/abis/mainnet/PufLocker.cjs +1 -1
- package/dist/contracts/abis/mainnet/PufLocker.cjs.map +1 -1
- package/dist/contracts/abis/mainnet/PufLocker.d.ts +29 -371
- package/dist/contracts/abis/mainnet/PufLocker.js +15 -285
- package/dist/contracts/abis/mainnet/PufLocker.js.map +1 -1
- package/dist/contracts/abis/mainnet/PufferL2Depositor.cjs +1 -1
- package/dist/contracts/abis/mainnet/PufferL2Depositor.cjs.map +1 -1
- package/dist/contracts/abis/mainnet/PufferL2Depositor.d.ts +0 -325
- package/dist/contracts/abis/mainnet/PufferL2Depositor.js +0 -270
- package/dist/contracts/abis/mainnet/PufferL2Depositor.js.map +1 -1
- package/dist/contracts/abis/mainnet/PufferVaultV2.cjs +1 -1
- package/dist/contracts/abis/mainnet/PufferVaultV2.cjs.map +1 -1
- package/dist/contracts/abis/mainnet/PufferVaultV2.d.ts +35 -1289
- package/dist/contracts/abis/mainnet/PufferVaultV2.js +45 -1681
- package/dist/contracts/abis/mainnet/PufferVaultV2.js.map +1 -1
- package/dist/contracts/abis/mainnet/PufferWithdrawalManager.cjs +1 -1
- package/dist/contracts/abis/mainnet/PufferWithdrawalManager.cjs.map +1 -1
- package/dist/contracts/abis/mainnet/PufferWithdrawalManager.d.ts +3 -426
- package/dist/contracts/abis/mainnet/PufferWithdrawalManager.js +5 -552
- package/dist/contracts/abis/mainnet/PufferWithdrawalManager.js.map +1 -1
- package/dist/contracts/abis/mainnet/Teller.cjs +1 -1
- package/dist/contracts/abis/mainnet/Teller.cjs.map +1 -1
- package/dist/contracts/abis/mainnet/Teller.d.ts +18 -444
- package/dist/contracts/abis/mainnet/Teller.js +15 -390
- package/dist/contracts/abis/mainnet/Teller.js.map +1 -1
- package/dist/contracts/abis/mainnet/mtwCARROT.cjs +1 -1
- package/dist/contracts/abis/mainnet/mtwCARROT.cjs.map +1 -1
- package/dist/contracts/abis/mainnet/mtwCARROT.d.ts +69 -399
- package/dist/contracts/abis/mainnet/mtwCARROT.js +43 -346
- package/dist/contracts/abis/mainnet/mtwCARROT.js.map +1 -1
- package/dist/contracts/addresses.cjs +1 -1
- package/dist/contracts/addresses.cjs.map +1 -1
- package/dist/contracts/addresses.js +4 -1
- package/dist/contracts/addresses.js.map +1 -1
- package/dist/contracts/handlers/carrot-staking-handler.cjs +1 -1
- package/dist/contracts/handlers/carrot-staking-handler.d.ts +1652 -0
- package/dist/contracts/handlers/carrot-staking-handler.js +2 -2
- package/dist/contracts/handlers/distributor-handler.cjs +1 -1
- package/dist/contracts/handlers/distributor-handler.cjs.map +1 -1
- package/dist/contracts/handlers/distributor-handler.d.ts +8762 -0
- package/dist/contracts/handlers/distributor-handler.js +13 -127
- package/dist/contracts/handlers/distributor-handler.js.map +1 -1
- package/dist/contracts/handlers/erc20-permit-handler.cjs +1 -1
- package/dist/contracts/handlers/erc20-permit-handler.cjs.map +1 -1
- package/dist/contracts/handlers/erc20-permit-handler.d.ts +4 -4
- package/dist/contracts/handlers/erc20-permit-handler.js +14 -14
- package/dist/contracts/handlers/erc20-permit-handler.js.map +1 -1
- package/dist/contracts/handlers/l1-reward-manager-handler.cjs +1 -1
- package/dist/contracts/handlers/l1-reward-manager-handler.cjs.map +1 -1
- package/dist/contracts/handlers/l1-reward-manager-handler.d.ts +339 -0
- package/dist/contracts/handlers/l1-reward-manager-handler.js +14 -14
- package/dist/contracts/handlers/l1-reward-manager-handler.js.map +1 -1
- package/dist/contracts/handlers/l2-reward-manager-handler.cjs +1 -1
- package/dist/contracts/handlers/l2-reward-manager-handler.cjs.map +1 -1
- package/dist/contracts/handlers/l2-reward-manager-handler.d.ts +2423 -0
- package/dist/contracts/handlers/l2-reward-manager-handler.js +6 -6
- package/dist/contracts/handlers/l2-reward-manager-handler.js.map +1 -1
- package/dist/contracts/handlers/mtw-carrot-handler.cjs +1 -1
- package/dist/contracts/handlers/mtw-carrot-handler.d.ts +14333 -0
- package/dist/contracts/handlers/mtw-carrot-handler.js +2 -2
- package/dist/contracts/handlers/nucleus-accountant-handler.cjs +1 -1
- package/dist/contracts/handlers/nucleus-accountant-handler.cjs.map +1 -1
- package/dist/contracts/handlers/nucleus-accountant-handler.d.ts +620 -0
- package/dist/contracts/handlers/nucleus-accountant-handler.js +8 -8
- package/dist/contracts/handlers/nucleus-accountant-handler.js.map +1 -1
- package/dist/contracts/handlers/nucleus-atomic-queue-handler.cjs +1 -1
- package/dist/contracts/handlers/nucleus-atomic-queue-handler.cjs.map +1 -1
- package/dist/contracts/handlers/nucleus-atomic-queue-handler.js +9 -9
- package/dist/contracts/handlers/nucleus-atomic-queue-handler.js.map +1 -1
- package/dist/contracts/handlers/nucleus-boring-vault-handler.cjs +1 -1
- package/dist/contracts/handlers/nucleus-boring-vault-handler.cjs.map +1 -1
- package/dist/contracts/handlers/nucleus-boring-vault-handler.d.ts +3917 -0
- package/dist/contracts/handlers/nucleus-boring-vault-handler.js +24 -24
- package/dist/contracts/handlers/nucleus-boring-vault-handler.js.map +1 -1
- package/dist/contracts/handlers/nucleus-teller-handler.cjs +1 -1
- package/dist/contracts/handlers/nucleus-teller-handler.cjs.map +1 -1
- package/dist/contracts/handlers/nucleus-teller-handler.d.ts +2209 -0
- package/dist/contracts/handlers/nucleus-teller-handler.js +14 -14
- package/dist/contracts/handlers/nucleus-teller-handler.js.map +1 -1
- package/dist/contracts/handlers/puf-locker-handler.cjs +1 -1
- package/dist/contracts/handlers/puf-locker-handler.cjs.map +1 -1
- package/dist/contracts/handlers/puf-locker-handler.d.ts +2389 -0
- package/dist/contracts/handlers/puf-locker-handler.js +12 -12
- package/dist/contracts/handlers/puf-locker-handler.js.map +1 -1
- package/dist/contracts/handlers/puffer-depositor-handler.cjs +1 -1
- package/dist/contracts/handlers/puffer-depositor-handler.cjs.map +1 -1
- package/dist/contracts/handlers/puffer-depositor-handler.d.ts +100 -100
- package/dist/contracts/handlers/puffer-depositor-handler.js +19 -19
- package/dist/contracts/handlers/puffer-depositor-handler.js.map +1 -1
- package/dist/contracts/handlers/puffer-l2-depositor-handler.cjs +1 -1
- package/dist/contracts/handlers/puffer-l2-depositor-handler.cjs.map +1 -1
- package/dist/contracts/handlers/puffer-l2-depositor-handler.d.ts +471 -0
- package/dist/contracts/handlers/puffer-l2-depositor-handler.js +17 -17
- package/dist/contracts/handlers/puffer-l2-depositor-handler.js.map +1 -1
- package/dist/contracts/handlers/puffer-vault-handler.cjs +1 -1
- package/dist/contracts/handlers/puffer-vault-handler.cjs.map +1 -1
- package/dist/contracts/handlers/puffer-vault-handler.d.ts +4657 -0
- package/dist/contracts/handlers/puffer-vault-handler.js +4 -4
- package/dist/contracts/handlers/puffer-vault-handler.js.map +1 -1
- package/dist/contracts/handlers/puffer-withdrawal-manager-handler.cjs +1 -1
- package/dist/contracts/handlers/puffer-withdrawal-manager-handler.cjs.map +1 -1
- package/dist/contracts/handlers/puffer-withdrawal-manager-handler.d.ts +1882 -0
- package/dist/contracts/handlers/puffer-withdrawal-manager-handler.js +10 -10
- package/dist/contracts/handlers/puffer-withdrawal-manager-handler.js.map +1 -1
- package/dist/contracts/tokens.cjs +1 -1
- package/dist/contracts/tokens.cjs.map +1 -1
- package/dist/contracts/tokens.d.ts +3 -1
- package/dist/contracts/tokens.js +71 -60
- package/dist/contracts/tokens.js.map +1 -1
- package/dist/contracts/vaults-addresses.cjs +1 -1
- package/dist/contracts/vaults-addresses.d.ts +5 -4
- package/dist/contracts/vaults-addresses.js +1 -1
- package/dist/{createWalletClient-DNLhBkOd.js → createWalletClient-DMXR-Bug.js} +4 -4
- package/dist/{createWalletClient-DNLhBkOd.js.map → createWalletClient-DMXR-Bug.js.map} +1 -1
- package/dist/{createWalletClient-Di5of07E.cjs → createWalletClient-L7tR5Gda.cjs} +2 -2
- package/dist/{createWalletClient-Di5of07E.cjs.map → createWalletClient-L7tR5Gda.cjs.map} +1 -1
- package/dist/{getContract-ChPFzc5y.cjs → getContract-Bt9GsQBq.cjs} +2 -2
- package/dist/{getContract-ChPFzc5y.cjs.map → getContract-Bt9GsQBq.cjs.map} +1 -1
- package/dist/{getContract-6ajhFbP2.js → getContract-DXPZJOBy.js} +2 -2
- package/dist/{getContract-6ajhFbP2.js.map → getContract-DXPZJOBy.js.map} +1 -1
- package/dist/main.cjs +1 -1
- package/dist/main.js +1 -1
- package/dist/{secp256k1-Ev0s9Yr6.js → secp256k1-D02y6Pc-.js} +2 -2
- package/dist/{secp256k1-Ev0s9Yr6.js.map → secp256k1-D02y6Pc-.js.map} +1 -1
- package/dist/{secp256k1-B8plqpXf.cjs → secp256k1-q_akf6f-.cjs} +2 -2
- package/dist/{secp256k1-B8plqpXf.cjs.map → secp256k1-q_akf6f-.cjs.map} +1 -1
- package/dist/utils/version.cjs +1 -1
- package/dist/utils/version.js +1 -1
- package/dist/{writeContract-CjcOEtWX.js → writeContract-BsrMQkg5.js} +4 -4
- package/dist/{writeContract-CjcOEtWX.js.map → writeContract-BsrMQkg5.js.map} +1 -1
- package/dist/{writeContract-BatuNuTe.cjs → writeContract-Cbrw62uO.cjs} +3 -3
- package/dist/{writeContract-BatuNuTe.cjs.map → writeContract-Cbrw62uO.cjs.map} +1 -1
- package/package.json +2 -2
- package/dist/constants-BcPRVxdH.cjs +0 -9
- package/dist/constants-BcPRVxdH.cjs.map +0 -1
- package/dist/constants-CH7Tz5jz.js.map +0 -1
- package/dist/contracts/abis/holesky/PufferDepositor.cjs +0 -2
- package/dist/contracts/abis/holesky/PufferDepositor.cjs.map +0 -1
- package/dist/contracts/abis/holesky/PufferDepositor.d.ts +0 -283
- package/dist/contracts/abis/holesky/PufferDepositor.js +0 -377
- package/dist/contracts/abis/holesky/PufferDepositor.js.map +0 -1
- package/dist/contracts/abis/holesky/PufferVaultV2.cjs +0 -2
- package/dist/contracts/abis/holesky/PufferVaultV2.cjs.map +0 -1
- package/dist/contracts/abis/holesky/PufferVaultV2.d.ts +0 -1361
- package/dist/contracts/abis/holesky/PufferVaultV2.js +0 -1787
- package/dist/contracts/abis/holesky/PufferVaultV2.js.map +0 -1
- package/dist/contracts/abis/l1-reward-manager-abis.cjs +0 -2
- package/dist/contracts/abis/l1-reward-manager-abis.cjs.map +0 -1
- package/dist/contracts/abis/l1-reward-manager-abis.d.ts +0 -527
- package/dist/contracts/abis/l1-reward-manager-abis.js +0 -10
- package/dist/contracts/abis/l1-reward-manager-abis.js.map +0 -1
- package/dist/contracts/abis/l2-reward-manager-abis.cjs +0 -2
- package/dist/contracts/abis/l2-reward-manager-abis.cjs.map +0 -1
- package/dist/contracts/abis/l2-reward-manager-abis.d.ts +0 -709
- package/dist/contracts/abis/l2-reward-manager-abis.js +0 -11
- package/dist/contracts/abis/l2-reward-manager-abis.js.map +0 -1
- package/dist/contracts/abis/nucleus-accountant-abis.cjs +0 -2
- package/dist/contracts/abis/nucleus-accountant-abis.cjs.map +0 -1
- package/dist/contracts/abis/nucleus-accountant-abis.d.ts +0 -525
- package/dist/contracts/abis/nucleus-accountant-abis.js +0 -9
- package/dist/contracts/abis/nucleus-accountant-abis.js.map +0 -1
- package/dist/contracts/abis/nucleus-atomic-queue-abis.cjs +0 -2
- package/dist/contracts/abis/nucleus-atomic-queue-abis.cjs.map +0 -1
- package/dist/contracts/abis/nucleus-atomic-queue-abis.d.ts +0 -332
- package/dist/contracts/abis/nucleus-atomic-queue-abis.js +0 -9
- package/dist/contracts/abis/nucleus-atomic-queue-abis.js.map +0 -1
- package/dist/contracts/abis/nucleus-boring-vault-abis.cjs +0 -2
- package/dist/contracts/abis/nucleus-boring-vault-abis.cjs.map +0 -1
- package/dist/contracts/abis/nucleus-boring-vault-abis.d.ts +0 -626
- package/dist/contracts/abis/nucleus-boring-vault-abis.js +0 -9
- package/dist/contracts/abis/nucleus-boring-vault-abis.js.map +0 -1
- package/dist/contracts/abis/nucleus-teller-abis.cjs +0 -2
- package/dist/contracts/abis/nucleus-teller-abis.cjs.map +0 -1
- package/dist/contracts/abis/nucleus-teller-abis.d.ts +0 -545
- package/dist/contracts/abis/nucleus-teller-abis.js +0 -9
- package/dist/contracts/abis/nucleus-teller-abis.js.map +0 -1
- package/dist/contracts/abis/puf-locker-abis.cjs +0 -2
- package/dist/contracts/abis/puf-locker-abis.cjs.map +0 -1
- package/dist/contracts/abis/puf-locker-abis.d.ts +0 -484
- package/dist/contracts/abis/puf-locker-abis.js +0 -10
- package/dist/contracts/abis/puf-locker-abis.js.map +0 -1
- package/dist/contracts/abis/puffer-depositor-abis.cjs +0 -2
- package/dist/contracts/abis/puffer-depositor-abis.cjs.map +0 -1
- package/dist/contracts/abis/puffer-depositor-abis.d.ts +0 -664
- package/dist/contracts/abis/puffer-depositor-abis.js +0 -20
- package/dist/contracts/abis/puffer-depositor-abis.js.map +0 -1
- package/dist/contracts/abis/puffer-vault-abis.cjs +0 -2
- package/dist/contracts/abis/puffer-vault-abis.cjs.map +0 -1
- package/dist/contracts/abis/puffer-vault-abis.d.ts +0 -2787
- package/dist/contracts/abis/puffer-vault-abis.js +0 -15
- package/dist/contracts/abis/puffer-vault-abis.js.map +0 -1
- package/dist/contracts/abis/puffer-withdrawal-manager-abis.cjs +0 -2
- package/dist/contracts/abis/puffer-withdrawal-manager-abis.cjs.map +0 -1
- package/dist/contracts/abis/puffer-withdrawal-manager-abis.d.ts +0 -514
- package/dist/contracts/abis/puffer-withdrawal-manager-abis.js +0 -10
- package/dist/contracts/abis/puffer-withdrawal-manager-abis.js.map +0 -1
- package/dist/contracts/abis/tokens-abis.cjs +0 -2
- package/dist/contracts/abis/tokens-abis.cjs.map +0 -1
- package/dist/contracts/abis/tokens-abis.d.ts +0 -396
- package/dist/contracts/abis/tokens-abis.js +0 -6
- package/dist/contracts/abis/tokens-abis.js.map +0 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
"use strict";const o=require("./writeContract-BatuNuTe.cjs"),h=require("./constants-BcPRVxdH.cjs"),bt=require("./secp256k1-B8plqpXf.cjs");function xe(e){let t;if(typeof e=="string")t=o.parseSignature(e);else{const r=o.parseStructs(e),n=e.length;for(let s=0;s<n;s++){const a=e[s];if(!o.isStructSignature(a)){t=o.parseSignature(a,r);break}}}if(!t)throw new o.InvalidAbiItemError({signature:e});return t}class yt 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 wt(e,t){const{address:r,factory:n,factoryData:s}=t;try{const[a,i,u,d,c,l,f]=await o.getAction(e,o.readContract,"readContract")({abi:vt,address:r,functionName:"eip712Domain",factory:n,factoryData:s});return{domain:{name:i,version:u,chainId:Number(d),verifyingContract:c,salt:l},extensions:f,fields:a}}catch(a){const i=a;throw i.name==="ContractFunctionExecutionError"&&i.cause.name==="ContractFunctionZeroDataError"?new yt({address:r}):i}}const vt=[{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 xt(e,{chain:t}){const{id:r,name:n,nativeCurrency:s,rpcUrls:a,blockExplorers:i}=t;await e.request({method:"wallet_addEthereumChain",params:[{chainId:h.numberToHex(r),chainName:n,nativeCurrency:s,rpcUrls:a.default.http,blockExplorerUrls:i?Object.values(i).map(({url:u})=>u):void 0}]},{dedupe:!0,retryCount:0})}const te=256;let W=te,Z;function Be(e=11){if(!Z||W+e>te*2){Z="",W=0;for(let t=0;t<te;t++)Z+=(256+Math.random()*256|0).toString(16).substring(1)}return Z.substring(W,W+++e)}function Ne(e){const{batch:t,cacheTime:r=e.pollingInterval??4e3,ccipRead:n,key:s="base",name:a="Base Client",pollingInterval:i=4e3,type:u="base"}=e,d=e.chain,c=e.account?o.parseAccount(e.account):void 0,{config:l,request:f,value:p}=e.transport({chain:d,pollingInterval:i}),g={...l,...p},b={account:c,batch:t,cacheTime:r,ccipRead:n,chain:d,key:s,name:a,pollingInterval:i,request:f,transport:g,type:u,uid:Be()};function y(E){return m=>{const w=m(E);for(const T in b)delete w[T];const v={...E,...w};return Object.assign(v,{extend:y(v)})}}return Object.assign(b,{extend:y(b)})}const J=new h.LruMap(8192);function Et(e,{enabled:t=!0,id:r}){if(!t||!r)return e();if(J.get(r))return J.get(r);const n=e().finally(()=>J.delete(r));return J.set(r,n),n}function re(e,{delay:t=100,retryCount:r=2,shouldRetry:n=()=>!0}={}){return new Promise((s,a)=>{const i=async({count:u=0}={})=>{const d=async({error:c})=>{const l=typeof t=="function"?t({count:u,error:c}):t;l&&await o.wait(l),i({count:u+1})};try{const c=await e();s(c)}catch(c){if(u<r&&await n({count:u,error:c}))return d({error:c});a(c)}};i()})}function At(e,t={}){return async(r,n={})=>{var f;const{dedupe:s=!1,methods:a,retryDelay:i=150,retryCount:u=3,uid:d}={...t,...n},{method:c}=r;if((f=a==null?void 0:a.exclude)!=null&&f.includes(c))throw new o.MethodNotSupportedRpcError(new Error("method not supported"),{method:c});if(a!=null&&a.include&&!a.include.includes(c))throw new o.MethodNotSupportedRpcError(new Error("method not supported"),{method:c});const l=s?h.stringToHex(`${d}.${o.stringify(r)}`):void 0;return Et(()=>re(async()=>{try{return await e(r)}catch(p){const g=p;switch(g.code){case o.ParseRpcError.code:throw new o.ParseRpcError(g);case o.InvalidRequestRpcError.code:throw new o.InvalidRequestRpcError(g);case o.MethodNotFoundRpcError.code:throw new o.MethodNotFoundRpcError(g,{method:r.method});case o.InvalidParamsRpcError.code:throw new o.InvalidParamsRpcError(g);case o.InternalRpcError.code:throw new o.InternalRpcError(g);case o.InvalidInputRpcError.code:throw new o.InvalidInputRpcError(g);case o.ResourceNotFoundRpcError.code:throw new o.ResourceNotFoundRpcError(g);case o.ResourceUnavailableRpcError.code:throw new o.ResourceUnavailableRpcError(g);case o.TransactionRejectedRpcError.code:throw new o.TransactionRejectedRpcError(g);case o.MethodNotSupportedRpcError.code:throw new o.MethodNotSupportedRpcError(g,{method:r.method});case o.LimitExceededRpcError.code:throw new o.LimitExceededRpcError(g);case o.JsonRpcVersionUnsupportedError.code:throw new o.JsonRpcVersionUnsupportedError(g);case o.UserRejectedRequestError.code:throw new o.UserRejectedRequestError(g);case o.UnauthorizedProviderError.code:throw new o.UnauthorizedProviderError(g);case o.UnsupportedProviderMethodError.code:throw new o.UnsupportedProviderMethodError(g);case o.ProviderDisconnectedError.code:throw new o.ProviderDisconnectedError(g);case o.ChainDisconnectedError.code:throw new o.ChainDisconnectedError(g);case o.SwitchChainError.code:throw new o.SwitchChainError(g);case 5e3:throw new o.UserRejectedRequestError(g);default:throw p instanceof h.BaseError?p:new o.UnknownRpcError(g)}}},{delay:({count:p,error:g})=>{var b;if(g&&g instanceof o.HttpRequestError){const y=(b=g==null?void 0:g.headers)==null?void 0:b.get("Retry-After");if(y!=null&&y.match(/\d/))return Number.parseInt(y)*1e3}return~~(1<<p)*i},retryCount:u,shouldRetry:({error:p})=>Tt(p)}),{enabled:s,id:l})}}function Tt(e){return"code"in e&&typeof e.code=="number"?e.code===-1||e.code===o.LimitExceededRpcError.code||e.code===o.InternalRpcError.code:e instanceof o.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 Se({key:e,methods:t,name:r,request:n,retryCount:s=3,retryDelay:a=150,timeout:i,type:u},d){const c=Be();return{config:{key:e,methods:t,name:r,request:n,retryCount:s,retryDelay:a,timeout:i,type:u},request:At(n,{methods:t,retryCount:s,retryDelay:a,uid:c}),value:d}}class Rt 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 Ct(e,{errorInstance:t=new Error("timed out"),timeout:r,signal:n}){return new Promise((s,a)=>{(async()=>{let i;try{const u=new AbortController;r>0&&(i=setTimeout(()=>{n&&u.abort()},r)),s(await e({signal:(u==null?void 0:u.signal)||null}))}catch(u){(u==null?void 0:u.name)==="AbortError"&&a(t),a(u)}finally{clearTimeout(i)}})()})}function It(){return{current:0,take(){return this.current++},reset(){this.current=0}}}const Ee=It();function Pt(e,t={}){return{async request(r){var f;const{body:n,onRequest:s=t.onRequest,onResponse:a=t.onResponse,timeout:i=t.timeout??1e4}=r,u={...t.fetchOptions??{},...r.fetchOptions??{}},{headers:d,method:c,signal:l}=u;try{const p=await Ct(async({signal:b})=>{const y={...u,body:Array.isArray(n)?o.stringify(n.map(v=>({jsonrpc:"2.0",id:v.id??Ee.take(),...v}))):o.stringify({jsonrpc:"2.0",id:n.id??Ee.take(),...n}),headers:{"Content-Type":"application/json",...d},method:c||"POST",signal:l||(i>0?b:null)},E=new Request(e,y),m=await(s==null?void 0:s(E,y))??{...y,url:e};return await fetch(m.url??e,m)},{errorInstance:new o.TimeoutError({body:n,url:e}),timeout:i,signal:!0});a&&await a(p);let g;if((f=p.headers.get("Content-Type"))!=null&&f.startsWith("application/json"))g=await p.json();else{g=await p.text();try{g=JSON.parse(g||"{}")}catch(b){if(p.ok)throw b;g={error:g}}}if(!p.ok)throw new o.HttpRequestError({body:n,details:o.stringify(g.error)||p.statusText,headers:p.headers,status:p.status,url:e});return g}catch(p){throw p instanceof o.HttpRequestError||p instanceof o.TimeoutError?p:new o.HttpRequestError({body:n,cause:p,url:e})}}}}function kt(e,t={}){const{batch:r,fetchOptions:n,key:s="http",methods:a,name:i="HTTP JSON-RPC",onFetchRequest:u,onFetchResponse:d,retryDelay:c,raw:l}=t;return({chain:f,retryCount:p,timeout:g})=>{const{batchSize:b=1e3,wait:y=0}=typeof r=="object"?r:{},E=t.retryCount??p,m=g??t.timeout??1e4,w=e||(f==null?void 0:f.rpcUrls.default.http[0]);if(!w)throw new Rt;const v=Pt(w,{fetchOptions:n,onRequest:u,onResponse:d,timeout:m});return Se({key:s,methods:a,name:i,async request({method:T,params:I}){const R={method:T,params:I},{schedule:A}=o.createBatchScheduler({id:w,wait:y,shouldSplitBatch(C){return C.length>b},fn:C=>v.request({body:C}),sort:(C,S)=>C.id-S.id}),k=async C=>r?A(C):[await v.request({body:C})],[{error:P,result:N}]=await k(R);if(l)return{error:P,result:N};if(P)throw new o.RpcRequestError({body:R,error:P,url:w});return N},retryCount:E,retryDelay:c,timeout:m,type:"http"},{fetchOptions:n,url:w})}}function de(e,t){var n,s,a,i,u,d;if(!(e instanceof h.BaseError))return!1;const r=e.walk(c=>c instanceof o.ContractFunctionRevertedError);return r instanceof o.ContractFunctionRevertedError?!!(((n=r.data)==null?void 0:n.errorName)==="ResolverNotFound"||((s=r.data)==null?void 0:s.errorName)==="ResolverWildcardNotSupported"||((a=r.data)==null?void 0:a.errorName)==="ResolverNotContract"||((i=r.data)==null?void 0:i.errorName)==="ResolverError"||((u=r.data)==null?void 0:u.errorName)==="HttpError"||(d=r.reason)!=null&&d.includes("Wildcard on non-extended resolvers is not supported")||t==="reverse"&&r.reason===o.panicReasons[50]):!1}function $e(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 K(e){let t=new Uint8Array(32).fill(0);if(!e)return h.bytesToHex(t);const r=e.split(".");for(let n=r.length-1;n>=0;n-=1){const s=$e(r[n]),a=s?h.toBytes$1(s):h.keccak256(h.stringToBytes(r[n]),"bytes");t=h.keccak256(h.concat([t,a]),"bytes")}return h.bytesToHex(t)}function Bt(e){return`[${e.slice(2)}]`}function Nt(e){const t=new Uint8Array(32).fill(0);return e?$e(e)||h.keccak256(h.stringToBytes(e)):h.bytesToHex(t)}function Q(e){const t=e.replace(/^\.|\.$/gm,"");if(t.length===0)return new Uint8Array(1);const r=new Uint8Array(h.stringToBytes(t).byteLength+2);let n=0;const s=t.split(".");for(let a=0;a<s.length;a++){let i=h.stringToBytes(s[a]);i.byteLength>255&&(i=h.stringToBytes(Bt(Nt(s[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 St(e,{blockNumber:t,blockTag:r,coinType:n,name:s,gatewayUrls:a,strict:i,universalResolverAddress:u}){let d=u;if(!d){if(!e.chain)throw new Error("client chain not configured. universalResolverAddress is required.");d=o.getChainContractAddress({blockNumber:t,chain:e.chain,contract:"ensUniversalResolver"})}try{const c=o.encodeFunctionData({abi:o.addressResolverAbi,functionName:"addr",...n!=null?{args:[K(s),BigInt(n)]}:{args:[K(s)]}}),l={address:d,abi:o.universalResolverResolveAbi,functionName:"resolve",args:[h.toHex(Q(s)),c],blockNumber:t,blockTag:r},f=o.getAction(e,o.readContract,"readContract"),p=a?await f({...l,args:[...l.args,a]}):await f(l);if(p[0]==="0x")return null;const g=o.decodeFunctionResult({abi:o.addressResolverAbi,args:n!=null?[K(s),BigInt(n)]:void 0,functionName:"addr",data:p[0]});return g==="0x"||h.trim(g)==="0x00"?null:g}catch(c){if(i)throw c;if(de(c,"resolve"))return null;throw c}}class $t 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 G extends h.BaseError{constructor({reason:t}){super(`ENS NFT avatar URI is invalid. ${t}`,{name:"EnsAvatarInvalidNftUriError"})}}class fe 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 zt extends h.BaseError{constructor({namespace:t}){super(`ENS NFT avatar namespace "${t}" is not supported. Must be "erc721" or "erc1155".`,{name:"EnsAvatarUnsupportedNamespaceError"})}}const Ft=/(?<protocol>https?:\/\/[^\/]*|ipfs:\/|ipns:\/|ar:\/)?(?<root>\/)?(?<subpath>ipfs\/|ipns\/)?(?<target>[\w\-.]+)(?<subtarget>\/.*)?/,qt=/^(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>\/.*)?$/,Dt=/^data:([a-zA-Z\-/+]*);base64,([^"].*)/,Ht=/^data:([a-zA-Z\-/+]*)?(;[a-zA-Z0-9].*?)?(,)/;async function Ot(e){try{const t=await fetch(e,{method:"HEAD"});if(t.status===200){const r=t.headers.get("content-type");return r==null?void 0:r.startsWith("image/")}return!1}catch(t){return typeof t=="object"&&typeof t.response<"u"||!globalThis.hasOwnProperty("Image")?!1:new Promise(r=>{const n=new Image;n.onload=()=>{r(!0)},n.onerror=()=>{r(!1)},n.src=e})}}function Ae(e,t){return e?e.endsWith("/")?e.slice(0,-1):e:t}function ze({uri:e,gatewayUrls:t}){const r=Dt.test(e);if(r)return{uri:e,isOnChain:!0,isEncoded:r};const n=Ae(t==null?void 0:t.ipfs,"https://ipfs.io"),s=Ae(t==null?void 0:t.arweave,"https://arweave.net"),a=e.match(Ft),{protocol:i,subpath:u,target:d,subtarget:c=""}=(a==null?void 0:a.groups)||{},l=i==="ipns:/"||u==="ipns/",f=i==="ipfs:/"||u==="ipfs/"||qt.test(e);if(e.startsWith("http")&&!l&&!f){let g=e;return t!=null&&t.arweave&&(g=e.replace(/https:\/\/arweave.net/g,t==null?void 0:t.arweave)),{uri:g,isOnChain:!1,isEncoded:!1}}if((l||f)&&d)return{uri:`${n}/${l?"ipns":"ipfs"}/${d}${c}`,isOnChain:!1,isEncoded:!1};if(i==="ar:/"&&d)return{uri:`${s}/${d}${c||""}`,isOnChain:!1,isEncoded:!1};let p=e.replace(Ht,"");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 fe({uri:e})}function Fe(e){if(typeof e!="object"||!("image"in e)&&!("image_url"in e)&&!("image_data"in e))throw new $t({data:e});return e.image||e.image_url||e.image_data}async function Mt({gatewayUrls:e,uri:t}){try{const r=await fetch(t).then(s=>s.json());return await le({gatewayUrls:e,uri:Fe(r)})}catch{throw new fe({uri:t})}}async function le({gatewayUrls:e,uri:t}){const{uri:r,isOnChain:n}=ze({uri:t,gatewayUrls:e});if(n||await Ot(r))return r;throw new fe({uri:t})}function _t(e){let t=e;t.startsWith("did:nft:")&&(t=t.replace("did:nft:","").replace(/_/g,"/"));const[r,n,s]=t.split("/"),[a,i]=r.split(":"),[u,d]=n.split(":");if(!a||a.toLowerCase()!=="eip155")throw new G({reason:"Only EIP-155 supported"});if(!i)throw new G({reason:"Chain ID not found"});if(!d)throw new G({reason:"Contract address not found"});if(!s)throw new G({reason:"Token ID not found"});if(!u)throw new G({reason:"ERC namespace not found"});return{chainID:Number.parseInt(i),namespace:u.toLowerCase(),contractAddress:d,tokenID:s}}async function jt(e,{nft:t}){if(t.namespace==="erc721")return o.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 o.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 zt({namespace:t.namespace})}async function Lt(e,{gatewayUrls:t,record:r}){return/eip155:/i.test(r)?Ut(e,{gatewayUrls:t,record:r}):le({uri:r,gatewayUrls:t})}async function Ut(e,{gatewayUrls:t,record:r}){const n=_t(r),s=await jt(e,{nft:n}),{uri:a,isOnChain:i,isEncoded:u}=ze({uri:s,gatewayUrls:t});if(i&&(a.includes("data:application/json;base64,")||a.startsWith("{"))){const c=u?atob(a.replace("data:application/json;base64,","")):a,l=JSON.parse(c);return le({uri:Fe(l),gatewayUrls:t})}let d=n.tokenID;return n.namespace==="erc1155"&&(d=d.replace("0x","").padStart(64,"0")),Mt({gatewayUrls:t,uri:a.replace(/(?:0x)?{id}/,d)})}async function qe(e,{blockNumber:t,blockTag:r,name:n,key:s,gatewayUrls:a,strict:i,universalResolverAddress:u}){let d=u;if(!d){if(!e.chain)throw new Error("client chain not configured. universalResolverAddress is required.");d=o.getChainContractAddress({blockNumber:t,chain:e.chain,contract:"ensUniversalResolver"})}try{const c={address:d,abi:o.universalResolverResolveAbi,functionName:"resolve",args:[h.toHex(Q(n)),o.encodeFunctionData({abi:o.textResolverAbi,functionName:"text",args:[K(n),s]})],blockNumber:t,blockTag:r},l=o.getAction(e,o.readContract,"readContract"),f=a?await l({...c,args:[...c.args,a]}):await l(c);if(f[0]==="0x")return null;const p=o.decodeFunctionResult({abi:o.textResolverAbi,functionName:"text",data:f[0]});return p===""?null:p}catch(c){if(i)throw c;if(de(c,"resolve"))return null;throw c}}async function Gt(e,{blockNumber:t,blockTag:r,assetGatewayUrls:n,name:s,gatewayUrls:a,strict:i,universalResolverAddress:u}){const d=await o.getAction(e,qe,"getEnsText")({blockNumber:t,blockTag:r,key:"avatar",name:s,universalResolverAddress:u,gatewayUrls:a,strict:i});if(!d)return null;try{return await Lt(e,{record:d,gatewayUrls:n})}catch{return null}}async function Vt(e,{address:t,blockNumber:r,blockTag:n,gatewayUrls:s,strict:a,universalResolverAddress:i}){let u=i;if(!u){if(!e.chain)throw new Error("client chain not configured. universalResolverAddress is required.");u=o.getChainContractAddress({blockNumber:r,chain:e.chain,contract:"ensUniversalResolver"})}const d=`${t.toLowerCase().substring(2)}.addr.reverse`;try{const c={address:u,abi:o.universalResolverReverseAbi,functionName:"reverse",args:[h.toHex(Q(d))],blockNumber:r,blockTag:n},l=o.getAction(e,o.readContract,"readContract"),[f,p]=s?await l({...c,args:[...c.args,s]}):await l(c);return t.toLowerCase()!==p.toLowerCase()?null:f}catch(c){if(a)throw c;if(de(c,"reverse"))return null;throw c}}async function Wt(e,{blockNumber:t,blockTag:r,name:n,universalResolverAddress:s}){let a=s;if(!a){if(!e.chain)throw new Error("client chain not configured. universalResolverAddress is required.");a=o.getChainContractAddress({blockNumber:t,chain:e.chain,contract:"ensUniversalResolver"})}const[i]=await o.getAction(e,o.readContract,"readContract")({address:a,abi:[{inputs:[{type:"bytes"}],name:"findResolver",outputs:[{type:"address"},{type:"bytes32"}],stateMutability:"view",type:"function"}],functionName:"findResolver",args:[h.toHex(Q(n))],blockNumber:t,blockTag:r});return i}async function De(e,t){var E,m,w;const{account:r=e.account,blockNumber:n,blockTag:s="latest",blobs:a,data:i,gas:u,gasPrice:d,maxFeePerBlobGas:c,maxFeePerGas:l,maxPriorityFeePerGas:f,to:p,value:g,...b}=t,y=r?o.parseAccount(r):void 0;try{o.assertRequest(t);const T=(n?h.numberToHex(n):void 0)||s,I=(w=(m=(E=e.chain)==null?void 0:E.formatters)==null?void 0:m.transactionRequest)==null?void 0:w.format,A=(I||o.formatTransactionRequest)({...o.extract(b,{format:I}),from:y==null?void 0:y.address,blobs:a,data:i,gas:u,gasPrice:d,maxFeePerBlobGas:c,maxFeePerGas:l,maxPriorityFeePerGas:f,to:p,value:g}),k=await e.request({method:"eth_createAccessList",params:[A,T]});return{accessList:k.accessList,gasUsed:BigInt(k.gasUsed)}}catch(v){throw o.getCallError(v,{...t,account:y,chain:e.chain})}}async function Zt(e){const t=o.createFilterRequestScope(e,{method:"eth_newBlockFilter"}),r=await e.request({method:"eth_newBlockFilter"});return{id:r,request:t(r),type:"block"}}async function He(e,{address:t,args:r,event:n,events:s,fromBlock:a,strict:i,toBlock:u}={}){const d=s??(n?[n]:void 0),c=o.createFilterRequestScope(e,{method:"eth_newFilter"});let l=[];d&&(l=[d.flatMap(g=>o.encodeEventTopics({abi:[g],eventName:g.name,args:r}))],n&&(l=l[0]));const f=await e.request({method:"eth_newFilter",params:[{address:t,fromBlock:typeof a=="bigint"?h.numberToHex(a):a,toBlock:typeof u=="bigint"?h.numberToHex(u):u,...l.length?{topics:l}:{}}]});return{abi:d,args:r,eventName:n?n.name:void 0,fromBlock:a,id:f,request:c(f),strict:!!i,toBlock:u,type:"event"}}async function Oe(e){const t=o.createFilterRequestScope(e,{method:"eth_newPendingTransactionFilter"}),r=await e.request({method:"eth_newPendingTransactionFilter"});return{id:r,request:t(r),type:"transaction"}}async function Jt(e){const t=await e.request({method:"eth_blobBaseFee"});return BigInt(t)}async function Kt(e,{blockHash:t,blockNumber:r,blockTag:n="latest"}={}){const s=r!==void 0?h.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:[s||n]},{dedupe:!!s}),h.hexToNumber(a)}async function Te(e,{address:t,blockNumber:r,blockTag:n="latest"}){const s=r!==void 0?h.numberToHex(r):void 0,a=await e.request({method:"eth_getCode",params:[t,s||n]},{dedupe:!!s});if(a!=="0x")return a}function Qt(e){var t;return{baseFeePerGas:e.baseFeePerGas.map(r=>BigInt(r)),gasUsedRatio:e.gasUsedRatio,oldestBlock:BigInt(e.oldestBlock),reward:(t=e.reward)==null?void 0:t.map(r=>r.map(n=>BigInt(n)))}}async function Xt(e,{blockCount:t,blockNumber:r,blockTag:n="latest",rewardPercentiles:s}){const a=r?h.numberToHex(r):void 0,i=await e.request({method:"eth_feeHistory",params:[h.numberToHex(t),a||n,s]},{dedupe:!!a});return Qt(i)}async function Yt(e,{filter:t}){const r=t.strict??!1,s=(await t.request({method:"eth_getFilterLogs",params:[t.id]})).map(a=>h.formatLog(a));return t.abi?o.parseEventLogs({abi:t.abi,logs:s,strict:r}):s}class er extends h.BaseError{constructor({domain:t}){super(`Invalid domain "${o.stringify(t)}".`,{metaMessages:["Must be a valid EIP-712 domain."]})}}class tr 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 rr extends h.BaseError{constructor({type:t}){super(`Struct type "${t}" is invalid.`,{metaMessages:["Struct type must not be a Solidity type."],name:"InvalidStructTypeError"})}}function nr(e){const{domain:t={},message:r,primaryType:n}=e,s={EIP712Domain:Ge({domain:t}),...e.types};Ue({domain:t,message:r,primaryType:n,types:s});const a=["0x1901"];return t&&a.push(sr({domain:t,types:s})),n!=="EIP712Domain"&&a.push(Me({data:r,primaryType:n,types:s})),h.keccak256(h.concat(a))}function sr({domain:e,types:t}){return Me({data:e,primaryType:"EIP712Domain",types:t})}function Me({data:e,primaryType:t,types:r}){const n=_e({data:e,primaryType:t,types:r});return h.keccak256(n)}function _e({data:e,primaryType:t,types:r}){const n=[{type:"bytes32"}],s=[ar({primaryType:t,types:r})];for(const a of r[t]){const[i,u]=Le({types:r,name:a.name,type:a.type,value:e[a.name]});n.push(i),s.push(u)}return o.encodeAbiParameters(n,s)}function ar({primaryType:e,types:t}){const r=h.toHex(or({primaryType:e,types:t}));return h.keccak256(r)}function or({primaryType:e,types:t}){let r="";const n=je({primaryType:e,types:t});n.delete(e);const s=[e,...Array.from(n).sort()];for(const a of s)r+=`${a}(${t[a].map(({name:i,type:u})=>`${u} ${i}`).join(",")})`;return r}function je({primaryType:e,types:t},r=new Set){const n=e.match(/^\w*/u),s=n==null?void 0:n[0];if(r.has(s)||t[s]===void 0)return r;r.add(s);for(const a of t[s])je({primaryType:a.type,types:t},r);return r}function Le({types:e,name:t,type:r,value:n}){if(e[r]!==void 0)return[{type:"bytes32"},h.keccak256(_e({data:n,primaryType:r,types:e}))];if(r==="bytes")return n=`0x${(n.length%2?"0":"")+n.slice(2)}`,[{type:"bytes32"},h.keccak256(n)];if(r==="string")return[{type:"bytes32"},h.keccak256(h.toHex(n))];if(r.lastIndexOf("]")===r.length-1){const s=r.slice(0,r.lastIndexOf("[")),a=n.map(i=>Le({name:t,type:s,types:e,value:i}));return[{type:"bytes32"},h.keccak256(o.encodeAbiParameters(a.map(([i])=>i),a.map(([,i])=>i)))]}return[{type:r},n]}function ir(e){const{domain:t,message:r,primaryType:n,types:s}=e,a=(d,c)=>{const l={...c};for(const f of d){const{name:p,type:g}=f;g==="address"&&(l[p]=l[p].toLowerCase())}return l},i=s.EIP712Domain?t?a(s.EIP712Domain,t):{}:{},u=(()=>{if(n!=="EIP712Domain")return a(s[n],r)})();return o.stringify({domain:i,message:u,primaryType:n,types:s})}function Ue(e){const{domain:t,message:r,primaryType:n,types:s}=e,a=(i,u)=>{for(const d of i){const{name:c,type:l}=d,f=u[c],p=l.match(o.integerRegex);if(p&&(typeof f=="number"||typeof f=="bigint")){const[y,E,m]=p;h.numberToHex(f,{signed:E==="int",size:Number.parseInt(m)/8})}if(l==="address"&&typeof f=="string"&&!h.isAddress(f))throw new h.InvalidAddressError({address:f});const g=l.match(o.bytesRegex);if(g){const[y,E]=g;if(E&&h.size(f)!==Number.parseInt(E))throw new o.BytesSizeMismatchError({expectedSize:Number.parseInt(E),givenSize:h.size(f)})}const b=s[l];b&&(cr(l),a(b,f))}};if(s.EIP712Domain&&t){if(typeof t!="object")throw new er({domain:t});a(s.EIP712Domain,t)}if(n!=="EIP712Domain")if(s[n])a(s[n],r);else throw new tr({primaryType:n,types:s})}function Ge({domain:e}){return[typeof(e==null?void 0:e.name)=="string"&&{name:"name",type:"string"},(e==null?void 0:e.version)&&{name:"version",type:"string"},(typeof(e==null?void 0:e.chainId)=="number"||typeof(e==null?void 0:e.chainId)=="bigint")&&{name:"chainId",type:"uint256"},(e==null?void 0:e.verifyingContract)&&{name:"verifyingContract",type:"address"},(e==null?void 0:e.salt)&&{name:"salt",type:"bytes32"}].filter(Boolean)}function cr(e){if(e==="address"||e==="bool"||e==="string"||e.startsWith("bytes")||e.startsWith("uint")||e.startsWith("int"))throw new rr({type:e})}const ur=`Ethereum Signed Message:
|
|
1
|
+
"use strict";const o=require("./writeContract-Cbrw62uO.cjs"),h=require("./constants-5WxIZnbu.cjs"),bt=require("./secp256k1-q_akf6f-.cjs");function xe(e){let t;if(typeof e=="string")t=o.parseSignature(e);else{const r=o.parseStructs(e),n=e.length;for(let s=0;s<n;s++){const a=e[s];if(!o.isStructSignature(a)){t=o.parseSignature(a,r);break}}}if(!t)throw new o.InvalidAbiItemError({signature:e});return t}class yt 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 wt(e,t){const{address:r,factory:n,factoryData:s}=t;try{const[a,i,u,d,c,l,f]=await o.getAction(e,o.readContract,"readContract")({abi:vt,address:r,functionName:"eip712Domain",factory:n,factoryData:s});return{domain:{name:i,version:u,chainId:Number(d),verifyingContract:c,salt:l},extensions:f,fields:a}}catch(a){const i=a;throw i.name==="ContractFunctionExecutionError"&&i.cause.name==="ContractFunctionZeroDataError"?new yt({address:r}):i}}const vt=[{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 xt(e,{chain:t}){const{id:r,name:n,nativeCurrency:s,rpcUrls:a,blockExplorers:i}=t;await e.request({method:"wallet_addEthereumChain",params:[{chainId:h.numberToHex(r),chainName:n,nativeCurrency:s,rpcUrls:a.default.http,blockExplorerUrls:i?Object.values(i).map(({url:u})=>u):void 0}]},{dedupe:!0,retryCount:0})}const te=256;let W=te,Z;function Be(e=11){if(!Z||W+e>te*2){Z="",W=0;for(let t=0;t<te;t++)Z+=(256+Math.random()*256|0).toString(16).substring(1)}return Z.substring(W,W+++e)}function Ne(e){const{batch:t,cacheTime:r=e.pollingInterval??4e3,ccipRead:n,key:s="base",name:a="Base Client",pollingInterval:i=4e3,type:u="base"}=e,d=e.chain,c=e.account?o.parseAccount(e.account):void 0,{config:l,request:f,value:p}=e.transport({chain:d,pollingInterval:i}),g={...l,...p},b={account:c,batch:t,cacheTime:r,ccipRead:n,chain:d,key:s,name:a,pollingInterval:i,request:f,transport:g,type:u,uid:Be()};function y(E){return m=>{const w=m(E);for(const T in b)delete w[T];const v={...E,...w};return Object.assign(v,{extend:y(v)})}}return Object.assign(b,{extend:y(b)})}const J=new h.LruMap(8192);function Et(e,{enabled:t=!0,id:r}){if(!t||!r)return e();if(J.get(r))return J.get(r);const n=e().finally(()=>J.delete(r));return J.set(r,n),n}function re(e,{delay:t=100,retryCount:r=2,shouldRetry:n=()=>!0}={}){return new Promise((s,a)=>{const i=async({count:u=0}={})=>{const d=async({error:c})=>{const l=typeof t=="function"?t({count:u,error:c}):t;l&&await o.wait(l),i({count:u+1})};try{const c=await e();s(c)}catch(c){if(u<r&&await n({count:u,error:c}))return d({error:c});a(c)}};i()})}function At(e,t={}){return async(r,n={})=>{var f;const{dedupe:s=!1,methods:a,retryDelay:i=150,retryCount:u=3,uid:d}={...t,...n},{method:c}=r;if((f=a==null?void 0:a.exclude)!=null&&f.includes(c))throw new o.MethodNotSupportedRpcError(new Error("method not supported"),{method:c});if(a!=null&&a.include&&!a.include.includes(c))throw new o.MethodNotSupportedRpcError(new Error("method not supported"),{method:c});const l=s?h.stringToHex(`${d}.${o.stringify(r)}`):void 0;return Et(()=>re(async()=>{try{return await e(r)}catch(p){const g=p;switch(g.code){case o.ParseRpcError.code:throw new o.ParseRpcError(g);case o.InvalidRequestRpcError.code:throw new o.InvalidRequestRpcError(g);case o.MethodNotFoundRpcError.code:throw new o.MethodNotFoundRpcError(g,{method:r.method});case o.InvalidParamsRpcError.code:throw new o.InvalidParamsRpcError(g);case o.InternalRpcError.code:throw new o.InternalRpcError(g);case o.InvalidInputRpcError.code:throw new o.InvalidInputRpcError(g);case o.ResourceNotFoundRpcError.code:throw new o.ResourceNotFoundRpcError(g);case o.ResourceUnavailableRpcError.code:throw new o.ResourceUnavailableRpcError(g);case o.TransactionRejectedRpcError.code:throw new o.TransactionRejectedRpcError(g);case o.MethodNotSupportedRpcError.code:throw new o.MethodNotSupportedRpcError(g,{method:r.method});case o.LimitExceededRpcError.code:throw new o.LimitExceededRpcError(g);case o.JsonRpcVersionUnsupportedError.code:throw new o.JsonRpcVersionUnsupportedError(g);case o.UserRejectedRequestError.code:throw new o.UserRejectedRequestError(g);case o.UnauthorizedProviderError.code:throw new o.UnauthorizedProviderError(g);case o.UnsupportedProviderMethodError.code:throw new o.UnsupportedProviderMethodError(g);case o.ProviderDisconnectedError.code:throw new o.ProviderDisconnectedError(g);case o.ChainDisconnectedError.code:throw new o.ChainDisconnectedError(g);case o.SwitchChainError.code:throw new o.SwitchChainError(g);case 5e3:throw new o.UserRejectedRequestError(g);default:throw p instanceof h.BaseError?p:new o.UnknownRpcError(g)}}},{delay:({count:p,error:g})=>{var b;if(g&&g instanceof o.HttpRequestError){const y=(b=g==null?void 0:g.headers)==null?void 0:b.get("Retry-After");if(y!=null&&y.match(/\d/))return Number.parseInt(y)*1e3}return~~(1<<p)*i},retryCount:u,shouldRetry:({error:p})=>Tt(p)}),{enabled:s,id:l})}}function Tt(e){return"code"in e&&typeof e.code=="number"?e.code===-1||e.code===o.LimitExceededRpcError.code||e.code===o.InternalRpcError.code:e instanceof o.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 Se({key:e,methods:t,name:r,request:n,retryCount:s=3,retryDelay:a=150,timeout:i,type:u},d){const c=Be();return{config:{key:e,methods:t,name:r,request:n,retryCount:s,retryDelay:a,timeout:i,type:u},request:At(n,{methods:t,retryCount:s,retryDelay:a,uid:c}),value:d}}class Rt 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 Ct(e,{errorInstance:t=new Error("timed out"),timeout:r,signal:n}){return new Promise((s,a)=>{(async()=>{let i;try{const u=new AbortController;r>0&&(i=setTimeout(()=>{n&&u.abort()},r)),s(await e({signal:(u==null?void 0:u.signal)||null}))}catch(u){(u==null?void 0:u.name)==="AbortError"&&a(t),a(u)}finally{clearTimeout(i)}})()})}function It(){return{current:0,take(){return this.current++},reset(){this.current=0}}}const Ee=It();function Pt(e,t={}){return{async request(r){var f;const{body:n,onRequest:s=t.onRequest,onResponse:a=t.onResponse,timeout:i=t.timeout??1e4}=r,u={...t.fetchOptions??{},...r.fetchOptions??{}},{headers:d,method:c,signal:l}=u;try{const p=await Ct(async({signal:b})=>{const y={...u,body:Array.isArray(n)?o.stringify(n.map(v=>({jsonrpc:"2.0",id:v.id??Ee.take(),...v}))):o.stringify({jsonrpc:"2.0",id:n.id??Ee.take(),...n}),headers:{"Content-Type":"application/json",...d},method:c||"POST",signal:l||(i>0?b:null)},E=new Request(e,y),m=await(s==null?void 0:s(E,y))??{...y,url:e};return await fetch(m.url??e,m)},{errorInstance:new o.TimeoutError({body:n,url:e}),timeout:i,signal:!0});a&&await a(p);let g;if((f=p.headers.get("Content-Type"))!=null&&f.startsWith("application/json"))g=await p.json();else{g=await p.text();try{g=JSON.parse(g||"{}")}catch(b){if(p.ok)throw b;g={error:g}}}if(!p.ok)throw new o.HttpRequestError({body:n,details:o.stringify(g.error)||p.statusText,headers:p.headers,status:p.status,url:e});return g}catch(p){throw p instanceof o.HttpRequestError||p instanceof o.TimeoutError?p:new o.HttpRequestError({body:n,cause:p,url:e})}}}}function kt(e,t={}){const{batch:r,fetchOptions:n,key:s="http",methods:a,name:i="HTTP JSON-RPC",onFetchRequest:u,onFetchResponse:d,retryDelay:c,raw:l}=t;return({chain:f,retryCount:p,timeout:g})=>{const{batchSize:b=1e3,wait:y=0}=typeof r=="object"?r:{},E=t.retryCount??p,m=g??t.timeout??1e4,w=e||(f==null?void 0:f.rpcUrls.default.http[0]);if(!w)throw new Rt;const v=Pt(w,{fetchOptions:n,onRequest:u,onResponse:d,timeout:m});return Se({key:s,methods:a,name:i,async request({method:T,params:I}){const R={method:T,params:I},{schedule:A}=o.createBatchScheduler({id:w,wait:y,shouldSplitBatch(C){return C.length>b},fn:C=>v.request({body:C}),sort:(C,S)=>C.id-S.id}),k=async C=>r?A(C):[await v.request({body:C})],[{error:P,result:N}]=await k(R);if(l)return{error:P,result:N};if(P)throw new o.RpcRequestError({body:R,error:P,url:w});return N},retryCount:E,retryDelay:c,timeout:m,type:"http"},{fetchOptions:n,url:w})}}function de(e,t){var n,s,a,i,u,d;if(!(e instanceof h.BaseError))return!1;const r=e.walk(c=>c instanceof o.ContractFunctionRevertedError);return r instanceof o.ContractFunctionRevertedError?!!(((n=r.data)==null?void 0:n.errorName)==="ResolverNotFound"||((s=r.data)==null?void 0:s.errorName)==="ResolverWildcardNotSupported"||((a=r.data)==null?void 0:a.errorName)==="ResolverNotContract"||((i=r.data)==null?void 0:i.errorName)==="ResolverError"||((u=r.data)==null?void 0:u.errorName)==="HttpError"||(d=r.reason)!=null&&d.includes("Wildcard on non-extended resolvers is not supported")||t==="reverse"&&r.reason===o.panicReasons[50]):!1}function $e(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 K(e){let t=new Uint8Array(32).fill(0);if(!e)return h.bytesToHex(t);const r=e.split(".");for(let n=r.length-1;n>=0;n-=1){const s=$e(r[n]),a=s?h.toBytes$1(s):h.keccak256(h.stringToBytes(r[n]),"bytes");t=h.keccak256(h.concat([t,a]),"bytes")}return h.bytesToHex(t)}function Bt(e){return`[${e.slice(2)}]`}function Nt(e){const t=new Uint8Array(32).fill(0);return e?$e(e)||h.keccak256(h.stringToBytes(e)):h.bytesToHex(t)}function Q(e){const t=e.replace(/^\.|\.$/gm,"");if(t.length===0)return new Uint8Array(1);const r=new Uint8Array(h.stringToBytes(t).byteLength+2);let n=0;const s=t.split(".");for(let a=0;a<s.length;a++){let i=h.stringToBytes(s[a]);i.byteLength>255&&(i=h.stringToBytes(Bt(Nt(s[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 St(e,{blockNumber:t,blockTag:r,coinType:n,name:s,gatewayUrls:a,strict:i,universalResolverAddress:u}){let d=u;if(!d){if(!e.chain)throw new Error("client chain not configured. universalResolverAddress is required.");d=o.getChainContractAddress({blockNumber:t,chain:e.chain,contract:"ensUniversalResolver"})}try{const c=o.encodeFunctionData({abi:o.addressResolverAbi,functionName:"addr",...n!=null?{args:[K(s),BigInt(n)]}:{args:[K(s)]}}),l={address:d,abi:o.universalResolverResolveAbi,functionName:"resolve",args:[h.toHex(Q(s)),c],blockNumber:t,blockTag:r},f=o.getAction(e,o.readContract,"readContract"),p=a?await f({...l,args:[...l.args,a]}):await f(l);if(p[0]==="0x")return null;const g=o.decodeFunctionResult({abi:o.addressResolverAbi,args:n!=null?[K(s),BigInt(n)]:void 0,functionName:"addr",data:p[0]});return g==="0x"||h.trim(g)==="0x00"?null:g}catch(c){if(i)throw c;if(de(c,"resolve"))return null;throw c}}class $t 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 G extends h.BaseError{constructor({reason:t}){super(`ENS NFT avatar URI is invalid. ${t}`,{name:"EnsAvatarInvalidNftUriError"})}}class fe 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 zt extends h.BaseError{constructor({namespace:t}){super(`ENS NFT avatar namespace "${t}" is not supported. Must be "erc721" or "erc1155".`,{name:"EnsAvatarUnsupportedNamespaceError"})}}const Ft=/(?<protocol>https?:\/\/[^\/]*|ipfs:\/|ipns:\/|ar:\/)?(?<root>\/)?(?<subpath>ipfs\/|ipns\/)?(?<target>[\w\-.]+)(?<subtarget>\/.*)?/,qt=/^(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>\/.*)?$/,Dt=/^data:([a-zA-Z\-/+]*);base64,([^"].*)/,Ht=/^data:([a-zA-Z\-/+]*)?(;[a-zA-Z0-9].*?)?(,)/;async function Ot(e){try{const t=await fetch(e,{method:"HEAD"});if(t.status===200){const r=t.headers.get("content-type");return r==null?void 0:r.startsWith("image/")}return!1}catch(t){return typeof t=="object"&&typeof t.response<"u"||!globalThis.hasOwnProperty("Image")?!1:new Promise(r=>{const n=new Image;n.onload=()=>{r(!0)},n.onerror=()=>{r(!1)},n.src=e})}}function Ae(e,t){return e?e.endsWith("/")?e.slice(0,-1):e:t}function ze({uri:e,gatewayUrls:t}){const r=Dt.test(e);if(r)return{uri:e,isOnChain:!0,isEncoded:r};const n=Ae(t==null?void 0:t.ipfs,"https://ipfs.io"),s=Ae(t==null?void 0:t.arweave,"https://arweave.net"),a=e.match(Ft),{protocol:i,subpath:u,target:d,subtarget:c=""}=(a==null?void 0:a.groups)||{},l=i==="ipns:/"||u==="ipns/",f=i==="ipfs:/"||u==="ipfs/"||qt.test(e);if(e.startsWith("http")&&!l&&!f){let g=e;return t!=null&&t.arweave&&(g=e.replace(/https:\/\/arweave.net/g,t==null?void 0:t.arweave)),{uri:g,isOnChain:!1,isEncoded:!1}}if((l||f)&&d)return{uri:`${n}/${l?"ipns":"ipfs"}/${d}${c}`,isOnChain:!1,isEncoded:!1};if(i==="ar:/"&&d)return{uri:`${s}/${d}${c||""}`,isOnChain:!1,isEncoded:!1};let p=e.replace(Ht,"");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 fe({uri:e})}function Fe(e){if(typeof e!="object"||!("image"in e)&&!("image_url"in e)&&!("image_data"in e))throw new $t({data:e});return e.image||e.image_url||e.image_data}async function Mt({gatewayUrls:e,uri:t}){try{const r=await fetch(t).then(s=>s.json());return await le({gatewayUrls:e,uri:Fe(r)})}catch{throw new fe({uri:t})}}async function le({gatewayUrls:e,uri:t}){const{uri:r,isOnChain:n}=ze({uri:t,gatewayUrls:e});if(n||await Ot(r))return r;throw new fe({uri:t})}function _t(e){let t=e;t.startsWith("did:nft:")&&(t=t.replace("did:nft:","").replace(/_/g,"/"));const[r,n,s]=t.split("/"),[a,i]=r.split(":"),[u,d]=n.split(":");if(!a||a.toLowerCase()!=="eip155")throw new G({reason:"Only EIP-155 supported"});if(!i)throw new G({reason:"Chain ID not found"});if(!d)throw new G({reason:"Contract address not found"});if(!s)throw new G({reason:"Token ID not found"});if(!u)throw new G({reason:"ERC namespace not found"});return{chainID:Number.parseInt(i),namespace:u.toLowerCase(),contractAddress:d,tokenID:s}}async function jt(e,{nft:t}){if(t.namespace==="erc721")return o.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 o.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 zt({namespace:t.namespace})}async function Lt(e,{gatewayUrls:t,record:r}){return/eip155:/i.test(r)?Ut(e,{gatewayUrls:t,record:r}):le({uri:r,gatewayUrls:t})}async function Ut(e,{gatewayUrls:t,record:r}){const n=_t(r),s=await jt(e,{nft:n}),{uri:a,isOnChain:i,isEncoded:u}=ze({uri:s,gatewayUrls:t});if(i&&(a.includes("data:application/json;base64,")||a.startsWith("{"))){const c=u?atob(a.replace("data:application/json;base64,","")):a,l=JSON.parse(c);return le({uri:Fe(l),gatewayUrls:t})}let d=n.tokenID;return n.namespace==="erc1155"&&(d=d.replace("0x","").padStart(64,"0")),Mt({gatewayUrls:t,uri:a.replace(/(?:0x)?{id}/,d)})}async function qe(e,{blockNumber:t,blockTag:r,name:n,key:s,gatewayUrls:a,strict:i,universalResolverAddress:u}){let d=u;if(!d){if(!e.chain)throw new Error("client chain not configured. universalResolverAddress is required.");d=o.getChainContractAddress({blockNumber:t,chain:e.chain,contract:"ensUniversalResolver"})}try{const c={address:d,abi:o.universalResolverResolveAbi,functionName:"resolve",args:[h.toHex(Q(n)),o.encodeFunctionData({abi:o.textResolverAbi,functionName:"text",args:[K(n),s]})],blockNumber:t,blockTag:r},l=o.getAction(e,o.readContract,"readContract"),f=a?await l({...c,args:[...c.args,a]}):await l(c);if(f[0]==="0x")return null;const p=o.decodeFunctionResult({abi:o.textResolverAbi,functionName:"text",data:f[0]});return p===""?null:p}catch(c){if(i)throw c;if(de(c,"resolve"))return null;throw c}}async function Gt(e,{blockNumber:t,blockTag:r,assetGatewayUrls:n,name:s,gatewayUrls:a,strict:i,universalResolverAddress:u}){const d=await o.getAction(e,qe,"getEnsText")({blockNumber:t,blockTag:r,key:"avatar",name:s,universalResolverAddress:u,gatewayUrls:a,strict:i});if(!d)return null;try{return await Lt(e,{record:d,gatewayUrls:n})}catch{return null}}async function Vt(e,{address:t,blockNumber:r,blockTag:n,gatewayUrls:s,strict:a,universalResolverAddress:i}){let u=i;if(!u){if(!e.chain)throw new Error("client chain not configured. universalResolverAddress is required.");u=o.getChainContractAddress({blockNumber:r,chain:e.chain,contract:"ensUniversalResolver"})}const d=`${t.toLowerCase().substring(2)}.addr.reverse`;try{const c={address:u,abi:o.universalResolverReverseAbi,functionName:"reverse",args:[h.toHex(Q(d))],blockNumber:r,blockTag:n},l=o.getAction(e,o.readContract,"readContract"),[f,p]=s?await l({...c,args:[...c.args,s]}):await l(c);return t.toLowerCase()!==p.toLowerCase()?null:f}catch(c){if(a)throw c;if(de(c,"reverse"))return null;throw c}}async function Wt(e,{blockNumber:t,blockTag:r,name:n,universalResolverAddress:s}){let a=s;if(!a){if(!e.chain)throw new Error("client chain not configured. universalResolverAddress is required.");a=o.getChainContractAddress({blockNumber:t,chain:e.chain,contract:"ensUniversalResolver"})}const[i]=await o.getAction(e,o.readContract,"readContract")({address:a,abi:[{inputs:[{type:"bytes"}],name:"findResolver",outputs:[{type:"address"},{type:"bytes32"}],stateMutability:"view",type:"function"}],functionName:"findResolver",args:[h.toHex(Q(n))],blockNumber:t,blockTag:r});return i}async function De(e,t){var E,m,w;const{account:r=e.account,blockNumber:n,blockTag:s="latest",blobs:a,data:i,gas:u,gasPrice:d,maxFeePerBlobGas:c,maxFeePerGas:l,maxPriorityFeePerGas:f,to:p,value:g,...b}=t,y=r?o.parseAccount(r):void 0;try{o.assertRequest(t);const T=(n?h.numberToHex(n):void 0)||s,I=(w=(m=(E=e.chain)==null?void 0:E.formatters)==null?void 0:m.transactionRequest)==null?void 0:w.format,A=(I||o.formatTransactionRequest)({...o.extract(b,{format:I}),from:y==null?void 0:y.address,blobs:a,data:i,gas:u,gasPrice:d,maxFeePerBlobGas:c,maxFeePerGas:l,maxPriorityFeePerGas:f,to:p,value:g}),k=await e.request({method:"eth_createAccessList",params:[A,T]});return{accessList:k.accessList,gasUsed:BigInt(k.gasUsed)}}catch(v){throw o.getCallError(v,{...t,account:y,chain:e.chain})}}async function Zt(e){const t=o.createFilterRequestScope(e,{method:"eth_newBlockFilter"}),r=await e.request({method:"eth_newBlockFilter"});return{id:r,request:t(r),type:"block"}}async function He(e,{address:t,args:r,event:n,events:s,fromBlock:a,strict:i,toBlock:u}={}){const d=s??(n?[n]:void 0),c=o.createFilterRequestScope(e,{method:"eth_newFilter"});let l=[];d&&(l=[d.flatMap(g=>o.encodeEventTopics({abi:[g],eventName:g.name,args:r}))],n&&(l=l[0]));const f=await e.request({method:"eth_newFilter",params:[{address:t,fromBlock:typeof a=="bigint"?h.numberToHex(a):a,toBlock:typeof u=="bigint"?h.numberToHex(u):u,...l.length?{topics:l}:{}}]});return{abi:d,args:r,eventName:n?n.name:void 0,fromBlock:a,id:f,request:c(f),strict:!!i,toBlock:u,type:"event"}}async function Oe(e){const t=o.createFilterRequestScope(e,{method:"eth_newPendingTransactionFilter"}),r=await e.request({method:"eth_newPendingTransactionFilter"});return{id:r,request:t(r),type:"transaction"}}async function Jt(e){const t=await e.request({method:"eth_blobBaseFee"});return BigInt(t)}async function Kt(e,{blockHash:t,blockNumber:r,blockTag:n="latest"}={}){const s=r!==void 0?h.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:[s||n]},{dedupe:!!s}),h.hexToNumber(a)}async function Te(e,{address:t,blockNumber:r,blockTag:n="latest"}){const s=r!==void 0?h.numberToHex(r):void 0,a=await e.request({method:"eth_getCode",params:[t,s||n]},{dedupe:!!s});if(a!=="0x")return a}function Qt(e){var t;return{baseFeePerGas:e.baseFeePerGas.map(r=>BigInt(r)),gasUsedRatio:e.gasUsedRatio,oldestBlock:BigInt(e.oldestBlock),reward:(t=e.reward)==null?void 0:t.map(r=>r.map(n=>BigInt(n)))}}async function Xt(e,{blockCount:t,blockNumber:r,blockTag:n="latest",rewardPercentiles:s}){const a=r?h.numberToHex(r):void 0,i=await e.request({method:"eth_feeHistory",params:[h.numberToHex(t),a||n,s]},{dedupe:!!a});return Qt(i)}async function Yt(e,{filter:t}){const r=t.strict??!1,s=(await t.request({method:"eth_getFilterLogs",params:[t.id]})).map(a=>h.formatLog(a));return t.abi?o.parseEventLogs({abi:t.abi,logs:s,strict:r}):s}class er extends h.BaseError{constructor({domain:t}){super(`Invalid domain "${o.stringify(t)}".`,{metaMessages:["Must be a valid EIP-712 domain."]})}}class tr 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 rr extends h.BaseError{constructor({type:t}){super(`Struct type "${t}" is invalid.`,{metaMessages:["Struct type must not be a Solidity type."],name:"InvalidStructTypeError"})}}function nr(e){const{domain:t={},message:r,primaryType:n}=e,s={EIP712Domain:Ge({domain:t}),...e.types};Ue({domain:t,message:r,primaryType:n,types:s});const a=["0x1901"];return t&&a.push(sr({domain:t,types:s})),n!=="EIP712Domain"&&a.push(Me({data:r,primaryType:n,types:s})),h.keccak256(h.concat(a))}function sr({domain:e,types:t}){return Me({data:e,primaryType:"EIP712Domain",types:t})}function Me({data:e,primaryType:t,types:r}){const n=_e({data:e,primaryType:t,types:r});return h.keccak256(n)}function _e({data:e,primaryType:t,types:r}){const n=[{type:"bytes32"}],s=[ar({primaryType:t,types:r})];for(const a of r[t]){const[i,u]=Le({types:r,name:a.name,type:a.type,value:e[a.name]});n.push(i),s.push(u)}return o.encodeAbiParameters(n,s)}function ar({primaryType:e,types:t}){const r=h.toHex(or({primaryType:e,types:t}));return h.keccak256(r)}function or({primaryType:e,types:t}){let r="";const n=je({primaryType:e,types:t});n.delete(e);const s=[e,...Array.from(n).sort()];for(const a of s)r+=`${a}(${t[a].map(({name:i,type:u})=>`${u} ${i}`).join(",")})`;return r}function je({primaryType:e,types:t},r=new Set){const n=e.match(/^\w*/u),s=n==null?void 0:n[0];if(r.has(s)||t[s]===void 0)return r;r.add(s);for(const a of t[s])je({primaryType:a.type,types:t},r);return r}function Le({types:e,name:t,type:r,value:n}){if(e[r]!==void 0)return[{type:"bytes32"},h.keccak256(_e({data:n,primaryType:r,types:e}))];if(r==="bytes")return n=`0x${(n.length%2?"0":"")+n.slice(2)}`,[{type:"bytes32"},h.keccak256(n)];if(r==="string")return[{type:"bytes32"},h.keccak256(h.toHex(n))];if(r.lastIndexOf("]")===r.length-1){const s=r.slice(0,r.lastIndexOf("[")),a=n.map(i=>Le({name:t,type:s,types:e,value:i}));return[{type:"bytes32"},h.keccak256(o.encodeAbiParameters(a.map(([i])=>i),a.map(([,i])=>i)))]}return[{type:r},n]}function ir(e){const{domain:t,message:r,primaryType:n,types:s}=e,a=(d,c)=>{const l={...c};for(const f of d){const{name:p,type:g}=f;g==="address"&&(l[p]=l[p].toLowerCase())}return l},i=s.EIP712Domain?t?a(s.EIP712Domain,t):{}:{},u=(()=>{if(n!=="EIP712Domain")return a(s[n],r)})();return o.stringify({domain:i,message:u,primaryType:n,types:s})}function Ue(e){const{domain:t,message:r,primaryType:n,types:s}=e,a=(i,u)=>{for(const d of i){const{name:c,type:l}=d,f=u[c],p=l.match(o.integerRegex);if(p&&(typeof f=="number"||typeof f=="bigint")){const[y,E,m]=p;h.numberToHex(f,{signed:E==="int",size:Number.parseInt(m)/8})}if(l==="address"&&typeof f=="string"&&!h.isAddress(f))throw new h.InvalidAddressError({address:f});const g=l.match(o.bytesRegex);if(g){const[y,E]=g;if(E&&h.size(f)!==Number.parseInt(E))throw new o.BytesSizeMismatchError({expectedSize:Number.parseInt(E),givenSize:h.size(f)})}const b=s[l];b&&(cr(l),a(b,f))}};if(s.EIP712Domain&&t){if(typeof t!="object")throw new er({domain:t});a(s.EIP712Domain,t)}if(n!=="EIP712Domain")if(s[n])a(s[n],r);else throw new tr({primaryType:n,types:s})}function Ge({domain:e}){return[typeof(e==null?void 0:e.name)=="string"&&{name:"name",type:"string"},(e==null?void 0:e.version)&&{name:"version",type:"string"},(typeof(e==null?void 0:e.chainId)=="number"||typeof(e==null?void 0:e.chainId)=="bigint")&&{name:"chainId",type:"uint256"},(e==null?void 0:e.verifyingContract)&&{name:"verifyingContract",type:"address"},(e==null?void 0:e.salt)&&{name:"salt",type:"bytes32"}].filter(Boolean)}function cr(e){if(e==="address"||e==="bool"||e==="string"||e.startsWith("bytes")||e.startsWith("uint")||e.startsWith("int"))throw new rr({type:e})}const ur=`Ethereum Signed Message:
|
|
2
2
|
`;function dr(e){const t=typeof e=="string"?h.stringToHex(e):typeof e.raw=="string"?e.raw:h.bytesToHex(e.raw),r=h.stringToHex(`${ur}${h.size(t)}`);return h.concat([r,t])}function Ve(e,t){return h.keccak256(dr(e),t)}const We="0x6492649264926492649264926492649264926492649264926492649264926492";function fr(e){return h.sliceHex(e,-32)===We}function lr(e){const{address:t,data:r,signature:n,to:s="hex"}=e,a=h.concatHex([o.encodeAbiParameters([{type:"address"},{type:"bytes"},{type:"bytes"}],[t,r,n]),We]);return s==="hex"?a:h.hexToBytes(a)}function pr(e){return e.map(t=>({...t,value:BigInt(t.value)}))}function hr(e){return{...e,balance:e.balance?BigInt(e.balance):void 0,nonce:e.nonce?h.hexToNumber(e.nonce):void 0,storageProof:e.storageProof?pr(e.storageProof):void 0}}async function gr(e,{address:t,blockNumber:r,blockTag:n,storageKeys:s}){const a=n??"latest",i=r!==void 0?h.numberToHex(r):void 0,u=await e.request({method:"eth_getProof",params:[t,s,i||a]});return hr(u)}async function mr(e,{address:t,blockNumber:r,blockTag:n="latest",slot:s}){const a=r!==void 0?h.numberToHex(r):void 0;return await e.request({method:"eth_getStorageAt",params:[t,s,a||n]})}async function pe(e,{blockHash:t,blockNumber:r,blockTag:n,hash:s,index:a}){var l,f,p;const i=n||"latest",u=r!==void 0?h.numberToHex(r):void 0;let d=null;if(s?d=await e.request({method:"eth_getTransactionByHash",params:[s]},{dedupe:!0}):t?d=await e.request({method:"eth_getTransactionByBlockHashAndIndex",params:[t,h.numberToHex(a)]},{dedupe:!0}):d=await e.request({method:"eth_getTransactionByBlockNumberAndIndex",params:[u||i,h.numberToHex(a)]},{dedupe:!!u}),!d)throw new h.TransactionNotFoundError({blockHash:t,blockNumber:r,blockTag:i,hash:s,index:a});return(((p=(f=(l=e.chain)==null?void 0:l.formatters)==null?void 0:f.transaction)==null?void 0:p.format)||h.formatTransaction)(d)}async function br(e,{hash:t,transactionReceipt:r}){const[n,s]=await Promise.all([o.getAction(e,o.getBlockNumber,"getBlockNumber")({}),t?o.getAction(e,pe,"getTransaction")({hash:t}):void 0]),a=(r==null?void 0:r.blockNumber)||(s==null?void 0:s.blockNumber);return a?n-a+1n:0n}async function ne(e,{hash:t}){var s,a,i;const r=await e.request({method:"eth_getTransactionReceipt",params:[t]},{dedupe:!0});if(!r)throw new h.TransactionReceiptNotFoundError({hash:t});return(((i=(a=(s=e.chain)==null?void 0:s.formatters)==null?void 0:a.transactionReceipt)==null?void 0:i.format)||h.formatTransactionReceipt)(r)}async function yr(e,t){var E;const{allowFailure:r=!0,batchSize:n,blockNumber:s,blockTag:a,multicallAddress:i,stateOverride:u}=t,d=t.contracts,c=n??(typeof((E=e.batch)==null?void 0:E.multicall)=="object"&&e.batch.multicall.batchSize||1024);let l=i;if(!l){if(!e.chain)throw new Error("client chain not configured. multicallAddress is required.");l=o.getChainContractAddress({blockNumber:s,chain:e.chain,contract:"multicall3"})}const f=[[]];let p=0,g=0;for(let m=0;m<d.length;m++){const{abi:w,address:v,args:T,functionName:I}=d[m];try{const R=o.encodeFunctionData({abi:w,args:T,functionName:I});g+=(R.length-2)/2,c>0&&g>c&&f[p].length>0&&(p++,g=(R.length-2)/2,f[p]=[]),f[p]=[...f[p],{allowFailure:!0,callData:R,target:v}]}catch(R){const A=o.getContractError(R,{abi:w,address:v,args:T,docsPath:"/docs/contract/multicall",functionName:I});if(!r)throw A;f[p]=[...f[p],{allowFailure:!0,callData:"0x",target:v}]}}const b=await Promise.allSettled(f.map(m=>o.getAction(e,o.readContract,"readContract")({abi:o.multicall3Abi,address:l,args:[m],blockNumber:s,blockTag:a,functionName:"aggregate3",stateOverride:u}))),y=[];for(let m=0;m<b.length;m++){const w=b[m];if(w.status==="rejected"){if(!r)throw w.reason;for(let T=0;T<f[m].length;T++)y.push({status:"failure",error:w.reason,result:void 0});continue}const v=w.value;for(let T=0;T<v.length;T++){const{returnData:I,success:R}=v[T],{callData:A}=f[m][T],{abi:k,address:P,functionName:N,args:C}=d[y.length];try{if(A==="0x")throw new o.AbiDecodingZeroDataError;if(!R)throw new o.RawContractError({data:I});const S=o.decodeFunctionResult({abi:k,args:C,data:I,functionName:N});y.push(r?{result:S,status:"success"}:S)}catch(S){const q=o.getContractError(S,{abi:k,address:P,args:C,docsPath:"/docs/contract/multicall",functionName:N});if(!r)throw q;y.push({error:q,result:void 0,status:"failure"})}}}if(y.length!==d.length)throw new h.BaseError("multicall results mismatch");return y}const wr="0.1.1";function vr(){return wr}class B extends Error{constructor(t,r={}){const n=(()=>{var d;if(r.cause instanceof B){if(r.cause.details)return r.cause.details;if(r.cause.shortMessage)return r.cause.shortMessage}return(d=r.cause)!=null&&d.message?r.cause.message:r.details})(),s=r.cause instanceof B&&r.cause.docsPath||r.docsPath,i=`https://oxlib.sh${s??""}`,u=[t||"An error occurred.",...r.metaMessages?["",...r.metaMessages]:[],...n||s?["",n?`Details: ${n}`:void 0,s?`See: ${i}`:void 0]:[]].filter(d=>typeof d=="string").join(`
|
|
3
3
|
`);super(u,r.cause?{cause:r.cause}:void 0),Object.defineProperty(this,"details",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"docs",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"docsPath",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"shortMessage",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"cause",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"BaseError"}),Object.defineProperty(this,"version",{enumerable:!0,configurable:!0,writable:!0,value:`ox@${vr()}`}),this.cause=r.cause,this.details=n,this.docs=i,this.docsPath=s,this.shortMessage=t}walk(t){return Ze(this,t)}}function Ze(e,t){return t!=null&&t(e)?e:e&&typeof e=="object"&&"cause"in e&&e.cause?Ze(e.cause,t):t?null:e}const xr="#__bigint";function Er(e,t,r){return JSON.stringify(e,(n,s)=>typeof s=="bigint"?s.toString()+xr:s,r)}function Ar(e,t){if(Ce(e)>t)throw new $r({givenSize:Ce(e),maxSize:t})}const O={zero:48,nine:57,A:65,F:70,a:97,f:102};function Re(e){if(e>=O.zero&&e<=O.nine)return e-O.zero;if(e>=O.A&&e<=O.F)return e-(O.A-10);if(e>=O.a&&e<=O.f)return e-(O.a-10)}function Tr(e,t={}){const{dir:r,size:n=32}=t;if(n===0)return e;if(e.length>n)throw new zr({size:e.length,targetSize:n,type:"Bytes"});const s=new Uint8Array(n);for(let a=0;a<n;a++){const i=r==="right";s[i?a:n-a-1]=e[i?a:e.length-a-1]}return s}function he(e,t){if(F(e)>t)throw new Or({givenSize:F(e),maxSize:t})}function Rr(e,t){if(typeof t=="number"&&t>0&&t>F(e)-1)throw new Ye({offset:t,position:"start",size:F(e)})}function Cr(e,t,r){if(typeof t=="number"&&typeof r=="number"&&F(e)!==r-t)throw new Ye({offset:r,position:"end",size:F(e)})}function Je(e,t={}){const{dir:r,size:n=32}=t;if(n===0)return e;const s=e.replace("0x","");if(s.length>n*2)throw new Mr({size:Math.ceil(s.length/2),targetSize:n,type:"Hex"});return`0x${s[r==="right"?"padEnd":"padStart"](n*2,"0")}`}const Ir=new TextEncoder;function Pr(e){return e instanceof Uint8Array?e:typeof e=="string"?Br(e):kr(e)}function kr(e){return e instanceof Uint8Array?e:new Uint8Array(e)}function Br(e,t={}){const{size:r}=t;let n=e;r&&(he(e,r),n=_(e,r));let s=n.slice(2);s.length%2&&(s=`0${s}`);const a=s.length/2,i=new Uint8Array(a);for(let u=0,d=0;u<a;u++){const c=Re(s.charCodeAt(d++)),l=Re(s.charCodeAt(d++));if(c===void 0||l===void 0)throw new B(`Invalid byte sequence ("${s[d-2]}${s[d-1]}" in "${s}").`);i[u]=c*16+l}return i}function Nr(e,t={}){const{size:r}=t,n=Ir.encode(e);return typeof r=="number"?(Ar(n,r),Sr(n,r)):n}function Sr(e,t){return Tr(e,{dir:"right",size:t})}function Ce(e){return e.length}let $r=class extends B{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"})}},zr=class extends B{constructor({size:t,targetSize:r,type:n}){super(`${n.charAt(0).toUpperCase()}${n.slice(1).toLowerCase()} size (\`${t}\`) exceeds padding size (\`${r}\`).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Bytes.SizeExceedsPaddingSizeError"})}};const Fr=new TextEncoder,qr=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function Dr(e,t={}){const{strict:r=!1}=t;if(!e)throw new Ie(e);if(typeof e!="string")throw new Ie(e);if(r&&!/^0x[0-9a-fA-F]*$/.test(e))throw new Pe(e);if(!e.startsWith("0x"))throw new Pe(e)}function H(...e){return`0x${e.reduce((t,r)=>t+r.replace("0x",""),"")}`}function Ke(e,t={}){const r=`0x${Number(e)}`;return typeof t.size=="number"?(he(r,t.size),M(r,t.size)):r}function Qe(e,t={}){let r="";for(let s=0;s<e.length;s++)r+=qr[e[s]];const n=`0x${r}`;return typeof t.size=="number"?(he(n,t.size),_(n,t.size)):n}function z(e,t={}){const{signed:r,size:n}=t,s=BigInt(e);let a;n?r?a=(1n<<BigInt(n)*8n-1n)-1n:a=2n**(BigInt(n)*8n)-1n:typeof e=="number"&&(a=BigInt(Number.MAX_SAFE_INTEGER));const i=typeof a=="bigint"&&r?-a-1n:0;if(a&&s>a||s<i){const c=typeof e=="bigint"?"n":"";throw new Xe({max:a?`${a}${c}`:void 0,min:`${i}${c}`,signed:r,size:n,value:`${e}${c}`})}const d=`0x${(r&&s<0?(1n<<BigInt(n*8))+BigInt(s):s).toString(16)}`;return n?M(d,n):d}function ge(e,t={}){return Qe(Fr.encode(e),t)}function M(e,t){return Je(e,{dir:"left",size:t})}function _(e,t){return Je(e,{dir:"right",size:t})}function me(e,t,r,n={}){const{strict:s}=n;Rr(e,t);const a=`0x${e.replace("0x","").slice((t??0)*2,(r??e.length)*2)}`;return s&&Cr(a,t,r),a}function F(e){return Math.ceil((e.length-2)/2)}function Hr(e,t={}){const{strict:r=!1}=t;try{return Dr(e,{strict:r}),!0}catch{return!1}}class Xe extends B{constructor({max:t,min:r,signed:n,size:s,value:a}){super(`Number \`${a}\` is not in safe${s?` ${s*8}-bit`:""}${n?" signed":" unsigned"} integer range ${t?`(\`${r}\` to \`${t}\`)`:`(above \`${r}\`)`}`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.IntegerOutOfRangeError"})}}class Ie extends B{constructor(t){super(`Value \`${typeof t=="object"?Er(t):t}\` of type \`${typeof t}\` is an invalid hex type.`,{metaMessages:['Hex types must be represented as `"0x${string}"`.']}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.InvalidHexTypeError"})}}class Pe extends B{constructor(t){super(`Value \`${t}\` is an invalid hex value.`,{metaMessages:['Hex values must start with `"0x"` and contain only hexadecimal characters (0-9, a-f, A-F).']}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.InvalidHexValueError"})}}class Or extends B{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:"Hex.SizeOverflowError"})}}class Ye extends B{constructor({offset:t,position:r,size:n}){super(`Slice ${r==="start"?"starting":"ending"} at offset \`${t}\` is out-of-bounds (size: \`${n}\`).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.SliceOffsetOutOfBoundsError"})}}class Mr extends B{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:"Hex.SizeExceedsPaddingSizeError"})}}function _r(e){return{address:e.address,amount:z(e.amount),index:z(e.index),validatorIndex:z(e.validatorIndex)}}function jr(e){return{...typeof e.baseFeePerGas=="bigint"&&{baseFeePerGas:z(e.baseFeePerGas)},...typeof e.blobBaseFee=="bigint"&&{blobBaseFee:z(e.blobBaseFee)},...typeof e.feeRecipient=="string"&&{feeRecipient:e.feeRecipient},...typeof e.gasLimit=="bigint"&&{gasLimit:z(e.gasLimit)},...typeof e.number=="bigint"&&{number:z(e.number)},...typeof e.prevRandao=="bigint"&&{prevRandao:z(e.prevRandao)},...typeof e.time=="bigint"&&{time:z(e.time)},...e.withdrawals&&{withdrawals:e.withdrawals.map(_r)}}}async function se(e,t){const{blockNumber:r,blockTag:n="latest",blocks:s,returnFullTransactions:a,traceTransfers:i,validation:u}=t;try{const d=[];for(const p of s){const g=p.blockOverrides?jr(p.blockOverrides):void 0,b=p.calls.map(E=>{const m=E,w=m.account?o.parseAccount(m.account):void 0,v={...m,data:m.abi?o.encodeFunctionData(m):m.data,from:m.from??(w==null?void 0:w.address)};return o.assertRequest(v),o.formatTransactionRequest(v)}),y=p.stateOverrides?o.serializeStateOverride(p.stateOverrides):void 0;d.push({blockOverrides:g,calls:b,stateOverrides:y})}const l=(r?h.numberToHex(r):void 0)||n;return(await e.request({method:"eth_simulateV1",params:[{blockStateCalls:d,returnFullTransactions:a,traceTransfers:i,validation:u},l]})).map((p,g)=>({...h.formatBlock(p),calls:p.calls.map((b,y)=>{var N,C;const{abi:E,args:m,functionName:w,to:v}=s[g].calls[y],T=((N=b.error)==null?void 0:N.data)??b.returnData,I=BigInt(b.gasUsed),R=(C=b.logs)==null?void 0:C.map(S=>h.formatLog(S)),A=b.status==="0x1"?"success":"failure",k=E&&A==="success"?o.decodeFunctionResult({abi:E,data:T,functionName:w}):null,P=(()=>{var q;if(A==="success")return;let S;if(((q=b.error)==null?void 0:q.data)==="0x"?S=new o.AbiDecodingZeroDataError:b.error&&(S=new o.RawContractError(b.error)),!!S)return o.getContractError(S,{abi:E??[],address:v,args:m,functionName:w??"<unknown>"})})();return{data:T,gasUsed:I,logs:R,status:A,...A==="success"?{result:k}:{error:P}}})}))}catch(d){const c=d,l=o.getNodeError(c,{});throw l instanceof h.UnknownNodeError?c:l}}function et(e,t={}){const{as:r=typeof e=="string"?"Hex":"Bytes"}=t,n=h.keccak_256(Pr(e));return r==="Bytes"?n:Qe(n)}class Lr 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 Ur={checksum:new Lr(8192)},ee=Ur.checksum,Gr=/^0x[a-fA-F0-9]{40}$/;function X(e,t={}){const{strict:r=!0}=t;if(!Gr.test(e))throw new ke({address:e,cause:new Wr});if(r){if(e.toLowerCase()===e)return;if(Vr(e)!==e)throw new ke({address:e,cause:new Zr})}}function Vr(e){if(ee.has(e))return ee.get(e);X(e,{strict:!1});const t=e.substring(2).toLowerCase(),r=et(Nr(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 s=`0x${n.join("")}`;return ee.set(e,s),s}function ae(e,t={}){const{strict:r=!0}=t??{};try{return X(e,{strict:r}),!0}catch{return!1}}class ke extends B{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 Wr extends B{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 Zr extends B{constructor(){super("Address does not match its checksum counterpart."),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Address.InvalidChecksumError"})}}function oe(e){let t=!0,r="",n=0,s="",a=!1;for(let i=0;i<e.length;i++){const u=e[i];if(["(",")",","].includes(u)&&(t=!0),u==="("&&n++,u===")"&&n--,!!t){if(n===0){if(u===" "&&["event","function","error",""].includes(s))s="";else if(s+=u,u===")"){a=!0;break}continue}if(u===" "){e[i-1]!==","&&r!==","&&r!==",("&&(r="",t=!1);continue}s+=u,r+=u}}if(!a)throw new B("Unable to normalize signature.");return s}function ie(e,t){const r=typeof e,n=t.type;switch(n){case"address":return ae(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((s,a)=>ie(Object.values(e)[a],s)):/^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(s=>ie(s,{...t,type:n.replace(/(\[[0-9]{0,}\])$/,"")})):!1}}function tt(e,t,r){for(const n in e){const s=e[n],a=t[n];if(s.type==="tuple"&&a.type==="tuple"&&"components"in s&&"components"in a)return tt(s.components,a.components,r[n]);const i=[s.type,a.type];if(i.includes("address")&&i.includes("bytes20")?!0:i.includes("address")&&i.includes("string")?ae(r[n],{strict:!1}):i.includes("address")&&i.includes("bytes")?ae(r[n],{strict:!1}):!1)return i}}function rt(e,t={}){const{prepare:r=!0}=t,n=Array.isArray(e)||typeof e=="string"?xe(e):e;return{...n,...r?{hash:L(n)}:{}}}function Jr(e,t,r){const{args:n=[],prepare:s=!0}=r??{},a=Hr(t,{strict:!1}),i=e.filter(c=>a?c.type==="function"||c.type==="error"?nt(c)===me(t,0,4):c.type==="event"?L(c)===t:!1:"name"in c&&c.name===t);if(i.length===0)throw new ce({name:t});if(i.length===1)return{...i[0],...s?{hash:L(i[0])}:{}};let u;for(const c of i){if(!("inputs"in c))continue;if(!n||n.length===0){if(!c.inputs||c.inputs.length===0)return{...c,...s?{hash:L(c)}:{}};continue}if(!c.inputs||c.inputs.length===0||c.inputs.length!==n.length)continue;if(n.every((f,p)=>{const g="inputs"in c&&c.inputs[p];return g?ie(f,g):!1})){if(u&&"inputs"in u&&u.inputs){const f=tt(c.inputs,u.inputs,n);if(f)throw new Qr({abiItem:c,type:f[0]},{abiItem:u,type:f[1]})}u=c}}const d=(()=>{if(u)return u;const[c,...l]=i;return{...c,overloads:l}})();if(!d)throw new ce({name:t});return{...d,...s?{hash:L(d)}:{}}}function nt(e){return me(L(e),0,4)}function Kr(e){const t=typeof e=="string"?e:o.formatAbiItem(e);return oe(t)}function L(e){return typeof e!="string"&&"hash"in e&&e.hash?e.hash:et(ge(Kr(e)))}class Qr extends B{constructor(t,r){super("Found ambiguous types in overloaded ABI Items.",{metaMessages:[`\`${t.type}\` in \`${oe(o.formatAbiItem(t.abiItem))}\`, and`,`\`${r.type}\` in \`${oe(o.formatAbiItem(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 ce extends B{constructor({name:t,data:r,type:n="item"}){const s=t?` with name "${t}"`:r?` with data "${r}"`:"";super(`ABI ${n}${s} not found.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiItem.NotFoundError"})}}const Xr=/^(.*)\[([0-9]*)\]$/,Yr=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,st=/^(u?int)(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/;function en({checksumAddress:e,parameters:t,values:r}){const n=[];for(let s=0;s<t.length;s++)n.push(be({checksumAddress:e,parameter:t[s],value:r[s]}));return n}function be({checksumAddress:e=!1,parameter:t,value:r}){const n=t,s=un(n.type);if(s){const[a,i]=s;return rn(r,{checksumAddress:e,length:a,parameter:{...n,type:i}})}if(n.type==="tuple")return cn(r,{checksumAddress:e,parameter:n});if(n.type==="address")return tn(r,{checksum:e});if(n.type==="bool")return sn(r);if(n.type.startsWith("uint")||n.type.startsWith("int")){const a=n.type.startsWith("int"),[,,i="256"]=st.exec(n.type)??[];return an(r,{signed:a,size:Number(i)})}if(n.type.startsWith("bytes"))return nn(r,{type:n.type});if(n.type==="string")return on(r);throw new ct(n.type)}function ye(e){let t=0;for(let a=0;a<e.length;a++){const{dynamic:i,encoded:u}=e[a];i?t+=32:t+=F(u)}const r=[],n=[];let s=0;for(let a=0;a<e.length;a++){const{dynamic:i,encoded:u}=e[a];i?(r.push(z(t+s,{size:32})),n.push(u),s+=F(u)):r.push(u)}return H(...r,...n)}function tn(e,t){const{checksum:r=!1}=t;return X(e,{strict:r}),{dynamic:!1,encoded:M(e.toLowerCase())}}function rn(e,t){const{checksumAddress:r,length:n,parameter:s}=t,a=n===null;if(!Array.isArray(e))throw new fn(e);if(!a&&e.length!==n)throw new dn({expectedLength:n,givenLength:e.length,type:`${s.type}[${n}]`});let i=!1;const u=[];for(let d=0;d<e.length;d++){const c=be({checksumAddress:r,parameter:s,value:e[d]});c.dynamic&&(i=!0),u.push(c)}if(a||i){const d=ye(u);if(a){const c=z(u.length,{size:32});return{dynamic:!0,encoded:u.length>0?H(c,d):c}}if(i)return{dynamic:!0,encoded:d}}return{dynamic:!1,encoded:H(...u.map(({encoded:d})=>d))}}function nn(e,{type:t}){const[,r]=t.split("bytes"),n=F(e);if(!r){let s=e;return n%32!==0&&(s=_(s,Math.ceil((e.length-2)/2/32)*32)),{dynamic:!0,encoded:H(M(z(n,{size:32})),s)}}if(n!==Number.parseInt(r))throw new ot({expectedSize:Number.parseInt(r),value:e});return{dynamic:!1,encoded:_(e)}}function sn(e){if(typeof e!="boolean")throw new B(`Invalid boolean value: "${e}" (type: ${typeof e}). Expected: \`true\` or \`false\`.`);return{dynamic:!1,encoded:M(Ke(e))}}function an(e,{signed:t,size:r}){if(typeof r=="number"){const n=2n**(BigInt(r)-(t?1n:0n))-1n,s=t?-n-1n:0n;if(e>n||e<s)throw new Xe({max:n.toString(),min:s.toString(),signed:t,size:r/8,value:e.toString()})}return{dynamic:!1,encoded:z(e,{size:32,signed:t})}}function on(e){const t=ge(e),r=Math.ceil(F(t)/32),n=[];for(let s=0;s<r;s++)n.push(_(me(t,s*32,(s+1)*32)));return{dynamic:!0,encoded:H(_(z(F(t),{size:32})),...n)}}function cn(e,t){const{checksumAddress:r,parameter:n}=t;let s=!1;const a=[];for(let i=0;i<n.components.length;i++){const u=n.components[i],d=Array.isArray(e)?i:u.name,c=be({checksumAddress:r,parameter:u,value:e[d]});a.push(c),c.dynamic&&(s=!0)}return{dynamic:s,encoded:s?ye(a):H(...a.map(({encoded:i})=>i))}}function un(e){const t=e.match(/^(.*)\[(\d+)?\]$/);return t?[t[2]?Number(t[2]):null,t[1]]:void 0}function at(e,t,r){const{checksumAddress:n=!1}={};if(e.length!==t.length)throw new it({expectedLength:e.length,givenLength:t.length});const s=en({checksumAddress:n,parameters:e,values:t}),a=ye(s);return a.length===0?"0x":a}function ue(e,t){if(e.length!==t.length)throw new it({expectedLength:e.length,givenLength:t.length});const r=[];for(let n=0;n<e.length;n++){const s=e[n],a=t[n];r.push(ue.encode(s,a))}return H(...r)}(function(e){function t(r,n,s=!1){if(r==="address"){const d=n;return X(d),M(d.toLowerCase(),s?32:0)}if(r==="string")return ge(n);if(r==="bytes")return n;if(r==="bool")return M(Ke(n),s?32:1);const a=r.match(st);if(a){const[d,c,l="256"]=a,f=Number.parseInt(l)/8;return z(n,{size:s?32:f,signed:c==="int"})}const i=r.match(Yr);if(i){const[d,c]=i;if(Number.parseInt(c)!==(n.length-2)/2)throw new ot({expectedSize:Number.parseInt(c),value:n});return _(n,s?32:0)}const u=r.match(Xr);if(u&&Array.isArray(n)){const[d,c]=u,l=[];for(let f=0;f<n.length;f++)l.push(t(c,n[f],!0));return l.length===0?"0x":H(...l)}throw new ct(r)}e.encode=t})(ue||(ue={}));class dn extends B{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 ot extends B{constructor({expectedSize:t,value:r}){super(`Size of bytes "${r}" (bytes${F(r)}) does not match expected size (bytes${t}).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.BytesSizeMismatchError"})}}class it extends B{constructor({expectedLength:t,givenLength:r}){super(["ABI encoding parameters/values length mismatch.",`Expected length (parameters): ${t}`,`Given length (values): ${r}`].join(`
|
|
4
4
|
`)),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.LengthMismatchError"})}}class fn extends B{constructor(t){super(`Value \`${t}\` is not a valid array.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.InvalidArrayError"})}}class ct extends B{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 ln(e,t){var s;const{bytecode:r,args:n}=t;return H(r,(s=e.inputs)!=null&&s.length&&(n!=null&&n.length)?at(e.inputs,n):"0x")}function pn(e){return rt(e)}function hn(e,...t){const{overloads:r}=e,n=r?gn([e,...r],e.name,{args:t[0]}):e,s=mn(n),a=t.length>0?at(n.inputs,t[0]):void 0;return a?H(s,a):s}function j(e,t={}){return rt(e,t)}function gn(e,t,r){const n=Jr(e,t,r);if(n.type!=="function")throw new ce({name:t,type:"function"});return n}function mn(e){return nt(e)}const bn="0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee",D="0x0000000000000000000000000000000000000000",yn="0x6080604052348015600e575f80fd5b5061016d8061001c5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c8063f8b2cb4f1461002d575b5f80fd5b610047600480360381019061004291906100db565b61005d565b604051610054919061011e565b60405180910390f35b5f8173ffffffffffffffffffffffffffffffffffffffff16319050919050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6100aa82610081565b9050919050565b6100ba816100a0565b81146100c4575f80fd5b50565b5f813590506100d5816100b1565b92915050565b5f602082840312156100f0576100ef61007d565b5b5f6100fd848285016100c7565b91505092915050565b5f819050919050565b61011881610106565b82525050565b5f6020820190506101315f83018461010f565b9291505056fea26469706673582212203b9fe929fe995c7cf9887f0bdba8a36dd78e8b73f149b17d2d9ad7cd09d2dc6264736f6c634300081a0033";async function wn(e,t){const{blockNumber:r,blockTag:n,calls:s,stateOverrides:a,traceAssetChanges:i,traceTransfers:u,validation:d}=t,c=t.account?o.parseAccount(t.account):void 0;if(i&&!c)throw new h.BaseError("`account` is required when `traceAssetChanges` is true");const l=c?ln(pn("constructor(bytes, bytes)"),{bytecode:o.deploylessCallViaBytecodeBytecode,args:[yn,hn(j("function getBalance(address)"),[c.address])]}):void 0,f=i?await Promise.all(t.calls.map(async x=>{if(!x.data&&!x.abi)return;const{accessList:$}=await De(e,{account:c.address,...x,data:x.abi?o.encodeFunctionData(x):x.data});return $.map(({address:U,storageKeys:V})=>V.length>0?U:null)})).then(x=>x.flat().filter(Boolean)):[],p=a==null?void 0:a.map(x=>x.address===(c==null?void 0:c.address)?{...x,nonce:0}:x),g=await se(e,{blockNumber:r,blockTag:n,blocks:[...i?[{calls:[{data:l}],stateOverrides:a},{calls:f.map((x,$)=>({abi:[j("function balanceOf(address) returns (uint256)")],functionName:"balanceOf",args:[c.address],to:x,from:D,nonce:$})),stateOverrides:[{address:D,nonce:0}]}]:[],{calls:[...s,{}].map((x,$)=>({...x,from:c==null?void 0:c.address,nonce:$})),stateOverrides:p},...i?[{calls:[{data:l}]},{calls:f.map((x,$)=>({abi:[j("function balanceOf(address) returns (uint256)")],functionName:"balanceOf",args:[c.address],to:x,from:D,nonce:$})),stateOverrides:[{address:D,nonce:0}]},{calls:f.map((x,$)=>({to:x,abi:[j("function decimals() returns (uint256)")],functionName:"decimals",from:D,nonce:$})),stateOverrides:[{address:D,nonce:0}]},{calls:f.map((x,$)=>({to:x,abi:[j("function tokenURI(uint256) returns (string)")],functionName:"tokenURI",args:[0n],from:D,nonce:$})),stateOverrides:[{address:D,nonce:0}]},{calls:f.map((x,$)=>({to:x,abi:[j("function symbol() returns (string)")],functionName:"symbol",from:D,nonce:$})),stateOverrides:[{address:D,nonce:0}]}]:[]],traceTransfers:u,validation:d}),b=i?g[2]:g[0],[y,E,,m,w,v,T,I]=i?g:[],{calls:R,...A}=b,k=R.slice(0,-1)??[],P=(y==null?void 0:y.calls)??[],N=(E==null?void 0:E.calls)??[],C=[...P,...N].map(x=>x.status==="success"?h.hexToBigInt(x.data):null),S=(m==null?void 0:m.calls)??[],q=(w==null?void 0:w.calls)??[],dt=[...S,...q].map(x=>x.status==="success"?h.hexToBigInt(x.data):null),ft=((v==null?void 0:v.calls)??[]).map(x=>x.status==="success"?x.result:null),lt=((I==null?void 0:I.calls)??[]).map(x=>x.status==="success"?x.result:null),pt=((T==null?void 0:T.calls)??[]).map(x=>x.status==="success"?x.result:null),Y=[];for(const[x,$]of dt.entries()){const U=C[x];if(typeof $!="bigint"||typeof U!="bigint")continue;const V=ft[x-1],ht=lt[x-1],gt=pt[x-1],ve=x===0?{address:bn,decimals:18,symbol:"ETH"}:{address:f[x-1],decimals:gt||V?Number(V??1):void 0,symbol:ht??void 0};Y.some(mt=>mt.token.address===ve.address)||Y.push({token:ve,value:{pre:U,post:$,diff:$-U}})}return{assetChanges:Y,block:A,results:k}}function vn({r:e,s:t,to:r="hex",v:n,yParity:s}){const a=(()=>{if(s===0||s===1)return s;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 bt.secp256k1.Signature(h.hexToBigInt(e),h.hexToBigInt(t)).toCompactHex()}${a===0?"1b":"1c"}`;return r==="hex"?i:h.hexToBytes(i)}async function we(e,t){var f,p,g;const{address:r,factory:n,factoryData:s,hash:a,signature:i,universalSignatureVerifierAddress:u=(g=(p=(f=e.chain)==null?void 0:f.contracts)==null?void 0:p.universalSignatureVerifier)==null?void 0:g.address,...d}=t,c=h.isHex(i)?i:typeof i=="object"&&"r"in i&&"s"in i?vn(i):h.bytesToHex(i),l=await(async()=>!n&&!s||fr(c)?c:lr({address:n,data:s,signature:c}))();try{const b=u?{to:u,data:o.encodeFunctionData({abi:o.universalSignatureValidatorAbi,functionName:"isValidSig",args:[r,a,l]}),...d}:{data:o.encodeDeployData({abi:o.universalSignatureValidatorAbi,args:[r,a,l],bytecode:o.universalSignatureValidatorByteCode}),...d},{data:y}=await o.getAction(e,o.call,"call")(b);return h.hexToBool(y??"0x0")}catch(b){try{if(o.isAddressEqual(h.getAddress(r),await o.recoverAddress({hash:a,signature:i})))return!0}catch{}if(b instanceof o.CallExecutionError)return!1;throw b}}async function xn(e,{address:t,message:r,factory:n,factoryData:s,signature:a,...i}){const u=Ve(r);return we(e,{address:t,factory:n,factoryData:s,hash:u,signature:a,...i})}async function En(e,t){const{address:r,factory:n,factoryData:s,signature:a,message:i,primaryType:u,types:d,domain:c,...l}=t,f=nr({message:i,primaryType:u,types:d,domain:c});return we(e,{address:r,factory:n,factoryData:s,hash:f,signature:a,...l})}function ut(e,{emitOnBegin:t=!1,emitMissed:r=!1,onBlockNumber:n,onError:s,poll:a,pollingInterval:i=e.pollingInterval}){const u=typeof a<"u"?a:!(e.transport.type==="webSocket"||e.transport.type==="fallback"&&e.transport.transports[0].config.type==="webSocket");let d;return u?(()=>{const f=o.stringify(["watchBlockNumber",e.uid,t,r,i]);return o.observe(f,{onBlockNumber:n,onError:s},p=>o.poll(async()=>{var g;try{const b=await o.getAction(e,o.getBlockNumber,"getBlockNumber")({cacheTime:0});if(d){if(b===d)return;if(b-d>1&&r)for(let y=d+1n;y<b;y++)p.onBlockNumber(y,d),d=y}(!d||b>d)&&(p.onBlockNumber(b,d),d=b)}catch(b){(g=p.onError)==null||g.call(p,b)}},{emitOnBegin:t,interval:i}))})():(()=>{const f=o.stringify(["watchBlockNumber",e.uid,t,r]);return o.observe(f,{onBlockNumber:n,onError:s},p=>{let g=!0,b=()=>g=!1;return(async()=>{try{const y=(()=>{if(e.transport.type==="fallback"){const m=e.transport.transports.find(w=>w.config.type==="webSocket");return m?m.value:e.transport}return e.transport})(),{unsubscribe:E}=await y.subscribe({params:["newHeads"],onData(m){var v;if(!g)return;const w=h.hexToBigInt((v=m.result)==null?void 0:v.number);p.onBlockNumber(w,d),d=w},onError(m){var w;(w=p.onError)==null||w.call(p,m)}});b=E,g||b()}catch(y){s==null||s(y)}})(),()=>b()})})()}async function An(e,{confirmations:t=1,hash:r,onReplaced:n,pollingInterval:s=e.pollingInterval,retryCount:a=6,retryDelay:i=({count:d})=>~~(1<<d)*200,timeout:u=18e4}){const d=o.stringify(["waitForTransactionReceipt",e.uid,r]);let c,l,f,p=!1;const{promise:g,resolve:b,reject:y}=o.withResolvers(),E=u?setTimeout(()=>y(new h.WaitForTransactionReceiptTimeoutError({hash:r})),u):void 0,m=o.observe(d,{onReplaced:n,resolve:b,reject:y},w=>{const v=o.getAction(e,ut,"watchBlockNumber")({emitMissed:!0,emitOnBegin:!0,poll:!0,pollingInterval:s,async onBlockNumber(T){const I=A=>{clearTimeout(E),v(),A(),m()};let R=T;if(!p)try{if(f){if(t>1&&(!f.blockNumber||R-f.blockNumber+1n<t))return;I(()=>w.resolve(f));return}if(c||(p=!0,await re(async()=>{c=await o.getAction(e,pe,"getTransaction")({hash:r}),c.blockNumber&&(R=c.blockNumber)},{delay:i,retryCount:a}),p=!1),f=await o.getAction(e,ne,"getTransactionReceipt")({hash:r}),t>1&&(!f.blockNumber||R-f.blockNumber+1n<t))return;I(()=>w.resolve(f))}catch(A){if(A instanceof h.TransactionNotFoundError||A instanceof h.TransactionReceiptNotFoundError){if(!c){p=!1;return}try{l=c,p=!0;const k=await re(()=>o.getAction(e,o.getBlock,"getBlock")({blockNumber:R,includeTransactions:!0}),{delay:i,retryCount:a,shouldRetry:({error:C})=>C instanceof o.BlockNotFoundError});p=!1;const P=k.transactions.find(({from:C,nonce:S})=>C===l.from&&S===l.nonce);if(!P||(f=await o.getAction(e,ne,"getTransactionReceipt")({hash:P.hash}),t>1&&(!f.blockNumber||R-f.blockNumber+1n<t)))return;let N="replaced";P.to===l.to&&P.value===l.value&&P.input===l.input?N="repriced":P.from===P.to&&P.value===0n&&(N="cancelled"),I(()=>{var C;(C=w.onReplaced)==null||C.call(w,{reason:N,replacedTransaction:l,transaction:P,transactionReceipt:f}),w.resolve(f)})}catch(k){I(()=>w.reject(k))}}else I(()=>w.reject(A))}}})});return g}function Tn(e,{blockTag:t="latest",emitMissed:r=!1,emitOnBegin:n=!1,onBlock:s,onError:a,includeTransactions:i,poll:u,pollingInterval:d=e.pollingInterval}){const c=typeof u<"u"?u:!(e.transport.type==="webSocket"||e.transport.type==="fallback"&&e.transport.transports[0].config.type==="webSocket"),l=i??!1;let f;return c?(()=>{const b=o.stringify(["watchBlocks",e.uid,t,r,n,l,d]);return o.observe(b,{onBlock:s,onError:a},y=>o.poll(async()=>{var E;try{const m=await o.getAction(e,o.getBlock,"getBlock")({blockTag:t,includeTransactions:l});if(m.number&&(f!=null&&f.number)){if(m.number===f.number)return;if(m.number-f.number>1&&r)for(let w=(f==null?void 0:f.number)+1n;w<m.number;w++){const v=await o.getAction(e,o.getBlock,"getBlock")({blockNumber:w,includeTransactions:l});y.onBlock(v,f),f=v}}(!(f!=null&&f.number)||t==="pending"&&!(m!=null&&m.number)||m.number&&m.number>f.number)&&(y.onBlock(m,f),f=m)}catch(m){(E=y.onError)==null||E.call(y,m)}},{emitOnBegin:n,interval:d}))})():(()=>{let b=!0,y=!0,E=()=>b=!1;return(async()=>{try{n&&o.getAction(e,o.getBlock,"getBlock")({blockTag:t,includeTransactions:l}).then(v=>{b&&y&&(s(v,void 0),y=!1)});const m=(()=>{if(e.transport.type==="fallback"){const v=e.transport.transports.find(T=>T.config.type==="webSocket");return v?v.value:e.transport}return e.transport})(),{unsubscribe:w}=await m.subscribe({params:["newHeads"],async onData(v){if(!b)return;const T=await o.getAction(e,o.getBlock,"getBlock")({blockNumber:v.blockNumber,includeTransactions:l}).catch(()=>{});b&&(s(T,f),y=!1,f=T)},onError(v){a==null||a(v)}});E=w,b||E()}catch(m){a==null||a(m)}})(),()=>E()})()}function Rn(e,{address:t,args:r,batch:n=!0,event:s,events:a,fromBlock:i,onError:u,onLogs:d,poll:c,pollingInterval:l=e.pollingInterval,strict:f}){const p=typeof c<"u"?c:typeof i=="bigint"?!0:!(e.transport.type==="webSocket"||e.transport.type==="fallback"&&e.transport.transports[0].config.type==="webSocket"),g=f??!1;return p?(()=>{const E=o.stringify(["watchEvent",t,r,n,e.uid,s,l,i]);return o.observe(E,{onLogs:d,onError:u},m=>{let w;i!==void 0&&(w=i-1n);let v,T=!1;const I=o.poll(async()=>{var R;if(!T){try{v=await o.getAction(e,He,"createEventFilter")({address:t,args:r,event:s,events:a,strict:g,fromBlock:i})}catch{}T=!0;return}try{let A;if(v)A=await o.getAction(e,o.getFilterChanges,"getFilterChanges")({filter:v});else{const k=await o.getAction(e,o.getBlockNumber,"getBlockNumber")({});w&&w!==k?A=await o.getAction(e,o.getLogs,"getLogs")({address:t,args:r,event:s,events:a,fromBlock:w+1n,toBlock:k}):A=[],w=k}if(A.length===0)return;if(n)m.onLogs(A);else for(const k of A)m.onLogs([k])}catch(A){v&&A instanceof o.InvalidInputRpcError&&(T=!1),(R=m.onError)==null||R.call(m,A)}},{emitOnBegin:!0,interval:l});return async()=>{v&&await o.getAction(e,o.uninstallFilter,"uninstallFilter")({filter:v}),I()}})})():(()=>{let E=!0,m=()=>E=!1;return(async()=>{try{const w=(()=>{if(e.transport.type==="fallback"){const R=e.transport.transports.find(A=>A.config.type==="webSocket");return R?R.value:e.transport}return e.transport})(),v=a??(s?[s]:void 0);let T=[];v&&(T=[v.flatMap(A=>o.encodeEventTopics({abi:[A],eventName:A.name,args:r}))],s&&(T=T[0]));const{unsubscribe:I}=await w.subscribe({params:["logs",{address:t,topics:T}],onData(R){var k;if(!E)return;const A=R.result;try{const{eventName:P,args:N}=o.decodeEventLog({abi:v??[],data:A.data,topics:A.topics,strict:g}),C=h.formatLog(A,{args:N,eventName:P});d([C])}catch(P){let N,C;if(P instanceof o.DecodeLogDataMismatch||P instanceof o.DecodeLogTopicsMismatch){if(f)return;N=P.abiItem.name,C=(k=P.abiItem.inputs)==null?void 0:k.some(q=>!("name"in q&&q.name))}const S=h.formatLog(A,{args:C?[]:{},eventName:N});d([S])}},onError(R){u==null||u(R)}});m=I,E||m()}catch(w){u==null||u(w)}})(),()=>m()})()}function Cn(e,{batch:t=!0,onError:r,onTransactions:n,poll:s,pollingInterval:a=e.pollingInterval}){return(typeof s<"u"?s:e.transport.type!=="webSocket")?(()=>{const c=o.stringify(["watchPendingTransactions",e.uid,t,a]);return o.observe(c,{onTransactions:n,onError:r},l=>{let f;const p=o.poll(async()=>{var g;try{if(!f)try{f=await o.getAction(e,Oe,"createPendingTransactionFilter")({});return}catch(y){throw p(),y}const b=await o.getAction(e,o.getFilterChanges,"getFilterChanges")({filter:f});if(b.length===0)return;if(t)l.onTransactions(b);else for(const y of b)l.onTransactions([y])}catch(b){(g=l.onError)==null||g.call(l,b)}},{emitOnBegin:!0,interval:a});return async()=>{f&&await o.getAction(e,o.uninstallFilter,"uninstallFilter")({filter:f}),p()}})})():(()=>{let c=!0,l=()=>c=!1;return(async()=>{try{const{unsubscribe:f}=await e.transport.subscribe({params:["newPendingTransactions"],onData(p){if(!c)return;const g=p.result;n([g])},onError(p){r==null||r(p)}});l=f,c||l()}catch(f){r==null||r(f)}})(),()=>l()})()}function In(e){var f,p,g;const{scheme:t,statement:r,...n}=((f=e.match(Pn))==null?void 0:f.groups)??{},{chainId:s,expirationTime:a,issuedAt:i,notBefore:u,requestId:d,...c}=((p=e.match(kn))==null?void 0:p.groups)??{},l=(g=e.split("Resources:")[1])==null?void 0:g.split(`
|
|
5
5
|
- `).slice(1);return{...n,...c,...s?{chainId:Number(s)}:{},...a?{expirationTime:new Date(a)}:{},...i?{issuedAt:new Date(i)}:{},...u?{notBefore:new Date(u)}:{},...d?{requestId:d}:{},...l?{resources:l}:{},...t?{scheme:t}:{},...r?{statement:r}:{}}}const Pn=/^(?:(?<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)?/,kn=/(?: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 Bn(e){const{address:t,domain:r,message:n,nonce:s,scheme:a,time:i=new Date}=e;if(r&&n.domain!==r||s&&n.nonce!==s||a&&n.scheme!==a||n.expirationTime&&i>=n.expirationTime||n.notBefore&&i<n.notBefore)return!1;try{if(!n.address||t&&!o.isAddressEqual(n.address,t))return!1}catch{return!1}return!0}async function Nn(e,t){const{address:r,domain:n,message:s,nonce:a,scheme:i,signature:u,time:d=new Date,...c}=t,l=In(s);if(!l.address||!Bn({address:r,domain:n,message:l,nonce:a,scheme:i,time:d}))return!1;const p=Ve(s);return we(e,{address:l.address,hash:p,signature:u,...c})}function Sn(e){return{call:t=>o.call(e,t),createAccessList:t=>De(e,t),createBlockFilter:()=>Zt(e),createContractEventFilter:t=>o.createContractEventFilter(e,t),createEventFilter:t=>He(e,t),createPendingTransactionFilter:()=>Oe(e),estimateContractGas:t=>o.estimateContractGas(e,t),estimateGas:t=>o.estimateGas(e,t),getBalance:t=>o.getBalance(e,t),getBlobBaseFee:()=>Jt(e),getBlock:t=>o.getBlock(e,t),getBlockNumber:t=>o.getBlockNumber(e,t),getBlockTransactionCount:t=>Kt(e,t),getBytecode:t=>Te(e,t),getChainId:()=>o.getChainId(e),getCode:t=>Te(e,t),getContractEvents:t=>o.getContractEvents(e,t),getEip712Domain:t=>wt(e,t),getEnsAddress:t=>St(e,t),getEnsAvatar:t=>Gt(e,t),getEnsName:t=>Vt(e,t),getEnsResolver:t=>Wt(e,t),getEnsText:t=>qe(e,t),getFeeHistory:t=>Xt(e,t),estimateFeesPerGas:t=>o.estimateFeesPerGas(e,t),getFilterChanges:t=>o.getFilterChanges(e,t),getFilterLogs:t=>Yt(e,t),getGasPrice:()=>o.getGasPrice(e),getLogs:t=>o.getLogs(e,t),getProof:t=>gr(e,t),estimateMaxPriorityFeePerGas:t=>o.estimateMaxPriorityFeePerGas(e,t),getStorageAt:t=>mr(e,t),getTransaction:t=>pe(e,t),getTransactionConfirmations:t=>br(e,t),getTransactionCount:t=>o.getTransactionCount(e,t),getTransactionReceipt:t=>ne(e,t),multicall:t=>yr(e,t),prepareTransactionRequest:t=>o.prepareTransactionRequest(e,t),readContract:t=>o.readContract(e,t),sendRawTransaction:t=>o.sendRawTransaction(e,t),simulate:t=>se(e,t),simulateBlocks:t=>se(e,t),simulateCalls:t=>wn(e,t),simulateContract:t=>o.simulateContract(e,t),verifyMessage:t=>xn(e,t),verifySiweMessage:t=>Nn(e,t),verifyTypedData:t=>En(e,t),uninstallFilter:t=>o.uninstallFilter(e,t),waitForTransactionReceipt:t=>An(e,t),watchBlocks:t=>Tn(e,t),watchBlockNumber:t=>ut(e,t),watchContractEvent:t=>o.watchContractEvent(e,t),watchEvent:t=>Rn(e,t),watchPendingTransactions:t=>Cn(e,t)}}function $n(e){const{key:t="public",name:r="Public Client"}=e;return Ne({...e,key:t,name:r,type:"publicClient"}).extend(Sn)}function zn(e,t){const{abi:r,args:n,bytecode:s,...a}=t,i=o.encodeDeployData({abi:r,args:n,bytecode:s});return o.sendTransaction(e,{...a,data:i})}async function Fn(e){var r;return((r=e.account)==null?void 0:r.type)==="local"?[e.account.address]:(await e.request({method:"eth_accounts"},{dedupe:!0})).map(n=>h.checksumAddress(n))}async function qn(e){return await e.request({method:"wallet_getPermissions"},{dedupe:!0})}async function Dn(e){return(await e.request({method:"eth_requestAccounts"},{dedupe:!0,retryCount:0})).map(r=>h.getAddress(r))}async function Hn(e,t){return e.request({method:"wallet_requestPermissions",params:[t]},{retryCount:0})}async function On(e,{account:t=e.account,message:r}){if(!t)throw new o.AccountNotFoundError({docsPath:"/docs/actions/wallet/signMessage"});const n=o.parseAccount(t);if(n.signMessage)return n.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,n.address]},{retryCount:0})}async function Mn(e,t){var c,l,f,p;const{account:r=e.account,chain:n=e.chain,...s}=t;if(!r)throw new o.AccountNotFoundError({docsPath:"/docs/actions/wallet/signTransaction"});const a=o.parseAccount(r);o.assertRequest({account:a,...t});const i=await o.getAction(e,o.getChainId,"getChainId")({});n!==null&&o.assertCurrentChain({currentChainId:i,chain:n});const u=(n==null?void 0:n.formatters)||((c=e.chain)==null?void 0:c.formatters),d=((l=u==null?void 0:u.transactionRequest)==null?void 0:l.format)||o.formatTransactionRequest;return a.signTransaction?a.signTransaction({...s,chainId:i},{serializer:(p=(f=e.chain)==null?void 0:f.serializers)==null?void 0:p.transaction}):await e.request({method:"eth_signTransaction",params:[{...d(s),chainId:h.numberToHex(i),from:a.address}]},{retryCount:0})}async function _n(e,t){const{account:r=e.account,domain:n,message:s,primaryType:a}=t;if(!r)throw new o.AccountNotFoundError({docsPath:"/docs/actions/wallet/signTypedData"});const i=o.parseAccount(r),u={EIP712Domain:Ge({domain:n}),...t.types};if(Ue({domain:n,message:s,primaryType:a,types:u}),i.signTypedData)return i.signTypedData({domain:n,message:s,primaryType:a,types:u});const d=ir({domain:n,message:s,primaryType:a,types:u});return e.request({method:"eth_signTypedData_v4",params:[i.address,d]},{retryCount:0})}async function jn(e,{id:t}){await e.request({method:"wallet_switchEthereumChain",params:[{chainId:h.numberToHex(t)}]},{retryCount:0})}async function Ln(e,t){return await e.request({method:"wallet_watchAsset",params:t},{retryCount:0})}function Un(e){return{addChain:t=>xt(e,t),deployContract:t=>zn(e,t),getAddresses:()=>Fn(e),getChainId:()=>o.getChainId(e),getPermissions:()=>qn(e),prepareTransactionRequest:t=>o.prepareTransactionRequest(e,t),requestAddresses:()=>Dn(e),requestPermissions:t=>Hn(e,t),sendRawTransaction:t=>o.sendRawTransaction(e,t),sendTransaction:t=>o.sendTransaction(e,t),signMessage:t=>On(e,t),signTransaction:t=>Mn(e,t),signTypedData:t=>_n(e,t),switchChain:t=>jn(e,t),watchAsset:t=>Ln(e,t),writeContract:t=>o.writeContract(e,t)}}function Gn(e){const{key:t="wallet",name:r="Wallet Client",transport:n}=e;return Ne({...e,key:t,name:r,transport:n,type:"walletClient"}).extend(Un)}exports.createPublicClient=$n;exports.createTransport=Se;exports.createWalletClient=Gn;exports.http=kt;
|
|
6
|
-
//# sourceMappingURL=createWalletClient-
|
|
6
|
+
//# sourceMappingURL=createWalletClient-L7tR5Gda.cjs.map
|