@gardenfi/core 3.1.3-beta.1 → 3.1.3-beta.3

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.
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./index-CJMkaKG-.cjs");class w extends e.BaseError{constructor({callbackSelector:o,cause:a,data:c,extraData:u,sender:d,urls:r}){var n;super(a.shortMessage||"An error occurred while fetching for an offchain result.",{cause:a,metaMessages:[...a.metaMessages||[],(n=a.metaMessages)!=null&&n.length?"":[],"Offchain Gateway Call:",r&&[" Gateway URL(s):",...r.map(f=>` ${e.getUrl(f)}`)],` Sender: ${d}`,` Data: ${c}`,` Callback selector: ${o}`,` Extra data: ${u}`].flat(),name:"OffchainLookupError"})}}class k extends e.BaseError{constructor({result:o,url:a}){super("Offchain gateway response is malformed. Response data must be a hex value.",{metaMessages:[`Gateway URL: ${e.getUrl(a)}`,`Response: ${e.stringify(o)}`],name:"OffchainLookupResponseMalformedError"})}}class b extends e.BaseError{constructor({sender:o,to:a}){super("Reverted sender address does not match target contract address (`to`).",{metaMessages:[`Contract address: ${a}`,`OffchainLookup sender address: ${o}`],name:"OffchainLookupSenderMismatchError"})}}const L="0x556f1830",y={name:"OffchainLookup",type:"error",inputs:[{name:"sender",type:"address"},{name:"urls",type:"string[]"},{name:"callData",type:"bytes"},{name:"callbackFunction",type:"bytes4"},{name:"extraData",type:"bytes"}]};async function E(i,{blockNumber:o,blockTag:a,data:c,to:u}){const{args:d}=e.decodeErrorResult({data:c,abi:[y]}),[r,n,f,l,s]=d,{ccipRead:t}=i,h=t&&typeof(t==null?void 0:t.request)=="function"?t.request:m;try{if(!e.isAddressEqual(u,r))throw new b({sender:r,to:u});const p=n.includes(e.localBatchGatewayUrl)?await e.localBatchGatewayRequest({data:f,ccipRequest:h}):await h({data:f,sender:r,urls:n}),{data:g}=await e.call(i,{blockNumber:o,blockTag:a,data:e.concat([l,e.encodeAbiParameters([{type:"bytes"},{type:"bytes"}],[p,s])]),to:u});return g}catch(p){throw new w({callbackSelector:l,cause:p,data:c,extraData:s,sender:r,urls:n})}}async function m({data:i,sender:o,urls:a}){var u;let c=new Error("An unknown error occurred.");for(let d=0;d<a.length;d++){const r=a[d],n=r.includes("{data}")?"GET":"POST",f=n==="POST"?{data:i,sender:o}:void 0,l=n==="POST"?{"Content-Type":"application/json"}:{};try{const s=await fetch(r.replace("{sender}",o.toLowerCase()).replace("{data}",i),{body:JSON.stringify(f),headers:l,method:n});let t;if((u=s.headers.get("Content-Type"))!=null&&u.startsWith("application/json")?t=(await s.json()).data:t=await s.text(),!s.ok){c=new e.HttpRequestError({body:f,details:t!=null&&t.error?e.stringify(t.error):s.statusText,headers:s.headers,status:s.status,url:r});continue}if(!e.isHex(t)){c=new k({result:t,url:r});continue}return t}catch(s){c=new e.HttpRequestError({body:f,details:s.message,url:r})}}throw c}exports.ccipRequest=m;exports.offchainLookup=E;exports.offchainLookupAbiItem=y;exports.offchainLookupSignature=L;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./index-vTEWbzMh.cjs");class w extends e.BaseError{constructor({callbackSelector:o,cause:a,data:c,extraData:u,sender:d,urls:r}){var n;super(a.shortMessage||"An error occurred while fetching for an offchain result.",{cause:a,metaMessages:[...a.metaMessages||[],(n=a.metaMessages)!=null&&n.length?"":[],"Offchain Gateway Call:",r&&[" Gateway URL(s):",...r.map(f=>` ${e.getUrl(f)}`)],` Sender: ${d}`,` Data: ${c}`,` Callback selector: ${o}`,` Extra data: ${u}`].flat(),name:"OffchainLookupError"})}}class k extends e.BaseError{constructor({result:o,url:a}){super("Offchain gateway response is malformed. Response data must be a hex value.",{metaMessages:[`Gateway URL: ${e.getUrl(a)}`,`Response: ${e.stringify(o)}`],name:"OffchainLookupResponseMalformedError"})}}class b extends e.BaseError{constructor({sender:o,to:a}){super("Reverted sender address does not match target contract address (`to`).",{metaMessages:[`Contract address: ${a}`,`OffchainLookup sender address: ${o}`],name:"OffchainLookupSenderMismatchError"})}}const L="0x556f1830",y={name:"OffchainLookup",type:"error",inputs:[{name:"sender",type:"address"},{name:"urls",type:"string[]"},{name:"callData",type:"bytes"},{name:"callbackFunction",type:"bytes4"},{name:"extraData",type:"bytes"}]};async function E(i,{blockNumber:o,blockTag:a,data:c,to:u}){const{args:d}=e.decodeErrorResult({data:c,abi:[y]}),[r,n,f,l,s]=d,{ccipRead:t}=i,h=t&&typeof(t==null?void 0:t.request)=="function"?t.request:m;try{if(!e.isAddressEqual(u,r))throw new b({sender:r,to:u});const p=n.includes(e.localBatchGatewayUrl)?await e.localBatchGatewayRequest({data:f,ccipRequest:h}):await h({data:f,sender:r,urls:n}),{data:g}=await e.call(i,{blockNumber:o,blockTag:a,data:e.concat([l,e.encodeAbiParameters([{type:"bytes"},{type:"bytes"}],[p,s])]),to:u});return g}catch(p){throw new w({callbackSelector:l,cause:p,data:c,extraData:s,sender:r,urls:n})}}async function m({data:i,sender:o,urls:a}){var u;let c=new Error("An unknown error occurred.");for(let d=0;d<a.length;d++){const r=a[d],n=r.includes("{data}")?"GET":"POST",f=n==="POST"?{data:i,sender:o}:void 0,l=n==="POST"?{"Content-Type":"application/json"}:{};try{const s=await fetch(r.replace("{sender}",o.toLowerCase()).replace("{data}",i),{body:JSON.stringify(f),headers:l,method:n});let t;if((u=s.headers.get("Content-Type"))!=null&&u.startsWith("application/json")?t=(await s.json()).data:t=await s.text(),!s.ok){c=new e.HttpRequestError({body:f,details:t!=null&&t.error?e.stringify(t.error):s.statusText,headers:s.headers,status:s.status,url:r});continue}if(!e.isHex(t)){c=new k({result:t,url:r});continue}return t}catch(s){c=new e.HttpRequestError({body:f,details:s.message,url:r})}}throw c}exports.ccipRequest=m;exports.offchainLookup=E;exports.offchainLookupAbiItem=y;exports.offchainLookupSignature=L;
@@ -1,4 +1,4 @@
1
- import { B as p, g as m, s as w, d as k, i as b, l as L, a as O, c as E, b as x, e as R, H as y, f as M } from "./index-BgO5SheZ.js";
1
+ import { B as p, g as m, s as w, d as k, i as b, l as L, a as O, c as E, b as x, e as R, H as y, f as M } from "./index-Bwri4W_7.js";
2
2
  class S extends p {
3
3
  constructor({ callbackSelector: r, cause: a, data: n, extraData: i, sender: f, urls: t }) {
4
4
  var o;
@@ -12,6 +12,7 @@ import * as K0 from "varuint-bitcoin";
12
12
  import av from "varuint-bitcoin";
13
13
  import tc from "bitcore-lib-ltc";
14
14
  import { BigNumber as ad } from "bignumber.js";
15
+ import "@buildonspark/spark-sdk";
15
16
  import { cairo as ja, TransactionExecutionStatus as xc, Contract as hh, RpcProvider as ob, num as cb, TypedDataRevision as ov, shortString as cv, CallData as X0 } from "starknet";
16
17
  import { web3 as ps, Program as od } from "@coral-xyz/anchor";
17
18
  import * as uv from "@solana/spl-token";
@@ -83,7 +84,7 @@ const sf = {
83
84
  [$e.MAINNET]: "wss://s.altnet.rippletest.net:51233",
84
85
  [$e.TESTNET]: "wss://s.altnet.rippletest.net:51233",
85
86
  [$e.LOCALNET]: ""
86
- }, XB = {
87
+ }, YB = {
87
88
  asset: $t.from(L6.base.cBBTC)
88
89
  };
89
90
  var _c = /* @__PURE__ */ ((t) => (t.orderCreated = "orderCreated", t.orderInitiating = "orderInitiating", t.orderInitiated = "orderInitiated", t))(_c || {}), $i = /* @__PURE__ */ ((t) => (t.SLOW = "SLOW", t.MEDIUM = "MEDIUM", t.FAST = "FAST", t))($i || {}), cn = /* @__PURE__ */ ((t) => (t.Mainnet = "Mainnet", t.Testnet = "Testnet", t.Regtest = "Regtest", t))(cn || {}), Tc = /* @__PURE__ */ ((t) => (t.ALL = "ALL", t.IN = "IN", t.OUT = "OUT", t))(Tc || {});
@@ -131,7 +132,7 @@ const Ye = (t) => t.length === 64 ? t : t.slice(2), xv = (t) => {
131
132
  return !1;
132
133
  }
133
134
  };
134
- function YB(t, e) {
135
+ function JB(t, e) {
135
136
  if (!t) return !1;
136
137
  const r = e === Lc.MAINNET ? ke.networks.bitcoin : e === Lc.TESTNET ? ke.networks.testnet : ke.networks.regtest;
137
138
  if (!r) return !1;
@@ -142,7 +143,7 @@ function YB(t, e) {
142
143
  return !1;
143
144
  }
144
145
  }
145
- function JB(t, e) {
146
+ function ZB(t, e) {
146
147
  if (!t) return !1;
147
148
  let r;
148
149
  if (e === Lc.MAINNET ? r = tc.Networks.livenet : e === Lc.TESTNET ? r = tc.Networks.testnet : r = tc.Networks.testnet, !r) return !1;
@@ -12286,7 +12287,7 @@ async function Uu(t, e) {
12286
12287
  });
12287
12288
  return ne === "0x" ? { data: void 0 } : { data: ne };
12288
12289
  } catch (ee) {
12289
- const G = Ux(ee), { offchainLookup: O, offchainLookupSignature: L } = await import("./ccip-fFmTEKgV.js");
12290
+ const G = Ux(ee), { offchainLookup: O, offchainLookupSignature: L } = await import("./ccip-CmI_mUs_.js");
12290
12291
  if (t.ccipRead !== !1 && (G == null ? void 0 : G.slice(0, 10)) === L && g)
12291
12292
  return { data: await O(t, { data: G, to: g }) };
12292
12293
  throw F && (G == null ? void 0 : G.slice(0, 10)) === "0x101bb98d" ? new pS({ factory: p }) : V1(ee, {
@@ -33590,7 +33591,7 @@ class F6 extends Z6 {
33590
33591
  return this._events.off(e, r), this;
33591
33592
  }
33592
33593
  }
33593
- class bC {
33594
+ class gC {
33594
33595
  constructor(e, r, n) {
33595
33596
  this.callData = new X0(e2), this.account = e, this.starknetProvider = new ob({
33596
33597
  nodeUrl: r || (n ? Dc[n].nodeUrl : Dc.mainnet.nodeUrl)
@@ -33694,7 +33695,7 @@ class bC {
33694
33695
  }
33695
33696
  }
33696
33697
  }
33697
- class gC {
33698
+ class wC {
33698
33699
  /**
33699
33700
  * Creates a new instance of SolanaHTLC.
33700
33701
  * @param {AnchorProvider} provider - Solana Provider (abstraction of RPC connection and a Wallet)
@@ -33833,7 +33834,7 @@ const SB = (t) => t.map((e) => e), xB = (t) => {
33833
33834
  INVALID_PUBKEY: "invalid public key",
33834
33835
  ORDER_NOT_EXPIRED: "you cannot refund before your transaction expires"
33835
33836
  }, eb = (t) => t.sort((e, r) => e.status.confirmed != r.status.confirmed ? e.status.confirmed ? -1 : 1 : r.value - e.value);
33836
- class wC {
33837
+ class vC {
33837
33838
  constructor(e, r) {
33838
33839
  this.cacheTimeout = 2e3, this.utxosCache = /* @__PURE__ */ new Map(), this.APIs = r ? SB([r]) : xB(e), this.network = kv(e);
33839
33840
  }
@@ -34700,9 +34701,9 @@ export {
34700
34701
  cn as F,
34701
34702
  F6 as G,
34702
34703
  Da as H,
34703
- wC as I,
34704
+ vC as I,
34704
34705
  Ma as J,
34705
- XB as K,
34706
+ YB as K,
34706
34707
  sf as L,
34707
34708
  Dc as M,
34708
34709
  ep as N,
@@ -34721,21 +34722,21 @@ export {
34721
34722
  yi as e,
34722
34723
  dn as f,
34723
34724
  Hh as g,
34724
- bC as h,
34725
+ gC as h,
34725
34726
  Vo as i,
34726
34727
  mP as j,
34727
- gC as k,
34728
+ wC as k,
34728
34729
  ju as l,
34729
34730
  ou as m,
34730
34731
  YT as n,
34731
34732
  JT as o,
34732
34733
  Rc as p,
34733
- JB as q,
34734
+ ZB as q,
34734
34735
  tp as r,
34735
34736
  ft as s,
34736
34737
  Ye as t,
34737
34738
  DT as u,
34738
- YB as v,
34739
+ JB as v,
34739
34740
  I0 as w,
34740
34741
  WT as x,
34741
34742
  Ty as y,
@@ -1,4 +1,4 @@
1
- "use strict";var B0=t=>{throw TypeError(t)};var C0=(t,e,r)=>e.has(t)||B0("Cannot "+r);var Se=(t,e,r)=>(C0(t,e,"read from private field"),r?r.call(t):e.get(t)),ks=(t,e,r)=>e.has(t)?B0("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,r),Ts=(t,e,r,n)=>(C0(t,e,"write to private field"),n?n.call(t,r):e.set(t,r),r);const z=require("@gardenfi/orderbook"),m=require("@gardenfi/utils"),me=require("bitcoinjs-lib"),O6=require("tiny-secp256k1"),Fm=require("varuint-bitcoin"),qo=require("bitcore-lib-ltc"),zl=require("bignumber.js"),Qe=require("starknet"),Ar=require("@coral-xyz/anchor"),B6=require("@solana/spl-token"),R0=require("@mysten/wallet-standard"),N0=require("tronweb"),U0=require("xrpl"),yc=require("ecpair"),C6=require("node-cache"),F0=require("yup"),M0=require("bip39"),R6=require("bip32");function Wc(t){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const r in t)if(r!=="default"){const n=Object.getOwnPropertyDescriptor(t,r);Object.defineProperty(e,r,n.get?n:{enumerable:!0,get:()=>t[r]})}}return e.default=t,Object.freeze(e)}const ke=Wc(me),mr=Wc(O6),$0=Wc(Fm),N6=Wc(B6),mc={mainnet:{baseurl:"https://api.garden.finance",auth:"https://api.garden.finance/auth",relayer:"https://relayer.garden.finance"},testnet:{baseurl:"https://testnet.api.garden.finance",auth:"https://testnet.api.garden.finance/auth",relayer:"https://testnet.api.garden.finance/relayer"},localnet:{baseurl:"",auth:"",relayer:""}},Ma={[m.Network.MAINNET]:{chainId:"0x534e5f4d41494e",nodeUrl:"https://rpc.starknet.lava.build"},[m.Network.TESTNET]:{chainId:"0x534e5f5345504f4c4941",nodeUrl:"https://starknet-sepolia-rpc.publicnode.com"},[m.Network.LOCALNET]:{chainId:"",nodeUrl:""}},Mm={[m.Network.MAINNET]:"9cBuPNiHXiMNg3Fin8xLCGJQBTXjYQTFtyaFQv2uiM1H",[m.Network.TESTNET]:"ANUVKxeqaec3bf4DVPqLTnG1PT3Fng56wPcE7LXAb46Q",[m.Network.LOCALNET]:"AKnL4NNf3DGWZJS6cPknBuEGnVsV4A4m5tgebLHaRSZ9"},Vl={mainnet:{native:"2bag6xpshpvPe7SJ9nSDLHpxqhEAoHPGpEkjNSv7gxoF",spl:"gdnvdMCHJgnidtU7SL8RkRshHPvDJU1pdfZEpoLvqdU"},staging:{native:"6eksgdCnSjUaGQWZ6iYvauv1qzvYPF33RTGTM1ZuyENx",spl:"2WXpY8havGjfRxme9LUxtjFHTh1EfU3ur4v6wiK4KdNC"}},Gl={[m.Network.TESTNET]:{packageId:"0x99865b03dd1bc03d0a6a805c454ea257c464f7abcccae9cd4b621b91e7ca04de",moduleName:"AtomicSwap"},[m.Network.MAINNET]:{packageId:"0xbfb5728aab0dd117747ef4574af6d3540ea6093109c22856e3ae201dfd58c0fc",moduleName:"AtomicSwap"},[m.Network.LOCALNET]:{packageId:"",moduleName:""}},$m={[m.Network.MAINNET]:"https://api.trongrid.io",[m.Network.TESTNET]:"https://api.shasta.trongrid.io",[m.Network.LOCALNET]:""},jm={[m.Network.MAINNET]:"wss://s.altnet.rippletest.net:51233",[m.Network.TESTNET]:"wss://s.altnet.rippletest.net:51233",[m.Network.LOCALNET]:""},U6={asset:z.ChainAsset.from(z.Assets.base.cBBTC)};var _a=(t=>(t.orderCreated="orderCreated",t.orderInitiating="orderInitiating",t.orderInitiated="orderInitiated",t))(_a||{}),Ii=(t=>(t.SLOW="SLOW",t.MEDIUM="MEDIUM",t.FAST="FAST",t))(Ii||{}),Cr=(t=>(t.Mainnet="Mainnet",t.Testnet="Testnet",t.Regtest="Regtest",t))(Cr||{}),bc=(t=>(t.ALL="ALL",t.IN="IN",t.OUT="OUT",t))(bc||{});const F6={SLOW:"economyFee",MEDIUM:"hourFee",FAST:"fastestFee"};function ql(t){const e=typeof t=="string"?t:t.network,r=e===m.Network.MAINNET?mc.mainnet:m.Network.TESTNET?mc.testnet:mc.localnet;return{api:typeof t=="string"?r:{...r,...t},network:e}}function M6(t){return typeof t=="string"&&(t=Buffer.from(t,"hex")),t.length===32?t:t.subarray(1,33)}function j0(t,e){if(!t)throw new Error(e)}function $6(t){return Buffer.concat([Uint8Array.from([192]),j6(t)])}function j6(t){const e=$0.encodingLength(t.length),r=Buffer.allocUnsafe(e);return $0.encode(t.length,r),Buffer.concat([r,t])}function H6(t,e){if(t.compare(e)>0){const r=t;t=e,e=r}return[t,e]}const De=t=>t.length===64?t:t.slice(2),L6=t=>{if(!t)return!1;try{const e=Buffer.from(t,"hex");return mr.isPoint(e)}catch{return!1}};function D6(t,e){if(!t)return!1;const r=e===m.Environment.MAINNET?ke.networks.bitcoin:e===m.Environment.TESTNET?ke.networks.testnet:ke.networks.regtest;if(!r)return!1;ke.initEccLib(mr);try{return ke.address.toOutputScript(t,r),!0}catch{return!1}}function z6(t,e){if(!t)return!1;let r;if(e===m.Environment.MAINNET?r=qo.Networks.livenet:(m.Environment.TESTNET,r=qo.Networks.testnet),!r)return!1;try{return qo.Address.fromString(t,r),!0}catch{return!1}}function ca(t,e){const r=[];for(let n=0;n<e;n++)r.push(t);return r}const V6=t=>{switch(t){case m.Network.MAINNET:return Cr.Mainnet;case m.Network.TESTNET:return Cr.Testnet;case m.Network.LOCALNET:return Cr.Regtest;default:throw new Error(`Invalid bitcoin network ${t}`)}},G6=t=>{switch(t){case m.Network.MAINNET:return ke.networks.bitcoin;case m.Network.TESTNET:return ke.networks.testnet;case m.Network.LOCALNET:return ke.networks.regtest;default:throw new Error(`Invalid bitcoin network ${t}`)}},q6=t=>{const e=t.toLowerCase().replace("0x","");return/^[0-9a-f]+$/.test(e)},H0=t=>{if(typeof t=="object"&&"r"in t&&"s"in t)return m.Ok([t.r.toString(),t.s.toString()]);if(Array.isArray(t)){const e=t.map(r=>typeof r=="string"&&r.startsWith("0x")&&q6(r)?BigInt(r).toString():r);return m.Ok(e.join(","))}return m.Err("Invalid signature format")};function Wl(t){return Buffer.from(t,"hex").reverse()}function Kl(t){return typeof t=="object"&&t!==null&&"message"in t&&typeof t.message=="string"}const Wo=async(t,e)=>{const r=Date.now(),n=3e4,s=2e3;for(;Date.now()-r<n;){const i=await t.getLatestBlockhash(),a=await t.confirmTransaction({signature:e,blockhash:i.blockhash,lastValidBlockHeight:i.lastValidBlockHeight},"confirmed");if(a.value&&a.value.err==null)return console.log("Tx Confirmed ✅",e),!0;console.log("Tx not confirmed yet. Retrying in 2 seconds..."),await new Promise(o=>setTimeout(o,s))}return!1},ji=async(t,e,r)=>{var u,f;const n=await r.getAuthHeaders();if(!n.ok)return m.Err(n.error);const s=await m.Fetcher.get(e+"/v2/assets",{headers:{...n.val}});if(s.error)return m.Err("Failed to fetch asset info: "+s.error);const a=(s.result||[]).find(l=>l.id===t);if(!a)return m.Err(`Asset info not found for asset id: ${t}`);const o=((u=a.htlc)==null?void 0:u.address)||"",c=((f=a.token)==null?void 0:f.address)||"";return m.Ok({htlcAddress:o,tokenAddress:c})},L0=t=>{if(t==null||t.includes("."))return m.Err("Invalid amount ",t);const e=new zl.BigNumber(t);return!e.isInteger()||e.isNaN()||e.lt(0)||e.isLessThanOrEqualTo(0)?m.Err("Invalid amount ",t):m.Ok(e)},W6=async(t,e)=>{const r={[z.BlockchainType.evm]:{htlc:e.evm,name:"EVM"},[z.BlockchainType.solana]:{htlc:e.solana,name:"Solana"},[z.BlockchainType.starknet]:{htlc:e.starknet,name:"Starknet"},[z.BlockchainType.sui]:{htlc:e.sui,name:"Sui"},[z.BlockchainType.bitcoin]:{htlc:e.bitcoin,name:"Bitcoin"},[z.BlockchainType.tron]:{htlc:e.tron,name:"Tron"},[z.BlockchainType.litecoin]:{htlc:e.litecoin,name:"Litecoin"},[z.BlockchainType.alpen_signet]:{htlc:e.alpen_signet,name:"Alpen Signet"},[z.BlockchainType.xrpl]:{htlc:e.xrpl,name:"XRPL"},[z.BlockchainType.spark]:{htlc:e.spark,name:"Spark"}};if(t===z.BlockchainType.bitcoin||t===z.BlockchainType.litecoin||t===z.BlockchainType.alpen_signet||t===z.BlockchainType.spark)return m.Ok(void 0);const n=r[t];return n?n.htlc?m.Ok(void 0):m.Err(`${n.name} HTLC is required for swap initiation. Please provide ${n.name.toLowerCase()}HTLC when initializing garden.`):m.Err(`Unsupported blockchain type for swap initiation: ${t}`)},K6=["0x90c06174","0xee1b963b"],X6=t=>{if(!t)return"";if(typeof t=="string")return t;if(t instanceof Error)return[t.message,t.shortMessage,t.reason,t.signature,t.stack].filter(Boolean).join(" | ");if(typeof t=="object"){const e=t.message;if(typeof e=="string")return e;try{return JSON.stringify(t)}catch{return String(t)}}return String(t)},th=t=>{const e=X6(t).toLowerCase();return K6.some(r=>e.includes(r.toLowerCase()))},Y6=t=>t.toLowerCase().includes("not supported for initiations"),Hm=async({attempt:t,wallet:e,maxAttempts:r=1,baseDelayMs:n=1e3})=>{var s;for(let i=0;i<r;i++){const a=await t();if(a.error&&Y6(a.error))break;if(a.ok){const o=await m.waitForTransactionReceipt(e,a.val);if(!o.ok){if(i<r-1){await m.sleep(n*2**i);continue}break}if(((s=o.val)==null?void 0:s.status)==="success")return a.val}i<r-1&&await m.sleep(n*2**i)}return null},J6=Buffer.from("79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","hex"),Z6=Buffer.from("483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8","hex"),Q6=Buffer.concat([J6,Z6]),ev=Buffer.from("0250929b74c1a04954b78b4b6035e97a5e078a5a0f28ec96d547bfee9ace803ac0","hex"),D0={failedToCreateInternalPubkey:"failed to create internal pubkey"};function z0(){const t=me.crypto.sha256(Buffer.from("GardenHTLC","utf-8")),e=mr.pointMultiply(Buffer.concat([Buffer.from("04","hex"),Q6]),t);if(!e)throw new Error(D0.failedToCreateInternalPubkey);const r=mr.pointAdd(ev,e);if(!r)throw new Error(D0.failedToCreateInternalPubkey);return M6(Buffer.from(r))}var sn=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},ze={},kt={},si={},Kc={};Kc.byteLength=nv;Kc.toByteArray=iv;Kc.fromByteArray=cv;var Qr=[],dr=[],tv=typeof Uint8Array<"u"?Uint8Array:Array,zu="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(var di=0,rv=zu.length;di<rv;++di)Qr[di]=zu[di],dr[zu.charCodeAt(di)]=di;dr[45]=62;dr[95]=63;function Lm(t){var e=t.length;if(e%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var r=t.indexOf("=");r===-1&&(r=e);var n=r===e?0:4-r%4;return[r,n]}function nv(t){var e=Lm(t),r=e[0],n=e[1];return(r+n)*3/4-n}function sv(t,e,r){return(e+r)*3/4-r}function iv(t){var e,r=Lm(t),n=r[0],s=r[1],i=new tv(sv(t,n,s)),a=0,o=s>0?n-4:n,c;for(c=0;c<o;c+=4)e=dr[t.charCodeAt(c)]<<18|dr[t.charCodeAt(c+1)]<<12|dr[t.charCodeAt(c+2)]<<6|dr[t.charCodeAt(c+3)],i[a++]=e>>16&255,i[a++]=e>>8&255,i[a++]=e&255;return s===2&&(e=dr[t.charCodeAt(c)]<<2|dr[t.charCodeAt(c+1)]>>4,i[a++]=e&255),s===1&&(e=dr[t.charCodeAt(c)]<<10|dr[t.charCodeAt(c+1)]<<4|dr[t.charCodeAt(c+2)]>>2,i[a++]=e>>8&255,i[a++]=e&255),i}function av(t){return Qr[t>>18&63]+Qr[t>>12&63]+Qr[t>>6&63]+Qr[t&63]}function ov(t,e,r){for(var n,s=[],i=e;i<r;i+=3)n=(t[i]<<16&16711680)+(t[i+1]<<8&65280)+(t[i+2]&255),s.push(av(n));return s.join("")}function cv(t){for(var e,r=t.length,n=r%3,s=[],i=16383,a=0,o=r-n;a<o;a+=i)s.push(ov(t,a,a+i>o?o:a+i));return n===1?(e=t[r-1],s.push(Qr[e>>2]+Qr[e<<4&63]+"==")):n===2&&(e=(t[r-2]<<8)+t[r-1],s.push(Qr[e>>10]+Qr[e>>4&63]+Qr[e<<2&63]+"=")),s.join("")}var rh={};/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */rh.read=function(t,e,r,n,s){var i,a,o=s*8-n-1,c=(1<<o)-1,u=c>>1,f=-7,l=r?s-1:0,p=r?-1:1,d=t[e+l];for(l+=p,i=d&(1<<-f)-1,d>>=-f,f+=o;f>0;i=i*256+t[e+l],l+=p,f-=8);for(a=i&(1<<-f)-1,i>>=-f,f+=n;f>0;a=a*256+t[e+l],l+=p,f-=8);if(i===0)i=1-u;else{if(i===c)return a?NaN:(d?-1:1)*(1/0);a=a+Math.pow(2,n),i=i-u}return(d?-1:1)*a*Math.pow(2,i-n)};rh.write=function(t,e,r,n,s,i){var a,o,c,u=i*8-s-1,f=(1<<u)-1,l=f>>1,p=s===23?Math.pow(2,-24)-Math.pow(2,-77):0,d=n?0:i-1,b=n?1:-1,g=e<0||e===0&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(o=isNaN(e)?1:0,a=f):(a=Math.floor(Math.log(e)/Math.LN2),e*(c=Math.pow(2,-a))<1&&(a--,c*=2),a+l>=1?e+=p/c:e+=p*Math.pow(2,1-l),e*c>=2&&(a++,c/=2),a+l>=f?(o=0,a=f):a+l>=1?(o=(e*c-1)*Math.pow(2,s),a=a+l):(o=e*Math.pow(2,l-1)*Math.pow(2,s),a=0));s>=8;t[r+d]=o&255,d+=b,o/=256,s-=8);for(a=a<<s|o,u+=s;u>0;t[r+d]=a&255,d+=b,a/=256,u-=8);t[r+d-b]|=g*128};/*!
1
+ "use strict";var B0=t=>{throw TypeError(t)};var C0=(t,e,r)=>e.has(t)||B0("Cannot "+r);var Se=(t,e,r)=>(C0(t,e,"read from private field"),r?r.call(t):e.get(t)),ks=(t,e,r)=>e.has(t)?B0("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,r),Ts=(t,e,r,n)=>(C0(t,e,"write to private field"),n?n.call(t,r):e.set(t,r),r);const z=require("@gardenfi/orderbook"),m=require("@gardenfi/utils"),me=require("bitcoinjs-lib"),O6=require("tiny-secp256k1"),Fm=require("varuint-bitcoin"),qo=require("bitcore-lib-ltc"),zl=require("bignumber.js");require("@buildonspark/spark-sdk");const Qe=require("starknet"),Ar=require("@coral-xyz/anchor"),B6=require("@solana/spl-token"),R0=require("@mysten/wallet-standard"),N0=require("tronweb"),U0=require("xrpl"),yc=require("ecpair"),C6=require("node-cache"),F0=require("yup"),M0=require("bip39"),R6=require("bip32");function Wc(t){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const r in t)if(r!=="default"){const n=Object.getOwnPropertyDescriptor(t,r);Object.defineProperty(e,r,n.get?n:{enumerable:!0,get:()=>t[r]})}}return e.default=t,Object.freeze(e)}const ke=Wc(me),mr=Wc(O6),$0=Wc(Fm),N6=Wc(B6),mc={mainnet:{baseurl:"https://api.garden.finance",auth:"https://api.garden.finance/auth",relayer:"https://relayer.garden.finance"},testnet:{baseurl:"https://testnet.api.garden.finance",auth:"https://testnet.api.garden.finance/auth",relayer:"https://testnet.api.garden.finance/relayer"},localnet:{baseurl:"",auth:"",relayer:""}},Ma={[m.Network.MAINNET]:{chainId:"0x534e5f4d41494e",nodeUrl:"https://rpc.starknet.lava.build"},[m.Network.TESTNET]:{chainId:"0x534e5f5345504f4c4941",nodeUrl:"https://starknet-sepolia-rpc.publicnode.com"},[m.Network.LOCALNET]:{chainId:"",nodeUrl:""}},Mm={[m.Network.MAINNET]:"9cBuPNiHXiMNg3Fin8xLCGJQBTXjYQTFtyaFQv2uiM1H",[m.Network.TESTNET]:"ANUVKxeqaec3bf4DVPqLTnG1PT3Fng56wPcE7LXAb46Q",[m.Network.LOCALNET]:"AKnL4NNf3DGWZJS6cPknBuEGnVsV4A4m5tgebLHaRSZ9"},Vl={mainnet:{native:"2bag6xpshpvPe7SJ9nSDLHpxqhEAoHPGpEkjNSv7gxoF",spl:"gdnvdMCHJgnidtU7SL8RkRshHPvDJU1pdfZEpoLvqdU"},staging:{native:"6eksgdCnSjUaGQWZ6iYvauv1qzvYPF33RTGTM1ZuyENx",spl:"2WXpY8havGjfRxme9LUxtjFHTh1EfU3ur4v6wiK4KdNC"}},Gl={[m.Network.TESTNET]:{packageId:"0x99865b03dd1bc03d0a6a805c454ea257c464f7abcccae9cd4b621b91e7ca04de",moduleName:"AtomicSwap"},[m.Network.MAINNET]:{packageId:"0xbfb5728aab0dd117747ef4574af6d3540ea6093109c22856e3ae201dfd58c0fc",moduleName:"AtomicSwap"},[m.Network.LOCALNET]:{packageId:"",moduleName:""}},$m={[m.Network.MAINNET]:"https://api.trongrid.io",[m.Network.TESTNET]:"https://api.shasta.trongrid.io",[m.Network.LOCALNET]:""},jm={[m.Network.MAINNET]:"wss://s.altnet.rippletest.net:51233",[m.Network.TESTNET]:"wss://s.altnet.rippletest.net:51233",[m.Network.LOCALNET]:""},U6={asset:z.ChainAsset.from(z.Assets.base.cBBTC)};var _a=(t=>(t.orderCreated="orderCreated",t.orderInitiating="orderInitiating",t.orderInitiated="orderInitiated",t))(_a||{}),Ii=(t=>(t.SLOW="SLOW",t.MEDIUM="MEDIUM",t.FAST="FAST",t))(Ii||{}),Cr=(t=>(t.Mainnet="Mainnet",t.Testnet="Testnet",t.Regtest="Regtest",t))(Cr||{}),bc=(t=>(t.ALL="ALL",t.IN="IN",t.OUT="OUT",t))(bc||{});const F6={SLOW:"economyFee",MEDIUM:"hourFee",FAST:"fastestFee"};function ql(t){const e=typeof t=="string"?t:t.network,r=e===m.Network.MAINNET?mc.mainnet:m.Network.TESTNET?mc.testnet:mc.localnet;return{api:typeof t=="string"?r:{...r,...t},network:e}}function M6(t){return typeof t=="string"&&(t=Buffer.from(t,"hex")),t.length===32?t:t.subarray(1,33)}function j0(t,e){if(!t)throw new Error(e)}function $6(t){return Buffer.concat([Uint8Array.from([192]),j6(t)])}function j6(t){const e=$0.encodingLength(t.length),r=Buffer.allocUnsafe(e);return $0.encode(t.length,r),Buffer.concat([r,t])}function H6(t,e){if(t.compare(e)>0){const r=t;t=e,e=r}return[t,e]}const De=t=>t.length===64?t:t.slice(2),L6=t=>{if(!t)return!1;try{const e=Buffer.from(t,"hex");return mr.isPoint(e)}catch{return!1}};function D6(t,e){if(!t)return!1;const r=e===m.Environment.MAINNET?ke.networks.bitcoin:e===m.Environment.TESTNET?ke.networks.testnet:ke.networks.regtest;if(!r)return!1;ke.initEccLib(mr);try{return ke.address.toOutputScript(t,r),!0}catch{return!1}}function z6(t,e){if(!t)return!1;let r;if(e===m.Environment.MAINNET?r=qo.Networks.livenet:(m.Environment.TESTNET,r=qo.Networks.testnet),!r)return!1;try{return qo.Address.fromString(t,r),!0}catch{return!1}}function ca(t,e){const r=[];for(let n=0;n<e;n++)r.push(t);return r}const V6=t=>{switch(t){case m.Network.MAINNET:return Cr.Mainnet;case m.Network.TESTNET:return Cr.Testnet;case m.Network.LOCALNET:return Cr.Regtest;default:throw new Error(`Invalid bitcoin network ${t}`)}},G6=t=>{switch(t){case m.Network.MAINNET:return ke.networks.bitcoin;case m.Network.TESTNET:return ke.networks.testnet;case m.Network.LOCALNET:return ke.networks.regtest;default:throw new Error(`Invalid bitcoin network ${t}`)}},q6=t=>{const e=t.toLowerCase().replace("0x","");return/^[0-9a-f]+$/.test(e)},H0=t=>{if(typeof t=="object"&&"r"in t&&"s"in t)return m.Ok([t.r.toString(),t.s.toString()]);if(Array.isArray(t)){const e=t.map(r=>typeof r=="string"&&r.startsWith("0x")&&q6(r)?BigInt(r).toString():r);return m.Ok(e.join(","))}return m.Err("Invalid signature format")};function Wl(t){return Buffer.from(t,"hex").reverse()}function Kl(t){return typeof t=="object"&&t!==null&&"message"in t&&typeof t.message=="string"}const Wo=async(t,e)=>{const r=Date.now(),n=3e4,s=2e3;for(;Date.now()-r<n;){const i=await t.getLatestBlockhash(),a=await t.confirmTransaction({signature:e,blockhash:i.blockhash,lastValidBlockHeight:i.lastValidBlockHeight},"confirmed");if(a.value&&a.value.err==null)return console.log("Tx Confirmed ✅",e),!0;console.log("Tx not confirmed yet. Retrying in 2 seconds..."),await new Promise(o=>setTimeout(o,s))}return!1},ji=async(t,e,r)=>{var u,f;const n=await r.getAuthHeaders();if(!n.ok)return m.Err(n.error);const s=await m.Fetcher.get(e+"/v2/assets",{headers:{...n.val}});if(s.error)return m.Err("Failed to fetch asset info: "+s.error);const a=(s.result||[]).find(l=>l.id===t);if(!a)return m.Err(`Asset info not found for asset id: ${t}`);const o=((u=a.htlc)==null?void 0:u.address)||"",c=((f=a.token)==null?void 0:f.address)||"";return m.Ok({htlcAddress:o,tokenAddress:c})},L0=t=>{if(t==null||t.includes("."))return m.Err("Invalid amount ",t);const e=new zl.BigNumber(t);return!e.isInteger()||e.isNaN()||e.lt(0)||e.isLessThanOrEqualTo(0)?m.Err("Invalid amount ",t):m.Ok(e)},W6=async(t,e)=>{const r={[z.BlockchainType.evm]:{htlc:e.evm,name:"EVM"},[z.BlockchainType.solana]:{htlc:e.solana,name:"Solana"},[z.BlockchainType.starknet]:{htlc:e.starknet,name:"Starknet"},[z.BlockchainType.sui]:{htlc:e.sui,name:"Sui"},[z.BlockchainType.bitcoin]:{htlc:e.bitcoin,name:"Bitcoin"},[z.BlockchainType.tron]:{htlc:e.tron,name:"Tron"},[z.BlockchainType.litecoin]:{htlc:e.litecoin,name:"Litecoin"},[z.BlockchainType.alpen_signet]:{htlc:e.alpen_signet,name:"Alpen Signet"},[z.BlockchainType.xrpl]:{htlc:e.xrpl,name:"XRPL"},[z.BlockchainType.spark]:{htlc:e.spark,name:"Spark"}};if(t===z.BlockchainType.bitcoin||t===z.BlockchainType.litecoin||t===z.BlockchainType.alpen_signet||t===z.BlockchainType.spark)return m.Ok(void 0);const n=r[t];return n?n.htlc?m.Ok(void 0):m.Err(`${n.name} HTLC is required for swap initiation. Please provide ${n.name.toLowerCase()}HTLC when initializing garden.`):m.Err(`Unsupported blockchain type for swap initiation: ${t}`)},K6=["0x90c06174","0xee1b963b"],X6=t=>{if(!t)return"";if(typeof t=="string")return t;if(t instanceof Error)return[t.message,t.shortMessage,t.reason,t.signature,t.stack].filter(Boolean).join(" | ");if(typeof t=="object"){const e=t.message;if(typeof e=="string")return e;try{return JSON.stringify(t)}catch{return String(t)}}return String(t)},th=t=>{const e=X6(t).toLowerCase();return K6.some(r=>e.includes(r.toLowerCase()))},Y6=t=>t.toLowerCase().includes("not supported for initiations"),Hm=async({attempt:t,wallet:e,maxAttempts:r=1,baseDelayMs:n=1e3})=>{var s;for(let i=0;i<r;i++){const a=await t();if(a.error&&Y6(a.error))break;if(a.ok){const o=await m.waitForTransactionReceipt(e,a.val);if(!o.ok){if(i<r-1){await m.sleep(n*2**i);continue}break}if(((s=o.val)==null?void 0:s.status)==="success")return a.val}i<r-1&&await m.sleep(n*2**i)}return null},J6=Buffer.from("79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","hex"),Z6=Buffer.from("483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8","hex"),Q6=Buffer.concat([J6,Z6]),ev=Buffer.from("0250929b74c1a04954b78b4b6035e97a5e078a5a0f28ec96d547bfee9ace803ac0","hex"),D0={failedToCreateInternalPubkey:"failed to create internal pubkey"};function z0(){const t=me.crypto.sha256(Buffer.from("GardenHTLC","utf-8")),e=mr.pointMultiply(Buffer.concat([Buffer.from("04","hex"),Q6]),t);if(!e)throw new Error(D0.failedToCreateInternalPubkey);const r=mr.pointAdd(ev,e);if(!r)throw new Error(D0.failedToCreateInternalPubkey);return M6(Buffer.from(r))}var sn=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},ze={},kt={},si={},Kc={};Kc.byteLength=nv;Kc.toByteArray=iv;Kc.fromByteArray=cv;var Qr=[],dr=[],tv=typeof Uint8Array<"u"?Uint8Array:Array,zu="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(var di=0,rv=zu.length;di<rv;++di)Qr[di]=zu[di],dr[zu.charCodeAt(di)]=di;dr[45]=62;dr[95]=63;function Lm(t){var e=t.length;if(e%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var r=t.indexOf("=");r===-1&&(r=e);var n=r===e?0:4-r%4;return[r,n]}function nv(t){var e=Lm(t),r=e[0],n=e[1];return(r+n)*3/4-n}function sv(t,e,r){return(e+r)*3/4-r}function iv(t){var e,r=Lm(t),n=r[0],s=r[1],i=new tv(sv(t,n,s)),a=0,o=s>0?n-4:n,c;for(c=0;c<o;c+=4)e=dr[t.charCodeAt(c)]<<18|dr[t.charCodeAt(c+1)]<<12|dr[t.charCodeAt(c+2)]<<6|dr[t.charCodeAt(c+3)],i[a++]=e>>16&255,i[a++]=e>>8&255,i[a++]=e&255;return s===2&&(e=dr[t.charCodeAt(c)]<<2|dr[t.charCodeAt(c+1)]>>4,i[a++]=e&255),s===1&&(e=dr[t.charCodeAt(c)]<<10|dr[t.charCodeAt(c+1)]<<4|dr[t.charCodeAt(c+2)]>>2,i[a++]=e>>8&255,i[a++]=e&255),i}function av(t){return Qr[t>>18&63]+Qr[t>>12&63]+Qr[t>>6&63]+Qr[t&63]}function ov(t,e,r){for(var n,s=[],i=e;i<r;i+=3)n=(t[i]<<16&16711680)+(t[i+1]<<8&65280)+(t[i+2]&255),s.push(av(n));return s.join("")}function cv(t){for(var e,r=t.length,n=r%3,s=[],i=16383,a=0,o=r-n;a<o;a+=i)s.push(ov(t,a,a+i>o?o:a+i));return n===1?(e=t[r-1],s.push(Qr[e>>2]+Qr[e<<4&63]+"==")):n===2&&(e=(t[r-2]<<8)+t[r-1],s.push(Qr[e>>10]+Qr[e>>4&63]+Qr[e<<2&63]+"=")),s.join("")}var rh={};/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */rh.read=function(t,e,r,n,s){var i,a,o=s*8-n-1,c=(1<<o)-1,u=c>>1,f=-7,l=r?s-1:0,p=r?-1:1,d=t[e+l];for(l+=p,i=d&(1<<-f)-1,d>>=-f,f+=o;f>0;i=i*256+t[e+l],l+=p,f-=8);for(a=i&(1<<-f)-1,i>>=-f,f+=n;f>0;a=a*256+t[e+l],l+=p,f-=8);if(i===0)i=1-u;else{if(i===c)return a?NaN:(d?-1:1)*(1/0);a=a+Math.pow(2,n),i=i-u}return(d?-1:1)*a*Math.pow(2,i-n)};rh.write=function(t,e,r,n,s,i){var a,o,c,u=i*8-s-1,f=(1<<u)-1,l=f>>1,p=s===23?Math.pow(2,-24)-Math.pow(2,-77):0,d=n?0:i-1,b=n?1:-1,g=e<0||e===0&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(o=isNaN(e)?1:0,a=f):(a=Math.floor(Math.log(e)/Math.LN2),e*(c=Math.pow(2,-a))<1&&(a--,c*=2),a+l>=1?e+=p/c:e+=p*Math.pow(2,1-l),e*c>=2&&(a++,c/=2),a+l>=f?(o=0,a=f):a+l>=1?(o=(e*c-1)*Math.pow(2,s),a=a+l):(o=e*Math.pow(2,l-1)*Math.pow(2,s),a=0));s>=8;t[r+d]=o&255,d+=b,o/=256,s-=8);for(a=a<<s|o,u+=s;u>0;t[r+d]=a&255,d+=b,a/=256,u-=8);t[r+d-b]|=g*128};/*!
2
2
  * The buffer module from node.js, for the browser.
3
3
  *
4
4
  * @author Feross Aboukhadijeh <https://feross.org>
@@ -64,7 +64,7 @@ ${S8(d)}`),super(e.shortMessage,{cause:e,docsPath:n,metaMessages:[...e.metaMessa
64
64
  `),{cause:e,metaMessages:["This error could arise when the account does not have enough funds to:"," - pay for the total gas fee,"," - pay for the value to send."," ","The cost of the transaction is calculated as `gas * gas fee + value`, where:"," - `gas` is the amount of gas needed for transaction to execute,"," - `gas fee` is the gas fee,"," - `value` is the amount of ether to send to the recipient."],name:"InsufficientFundsError"})}}Object.defineProperty(dd,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/insufficient funds|exceeds transaction sender account balance/});class hd extends G{constructor({cause:e,gas:r}={}){super(`The amount of gas ${r?`(${r}) `:""}provided for the transaction exceeds the limit allowed for the block.`,{cause:e,name:"IntrinsicGasTooHighError"})}}Object.defineProperty(hd,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/intrinsic gas too high|gas limit reached/});class pd extends G{constructor({cause:e,gas:r}={}){super(`The amount of gas ${r?`(${r}) `:""}provided for the transaction is too low.`,{cause:e,name:"IntrinsicGasTooLowError"})}}Object.defineProperty(pd,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/intrinsic gas too low/});class yd extends G{constructor({cause:e}){super("The transaction type is not supported for this chain.",{cause:e,name:"TransactionTypeNotSupportedError"})}}Object.defineProperty(yd,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/transaction type not valid/});class ao extends G{constructor({cause:e,maxPriorityFeePerGas:r,maxFeePerGas:n}={}){super([`The provided tip (\`maxPriorityFeePerGas\`${r?` = ${Gt(r)} gwei`:""}) cannot be higher than the fee cap (\`maxFeePerGas\`${n?` = ${Gt(n)} gwei`:""}).`].join(`
65
65
  `),{cause:e,name:"TipAboveFeeCapError"})}}Object.defineProperty(ao,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/max priority fee per gas higher than max fee per gas|tip higher than fee cap/});class Bo extends G{constructor({cause:e}){super(`An error occurred while executing: ${e==null?void 0:e.shortMessage}`,{cause:e,name:"UnknownNodeError"})}}function pu(t,e){const r=(t.details||"").toLowerCase(),n=t instanceof G?t.walk(s=>(s==null?void 0:s.code)===xi.code):t;return n instanceof G?new xi({cause:t,message:n.details}):xi.nodeMessage.test(r)?new xi({cause:t,message:t.details}):Js.nodeMessage.test(r)?new Js({cause:t,maxFeePerGas:e==null?void 0:e.maxFeePerGas}):cd.nodeMessage.test(r)?new cd({cause:t,maxFeePerGas:e==null?void 0:e.maxFeePerGas}):ud.nodeMessage.test(r)?new ud({cause:t,nonce:e==null?void 0:e.nonce}):fd.nodeMessage.test(r)?new fd({cause:t,nonce:e==null?void 0:e.nonce}):ld.nodeMessage.test(r)?new ld({cause:t,nonce:e==null?void 0:e.nonce}):dd.nodeMessage.test(r)?new dd({cause:t}):hd.nodeMessage.test(r)?new hd({cause:t,gas:e==null?void 0:e.gas}):pd.nodeMessage.test(r)?new pd({cause:t,gas:e==null?void 0:e.gas}):yd.nodeMessage.test(r)?new yd({cause:t}):ao.nodeMessage.test(r)?new ao({cause:t,maxFeePerGas:e==null?void 0:e.maxFeePerGas,maxPriorityFeePerGas:e==null?void 0:e.maxPriorityFeePerGas}):new Bo({cause:t})}function L8(t,{docsPath:e,...r}){const n=(()=>{const s=pu(t,r);return s instanceof Bo?t:s})();return new H8(n,{docsPath:e,...r})}function ta(t,{format:e}){if(!e)return{};const r={};function n(i){const a=Object.keys(i);for(const o of a)o in t&&(r[o]=t[o]),i[o]&&typeof i[o]=="object"&&!Array.isArray(i[o])&&n(i[o])}const s=e(t||{});return n(s),r}function Ih(t,e){return({exclude:r,format:n})=>({exclude:r,format:(s,i)=>{const a=e(s,i);if(r)for(const o of r)delete a[o];return{...a,...n(s,i)}},type:t})}const D8={legacy:"0x0",eip2930:"0x1",eip1559:"0x2",eip4844:"0x3",eip7702:"0x4"};function Es(t,e){const r={};return typeof t.authorizationList<"u"&&(r.authorizationList=z8(t.authorizationList)),typeof t.accessList<"u"&&(r.accessList=t.accessList),typeof t.blobVersionedHashes<"u"&&(r.blobVersionedHashes=t.blobVersionedHashes),typeof t.blobs<"u"&&(typeof t.blobs[0]!="string"?r.blobs=t.blobs.map(n=>tt(n)):r.blobs=t.blobs),typeof t.data<"u"&&(r.data=t.data),t.account&&(r.from=t.account.address),typeof t.from<"u"&&(r.from=t.from),typeof t.gas<"u"&&(r.gas=Y(t.gas)),typeof t.gasPrice<"u"&&(r.gasPrice=Y(t.gasPrice)),typeof t.maxFeePerBlobGas<"u"&&(r.maxFeePerBlobGas=Y(t.maxFeePerBlobGas)),typeof t.maxFeePerGas<"u"&&(r.maxFeePerGas=Y(t.maxFeePerGas)),typeof t.maxPriorityFeePerGas<"u"&&(r.maxPriorityFeePerGas=Y(t.maxPriorityFeePerGas)),typeof t.nonce<"u"&&(r.nonce=Y(t.nonce)),typeof t.to<"u"&&(r.to=t.to),typeof t.type<"u"&&(r.type=D8[t.type]),typeof t.value<"u"&&(r.value=Y(t.value)),r}function z8(t){return t.map(e=>({address:e.address,r:e.r?Y(BigInt(e.r)):e.r,s:e.s?Y(BigInt(e.s)):e.s,chainId:Y(e.chainId),nonce:Y(e.nonce),...typeof e.yParity<"u"?{yParity:Y(e.yParity)}:{},...typeof e.v<"u"&&typeof e.yParity>"u"?{v:Y(e.v)}:{}}))}function Rp(t){if(!(!t||t.length===0))return t.reduce((e,{slot:r,value:n})=>{if(r.length!==66)throw new vp({size:r.length,targetSize:66,type:"hex"});if(n.length!==66)throw new vp({size:n.length,targetSize:66,type:"hex"});return e[r]=n,e},{})}function V8(t){const{balance:e,nonce:r,state:n,stateDiff:s,code:i}=t,a={};if(i!==void 0&&(a.code=i),e!==void 0&&(a.balance=Y(e)),r!==void 0&&(a.nonce=Y(r)),n!==void 0&&(a.state=Rp(n)),s!==void 0){if(a.state)throw new A8;a.stateDiff=Rp(s)}return a}function Ph(t){if(!t)return;const e={};for(const{address:r,...n}of t){if(!ct(r,{strict:!1}))throw new $t({address:r});if(e[r])throw new E8({address:r});e[r]=V8(n)}return e}const yu=2n**256n-1n;function jn(t){const{account:e,maxFeePerGas:r,maxPriorityFeePerGas:n,to:s}=t,i=e?Le(e):void 0;if(i&&!ct(i.address))throw new $t({address:i.address});if(s&&!ct(s))throw new $t({address:s});if(r&&r>yu)throw new Js({maxFeePerGas:r});if(n&&r&&n>r)throw new ao({maxFeePerGas:r,maxPriorityFeePerGas:n})}class zg extends G{constructor(){super("`baseFeeMultiplier` must be greater than 1.",{name:"BaseFeeScalarError"})}}class Oh extends G{constructor(){super("Chain does not support EIP-1559 fees.",{name:"Eip1559FeesNotSupportedError"})}}class G8 extends G{constructor({maxPriorityFeePerGas:e}){super(`\`maxFeePerGas\` cannot be less than the \`maxPriorityFeePerGas\` (${Gt(e)} gwei).`,{name:"MaxFeePerGasTooLowError"})}}class Vg extends G{constructor({blockHash:e,blockNumber:r}){let n="Block";e&&(n=`Block at hash "${e}"`),r&&(n=`Block at number "${r}"`),super(`${n} could not be found.`,{name:"BlockNotFoundError"})}}const Gg={"0x0":"legacy","0x1":"eip2930","0x2":"eip1559","0x3":"eip4844","0x4":"eip7702"};function Co(t,e){const r={...t,blockHash:t.blockHash?t.blockHash:null,blockNumber:t.blockNumber?BigInt(t.blockNumber):null,chainId:t.chainId?gr(t.chainId):void 0,gas:t.gas?BigInt(t.gas):void 0,gasPrice:t.gasPrice?BigInt(t.gasPrice):void 0,maxFeePerBlobGas:t.maxFeePerBlobGas?BigInt(t.maxFeePerBlobGas):void 0,maxFeePerGas:t.maxFeePerGas?BigInt(t.maxFeePerGas):void 0,maxPriorityFeePerGas:t.maxPriorityFeePerGas?BigInt(t.maxPriorityFeePerGas):void 0,nonce:t.nonce?gr(t.nonce):void 0,to:t.to?t.to:null,transactionIndex:t.transactionIndex?Number(t.transactionIndex):null,type:t.type?Gg[t.type]:void 0,typeHex:t.type?t.type:void 0,value:t.value?BigInt(t.value):void 0,v:t.v?BigInt(t.v):void 0};return t.authorizationList&&(r.authorizationList=W8(t.authorizationList)),r.yParity=(()=>{if(t.yParity)return Number(t.yParity);if(typeof r.v=="bigint"){if(r.v===0n||r.v===27n)return 0;if(r.v===1n||r.v===28n)return 1;if(r.v>=35n)return r.v%2n===0n?1:0}})(),r.type==="legacy"&&(delete r.accessList,delete r.maxFeePerBlobGas,delete r.maxFeePerGas,delete r.maxPriorityFeePerGas,delete r.yParity),r.type==="eip2930"&&(delete r.maxFeePerBlobGas,delete r.maxFeePerGas,delete r.maxPriorityFeePerGas),r.type==="eip1559"&&delete r.maxFeePerBlobGas,r}const q8=Ih("transaction",Co);function W8(t){return t.map(e=>({address:e.address,chainId:Number(e.chainId),nonce:Number(e.nonce),r:e.r,s:e.s,yParity:Number(e.yParity)}))}function Bh(t,e){const r=(t.transactions??[]).map(n=>typeof n=="string"?n:Co(n));return{...t,baseFeePerGas:t.baseFeePerGas?BigInt(t.baseFeePerGas):null,blobGasUsed:t.blobGasUsed?BigInt(t.blobGasUsed):void 0,difficulty:t.difficulty?BigInt(t.difficulty):void 0,excessBlobGas:t.excessBlobGas?BigInt(t.excessBlobGas):void 0,gasLimit:t.gasLimit?BigInt(t.gasLimit):void 0,gasUsed:t.gasUsed?BigInt(t.gasUsed):void 0,hash:t.hash?t.hash:null,logsBloom:t.logsBloom?t.logsBloom:null,nonce:t.nonce?t.nonce:null,number:t.number?BigInt(t.number):null,size:t.size?BigInt(t.size):void 0,timestamp:t.timestamp?BigInt(t.timestamp):void 0,transactions:r,totalDifficulty:t.totalDifficulty?BigInt(t.totalDifficulty):null}}const K8=Ih("block",Bh);async function Pr(t,{blockHash:e,blockNumber:r,blockTag:n=t.experimental_blockTag??"latest",includeTransactions:s}={}){var u,f,l;const i=s??!1,a=r!==void 0?Y(r):void 0;let o=null;if(e?o=await t.request({method:"eth_getBlockByHash",params:[e,i]},{dedupe:!0}):o=await t.request({method:"eth_getBlockByNumber",params:[a||n,i]},{dedupe:!!a}),!o)throw new Vg({blockHash:e,blockNumber:r});return(((l=(f=(u=t.chain)==null?void 0:u.formatters)==null?void 0:f.block)==null?void 0:l.format)||Bh)(o,"getBlock")}async function Ch(t){const e=await t.request({method:"eth_gasPrice"});return BigInt(e)}async function X8(t,e){return qg(t,e)}async function qg(t,e){var i,a;const{block:r,chain:n=t.chain,request:s}=e||{};try{const o=((i=n==null?void 0:n.fees)==null?void 0:i.maxPriorityFeePerGas)??((a=n==null?void 0:n.fees)==null?void 0:a.defaultPriorityFee);if(typeof o=="function"){const u=r||await re(t,Pr,"getBlock")({}),f=await o({block:u,client:t,request:s});if(f===null)throw new Error;return f}if(typeof o<"u")return o;const c=await t.request({method:"eth_maxPriorityFeePerGas"});return ft(c)}catch{const[o,c]=await Promise.all([r?Promise.resolve(r):re(t,Pr,"getBlock")({}),re(t,Ch,"getGasPrice")({})]);if(typeof o.baseFeePerGas!="bigint")throw new Oh;const u=c-o.baseFeePerGas;return u<0n?0n:u}}async function Y8(t,e){return md(t,e)}async function md(t,e){var p,d;const{block:r,chain:n=t.chain,request:s,type:i="eip1559"}=e||{},a=await(async()=>{var b,g;return typeof((b=n==null?void 0:n.fees)==null?void 0:b.baseFeeMultiplier)=="function"?n.fees.baseFeeMultiplier({block:r,client:t,request:s}):((g=n==null?void 0:n.fees)==null?void 0:g.baseFeeMultiplier)??1.2})();if(a<1)throw new zg;const c=10**(((p=a.toString().split(".")[1])==null?void 0:p.length)??0),u=b=>b*BigInt(Math.ceil(a*c))/BigInt(c),f=r||await re(t,Pr,"getBlock")({});if(typeof((d=n==null?void 0:n.fees)==null?void 0:d.estimateFeesPerGas)=="function"){const b=await n.fees.estimateFeesPerGas({block:r,client:t,multiply:u,request:s,type:i});if(b!==null)return b}if(i==="eip1559"){if(typeof f.baseFeePerGas!="bigint")throw new Oh;const b=typeof(s==null?void 0:s.maxPriorityFeePerGas)=="bigint"?s.maxPriorityFeePerGas:await qg(t,{block:f,chain:n,request:s}),g=u(f.baseFeePerGas);return{maxFeePerGas:(s==null?void 0:s.maxFeePerGas)??g+b,maxPriorityFeePerGas:b}}return{gasPrice:(s==null?void 0:s.gasPrice)??u(await re(t,Ch,"getGasPrice")({}))}}async function Rh(t,{address:e,blockTag:r="latest",blockNumber:n}){const s=await t.request({method:"eth_getTransactionCount",params:[e,typeof n=="bigint"?Y(n):r]},{dedupe:!!n});return gr(s)}function Nh(t){const{kzg:e}=t,r=t.to??(typeof t.blobs[0]=="string"?"hex":"bytes"),n=typeof t.blobs[0]=="string"?t.blobs.map(i=>an(i)):t.blobs,s=[];for(const i of n)s.push(Uint8Array.from(e.blobToKzgCommitment(i)));return r==="bytes"?s:s.map(i=>tt(i))}function Uh(t){const{kzg:e}=t,r=t.to??(typeof t.blobs[0]=="string"?"hex":"bytes"),n=typeof t.blobs[0]=="string"?t.blobs.map(a=>an(a)):t.blobs,s=typeof t.commitments[0]=="string"?t.commitments.map(a=>an(a)):t.commitments,i=[];for(let a=0;a<n.length;a++){const o=n[a],c=s[a];i.push(Uint8Array.from(e.computeBlobKzgProof(o,c)))}return r==="bytes"?i:i.map(a=>tt(a))}function J8(t,e,r,n){if(typeof t.setBigUint64=="function")return t.setBigUint64(e,r,n);const s=BigInt(32),i=BigInt(4294967295),a=Number(r>>s&i),o=Number(r&i),c=n?4:0,u=n?0:4;t.setUint32(e+c,a,n),t.setUint32(e+u,o,n)}function Z8(t,e,r){return t&e^~t&r}function Q8(t,e,r){return t&e^t&r^e&r}class eS extends cu{constructor(e,r,n,s){super(),this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.blockLen=e,this.outputLen=r,this.padOffset=n,this.isLE=s,this.buffer=new Uint8Array(e),this.view=rf(this.buffer)}update(e){ys(this),e=In(e),ps(e);const{view:r,buffer:n,blockLen:s}=this,i=e.length;for(let a=0;a<i;){const o=Math.min(s-this.pos,i-a);if(o===s){const c=rf(e);for(;s<=i-a;a+=s)this.process(c,a);continue}n.set(e.subarray(a,a+o),this.pos),this.pos+=o,a+=o,this.pos===s&&(this.process(r,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){ys(this),gh(e,this),this.finished=!0;const{buffer:r,view:n,blockLen:s,isLE:i}=this;let{pos:a}=this;r[a++]=128,Nn(this.buffer.subarray(a)),this.padOffset>s-a&&(this.process(n,0),a=0);for(let l=a;l<s;l++)r[l]=0;J8(n,s-8,BigInt(this.length*8),i),this.process(n,0);const o=rf(e),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen should be aligned to 32bit");const u=c/4,f=this.get();if(u>f.length)throw new Error("_sha2: outputLen bigger than state");for(let l=0;l<u;l++)o.setUint32(4*l,f[l],i)}digest(){const{buffer:e,outputLen:r}=this;this.digestInto(e);const n=e.slice(0,r);return this.destroy(),n}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());const{blockLen:r,buffer:n,length:s,finished:i,destroyed:a,pos:o}=this;return e.destroyed=a,e.finished=i,e.length=s,e.pos=o,s%r&&e.buffer.set(n),e}clone(){return this._cloneInto()}}const Xn=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),tS=Uint32Array.from([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),Yn=new Uint32Array(64);class rS extends eS{constructor(e=32){super(64,e,8,!1),this.A=Xn[0]|0,this.B=Xn[1]|0,this.C=Xn[2]|0,this.D=Xn[3]|0,this.E=Xn[4]|0,this.F=Xn[5]|0,this.G=Xn[6]|0,this.H=Xn[7]|0}get(){const{A:e,B:r,C:n,D:s,E:i,F:a,G:o,H:c}=this;return[e,r,n,s,i,a,o,c]}set(e,r,n,s,i,a,o,c){this.A=e|0,this.B=r|0,this.C=n|0,this.D=s|0,this.E=i|0,this.F=a|0,this.G=o|0,this.H=c|0}process(e,r){for(let l=0;l<16;l++,r+=4)Yn[l]=e.getUint32(r,!1);for(let l=16;l<64;l++){const p=Yn[l-15],d=Yn[l-2],b=qr(p,7)^qr(p,18)^p>>>3,g=qr(d,17)^qr(d,19)^d>>>10;Yn[l]=g+Yn[l-7]+b+Yn[l-16]|0}let{A:n,B:s,C:i,D:a,E:o,F:c,G:u,H:f}=this;for(let l=0;l<64;l++){const p=qr(o,6)^qr(o,11)^qr(o,25),d=f+p+Z8(o,c,u)+tS[l]+Yn[l]|0,g=(qr(n,2)^qr(n,13)^qr(n,22))+Q8(n,s,i)|0;f=u,u=c,c=o,o=a+d|0,a=i,i=s,s=n,n=d+g|0}n=n+this.A|0,s=s+this.B|0,i=i+this.C|0,a=a+this.D|0,o=o+this.E|0,c=c+this.F|0,u=u+this.G|0,f=f+this.H|0,this.set(n,s,i,a,o,c,u,f)}roundClean(){Nn(Yn)}destroy(){this.set(0,0,0,0,0,0,0,0),Nn(this.buffer)}}const Wg=gg(()=>new rS),nS=Wg;function Sa(t,e){const r=e||"hex",n=nS(Nr(t,{strict:!1})?Qi(t):t);return r==="bytes"?n:Ft(n)}function sS(t){const{commitment:e,version:r=1}=t,n=t.to??(typeof e=="string"?"hex":"bytes"),s=Sa(e,"bytes");return s.set([r],0),n==="bytes"?s:tt(s)}function Kg(t){const{commitments:e,version:r}=t,n=t.to??(typeof e[0]=="string"?"hex":"bytes"),s=[];for(const i of e)s.push(sS({commitment:i,to:n,version:r}));return s}const Np=6,Xg=32,Fh=4096,Yg=Xg*Fh,Up=Yg*Np-1-1*Fh*Np,Jg=1;class iS extends G{constructor({maxSize:e,size:r}){super("Blob size is too large.",{metaMessages:[`Max: ${e} bytes`,`Given: ${r} bytes`],name:"BlobSizeTooLargeError"})}}class Zg extends G{constructor(){super("Blob data must not be empty.",{name:"EmptyBlobError"})}}class aS extends G{constructor({hash:e,size:r}){super(`Versioned hash "${e}" size is invalid.`,{metaMessages:["Expected: 32",`Received: ${r}`],name:"InvalidVersionedHashSizeError"})}}class oS extends G{constructor({hash:e,version:r}){super(`Versioned hash "${e}" version is invalid.`,{metaMessages:[`Expected: ${Jg}`,`Received: ${r}`],name:"InvalidVersionedHashVersionError"})}}function cS(t){const e=t.to??(typeof t.data=="string"?"hex":"bytes"),r=typeof t.data=="string"?an(t.data):t.data,n=Ge(r);if(!n)throw new Zg;if(n>Up)throw new iS({maxSize:Up,size:n});const s=[];let i=!0,a=0;for(;i;){const o=kh(new Uint8Array(Yg));let c=0;for(;c<Fh;){const u=r.slice(a,a+(Xg-1));if(o.pushByte(0),o.pushBytes(u),u.length<31){o.pushByte(128),i=!1;break}c++,a+=31}s.push(o)}return e==="bytes"?s.map(o=>o.bytes):s.map(o=>tt(o.bytes))}function Qg(t){const{data:e,kzg:r,to:n}=t,s=t.blobs??cS({data:e,to:n}),i=t.commitments??Nh({blobs:s,kzg:r,to:n}),a=t.proofs??Uh({blobs:s,commitments:i,kzg:r,to:n}),o=[];for(let c=0;c<s.length;c++)o.push({blob:s[c],commitment:i[c],proof:a[c]});return o}function e1(t){if(t.type)return t.type;if(typeof t.authorizationList<"u")return"eip7702";if(typeof t.blobs<"u"||typeof t.blobVersionedHashes<"u"||typeof t.maxFeePerBlobGas<"u"||typeof t.sidecars<"u")return"eip4844";if(typeof t.maxFeePerGas<"u"||typeof t.maxPriorityFeePerGas<"u")return"eip1559";if(typeof t.gasPrice<"u")return typeof t.accessList<"u"?"eip2930":"legacy";throw new k8({transaction:t})}function mu(t,{docsPath:e,...r}){const n=(()=>{const s=pu(t,r);return s instanceof Bo?t:s})();return new _8(n,{docsPath:e,...r})}async function As(t){const e=await t.request({method:"eth_chainId"},{dedupe:!0});return gr(e)}async function Mh(t,e){var N,C,j,M,H;const{account:r=t.account,accessList:n,authorizationList:s,chain:i=t.chain,blobVersionedHashes:a,blobs:o,data:c,gas:u,gasPrice:f,maxFeePerBlobGas:l,maxFeePerGas:p,maxPriorityFeePerGas:d,nonce:b,nonceManager:g,to:A,type:S,value:T,...v}=e,w=await(async()=>{if(!r||!g||typeof b<"u")return b;const V=Le(r),Q=i?i.id:await re(t,As,"getChainId")({});return await g.consume({address:V.address,chainId:Q,client:t})})();jn(e);const x=(C=(N=i==null?void 0:i.formatters)==null?void 0:N.transactionRequest)==null?void 0:C.format,I=(x||Es)({...ta(v,{format:x}),account:r?Le(r):void 0,accessList:n,authorizationList:s,blobs:o,blobVersionedHashes:a,data:c,gas:u,gasPrice:f,maxFeePerBlobGas:l,maxFeePerGas:p,maxPriorityFeePerGas:d,nonce:w,to:A,type:S,value:T},"fillTransaction");try{const V=await t.request({method:"eth_fillTransaction",params:[I]}),U=(((M=(j=i==null?void 0:i.formatters)==null?void 0:j.transaction)==null?void 0:M.format)||Co)(V.tx);delete U.blockHash,delete U.blockNumber,delete U.r,delete U.s,delete U.transactionIndex,delete U.v,delete U.yParity,U.data=U.input,U.gas&&(U.gas=e.gas??U.gas),U.gasPrice&&(U.gasPrice=e.gasPrice??U.gasPrice),U.maxFeePerBlobGas&&(U.maxFeePerBlobGas=e.maxFeePerBlobGas??U.maxFeePerBlobGas),U.maxFeePerGas&&(U.maxFeePerGas=e.maxFeePerGas??U.maxFeePerGas),U.maxPriorityFeePerGas&&(U.maxPriorityFeePerGas=e.maxPriorityFeePerGas??U.maxPriorityFeePerGas),U.nonce&&(U.nonce=e.nonce??U.nonce);const K=await(async()=>{var L,J;if(typeof((L=i==null?void 0:i.fees)==null?void 0:L.baseFeeMultiplier)=="function"){const B=await re(t,Pr,"getBlock")({});return i.fees.baseFeeMultiplier({block:B,client:t,request:e})}return((J=i==null?void 0:i.fees)==null?void 0:J.baseFeeMultiplier)??1.2})();if(K<1)throw new zg;const q=10**(((H=K.toString().split(".")[1])==null?void 0:H.length)??0),O=L=>L*BigInt(Math.ceil(K*q))/BigInt(q);return U.maxFeePerGas&&!e.maxFeePerGas&&(U.maxFeePerGas=O(U.maxFeePerGas)),U.gasPrice&&!e.gasPrice&&(U.gasPrice=O(U.gasPrice)),{raw:V.raw,transaction:{from:I.from,...U}}}catch(V){throw mu(V,{...e,chain:t.chain})}}const $h=["blobVersionedHashes","chainId","fees","gas","nonce","type"],Fp=new Map,af=new ea(128);async function Ro(t,e){var w,x,_;let r=e;r.account??(r.account=t.account),r.parameters??(r.parameters=$h);const{account:n,chain:s=t.chain,nonceManager:i,parameters:a}=r,o=(()=>{if(typeof(s==null?void 0:s.prepareTransactionRequest)=="function")return{fn:s.prepareTransactionRequest,runAt:["beforeFillTransaction"]};if(Array.isArray(s==null?void 0:s.prepareTransactionRequest))return{fn:s.prepareTransactionRequest[0],runAt:s.prepareTransactionRequest[1].runAt}})();let c;async function u(){return c||(typeof r.chainId<"u"?r.chainId:s?s.id:(c=await re(t,As,"getChainId")({}),c))}const f=n&&Le(n);let l=r.nonce;if(a.includes("nonce")&&typeof l>"u"&&f&&i){const I=await u();l=await i.consume({address:f.address,chainId:I,client:t})}o!=null&&o.fn&&((w=o.runAt)!=null&&w.includes("beforeFillTransaction"))&&(r=await o.fn({...r,chain:s},{phase:"beforeFillTransaction"}),l??(l=r.nonce));const d=((a.includes("blobVersionedHashes")||a.includes("sidecars"))&&r.kzg&&r.blobs||af.get(t.uid)===!1||!["fees","gas"].some(N=>a.includes(N))?!1:!!(a.includes("chainId")&&typeof r.chainId!="number"||a.includes("nonce")&&typeof l!="number"||a.includes("fees")&&typeof r.gasPrice!="bigint"&&(typeof r.maxFeePerGas!="bigint"||typeof r.maxPriorityFeePerGas!="bigint")||a.includes("gas")&&typeof r.gas!="bigint"))?await re(t,Mh,"fillTransaction")({...r,nonce:l}).then(I=>{const{chainId:N,from:C,gas:j,gasPrice:M,nonce:H,maxFeePerBlobGas:V,maxFeePerGas:Q,maxPriorityFeePerGas:U,type:K,...ee}=I.transaction;return af.set(t.uid,!0),{...r,...C?{from:C}:{},...K?{type:K}:{},...typeof N<"u"?{chainId:N}:{},...typeof j<"u"?{gas:j}:{},...typeof M<"u"?{gasPrice:M}:{},...typeof H<"u"?{nonce:H}:{},...typeof V<"u"?{maxFeePerBlobGas:V}:{},...typeof Q<"u"?{maxFeePerGas:Q}:{},...typeof U<"u"?{maxPriorityFeePerGas:U}:{},..."nonceKey"in ee&&typeof ee.nonceKey<"u"?{nonceKey:ee.nonceKey}:{}}}).catch(I=>{var j;const N=I;return N.name!=="TransactionExecutionError"||((j=N.walk)==null?void 0:j.call(N,M=>{const H=M;return H.name==="MethodNotFoundRpcError"||H.name==="MethodNotSupportedRpcError"}))&&af.set(t.uid,!1),r}):r;l??(l=d.nonce),r={...d,...f?{from:f==null?void 0:f.address}:{},...l?{nonce:l}:{}};const{blobs:b,gas:g,kzg:A,type:S}=r;o!=null&&o.fn&&((x=o.runAt)!=null&&x.includes("beforeFillParameters"))&&(r=await o.fn({...r,chain:s},{phase:"beforeFillParameters"}));let T;async function v(){return T||(T=await re(t,Pr,"getBlock")({blockTag:"latest"}),T)}if(a.includes("nonce")&&typeof l>"u"&&f&&!i&&(r.nonce=await re(t,Rh,"getTransactionCount")({address:f.address,blockTag:"pending"})),(a.includes("blobVersionedHashes")||a.includes("sidecars"))&&b&&A){const I=Nh({blobs:b,kzg:A});if(a.includes("blobVersionedHashes")){const N=Kg({commitments:I,to:"hex"});r.blobVersionedHashes=N}if(a.includes("sidecars")){const N=Uh({blobs:b,commitments:I,kzg:A}),C=Qg({blobs:b,commitments:I,proofs:N,to:"hex"});r.sidecars=C}}if(a.includes("chainId")&&(r.chainId=await u()),(a.includes("fees")||a.includes("type"))&&typeof S>"u")try{r.type=e1(r)}catch{let I=Fp.get(t.uid);if(typeof I>"u"){const N=await v();I=typeof(N==null?void 0:N.baseFeePerGas)=="bigint",Fp.set(t.uid,I)}r.type=I?"eip1559":"legacy"}if(a.includes("fees"))if(r.type!=="legacy"&&r.type!=="eip2930"){if(typeof r.maxFeePerGas>"u"||typeof r.maxPriorityFeePerGas>"u"){const I=await v(),{maxFeePerGas:N,maxPriorityFeePerGas:C}=await md(t,{block:I,chain:s,request:r});if(typeof r.maxPriorityFeePerGas>"u"&&r.maxFeePerGas&&r.maxFeePerGas<C)throw new G8({maxPriorityFeePerGas:C});r.maxPriorityFeePerGas=C,r.maxFeePerGas=N}}else{if(typeof r.maxFeePerGas<"u"||typeof r.maxPriorityFeePerGas<"u")throw new Oh;if(typeof r.gasPrice>"u"){const I=await v(),{gasPrice:N}=await md(t,{block:I,chain:s,request:r,type:"legacy"});r.gasPrice=N}}return a.includes("gas")&&typeof g>"u"&&(r.gas=await re(t,jh,"estimateGas")({...r,account:f,prepare:(f==null?void 0:f.type)==="local"?[]:["blobVersionedHashes"]})),o!=null&&o.fn&&((_=o.runAt)!=null&&_.includes("afterFillParameters"))&&(r=await o.fn({...r,chain:s},{phase:"afterFillParameters"})),jn(r),delete r.parameters,r}async function jh(t,e){var a,o,c;const{account:r=t.account,prepare:n=!0}=e,s=r?Le(r):void 0,i=(()=>{if(Array.isArray(n))return n;if((s==null?void 0:s.type)!=="local")return["blobVersionedHashes"]})();try{const u=await(async()=>{if(e.to)return e.to;if(e.authorizationList&&e.authorizationList.length>0)return await hu({authorization:e.authorizationList[0]}).catch(()=>{throw new G("`to` is required. Could not infer from `authorizationList`")})})(),{accessList:f,authorizationList:l,blobs:p,blobVersionedHashes:d,blockNumber:b,blockTag:g,data:A,gas:S,gasPrice:T,maxFeePerBlobGas:v,maxFeePerGas:w,maxPriorityFeePerGas:x,nonce:_,value:I,stateOverride:N,...C}=n?await Ro(t,{...e,parameters:i,to:u}):e;if(S&&e.gas!==S)return S;const M=(typeof b=="bigint"?Y(b):void 0)||g,H=Ph(N);jn(e);const V=(c=(o=(a=t.chain)==null?void 0:a.formatters)==null?void 0:o.transactionRequest)==null?void 0:c.format,U=(V||Es)({...ta(C,{format:V}),account:s,accessList:f,authorizationList:l,blobs:p,blobVersionedHashes:d,data:A,gasPrice:T,maxFeePerBlobGas:v,maxFeePerGas:w,maxPriorityFeePerGas:x,nonce:_,to:u,value:I},"estimateGas");return BigInt(await t.request({method:"eth_estimateGas",params:H?[U,M??t.experimental_blockTag??"latest",H]:M?[U,M]:[U]}))}catch(u){throw L8(u,{...e,account:s,chain:t.chain})}}async function t1(t,e){const{abi:r,address:n,args:s,functionName:i,dataSuffix:a,...o}=e,c=or({abi:r,args:s,functionName:i});try{return await re(t,jh,"estimateGas")({data:`${c}${a?a.replace("0x",""):""}`,to:n,...o})}catch(u){const f=o.account?Le(o.account):void 0;throw Ys(u,{abi:r,address:n,args:s,docsPath:"/docs/contract/estimateContractGas",functionName:i,sender:f==null?void 0:f.address})}}function ra(t,e){if(!ct(t,{strict:!1}))throw new $t({address:t});if(!ct(e,{strict:!1}))throw new $t({address:e});return t.toLowerCase()===e.toLowerCase()}const Mp="/docs/contract/decodeEventLog";function Rc(t){const{abi:e,data:r,strict:n,topics:s}=t,i=n??!0,[a,...o]=s;if(!a)throw new QE({docsPath:Mp});const c=e.find(S=>S.type==="event"&&a===uu(Rr(S)));if(!(c&&"name"in c)||c.type!=="event")throw new eA(a,{docsPath:Mp});const{name:u,inputs:f}=c,l=f==null?void 0:f.some(S=>!("name"in S&&S.name)),p=l?[]:{},d=f.map((S,T)=>[S,T]).filter(([S])=>"indexed"in S&&S.indexed),b=[];for(let S=0;S<d.length;S++){const[T,v]=d[S],w=o[S];if(!w){if(i)throw new mh({abiItem:c,param:T});b.push([T,v]);continue}p[l?v:T.name||v]=uS({param:T,value:w})}const g=f.filter(S=>!("indexed"in S&&S.indexed)),A=i?g:[...b.map(([S])=>S),...g];if(A.length>0){if(r&&r!=="0x")try{const S=Po(A,r);if(S){let T=0;if(!i)for(const[v,w]of b)p[l?w:v.name||w]=S[T++];if(l)for(let v=0;v<f.length;v++)p[v]===void 0&&T<S.length&&(p[v]=S[T++]);else for(let v=0;v<g.length;v++)p[g[v].name]=S[T++]}}catch(S){if(i)throw S instanceof ng||S instanceof Bg?new Cc({abiItem:c,data:r,params:A,size:Ge(r)}):S}else if(i)throw new Cc({abiItem:c,data:"0x",params:A,size:0})}return{eventName:u,args:Object.values(p).length>0?p:void 0}}function uS({param:t,value:e}){return t.type==="string"||t.type==="bytes"||t.type==="tuple"||t.type.match(/^(.*)\[(\d+)?\]$/)?e:(Po([t],e)||[])[0]}function Hh(t){const{abi:e,args:r,logs:n,strict:s=!0}=t,i=(()=>{if(t.eventName)return Array.isArray(t.eventName)?t.eventName:[t.eventName]})();return n.map(a=>{var f;const o=e.filter(l=>l.type==="event"&&a.topics[0]===uu(l));if(o.length===0)return null;let c,u;for(const l of o)try{c=Rc({...a,abi:[l],strict:!0}),u=l;break}catch{}if(!c&&!s){u=o[0];try{c=Rc({...a,abi:[u],strict:!1})}catch{const l=(f=u.inputs)==null?void 0:f.some(p=>!("name"in p&&p.name));return{...a,args:l?[]:{},eventName:u.name}}}return!c||!u||i&&!i.includes(c.eventName)||!fS({args:c.args,inputs:u.inputs,matchArgs:r})?null:{...c,...a}}).filter(Boolean)}function fS(t){const{args:e,inputs:r,matchArgs:n}=t;if(!n)return!0;if(!e)return!1;function s(i,a,o){try{return i.type==="address"?ra(a,o):i.type==="string"||i.type==="bytes"?mt(Qi(a))===o:a===o}catch{return!1}}return Array.isArray(e)&&Array.isArray(n)?n.every((i,a)=>{if(i==null)return!0;const o=r[a];return o?(Array.isArray(i)?i:[i]).some(u=>s(o,u,e[a])):!1}):typeof e=="object"&&!Array.isArray(e)&&typeof n=="object"&&!Array.isArray(n)?Object.entries(n).every(([i,a])=>{if(a==null)return!0;const o=r.find(u=>u.name===i);return o?(Array.isArray(a)?a:[a]).some(u=>s(o,u,e[i])):!1}):!1}function Un(t,{args:e,eventName:r}={}){return{...t,blockHash:t.blockHash?t.blockHash:null,blockNumber:t.blockNumber?BigInt(t.blockNumber):null,blockTimestamp:t.blockTimestamp?BigInt(t.blockTimestamp):t.blockTimestamp===null?null:void 0,logIndex:t.logIndex?Number(t.logIndex):null,transactionHash:t.transactionHash?t.transactionHash:null,transactionIndex:t.transactionIndex?Number(t.transactionIndex):null,...r?{args:e,eventName:r}:{}}}async function Lh(t,{address:e,blockHash:r,fromBlock:n,toBlock:s,event:i,events:a,args:o,strict:c}={}){const u=c??!1,f=a??(i?[i]:void 0);let l=[];f&&(l=[f.flatMap(g=>Io({abi:[g],eventName:g.name,args:a?void 0:o}))],i&&(l=l[0]));let p;r?p=await t.request({method:"eth_getLogs",params:[{address:e,topics:l,blockHash:r}]}):p=await t.request({method:"eth_getLogs",params:[{address:e,topics:l,fromBlock:typeof n=="bigint"?Y(n):n,toBlock:typeof s=="bigint"?Y(s):s}]});const d=p.map(b=>Un(b));return f?Hh({abi:f,args:o,logs:d,strict:u}):d}async function Dh(t,e){const{abi:r,address:n,args:s,blockHash:i,eventName:a,fromBlock:o,toBlock:c,strict:u}=e,f=a?oi({abi:r,name:a}):void 0,l=f?void 0:r.filter(p=>p.type==="event");return re(t,Lh,"getLogs")({address:n,args:s,blockHash:i,event:f,events:l,fromBlock:o,toBlock:c,strict:u})}const of="/docs/contract/decodeFunctionResult";function ci(t){const{abi:e,args:r,functionName:n,data:s}=t;let i=e[0];if(n){const o=oi({abi:e,args:r,name:n});if(!o)throw new zi(n,{docsPath:of});i=o}if(i.type!=="function")throw new zi(void 0,{docsPath:of});if(!i.outputs)throw new ig(i.name,{docsPath:of});const a=Po(i.outputs,s);if(a&&a.length>1)return a;if(a&&a.length===1)return a[0]}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const zh=BigInt(0),bd=BigInt(1);function No(t){return t instanceof Uint8Array||ArrayBuffer.isView(t)&&t.constructor.name==="Uint8Array"}function Vh(t){if(!No(t))throw new Error("Uint8Array expected")}function oo(t,e){if(typeof e!="boolean")throw new Error(t+" boolean expected, got "+e)}function sc(t){const e=t.toString(16);return e.length&1?"0"+e:e}function r1(t){if(typeof t!="string")throw new Error("hex string expected, got "+typeof t);return t===""?zh:BigInt("0x"+t)}const n1=typeof Uint8Array.from([]).toHex=="function"&&typeof Uint8Array.fromHex=="function",lS=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function co(t){if(Vh(t),n1)return t.toHex();let e="";for(let r=0;r<t.length;r++)e+=lS[t[r]];return e}const pn={_0:48,_9:57,A:65,F:70,a:97,f:102};function $p(t){if(t>=pn._0&&t<=pn._9)return t-pn._0;if(t>=pn.A&&t<=pn.F)return t-(pn.A-10);if(t>=pn.a&&t<=pn.f)return t-(pn.a-10)}function Nc(t){if(typeof t!="string")throw new Error("hex string expected, got "+typeof t);if(n1)return Uint8Array.fromHex(t);const e=t.length,r=e/2;if(e%2)throw new Error("hex string expected, got unpadded hex of length "+e);const n=new Uint8Array(r);for(let s=0,i=0;s<r;s++,i+=2){const a=$p(t.charCodeAt(i)),o=$p(t.charCodeAt(i+1));if(a===void 0||o===void 0){const c=t[i]+t[i+1];throw new Error('hex string expected, got non-hex character "'+c+'" at index '+i)}n[s]=a*16+o}return n}function Ds(t){return r1(co(t))}function s1(t){return Vh(t),r1(co(Uint8Array.from(t).reverse()))}function Uo(t,e){return Nc(t.toString(16).padStart(e*2,"0"))}function i1(t,e){return Uo(t,e).reverse()}function hr(t,e,r){let n;if(typeof e=="string")try{n=Nc(e)}catch(i){throw new Error(t+" must be hex string or Uint8Array, cause: "+i)}else if(No(e))n=Uint8Array.from(e);else throw new Error(t+" must be hex string or Uint8Array");const s=n.length;if(typeof r=="number"&&s!==r)throw new Error(t+" of length "+r+" expected, got "+s);return n}function Uc(...t){let e=0;for(let n=0;n<t.length;n++){const s=t[n];Vh(s),e+=s.length}const r=new Uint8Array(e);for(let n=0,s=0;n<t.length;n++){const i=t[n];r.set(i,s),s+=i.length}return r}const cf=t=>typeof t=="bigint"&&zh<=t;function Gh(t,e,r){return cf(t)&&cf(e)&&cf(r)&&e<=t&&t<r}function Ui(t,e,r,n){if(!Gh(e,r,n))throw new Error("expected valid "+t+": "+r+" <= n < "+n+", got "+e)}function dS(t){let e;for(e=0;t>zh;t>>=bd,e+=1);return e}const bu=t=>(bd<<BigInt(t))-bd,uf=t=>new Uint8Array(t),jp=t=>Uint8Array.from(t);function hS(t,e,r){if(typeof t!="number"||t<2)throw new Error("hashLen must be a number");if(typeof e!="number"||e<2)throw new Error("qByteLen must be a number");if(typeof r!="function")throw new Error("hmacFn must be a function");let n=uf(t),s=uf(t),i=0;const a=()=>{n.fill(1),s.fill(0),i=0},o=(...l)=>r(s,n,...l),c=(l=uf(0))=>{s=o(jp([0]),l),n=o(),l.length!==0&&(s=o(jp([1]),l),n=o())},u=()=>{if(i++>=1e3)throw new Error("drbg: tried 1000 values");let l=0;const p=[];for(;l<e;){n=o();const d=n.slice();p.push(d),l+=n.length}return Uc(...p)};return(l,p)=>{a(),c(l);let d;for(;!(d=p(u()));)c();return a(),d}}const pS={bigint:t=>typeof t=="bigint",function:t=>typeof t=="function",boolean:t=>typeof t=="boolean",string:t=>typeof t=="string",stringOrUint8Array:t=>typeof t=="string"||No(t),isSafeInteger:t=>Number.isSafeInteger(t),array:t=>Array.isArray(t),field:(t,e)=>e.Fp.isValid(t),hash:t=>typeof t=="function"&&Number.isSafeInteger(t.outputLen)};function gu(t,e,r={}){const n=(s,i,a)=>{const o=pS[i];if(typeof o!="function")throw new Error("invalid validator function");const c=t[s];if(!(a&&c===void 0)&&!o(c,t))throw new Error("param "+String(s)+" is invalid. Expected "+i+", got "+c)};for(const[s,i]of Object.entries(e))n(s,i,!1);for(const[s,i]of Object.entries(r))n(s,i,!0);return t}function Hp(t){const e=new WeakMap;return(r,...n)=>{const s=e.get(r);if(s!==void 0)return s;const i=t(r,...n);return e.set(r,i),i}}const yS="0.1.1";function mS(){return yS}class fe extends Error{static setStaticOptions(e){fe.prototype.docsOrigin=e.docsOrigin,fe.prototype.showVersion=e.showVersion,fe.prototype.version=e.version}constructor(e,r={}){const n=(()=>{var f;if(r.cause instanceof fe){if(r.cause.details)return r.cause.details;if(r.cause.shortMessage)return r.cause.shortMessage}return r.cause&&"details"in r.cause&&typeof r.cause.details=="string"?r.cause.details:(f=r.cause)!=null&&f.message?r.cause.message:r.details})(),s=r.cause instanceof fe&&r.cause.docsPath||r.docsPath,i=r.docsOrigin??fe.prototype.docsOrigin,a=`${i}${s??""}`,o=!!(r.version??fe.prototype.showVersion),c=r.version??fe.prototype.version,u=[e||"An error occurred.",...r.metaMessages?["",...r.metaMessages]:[],...n||s||o?["",n?`Details: ${n}`:void 0,s?`See: ${a}`:void 0,o?`Version: ${c}`:void 0]:[]].filter(f=>typeof f=="string").join(`
66
66
  `);super(u,r.cause?{cause:r.cause}:void 0),Object.defineProperty(this,"details",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"docs",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"docsOrigin",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"docsPath",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"shortMessage",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"showVersion",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"version",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"cause",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"BaseError"}),this.cause=r.cause,this.details=n,this.docs=a,this.docsOrigin=i,this.docsPath=s,this.shortMessage=e,this.showVersion=o,this.version=c}walk(e){return a1(this,e)}}Object.defineProperty(fe,"defaultStaticOptions",{enumerable:!0,configurable:!0,writable:!0,value:{docsOrigin:"https://oxlib.sh",showVersion:!1,version:`ox@${mS()}`}});fe.setStaticOptions(fe.defaultStaticOptions);function a1(t,e){return e!=null&&e(t)?t:t&&typeof t=="object"&&"cause"in t&&t.cause?a1(t.cause,e):e?null:t}function Fo(t,e){if(ki(t)>e)throw new RS({givenSize:ki(t),maxSize:e})}const yn={zero:48,nine:57,A:65,F:70,a:97,f:102};function Lp(t){if(t>=yn.zero&&t<=yn.nine)return t-yn.zero;if(t>=yn.A&&t<=yn.F)return t-(yn.A-10);if(t>=yn.a&&t<=yn.f)return t-(yn.a-10)}function bS(t,e={}){const{dir:r,size:n=32}=e;if(n===0)return t;if(t.length>n)throw new NS({size:t.length,targetSize:n,type:"Bytes"});const s=new Uint8Array(n);for(let i=0;i<n;i++){const a=r==="right";s[a?i:n-i-1]=t[a?i:t.length-i-1]}return s}function o1(t,e={}){const{dir:r="left"}=e;let n=t,s=0;for(let i=0;i<n.length-1&&n[r==="left"?i:n.length-i-1].toString()==="0";i++)s++;return n=r==="left"?n.slice(s):n.slice(0,n.length-s),n}function wu(t,e){if(ir(t)>e)throw new HS({givenSize:ir(t),maxSize:e})}function gS(t,e){if(typeof e=="number"&&e>0&&e>ir(t)-1)throw new m1({offset:e,position:"start",size:ir(t)})}function wS(t,e,r){if(typeof e=="number"&&typeof r=="number"&&ir(t)!==r-e)throw new m1({offset:r,position:"end",size:ir(t)})}function c1(t,e={}){const{dir:r,size:n=32}=e;if(n===0)return t;const s=t.replace("0x","");if(s.length>n*2)throw new LS({size:Math.ceil(s.length/2),targetSize:n,type:"Hex"});return`0x${s[r==="right"?"padEnd":"padStart"](n*2,"0")}`}const vS="#__bigint";function u1(t,e,r){return JSON.stringify(t,(n,s)=>typeof s=="bigint"?s.toString()+vS:s,r)}const ES=new TextDecoder,AS=new TextEncoder;function SS(t){return t instanceof Uint8Array?t:typeof t=="string"?f1(t):xS(t)}function xS(t){return t instanceof Uint8Array?t:new Uint8Array(t)}function f1(t,e={}){const{size:r}=e;let n=t;r&&(wu(t,r),n=Qs(t,r));let s=n.slice(2);s.length%2&&(s=`0${s}`);const i=s.length/2,a=new Uint8Array(i);for(let o=0,c=0;o<i;o++){const u=Lp(s.charCodeAt(c++)),f=Lp(s.charCodeAt(c++));if(u===void 0||f===void 0)throw new fe(`Invalid byte sequence ("${s[c-2]}${s[c-1]}" in "${s}").`);a[o]=u<<4|f}return a}function kS(t,e={}){const{size:r}=e,n=AS.encode(t);return typeof r=="number"?(Fo(n,r),TS(n,r)):n}function TS(t,e){return bS(t,{dir:"right",size:e})}function ki(t){return t.length}function _S(t,e,r,n={}){const{strict:s}=n;return t.slice(e,r)}function IS(t,e={}){const{size:r}=e;typeof r<"u"&&Fo(t,r);const n=Fr(t,e);return h1(n,e)}function PS(t,e={}){const{size:r}=e;let n=t;if(typeof r<"u"&&(Fo(n,r),n=l1(n)),n.length>1||n[0]>1)throw new CS(n);return!!n[0]}function On(t,e={}){const{size:r}=e;typeof r<"u"&&Fo(t,r);const n=Fr(t,e);return p1(n,e)}function OS(t,e={}){const{size:r}=e;let n=t;return typeof r<"u"&&(Fo(n,r),n=BS(n)),ES.decode(n)}function l1(t){return o1(t,{dir:"left"})}function BS(t){return o1(t,{dir:"right"})}class CS extends fe{constructor(e){super(`Bytes value \`${e}\` 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"})}}let RS=class extends fe{constructor({givenSize:e,maxSize:r}){super(`Size cannot exceed \`${r}\` bytes. Given size: \`${e}\` bytes.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Bytes.SizeOverflowError"})}},NS=class extends fe{constructor({size:e,targetSize:r,type:n}){super(`${n.charAt(0).toUpperCase()}${n.slice(1).toLowerCase()} size (\`${e}\`) exceeds padding size (\`${r}\`).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Bytes.SizeExceedsPaddingSizeError"})}};const US=new TextEncoder,FS=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function MS(t,e={}){const{strict:r=!1}=e;if(!t)throw new Dp(t);if(typeof t!="string")throw new Dp(t);if(r&&!/^0x[0-9a-fA-F]*$/.test(t))throw new zp(t);if(!t.startsWith("0x"))throw new zp(t)}function Ur(...t){return`0x${t.reduce((e,r)=>e+r.replace("0x",""),"")}`}function $S(t){return t instanceof Uint8Array?Fr(t):Array.isArray(t)?Fr(new Uint8Array(t)):t}function d1(t,e={}){const r=`0x${Number(t)}`;return typeof e.size=="number"?(wu(r,e.size),Zs(r,e.size)):r}function Fr(t,e={}){let r="";for(let s=0;s<t.length;s++)r+=FS[t[s]];const n=`0x${r}`;return typeof e.size=="number"?(wu(n,e.size),Qs(n,e.size)):n}function Ut(t,e={}){const{signed:r,size:n}=e,s=BigInt(t);let i;n?r?i=(1n<<BigInt(n)*8n-1n)-1n:i=2n**(BigInt(n)*8n)-1n:typeof t=="number"&&(i=BigInt(Number.MAX_SAFE_INTEGER));const a=typeof i=="bigint"&&r?-i-1n:0;if(i&&s>i||s<a){const u=typeof t=="bigint"?"n":"";throw new y1({max:i?`${i}${u}`:void 0,min:`${a}${u}`,signed:r,size:n,value:`${t}${u}`})}const c=`0x${(r&&s<0?BigInt.asUintN(n*8,BigInt(s)):s).toString(16)}`;return n?Zs(c,n):c}function qh(t,e={}){return Fr(US.encode(t),e)}function Zs(t,e){return c1(t,{dir:"left",size:e})}function Qs(t,e){return c1(t,{dir:"right",size:e})}function rn(t,e,r,n={}){const{strict:s}=n;gS(t,e);const i=`0x${t.replace("0x","").slice((e??0)*2,(r??t.length)*2)}`;return s&&wS(i,e,r),i}function ir(t){return Math.ceil((t.length-2)/2)}function h1(t,e={}){const{signed:r}=e;e.size&&wu(t,e.size);const n=BigInt(t);if(!r)return n;const s=(t.length-2)/2,i=(1n<<BigInt(s)*8n)-1n,a=i>>1n;return n<=a?n:n-i-1n}function p1(t,e={}){const{signed:r,size:n}=e;return Number(!r&&!n?t:h1(t,e))}function jS(t,e={}){const{strict:r=!1}=e;try{return MS(t,{strict:r}),!0}catch{return!1}}class y1 extends fe{constructor({max:e,min:r,signed:n,size:s,value:i}){super(`Number \`${i}\` is not in safe${s?` ${s*8}-bit`:""}${n?" signed":" unsigned"} integer range ${e?`(\`${r}\` to \`${e}\`)`:`(above \`${r}\`)`}`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.IntegerOutOfRangeError"})}}class Dp extends fe{constructor(e){super(`Value \`${typeof e=="object"?u1(e):e}\` of type \`${typeof e}\` is an invalid hex type.`,{metaMessages:['Hex types must be represented as `"0x${string}"`.']}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.InvalidHexTypeError"})}}class zp extends fe{constructor(e){super(`Value \`${e}\` is an invalid hex value.`,{metaMessages:['Hex values must start with `"0x"` and contain only hexadecimal characters (0-9, a-f, A-F).']}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.InvalidHexValueError"})}}class HS extends fe{constructor({givenSize:e,maxSize:r}){super(`Size cannot exceed \`${r}\` bytes. Given size: \`${e}\` bytes.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.SizeOverflowError"})}}class m1 extends fe{constructor({offset:e,position:r,size:n}){super(`Slice ${r==="start"?"starting":"ending"} at offset \`${e}\` is out-of-bounds (size: \`${n}\`).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.SliceOffsetOutOfBoundsError"})}}class LS extends fe{constructor({size:e,targetSize:r,type:n}){super(`${n.charAt(0).toUpperCase()}${n.slice(1).toLowerCase()} size (\`${e}\`) exceeds padding size (\`${r}\`).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.SizeExceedsPaddingSizeError"})}}function DS(t){return{address:t.address,amount:Ut(t.amount),index:Ut(t.index),validatorIndex:Ut(t.validatorIndex)}}function b1(t){return{...typeof t.baseFeePerGas=="bigint"&&{baseFeePerGas:Ut(t.baseFeePerGas)},...typeof t.blobBaseFee=="bigint"&&{blobBaseFee:Ut(t.blobBaseFee)},...typeof t.feeRecipient=="string"&&{feeRecipient:t.feeRecipient},...typeof t.gasLimit=="bigint"&&{gasLimit:Ut(t.gasLimit)},...typeof t.number=="bigint"&&{number:Ut(t.number)},...typeof t.prevRandao=="bigint"&&{prevRandao:Ut(t.prevRandao)},...typeof t.time=="bigint"&&{time:Ut(t.time)},...t.withdrawals&&{withdrawals:t.withdrawals.map(DS)}}}const Fc=[{inputs:[{components:[{name:"target",type:"address"},{name:"allowFailure",type:"bool"},{name:"callData",type:"bytes"}],name:"calls",type:"tuple[]"}],name:"aggregate3",outputs:[{components:[{name:"success",type:"bool"},{name:"returnData",type:"bytes"}],name:"returnData",type:"tuple[]"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockTimestamp",outputs:[{internalType:"uint256",name:"timestamp",type:"uint256"}],stateMutability:"view",type:"function"}],gd=[{name:"query",type:"function",stateMutability:"view",inputs:[{type:"tuple[]",name:"queries",components:[{type:"address",name:"sender"},{type:"string[]",name:"urls"},{type:"bytes",name:"data"}]}],outputs:[{type:"bool[]",name:"failures"},{type:"bytes[]",name:"responses"}]},{name:"HttpError",type:"error",inputs:[{type:"uint16",name:"status"},{type:"string",name:"message"}]}],g1=[{inputs:[{name:"dns",type:"bytes"}],name:"DNSDecodingFailed",type:"error"},{inputs:[{name:"ens",type:"string"}],name:"DNSEncodingFailed",type:"error"},{inputs:[],name:"EmptyAddress",type:"error"},{inputs:[{name:"status",type:"uint16"},{name:"message",type:"string"}],name:"HttpError",type:"error"},{inputs:[],name:"InvalidBatchGatewayResponse",type:"error"},{inputs:[{name:"errorData",type:"bytes"}],name:"ResolverError",type:"error"},{inputs:[{name:"name",type:"bytes"},{name:"resolver",type:"address"}],name:"ResolverNotContract",type:"error"},{inputs:[{name:"name",type:"bytes"}],name:"ResolverNotFound",type:"error"},{inputs:[{name:"primary",type:"string"},{name:"primaryAddress",type:"bytes"}],name:"ReverseAddressMismatch",type:"error"},{inputs:[{internalType:"bytes4",name:"selector",type:"bytes4"}],name:"UnsupportedResolverProfile",type:"error"}],w1=[...g1,{name:"resolveWithGateways",type:"function",stateMutability:"view",inputs:[{name:"name",type:"bytes"},{name:"data",type:"bytes"},{name:"gateways",type:"string[]"}],outputs:[{name:"",type:"bytes"},{name:"address",type:"address"}]}],zS=[...g1,{name:"reverseWithGateways",type:"function",stateMutability:"view",inputs:[{type:"bytes",name:"reverseName"},{type:"uint256",name:"coinType"},{type:"string[]",name:"gateways"}],outputs:[{type:"string",name:"resolvedName"},{type:"address",name:"resolver"},{type:"address",name:"reverseResolver"}]}],Vp=[{name:"text",type:"function",stateMutability:"view",inputs:[{name:"name",type:"bytes32"},{name:"key",type:"string"}],outputs:[{name:"",type:"string"}]}],Gp=[{name:"addr",type:"function",stateMutability:"view",inputs:[{name:"name",type:"bytes32"}],outputs:[{name:"",type:"address"}]},{name:"addr",type:"function",stateMutability:"view",inputs:[{name:"name",type:"bytes32"},{name:"coinType",type:"uint256"}],outputs:[{name:"",type:"bytes"}]}],v1=[{name:"isValidSignature",type:"function",stateMutability:"view",inputs:[{name:"hash",type:"bytes32"},{name:"signature",type:"bytes"}],outputs:[{name:"",type:"bytes4"}]}],qp=[{inputs:[{name:"_signer",type:"address"},{name:"_hash",type:"bytes32"},{name:"_signature",type:"bytes"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[{name:"_signer",type:"address"},{name:"_hash",type:"bytes32"},{name:"_signature",type:"bytes"}],outputs:[{type:"bool"}],stateMutability:"nonpayable",type:"function",name:"isValidSig"}],VS="0x82ad56cb",E1="0x608060405234801561001057600080fd5b5060405161018e38038061018e83398101604081905261002f91610124565b6000808351602085016000f59050803b61004857600080fd5b6000808351602085016000855af16040513d6000823e81610067573d81fd5b3d81f35b634e487b7160e01b600052604160045260246000fd5b600082601f83011261009257600080fd5b81516001600160401b038111156100ab576100ab61006b565b604051601f8201601f19908116603f011681016001600160401b03811182821017156100d9576100d961006b565b6040528181528382016020018510156100f157600080fd5b60005b82811015610110576020818601810151838301820152016100f4565b506000918101602001919091529392505050565b6000806040838503121561013757600080fd5b82516001600160401b0381111561014d57600080fd5b61015985828601610081565b602085015190935090506001600160401b0381111561017757600080fd5b61018385828601610081565b915050925092905056fe",GS="0x608060405234801561001057600080fd5b506040516102c03803806102c083398101604081905261002f916101e6565b836001600160a01b03163b6000036100e457600080836001600160a01b03168360405161005c9190610270565b6000604051808303816000865af19150503d8060008114610099576040519150601f19603f3d011682016040523d82523d6000602084013e61009e565b606091505b50915091508115806100b857506001600160a01b0386163b155b156100e1578060405163101bb98d60e01b81526004016100d8919061028c565b60405180910390fd5b50505b6000808451602086016000885af16040513d6000823e81610103573d81fd5b3d81f35b80516001600160a01b038116811461011e57600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561015457818101518382015260200161013c565b50506000910152565b600082601f83011261016e57600080fd5b81516001600160401b0381111561018757610187610123565b604051601f8201601f19908116603f011681016001600160401b03811182821017156101b5576101b5610123565b6040528181528382016020018510156101cd57600080fd5b6101de826020830160208701610139565b949350505050565b600080600080608085870312156101fc57600080fd5b61020585610107565b60208601519094506001600160401b0381111561022157600080fd5b61022d8782880161015d565b93505061023c60408601610107565b60608601519092506001600160401b0381111561025857600080fd5b6102648782880161015d565b91505092959194509250565b60008251610282818460208701610139565b9190910192915050565b60208152600082518060208401526102ab816040850160208701610139565b601f01601f1916919091016040019291505056fe",qS="0x608060405234801561001057600080fd5b5060405161069438038061069483398101604081905261002f9161051e565b600061003c848484610048565b9050806000526001601ff35b60007f64926492649264926492649264926492649264926492649264926492649264926100748361040c565b036101e7576000606080848060200190518101906100929190610577565b60405192955090935091506000906001600160a01b038516906100b69085906105dd565b6000604051808303816000865af19150503d80600081146100f3576040519150601f19603f3d011682016040523d82523d6000602084013e6100f8565b606091505b50509050876001600160a01b03163b60000361016057806101605760405162461bcd60e51b815260206004820152601e60248201527f5369676e617475726556616c696461746f723a206465706c6f796d656e74000060448201526064015b60405180910390fd5b604051630b135d3f60e11b808252906001600160a01b038a1690631626ba7e90610190908b9087906004016105f9565b602060405180830381865afa1580156101ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101d19190610633565b6001600160e01b03191614945050505050610405565b6001600160a01b0384163b1561027a57604051630b135d3f60e11b808252906001600160a01b03861690631626ba7e9061022790879087906004016105f9565b602060405180830381865afa158015610244573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102689190610633565b6001600160e01b031916149050610405565b81516041146102df5760405162461bcd60e51b815260206004820152603a602482015260008051602061067483398151915260448201527f3a20696e76616c6964207369676e6174757265206c656e6774680000000000006064820152608401610157565b6102e7610425565b5060208201516040808401518451859392600091859190811061030c5761030c61065d565b016020015160f81c9050601b811480159061032b57508060ff16601c14155b1561038c5760405162461bcd60e51b815260206004820152603b602482015260008051602061067483398151915260448201527f3a20696e76616c6964207369676e617475726520762076616c756500000000006064820152608401610157565b60408051600081526020810180835289905260ff83169181019190915260608101849052608081018390526001600160a01b0389169060019060a0016020604051602081039080840390855afa1580156103ea573d6000803e3d6000fd5b505050602060405103516001600160a01b0316149450505050505b9392505050565b600060208251101561041d57600080fd5b508051015190565b60405180606001604052806003906020820280368337509192915050565b6001600160a01b038116811461045857600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561048c578181015183820152602001610474565b50506000910152565b600082601f8301126104a657600080fd5b81516001600160401b038111156104bf576104bf61045b565b604051601f8201601f19908116603f011681016001600160401b03811182821017156104ed576104ed61045b565b60405281815283820160200185101561050557600080fd5b610516826020830160208701610471565b949350505050565b60008060006060848603121561053357600080fd5b835161053e81610443565b6020850151604086015191945092506001600160401b0381111561056157600080fd5b61056d86828701610495565b9150509250925092565b60008060006060848603121561058c57600080fd5b835161059781610443565b60208501519093506001600160401b038111156105b357600080fd5b6105bf86828701610495565b604086015190935090506001600160401b0381111561056157600080fd5b600082516105ef818460208701610471565b9190910192915050565b828152604060208201526000825180604084015261061e816060850160208701610471565b601f01601f1916919091016060019392505050565b60006020828403121561064557600080fd5b81516001600160e01b03198116811461040557600080fd5b634e487b7160e01b600052603260045260246000fdfe5369676e617475726556616c696461746f72237265636f7665725369676e6572",Wh="0x608060405234801561001057600080fd5b506115b9806100206000396000f3fe6080604052600436106100f35760003560e01c80634d2301cc1161008a578063a8b0574e11610059578063a8b0574e14610325578063bce38bd714610350578063c3077fa914610380578063ee82ac5e146103b2576100f3565b80634d2301cc1461026257806372425d9d1461029f57806382ad56cb146102ca57806386d516e8146102fa576100f3565b80633408e470116100c65780633408e470146101af578063399542e9146101da5780633e64a6961461020c57806342cbb15c14610237576100f3565b80630f28c97d146100f8578063174dea7114610123578063252dba421461015357806327e86d6e14610184575b600080fd5b34801561010457600080fd5b5061010d6103ef565b60405161011a9190610c0a565b60405180910390f35b61013d60048036038101906101389190610c94565b6103f7565b60405161014a9190610e94565b60405180910390f35b61016d60048036038101906101689190610f0c565b610615565b60405161017b92919061101b565b60405180910390f35b34801561019057600080fd5b506101996107ab565b6040516101a69190611064565b60405180910390f35b3480156101bb57600080fd5b506101c46107b7565b6040516101d19190610c0a565b60405180910390f35b6101f460048036038101906101ef91906110ab565b6107bf565b6040516102039392919061110b565b60405180910390f35b34801561021857600080fd5b506102216107e1565b60405161022e9190610c0a565b60405180910390f35b34801561024357600080fd5b5061024c6107e9565b6040516102599190610c0a565b60405180910390f35b34801561026e57600080fd5b50610289600480360381019061028491906111a7565b6107f1565b6040516102969190610c0a565b60405180910390f35b3480156102ab57600080fd5b506102b4610812565b6040516102c19190610c0a565b60405180910390f35b6102e460048036038101906102df919061122a565b61081a565b6040516102f19190610e94565b60405180910390f35b34801561030657600080fd5b5061030f6109e4565b60405161031c9190610c0a565b60405180910390f35b34801561033157600080fd5b5061033a6109ec565b6040516103479190611286565b60405180910390f35b61036a600480360381019061036591906110ab565b6109f4565b6040516103779190610e94565b60405180910390f35b61039a60048036038101906103959190610f0c565b610ba6565b6040516103a99392919061110b565b60405180910390f35b3480156103be57600080fd5b506103d960048036038101906103d491906112cd565b610bca565b6040516103e69190611064565b60405180910390f35b600042905090565b60606000808484905090508067ffffffffffffffff81111561041c5761041b6112fa565b5b60405190808252806020026020018201604052801561045557816020015b610442610bd5565b81526020019060019003908161043a5790505b5092503660005b828110156105c957600085828151811061047957610478611329565b5b6020026020010151905087878381811061049657610495611329565b5b90506020028101906104a89190611367565b925060008360400135905080860195508360000160208101906104cb91906111a7565b73ffffffffffffffffffffffffffffffffffffffff16818580606001906104f2919061138f565b604051610500929190611431565b60006040518083038185875af1925050503d806000811461053d576040519150601f19603f3d011682016040523d82523d6000602084013e610542565b606091505b5083600001846020018290528215151515815250505081516020850135176105bc577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260846000fd5b826001019250505061045c565b5082341461060c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610603906114a7565b60405180910390fd5b50505092915050565b6000606043915060008484905090508067ffffffffffffffff81111561063e5761063d6112fa565b5b60405190808252806020026020018201604052801561067157816020015b606081526020019060019003908161065c5790505b5091503660005b828110156107a157600087878381811061069557610694611329565b5b90506020028101906106a791906114c7565b92508260000160208101906106bc91906111a7565b73ffffffffffffffffffffffffffffffffffffffff168380602001906106e2919061138f565b6040516106f0929190611431565b6000604051808303816000865af19150503d806000811461072d576040519150601f19603f3d011682016040523d82523d6000602084013e610732565b606091505b5086848151811061074657610745611329565b5b60200260200101819052819250505080610795576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161078c9061153b565b60405180910390fd5b81600101915050610678565b5050509250929050565b60006001430340905090565b600046905090565b6000806060439250434091506107d68686866109f4565b905093509350939050565b600048905090565b600043905090565b60008173ffffffffffffffffffffffffffffffffffffffff16319050919050565b600044905090565b606060008383905090508067ffffffffffffffff81111561083e5761083d6112fa565b5b60405190808252806020026020018201604052801561087757816020015b610864610bd5565b81526020019060019003908161085c5790505b5091503660005b828110156109db57600084828151811061089b5761089a611329565b5b602002602001015190508686838181106108b8576108b7611329565b5b90506020028101906108ca919061155b565b92508260000160208101906108df91906111a7565b73ffffffffffffffffffffffffffffffffffffffff16838060400190610905919061138f565b604051610913929190611431565b6000604051808303816000865af19150503d8060008114610950576040519150601f19603f3d011682016040523d82523d6000602084013e610955565b606091505b5082600001836020018290528215151515815250505080516020840135176109cf577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260646000fd5b8160010191505061087e565b50505092915050565b600045905090565b600041905090565b606060008383905090508067ffffffffffffffff811115610a1857610a176112fa565b5b604051908082528060200260200182016040528015610a5157816020015b610a3e610bd5565b815260200190600190039081610a365790505b5091503660005b82811015610b9c576000848281518110610a7557610a74611329565b5b60200260200101519050868683818110610a9257610a91611329565b5b9050602002810190610aa491906114c7565b9250826000016020810190610ab991906111a7565b73ffffffffffffffffffffffffffffffffffffffff16838060200190610adf919061138f565b604051610aed929190611431565b6000604051808303816000865af19150503d8060008114610b2a576040519150601f19603f3d011682016040523d82523d6000602084013e610b2f565b606091505b508260000183602001829052821515151581525050508715610b90578060000151610b8f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b869061153b565b60405180910390fd5b5b81600101915050610a58565b5050509392505050565b6000806060610bb7600186866107bf565b8093508194508295505050509250925092565b600081409050919050565b6040518060400160405280600015158152602001606081525090565b6000819050919050565b610c0481610bf1565b82525050565b6000602082019050610c1f6000830184610bfb565b92915050565b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b60008083601f840112610c5457610c53610c2f565b5b8235905067ffffffffffffffff811115610c7157610c70610c34565b5b602083019150836020820283011115610c8d57610c8c610c39565b5b9250929050565b60008060208385031215610cab57610caa610c25565b5b600083013567ffffffffffffffff811115610cc957610cc8610c2a565b5b610cd585828601610c3e565b92509250509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b60008115159050919050565b610d2281610d0d565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610d62578082015181840152602081019050610d47565b83811115610d71576000848401525b50505050565b6000601f19601f8301169050919050565b6000610d9382610d28565b610d9d8185610d33565b9350610dad818560208601610d44565b610db681610d77565b840191505092915050565b6000604083016000830151610dd96000860182610d19565b5060208301518482036020860152610df18282610d88565b9150508091505092915050565b6000610e0a8383610dc1565b905092915050565b6000602082019050919050565b6000610e2a82610ce1565b610e348185610cec565b935083602082028501610e4685610cfd565b8060005b85811015610e825784840389528151610e638582610dfe565b9450610e6e83610e12565b925060208a01995050600181019050610e4a565b50829750879550505050505092915050565b60006020820190508181036000830152610eae8184610e1f565b905092915050565b60008083601f840112610ecc57610ecb610c2f565b5b8235905067ffffffffffffffff811115610ee957610ee8610c34565b5b602083019150836020820283011115610f0557610f04610c39565b5b9250929050565b60008060208385031215610f2357610f22610c25565b5b600083013567ffffffffffffffff811115610f4157610f40610c2a565b5b610f4d85828601610eb6565b92509250509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6000610f918383610d88565b905092915050565b6000602082019050919050565b6000610fb182610f59565b610fbb8185610f64565b935083602082028501610fcd85610f75565b8060005b858110156110095784840389528151610fea8582610f85565b9450610ff583610f99565b925060208a01995050600181019050610fd1565b50829750879550505050505092915050565b60006040820190506110306000830185610bfb565b81810360208301526110428184610fa6565b90509392505050565b6000819050919050565b61105e8161104b565b82525050565b60006020820190506110796000830184611055565b92915050565b61108881610d0d565b811461109357600080fd5b50565b6000813590506110a58161107f565b92915050565b6000806000604084860312156110c4576110c3610c25565b5b60006110d286828701611096565b935050602084013567ffffffffffffffff8111156110f3576110f2610c2a565b5b6110ff86828701610eb6565b92509250509250925092565b60006060820190506111206000830186610bfb565b61112d6020830185611055565b818103604083015261113f8184610e1f565b9050949350505050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061117482611149565b9050919050565b61118481611169565b811461118f57600080fd5b50565b6000813590506111a18161117b565b92915050565b6000602082840312156111bd576111bc610c25565b5b60006111cb84828501611192565b91505092915050565b60008083601f8401126111ea576111e9610c2f565b5b8235905067ffffffffffffffff81111561120757611206610c34565b5b60208301915083602082028301111561122357611222610c39565b5b9250929050565b6000806020838503121561124157611240610c25565b5b600083013567ffffffffffffffff81111561125f5761125e610c2a565b5b61126b858286016111d4565b92509250509250929050565b61128081611169565b82525050565b600060208201905061129b6000830184611277565b92915050565b6112aa81610bf1565b81146112b557600080fd5b50565b6000813590506112c7816112a1565b92915050565b6000602082840312156112e3576112e2610c25565b5b60006112f1848285016112b8565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600080fd5b600080fd5b600080fd5b60008235600160800383360303811261138357611382611358565b5b80830191505092915050565b600080833560016020038436030381126113ac576113ab611358565b5b80840192508235915067ffffffffffffffff8211156113ce576113cd61135d565b5b6020830192506001820236038313156113ea576113e9611362565b5b509250929050565b600081905092915050565b82818337600083830152505050565b600061141883856113f2565b93506114258385846113fd565b82840190509392505050565b600061143e82848661140c565b91508190509392505050565b600082825260208201905092915050565b7f4d756c746963616c6c333a2076616c7565206d69736d61746368000000000000600082015250565b6000611491601a8361144a565b915061149c8261145b565b602082019050919050565b600060208201905081810360008301526114c081611484565b9050919050565b6000823560016040038336030381126114e3576114e2611358565b5b80830191505092915050565b7f4d756c746963616c6c333a2063616c6c206661696c6564000000000000000000600082015250565b600061152560178361144a565b9150611530826114ef565b602082019050919050565b6000602082019050818103600083015261155481611518565b9050919050565b60008235600160600383360303811261157757611576611358565b5b8083019150509291505056fea264697066735822122020c1bc9aacf8e4a6507193432a895a8e77094f45a1395583f07b24e860ef06cd64736f6c634300080c0033";class wd extends G{constructor({blockNumber:e,chain:r,contract:n}){super(`Chain "${r.name}" does not support contract "${n.name}".`,{metaMessages:["This could be due to any of the following:",...e&&n.blockCreated&&n.blockCreated>e?[`- The contract "${n.name}" was not deployed until block ${n.blockCreated} (current block ${e}).`]:[`- The chain does not have the contract "${n.name}" configured.`]],name:"ChainDoesNotSupportContract"})}}class WS extends G{constructor({chain:e,currentChainId:r}){super(`The current chain of the wallet (id: ${r}) does not match the target chain for the transaction (id: ${e.id} – ${e.name}).`,{metaMessages:[`Current Chain ID: ${r}`,`Expected Chain ID: ${e.id} – ${e.name}`],name:"ChainMismatchError"})}}class KS extends G{constructor(){super(["No chain was provided to the request.","Please provide a chain with the `chain` argument on the Action, or by supplying a `chain` to WalletClient."].join(`
67
- `),{name:"ChainNotFoundError"})}}class A1 extends G{constructor(){super("No chain was provided to the Client.",{name:"ClientChainNotConfiguredError"})}}class vu extends G{constructor({chainId:e}){super(typeof e=="number"?`Chain ID "${e}" is invalid.`:"Chain ID is invalid.",{name:"InvalidChainIdError"})}}const ff="/docs/contract/encodeDeployData";function Eu(t){const{abi:e,args:r,bytecode:n}=t;if(!r||r.length===0)return n;const s=e.find(a=>"type"in a&&a.type==="constructor");if(!s)throw new KE({docsPath:ff});if(!("inputs"in s))throw new bp({docsPath:ff});if(!s.inputs||s.inputs.length===0)throw new bp({docsPath:ff});const i=vs(s.inputs,r);return jr([n,i])}function na({blockNumber:t,chain:e,contract:r}){var s;const n=(s=e==null?void 0:e.contracts)==null?void 0:s[r];if(!n)throw new wd({chain:e,contract:{name:r}});if(t&&n.blockCreated&&n.blockCreated>t)throw new wd({blockNumber:t,chain:e,contract:{name:r,blockCreated:n.blockCreated}});return n.address}function S1(t,{docsPath:e,...r}){const n=(()=>{const s=pu(t,r);return s instanceof Bo?t:s})();return new $g(n,{docsPath:e,...r})}function Kh(){let t=()=>{},e=()=>{};return{promise:new Promise((n,s)=>{t=n,e=s}),resolve:t,reject:e}}const lf=new Map;function x1({fn:t,id:e,shouldSplitBatch:r,wait:n=0,sort:s}){const i=async()=>{const f=c();a();const l=f.map(({args:p})=>p);l.length!==0&&t(l).then(p=>{s&&Array.isArray(p)&&p.sort(s);for(let d=0;d<f.length;d++){const{resolve:b}=f[d];b==null||b([p[d],p])}}).catch(p=>{for(let d=0;d<f.length;d++){const{reject:b}=f[d];b==null||b(p)}})},a=()=>lf.delete(e),o=()=>c().map(({args:f})=>f),c=()=>lf.get(e)||[],u=f=>lf.set(e,[...c(),f]);return{flush:a,async schedule(f){const{promise:l,resolve:p,reject:d}=Kh();return(r==null?void 0:r([...o(),f]))&&i(),c().length>0?(u({args:f,resolve:p,reject:d}),l):(u({args:f,resolve:p,reject:d}),setTimeout(i,n),l)}}}async function Mo(t,e){var V,Q,U,K;const{account:r=t.account,authorizationList:n,batch:s=!!((V=t.batch)!=null&&V.multicall),blockNumber:i,blockTag:a=t.experimental_blockTag??"latest",accessList:o,blobs:c,blockOverrides:u,code:f,data:l,factory:p,factoryData:d,gas:b,gasPrice:g,maxFeePerBlobGas:A,maxFeePerGas:S,maxPriorityFeePerGas:T,nonce:v,to:w,value:x,stateOverride:_,...I}=e,N=r?Le(r):void 0;if(f&&(p||d))throw new G("Cannot provide both `code` & `factory`/`factoryData` as parameters.");if(f&&w)throw new G("Cannot provide both `code` & `to` as parameters.");const C=f&&l,j=p&&d&&w&&l,M=C||j,H=C?k1({code:f,data:l}):j?JS({data:l,factory:p,factoryData:d,to:w}):l;try{jn(e);const q=(typeof i=="bigint"?Y(i):void 0)||a,O=u?b1(u):void 0,L=Ph(_),J=(K=(U=(Q=t.chain)==null?void 0:Q.formatters)==null?void 0:U.transactionRequest)==null?void 0:K.format,F=(J||Es)({...ta(I,{format:J}),accessList:o,account:N,authorizationList:n,blobs:c,data:H,gas:b,gasPrice:g,maxFeePerBlobGas:A,maxFeePerGas:S,maxPriorityFeePerGas:T,nonce:v,to:M?void 0:w,value:x},"call");if(s&&XS({request:F})&&!L&&!O)try{return await YS(t,{...F,blockNumber:i,blockTag:a})}catch(ae){if(!(ae instanceof A1)&&!(ae instanceof wd))throw ae}const D=(()=>{const ae=[F,q];return L&&O?[...ae,L,O]:L?[...ae,L]:O?[...ae,{},O]:ae})(),ne=await t.request({method:"eth_call",params:D});return ne==="0x"?{data:void 0}:{data:ne}}catch(ee){const q=ZS(ee),{offchainLookup:O,offchainLookupSignature:L}=await Promise.resolve().then(()=>require("./ccip-CoK_g_s0.cjs"));if(t.ccipRead!==!1&&(q==null?void 0:q.slice(0,10))===L&&w)return{data:await O(t,{data:q,to:w})};throw M&&(q==null?void 0:q.slice(0,10))==="0x101bb98d"?new B8({factory:p}):S1(ee,{...e,account:N,chain:t.chain})}}function XS({request:t}){const{data:e,to:r,...n}=t;return!(!e||e.startsWith(VS)||!r||Object.values(n).filter(s=>typeof s<"u").length>0)}async function YS(t,e){var g;const{batchSize:r=1024,deployless:n=!1,wait:s=0}=typeof((g=t.batch)==null?void 0:g.multicall)=="object"?t.batch.multicall:{},{blockNumber:i,blockTag:a=t.experimental_blockTag??"latest",data:o,to:c}=e,u=(()=>{if(n)return null;if(e.multicallAddress)return e.multicallAddress;if(t.chain)return na({blockNumber:i,chain:t.chain,contract:"multicall3"});throw new A1})(),l=(typeof i=="bigint"?Y(i):void 0)||a,{schedule:p}=x1({id:`${t.uid}.${l}`,wait:s,shouldSplitBatch(A){return A.reduce((T,{data:v})=>T+(v.length-2),0)>r*2},fn:async A=>{const S=A.map(w=>({allowFailure:!0,callData:w.data,target:w.to})),T=or({abi:Fc,args:[S],functionName:"aggregate3"}),v=await t.request({method:"eth_call",params:[{...u===null?{data:k1({code:Wh,data:T})}:{to:u,data:T}},l]});return ci({abi:Fc,args:[S],functionName:"aggregate3",data:v||"0x"})}}),[{returnData:d,success:b}]=await p({data:o,to:c});if(!b)throw new du({data:d});return d==="0x"?{data:void 0}:{data:d}}function k1(t){const{code:e,data:r}=t;return Eu({abi:eg(["constructor(bytes, bytes)"]),bytecode:E1,args:[e,r]})}function JS(t){const{data:e,factory:r,factoryData:n,to:s}=t;return Eu({abi:eg(["constructor(address, bytes, address, bytes)"]),bytecode:GS,args:[s,e,r,n]})}function ZS(t){var r;if(!(t instanceof G))return;const e=t.walk();return typeof(e==null?void 0:e.data)=="object"?(r=e.data)==null?void 0:r.data:e.data}async function wr(t,e){const{abi:r,address:n,args:s,functionName:i,...a}=e,o=or({abi:r,args:s,functionName:i});try{const{data:c}=await re(t,Mo,"call")({...a,data:o,to:n});return ci({abi:r,args:s,functionName:i,data:c||"0x"})}catch(c){throw Ys(c,{abi:r,address:n,args:s,docsPath:"/docs/contract/readContract",functionName:i})}}async function T1(t,e){const{abi:r,address:n,args:s,dataSuffix:i,functionName:a,...o}=e,c=o.account?Le(o.account):t.account,u=or({abi:r,args:s,functionName:a});try{const{data:f}=await re(t,Mo,"call")({batch:!1,data:`${u}${i?i.replace("0x",""):""}`,to:n,...o,account:c}),l=ci({abi:r,args:s,functionName:a,data:f||"0x"}),p=r.filter(d=>"name"in d&&d.name===e.functionName);return{result:l,request:{abi:p,address:n,args:s,dataSuffix:i,functionName:a,...o,account:c}}}catch(f){throw Ys(f,{abi:r,address:n,args:s,docsPath:"/docs/contract/simulateContract",functionName:a,sender:c==null?void 0:c.address})}}const df=new Map,Wp=new Map;let QS=0;function Fn(t,e,r){const n=++QS,s=()=>df.get(t)||[],i=()=>{const f=s();df.set(t,f.filter(l=>l.id!==n))},a=()=>{const f=s();if(!f.some(p=>p.id===n))return;const l=Wp.get(t);if(f.length===1&&l){const p=l();p instanceof Promise&&p.catch(()=>{})}i()},o=s();if(df.set(t,[...o,{id:n,fns:e}]),o&&o.length>0)return a;const c={};for(const f in e)c[f]=(...l)=>{var d,b;const p=s();if(p.length!==0)for(const g of p)(b=(d=g.fns)[f])==null||b.call(d,...l)};const u=r(c);return typeof u=="function"&&Wp.set(t,u),a}async function vd(t){return new Promise(e=>setTimeout(e,t))}function sa(t,{emitOnBegin:e,initialWaitTime:r,interval:n}){let s=!0;const i=()=>s=!1;return(async()=>{let o;e&&(o=await t({unpoll:i}));const c=await(r==null?void 0:r(o))??n;await vd(c);const u=async()=>{s&&(await t({unpoll:i}),await vd(n),u())};u()})(),i}const ex=new Map,tx=new Map;function rx(t){const e=(s,i)=>({clear:()=>i.delete(s),get:()=>i.get(s),set:a=>i.set(s,a)}),r=e(t,ex),n=e(t,tx);return{clear:()=>{r.clear(),n.clear()},promise:r,response:n}}async function nx(t,{cacheKey:e,cacheTime:r=Number.POSITIVE_INFINITY}){const n=rx(e),s=n.response.get();if(s&&r>0&&Date.now()-s.created.getTime()<r)return s.data;let i=n.promise.get();i||(i=t(),n.promise.set(i));try{const a=await i;return n.response.set({created:new Date,data:a}),a}finally{n.promise.clear()}}const sx=t=>`blockNumber.${t}`;async function $o(t,{cacheTime:e=t.cacheTime}={}){const r=await nx(()=>t.request({method:"eth_blockNumber"}),{cacheKey:sx(t.uid),cacheTime:e});return BigInt(r)}async function Au(t,{filter:e}){const r="strict"in e&&e.strict,n=await e.request({method:"eth_getFilterChanges",params:[e.id]});if(typeof n[0]=="string")return n;const s=n.map(i=>Un(i));return!("abi"in e)||!e.abi?s:Hh({abi:e.abi,logs:s,strict:r})}async function Su(t,{filter:e}){return e.request({method:"eth_uninstallFilter",params:[e.id]})}function _1(t,e){const{abi:r,address:n,args:s,batch:i=!0,eventName:a,fromBlock:o,onError:c,onLogs:u,poll:f,pollingInterval:l=t.pollingInterval,strict:p}=e;return(typeof f<"u"?f:typeof o=="bigint"?!0:!(t.transport.type==="webSocket"||t.transport.type==="ipc"||t.transport.type==="fallback"&&(t.transport.transports[0].config.type==="webSocket"||t.transport.transports[0].config.type==="ipc")))?(()=>{const A=p??!1,S=et(["watchContractEvent",n,s,i,t.uid,a,l,A,o]);return Fn(S,{onLogs:u,onError:c},T=>{let v;o!==void 0&&(v=o-1n);let w,x=!1;const _=sa(async()=>{var I;if(!x){try{w=await re(t,xh,"createContractEventFilter")({abi:r,address:n,args:s,eventName:a,strict:A,fromBlock:o})}catch{}x=!0;return}try{let N;if(w)N=await re(t,Au,"getFilterChanges")({filter:w});else{const C=await re(t,$o,"getBlockNumber")({});v&&v<C?N=await re(t,Dh,"getContractEvents")({abi:r,address:n,args:s,eventName:a,fromBlock:v+1n,toBlock:C,strict:A}):N=[],v=C}if(N.length===0)return;if(i)T.onLogs(N);else for(const C of N)T.onLogs([C])}catch(N){w&&N instanceof ms&&(x=!1),(I=T.onError)==null||I.call(T,N)}},{emitOnBegin:!0,interval:l});return async()=>{w&&await re(t,Su,"uninstallFilter")({filter:w}),_()}})})():(()=>{const A=p??!1,S=et(["watchContractEvent",n,s,i,t.uid,a,l,A]);let T=!0,v=()=>T=!1;return Fn(S,{onLogs:u,onError:c},w=>((async()=>{try{const x=(()=>{if(t.transport.type==="fallback"){const N=t.transport.transports.find(C=>C.config.type==="webSocket"||C.config.type==="ipc");return N?N.value:t.transport}return t.transport})(),_=a?Io({abi:r,eventName:a,args:s}):[],{unsubscribe:I}=await x.subscribe({params:["logs",{address:n,topics:_}],onData(N){var j;if(!T)return;const C=N.result;try{const{eventName:M,args:H}=Rc({abi:r,data:C.data,topics:C.topics,strict:p}),V=Un(C,{args:H,eventName:M});w.onLogs([V])}catch(M){let H,V;if(M instanceof Cc||M instanceof mh){if(p)return;H=M.abiItem.name,V=(j=M.abiItem.inputs)==null?void 0:j.some(U=>!("name"in U&&U.name))}const Q=Un(C,{args:V?[]:{},eventName:H});w.onLogs([Q])}},onError(N){var C;(C=w.onError)==null||C.call(w,N)}});v=I,T||v()}catch(x){c==null||c(x)}})(),()=>v()))})()}class Ss extends G{constructor({docsPath:e}={}){super(["Could not find an Account to execute with this Action.","Please provide an Account with the `account` argument on the Action, or by supplying an `account` to the Client."].join(`
67
+ `),{name:"ChainNotFoundError"})}}class A1 extends G{constructor(){super("No chain was provided to the Client.",{name:"ClientChainNotConfiguredError"})}}class vu extends G{constructor({chainId:e}){super(typeof e=="number"?`Chain ID "${e}" is invalid.`:"Chain ID is invalid.",{name:"InvalidChainIdError"})}}const ff="/docs/contract/encodeDeployData";function Eu(t){const{abi:e,args:r,bytecode:n}=t;if(!r||r.length===0)return n;const s=e.find(a=>"type"in a&&a.type==="constructor");if(!s)throw new KE({docsPath:ff});if(!("inputs"in s))throw new bp({docsPath:ff});if(!s.inputs||s.inputs.length===0)throw new bp({docsPath:ff});const i=vs(s.inputs,r);return jr([n,i])}function na({blockNumber:t,chain:e,contract:r}){var s;const n=(s=e==null?void 0:e.contracts)==null?void 0:s[r];if(!n)throw new wd({chain:e,contract:{name:r}});if(t&&n.blockCreated&&n.blockCreated>t)throw new wd({blockNumber:t,chain:e,contract:{name:r,blockCreated:n.blockCreated}});return n.address}function S1(t,{docsPath:e,...r}){const n=(()=>{const s=pu(t,r);return s instanceof Bo?t:s})();return new $g(n,{docsPath:e,...r})}function Kh(){let t=()=>{},e=()=>{};return{promise:new Promise((n,s)=>{t=n,e=s}),resolve:t,reject:e}}const lf=new Map;function x1({fn:t,id:e,shouldSplitBatch:r,wait:n=0,sort:s}){const i=async()=>{const f=c();a();const l=f.map(({args:p})=>p);l.length!==0&&t(l).then(p=>{s&&Array.isArray(p)&&p.sort(s);for(let d=0;d<f.length;d++){const{resolve:b}=f[d];b==null||b([p[d],p])}}).catch(p=>{for(let d=0;d<f.length;d++){const{reject:b}=f[d];b==null||b(p)}})},a=()=>lf.delete(e),o=()=>c().map(({args:f})=>f),c=()=>lf.get(e)||[],u=f=>lf.set(e,[...c(),f]);return{flush:a,async schedule(f){const{promise:l,resolve:p,reject:d}=Kh();return(r==null?void 0:r([...o(),f]))&&i(),c().length>0?(u({args:f,resolve:p,reject:d}),l):(u({args:f,resolve:p,reject:d}),setTimeout(i,n),l)}}}async function Mo(t,e){var V,Q,U,K;const{account:r=t.account,authorizationList:n,batch:s=!!((V=t.batch)!=null&&V.multicall),blockNumber:i,blockTag:a=t.experimental_blockTag??"latest",accessList:o,blobs:c,blockOverrides:u,code:f,data:l,factory:p,factoryData:d,gas:b,gasPrice:g,maxFeePerBlobGas:A,maxFeePerGas:S,maxPriorityFeePerGas:T,nonce:v,to:w,value:x,stateOverride:_,...I}=e,N=r?Le(r):void 0;if(f&&(p||d))throw new G("Cannot provide both `code` & `factory`/`factoryData` as parameters.");if(f&&w)throw new G("Cannot provide both `code` & `to` as parameters.");const C=f&&l,j=p&&d&&w&&l,M=C||j,H=C?k1({code:f,data:l}):j?JS({data:l,factory:p,factoryData:d,to:w}):l;try{jn(e);const q=(typeof i=="bigint"?Y(i):void 0)||a,O=u?b1(u):void 0,L=Ph(_),J=(K=(U=(Q=t.chain)==null?void 0:Q.formatters)==null?void 0:U.transactionRequest)==null?void 0:K.format,F=(J||Es)({...ta(I,{format:J}),accessList:o,account:N,authorizationList:n,blobs:c,data:H,gas:b,gasPrice:g,maxFeePerBlobGas:A,maxFeePerGas:S,maxPriorityFeePerGas:T,nonce:v,to:M?void 0:w,value:x},"call");if(s&&XS({request:F})&&!L&&!O)try{return await YS(t,{...F,blockNumber:i,blockTag:a})}catch(ae){if(!(ae instanceof A1)&&!(ae instanceof wd))throw ae}const D=(()=>{const ae=[F,q];return L&&O?[...ae,L,O]:L?[...ae,L]:O?[...ae,{},O]:ae})(),ne=await t.request({method:"eth_call",params:D});return ne==="0x"?{data:void 0}:{data:ne}}catch(ee){const q=ZS(ee),{offchainLookup:O,offchainLookupSignature:L}=await Promise.resolve().then(()=>require("./ccip-BvKEJ2rq.cjs"));if(t.ccipRead!==!1&&(q==null?void 0:q.slice(0,10))===L&&w)return{data:await O(t,{data:q,to:w})};throw M&&(q==null?void 0:q.slice(0,10))==="0x101bb98d"?new B8({factory:p}):S1(ee,{...e,account:N,chain:t.chain})}}function XS({request:t}){const{data:e,to:r,...n}=t;return!(!e||e.startsWith(VS)||!r||Object.values(n).filter(s=>typeof s<"u").length>0)}async function YS(t,e){var g;const{batchSize:r=1024,deployless:n=!1,wait:s=0}=typeof((g=t.batch)==null?void 0:g.multicall)=="object"?t.batch.multicall:{},{blockNumber:i,blockTag:a=t.experimental_blockTag??"latest",data:o,to:c}=e,u=(()=>{if(n)return null;if(e.multicallAddress)return e.multicallAddress;if(t.chain)return na({blockNumber:i,chain:t.chain,contract:"multicall3"});throw new A1})(),l=(typeof i=="bigint"?Y(i):void 0)||a,{schedule:p}=x1({id:`${t.uid}.${l}`,wait:s,shouldSplitBatch(A){return A.reduce((T,{data:v})=>T+(v.length-2),0)>r*2},fn:async A=>{const S=A.map(w=>({allowFailure:!0,callData:w.data,target:w.to})),T=or({abi:Fc,args:[S],functionName:"aggregate3"}),v=await t.request({method:"eth_call",params:[{...u===null?{data:k1({code:Wh,data:T})}:{to:u,data:T}},l]});return ci({abi:Fc,args:[S],functionName:"aggregate3",data:v||"0x"})}}),[{returnData:d,success:b}]=await p({data:o,to:c});if(!b)throw new du({data:d});return d==="0x"?{data:void 0}:{data:d}}function k1(t){const{code:e,data:r}=t;return Eu({abi:eg(["constructor(bytes, bytes)"]),bytecode:E1,args:[e,r]})}function JS(t){const{data:e,factory:r,factoryData:n,to:s}=t;return Eu({abi:eg(["constructor(address, bytes, address, bytes)"]),bytecode:GS,args:[s,e,r,n]})}function ZS(t){var r;if(!(t instanceof G))return;const e=t.walk();return typeof(e==null?void 0:e.data)=="object"?(r=e.data)==null?void 0:r.data:e.data}async function wr(t,e){const{abi:r,address:n,args:s,functionName:i,...a}=e,o=or({abi:r,args:s,functionName:i});try{const{data:c}=await re(t,Mo,"call")({...a,data:o,to:n});return ci({abi:r,args:s,functionName:i,data:c||"0x"})}catch(c){throw Ys(c,{abi:r,address:n,args:s,docsPath:"/docs/contract/readContract",functionName:i})}}async function T1(t,e){const{abi:r,address:n,args:s,dataSuffix:i,functionName:a,...o}=e,c=o.account?Le(o.account):t.account,u=or({abi:r,args:s,functionName:a});try{const{data:f}=await re(t,Mo,"call")({batch:!1,data:`${u}${i?i.replace("0x",""):""}`,to:n,...o,account:c}),l=ci({abi:r,args:s,functionName:a,data:f||"0x"}),p=r.filter(d=>"name"in d&&d.name===e.functionName);return{result:l,request:{abi:p,address:n,args:s,dataSuffix:i,functionName:a,...o,account:c}}}catch(f){throw Ys(f,{abi:r,address:n,args:s,docsPath:"/docs/contract/simulateContract",functionName:a,sender:c==null?void 0:c.address})}}const df=new Map,Wp=new Map;let QS=0;function Fn(t,e,r){const n=++QS,s=()=>df.get(t)||[],i=()=>{const f=s();df.set(t,f.filter(l=>l.id!==n))},a=()=>{const f=s();if(!f.some(p=>p.id===n))return;const l=Wp.get(t);if(f.length===1&&l){const p=l();p instanceof Promise&&p.catch(()=>{})}i()},o=s();if(df.set(t,[...o,{id:n,fns:e}]),o&&o.length>0)return a;const c={};for(const f in e)c[f]=(...l)=>{var d,b;const p=s();if(p.length!==0)for(const g of p)(b=(d=g.fns)[f])==null||b.call(d,...l)};const u=r(c);return typeof u=="function"&&Wp.set(t,u),a}async function vd(t){return new Promise(e=>setTimeout(e,t))}function sa(t,{emitOnBegin:e,initialWaitTime:r,interval:n}){let s=!0;const i=()=>s=!1;return(async()=>{let o;e&&(o=await t({unpoll:i}));const c=await(r==null?void 0:r(o))??n;await vd(c);const u=async()=>{s&&(await t({unpoll:i}),await vd(n),u())};u()})(),i}const ex=new Map,tx=new Map;function rx(t){const e=(s,i)=>({clear:()=>i.delete(s),get:()=>i.get(s),set:a=>i.set(s,a)}),r=e(t,ex),n=e(t,tx);return{clear:()=>{r.clear(),n.clear()},promise:r,response:n}}async function nx(t,{cacheKey:e,cacheTime:r=Number.POSITIVE_INFINITY}){const n=rx(e),s=n.response.get();if(s&&r>0&&Date.now()-s.created.getTime()<r)return s.data;let i=n.promise.get();i||(i=t(),n.promise.set(i));try{const a=await i;return n.response.set({created:new Date,data:a}),a}finally{n.promise.clear()}}const sx=t=>`blockNumber.${t}`;async function $o(t,{cacheTime:e=t.cacheTime}={}){const r=await nx(()=>t.request({method:"eth_blockNumber"}),{cacheKey:sx(t.uid),cacheTime:e});return BigInt(r)}async function Au(t,{filter:e}){const r="strict"in e&&e.strict,n=await e.request({method:"eth_getFilterChanges",params:[e.id]});if(typeof n[0]=="string")return n;const s=n.map(i=>Un(i));return!("abi"in e)||!e.abi?s:Hh({abi:e.abi,logs:s,strict:r})}async function Su(t,{filter:e}){return e.request({method:"eth_uninstallFilter",params:[e.id]})}function _1(t,e){const{abi:r,address:n,args:s,batch:i=!0,eventName:a,fromBlock:o,onError:c,onLogs:u,poll:f,pollingInterval:l=t.pollingInterval,strict:p}=e;return(typeof f<"u"?f:typeof o=="bigint"?!0:!(t.transport.type==="webSocket"||t.transport.type==="ipc"||t.transport.type==="fallback"&&(t.transport.transports[0].config.type==="webSocket"||t.transport.transports[0].config.type==="ipc")))?(()=>{const A=p??!1,S=et(["watchContractEvent",n,s,i,t.uid,a,l,A,o]);return Fn(S,{onLogs:u,onError:c},T=>{let v;o!==void 0&&(v=o-1n);let w,x=!1;const _=sa(async()=>{var I;if(!x){try{w=await re(t,xh,"createContractEventFilter")({abi:r,address:n,args:s,eventName:a,strict:A,fromBlock:o})}catch{}x=!0;return}try{let N;if(w)N=await re(t,Au,"getFilterChanges")({filter:w});else{const C=await re(t,$o,"getBlockNumber")({});v&&v<C?N=await re(t,Dh,"getContractEvents")({abi:r,address:n,args:s,eventName:a,fromBlock:v+1n,toBlock:C,strict:A}):N=[],v=C}if(N.length===0)return;if(i)T.onLogs(N);else for(const C of N)T.onLogs([C])}catch(N){w&&N instanceof ms&&(x=!1),(I=T.onError)==null||I.call(T,N)}},{emitOnBegin:!0,interval:l});return async()=>{w&&await re(t,Su,"uninstallFilter")({filter:w}),_()}})})():(()=>{const A=p??!1,S=et(["watchContractEvent",n,s,i,t.uid,a,l,A]);let T=!0,v=()=>T=!1;return Fn(S,{onLogs:u,onError:c},w=>((async()=>{try{const x=(()=>{if(t.transport.type==="fallback"){const N=t.transport.transports.find(C=>C.config.type==="webSocket"||C.config.type==="ipc");return N?N.value:t.transport}return t.transport})(),_=a?Io({abi:r,eventName:a,args:s}):[],{unsubscribe:I}=await x.subscribe({params:["logs",{address:n,topics:_}],onData(N){var j;if(!T)return;const C=N.result;try{const{eventName:M,args:H}=Rc({abi:r,data:C.data,topics:C.topics,strict:p}),V=Un(C,{args:H,eventName:M});w.onLogs([V])}catch(M){let H,V;if(M instanceof Cc||M instanceof mh){if(p)return;H=M.abiItem.name,V=(j=M.abiItem.inputs)==null?void 0:j.some(U=>!("name"in U&&U.name))}const Q=Un(C,{args:V?[]:{},eventName:H});w.onLogs([Q])}},onError(N){var C;(C=w.onError)==null||C.call(w,N)}});v=I,T||v()}catch(x){c==null||c(x)}})(),()=>v()))})()}class Ss extends G{constructor({docsPath:e}={}){super(["Could not find an Account to execute with this Action.","Please provide an Account with the `account` argument on the Action, or by supplying an `account` to the Client."].join(`
68
68
  `),{docsPath:e,docsSlug:"account",name:"AccountNotFoundError"})}}class zs extends G{constructor({docsPath:e,metaMessages:r,type:n}){super(`Account type "${n}" is not supported.`,{docsPath:e,metaMessages:r,name:"AccountTypeNotSupportedError"})}}function Xh({chain:t,currentChainId:e}){if(!t)throw new KS;if(e!==t.id)throw new WS({chain:t,currentChainId:e})}async function Yh(t,{serializedTransaction:e}){return t.request({method:"eth_sendRawTransaction",params:[e]},{retryCount:0})}const hf=new ea(128);async function xu(t,e){var v,w,x,_;const{account:r=t.account,assertChainId:n=!0,chain:s=t.chain,accessList:i,authorizationList:a,blobs:o,data:c,gas:u,gasPrice:f,maxFeePerBlobGas:l,maxFeePerGas:p,maxPriorityFeePerGas:d,nonce:b,type:g,value:A,...S}=e;if(typeof r>"u")throw new Ss({docsPath:"/docs/actions/wallet/sendTransaction"});const T=r?Le(r):null;try{jn(e);const I=await(async()=>{if(e.to)return e.to;if(e.to!==null&&a&&a.length>0)return await hu({authorization:a[0]}).catch(()=>{throw new G("`to` is required. Could not infer from `authorizationList`.")})})();if((T==null?void 0:T.type)==="json-rpc"||T===null){let N;s!==null&&(N=await re(t,As,"getChainId")({}),n&&Xh({currentChainId:N,chain:s}));const C=(x=(w=(v=t.chain)==null?void 0:v.formatters)==null?void 0:w.transactionRequest)==null?void 0:x.format,M=(C||Es)({...ta(S,{format:C}),accessList:i,account:T,authorizationList:a,blobs:o,chainId:N,data:c,gas:u,gasPrice:f,maxFeePerBlobGas:l,maxFeePerGas:p,maxPriorityFeePerGas:d,nonce:b,to:I,type:g,value:A},"sendTransaction"),H=hf.get(t.uid),V=H?"wallet_sendTransaction":"eth_sendTransaction";try{return await t.request({method:V,params:[M]},{retryCount:0})}catch(Q){if(H===!1)throw Q;const U=Q;if(U.name==="InvalidInputRpcError"||U.name==="InvalidParamsRpcError"||U.name==="MethodNotFoundRpcError"||U.name==="MethodNotSupportedRpcError")return await t.request({method:"wallet_sendTransaction",params:[M]},{retryCount:0}).then(K=>(hf.set(t.uid,!0),K)).catch(K=>{const ee=K;throw ee.name==="MethodNotFoundRpcError"||ee.name==="MethodNotSupportedRpcError"?(hf.set(t.uid,!1),U):ee});throw U}}if((T==null?void 0:T.type)==="local"){const N=await re(t,Ro,"prepareTransactionRequest")({account:T,accessList:i,authorizationList:a,blobs:o,chain:s,data:c,gas:u,gasPrice:f,maxFeePerBlobGas:l,maxFeePerGas:p,maxPriorityFeePerGas:d,nonce:b,nonceManager:T.nonceManager,parameters:[...$h,"sidecars"],type:g,value:A,...S,to:I}),C=(_=s==null?void 0:s.serializers)==null?void 0:_.transaction,j=await T.signTransaction(N,{serializer:C});return await re(t,Yh,"sendRawTransaction")({serializedTransaction:j})}throw(T==null?void 0:T.type)==="smart"?new zs({metaMessages:["Consider using the `sendUserOperation` Action instead."],docsPath:"/docs/actions/bundler/sendUserOperation",type:"smart"}):new zs({docsPath:"/docs/actions/wallet/sendTransaction",type:T==null?void 0:T.type})}catch(I){throw I instanceof zs?I:mu(I,{...e,account:T,chain:e.chain||void 0})}}async function Ki(t,e){return Ki.internal(t,xu,"sendTransaction",e)}(function(t){async function e(r,n,s,i){const{abi:a,account:o=r.account,address:c,args:u,dataSuffix:f,functionName:l,...p}=i;if(typeof o>"u")throw new Ss({docsPath:"/docs/contract/writeContract"});const d=o?Le(o):null,b=or({abi:a,args:u,functionName:l});try{return await re(r,n,s)({data:`${b}${f?f.replace("0x",""):""}`,to:c,account:d,...p})}catch(g){throw Ys(g,{abi:a,address:c,args:u,docsPath:"/docs/contract/writeContract",functionName:l,sender:d==null?void 0:d.address})}}t.internal=e})(Ki||(Ki={}));function Jh({abi:t,address:e,client:r}){const n=r,[s,i]=n?"public"in n&&"wallet"in n?[n.public,n.wallet]:"public"in n?[n.public,void 0]:"wallet"in n?[void 0,n.wallet]:[n,n]:[void 0,void 0],a=s!=null,o=i!=null,c={};let u=!1,f=!1,l=!1;for(const p of t)if(p.type==="function"?p.stateMutability==="view"||p.stateMutability==="pure"?u=!0:f=!0:p.type==="event"&&(l=!0),u&&f&&l)break;return a&&(u&&(c.read=new Proxy({},{get(p,d){return(...b)=>{const{args:g,options:A}=ic(b);return re(s,wr,"readContract")({abi:t,address:e,functionName:d,args:g,...A})}}})),f&&(c.simulate=new Proxy({},{get(p,d){return(...b)=>{const{args:g,options:A}=ic(b);return re(s,T1,"simulateContract")({abi:t,address:e,functionName:d,args:g,...A})}}})),l&&(c.createEventFilter=new Proxy({},{get(p,d){return(...b)=>{const g=t.find(T=>T.type==="event"&&T.name===d),{args:A,options:S}=pf(b,g);return re(s,xh,"createContractEventFilter")({abi:t,address:e,eventName:d,args:A,...S})}}}),c.getEvents=new Proxy({},{get(p,d){return(...b)=>{const g=t.find(T=>T.type==="event"&&T.name===d),{args:A,options:S}=pf(b,g);return re(s,Dh,"getContractEvents")({abi:t,address:e,eventName:d,args:A,...S})}}}),c.watchEvent=new Proxy({},{get(p,d){return(...b)=>{const g=t.find(T=>T.type==="event"&&T.name===d),{args:A,options:S}=pf(b,g);return re(s,_1,"watchContractEvent")({abi:t,address:e,eventName:d,args:A,...S})}}}))),o&&f&&(c.write=new Proxy({},{get(p,d){return(...b)=>{const{args:g,options:A}=ic(b);return re(i,Ki,"writeContract")({abi:t,address:e,functionName:d,args:g,...A})}}})),(a||o)&&f&&(c.estimateGas=new Proxy({},{get(p,d){return(...b)=>{const{args:g,options:A}=ic(b);return re(s??i,t1,"estimateContractGas")({abi:t,address:e,functionName:d,args:g,...A,account:A.account??i.account})}}})),c.address=e,c.abi=t,c}function ic(t){const e=t.length&&Array.isArray(t[0]),r=e?t[0]:[],n=(e?t[1]:t[0])??{};return{args:r,options:n}}function pf(t,e){let r=!1;Array.isArray(t[0])?r=!0:t.length===1?r=e.inputs.some(i=>i.indexed):t.length===2&&(r=!0);const n=r?t[0]:void 0,s=(r?t[1]:t[0])??{};return{args:n,options:s}}class ix extends G{constructor(e){super(`Call bundle failed with status: ${e.statusCode}`,{name:"BundleFailedError"}),Object.defineProperty(this,"result",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.result=e}}function Mc(t,{delay:e=100,retryCount:r=2,shouldRetry:n=()=>!0}={}){return new Promise((s,i)=>{const a=async({count:o=0}={})=>{const c=async({error:u})=>{const f=typeof e=="function"?e({count:o,error:u}):e;f&&await vd(f),a({count:o+1})};try{const u=await t();s(u)}catch(u){if(o<r&&await n({count:o,error:u}))return c({error:u});i(u)}};a()})}const I1={"0x0":"reverted","0x1":"success"};function Zh(t,e){const r={...t,blockNumber:t.blockNumber?BigInt(t.blockNumber):null,contractAddress:t.contractAddress?t.contractAddress:null,cumulativeGasUsed:t.cumulativeGasUsed?BigInt(t.cumulativeGasUsed):null,effectiveGasPrice:t.effectiveGasPrice?BigInt(t.effectiveGasPrice):null,gasUsed:t.gasUsed?BigInt(t.gasUsed):null,logs:t.logs?t.logs.map(n=>Un(n)):null,to:t.to?t.to:null,transactionIndex:t.transactionIndex?gr(t.transactionIndex):null,status:t.status?I1[t.status]:null,type:t.type?Gg[t.type]||t.type:null};return t.blobGasPrice&&(r.blobGasPrice=BigInt(t.blobGasPrice)),t.blobGasUsed&&(r.blobGasUsed=BigInt(t.blobGasUsed)),r}const ax=Ih("transactionReceipt",Zh),P1="0x5792579257925792579257925792579257925792579257925792579257925792",O1=Y(0,{size:32});async function B1(t,e){const{account:r=t.account,capabilities:n,chain:s=t.chain,experimental_fallback:i,experimental_fallbackDelay:a=32,forceAtomic:o=!1,id:c,version:u="2.0.0"}=e,f=r?Le(r):null,l=e.calls.map(p=>{const d=p,b=d.abi?or({abi:d.abi,functionName:d.functionName,args:d.args}):d.data;return{data:d.dataSuffix&&b?sr([b,d.dataSuffix]):b,to:d.to,value:d.value?Y(d.value):void 0}});try{const p=await t.request({method:"wallet_sendCalls",params:[{atomicRequired:o,calls:l,capabilities:n,chainId:Y(s.id),from:f==null?void 0:f.address,id:c,version:u}]},{retryCount:0});return typeof p=="string"?{id:p}:p}catch(p){const d=p;if(i&&(d.name==="MethodNotFoundRpcError"||d.name==="MethodNotSupportedRpcError"||d.name==="UnknownRpcError"||d.details.toLowerCase().includes("does not exist / is not available")||d.details.toLowerCase().includes("missing or invalid. request()")||d.details.toLowerCase().includes("did not match any variant of untagged enum")||d.details.toLowerCase().includes("account upgraded to unsupported contract")||d.details.toLowerCase().includes("eip-7702 not supported")||d.details.toLowerCase().includes("unsupported wc_ method")||d.details.toLowerCase().includes("feature toggled misconfigured")||d.details.toLowerCase().includes("jsonrpcengine: response has no error or result for request"))){if(n&&Object.values(n).some(T=>!T.optional)){const T="non-optional `capabilities` are not supported on fallback to `eth_sendTransaction`.";throw new qi(new G(T,{details:T}))}if(o&&l.length>1){const S="`forceAtomic` is not supported on fallback to `eth_sendTransaction`.";throw new Wi(new G(S,{details:S}))}const b=[];for(const S of l){const T=xu(t,{account:f,chain:s,data:S.data,to:S.to,value:S.value?ft(S.value):void 0});b.push(T),a>0&&await new Promise(v=>setTimeout(v,a))}const g=await Promise.allSettled(b);if(g.every(S=>S.status==="rejected"))throw g[0].reason;const A=g.map(S=>S.status==="fulfilled"?S.value:O1);return{id:sr([...A,Y(s.id,{size:32}),P1])}}throw mu(p,{...e,account:f,chain:e.chain})}}async function C1(t,e){async function r(f){if(f.endsWith(P1.slice(2))){const p=br(sd(f,-64,-32)),d=sd(f,0,-64).slice(2).match(/.{1,64}/g),b=await Promise.all(d.map(A=>O1.slice(2)!==A?t.request({method:"eth_getTransactionReceipt",params:[`0x${A}`]},{dedupe:!0}):void 0)),g=b.some(A=>A===null)?100:b.every(A=>(A==null?void 0:A.status)==="0x1")?200:b.every(A=>(A==null?void 0:A.status)==="0x0")?500:600;return{atomic:!1,chainId:gr(p),receipts:b.filter(Boolean),status:g,version:"2.0.0"}}return t.request({method:"wallet_getCallsStatus",params:[f]})}const{atomic:n=!1,chainId:s,receipts:i,version:a="2.0.0",...o}=await r(e.id),[c,u]=(()=>{const f=o.status;return f>=100&&f<200?["pending",f]:f>=200&&f<300?["success",f]:f>=300&&f<700?["failure",f]:f==="CONFIRMED"?["success",200]:f==="PENDING"?["pending",100]:[void 0,f]})();return{...o,atomic:n,chainId:s?gr(s):void 0,receipts:(i==null?void 0:i.map(f=>({...f,blockNumber:ft(f.blockNumber),gasUsed:ft(f.gasUsed),status:I1[f.status]})))??[],statusCode:u,status:c,version:a}}async function R1(t,e){const{id:r,pollingInterval:n=t.pollingInterval,status:s=({statusCode:g})=>g===200||g>=300,retryCount:i=4,retryDelay:a=({count:g})=>~~(1<<g)*200,timeout:o=6e4,throwOnFailure:c=!1}=e,u=et(["waitForCallsStatus",t.uid,r]),{promise:f,resolve:l,reject:p}=Kh();let d;const b=Fn(u,{resolve:l,reject:p},g=>{const A=sa(async()=>{const S=T=>{clearTimeout(d),A(),T(),b()};try{const T=await Mc(async()=>{const v=await re(t,C1,"getCallsStatus")({id:r});if(c&&v.status==="failure")throw new ix(v);return v},{retryCount:i,delay:a});if(!s(T))return;S(()=>g.resolve(T))}catch(T){S(()=>g.reject(T))}},{interval:n,emitOnBegin:!0});return A});return d=o?setTimeout(()=>{b(),clearTimeout(d),p(new ox({id:r}))},o):void 0,await f}class ox extends G{constructor({id:e}){super(`Timed out while waiting for call bundle with id "${e}" to be confirmed.`,{name:"WaitForCallsStatusTimeoutError"})}}const Ed=256;let ac=Ed,oc;function N1(t=11){if(!oc||ac+t>Ed*2){oc="",ac=0;for(let e=0;e<Ed;e++)oc+=(256+Math.random()*256|0).toString(16).substring(1)}return oc.substring(ac,ac+++t)}function U1(t){const{batch:e,chain:r,ccipRead:n,key:s="base",name:i="Base Client",type:a="base"}=t,o=t.experimental_blockTag??(typeof(r==null?void 0:r.experimental_preconfirmationTime)=="number"?"pending":void 0),c=(r==null?void 0:r.blockTime)??12e3,u=Math.min(Math.max(Math.floor(c/2),500),4e3),f=t.pollingInterval??u,l=t.cacheTime??f,p=t.account?Le(t.account):void 0,{config:d,request:b,value:g}=t.transport({account:p,chain:r,pollingInterval:f}),A={...d,...g},S={account:p,batch:e,cacheTime:l,ccipRead:n,chain:r,key:s,name:i,pollingInterval:f,request:b,transport:A,type:a,uid:N1(),...o?{experimental_blockTag:o}:{}};function T(v){return w=>{const x=w(v);for(const I in S)delete x[I];const _={...v,...x};return Object.assign(_,{extend:T(_)})}}return Object.assign(S,{extend:T(S)})}function Qh(t){var r,n,s,i,a,o;if(!(t instanceof G))return!1;const e=t.walk(c=>c instanceof od);return e instanceof od?((r=e.data)==null?void 0:r.errorName)==="HttpError"||((n=e.data)==null?void 0:n.errorName)==="ResolverError"||((s=e.data)==null?void 0:s.errorName)==="ResolverNotContract"||((i=e.data)==null?void 0:i.errorName)==="ResolverNotFound"||((a=e.data)==null?void 0:a.errorName)==="ReverseAddressMismatch"||((o=e.data)==null?void 0:o.errorName)==="UnsupportedResolverProfile":!1}function cx(t){const{abi:e,data:r}=t,n=Ks(r,0,4),s=e.find(i=>i.type==="function"&&n===_o(Rr(i)));if(!s)throw new tA(n,{docsPath:"/docs/contract/decodeFunctionData"});return{functionName:s.name,args:"inputs"in s&&s.inputs&&s.inputs.length>0?Po(s.inputs,Ks(r,4)):void 0}}const yf="/docs/contract/encodeErrorResult";function Kp(t){const{abi:e,errorName:r,args:n}=t;let s=e[0];if(r){const c=oi({abi:e,args:n,name:r});if(!c)throw new gp(r,{docsPath:yf});s=c}if(s.type!=="error")throw new gp(void 0,{docsPath:yf});const i=Rr(s),a=_o(i);let o="0x";if(n&&n.length>0){if(!s.inputs)throw new ZE(s.name,{docsPath:yf});o=vs(s.inputs,n)}return jr([a,o])}const mf="/docs/contract/encodeFunctionResult";function ux(t){const{abi:e,functionName:r,result:n}=t;let s=e[0];if(r){const a=oi({abi:e,name:r});if(!a)throw new zi(r,{docsPath:mf});s=a}if(s.type!=="function")throw new zi(void 0,{docsPath:mf});if(!s.outputs)throw new ig(s.name,{docsPath:mf});const i=(()=>{if(s.outputs.length===0)return[];if(s.outputs.length===1)return[n];if(Array.isArray(n))return n;throw new ag(n)})();return vs(s.outputs,i)}const jo="x-batch-gateway:true";async function F1(t){const{data:e,ccipRequest:r}=t,{args:[n]}=cx({abi:gd,data:e}),s=[],i=[];return await Promise.all(n.map(async(a,o)=>{try{i[o]=a.urls.includes(jo)?await F1({data:a.data,ccipRequest:r}):await r(a),s[o]=!1}catch(c){s[o]=!0,i[o]=fx(c)}})),ux({abi:gd,functionName:"query",result:[s,i]})}function fx(t){return t.name==="HttpRequestError"&&t.status?Kp({abi:gd,errorName:"HttpError",args:[t.status,t.shortMessage]}):Kp({abi:[Og],errorName:"Error",args:["shortMessage"in t?t.shortMessage:t.message]})}function M1(t){if(t.length!==66||t.indexOf("[")!==0||t.indexOf("]")!==65)return null;const e=`0x${t.slice(1,65)}`;return Nr(e)?e:null}function Ad(t){let e=new Uint8Array(32).fill(0);if(!t)return tt(e);const r=t.split(".");for(let n=r.length-1;n>=0;n-=1){const s=M1(r[n]),i=s?Qi(s):mt(Ls(r[n]),"bytes");e=mt(sr([e,i]),"bytes")}return tt(e)}function lx(t){return`[${t.slice(2)}]`}function dx(t){const e=new Uint8Array(32).fill(0);return t?M1(t)||mt(Ls(t)):tt(e)}function e0(t){const e=t.replace(/^\.|\.$/gm,"");if(e.length===0)return new Uint8Array(1);const r=new Uint8Array(Ls(e).byteLength+2);let n=0;const s=e.split(".");for(let i=0;i<s.length;i++){let a=Ls(s[i]);a.byteLength>255&&(a=Ls(lx(dx(s[i])))),r[n]=a.length,r.set(a,n+1),n+=a.length+1}return r.byteLength!==n+1?r.slice(0,n+1):r}async function hx(t,e){const{blockNumber:r,blockTag:n,coinType:s,name:i,gatewayUrls:a,strict:o}=e,{chain:c}=t,u=(()=>{if(e.universalResolverAddress)return e.universalResolverAddress;if(!c)throw new Error("client chain not configured. universalResolverAddress is required.");return na({blockNumber:r,chain:c,contract:"ensUniversalResolver"})})(),f=c==null?void 0:c.ensTlds;if(f&&!f.some(p=>i.endsWith(p)))return null;const l=s!=null?[Ad(i),BigInt(s)]:[Ad(i)];try{const p=or({abi:Gp,functionName:"addr",args:l}),d={address:u,abi:w1,functionName:"resolveWithGateways",args:[Ft(e0(i)),p,a??[jo]],blockNumber:r,blockTag:n},g=await re(t,wr,"readContract")(d);if(g[0]==="0x")return null;const A=ci({abi:Gp,args:l,functionName:"addr",data:g[0]});return A==="0x"||br(A)==="0x00"?null:A}catch(p){if(o)throw p;if(Qh(p))return null;throw p}}class px extends G{constructor({data:e}){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(e)}`],name:"EnsAvatarInvalidMetadataError"})}}class pa extends G{constructor({reason:e}){super(`ENS NFT avatar URI is invalid. ${e}`,{name:"EnsAvatarInvalidNftUriError"})}}class t0 extends G{constructor({uri:e}){super(`Unable to resolve ENS avatar URI "${e}". The URI may be malformed, invalid, or does not respond with a valid image.`,{name:"EnsAvatarUriResolutionError"})}}class yx extends G{constructor({namespace:e}){super(`ENS NFT avatar namespace "${e}" is not supported. Must be "erc721" or "erc1155".`,{name:"EnsAvatarUnsupportedNamespaceError"})}}const mx=/(?<protocol>https?:\/\/[^/]*|ipfs:\/|ipns:\/|ar:\/)?(?<root>\/)?(?<subpath>ipfs\/|ipns\/)?(?<target>[\w\-.]+)(?<subtarget>\/.*)?/,bx=/^(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>\/.*)?$/,gx=/^data:([a-zA-Z\-/+]*);base64,([^"].*)/,wx=/^data:([a-zA-Z\-/+]*)?(;[a-zA-Z0-9].*?)?(,)/;async function vx(t){try{const e=await fetch(t,{method:"HEAD"});if(e.status===200){const r=e.headers.get("content-type");return r==null?void 0:r.startsWith("image/")}return!1}catch(e){return typeof e=="object"&&typeof e.response<"u"||!Object.hasOwn(globalThis,"Image")?!1:new Promise(r=>{const n=new Image;n.onload=()=>{r(!0)},n.onerror=()=>{r(!1)},n.src=t})}}function Xp(t,e){return t?t.endsWith("/")?t.slice(0,-1):t:e}function $1({uri:t,gatewayUrls:e}){const r=gx.test(t);if(r)return{uri:t,isOnChain:!0,isEncoded:r};const n=Xp(e==null?void 0:e.ipfs,"https://ipfs.io"),s=Xp(e==null?void 0:e.arweave,"https://arweave.net"),i=t.match(mx),{protocol:a,subpath:o,target:c,subtarget:u=""}=(i==null?void 0:i.groups)||{},f=a==="ipns:/"||o==="ipns/",l=a==="ipfs:/"||o==="ipfs/"||bx.test(t);if(t.startsWith("http")&&!f&&!l){let d=t;return e!=null&&e.arweave&&(d=t.replace(/https:\/\/arweave.net/g,e==null?void 0:e.arweave)),{uri:d,isOnChain:!1,isEncoded:!1}}if((f||l)&&c)return{uri:`${n}/${f?"ipns":"ipfs"}/${c}${u}`,isOnChain:!1,isEncoded:!1};if(a==="ar:/"&&c)return{uri:`${s}/${c}${u||""}`,isOnChain:!1,isEncoded:!1};let p=t.replace(wx,"");if(p.startsWith("<svg")&&(p=`data:image/svg+xml;base64,${btoa(p)}`),p.startsWith("data:")||p.startsWith("{"))return{uri:p,isOnChain:!0,isEncoded:!1};throw new t0({uri:t})}function j1(t){if(typeof t!="object"||!("image"in t)&&!("image_url"in t)&&!("image_data"in t))throw new px({data:t});return t.image||t.image_url||t.image_data}async function Ex({gatewayUrls:t,uri:e}){try{const r=await fetch(e).then(s=>s.json());return await r0({gatewayUrls:t,uri:j1(r)})}catch{throw new t0({uri:e})}}async function r0({gatewayUrls:t,uri:e}){const{uri:r,isOnChain:n}=$1({uri:e,gatewayUrls:t});if(n||await vx(r))return r;throw new t0({uri:e})}function Ax(t){let e=t;e.startsWith("did:nft:")&&(e=e.replace("did:nft:","").replace(/_/g,"/"));const[r,n,s]=e.split("/"),[i,a]=r.split(":"),[o,c]=n.split(":");if(!i||i.toLowerCase()!=="eip155")throw new pa({reason:"Only EIP-155 supported"});if(!a)throw new pa({reason:"Chain ID not found"});if(!c)throw new pa({reason:"Contract address not found"});if(!s)throw new pa({reason:"Token ID not found"});if(!o)throw new pa({reason:"ERC namespace not found"});return{chainID:Number.parseInt(a,10),namespace:o.toLowerCase(),contractAddress:c,tokenID:s}}async function Sx(t,{nft:e}){if(e.namespace==="erc721")return wr(t,{address:e.contractAddress,abi:[{name:"tokenURI",type:"function",stateMutability:"view",inputs:[{name:"tokenId",type:"uint256"}],outputs:[{name:"",type:"string"}]}],functionName:"tokenURI",args:[BigInt(e.tokenID)]});if(e.namespace==="erc1155")return wr(t,{address:e.contractAddress,abi:[{name:"uri",type:"function",stateMutability:"view",inputs:[{name:"_id",type:"uint256"}],outputs:[{name:"",type:"string"}]}],functionName:"uri",args:[BigInt(e.tokenID)]});throw new yx({namespace:e.namespace})}async function xx(t,{gatewayUrls:e,record:r}){return/eip155:/i.test(r)?kx(t,{gatewayUrls:e,record:r}):r0({uri:r,gatewayUrls:e})}async function kx(t,{gatewayUrls:e,record:r}){const n=Ax(r),s=await Sx(t,{nft:n}),{uri:i,isOnChain:a,isEncoded:o}=$1({uri:s,gatewayUrls:e});if(a&&(i.includes("data:application/json;base64,")||i.startsWith("{"))){const u=o?atob(i.replace("data:application/json;base64,","")):i,f=JSON.parse(u);return r0({uri:j1(f),gatewayUrls:e})}let c=n.tokenID;return n.namespace==="erc1155"&&(c=c.replace("0x","").padStart(64,"0")),Ex({gatewayUrls:e,uri:i.replace(/(?:0x)?{id}/,c)})}async function H1(t,e){const{blockNumber:r,blockTag:n,key:s,name:i,gatewayUrls:a,strict:o}=e,{chain:c}=t,u=(()=>{if(e.universalResolverAddress)return e.universalResolverAddress;if(!c)throw new Error("client chain not configured. universalResolverAddress is required.");return na({blockNumber:r,chain:c,contract:"ensUniversalResolver"})})(),f=c==null?void 0:c.ensTlds;if(f&&!f.some(l=>i.endsWith(l)))return null;try{const l={address:u,abi:w1,args:[Ft(e0(i)),or({abi:Vp,functionName:"text",args:[Ad(i),s]}),a??[jo]],functionName:"resolveWithGateways",blockNumber:r,blockTag:n},d=await re(t,wr,"readContract")(l);if(d[0]==="0x")return null;const b=ci({abi:Vp,functionName:"text",data:d[0]});return b===""?null:b}catch(l){if(o)throw l;if(Qh(l))return null;throw l}}async function Tx(t,{blockNumber:e,blockTag:r,assetGatewayUrls:n,name:s,gatewayUrls:i,strict:a,universalResolverAddress:o}){const c=await re(t,H1,"getEnsText")({blockNumber:e,blockTag:r,key:"avatar",name:s,universalResolverAddress:o,gatewayUrls:i,strict:a});if(!c)return null;try{return await xx(t,{record:c,gatewayUrls:n})}catch{return null}}async function _x(t,e){const{address:r,blockNumber:n,blockTag:s,coinType:i=60n,gatewayUrls:a,strict:o}=e,{chain:c}=t,u=(()=>{if(e.universalResolverAddress)return e.universalResolverAddress;if(!c)throw new Error("client chain not configured. universalResolverAddress is required.");return na({blockNumber:n,chain:c,contract:"ensUniversalResolver"})})();try{const f={address:u,abi:zS,args:[r,i,a??[jo]],functionName:"reverseWithGateways",blockNumber:n,blockTag:s},l=re(t,wr,"readContract"),[p]=await l(f);return p||null}catch(f){if(o)throw f;if(Qh(f))return null;throw f}}async function Ix(t,e){const{blockNumber:r,blockTag:n,name:s}=e,{chain:i}=t,a=(()=>{if(e.universalResolverAddress)return e.universalResolverAddress;if(!i)throw new Error("client chain not configured. universalResolverAddress is required.");return na({blockNumber:r,chain:i,contract:"ensUniversalResolver"})})(),o=i==null?void 0:i.ensTlds;if(o&&!o.some(u=>s.endsWith(u)))throw new Error(`${s} is not a valid ENS TLD (${o==null?void 0:o.join(", ")}) for chain "${i.name}" (id: ${i.id}).`);const[c]=await re(t,wr,"readContract")({address:a,abi:[{inputs:[{type:"bytes"}],name:"findResolver",outputs:[{type:"address"},{type:"bytes32"},{type:"uint256"}],stateMutability:"view",type:"function"}],functionName:"findResolver",args:[Ft(e0(s))],blockNumber:r,blockTag:n});return c}async function L1(t,e){var A,S,T;const{account:r=t.account,blockNumber:n,blockTag:s="latest",blobs:i,data:a,gas:o,gasPrice:c,maxFeePerBlobGas:u,maxFeePerGas:f,maxPriorityFeePerGas:l,to:p,value:d,...b}=e,g=r?Le(r):void 0;try{jn(e);const w=(typeof n=="bigint"?Y(n):void 0)||s,x=(T=(S=(A=t.chain)==null?void 0:A.formatters)==null?void 0:S.transactionRequest)==null?void 0:T.format,I=(x||Es)({...ta(b,{format:x}),account:g,blobs:i,data:a,gas:o,gasPrice:c,maxFeePerBlobGas:u,maxFeePerGas:f,maxPriorityFeePerGas:l,to:p,value:d},"createAccessList"),N=await t.request({method:"eth_createAccessList",params:[I,w]});return{accessList:N.accessList,gasUsed:BigInt(N.gasUsed)}}catch(v){throw S1(v,{...e,account:g,chain:t.chain})}}async function Px(t){const e=fu(t,{method:"eth_newBlockFilter"}),r=await t.request({method:"eth_newBlockFilter"});return{id:r,request:e(r),type:"block"}}async function D1(t,{address:e,args:r,event:n,events:s,fromBlock:i,strict:a,toBlock:o}={}){const c=s??(n?[n]:void 0),u=fu(t,{method:"eth_newFilter"});let f=[];c&&(f=[c.flatMap(d=>Io({abi:[d],eventName:d.name,args:r}))],n&&(f=f[0]));const l=await t.request({method:"eth_newFilter",params:[{address:e,fromBlock:typeof i=="bigint"?Y(i):i,toBlock:typeof o=="bigint"?Y(o):o,...f.length?{topics:f}:{}}]});return{abi:c,args:r,eventName:n?n.name:void 0,fromBlock:i,id:l,request:u(l),strict:!!a,toBlock:o,type:"event"}}async function z1(t){const e=fu(t,{method:"eth_newPendingTransactionFilter"}),r=await t.request({method:"eth_newPendingTransactionFilter"});return{id:r,request:e(r),type:"transaction"}}async function Ox(t,{address:e,blockNumber:r,blockTag:n=t.experimental_blockTag??"latest"}){const s=typeof r=="bigint"?Y(r):void 0,i=await t.request({method:"eth_getBalance",params:[e,s||n]});return BigInt(i)}async function Bx(t){const e=await t.request({method:"eth_blobBaseFee"});return BigInt(e)}async function Cx(t,{blockHash:e,blockNumber:r,blockTag:n="latest"}={}){const s=r!==void 0?Y(r):void 0;let i;return e?i=await t.request({method:"eth_getBlockTransactionCountByHash",params:[e]},{dedupe:!0}):i=await t.request({method:"eth_getBlockTransactionCountByNumber",params:[s||n]},{dedupe:!!s}),gr(i)}async function Sd(t,{address:e,blockNumber:r,blockTag:n="latest"}){const s=r!==void 0?Y(r):void 0,i=await t.request({method:"eth_getCode",params:[e,s||n]},{dedupe:!!s});if(i!=="0x")return i}class Rx extends G{constructor({address:e}){super(`No EIP-712 domain found on contract "${e}".`,{metaMessages:["Ensure that:",`- The contract is deployed at the address "${e}".`,"- `eip712Domain()` function exists on the contract.","- `eip712Domain()` function matches signature to ERC-5267 specification."],name:"Eip712DomainNotFoundError"})}}async function Nx(t,e){const{address:r,factory:n,factoryData:s}=e;try{const[i,a,o,c,u,f,l]=await re(t,wr,"readContract")({abi:Ux,address:r,functionName:"eip712Domain",factory:n,factoryData:s});return{domain:{name:a,version:o,chainId:Number(c),verifyingContract:u,salt:f},extensions:l,fields:i}}catch(i){const a=i;throw a.name==="ContractFunctionExecutionError"&&a.cause.name==="ContractFunctionZeroDataError"?new Rx({address:r}):a}}const Ux=[{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 Fx(t){var e;return{baseFeePerGas:t.baseFeePerGas.map(r=>BigInt(r)),gasUsedRatio:t.gasUsedRatio,oldestBlock:BigInt(t.oldestBlock),reward:(e=t.reward)==null?void 0:e.map(r=>r.map(n=>BigInt(n)))}}async function Mx(t,{blockCount:e,blockNumber:r,blockTag:n="latest",rewardPercentiles:s}){const i=typeof r=="bigint"?Y(r):void 0,a=await t.request({method:"eth_feeHistory",params:[Y(e),i||n,s]},{dedupe:!!i});return Fx(a)}async function $x(t,{filter:e}){const r=e.strict??!1,s=(await e.request({method:"eth_getFilterLogs",params:[e.id]})).map(i=>Un(i));return e.abi?Hh({abi:e.abi,logs:s,strict:r}):s}function jx(t){const{authorizationList:e}=t;if(e)for(const r of e){const{chainId:n}=r,s=r.address;if(!ct(s))throw new $t({address:s});if(n<0)throw new vu({chainId:n})}n0(t)}function Hx(t){const{blobVersionedHashes:e}=t;if(e){if(e.length===0)throw new Zg;for(const r of e){const n=Ge(r),s=gr(Ks(r,0,1));if(n!==32)throw new aS({hash:r,size:n});if(s!==Jg)throw new oS({hash:r,version:s})}}n0(t)}function n0(t){const{chainId:e,maxPriorityFeePerGas:r,maxFeePerGas:n,to:s}=t;if(e<=0)throw new vu({chainId:e});if(s&&!ct(s))throw new $t({address:s});if(n&&n>yu)throw new Js({maxFeePerGas:n});if(r&&n&&r>n)throw new ao({maxFeePerGas:n,maxPriorityFeePerGas:r})}function Lx(t){const{chainId:e,maxPriorityFeePerGas:r,gasPrice:n,maxFeePerGas:s,to:i}=t;if(e<=0)throw new vu({chainId:e});if(i&&!ct(i))throw new $t({address:i});if(r||s)throw new G("`maxFeePerGas`/`maxPriorityFeePerGas` is not a valid EIP-2930 Transaction attribute.");if(n&&n>yu)throw new Js({maxFeePerGas:n})}function Dx(t){const{chainId:e,maxPriorityFeePerGas:r,gasPrice:n,maxFeePerGas:s,to:i}=t;if(i&&!ct(i))throw new $t({address:i});if(typeof e<"u"&&e<=0)throw new vu({chainId:e});if(r||s)throw new G("`maxFeePerGas`/`maxPriorityFeePerGas` is not a valid Legacy Transaction attribute.");if(n&&n>yu)throw new Js({maxFeePerGas:n})}function ku(t){if(!t||t.length===0)return[];const e=[];for(let r=0;r<t.length;r++){const{address:n,storageKeys:s}=t[r];for(let i=0;i<s.length;i++)if(s[i].length-2!==64)throw new T8({storageKey:s[i]});if(!ct(n,{strict:!1}))throw new $t({address:n});e.push([n,s])}return e}function zx(t,e){const r=e1(t);return r==="eip1559"?qx(t,e):r==="eip2930"?Wx(t,e):r==="eip4844"?Gx(t,e):r==="eip7702"?Vx(t,e):Kx(t,e)}function Vx(t,e){const{authorizationList:r,chainId:n,gas:s,nonce:i,to:a,value:o,maxFeePerGas:c,maxPriorityFeePerGas:u,accessList:f,data:l}=t;jx(t);const p=ku(f),d=Xx(r);return jr(["0x04",bs([Y(n),i?Y(i):"0x",u?Y(u):"0x",c?Y(c):"0x",s?Y(s):"0x",a??"0x",o?Y(o):"0x",l??"0x",p,d,...Ho(t,e)])])}function Gx(t,e){const{chainId:r,gas:n,nonce:s,to:i,value:a,maxFeePerBlobGas:o,maxFeePerGas:c,maxPriorityFeePerGas:u,accessList:f,data:l}=t;Hx(t);let p=t.blobVersionedHashes,d=t.sidecars;if(t.blobs&&(typeof p>"u"||typeof d>"u")){const v=typeof t.blobs[0]=="string"?t.blobs:t.blobs.map(_=>tt(_)),w=t.kzg,x=Nh({blobs:v,kzg:w});if(typeof p>"u"&&(p=Kg({commitments:x})),typeof d>"u"){const _=Uh({blobs:v,commitments:x,kzg:w});d=Qg({blobs:v,commitments:x,proofs:_})}}const b=ku(f),g=[Y(r),s?Y(s):"0x",u?Y(u):"0x",c?Y(c):"0x",n?Y(n):"0x",i??"0x",a?Y(a):"0x",l??"0x",b,o?Y(o):"0x",p??[],...Ho(t,e)],A=[],S=[],T=[];if(d)for(let v=0;v<d.length;v++){const{blob:w,commitment:x,proof:_}=d[v];A.push(w),S.push(x),T.push(_)}return jr(["0x03",bs(d?[g,A,S,T]:g)])}function qx(t,e){const{chainId:r,gas:n,nonce:s,to:i,value:a,maxFeePerGas:o,maxPriorityFeePerGas:c,accessList:u,data:f}=t;n0(t);const l=ku(u),p=[Y(r),s?Y(s):"0x",c?Y(c):"0x",o?Y(o):"0x",n?Y(n):"0x",i??"0x",a?Y(a):"0x",f??"0x",l,...Ho(t,e)];return jr(["0x02",bs(p)])}function Wx(t,e){const{chainId:r,gas:n,data:s,nonce:i,to:a,value:o,accessList:c,gasPrice:u}=t;Lx(t);const f=ku(c),l=[Y(r),i?Y(i):"0x",u?Y(u):"0x",n?Y(n):"0x",a??"0x",o?Y(o):"0x",s??"0x",f,...Ho(t,e)];return jr(["0x01",bs(l)])}function Kx(t,e){const{chainId:r=0,gas:n,data:s,nonce:i,to:a,value:o,gasPrice:c}=t;Dx(t);let u=[i?Y(i):"0x",c?Y(c):"0x",n?Y(n):"0x",a??"0x",o?Y(o):"0x",s??"0x"];if(e){const f=(()=>{if(e.v>=35n)return(e.v-35n)/2n>0?e.v:27n+(e.v===35n?0n:1n);if(r>0)return BigInt(r*2)+BigInt(35n+e.v-27n);const d=27n+(e.v===27n?0n:1n);if(e.v!==d)throw new x8({v:e.v});return d})(),l=br(e.r),p=br(e.s);u=[...u,Y(f),l==="0x00"?"0x":l,p==="0x00"?"0x":p]}else r>0&&(u=[...u,Y(r),"0x","0x"]);return bs(u)}function Ho(t,e){const r=e??t,{v:n,yParity:s}=r;if(typeof r.r>"u")return[];if(typeof r.s>"u")return[];if(typeof n>"u"&&typeof s>"u")return[];const i=br(r.r),a=br(r.s);return[typeof s=="number"?s?Y(1):"0x":n===0n?"0x":n===1n?Y(1):n===27n?"0x":Y(1),i==="0x00"?"0x":i,a==="0x00"?"0x":a]}function Xx(t){if(!t||t.length===0)return[];const e=[];for(const r of t){const{chainId:n,nonce:s,...i}=r,a=r.address;e.push([n?Ft(n):"0x",a,s?Ft(s):"0x",...Ho({},i)])}return e}async function Yx({address:t,authorization:e,signature:r}){return ra(vh(t),await hu({authorization:e,signature:r}))}const cc=new ea(8192);function Jx(t,{enabled:e=!0,id:r}){if(!e||!r)return t();if(cc.get(r))return cc.get(r);const n=t().finally(()=>cc.delete(r));return cc.set(r,n),n}function Zx(t,e={}){return async(r,n={})=>{var l;const{dedupe:s=!1,methods:i,retryDelay:a=150,retryCount:o=3,uid:c}={...e,...n},{method:u}=r;if((l=i==null?void 0:i.exclude)!=null&&l.includes(u))throw new Cs(new Error("method not supported"),{method:u});if(i!=null&&i.include&&!i.include.includes(u))throw new Cs(new Error("method not supported"),{method:u});const f=s?Vi(`${c}.${et(r)}`):void 0;return Jx(()=>Mc(async()=>{try{return await t(r)}catch(p){const d=p;switch(d.code){case Da.code:throw new Da(d);case za.code:throw new za(d);case Va.code:throw new Va(d,{method:r.method});case Ga.code:throw new Ga(d);case Xs.code:throw new Xs(d);case ms.code:throw new ms(d);case qa.code:throw new qa(d);case Wa.code:throw new Wa(d);case Ka.code:throw new Ka(d);case Cs.code:throw new Cs(d,{method:r.method});case Gi.code:throw new Gi(d);case Xa.code:throw new Xa(d);case Ni.code:throw new Ni(d);case Ya.code:throw new Ya(d);case Ja.code:throw new Ja(d);case Za.code:throw new Za(d);case Qa.code:throw new Qa(d);case eo.code:throw new eo(d);case qi.code:throw new qi(d);case to.code:throw new to(d);case ro.code:throw new ro(d);case no.code:throw new no(d);case so.code:throw new so(d);case io.code:throw new io(d);case Wi.code:throw new Wi(d);case 5e3:throw new Ni(d);default:throw p instanceof G?p:new R8(d)}}},{delay:({count:p,error:d})=>{var b;if(d&&d instanceof Ri){const g=(b=d==null?void 0:d.headers)==null?void 0:b.get("Retry-After");if(g!=null&&g.match(/\d/))return Number.parseInt(g,10)*1e3}return~~(1<<p)*a},retryCount:o,shouldRetry:({error:p})=>Qx(p)}),{enabled:s,id:f})}}function Qx(t){return"code"in t&&typeof t.code=="number"?t.code===-1||t.code===Gi.code||t.code===Xs.code:t instanceof Ri&&t.status?t.status===403||t.status===408||t.status===413||t.status===429||t.status===500||t.status===502||t.status===503||t.status===504:!0}function bt(t){const e={formatters:void 0,fees:void 0,serializers:void 0,...t};function r(n){return s=>{const i=typeof s=="function"?s(n):s,a={...n,...i};return Object.assign(a,{extend:r(a)})}}return Object.assign(e,{extend:r(e)})}function e3(t,{errorInstance:e=new Error("timed out"),timeout:r,signal:n}){return new Promise((s,i)=>{(async()=>{let a;try{const o=new AbortController;r>0&&(a=setTimeout(()=>{n&&o.abort()},r)),s(await t({signal:(o==null?void 0:o.signal)||null}))}catch(o){(o==null?void 0:o.name)==="AbortError"&&i(e),i(o)}finally{clearTimeout(a)}})()})}function t3(){return{current:0,take(){return this.current++},reset(){this.current=0}}}const Yp=t3();function r3(t,e={}){const{url:r,headers:n}=n3(t);return{async request(s){var b;const{body:i,fetchFn:a=e.fetchFn??fetch,onRequest:o=e.onRequest,onResponse:c=e.onResponse,timeout:u=e.timeout??1e4}=s,f={...e.fetchOptions??{},...s.fetchOptions??{}},{headers:l,method:p,signal:d}=f;try{const g=await e3(async({signal:S})=>{const T={...f,body:Array.isArray(i)?et(i.map(_=>({jsonrpc:"2.0",id:_.id??Yp.take(),..._}))):et({jsonrpc:"2.0",id:i.id??Yp.take(),...i}),headers:{...n,"Content-Type":"application/json",...l},method:p||"POST",signal:d||(u>0?S:null)},v=new Request(r,T),w=await(o==null?void 0:o(v,T))??{...T,url:r};return await a(w.url??r,w)},{errorInstance:new Bp({body:i,url:r}),timeout:u,signal:!0});c&&await c(g);let A;if((b=g.headers.get("Content-Type"))!=null&&b.startsWith("application/json"))A=await g.json();else{A=await g.text();try{A=JSON.parse(A||"{}")}catch(S){if(g.ok)throw S;A={error:A}}}if(!g.ok)throw new Ri({body:i,details:et(A.error)||g.statusText,headers:g.headers,status:g.status,url:r});return A}catch(g){throw g instanceof Ri||g instanceof Bp?g:new Ri({body:i,cause:g,url:r})}}}}function n3(t){try{const e=new URL(t),r=(()=>{if(e.username){const n=`${decodeURIComponent(e.username)}:${decodeURIComponent(e.password)}`;return e.username="",e.password="",{url:e.toString(),headers:{Authorization:`Basic ${btoa(n)}`}}}})();return{url:e.toString(),...r}}catch{return{url:t}}}const s3=`Ethereum Signed Message:
69
69
  `;function i3(t){const e=typeof t=="string"?Vi(t):typeof t.raw=="string"?t.raw:tt(t.raw),r=Vi(`${s3}${Ge(e)}`);return sr([r,e])}function V1(t,e){return mt(i3(t),e)}class a3 extends G{constructor({domain:e}){super(`Invalid domain "${et(e)}".`,{metaMessages:["Must be a valid EIP-712 domain."]})}}class o3 extends G{constructor({primaryType:e,types:r}){super(`Invalid primary type \`${e}\` 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 c3 extends G{constructor({type:e}){super(`Struct type "${e}" is invalid.`,{metaMessages:["Struct type must not be a Solidity type."],name:"InvalidStructTypeError"})}}function u3(t){const{domain:e,message:r,primaryType:n,types:s}=t,i=(c,u)=>{const f={...u};for(const l of c){const{name:p,type:d}=l;d==="address"&&(f[p]=f[p].toLowerCase())}return f},a=s.EIP712Domain?e?i(s.EIP712Domain,e):{}:{},o=(()=>{if(n!=="EIP712Domain")return i(s[n],r)})();return et({domain:a,message:o,primaryType:n,types:s})}function G1(t){const{domain:e,message:r,primaryType:n,types:s}=t,i=(a,o)=>{for(const c of a){const{name:u,type:f}=c,l=o[u],p=f.match(Ig);if(p&&(typeof l=="number"||typeof l=="bigint")){const[g,A,S]=p;Y(l,{signed:A==="int",size:Number.parseInt(S,10)/8})}if(f==="address"&&typeof l=="string"&&!ct(l))throw new $t({address:l});const d=f.match(XA);if(d){const[g,A]=d;if(A&&Ge(l)!==Number.parseInt(A,10))throw new nA({expectedSize:Number.parseInt(A,10),givenSize:Ge(l)})}const b=s[f];b&&(f3(f),i(b,l))}};if(s.EIP712Domain&&e){if(typeof e!="object")throw new a3({domain:e});i(s.EIP712Domain,e)}if(n!=="EIP712Domain")if(s[n])i(s[n],r);else throw new o3({primaryType:n,types:s})}function q1({domain:t}){return[typeof(t==null?void 0:t.name)=="string"&&{name:"name",type:"string"},(t==null?void 0:t.version)&&{name:"version",type:"string"},(typeof(t==null?void 0:t.chainId)=="number"||typeof(t==null?void 0:t.chainId)=="bigint")&&{name:"chainId",type:"uint256"},(t==null?void 0:t.verifyingContract)&&{name:"verifyingContract",type:"address"},(t==null?void 0:t.salt)&&{name:"salt",type:"bytes32"}].filter(Boolean)}function f3(t){if(t==="address"||t==="bool"||t==="string"||t.startsWith("bytes")||t.startsWith("uint")||t.startsWith("int"))throw new c3({type:t})}function l3(t){const{domain:e={},message:r,primaryType:n}=t,s={EIP712Domain:q1({domain:e}),...t.types};G1({domain:e,message:r,primaryType:n,types:s});const i=["0x1901"];return e&&i.push(d3({domain:e,types:s})),n!=="EIP712Domain"&&i.push(W1({data:r,primaryType:n,types:s})),mt(sr(i))}function d3({domain:t,types:e}){return W1({data:t,primaryType:"EIP712Domain",types:e})}function W1({data:t,primaryType:e,types:r}){const n=K1({data:t,primaryType:e,types:r});return mt(n)}function K1({data:t,primaryType:e,types:r}){const n=[{type:"bytes32"}],s=[h3({primaryType:e,types:r})];for(const i of r[e]){const[a,o]=Y1({types:r,name:i.name,type:i.type,value:t[i.name]});n.push(a),s.push(o)}return vs(n,s)}function h3({primaryType:t,types:e}){const r=Ft(p3({primaryType:t,types:e}));return mt(r)}function p3({primaryType:t,types:e}){let r="";const n=X1({primaryType:t,types:e});n.delete(t);const s=[t,...Array.from(n).sort()];for(const i of s)r+=`${i}(${e[i].map(({name:a,type:o})=>`${o} ${a}`).join(",")})`;return r}function X1({primaryType:t,types:e},r=new Set){const n=t.match(/^\w*/u),s=n==null?void 0:n[0];if(r.has(s)||e[s]===void 0)return r;r.add(s);for(const i of e[s])X1({primaryType:i.type,types:e},r);return r}function Y1({types:t,name:e,type:r,value:n}){if(t[r]!==void 0)return[{type:"bytes32"},mt(K1({data:n,primaryType:r,types:t}))];if(r==="bytes")return[{type:"bytes32"},mt(n)];if(r==="string")return[{type:"bytes32"},mt(Ft(n))];if(r.lastIndexOf("]")===r.length-1){const s=r.slice(0,r.lastIndexOf("[")),i=n.map(a=>Y1({name:e,type:s,types:t,value:a}));return[{type:"bytes32"},mt(vs(i.map(([a])=>a),i.map(([,a])=>a)))]}return[{type:r},n]}class y3 extends Map{constructor(e){super(),Object.defineProperty(this,"maxSize",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.maxSize=e}get(e){const r=super.get(e);return super.has(e)&&r!==void 0&&(this.delete(e),super.set(e,r)),r}set(e,r){if(super.set(e,r),this.maxSize&&this.size>this.maxSize){const n=this.keys().next().value;n&&this.delete(n)}return this}}const m3={checksum:new y3(8192)},bf=m3.checksum;function J1(t,e={}){const{as:r=typeof t=="string"?"Hex":"Bytes"}=e,n=Sg(SS(t));return r==="Bytes"?n:Fr(n)}const b3=/^0x[a-fA-F0-9]{40}$/;function Tu(t,e={}){const{strict:r=!0}=e;if(!b3.test(t))throw new Jp({address:t,cause:new g3});if(r){if(t.toLowerCase()===t)return;if(Z1(t)!==t)throw new Jp({address:t,cause:new w3})}}function Z1(t){if(bf.has(t))return bf.get(t);Tu(t,{strict:!1});const e=t.substring(2).toLowerCase(),r=J1(kS(e),{as:"Bytes"}),n=e.split("");for(let i=0;i<40;i+=2)r[i>>1]>>4>=8&&n[i]&&(n[i]=n[i].toUpperCase()),(r[i>>1]&15)>=8&&n[i+1]&&(n[i+1]=n[i+1].toUpperCase());const s=`0x${n.join("")}`;return bf.set(t,s),s}function xd(t,e={}){const{strict:r=!0}=e??{};try{return Tu(t,{strict:r}),!0}catch{return!1}}class Jp extends fe{constructor({address:e,cause:r}){super(`Address "${e}" is invalid.`,{cause:r}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Address.InvalidAddressError"})}}class g3 extends fe{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 w3 extends fe{constructor(){super("Address does not match its checksum counterpart."),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Address.InvalidChecksumError"})}}const v3=/^(.*)\[([0-9]*)\]$/,E3=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,Q1=/^(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)?$/,Zp=2n**256n-1n;function Fi(t,e,r){const{checksumAddress:n,staticPosition:s}=r,i=a0(e.type);if(i){const[a,o]=i;return S3(t,{...e,type:o},{checksumAddress:n,length:a,staticPosition:s})}if(e.type==="tuple")return _3(t,e,{checksumAddress:n,staticPosition:s});if(e.type==="address")return A3(t,{checksum:n});if(e.type==="bool")return x3(t);if(e.type.startsWith("bytes"))return k3(t,e,{staticPosition:s});if(e.type.startsWith("uint")||e.type.startsWith("int"))return T3(t,e);if(e.type==="string")return I3(t,{staticPosition:s});throw new c0(e.type)}const Qp=32,kd=32;function A3(t,e={}){const{checksum:r=!1}=e,n=t.readBytes(32);return[(i=>r?Z1(i):i)(Fr(_S(n,-20))),32]}function S3(t,e,r){const{checksumAddress:n,length:s,staticPosition:i}=r;if(!s){const c=On(t.readBytes(kd)),u=i+c,f=u+Qp;t.setPosition(u);const l=On(t.readBytes(Qp)),p=uo(e);let d=0;const b=[];for(let g=0;g<l;++g){t.setPosition(f+(p?g*32:d));const[A,S]=Fi(t,e,{checksumAddress:n,staticPosition:f});d+=S,b.push(A)}return t.setPosition(i+32),[b,32]}if(uo(e)){const c=On(t.readBytes(kd)),u=i+c,f=[];for(let l=0;l<s;++l){t.setPosition(u+l*32);const[p]=Fi(t,e,{checksumAddress:n,staticPosition:u});f.push(p)}return t.setPosition(i+32),[f,32]}let a=0;const o=[];for(let c=0;c<s;++c){const[u,f]=Fi(t,e,{checksumAddress:n,staticPosition:i+a});a+=f,o.push(u)}return[o,a]}function x3(t){return[PS(t.readBytes(32),{size:32}),32]}function k3(t,e,{staticPosition:r}){const[n,s]=e.type.split("bytes");if(!s){const a=On(t.readBytes(32));t.setPosition(r+a);const o=On(t.readBytes(32));if(o===0)return t.setPosition(r+32),["0x",32];const c=t.readBytes(o);return t.setPosition(r+32),[Fr(c),32]}return[Fr(t.readBytes(Number.parseInt(s,10),32)),32]}function T3(t,e){const r=e.type.startsWith("int"),n=Number.parseInt(e.type.split("int")[1]||"256",10),s=t.readBytes(32);return[n>48?IS(s,{signed:r}):On(s,{signed:r}),32]}function _3(t,e,r){const{checksumAddress:n,staticPosition:s}=r,i=e.components.length===0||e.components.some(({name:c})=>!c),a=i?[]:{};let o=0;if(uo(e)){const c=On(t.readBytes(kd)),u=s+c;for(let f=0;f<e.components.length;++f){const l=e.components[f];t.setPosition(u+o);const[p,d]=Fi(t,l,{checksumAddress:n,staticPosition:u});o+=d,a[i?f:l==null?void 0:l.name]=p}return t.setPosition(s+32),[a,32]}for(let c=0;c<e.components.length;++c){const u=e.components[c],[f,l]=Fi(t,u,{checksumAddress:n,staticPosition:s});a[i?c:u==null?void 0:u.name]=f,o+=l}return[a,o]}function I3(t,{staticPosition:e}){const r=On(t.readBytes(32)),n=e+r;t.setPosition(n);const s=On(t.readBytes(32));if(s===0)return t.setPosition(e+32),["",32];const i=t.readBytes(s,32),a=OS(l1(i));return t.setPosition(e+32),[a,32]}function P3({checksumAddress:t,parameters:e,values:r}){const n=[];for(let s=0;s<e.length;s++)n.push(s0({checksumAddress:t,parameter:e[s],value:r[s]}));return n}function s0({checksumAddress:t=!1,parameter:e,value:r}){const n=e,s=a0(n.type);if(s){const[i,a]=s;return B3(r,{checksumAddress:t,length:i,parameter:{...n,type:a}})}if(n.type==="tuple")return F3(r,{checksumAddress:t,parameter:n});if(n.type==="address")return O3(r,{checksum:t});if(n.type==="bool")return R3(r);if(n.type.startsWith("uint")||n.type.startsWith("int")){const i=n.type.startsWith("int"),[,,a="256"]=Q1.exec(n.type)??[];return N3(r,{signed:i,size:Number(a)})}if(n.type.startsWith("bytes"))return C3(r,{type:n.type});if(n.type==="string")return U3(r);throw new c0(n.type)}function i0(t){let e=0;for(let i=0;i<t.length;i++){const{dynamic:a,encoded:o}=t[i];a?e+=32:e+=ir(o)}const r=[],n=[];let s=0;for(let i=0;i<t.length;i++){const{dynamic:a,encoded:o}=t[i];a?(r.push(Ut(e+s,{size:32})),n.push(o),s+=ir(o)):r.push(o)}return Ur(...r,...n)}function O3(t,e){const{checksum:r=!1}=e;return Tu(t,{strict:r}),{dynamic:!1,encoded:Zs(t.toLowerCase())}}function B3(t,e){const{checksumAddress:r,length:n,parameter:s}=e,i=n===null;if(!Array.isArray(t))throw new G3(t);if(!i&&t.length!==n)throw new V3({expectedLength:n,givenLength:t.length,type:`${s.type}[${n}]`});let a=!1;const o=[];for(let c=0;c<t.length;c++){const u=s0({checksumAddress:r,parameter:s,value:t[c]});u.dynamic&&(a=!0),o.push(u)}if(i||a){const c=i0(o);if(i){const u=Ut(o.length,{size:32});return{dynamic:!0,encoded:o.length>0?Ur(u,c):u}}if(a)return{dynamic:!0,encoded:c}}return{dynamic:!1,encoded:Ur(...o.map(({encoded:c})=>c))}}function C3(t,{type:e}){const[,r]=e.split("bytes"),n=ir(t);if(!r){let s=t;return n%32!==0&&(s=Qs(s,Math.ceil((t.length-2)/2/32)*32)),{dynamic:!0,encoded:Ur(Zs(Ut(n,{size:32})),s)}}if(n!==Number.parseInt(r,10))throw new tw({expectedSize:Number.parseInt(r,10),value:t});return{dynamic:!1,encoded:Qs(t)}}function R3(t){if(typeof t!="boolean")throw new fe(`Invalid boolean value: "${t}" (type: ${typeof t}). Expected: \`true\` or \`false\`.`);return{dynamic:!1,encoded:Zs(d1(t))}}function N3(t,{signed:e,size:r}){if(typeof r=="number"){const n=2n**(BigInt(r)-(e?1n:0n))-1n,s=e?-n-1n:0n;if(t>n||t<s)throw new y1({max:n.toString(),min:s.toString(),signed:e,size:r/8,value:t.toString()})}return{dynamic:!1,encoded:Ut(t,{size:32,signed:e})}}function U3(t){const e=qh(t),r=Math.ceil(ir(e)/32),n=[];for(let s=0;s<r;s++)n.push(Qs(rn(e,s*32,(s+1)*32)));return{dynamic:!0,encoded:Ur(Qs(Ut(ir(e),{size:32})),...n)}}function F3(t,e){const{checksumAddress:r,parameter:n}=e;let s=!1;const i=[];for(let a=0;a<n.components.length;a++){const o=n.components[a],c=Array.isArray(t)?a:o.name,u=s0({checksumAddress:r,parameter:o,value:t[c]});i.push(u),u.dynamic&&(s=!0)}return{dynamic:s,encoded:s?i0(i):Ur(...i.map(({encoded:a})=>a))}}function a0(t){const e=t.match(/^(.*)\[(\d+)?\]$/);return e?[e[2]?Number(e[2]):null,e[1]]:void 0}function uo(t){var n;const{type:e}=t;if(e==="string"||e==="bytes"||e.endsWith("[]"))return!0;if(e==="tuple")return(n=t.components)==null?void 0:n.some(uo);const r=a0(t.type);return!!(r&&uo({...t,type:r[1]}))}const M3={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 H3({count:this.recursiveReadCount+1,limit:this.recursiveReadLimit})},assertPosition(t){if(t<0||t>this.bytes.length-1)throw new j3({length:this.bytes.length,position:t})},decrementPosition(t){if(t<0)throw new ey({offset:t});const e=this.position-t;this.assertPosition(e),this.position=e},getReadCount(t){return this.positionReadCount.get(t||this.position)||0},incrementPosition(t){if(t<0)throw new ey({offset:t});const e=this.position+t;this.assertPosition(e),this.position=e},inspectByte(t){const e=t??this.position;return this.assertPosition(e),this.bytes[e]},inspectBytes(t,e){const r=e??this.position;return this.assertPosition(r+t-1),this.bytes.subarray(r,r+t)},inspectUint8(t){const e=t??this.position;return this.assertPosition(e),this.bytes[e]},inspectUint16(t){const e=t??this.position;return this.assertPosition(e+1),this.dataView.getUint16(e)},inspectUint24(t){const e=t??this.position;return this.assertPosition(e+2),(this.dataView.getUint16(e)<<8)+this.dataView.getUint8(e+2)},inspectUint32(t){const e=t??this.position;return this.assertPosition(e+3),this.dataView.getUint32(e)},pushByte(t){this.assertPosition(this.position),this.bytes[this.position]=t,this.position++},pushBytes(t){this.assertPosition(this.position+t.length-1),this.bytes.set(t,this.position),this.position+=t.length},pushUint8(t){this.assertPosition(this.position),this.bytes[this.position]=t,this.position++},pushUint16(t){this.assertPosition(this.position+1),this.dataView.setUint16(this.position,t),this.position+=2},pushUint24(t){this.assertPosition(this.position+2),this.dataView.setUint16(this.position,t>>8),this.dataView.setUint8(this.position+2,t&255),this.position+=3},pushUint32(t){this.assertPosition(this.position+3),this.dataView.setUint32(this.position,t),this.position+=4},readByte(){this.assertReadLimit(),this._touch();const t=this.inspectByte();return this.position++,t},readBytes(t,e){this.assertReadLimit(),this._touch();const r=this.inspectBytes(t);return this.position+=e??t,r},readUint8(){this.assertReadLimit(),this._touch();const t=this.inspectUint8();return this.position+=1,t},readUint16(){this.assertReadLimit(),this._touch();const t=this.inspectUint16();return this.position+=2,t},readUint24(){this.assertReadLimit(),this._touch();const t=this.inspectUint24();return this.position+=3,t},readUint32(){this.assertReadLimit(),this._touch();const t=this.inspectUint32();return this.position+=4,t},get remaining(){return this.bytes.length-this.position},setPosition(t){const e=this.position;return this.assertPosition(t),this.position=t,()=>this.position=e},_touch(){if(this.recursiveReadLimit===Number.POSITIVE_INFINITY)return;const t=this.getReadCount();this.positionReadCount.set(this.position,t+1),t>0&&this.recursiveReadCount++}};function $3(t,{recursiveReadLimit:e=8192}={}){const r=Object.create(M3);return r.bytes=t,r.dataView=new DataView(t.buffer,t.byteOffset,t.byteLength),r.positionReadCount=new Map,r.recursiveReadLimit=e,r}class ey extends fe{constructor({offset:e}){super(`Offset \`${e}\` cannot be negative.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Cursor.NegativeOffsetError"})}}class j3 extends fe{constructor({length:e,position:r}){super(`Position \`${r}\` is out of bounds (\`0 < position < ${e}\`).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Cursor.PositionOutOfBoundsError"})}}class H3 extends fe{constructor({count:e,limit:r}){super(`Recursive read limit of \`${r}\` exceeded (recursive read count: \`${e}\`).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Cursor.RecursiveReadLimitExceededError"})}}function L3(t,e,r={}){const{as:n="Array",checksumAddress:s=!1}=r,i=typeof e=="string"?f1(e):e,a=$3(i);if(ki(i)===0&&t.length>0)throw new z3;if(ki(i)&&ki(i)<32)throw new D3({data:typeof e=="string"?e:Fr(e),parameters:t,size:ki(i)});let o=0;const c=n==="Array"?[]:{};for(let u=0;u<t.length;++u){const f=t[u];a.setPosition(o);const[l,p]=Fi(a,f,{checksumAddress:s,staticPosition:0});o+=p,n==="Array"?c.push(l):c[f.name??u]=l}return c}function o0(t,e,r){const{checksumAddress:n=!1}={};if(t.length!==e.length)throw new rw({expectedLength:t.length,givenLength:e.length});const s=P3({checksumAddress:n,parameters:t,values:e}),i=i0(s);return i.length===0?"0x":i}function Td(t,e){if(t.length!==e.length)throw new rw({expectedLength:t.length,givenLength:e.length});const r=[];for(let n=0;n<t.length;n++){const s=t[n],i=e[n];r.push(Td.encode(s,i))}return Ur(...r)}(function(t){function e(r,n,s=!1){if(r==="address"){const c=n;return Tu(c),Zs(c.toLowerCase(),s?32:0)}if(r==="string")return qh(n);if(r==="bytes")return n;if(r==="bool")return Zs(d1(n),s?32:1);const i=r.match(Q1);if(i){const[c,u,f="256"]=i,l=Number.parseInt(f,10)/8;return Ut(n,{size:s?32:l,signed:u==="int"})}const a=r.match(E3);if(a){const[c,u]=a;if(Number.parseInt(u,10)!==(n.length-2)/2)throw new tw({expectedSize:Number.parseInt(u,10),value:n});return Qs(n,s?32:0)}const o=r.match(v3);if(o&&Array.isArray(n)){const[c,u]=o,f=[];for(let l=0;l<n.length;l++)f.push(e(u,n[l],!0));return f.length===0?"0x":Ur(...f)}throw new c0(r)}t.encode=e})(Td||(Td={}));function ew(t){return Array.isArray(t)&&typeof t[0]=="string"||typeof t=="string"?mp(t):t}class D3 extends fe{constructor({data:e,parameters:r,size:n}){super(`Data size of ${n} bytes is too small for given parameters.`,{metaMessages:[`Params: (${Ei(r)})`,`Data: ${e} (${n} bytes)`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.DataSizeTooSmallError"})}}class z3 extends fe{constructor(){super('Cannot decode zero data ("0x") with ABI parameters.'),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.ZeroDataError"})}}class V3 extends fe{constructor({expectedLength:e,givenLength:r,type:n}){super(`Array length mismatch for type \`${n}\`. Expected: \`${e}\`. Given: \`${r}\`.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.ArrayLengthMismatchError"})}}class tw extends fe{constructor({expectedSize:e,value:r}){super(`Size of bytes "${r}" (bytes${ir(r)}) does not match expected size (bytes${e}).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.BytesSizeMismatchError"})}}class rw extends fe{constructor({expectedLength:e,givenLength:r}){super(["ABI encoding parameters/values length mismatch.",`Expected length (parameters): ${e}`,`Given length (values): ${r}`].join(`
70
70
  `)),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.LengthMismatchError"})}}class G3 extends fe{constructor(e){super(`Value \`${e}\` is not a valid array.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.InvalidArrayError"})}}class c0 extends fe{constructor(e){super(`Type \`${e}\` is not a valid ABI Type.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.InvalidTypeError"})}}class nw extends cu{constructor(e,r){super(),this.finished=!1,this.destroyed=!1,IA(e);const n=In(r);if(this.iHash=e.create(),typeof this.iHash.update!="function")throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;const s=this.blockLen,i=new Uint8Array(s);i.set(n.length>s?e.create().update(n).digest():n);for(let a=0;a<i.length;a++)i[a]^=54;this.iHash.update(i),this.oHash=e.create();for(let a=0;a<i.length;a++)i[a]^=106;this.oHash.update(i),Nn(i)}update(e){return ys(this),this.iHash.update(e),this}digestInto(e){ys(this),ps(e,this.outputLen),this.finished=!0,this.iHash.digestInto(e),this.oHash.update(e),this.oHash.digestInto(e),this.destroy()}digest(){const e=new Uint8Array(this.oHash.outputLen);return this.digestInto(e),e}_cloneInto(e){e||(e=Object.create(Object.getPrototypeOf(this),{}));const{oHash:r,iHash:n,finished:s,destroyed:i,blockLen:a,outputLen:o}=this;return e=e,e.finished=s,e.destroyed=i,e.blockLen=a,e.outputLen=o,e.oHash=r._cloneInto(e.oHash),e.iHash=n._cloneInto(e.iHash),e}clone(){return this._cloneInto()}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}}const sw=(t,e,r)=>new nw(t,e).update(r).digest();sw.create=(t,e)=>new nw(t,e);/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const Vt=BigInt(0),Mt=BigInt(1),Rs=BigInt(2),q3=BigInt(3),iw=BigInt(4),aw=BigInt(5),ow=BigInt(8);function Ht(t,e){const r=t%e;return r>=Vt?r:e+r}function lr(t,e,r){let n=t;for(;e-- >Vt;)n*=n,n%=r;return n}function _d(t,e){if(t===Vt)throw new Error("invert: expected non-zero number");if(e<=Vt)throw new Error("invert: expected positive modulus, got "+e);let r=Ht(t,e),n=e,s=Vt,i=Mt;for(;r!==Vt;){const o=n/r,c=n%r,u=s-i*o;n=r,r=c,s=i,i=u}if(n!==Mt)throw new Error("invert: does not exist");return Ht(s,e)}function cw(t,e){const r=(t.ORDER+Mt)/iw,n=t.pow(e,r);if(!t.eql(t.sqr(n),e))throw new Error("Cannot find square root");return n}function W3(t,e){const r=(t.ORDER-aw)/ow,n=t.mul(e,Rs),s=t.pow(n,r),i=t.mul(e,s),a=t.mul(t.mul(i,Rs),s),o=t.mul(i,t.sub(a,t.ONE));if(!t.eql(t.sqr(o),e))throw new Error("Cannot find square root");return o}function K3(t){if(t<BigInt(3))throw new Error("sqrt is not defined for small field");let e=t-Mt,r=0;for(;e%Rs===Vt;)e/=Rs,r++;let n=Rs;const s=u0(t);for(;ty(s,n)===1;)if(n++>1e3)throw new Error("Cannot find square root: probably non-prime P");if(r===1)return cw;let i=s.pow(n,e);const a=(e+Mt)/Rs;return function(c,u){if(c.is0(u))return u;if(ty(c,u)!==1)throw new Error("Cannot find square root");let f=r,l=c.mul(c.ONE,i),p=c.pow(u,e),d=c.pow(u,a);for(;!c.eql(p,c.ONE);){if(c.is0(p))return c.ZERO;let b=1,g=c.sqr(p);for(;!c.eql(g,c.ONE);)if(b++,g=c.sqr(g),b===f)throw new Error("Cannot find square root");const A=Mt<<BigInt(f-b-1),S=c.pow(l,A);f=b,l=c.sqr(S),p=c.mul(p,l),d=c.mul(d,S)}return d}}function X3(t){return t%iw===q3?cw:t%ow===aw?W3:K3(t)}const Y3=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function J3(t){const e={ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"},r=Y3.reduce((n,s)=>(n[s]="function",n),e);return gu(t,r)}function Z3(t,e,r){if(r<Vt)throw new Error("invalid exponent, negatives unsupported");if(r===Vt)return t.ONE;if(r===Mt)return e;let n=t.ONE,s=e;for(;r>Vt;)r&Mt&&(n=t.mul(n,s)),s=t.sqr(s),r>>=Mt;return n}function uw(t,e,r=!1){const n=new Array(e.length).fill(r?t.ZERO:void 0),s=e.reduce((a,o,c)=>t.is0(o)?a:(n[c]=a,t.mul(a,o)),t.ONE),i=t.inv(s);return e.reduceRight((a,o,c)=>t.is0(o)?a:(n[c]=t.mul(a,n[c]),t.mul(a,o)),i),n}function ty(t,e){const r=(t.ORDER-Mt)/Rs,n=t.pow(e,r),s=t.eql(n,t.ONE),i=t.eql(n,t.ZERO),a=t.eql(n,t.neg(t.ONE));if(!s&&!i&&!a)throw new Error("invalid Legendre symbol result");return s?1:i?0:-1}function fw(t,e){e!==void 0&&hs(e);const r=e!==void 0?e:t.toString(2).length,n=Math.ceil(r/8);return{nBitLength:r,nByteLength:n}}function u0(t,e,r=!1,n={}){if(t<=Vt)throw new Error("invalid field: expected ORDER > 0, got "+t);const{nBitLength:s,nByteLength:i}=fw(t,e);if(i>2048)throw new Error("invalid field: expected ORDER of <= 2048 bytes");let a;const o=Object.freeze({ORDER:t,isLE:r,BITS:s,BYTES:i,MASK:bu(s),ZERO:Vt,ONE:Mt,create:c=>Ht(c,t),isValid:c=>{if(typeof c!="bigint")throw new Error("invalid field element: expected bigint, got "+typeof c);return Vt<=c&&c<t},is0:c=>c===Vt,isOdd:c=>(c&Mt)===Mt,neg:c=>Ht(-c,t),eql:(c,u)=>c===u,sqr:c=>Ht(c*c,t),add:(c,u)=>Ht(c+u,t),sub:(c,u)=>Ht(c-u,t),mul:(c,u)=>Ht(c*u,t),pow:(c,u)=>Z3(o,c,u),div:(c,u)=>Ht(c*_d(u,t),t),sqrN:c=>c*c,addN:(c,u)=>c+u,subN:(c,u)=>c-u,mulN:(c,u)=>c*u,inv:c=>_d(c,t),sqrt:n.sqrt||(c=>(a||(a=X3(t)),a(o,c))),toBytes:c=>r?i1(c,i):Uo(c,i),fromBytes:c=>{if(c.length!==i)throw new Error("Field.fromBytes: expected "+i+" bytes, got "+c.length);return r?s1(c):Ds(c)},invertBatch:c=>uw(o,c),cmov:(c,u,f)=>f?u:c});return Object.freeze(o)}function lw(t){if(typeof t!="bigint")throw new Error("field order must be bigint");const e=t.toString(2).length;return Math.ceil(e/8)}function dw(t){const e=lw(t);return e+Math.ceil(e/2)}function Q3(t,e,r=!1){const n=t.length,s=lw(e),i=dw(e);if(n<16||n<i||n>1024)throw new Error("expected "+i+"-1024 bytes of input, got "+n);const a=r?s1(t):Ds(t),o=Ht(a,e-Mt)+Mt;return r?i1(o,s):Uo(o,s)}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const ry=BigInt(0),Id=BigInt(1);function gf(t,e){const r=e.negate();return t?r:e}function hw(t,e){if(!Number.isSafeInteger(t)||t<=0||t>e)throw new Error("invalid window size, expected [1.."+e+"], got W="+t)}function wf(t,e){hw(t,e);const r=Math.ceil(e/t)+1,n=2**(t-1),s=2**t,i=bu(t),a=BigInt(t);return{windows:r,windowSize:n,mask:i,maxNumber:s,shiftBy:a}}function ny(t,e,r){const{windowSize:n,mask:s,maxNumber:i,shiftBy:a}=r;let o=Number(t&s),c=t>>a;o>n&&(o-=i,c+=Id);const u=e*n,f=u+Math.abs(o)-1,l=o===0,p=o<0,d=e%2!==0;return{nextN:c,offset:f,isZero:l,isNeg:p,isNegF:d,offsetF:u}}function ek(t,e){if(!Array.isArray(t))throw new Error("array expected");t.forEach((r,n)=>{if(!(r instanceof e))throw new Error("invalid point at index "+n)})}function tk(t,e){if(!Array.isArray(t))throw new Error("array of scalars expected");t.forEach((r,n)=>{if(!e.isValid(r))throw new Error("invalid scalar at index "+n)})}const vf=new WeakMap,pw=new WeakMap;function Ef(t){return pw.get(t)||1}function rk(t,e){return{constTimeNegate:gf,hasPrecomputes(r){return Ef(r)!==1},unsafeLadder(r,n,s=t.ZERO){let i=r;for(;n>ry;)n&Id&&(s=s.add(i)),i=i.double(),n>>=Id;return s},precomputeWindow(r,n){const{windows:s,windowSize:i}=wf(n,e),a=[];let o=r,c=o;for(let u=0;u<s;u++){c=o,a.push(c);for(let f=1;f<i;f++)c=c.add(o),a.push(c);o=c.double()}return a},wNAF(r,n,s){let i=t.ZERO,a=t.BASE;const o=wf(r,e);for(let c=0;c<o.windows;c++){const{nextN:u,offset:f,isZero:l,isNeg:p,isNegF:d,offsetF:b}=ny(s,c,o);s=u,l?a=a.add(gf(d,n[b])):i=i.add(gf(p,n[f]))}return{p:i,f:a}},wNAFUnsafe(r,n,s,i=t.ZERO){const a=wf(r,e);for(let o=0;o<a.windows&&s!==ry;o++){const{nextN:c,offset:u,isZero:f,isNeg:l}=ny(s,o,a);if(s=c,!f){const p=n[u];i=i.add(l?p.negate():p)}}return i},getPrecomputes(r,n,s){let i=vf.get(n);return i||(i=this.precomputeWindow(n,r),r!==1&&vf.set(n,s(i))),i},wNAFCached(r,n,s){const i=Ef(r);return this.wNAF(i,this.getPrecomputes(i,r,s),n)},wNAFCachedUnsafe(r,n,s,i){const a=Ef(r);return a===1?this.unsafeLadder(r,n,i):this.wNAFUnsafe(a,this.getPrecomputes(a,r,s),n,i)},setWindowSize(r,n){hw(n,e),pw.set(r,n),vf.delete(r)}}}function nk(t,e,r,n){ek(r,t),tk(n,e);const s=r.length,i=n.length;if(s!==i)throw new Error("arrays of points and scalars must have equal length");const a=t.ZERO,o=dS(BigInt(s));let c=1;o>12?c=o-3:o>4?c=o-2:o>0&&(c=2);const u=bu(c),f=new Array(Number(u)+1).fill(a),l=Math.floor((e.BITS-1)/c)*c;let p=a;for(let d=l;d>=0;d-=c){f.fill(a);for(let g=0;g<i;g++){const A=n[g],S=Number(A>>BigInt(d)&u);f[S]=f[S].add(r[g])}let b=a;for(let g=f.length-1,A=a;g>0;g--)A=A.add(f[g]),b=b.add(A);if(p=p.add(b),d!==0)for(let g=0;g<c;g++)p=p.double()}return p}function yw(t){return J3(t.Fp),gu(t,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...fw(t.n,t.nBitLength),...t,p:t.Fp.ORDER})}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */function sy(t){t.lowS!==void 0&&oo("lowS",t.lowS),t.prehash!==void 0&&oo("prehash",t.prehash)}function sk(t){const e=yw(t);gu(e,{a:"field",b:"field"},{allowInfinityPoint:"boolean",allowedPrivateKeyLengths:"array",clearCofactor:"function",fromBytes:"function",isTorsionFree:"function",toBytes:"function",wrapPrivateKey:"boolean"});const{endo:r,Fp:n,a:s}=e;if(r){if(!n.eql(s,n.ZERO))throw new Error("invalid endo: CURVE.a must be 0");if(typeof r!="object"||typeof r.beta!="bigint"||typeof r.splitScalar!="function")throw new Error('invalid endo: expected "beta": bigint and "splitScalar": function')}return Object.freeze({...e})}class ik extends Error{constructor(e=""){super(e)}}const En={Err:ik,_tlv:{encode:(t,e)=>{const{Err:r}=En;if(t<0||t>256)throw new r("tlv.encode: wrong tag");if(e.length&1)throw new r("tlv.encode: unpadded data");const n=e.length/2,s=sc(n);if(s.length/2&128)throw new r("tlv.encode: long form length too big");const i=n>127?sc(s.length/2|128):"";return sc(t)+i+s+e},decode(t,e){const{Err:r}=En;let n=0;if(t<0||t>256)throw new r("tlv.encode: wrong tag");if(e.length<2||e[n++]!==t)throw new r("tlv.decode: wrong tlv");const s=e[n++],i=!!(s&128);let a=0;if(!i)a=s;else{const c=s&127;if(!c)throw new r("tlv.decode(long): indefinite length not supported");if(c>4)throw new r("tlv.decode(long): byte length is too big");const u=e.subarray(n,n+c);if(u.length!==c)throw new r("tlv.decode: length bytes not complete");if(u[0]===0)throw new r("tlv.decode(long): zero leftmost byte");for(const f of u)a=a<<8|f;if(n+=c,a<128)throw new r("tlv.decode(long): not minimal encoding")}const o=e.subarray(n,n+a);if(o.length!==a)throw new r("tlv.decode: wrong value length");return{v:o,l:e.subarray(n+a)}}},_int:{encode(t){const{Err:e}=En;if(t<kn)throw new e("integer: negative integers are not allowed");let r=sc(t);if(Number.parseInt(r[0],16)&8&&(r="00"+r),r.length&1)throw new e("unexpected DER parsing assertion: unpadded hex");return r},decode(t){const{Err:e}=En;if(t[0]&128)throw new e("invalid signature integer: negative");if(t[0]===0&&!(t[1]&128))throw new e("invalid signature integer: unnecessary leading zero");return Ds(t)}},toSig(t){const{Err:e,_int:r,_tlv:n}=En,s=hr("signature",t),{v:i,l:a}=n.decode(48,s);if(a.length)throw new e("invalid signature: left bytes after parsing");const{v:o,l:c}=n.decode(2,i),{v:u,l:f}=n.decode(2,c);if(f.length)throw new e("invalid signature: left bytes after parsing");return{r:r.decode(o),s:r.decode(u)}},hexFromSig(t){const{_tlv:e,_int:r}=En,n=e.encode(2,r.encode(t.r)),s=e.encode(2,r.encode(t.s)),i=n+s;return e.encode(48,i)}};function Af(t,e){return co(Uo(t,e))}const kn=BigInt(0),ut=BigInt(1);BigInt(2);const Sf=BigInt(3),ak=BigInt(4);function ok(t){const e=sk(t),{Fp:r}=e,n=u0(e.n,e.nBitLength),s=e.toBytes||((v,w,x)=>{const _=w.toAffine();return Uc(Uint8Array.from([4]),r.toBytes(_.x),r.toBytes(_.y))}),i=e.fromBytes||(v=>{const w=v.subarray(1),x=r.fromBytes(w.subarray(0,r.BYTES)),_=r.fromBytes(w.subarray(r.BYTES,2*r.BYTES));return{x,y:_}});function a(v){const{a:w,b:x}=e,_=r.sqr(v),I=r.mul(_,v);return r.add(r.add(I,r.mul(v,w)),x)}function o(v,w){const x=r.sqr(w),_=a(v);return r.eql(x,_)}if(!o(e.Gx,e.Gy))throw new Error("bad curve params: generator point");const c=r.mul(r.pow(e.a,Sf),ak),u=r.mul(r.sqr(e.b),BigInt(27));if(r.is0(r.add(c,u)))throw new Error("bad curve params: a or b");function f(v){return Gh(v,ut,e.n)}function l(v){const{allowedPrivateKeyLengths:w,nByteLength:x,wrapPrivateKey:_,n:I}=e;if(w&&typeof v!="bigint"){if(No(v)&&(v=co(v)),typeof v!="string"||!w.includes(v.length))throw new Error("invalid private key");v=v.padStart(x*2,"0")}let N;try{N=typeof v=="bigint"?v:Ds(hr("private key",v,x))}catch{throw new Error("invalid private key, expected hex or "+x+" bytes, got "+typeof v)}return _&&(N=Ht(N,I)),Ui("private key",N,ut,I),N}function p(v){if(!(v instanceof g))throw new Error("ProjectivePoint expected")}const d=Hp((v,w)=>{const{px:x,py:_,pz:I}=v;if(r.eql(I,r.ONE))return{x,y:_};const N=v.is0();w==null&&(w=N?r.ONE:r.inv(I));const C=r.mul(x,w),j=r.mul(_,w),M=r.mul(I,w);if(N)return{x:r.ZERO,y:r.ZERO};if(!r.eql(M,r.ONE))throw new Error("invZ was invalid");return{x:C,y:j}}),b=Hp(v=>{if(v.is0()){if(e.allowInfinityPoint&&!r.is0(v.py))return;throw new Error("bad point: ZERO")}const{x:w,y:x}=v.toAffine();if(!r.isValid(w)||!r.isValid(x))throw new Error("bad point: x or y not FE");if(!o(w,x))throw new Error("bad point: equation left != right");if(!v.isTorsionFree())throw new Error("bad point: not in prime-order subgroup");return!0});class g{constructor(w,x,_){if(w==null||!r.isValid(w))throw new Error("x required");if(x==null||!r.isValid(x)||r.is0(x))throw new Error("y required");if(_==null||!r.isValid(_))throw new Error("z required");this.px=w,this.py=x,this.pz=_,Object.freeze(this)}static fromAffine(w){const{x,y:_}=w||{};if(!w||!r.isValid(x)||!r.isValid(_))throw new Error("invalid affine point");if(w instanceof g)throw new Error("projective point not allowed");const I=N=>r.eql(N,r.ZERO);return I(x)&&I(_)?g.ZERO:new g(x,_,r.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(w){const x=uw(r,w.map(_=>_.pz));return w.map((_,I)=>_.toAffine(x[I])).map(g.fromAffine)}static fromHex(w){const x=g.fromAffine(i(hr("pointHex",w)));return x.assertValidity(),x}static fromPrivateKey(w){return g.BASE.multiply(l(w))}static msm(w,x){return nk(g,n,w,x)}_setWindowSize(w){T.setWindowSize(this,w)}assertValidity(){b(this)}hasEvenY(){const{y:w}=this.toAffine();if(r.isOdd)return!r.isOdd(w);throw new Error("Field doesn't support isOdd")}equals(w){p(w);const{px:x,py:_,pz:I}=this,{px:N,py:C,pz:j}=w,M=r.eql(r.mul(x,j),r.mul(N,I)),H=r.eql(r.mul(_,j),r.mul(C,I));return M&&H}negate(){return new g(this.px,r.neg(this.py),this.pz)}double(){const{a:w,b:x}=e,_=r.mul(x,Sf),{px:I,py:N,pz:C}=this;let j=r.ZERO,M=r.ZERO,H=r.ZERO,V=r.mul(I,I),Q=r.mul(N,N),U=r.mul(C,C),K=r.mul(I,N);return K=r.add(K,K),H=r.mul(I,C),H=r.add(H,H),j=r.mul(w,H),M=r.mul(_,U),M=r.add(j,M),j=r.sub(Q,M),M=r.add(Q,M),M=r.mul(j,M),j=r.mul(K,j),H=r.mul(_,H),U=r.mul(w,U),K=r.sub(V,U),K=r.mul(w,K),K=r.add(K,H),H=r.add(V,V),V=r.add(H,V),V=r.add(V,U),V=r.mul(V,K),M=r.add(M,V),U=r.mul(N,C),U=r.add(U,U),V=r.mul(U,K),j=r.sub(j,V),H=r.mul(U,Q),H=r.add(H,H),H=r.add(H,H),new g(j,M,H)}add(w){p(w);const{px:x,py:_,pz:I}=this,{px:N,py:C,pz:j}=w;let M=r.ZERO,H=r.ZERO,V=r.ZERO;const Q=e.a,U=r.mul(e.b,Sf);let K=r.mul(x,N),ee=r.mul(_,C),q=r.mul(I,j),O=r.add(x,_),L=r.add(N,C);O=r.mul(O,L),L=r.add(K,ee),O=r.sub(O,L),L=r.add(x,I);let J=r.add(N,j);return L=r.mul(L,J),J=r.add(K,q),L=r.sub(L,J),J=r.add(_,I),M=r.add(C,j),J=r.mul(J,M),M=r.add(ee,q),J=r.sub(J,M),V=r.mul(Q,L),M=r.mul(U,q),V=r.add(M,V),M=r.sub(ee,V),V=r.add(ee,V),H=r.mul(M,V),ee=r.add(K,K),ee=r.add(ee,K),q=r.mul(Q,q),L=r.mul(U,L),ee=r.add(ee,q),q=r.sub(K,q),q=r.mul(Q,q),L=r.add(L,q),K=r.mul(ee,L),H=r.add(H,K),K=r.mul(J,L),M=r.mul(O,M),M=r.sub(M,K),K=r.mul(O,ee),V=r.mul(J,V),V=r.add(V,K),new g(M,H,V)}subtract(w){return this.add(w.negate())}is0(){return this.equals(g.ZERO)}wNAF(w){return T.wNAFCached(this,w,g.normalizeZ)}multiplyUnsafe(w){const{endo:x,n:_}=e;Ui("scalar",w,kn,_);const I=g.ZERO;if(w===kn)return I;if(this.is0()||w===ut)return this;if(!x||T.hasPrecomputes(this))return T.wNAFCachedUnsafe(this,w,g.normalizeZ);let{k1neg:N,k1:C,k2neg:j,k2:M}=x.splitScalar(w),H=I,V=I,Q=this;for(;C>kn||M>kn;)C&ut&&(H=H.add(Q)),M&ut&&(V=V.add(Q)),Q=Q.double(),C>>=ut,M>>=ut;return N&&(H=H.negate()),j&&(V=V.negate()),V=new g(r.mul(V.px,x.beta),V.py,V.pz),H.add(V)}multiply(w){const{endo:x,n:_}=e;Ui("scalar",w,ut,_);let I,N;if(x){const{k1neg:C,k1:j,k2neg:M,k2:H}=x.splitScalar(w);let{p:V,f:Q}=this.wNAF(j),{p:U,f:K}=this.wNAF(H);V=T.constTimeNegate(C,V),U=T.constTimeNegate(M,U),U=new g(r.mul(U.px,x.beta),U.py,U.pz),I=V.add(U),N=Q.add(K)}else{const{p:C,f:j}=this.wNAF(w);I=C,N=j}return g.normalizeZ([I,N])[0]}multiplyAndAddUnsafe(w,x,_){const I=g.BASE,N=(j,M)=>M===kn||M===ut||!j.equals(I)?j.multiplyUnsafe(M):j.multiply(M),C=N(this,x).add(N(w,_));return C.is0()?void 0:C}toAffine(w){return d(this,w)}isTorsionFree(){const{h:w,isTorsionFree:x}=e;if(w===ut)return!0;if(x)return x(g,this);throw new Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){const{h:w,clearCofactor:x}=e;return w===ut?this:x?x(g,this):this.multiplyUnsafe(e.h)}toRawBytes(w=!0){return oo("isCompressed",w),this.assertValidity(),s(g,this,w)}toHex(w=!0){return oo("isCompressed",w),co(this.toRawBytes(w))}}g.BASE=new g(e.Gx,e.Gy,r.ONE),g.ZERO=new g(r.ZERO,r.ONE,r.ZERO);const{endo:A,nBitLength:S}=e,T=rk(g,A?Math.ceil(S/2):S);return{CURVE:e,ProjectivePoint:g,normPrivateKeyToScalar:l,weierstrassEquation:a,isWithinCurveOrder:f}}function ck(t){const e=yw(t);return gu(e,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...e})}function uk(t){const e=ck(t),{Fp:r,n,nByteLength:s,nBitLength:i}=e,a=r.BYTES+1,o=2*r.BYTES+1;function c(U){return Ht(U,n)}function u(U){return _d(U,n)}const{ProjectivePoint:f,normPrivateKeyToScalar:l,weierstrassEquation:p,isWithinCurveOrder:d}=ok({...e,toBytes(U,K,ee){const q=K.toAffine(),O=r.toBytes(q.x),L=Uc;return oo("isCompressed",ee),ee?L(Uint8Array.from([K.hasEvenY()?2:3]),O):L(Uint8Array.from([4]),O,r.toBytes(q.y))},fromBytes(U){const K=U.length,ee=U[0],q=U.subarray(1);if(K===a&&(ee===2||ee===3)){const O=Ds(q);if(!Gh(O,ut,r.ORDER))throw new Error("Point is not on curve");const L=p(O);let J;try{J=r.sqrt(L)}catch(D){const ne=D instanceof Error?": "+D.message:"";throw new Error("Point is not on curve"+ne)}const B=(J&ut)===ut;return(ee&1)===1!==B&&(J=r.neg(J)),{x:O,y:J}}else if(K===o&&ee===4){const O=r.fromBytes(q.subarray(0,r.BYTES)),L=r.fromBytes(q.subarray(r.BYTES,2*r.BYTES));return{x:O,y:L}}else{const O=a,L=o;throw new Error("invalid Point, expected length of "+O+", or uncompressed "+L+", got "+K)}}});function b(U){const K=n>>ut;return U>K}function g(U){return b(U)?c(-U):U}const A=(U,K,ee)=>Ds(U.slice(K,ee));class S{constructor(K,ee,q){Ui("r",K,ut,n),Ui("s",ee,ut,n),this.r=K,this.s=ee,q!=null&&(this.recovery=q),Object.freeze(this)}static fromCompact(K){const ee=s;return K=hr("compactSignature",K,ee*2),new S(A(K,0,ee),A(K,ee,2*ee))}static fromDER(K){const{r:ee,s:q}=En.toSig(hr("DER",K));return new S(ee,q)}assertValidity(){}addRecoveryBit(K){return new S(this.r,this.s,K)}recoverPublicKey(K){const{r:ee,s:q,recovery:O}=this,L=I(hr("msgHash",K));if(O==null||![0,1,2,3].includes(O))throw new Error("recovery id invalid");const J=O===2||O===3?ee+e.n:ee;if(J>=r.ORDER)throw new Error("recovery id 2 or 3 invalid");const B=O&1?"03":"02",F=f.fromHex(B+Af(J,r.BYTES)),D=u(J),ne=c(-L*D),ae=c(q*D),le=f.BASE.multiplyAndAddUnsafe(F,ne,ae);if(!le)throw new Error("point at infinify");return le.assertValidity(),le}hasHighS(){return b(this.s)}normalizeS(){return this.hasHighS()?new S(this.r,c(-this.s),this.recovery):this}toDERRawBytes(){return Nc(this.toDERHex())}toDERHex(){return En.hexFromSig(this)}toCompactRawBytes(){return Nc(this.toCompactHex())}toCompactHex(){const K=s;return Af(this.r,K)+Af(this.s,K)}}const T={isValidPrivateKey(U){try{return l(U),!0}catch{return!1}},normPrivateKeyToScalar:l,randomPrivateKey:()=>{const U=dw(e.n);return Q3(e.randomBytes(U),e.n)},precompute(U=8,K=f.BASE){return K._setWindowSize(U),K.multiply(BigInt(3)),K}};function v(U,K=!0){return f.fromPrivateKey(U).toRawBytes(K)}function w(U){if(typeof U=="bigint")return!1;if(U instanceof f)return!0;const ee=hr("key",U).length,q=r.BYTES,O=q+1,L=2*q+1;if(!(e.allowedPrivateKeyLengths||s===O))return ee===O||ee===L}function x(U,K,ee=!0){if(w(U)===!0)throw new Error("first arg must be private key");if(w(K)===!1)throw new Error("second arg must be public key");return f.fromHex(K).multiply(l(U)).toRawBytes(ee)}const _=e.bits2int||function(U){if(U.length>8192)throw new Error("input is too large");const K=Ds(U),ee=U.length*8-i;return ee>0?K>>BigInt(ee):K},I=e.bits2int_modN||function(U){return c(_(U))},N=bu(i);function C(U){return Ui("num < 2^"+i,U,kn,N),Uo(U,s)}function j(U,K,ee=M){if(["recovered","canonical"].some(ie=>ie in ee))throw new Error("sign() legacy options not supported");const{hash:q,randomBytes:O}=e;let{lowS:L,prehash:J,extraEntropy:B}=ee;L==null&&(L=!0),U=hr("msgHash",U),sy(ee),J&&(U=hr("prehashed msgHash",q(U)));const F=I(U),D=l(K),ne=[C(D),C(F)];if(B!=null&&B!==!1){const ie=B===!0?O(r.BYTES):B;ne.push(hr("extraEntropy",ie))}const ae=Uc(...ne),le=F;function ue(ie){const se=_(ie);if(!d(se))return;const be=u(se),ge=f.BASE.multiply(se).toAffine(),Ee=c(ge.x);if(Ee===kn)return;const Te=c(be*c(le+Ee*D));if(Te===kn)return;let rt=(ge.x===Ee?0:2)|Number(ge.y&ut),Ce=Te;return L&&b(Te)&&(Ce=g(Te),rt^=1),new S(Ee,Ce,rt)}return{seed:ae,k2sig:ue}}const M={lowS:e.lowS,prehash:!1},H={lowS:e.lowS,prehash:!1};function V(U,K,ee=M){const{seed:q,k2sig:O}=j(U,K,ee),L=e;return hS(L.hash.outputLen,L.nByteLength,L.hmac)(q,O)}f.BASE._setWindowSize(8);function Q(U,K,ee,q=H){var rt;const O=U;K=hr("msgHash",K),ee=hr("publicKey",ee);const{lowS:L,prehash:J,format:B}=q;if(sy(q),"strict"in q)throw new Error("options.strict was renamed to lowS");if(B!==void 0&&B!=="compact"&&B!=="der")throw new Error("format must be compact or der");const F=typeof O=="string"||No(O),D=!F&&!B&&typeof O=="object"&&O!==null&&typeof O.r=="bigint"&&typeof O.s=="bigint";if(!F&&!D)throw new Error("invalid signature, expected Uint8Array, hex string or Signature instance");let ne,ae;try{if(D&&(ne=new S(O.r,O.s)),F){try{B!=="compact"&&(ne=S.fromDER(O))}catch(Ce){if(!(Ce instanceof En.Err))throw Ce}!ne&&B!=="der"&&(ne=S.fromCompact(O))}ae=f.fromHex(ee)}catch{return!1}if(!ne||L&&ne.hasHighS())return!1;J&&(K=e.hash(K));const{r:le,s:ue}=ne,ie=I(K),se=u(ue),be=c(ie*se),ge=c(le*se),Ee=(rt=f.BASE.multiplyAndAddUnsafe(ae,be,ge))==null?void 0:rt.toAffine();return Ee?c(Ee.x)===le:!1}return{CURVE:e,getPublicKey:v,getSharedSecret:x,sign:V,verify:Q,ProjectivePoint:f,Signature:S,utils:T}}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */function fk(t){return{hash:t,hmac:(e,...r)=>sw(t,e,BA(...r)),randomBytes:RA}}function lk(t,e){const r=n=>uk({...t,...fk(n)});return{...r(e),create:r}}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const mw=BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),iy=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),dk=BigInt(0),hk=BigInt(1),Pd=BigInt(2),ay=(t,e)=>(t+e/Pd)/e;function pk(t){const e=mw,r=BigInt(3),n=BigInt(6),s=BigInt(11),i=BigInt(22),a=BigInt(23),o=BigInt(44),c=BigInt(88),u=t*t*t%e,f=u*u*t%e,l=lr(f,r,e)*f%e,p=lr(l,r,e)*f%e,d=lr(p,Pd,e)*u%e,b=lr(d,s,e)*d%e,g=lr(b,i,e)*b%e,A=lr(g,o,e)*g%e,S=lr(A,c,e)*A%e,T=lr(S,o,e)*g%e,v=lr(T,r,e)*f%e,w=lr(v,a,e)*b%e,x=lr(w,n,e)*u%e,_=lr(x,Pd,e);if(!Od.eql(Od.sqr(_),t))throw new Error("Cannot find square root");return _}const Od=u0(mw,void 0,void 0,{sqrt:pk}),bw=lk({a:dk,b:BigInt(7),Fp:Od,n:iy,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),h:BigInt(1),lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:t=>{const e=iy,r=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),n=-hk*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),s=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),i=r,a=BigInt("0x100000000000000000000000000000000"),o=ay(i*t,e),c=ay(-n*t,e);let u=Ht(t-o*r-c*s,e),f=Ht(-o*n-c*i,e);const l=u>a,p=f>a;if(l&&(u=e-u),p&&(f=e-f),u>a||f>a)throw new Error("splitScalar: Endomorphism failed, k="+t);return{k1neg:l,k1:u,k2neg:p,k2:f}}}},Wg),yk=Object.freeze(Object.defineProperty({__proto__:null,secp256k1:bw},Symbol.toStringTag,{value:"Module"}));function gw(t,e={}){const{recovered:r}=e;if(typeof t.r>"u")throw new xf({signature:t});if(typeof t.s>"u")throw new xf({signature:t});if(r&&typeof t.yParity>"u")throw new xf({signature:t});if(t.r<0n||t.r>Zp)throw new Ak({value:t.r});if(t.s<0n||t.s>Zp)throw new Sk({value:t.s});if(typeof t.yParity=="number"&&t.yParity!==0&&t.yParity!==1)throw new l0({value:t.yParity})}function mk(t){return ww(Fr(t))}function ww(t){if(t.length!==130&&t.length!==132)throw new Ek({signature:t});const e=BigInt(rn(t,0,32)),r=BigInt(rn(t,32,64)),n=(()=>{const s=+`0x${t.slice(130)}`;if(!Number.isNaN(s))try{return f0(s)}catch{throw new l0({value:s})}})();return typeof n>"u"?{r:e,s:r}:{r:e,s:r,yParity:n}}function bk(t){if(!(typeof t.r>"u")&&!(typeof t.s>"u"))return gk(t)}function gk(t){const e=typeof t=="string"?ww(t):t instanceof Uint8Array?mk(t):typeof t.r=="string"?vk(t):t.v?wk(t):{r:t.r,s:t.s,...typeof t.yParity<"u"?{yParity:t.yParity}:{}};return gw(e),e}function wk(t){return{r:t.r,s:t.s,yParity:f0(t.v)}}function vk(t){const e=(()=>{const r=t.v?Number(t.v):void 0;let n=t.yParity?Number(t.yParity):void 0;if(typeof r=="number"&&typeof n!="number"&&(n=f0(r)),typeof n!="number")throw new l0({value:t.yParity});return n})();return{r:BigInt(t.r),s:BigInt(t.s),yParity:e}}function f0(t){if(t===0||t===27)return 0;if(t===1||t===28)return 1;if(t>=35)return t%2===0?1:0;throw new xk({value:t})}class Ek extends fe{constructor({signature:e}){super(`Value \`${e}\` is an invalid signature size.`,{metaMessages:["Expected: 64 bytes or 65 bytes.",`Received ${ir($S(e))} bytes.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.InvalidSerializedSizeError"})}}class xf extends fe{constructor({signature:e}){super(`Signature \`${u1(e)}\` is missing either an \`r\`, \`s\`, or \`yParity\` property.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.MissingPropertiesError"})}}class Ak extends fe{constructor({value:e}){super(`Value \`${e}\` 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 Sk extends fe{constructor({value:e}){super(`Value \`${e}\` 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 l0 extends fe{constructor({value:e}){super(`Value \`${e}\` 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 xk extends fe{constructor({value:e}){super(`Value \`${e}\` 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 kk(t,e={}){return typeof t.chainId=="string"?Tk(t):{...t,...e.signature}}function Tk(t){const{address:e,chainId:r,nonce:n}=t,s=bk(t);return{address:e,chainId:Number(r),nonce:BigInt(n),...s}}const _k="0x8010801080108010801080108010801080108010801080108010801080108010",Ik=ew("(uint256 chainId, address delegation, uint256 nonce, uint8 yParity, uint256 r, uint256 s), address to, bytes data");function vw(t){if(typeof t=="string"){if(rn(t,-32)!==_k)throw new Bk(t)}else gw(t.authorization)}function Pk(t){vw(t);const e=p1(rn(t,-64,-32)),r=rn(t,-e-64,-64),n=rn(t,0,-e-64),[s,i,a]=L3(Ik,r);return{authorization:kk({address:s.delegation,chainId:Number(s.chainId),nonce:s.nonce,yParity:s.yParity,r:s.r,s:s.s}),signature:n,...a&&a!=="0x"?{data:a,to:i}:{}}}function Ok(t){try{return vw(t),!0}catch{return!1}}let Bk=class extends fe{constructor(e){super(`Value \`${e}\` is an invalid ERC-8010 wrapped signature.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"SignatureErc8010.InvalidWrappedSignatureError"})}};function Ck(t){return t.map(e=>({...e,value:BigInt(e.value)}))}function Rk(t){return{...t,balance:t.balance?BigInt(t.balance):void 0,nonce:t.nonce?gr(t.nonce):void 0,storageProof:t.storageProof?Ck(t.storageProof):void 0}}async function Nk(t,{address:e,blockNumber:r,blockTag:n,storageKeys:s}){const i=n??"latest",a=r!==void 0?Y(r):void 0,o=await t.request({method:"eth_getProof",params:[e,s,a||i]});return Rk(o)}async function Uk(t,{address:e,blockNumber:r,blockTag:n="latest",slot:s}){const i=r!==void 0?Y(r):void 0;return await t.request({method:"eth_getStorageAt",params:[e,s,i||n]})}async function d0(t,{blockHash:e,blockNumber:r,blockTag:n,hash:s,index:i,sender:a,nonce:o}){var p,d,b;const c=n||"latest",u=r!==void 0?Y(r):void 0;let f=null;if(s?f=await t.request({method:"eth_getTransactionByHash",params:[s]},{dedupe:!0}):e?f=await t.request({method:"eth_getTransactionByBlockHashAndIndex",params:[e,Y(i)]},{dedupe:!0}):typeof i=="number"?f=await t.request({method:"eth_getTransactionByBlockNumberAndIndex",params:[u||c,Y(i)]},{dedupe:!!u}):a&&typeof o=="number"&&(f=await t.request({method:"eth_getTransactionBySenderAndNonce",params:[a,Y(o)]},{dedupe:!0})),!f)throw new Ug({blockHash:e,blockNumber:r,blockTag:c,hash:s,index:i});return(((b=(d=(p=t.chain)==null?void 0:p.formatters)==null?void 0:d.transaction)==null?void 0:b.format)||Co)(f,"getTransaction")}async function Fk(t,{hash:e,transactionReceipt:r}){const[n,s]=await Promise.all([re(t,$o,"getBlockNumber")({}),e?re(t,d0,"getTransaction")({hash:e}):void 0]),i=(r==null?void 0:r.blockNumber)||(s==null?void 0:s.blockNumber);return i?n-i+1n:0n}async function Ac(t,{hash:e}){var s,i,a;const r=await t.request({method:"eth_getTransactionReceipt",params:[e]},{dedupe:!0});if(!r)throw new Fg({hash:e});return(((a=(i=(s=t.chain)==null?void 0:s.formatters)==null?void 0:i.transactionReceipt)==null?void 0:a.format)||Zh)(r,"getTransactionReceipt")}async function Mk(t,e){var T;const{account:r,authorizationList:n,allowFailure:s=!0,blockNumber:i,blockOverrides:a,blockTag:o,stateOverride:c}=e,u=e.contracts,{batchSize:f=e.batchSize??1024,deployless:l=e.deployless??!1}=typeof((T=t.batch)==null?void 0:T.multicall)=="object"?t.batch.multicall:{},p=(()=>{if(e.multicallAddress)return e.multicallAddress;if(l)return null;if(t.chain)return na({blockNumber:i,chain:t.chain,contract:"multicall3"});throw new Error("client chain not configured. multicallAddress is required.")})(),d=[[]];let b=0,g=0;for(let v=0;v<u.length;v++){const{abi:w,address:x,args:_,functionName:I}=u[v];try{const N=or({abi:w,args:_,functionName:I});g+=(N.length-2)/2,f>0&&g>f&&d[b].length>0&&(b++,g=(N.length-2)/2,d[b]=[]),d[b]=[...d[b],{allowFailure:!0,callData:N,target:x}]}catch(N){const C=Ys(N,{abi:w,address:x,args:_,docsPath:"/docs/contract/multicall",functionName:I,sender:r});if(!s)throw C;d[b]=[...d[b],{allowFailure:!0,callData:"0x",target:x}]}}const A=await Promise.allSettled(d.map(v=>re(t,wr,"readContract")({...p===null?{code:Wh}:{address:p},abi:Fc,account:r,args:[v],authorizationList:n,blockNumber:i,blockOverrides:a,blockTag:o,functionName:"aggregate3",stateOverride:c}))),S=[];for(let v=0;v<A.length;v++){const w=A[v];if(w.status==="rejected"){if(!s)throw w.reason;for(let _=0;_<d[v].length;_++)S.push({status:"failure",error:w.reason,result:void 0});continue}const x=w.value;for(let _=0;_<x.length;_++){const{returnData:I,success:N}=x[_],{callData:C}=d[v][_],{abi:j,address:M,functionName:H,args:V}=u[S.length];try{if(C==="0x")throw new ko;if(!N)throw new du({data:I});const Q=ci({abi:j,args:V,data:I,functionName:H});S.push(s?{result:Q,status:"success"}:Q)}catch(Q){const U=Ys(Q,{abi:j,address:M,args:V,docsPath:"/docs/contract/multicall",functionName:H});if(!s)throw U;S.push({error:U,result:void 0,status:"failure"})}}}if(S.length!==u.length)throw new G("multicall results mismatch");return S}async function Bd(t,e){const{blockNumber:r,blockTag:n=t.experimental_blockTag??"latest",blocks:s,returnFullTransactions:i,traceTransfers:a,validation:o}=e;try{const c=[];for(const p of s){const d=p.blockOverrides?b1(p.blockOverrides):void 0,b=p.calls.map(A=>{const S=A,T=S.account?Le(S.account):void 0,v=S.abi?or(S):S.data,w={...S,account:T,data:S.dataSuffix?sr([v||"0x",S.dataSuffix]):v,from:S.from??(T==null?void 0:T.address)};return jn(w),Es(w)}),g=p.stateOverrides?Ph(p.stateOverrides):void 0;c.push({blockOverrides:d,calls:b,stateOverrides:g})}const f=(typeof r=="bigint"?Y(r):void 0)||n;return(await t.request({method:"eth_simulateV1",params:[{blockStateCalls:c,returnFullTransactions:i,traceTransfers:a,validation:o},f]})).map((p,d)=>({...Bh(p),calls:p.calls.map((b,g)=>{var j,M;const{abi:A,args:S,functionName:T,to:v}=s[d].calls[g],w=((j=b.error)==null?void 0:j.data)??b.returnData,x=BigInt(b.gasUsed),_=(M=b.logs)==null?void 0:M.map(H=>Un(H)),I=b.status==="0x1"?"success":"failure",N=A&&I==="success"&&w!=="0x"?ci({abi:A,data:w,functionName:T}):null,C=(()=>{var V;if(I==="success")return;let H;if(((V=b.error)==null?void 0:V.data)==="0x"?H=new ko:b.error&&(H=new du(b.error)),!!H)return Ys(H,{abi:A??[],address:v??"0x",args:S,functionName:T??"<unknown>"})})();return{data:w,gasUsed:x,logs:_,status:I,...I==="success"?{result:N}:{error:C}}})}))}catch(c){const u=c,f=pu(u,{});throw f instanceof Bo?u:f}}function Cd(t){let e=!0,r="",n=0,s="",i=!1;for(let a=0;a<t.length;a++){const o=t[a];if(["(",")",","].includes(o)&&(e=!0),o==="("&&n++,o===")"&&n--,!!e){if(n===0){if(o===" "&&["event","function","error",""].includes(s))s="";else if(s+=o,o===")"){i=!0;break}continue}if(o===" "){t[a-1]!==","&&r!==","&&r!==",("&&(r="",e=!1);continue}s+=o,r+=o}}if(!i)throw new fe("Unable to normalize signature.");return s}function Rd(t,e){const r=typeof t,n=e.type;switch(n){case"address":return xd(t,{strict:!1});case"bool":return r==="boolean";case"function":return r==="string";case"string":return r==="string";default:return n==="tuple"&&"components"in e?Object.values(e.components).every((s,i)=>Rd(Object.values(t)[i],s)):/^u?int(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/.test(n)?r==="number"||r==="bigint":/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/.test(n)?r==="string"||t instanceof Uint8Array:/[a-z]+[1-9]{0,3}(\[[0-9]{0,}\])+$/.test(n)?Array.isArray(t)&&t.every(s=>Rd(s,{...e,type:n.replace(/(\[[0-9]{0,}\])$/,"")})):!1}}function Ew(t,e,r){for(const n in t){const s=t[n],i=e[n];if(s.type==="tuple"&&i.type==="tuple"&&"components"in s&&"components"in i)return Ew(s.components,i.components,r[n]);const a=[s.type,i.type];if(a.includes("address")&&a.includes("bytes20")?!0:a.includes("address")&&a.includes("string")?xd(r[n],{strict:!1}):a.includes("address")&&a.includes("bytes")?xd(r[n],{strict:!1}):!1)return a}}function Aw(t,e={}){const{prepare:r=!0}=e,n=Array.isArray(t)||typeof t=="string"?yp(t):t;return{...n,...r?{hash:Ti(n)}:{}}}function _u(t,e,r){const{args:n=[],prepare:s=!0}=r??{},i=jS(e,{strict:!1}),a=t.filter(u=>i?u.type==="function"||u.type==="error"?Sw(u)===rn(e,0,4):u.type==="event"?Ti(u)===e:!1:"name"in u&&u.name===e);if(a.length===0)throw new $c({name:e});if(a.length===1)return{...a[0],...s?{hash:Ti(a[0])}:{}};let o;for(const u of a){if(!("inputs"in u))continue;if(!n||n.length===0){if(!u.inputs||u.inputs.length===0)return{...u,...s?{hash:Ti(u)}:{}};continue}if(!u.inputs||u.inputs.length===0||u.inputs.length!==n.length)continue;if(n.every((l,p)=>{const d="inputs"in u&&u.inputs[p];return d?Rd(l,d):!1})){if(o&&"inputs"in o&&o.inputs){const l=Ew(u.inputs,o.inputs,n);if(l)throw new jk({abiItem:u,type:l[0]},{abiItem:o,type:l[1]})}o=u}}const c=(()=>{if(o)return o;const[u,...f]=a;return{...u,overloads:f}})();if(!c)throw new $c({name:e});return{...c,...s?{hash:Ti(c)}:{}}}function Sw(...t){const e=(()=>{if(Array.isArray(t[0])){const[r,n]=t;return _u(r,n)}return t[0]})();return rn(Ti(e),0,4)}function $k(...t){const e=(()=>{if(Array.isArray(t[0])){const[n,s]=t;return _u(n,s)}return t[0]})(),r=typeof e=="string"?e:Bc(e);return Cd(r)}function Ti(...t){const e=(()=>{if(Array.isArray(t[0])){const[r,n]=t;return _u(r,n)}return t[0]})();return typeof e!="string"&&"hash"in e&&e.hash?e.hash:J1(qh($k(e)))}class jk extends fe{constructor(e,r){super("Found ambiguous types in overloaded ABI Items.",{metaMessages:[`\`${e.type}\` in \`${Cd(Bc(e.abiItem))}\`, and`,`\`${r.type}\` in \`${Cd(Bc(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 $c extends fe{constructor({name:e,data:r,type:n="item"}){const s=e?` with name "${e}"`:r?` with data "${r}"`:"";super(`ABI ${n}${s} not found.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiItem.NotFoundError"})}}function Hk(...t){var i;const[e,r]=(()=>{if(Array.isArray(t[0])){const[a,o]=t;return[Dk(a),o]}return t})(),{bytecode:n,args:s}=r;return Ur(n,(i=e.inputs)!=null&&i.length&&(s!=null&&s.length)?o0(e.inputs,s):"0x")}function Lk(t){return Aw(t)}function Dk(t){const e=t.find(r=>r.type==="constructor");if(!e)throw new $c({name:"constructor"});return e}function zk(...t){const[e,r=[]]=(()=>{if(Array.isArray(t[0])){const[u,f,l]=t;return[oy(u,f,{args:l}),l]}const[o,c]=t;return[o,c]})(),{overloads:n}=e,s=n?oy([e,...n],e.name,{args:r}):e,i=Vk(s),a=r.length>0?o0(s.inputs,r):void 0;return a?Ur(i,a):i}function yi(t,e={}){return Aw(t,e)}function oy(t,e,r){const n=_u(t,e,r);if(n.type!=="function")throw new $c({name:e,type:"function"});return n}function Vk(t){return Sw(t)}const Gk="0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee",Wr="0x0000000000000000000000000000000000000000",qk="0x6080604052348015600e575f80fd5b5061016d8061001c5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c8063f8b2cb4f1461002d575b5f80fd5b610047600480360381019061004291906100db565b61005d565b604051610054919061011e565b60405180910390f35b5f8173ffffffffffffffffffffffffffffffffffffffff16319050919050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6100aa82610081565b9050919050565b6100ba816100a0565b81146100c4575f80fd5b50565b5f813590506100d5816100b1565b92915050565b5f602082840312156100f0576100ef61007d565b5b5f6100fd848285016100c7565b91505092915050565b5f819050919050565b61011881610106565b82525050565b5f6020820190506101315f83018461010f565b9291505056fea26469706673582212203b9fe929fe995c7cf9887f0bdba8a36dd78e8b73f149b17d2d9ad7cd09d2dc6264736f6c634300081a0033";async function Wk(t,e){const{blockNumber:r,blockTag:n,calls:s,stateOverrides:i,traceAssetChanges:a,traceTransfers:o,validation:c}=e,u=e.account?Le(e.account):void 0;if(a&&!u)throw new G("`account` is required when `traceAssetChanges` is true");const f=u?Hk(Lk("constructor(bytes, bytes)"),{bytecode:E1,args:[qk,zk(yi("function getBalance(address)"),[u.address])]}):void 0,l=a?await Promise.all(e.calls.map(async q=>{if(!q.data&&!q.abi)return;const{accessList:O}=await L1(t,{account:u.address,...q,data:q.abi?or(q):q.data});return O.map(({address:L,storageKeys:J})=>J.length>0?L:null)})).then(q=>q.flat().filter(Boolean)):[],p=await Bd(t,{blockNumber:r,blockTag:n,blocks:[...a?[{calls:[{data:f}],stateOverrides:i},{calls:l.map((q,O)=>({abi:[yi("function balanceOf(address) returns (uint256)")],functionName:"balanceOf",args:[u.address],to:q,from:Wr,nonce:O})),stateOverrides:[{address:Wr,nonce:0}]}]:[],{calls:[...s,{}].map(q=>({...q,from:u==null?void 0:u.address})),stateOverrides:i},...a?[{calls:[{data:f}]},{calls:l.map((q,O)=>({abi:[yi("function balanceOf(address) returns (uint256)")],functionName:"balanceOf",args:[u.address],to:q,from:Wr,nonce:O})),stateOverrides:[{address:Wr,nonce:0}]},{calls:l.map((q,O)=>({to:q,abi:[yi("function decimals() returns (uint256)")],functionName:"decimals",from:Wr,nonce:O})),stateOverrides:[{address:Wr,nonce:0}]},{calls:l.map((q,O)=>({to:q,abi:[yi("function tokenURI(uint256) returns (string)")],functionName:"tokenURI",args:[0n],from:Wr,nonce:O})),stateOverrides:[{address:Wr,nonce:0}]},{calls:l.map((q,O)=>({to:q,abi:[yi("function symbol() returns (string)")],functionName:"symbol",from:Wr,nonce:O})),stateOverrides:[{address:Wr,nonce:0}]}]:[]],traceTransfers:o,validation:c}),d=a?p[2]:p[0],[b,g,,A,S,T,v,w]=a?p:[],{calls:x,..._}=d,I=x.slice(0,-1)??[],N=(b==null?void 0:b.calls)??[],C=(g==null?void 0:g.calls)??[],j=[...N,...C].map(q=>q.status==="success"?ft(q.data):null),M=(A==null?void 0:A.calls)??[],H=(S==null?void 0:S.calls)??[],V=[...M,...H].map(q=>q.status==="success"?ft(q.data):null),Q=((T==null?void 0:T.calls)??[]).map(q=>q.status==="success"?q.result:null),U=((w==null?void 0:w.calls)??[]).map(q=>q.status==="success"?q.result:null),K=((v==null?void 0:v.calls)??[]).map(q=>q.status==="success"?q.result:null),ee=[];for(const[q,O]of V.entries()){const L=j[q];if(typeof O!="bigint"||typeof L!="bigint")continue;const J=Q[q-1],B=U[q-1],F=K[q-1],D=q===0?{address:Gk,decimals:18,symbol:"ETH"}:{address:l[q-1],decimals:F||J?Number(J??1):void 0,symbol:B??void 0};ee.some(ne=>ne.token.address===D.address)||ee.push({token:D,value:{pre:L,post:O,diff:O-L}})}return{assetChanges:ee,block:_,results:I}}const xw="0x6492649264926492649264926492649264926492649264926492649264926492";function Kk(t){if(rn(t,-32)!==xw)throw new Jk(t)}function Xk(t){const{data:e,signature:r,to:n}=t;return Ur(o0(ew("address, bytes, bytes"),[n,e,r]),xw)}function Yk(t){try{return Kk(t),!0}catch{return!1}}class Jk extends fe{constructor(e){super(`Value \`${e}\` is an invalid ERC-6492 wrapped signature.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"SignatureErc6492.InvalidWrappedSignatureError"})}}function Zk({r:t,s:e,to:r="hex",v:n,yParity:s}){const i=(()=>{if(s===0||s===1)return s;if(n&&(n===27n||n===28n||n>=35n))return n%2n===0n?1:0;throw new Error("Invalid `v` or `yParity` value")})(),a=`0x${new bw.Signature(ft(t),ft(e)).toCompactHex()}${i===0?"1b":"1c"}`;return r==="hex"?a:an(a)}async function Iu(t,e){var c,u,f,l;const{address:r,chain:n=t.chain,hash:s,erc6492VerifierAddress:i=e.universalSignatureVerifierAddress??((u=(c=n==null?void 0:n.contracts)==null?void 0:c.erc6492Verifier)==null?void 0:u.address),multicallAddress:a=e.multicallAddress??((l=(f=n==null?void 0:n.contracts)==null?void 0:f.multicall3)==null?void 0:l.address)}=e;if(n!=null&&n.verifyHash)return await n.verifyHash(t,e);const o=(()=>{const p=e.signature;return Nr(p)?p:typeof p=="object"&&"r"in p&&"s"in p?Zk(p):tt(p)})();try{return Ok(o)?await Qk(t,{...e,multicallAddress:a,signature:o}):await eT(t,{...e,verifierAddress:i,signature:o})}catch(p){try{if(ra(vh(r),await Hg({hash:s,signature:o})))return!0}catch{}if(p instanceof ei)return!1;throw p}}async function Qk(t,e){var A;const{address:r,blockNumber:n,blockTag:s,hash:i,multicallAddress:a}=e,{authorization:o,data:c,signature:u,to:f}=Pk(e.signature);if(await Sd(t,{address:r,blockNumber:n,blockTag:s})===jr(["0xef0100",o.address]))return await tT(t,{address:r,blockNumber:n,blockTag:s,hash:i,signature:u});const p={address:o.address,chainId:Number(o.chainId),nonce:Number(o.nonce),r:Y(o.r,{size:32}),s:Y(o.s,{size:32}),yParity:o.yParity};if(!await Yx({address:r,authorization:p}))throw new ei;const b=await re(t,wr,"readContract")({...a?{address:a}:{code:Wh},authorizationList:[p],abi:Fc,blockNumber:n,blockTag:"pending",functionName:"aggregate3",args:[[...c?[{allowFailure:!0,target:f??r,callData:c}]:[],{allowFailure:!0,target:r,callData:or({abi:v1,functionName:"isValidSignature",args:[i,u]})}]]}),g=(A=b[b.length-1])==null?void 0:A.returnData;if(g!=null&&g.startsWith("0x1626ba7e"))return!0;throw new ei}async function eT(t,e){const{address:r,factory:n,factoryData:s,hash:i,signature:a,verifierAddress:o,...c}=e,u=await(async()=>!n&&!s||Yk(a)?a:Xk({data:s,signature:a,to:n}))(),f=o?{to:o,data:or({abi:qp,functionName:"isValidSig",args:[r,i,u]}),...c}:{data:Eu({abi:qp,args:[r,i,u],bytecode:qS}),...c},{data:l}=await re(t,Mo,"call")(f).catch(p=>{throw p instanceof $g?new ei:p});if(dA(l??"0x0"))return!0;throw new ei}async function tT(t,e){const{address:r,blockNumber:n,blockTag:s,hash:i,signature:a}=e;if((await re(t,wr,"readContract")({address:r,abi:v1,args:[i,a],blockNumber:n,blockTag:s,functionName:"isValidSignature"}).catch(c=>{throw c instanceof jg?new ei:c})).startsWith("0x1626ba7e"))return!0;throw new ei}class ei extends Error{}async function rT(t,{address:e,message:r,factory:n,factoryData:s,signature:i,...a}){const o=V1(r);return re(t,Iu,"verifyHash")({address:e,factory:n,factoryData:s,hash:o,signature:i,...a})}async function nT(t,e){const{address:r,factory:n,factoryData:s,signature:i,message:a,primaryType:o,types:c,domain:u,...f}=e,l=l3({message:a,primaryType:o,types:c,domain:u});return re(t,Iu,"verifyHash")({address:r,factory:n,factoryData:s,hash:l,signature:i,...f})}function kw(t,{emitOnBegin:e=!1,emitMissed:r=!1,onBlockNumber:n,onError:s,poll:i,pollingInterval:a=t.pollingInterval}){const o=typeof i<"u"?i:!(t.transport.type==="webSocket"||t.transport.type==="ipc"||t.transport.type==="fallback"&&(t.transport.transports[0].config.type==="webSocket"||t.transport.transports[0].config.type==="ipc"));let c;return o?(()=>{const l=et(["watchBlockNumber",t.uid,e,r,a]);return Fn(l,{onBlockNumber:n,onError:s},p=>sa(async()=>{var d;try{const b=await re(t,$o,"getBlockNumber")({cacheTime:0});if(c!==void 0){if(b===c)return;if(b-c>1&&r)for(let g=c+1n;g<b;g++)p.onBlockNumber(g,c),c=g}(c===void 0||b>c)&&(p.onBlockNumber(b,c),c=b)}catch(b){(d=p.onError)==null||d.call(p,b)}},{emitOnBegin:e,interval:a}))})():(()=>{const l=et(["watchBlockNumber",t.uid,e,r]);return Fn(l,{onBlockNumber:n,onError:s},p=>{let d=!0,b=()=>d=!1;return(async()=>{try{const g=(()=>{if(t.transport.type==="fallback"){const S=t.transport.transports.find(T=>T.config.type==="webSocket"||T.config.type==="ipc");return S?S.value:t.transport}return t.transport})(),{unsubscribe:A}=await g.subscribe({params:["newHeads"],onData(S){var v;if(!d)return;const T=ft((v=S.result)==null?void 0:v.number);p.onBlockNumber(T,c),c=T},onError(S){var T;(T=p.onError)==null||T.call(p,S)}});b=A,d||b()}catch(g){s==null||s(g)}})(),()=>b()})})()}async function Tw(t,e){const{checkReplacement:r=!0,confirmations:n=1,hash:s,onReplaced:i,retryCount:a=6,retryDelay:o=({count:x})=>~~(1<<x)*200,timeout:c=18e4}=e,u=et(["waitForTransactionReceipt",t.uid,s]),f=(()=>{var x;return e.pollingInterval?e.pollingInterval:(x=t.chain)!=null&&x.experimental_preconfirmationTime?t.chain.experimental_preconfirmationTime:t.pollingInterval})();let l,p,d,b=!1,g,A;const{promise:S,resolve:T,reject:v}=Kh(),w=c?setTimeout(()=>{A==null||A(),g==null||g(),v(new I8({hash:s}))},c):void 0;return g=Fn(u,{onReplaced:i,resolve:T,reject:v},async x=>{if(d=await re(t,Ac,"getTransactionReceipt")({hash:s}).catch(()=>{}),d&&n<=1){clearTimeout(w),x.resolve(d),g==null||g();return}A=re(t,kw,"watchBlockNumber")({emitMissed:!0,emitOnBegin:!0,poll:!0,pollingInterval:f,async onBlockNumber(_){const I=C=>{clearTimeout(w),A==null||A(),C(),g==null||g()};let N=_;if(!b)try{if(d){if(n>1&&(!d.blockNumber||N-d.blockNumber+1n<n))return;I(()=>x.resolve(d));return}if(r&&!l&&(b=!0,await Mc(async()=>{l=await re(t,d0,"getTransaction")({hash:s}),l.blockNumber&&(N=l.blockNumber)},{delay:o,retryCount:a}),b=!1),d=await re(t,Ac,"getTransactionReceipt")({hash:s}),n>1&&(!d.blockNumber||N-d.blockNumber+1n<n))return;I(()=>x.resolve(d))}catch(C){if(C instanceof Ug||C instanceof Fg){if(!l){b=!1;return}try{p=l,b=!0;const j=await Mc(()=>re(t,Pr,"getBlock")({blockNumber:N,includeTransactions:!0}),{delay:o,retryCount:a,shouldRetry:({error:V})=>V instanceof Vg});b=!1;const M=j.transactions.find(({from:V,nonce:Q})=>V===p.from&&Q===p.nonce);if(!M||(d=await re(t,Ac,"getTransactionReceipt")({hash:M.hash}),n>1&&(!d.blockNumber||N-d.blockNumber+1n<n)))return;let H="replaced";M.to===p.to&&M.value===p.value&&M.input===p.input?H="repriced":M.from===M.to&&M.value===0n&&(H="cancelled"),I(()=>{var V;(V=x.onReplaced)==null||V.call(x,{reason:H,replacedTransaction:p,transaction:M,transactionReceipt:d}),x.resolve(d)})}catch(j){I(()=>x.reject(j))}}else I(()=>x.reject(C))}}})}),S}function sT(t,{blockTag:e=t.experimental_blockTag??"latest",emitMissed:r=!1,emitOnBegin:n=!1,onBlock:s,onError:i,includeTransactions:a,poll:o,pollingInterval:c=t.pollingInterval}){const u=typeof o<"u"?o:!(t.transport.type==="webSocket"||t.transport.type==="ipc"||t.transport.type==="fallback"&&(t.transport.transports[0].config.type==="webSocket"||t.transport.transports[0].config.type==="ipc")),f=a??!1;let l;return u?(()=>{const b=et(["watchBlocks",t.uid,e,r,n,f,c]);return Fn(b,{onBlock:s,onError:i},g=>sa(async()=>{var A;try{const S=await re(t,Pr,"getBlock")({blockTag:e,includeTransactions:f});if(S.number!==null&&(l==null?void 0:l.number)!=null){if(S.number===l.number)return;if(S.number-l.number>1&&r)for(let T=(l==null?void 0:l.number)+1n;T<S.number;T++){const v=await re(t,Pr,"getBlock")({blockNumber:T,includeTransactions:f});g.onBlock(v,l),l=v}}((l==null?void 0:l.number)==null||e==="pending"&&(S==null?void 0:S.number)==null||S.number!==null&&S.number>l.number)&&(g.onBlock(S,l),l=S)}catch(S){(A=g.onError)==null||A.call(g,S)}},{emitOnBegin:n,interval:c}))})():(()=>{let b=!0,g=!0,A=()=>b=!1;return(async()=>{try{n&&re(t,Pr,"getBlock")({blockTag:e,includeTransactions:f}).then(v=>{b&&g&&(s(v,void 0),g=!1)}).catch(i);const S=(()=>{if(t.transport.type==="fallback"){const v=t.transport.transports.find(w=>w.config.type==="webSocket"||w.config.type==="ipc");return v?v.value:t.transport}return t.transport})(),{unsubscribe:T}=await S.subscribe({params:["newHeads"],async onData(v){var x;if(!b)return;const w=await re(t,Pr,"getBlock")({blockNumber:(x=v.result)==null?void 0:x.number,includeTransactions:f}).catch(()=>{});b&&(s(w,l),g=!1,l=w)},onError(v){i==null||i(v)}});A=T,b||A()}catch(S){i==null||i(S)}})(),()=>A()})()}function iT(t,{address:e,args:r,batch:n=!0,event:s,events:i,fromBlock:a,onError:o,onLogs:c,poll:u,pollingInterval:f=t.pollingInterval,strict:l}){const p=typeof u<"u"?u:typeof a=="bigint"?!0:!(t.transport.type==="webSocket"||t.transport.type==="ipc"||t.transport.type==="fallback"&&(t.transport.transports[0].config.type==="webSocket"||t.transport.transports[0].config.type==="ipc")),d=l??!1;return p?(()=>{const A=et(["watchEvent",e,r,n,t.uid,s,f,a]);return Fn(A,{onLogs:c,onError:o},S=>{let T;a!==void 0&&(T=a-1n);let v,w=!1;const x=sa(async()=>{var _;if(!w){try{v=await re(t,D1,"createEventFilter")({address:e,args:r,event:s,events:i,strict:d,fromBlock:a})}catch{}w=!0;return}try{let I;if(v)I=await re(t,Au,"getFilterChanges")({filter:v});else{const N=await re(t,$o,"getBlockNumber")({});T&&T!==N?I=await re(t,Lh,"getLogs")({address:e,args:r,event:s,events:i,fromBlock:T+1n,toBlock:N}):I=[],T=N}if(I.length===0)return;if(n)S.onLogs(I);else for(const N of I)S.onLogs([N])}catch(I){v&&I instanceof ms&&(w=!1),(_=S.onError)==null||_.call(S,I)}},{emitOnBegin:!0,interval:f});return async()=>{v&&await re(t,Su,"uninstallFilter")({filter:v}),x()}})})():(()=>{let A=!0,S=()=>A=!1;return(async()=>{try{const T=(()=>{if(t.transport.type==="fallback"){const _=t.transport.transports.find(I=>I.config.type==="webSocket"||I.config.type==="ipc");return _?_.value:t.transport}return t.transport})(),v=i??(s?[s]:void 0);let w=[];v&&(w=[v.flatMap(I=>Io({abi:[I],eventName:I.name,args:r}))],s&&(w=w[0]));const{unsubscribe:x}=await T.subscribe({params:["logs",{address:e,topics:w}],onData(_){var N;if(!A)return;const I=_.result;try{const{eventName:C,args:j}=Rc({abi:v??[],data:I.data,topics:I.topics,strict:d}),M=Un(I,{args:j,eventName:C});c([M])}catch(C){let j,M;if(C instanceof Cc||C instanceof mh){if(l)return;j=C.abiItem.name,M=(N=C.abiItem.inputs)==null?void 0:N.some(V=>!("name"in V&&V.name))}const H=Un(I,{args:M?[]:{},eventName:j});c([H])}},onError(_){o==null||o(_)}});S=x,A||S()}catch(T){o==null||o(T)}})(),()=>S()})()}function aT(t,{batch:e=!0,onError:r,onTransactions:n,poll:s,pollingInterval:i=t.pollingInterval}){return(typeof s<"u"?s:t.transport.type!=="webSocket"&&t.transport.type!=="ipc")?(()=>{const u=et(["watchPendingTransactions",t.uid,e,i]);return Fn(u,{onTransactions:n,onError:r},f=>{let l;const p=sa(async()=>{var d;try{if(!l)try{l=await re(t,z1,"createPendingTransactionFilter")({});return}catch(g){throw p(),g}const b=await re(t,Au,"getFilterChanges")({filter:l});if(b.length===0)return;if(e)f.onTransactions(b);else for(const g of b)f.onTransactions([g])}catch(b){(d=f.onError)==null||d.call(f,b)}},{emitOnBegin:!0,interval:i});return async()=>{l&&await re(t,Su,"uninstallFilter")({filter:l}),p()}})})():(()=>{let u=!0,f=()=>u=!1;return(async()=>{try{const{unsubscribe:l}=await t.transport.subscribe({params:["newPendingTransactions"],onData(p){if(!u)return;const d=p.result;n([d])},onError(p){r==null||r(p)}});f=l,u||f()}catch(l){r==null||r(l)}})(),()=>f()})()}function oT(t){var l,p,d;const{scheme:e,statement:r,...n}=((l=t.match(cT))==null?void 0:l.groups)??{},{chainId:s,expirationTime:i,issuedAt:a,notBefore:o,requestId:c,...u}=((p=t.match(uT))==null?void 0:p.groups)??{},f=(d=t.split("Resources:")[1])==null?void 0:d.split(`
package/dist/index.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./index-CJMkaKG-.cjs");exports.API=e.API;exports.BitcoinNetwork=e.BitcoinNetwork;exports.BitcoinProvider=e.BitcoinProvider;exports.BitcoinWallet=e.BitcoinWallet;exports.DEFAULT_AFFILIATE_ASSET=e.DEFAULT_AFFILIATE_ASSET;exports.EvmRelay=e.EvmRelay;exports.Garden=e.Garden;exports.OrderCreationStatus=e.OrderCreationStatus;exports.Quote=e.Quote;exports.STARKNET_CONFIG=e.STARKNET_CONFIG;exports.SUI_CONFIG=e.SUI_CONFIG;exports.SecretManager=e.SecretManager;exports.SolanaHTLC=e.SolanaHTLC;exports.SolanaRelay=e.SolanaRelay;exports.SolanaRelayerAddress=e.SolanaRelayerAddress;exports.StarknetHTLC=e.StarknetHTLC;exports.StarknetRelay=e.StarknetRelay;exports.TRON_CONFIG=e.TRON_CONFIG;exports.XRPL_CONFIG=e.XRPL_CONFIG;exports.XrplRelay=e.XrplRelay;exports.alpenTestnet=e.alpenTestnet;exports.botanixMainnet=e.botanixMainnet;exports.checkStarknetAlloance=e.checkAllowance;exports.checkStarknetAllowanceAndApprove=e.checkAllowanceAndApprove;exports.evmToViemChainMap=e.evmToViemChainMap;exports.getChainNameFromChainId=e.getChainNameFromChainId;exports.hyperevm=e.hyperevm;exports.hyperliquidTestnet=e.hyperliquidTestnet;exports.isStarknetAllowanceSufficient=e.isAllowanceSufficient;exports.megaethMainnet=e.megaethMainnet;exports.resolveApiConfig=e.resolveApiConfig;exports.solanaProgramAddress=e.solanaProgramAddress;exports.switchOrAddNetwork=e.switchOrAddNetwork;exports.toXOnly=e.toXOnly;exports.validateBTCAddress=e.validateBTCAddress;exports.validateLTCAddress=e.validateLTCAddress;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./index-vTEWbzMh.cjs");exports.API=e.API;exports.BitcoinNetwork=e.BitcoinNetwork;exports.BitcoinProvider=e.BitcoinProvider;exports.BitcoinWallet=e.BitcoinWallet;exports.DEFAULT_AFFILIATE_ASSET=e.DEFAULT_AFFILIATE_ASSET;exports.EvmRelay=e.EvmRelay;exports.Garden=e.Garden;exports.OrderCreationStatus=e.OrderCreationStatus;exports.Quote=e.Quote;exports.STARKNET_CONFIG=e.STARKNET_CONFIG;exports.SUI_CONFIG=e.SUI_CONFIG;exports.SecretManager=e.SecretManager;exports.SolanaHTLC=e.SolanaHTLC;exports.SolanaRelay=e.SolanaRelay;exports.SolanaRelayerAddress=e.SolanaRelayerAddress;exports.StarknetHTLC=e.StarknetHTLC;exports.StarknetRelay=e.StarknetRelay;exports.TRON_CONFIG=e.TRON_CONFIG;exports.XRPL_CONFIG=e.XRPL_CONFIG;exports.XrplRelay=e.XrplRelay;exports.alpenTestnet=e.alpenTestnet;exports.botanixMainnet=e.botanixMainnet;exports.checkStarknetAlloance=e.checkAllowance;exports.checkStarknetAllowanceAndApprove=e.checkAllowanceAndApprove;exports.evmToViemChainMap=e.evmToViemChainMap;exports.getChainNameFromChainId=e.getChainNameFromChainId;exports.hyperevm=e.hyperevm;exports.hyperliquidTestnet=e.hyperliquidTestnet;exports.isStarknetAllowanceSufficient=e.isAllowanceSufficient;exports.megaethMainnet=e.megaethMainnet;exports.resolveApiConfig=e.resolveApiConfig;exports.solanaProgramAddress=e.solanaProgramAddress;exports.switchOrAddNetwork=e.switchOrAddNetwork;exports.toXOnly=e.toXOnly;exports.validateBTCAddress=e.validateBTCAddress;exports.validateLTCAddress=e.validateLTCAddress;
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { L as s, F as t, I as n, J as r, K as o, E as i, G as l, U as d, Q as A, M as S, N as C, m as T, k as c, j as h, P as k, h as m, S as p, T as I, O as N, X as v, A as y, u as F, p as O, n as R, w as L, x as w, y as E, z as G, o as _, C as g, r as u, R as M, D as P, t as f, v as B, q as X } from "./index-BgO5SheZ.js";
1
+ import { L as s, F as t, I as n, J as r, K as o, E as i, G as l, U as d, Q as A, M as S, N as C, m as T, k as c, j as h, P as k, h as m, S as p, T as I, O as N, X as v, A as y, u as F, p as O, n as R, w as L, x as w, y as E, z as G, o as _, C as g, r as u, R as M, D as P, t as f, v as B, q as X } from "./index-Bwri4W_7.js";
2
2
  export {
3
3
  s as API,
4
4
  t as BitcoinNetwork,
@@ -35,6 +35,7 @@ export declare function sortLeaves(leaf1: Buffer, leaf2: Buffer): Buffer<ArrayBu
35
35
  export declare const toXOnly: (pubKey: string) => string;
36
36
  export declare const isValidBitcoinPubKey: (pubKey: string) => boolean;
37
37
  export declare function validateBTCAddress(address: string, networkType: Environment): boolean;
38
+ export declare function validateSparkAddress(address: string, networkType: Environment): boolean;
38
39
  export declare function validateLTCAddress(address: string, networkType: Environment): boolean;
39
40
  export declare function generateOutputs(output: Buffer, count: number): Buffer[];
40
41
  export declare const getBitcoinNetworkFromEnvironment: (network: Network) => BitcoinNetwork;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gardenfi/core",
3
- "version": "3.1.3-beta.1",
3
+ "version": "3.1.3-beta.3",
4
4
  "type": "module",
5
5
  "scripts": {
6
6
  "build": "vite build",
@@ -27,10 +27,11 @@
27
27
  "registry": "https://registry.npmjs.org/"
28
28
  },
29
29
  "dependencies": {
30
+ "@buildonspark/spark-sdk": "^0.6.3",
30
31
  "@coral-xyz/anchor": "^0.31.1",
31
32
  "@crossmarkio/sdk": "^0.4.0",
32
- "@gardenfi/orderbook": "3.1.3-beta.1",
33
- "@gardenfi/utils": "3.1.1",
33
+ "@gardenfi/orderbook": "3.1.3-beta.3",
34
+ "@gardenfi/utils": "3.1.1-beta.1",
34
35
  "@mysten/signers": "^0.3.4",
35
36
  "@mysten/sui": "^1.37.1",
36
37
  "@mysten/wallet-standard": "^0.16.9",