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