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