From 059a6a0d763bd391d8b8ea9daa42bf0f227d921b Mon Sep 17 00:00:00 2001 From: JA VI <127710324+JaDi03@users.noreply.github.com> Date: Wed, 14 Oct 2026 00:40:40 -0600 Subject: [PATCH] feat: the agent brings USDC from the owner's Unified Balance to pay invoices --- .github/workflows/ci.yml | 14 + agent/memory/sessions.py | 2 + agent/models.py | 1 + agent/prompt.py | 5 +- agent/think.py | 13 +- agent/tools/definitions.py | 18 +- agent/tools/toolbox.py | 79 +- agent/wiring.py | 10 + dashboard/app.js | 62 + dashboard/index.html | 17 + dashboard/test/unified.test.mjs | 33 + dashboard/unified.js | 67 + .../unified-balance-kit-1.8.0/entry.mjs | 4 + .../vendor/unified-balance-kit-1.8.0/index.js | 56 + .../index.js.LEGAL.txt | 269 ++ .../unified-balance-kit-1.8.0/package.json | 16 + .../unified-balance-kit-1.8.0/pnpm-lock.yaml | 1461 +++++++++++ .../pnpm-workspace.yaml | 5 + dashboard/wallet.js | 6 + deploy/Caddyfile | 4 +- deploy/install.sh | 10 + docs/architecture.md | 7 +- docs/connect.md | 6 + docs/how-it-works.md | 1 + services/payments/chain.py | 4 + services/shops/activity.py | 8 + services/shops/agent.py | 41 +- services/unified_balance/__init__.py | 13 + services/unified_balance/client.py | 107 + services/unified_balance/kit/cli.mjs | 12 + services/unified_balance/kit/package.json | 18 + services/unified_balance/kit/pnpm-lock.yaml | 2186 +++++++++++++++++ .../unified_balance/kit/pnpm-workspace.yaml | 4 + .../unified_balance/kit/test/unified.test.mjs | 27 + services/unified_balance/kit/unified.mjs | 117 + services/unified_balance/owner.py | 32 + tests/test_unified_balance.py | 250 ++ 37 files changed, 4968 insertions(+), 17 deletions(-) create mode 100644 dashboard/test/unified.test.mjs create mode 100644 dashboard/unified.js create mode 100644 dashboard/vendor/unified-balance-kit-1.8.0/entry.mjs create mode 100644 dashboard/vendor/unified-balance-kit-1.8.0/index.js create mode 100644 dashboard/vendor/unified-balance-kit-1.8.0/index.js.LEGAL.txt create mode 100644 dashboard/vendor/unified-balance-kit-1.8.0/package.json create mode 100644 dashboard/vendor/unified-balance-kit-1.8.0/pnpm-lock.yaml create mode 100644 dashboard/vendor/unified-balance-kit-1.8.0/pnpm-workspace.yaml create mode 100644 services/unified_balance/__init__.py create mode 100644 services/unified_balance/client.py create mode 100644 services/unified_balance/kit/cli.mjs create mode 100644 services/unified_balance/kit/package.json create mode 100644 services/unified_balance/kit/pnpm-lock.yaml create mode 100644 services/unified_balance/kit/pnpm-workspace.yaml create mode 100644 services/unified_balance/kit/test/unified.test.mjs create mode 100644 services/unified_balance/kit/unified.mjs create mode 100644 services/unified_balance/owner.py create mode 100644 tests/test_unified_balance.py diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 79d87e6..d731c1e 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -51,3 +51,17 @@ jobs: with: node-version: 22 - run: node --test + + unified-balance: + runs-on: ubuntu-latest + defaults: + run: + working-directory: services/unified_balance/kit + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 + with: + node-version: 22 + - run: corepack enable + - run: pnpm install --frozen-lockfile --prod + - run: node --test diff --git a/agent/memory/sessions.py b/agent/memory/sessions.py index 2cf2225..a12fe83 100644 --- a/agent/memory/sessions.py +++ b/agent/memory/sessions.py @@ -31,6 +31,7 @@ def session_body(session: Session) -> dict[str, Any]: "emails": list(session.emails), "wallet_notices": list(session.wallet_notices), "seen_payments": list(session.seen_payments), + "funds_moved": list(session.funds_moved), } @@ -70,6 +71,7 @@ def session_from(at: datetime, body: dict[str, Any], emails=tuple(body.get("emails", [])), wallet_notices=tuple(body.get("wallet_notices", [])), seen_payments=tuple(body.get("seen_payments", [])), + funds_moved=tuple(body.get("funds_moved", [])), ) diff --git a/agent/models.py b/agent/models.py index 0b70fa0..af1ceb2 100644 --- a/agent/models.py +++ b/agent/models.py @@ -100,6 +100,7 @@ class Session: emails: tuple[str, ...] = () # suppliers the agent wrote to in this session wallet_notices: tuple[str, ...] = () # suppliers sent the notice to confirm their wallet seen_payments: tuple[str, ...] = () # payment results the agent saw in this session + funds_moved: tuple[dict, ...] = () # what the agent brought from the owner's other chains def payment_seen_key(event) -> str: diff --git a/agent/prompt.py b/agent/prompt.py index a5432db..2787347 100644 --- a/agent/prompt.py +++ b/agent/prompt.py @@ -46,7 +46,10 @@ numbers you read. When to pay is your call: the due date, this week's room in the contract (cash_position says when it renews), the owner's balance and what else is waiting. Paying late is the owner's call: when something you would pay cannot go out by its due date, ask, with the -options and your recommendation. +options and your recommendation. When the owner's wallet on Arc holds less than what you would +pay, cash_position shows the USDC they keep on other chains: you may bring what is needed to +their wallet with bring_funds, choosing which chains it comes from (estimate_bring_funds shows +the fees), and then pay. Talking to the owner. One message, one topic: only what it is about, in one or two short sentences, plain words. After a payment say what you paid (amount, supplier, invoice) and diff --git a/agent/think.py b/agent/think.py index 9349a2f..4984d28 100644 --- a/agent/think.py +++ b/agent/think.py @@ -75,6 +75,7 @@ class BrainSetup: funds: Callable[[], dict[str, str] | None] = field(default=lambda: None) mailer: Callable[[str, str, str], str] | None = None # writes to a supplier from the ERP wallet_notice: Callable[[str], str] | None = None # the standard wallet notice, from the ERP + owner_funds: Any = None # the owner's Unified Balance (services.unified_balance.OwnerFunds) @dataclass(frozen=True) @@ -128,7 +129,7 @@ def think( toolbox = Toolbox(decisions=list(decisions), ledger=ledger, journal=journal, policy=policy, now=now, zone=setup.zone, done=set(done), standing=standing, room=setup.room, funds=setup.funds, mailer=setup.mailer, - wallet_notice=setup.wallet_notice, + wallet_notice=setup.wallet_notice, owner_funds=setup.owner_funds, emails_today=emails_today(sessions, setup.zone, now), past_notes=tuple(recent_notes(sessions)), messages=tuple(messages), payer=payer, @@ -152,6 +153,7 @@ def think( emails=tuple(toolbox.emailed), wallet_notices=tuple(toolbox.notified_wallets), seen_payments=tuple(payment_seen_key(e) for e in toolbox.payments), + funds_moved=tuple(toolbox.funds_moved), **({"usage": usage} if usage else {}), ) journal.record_session(session) @@ -189,7 +191,7 @@ def converse( toolbox = Toolbox(decisions=list(decisions), ledger=ledger, journal=journal, policy=policy, now=now, zone=setup.zone, done=set(done), standing=standing, room=setup.room, funds=setup.funds, mailer=setup.mailer, - wallet_notice=setup.wallet_notice, + wallet_notice=setup.wallet_notice, owner_funds=setup.owner_funds, emails_today=emails_today(sessions, setup.zone, now), past_notes=tuple(recent_notes(sessions)), messages=tuple(messages), require_all=False, payer=payer, @@ -214,6 +216,7 @@ def converse( emails=tuple(toolbox.emailed), wallet_notices=tuple(toolbox.notified_wallets), seen_payments=tuple(payment_seen_key(e) for e in toolbox.payments), + funds_moved=tuple(toolbox.funds_moved), **({"usage": usage} if usage else {}), ) journal.record_session(session) @@ -223,9 +226,9 @@ def converse( def money_after(setup: BrainSetup, toolbox: Toolbox, before: dict[str, str] | None) -> dict[str, str] | None: - """The money the agent leaves the session knowing: read again when it paid, so its own - payments are not a change of money that wakes it in the next check.""" - if not toolbox.payments: + """The money the agent leaves the session knowing: read again when it paid or brought funds, + so what it did itself is not a change of money that wakes it in the next check.""" + if not (toolbox.payments or toolbox.funds_moved): return before return setup.funds() or before diff --git a/agent/tools/definitions.py b/agent/tools/definitions.py index a978b02..fbca993 100644 --- a/agent/tools/definitions.py +++ b/agent/tools/definitions.py @@ -26,6 +26,9 @@ def _text(description: str) -> dict[str, Any]: INVOICE = _text("The invoice name exactly as listed, e.g. ACC-PINV-2026-00012.") REASON = _text("Why, in one or two plain sentences the owner will read.") +ALLOCATIONS = _text("How much USDC from each chain, as chain:amount separated by commas, e.g. " + "Base_Sepolia:120, Arbitrum_Sepolia:30.5. Chain names as cash_position " + "lists them.") TOOLS: list[dict[str, Any]] = [ _tool("list_open_invoices", @@ -53,7 +56,8 @@ def _text(description: str) -> dict[str, Any]: item_code=_text("The item code exactly as on the invoice line.")), _tool("cash_position", "The shop contract's limits, how much it still lets the shop pay this week, what you " - "chose to pay now in this session, and the payments scheduled or due soon."), + "chose to pay now in this session, the payments scheduled or due soon, and the USDC " + "the owner keeps on other chains (their Unified Balance) with where you may spend it."), _tool("pay_now", "Pay this invoice now, for real: the payment goes out right away from the owner's " "wallet through the shop contract (simulated first, then sent with your Circle " @@ -70,6 +74,18 @@ def _text(description: str) -> dict[str, Any]: _tool("agent_wallet", "Your own wallet: its address, its balance for Arc network fees (paid in USDC), " "whether the shop contract has it as its agent, and whether the contract is paused."), + _tool("estimate_bring_funds", + "What it would cost to bring USDC from the owner's Unified Balance on other chains to " + "the owner's wallet on Arc, with the split you give: the fees and what would arrive. " + "Nothing moves.", + allocations=ALLOCATIONS), + _tool("bring_funds", + "Bring USDC from the owner's Unified Balance on other chains to the owner's own wallet " + "on Arc, for real, so the shop contract can pay from it. You choose how much comes " + "from each chain; it always arrives at the owner's wallet, never anywhere else. Only " + "chains where the owner authorized you. Returns what arrived, the fees and the " + "transaction, or the real error.", + allocations=ALLOCATIONS, reason=REASON), _tool("schedule_payment", "Plan to pay this invoice on a later date you choose (shop's local date). Only " "invoices the checks allow. On that day you are woken to pay it with pay_now, or to " diff --git a/agent/tools/toolbox.py b/agent/tools/toolbox.py index ae24be2..67f3c76 100644 --- a/agent/tools/toolbox.py +++ b/agent/tools/toolbox.py @@ -24,7 +24,8 @@ from services.circle import CircleError from services.erp import LedgerAdapter, LedgerError from services.payments import ChainError, PaymentEvent, PaymentStatus -from services.payments.payer import PaymentRefused +from services.payments.payer import PaymentRefused, PaymentSetupError +from services.unified_balance import Allocation, UnifiedBalanceError MAX_ALARMS = 5 MAX_NOTES = 10 @@ -38,6 +39,8 @@ MAX_NOTICES = 3 MAX_EMAILS_PER_DAY = 3 MAX_PAYMENTS = 10 # per session; the contract's weekly cap is the real limit +MAX_FUND_MOVES = 3 # bring_funds calls per session +FORWARDER = "forwarder" # the fee taken from what is minted on Arc; the others come off the balance LINKS = re.compile(r"https?://|www\.|\b[a-z0-9-]+\.(com|net|org|xyz|io|app|link)\b", re.I) UNKNOWN_FUNDS = {"weekly_room_resets_at_utc": "unknown", "owner_balance": "unknown", "payments_authorized": "unknown"} # the chain did not answer: never a guess @@ -70,6 +73,8 @@ class Toolbox: payer: Any = None # pays one invoice when the agent chooses to (services.payments.Payer) can_pay: bool = True # False while the owner has paused payments payments: list[PaymentEvent] = field(default_factory=list) # what the agent's payments did + owner_funds: Any = None # the owner's Unified Balance (services.unified_balance.OwnerFunds) + funds_moved: list[dict[str, Any]] = field(default_factory=list) # what bring_funds brought chosen: dict[str, AgentDecision] = field(default_factory=dict) alarms: list[Alarm] = field(default_factory=list) notes: list[Note] = field(default_factory=list) @@ -215,8 +220,23 @@ def _cash_position(self) -> dict[str, Any]: "payable_due_within_7_days": fmt(sum((d.amount for d in due_soon), Decimal(0))), "today": self.today.isoformat(), **(self._funds_once() or UNKNOWN_FUNDS), + "usdc_on_other_chains": self._other_chains(), } + def _other_chains(self) -> list[dict[str, str]] | str: + """The owner's Unified Balance, chain by chain, and where the agent may spend it.""" + if self.owner_funds is None: + return "not connected for this shop" + try: + chains = self.owner_funds.chains() + except (UnifiedBalanceError, ChainError, CircleError, PaymentSetupError) as error: + return f"unknown: {error}" + rows = [{"chain": c.chain, "available": fmt(c.confirmed), "arriving": fmt(c.pending), + "you_may_spend_it": "yes" if c.agent_can_spend + else "no: the owner authorizes you on this chain in the dashboard"} + for c in chains if c.confirmed or c.pending or c.agent_can_spend] + return rows or "the owner has no USDC on other chains" + # acting def _pay_now(self, invoice: str, reason: str) -> str | dict[str, Any]: @@ -271,6 +291,47 @@ def _agent_wallet(self) -> dict[str, Any]: except (ChainError, CircleError) as error: raise ToolError(f"could not read the agent's wallet: {error}") from None + def _estimate_bring_funds(self, allocations: str) -> dict[str, Any]: + split = self._allocations(allocations) + try: + estimate = self.owner_funds.estimate(split) + except (UnifiedBalanceError, ChainError, CircleError, PaymentSetupError) as error: + raise ToolError(f"could not estimate it: {error}") from None + return _moved(split, estimate.get("fees", [])) + + def _bring_funds(self, allocations: str, reason: str) -> dict[str, Any]: + split = self._allocations(allocations) + if not self.can_pay: + raise ToolError("payments are paused by the owner; nothing was moved") + if len(self.funds_moved) >= MAX_FUND_MOVES: + raise ToolError(f"at most {MAX_FUND_MOVES} fund moves per session; look again later") + try: + result = self.owner_funds.bring(split) + except (UnifiedBalanceError, ChainError, CircleError, PaymentSetupError) as error: + raise ToolError(f"nothing was brought: {error}") from None + moved = {**_moved(split, result.get("fees", [])), "reason": reason.strip(), + "tx": result.get("txHash") or result.get("transferId") or ""} + self.funds_moved.append(moved) + if hasattr(self, "_funds"): + del self._funds # the owner's balance on Arc changed: read it again when asked + return moved + + def _allocations(self, text: str) -> list[Allocation]: + """chain:amount pairs, each chain once, each amount positive.""" + if self.owner_funds is None: + raise ToolError("the owner's Unified Balance is not connected for this shop") + split: dict[str, Decimal] = {} + for part in filter(None, (p.strip() for p in text.split(","))): + chain, _, amount = part.partition(":") + chain, value = chain.strip(), _decimal(amount) + if not chain or value is None or value <= 0 or chain in split: + raise ToolError("allocations are chain:amount pairs, each chain once, each " + "amount above 0, e.g. Base_Sepolia:120, Arbitrum_Sepolia:30.5") + split[chain] = value + if not split: + raise ToolError("say how much from which chain, e.g. Base_Sepolia:120") + return [Allocation(chain, amount) for chain, amount in split.items()] + def _schedule_payment(self, invoice: str, pay_on: str, reason: str) -> str: decision = self._by_invoice.get(invoice) day = _parse_day(pay_on) @@ -534,3 +595,19 @@ def _parse_day(text: str) -> date: return date.fromisoformat(text) except ValueError: raise ToolError("use a date as YYYY-MM-DD") from None + + +def _decimal(text: str) -> Decimal | None: + try: + return Decimal(text.strip()) + except (ArithmeticError, ValueError): + return None + + +def _moved(split: list[Allocation], fees: list[dict[str, Any]]) -> dict[str, Any]: + """What a move takes from each chain, its fees and what reaches the owner's wallet on Arc.""" + total = sum((a.amount for a in split), Decimal(0)) + fee = {f.get("type", ""): Decimal(str(f.get("amount", "0"))) for f in fees} + return {"from": [{"chain": a.chain, "amount": fmt(a.amount)} for a in split], + "total": fmt(total), "fees": {k: fmt(v) for k, v in fee.items()}, + "arrives_on_arc": fmt(total - fee.get(FORWARDER, Decimal(0)))} diff --git a/agent/wiring.py b/agent/wiring.py index 15f9082..6daacec 100644 --- a/agent/wiring.py +++ b/agent/wiring.py @@ -10,6 +10,7 @@ from services.payments import ChainError, Payer from services.payments.encoding import USDC_DECIMALS from services.settings import Settings +from services.unified_balance import OwnerFunds, UnifiedBalance def room_of(payer: Payer | None) -> Callable[[], Decimal | None] | None: @@ -51,11 +52,19 @@ def funds() -> dict[str, str] | None: return funds +def owner_funds_of(settings: Settings, payer: Payer | None) -> OwnerFunds | None: + """The owner's Unified Balance on other chains, when the agent pays with its Circle wallet.""" + if payer is None or not (settings.circle_api_key and settings.circle_entity_secret): + return None + return OwnerFunds(UnifiedBalance(settings.circle_api_key, settings.circle_entity_secret), payer) + + def brain_setup( settings: Settings, room: Callable[[], Decimal | None] | None = None, funds: Callable[[], dict[str, str] | None] | None = None, mailer: Callable[[str, str, str], str] | None = None, wallet_notice: Callable[[str], str] | None = None, + owner_funds: OwnerFunds | None = None, ) -> BrainSetup | None: if not settings.brain: return None @@ -73,4 +82,5 @@ def brain_setup( **({"funds": funds} if funds else {}), **({"mailer": mailer} if mailer else {}), **({"wallet_notice": wallet_notice} if wallet_notice else {}), + **({"owner_funds": owner_funds} if owner_funds else {}), ) diff --git a/dashboard/app.js b/dashboard/app.js index 5f9cd60..495beba 100644 --- a/dashboard/app.js +++ b/dashboard/app.js @@ -10,6 +10,7 @@ import * as chat from "./chat.js"; import * as hub from "./hub.js"; import { agentView, groupTasks, raisedLimits, taskFor } from "./needs.js"; import * as suppliers from "./suppliers.js"; +import * as unified from "./unified.js"; import { factory, memoNames, read, shopContract, shopHistory, shopsOf, shopState, usdc } from "./shop.js"; import { AUTHORIZE_ALL, authorizationView, formatUsdc, parseUsdc, shortAddress, ZERO_ADDRESS } from "./units.js"; import { chooseWallet } from "./picker.js"; @@ -171,6 +172,8 @@ async function renderShop() { ? `${today.sessions} session${today.sessions === 1 ? "" : "s"}${today.cost ? ` · ${today.cost} est.` : ""}` : "-"; $("agent-address").replaceChildren(hasAgent ? link(shortAddress(state.agent), addressUrl(state.agent)) : "none"); + session.agent = hasAgent ? state.agent : null; + renderUnified(isOwner, service); const telegram = Boolean(service?.telegram_linked); $("telegram-state").textContent = !service ? "sign in to the embco service first" : telegram ? "linked: /stop and /pause work from your phone" : "not linked"; $("telegram-link").hidden = !isOwner || !service?.connected || telegram; @@ -182,6 +185,44 @@ async function renderShop() { await Promise.all([renderHistory(isOwner), renderApprovals(isOwner), renderErp(isOwner, state)]); } +// The owner's Unified Balance on other chains: what the agent last read, and the owner's two +// actions there, made with their own wallet through Circle's kit. + +function renderUnified(isOwner, service) { + const view = unified.unifiedView(service?.last_run); + $("unified-note").textContent = isOwner ? view.text : ""; + $("unified-chains").replaceChildren( + ...view.rows + .filter((r) => r.available || r.arriving || r.authorized) + .map((r) => { + const item = document.createElement("li"); + const arriving = r.arriving ? ` (+${formatUsdc(r.arriving)} arriving)` : ""; + item.textContent = `${r.name}: ${formatUsdc(r.available)} USDC${arriving} · ${r.authorized ? "agent authorized" : "agent not authorized"}`; + return item; + }), + ); + const select = $("unified-chain"); + const picked = select.value; + select.replaceChildren(...view.rows.map((r) => new Option(r.name, r.chain))); + if (view.rows.some((r) => r.chain === picked)) select.value = picked; + $("unified-form").hidden = !isOwner || view.rows.length === 0; +} + +async function unifiedAct(button, label, run) { + button.disabled = true; + try { + notify(`${label}: confirm it in your wallet (it switches to that chain)...`); + await run(wallet.eip1193()); + notify(`${label}: done. The agent sees it at its next check.`, "success"); + } catch (error) { + notify(describeError(error), "error"); + } finally { + button.disabled = false; + await wallet.switchToArc().catch(() => null); // the rest of the page works on Arc + await render(); + } +} + // The shop's own agent on the owner's ERPNext, through the hub API. function showErp(part) { @@ -1013,6 +1054,27 @@ function wireActions() { act(event.currentTarget, "Revoke", (_shop, signer) => usdc(signer).approve(session.shop, 0n)), ); + onSubmit("unified-form", (data, button, form) => { + const chain = data.get("chain"); + const amount = String(data.get("amount") ?? "").trim(); + try { + parseUsdc(amount); + } catch (error) { + notify(describeError(error), "error"); + return; + } + unifiedAct(button, "Deposit", (provider) => unified.deposit(provider, chain, amount)).then(() => form.reset()); + }); + + $("unified-authorize").addEventListener("click", (event) => { + if (!session.agent) { + notify("Set the agent wallet in Settings first.", "error"); + return; + } + const chain = $("unified-chain").value; + unifiedAct(event.currentTarget, "Authorize the agent", (provider) => unified.authorizeAgent(provider, chain, session.agent)); + }); + onSubmit("limits-form", (data, button, form) => { let maxPerPayment; let weeklyCap; diff --git a/dashboard/index.html b/dashboard/index.html index 4b1eb61..ab7939e 100644 --- a/dashboard/index.html +++ b/dashboard/index.html @@ -294,6 +294,23 @@

Payments from your wallet

+
+

USDC on other chains

+

+ Keep USDC on other chains in your Unified Balance (Circle Gateway). When an invoice needs more than your + wallet on Arc holds, the agent can bring it to your wallet on Arc from the chains you authorize it on. + It never sends it anywhere else, and the contract's limits still apply. +

+

+ +
+ + + + +
+
+

Limits in your contract

diff --git a/dashboard/test/unified.test.mjs b/dashboard/test/unified.test.mjs new file mode 100644 index 0000000..d5db69d --- /dev/null +++ b/dashboard/test/unified.test.mjs @@ -0,0 +1,33 @@ +import { test } from "node:test"; +import assert from "node:assert/strict"; +import { unifiedView } from "../unified.js"; + +const lastRun = (chains) => ({ unified_balance: { chains } }); + +test("each chain the agent read, with what is there and whether it may spend it", () => { + const view = unifiedView(lastRun([ + { chain: "Base_Sepolia", available: "120.500000", arriving: "0.000000", agent_authorized: true }, + { chain: "Arbitrum_Sepolia", available: "30.000000", arriving: "5.000000", agent_authorized: false }, + { chain: "Unichain_Sepolia", available: "0.000000", arriving: "0.000000", agent_authorized: false }, + ])); + assert.equal(view.state, "ok"); + assert.equal(view.text, "150.5 USDC on other chains; the agent may bring 120.5 of it to your wallet on Arc."); + assert.deepEqual(view.rows.map((r) => [r.name, r.available, r.arriving, r.authorized]), [ + ["Base Sepolia", 120500000n, 0n, true], + ["Arbitrum Sepolia", 30000000n, 5000000n, false], + ["Unichain Sepolia", 0n, 0n, false], + ]); +}); + +test("nothing deposited yet says what to do first", () => { + const view = unifiedView(lastRun([{ chain: "Base_Sepolia", available: "0.000000", arriving: "0.000000", agent_authorized: false }])); + assert.equal(view.text, "No USDC on other chains yet. Deposit on a chain, then authorize the agent there."); +}); + +test("not connected or unreadable is said plainly, with no rows", () => { + assert.equal(unifiedView(null).state, "off"); + assert.equal(unifiedView({ unified_balance: null }).rows.length, 0); + const failed = unifiedView({ unified_balance: { error: "the Unified Balance Kit did not run" } }); + assert.equal(failed.state, "error"); + assert.equal(failed.text, "Could not read it: the Unified Balance Kit did not run"); +}); diff --git a/dashboard/unified.js b/dashboard/unified.js new file mode 100644 index 0000000..7408014 --- /dev/null +++ b/dashboard/unified.js @@ -0,0 +1,67 @@ +// The owner's Unified Balance (Circle Gateway): USDC kept on other chains, which the agent can +// bring to the owner's wallet on Arc when an invoice needs it. Here the owner deposits into it and +// authorizes the agent on a chain, with their own browser wallet, through Circle's Unified +// Balance Kit. The kit is loaded only when the owner does one of these. + +import { formatUsdc, parseUsdc } from "./units.js"; + +const KIT = "./vendor/unified-balance-kit-1.8.0/index.js"; +let loaded = null; + +/** The kit's six-decimal text as exact units; zero, or anything not an amount, is 0n. */ +function units(text) { + try { + return parseUsdc(text); + } catch { + return 0n; + } +} + +function kit() { + loaded ??= import(KIT); + return loaded; +} + +/** What the page shows, from the agent's last check: each chain, what is there, and whether the + * agent may spend it. The agent reads it with Circle's kit, so only chains it can sign on. */ +export function unifiedView(lastRun) { + const view = lastRun?.unified_balance; + if (!view) return { state: "off", text: "Your agent shows this once it is connected and payments are on.", rows: [] }; + if (view.error) return { state: "error", text: `Could not read it: ${view.error}`, rows: [] }; + const rows = (view.chains ?? []).map((c) => ({ + chain: c.chain, + name: c.chain.replaceAll("_", " "), + available: units(c.available), + arriving: units(c.arriving), + authorized: Boolean(c.agent_authorized), + })); + const total = rows.reduce((sum, r) => sum + r.available, 0n); + const usable = rows.filter((r) => r.authorized).reduce((sum, r) => sum + r.available, 0n); + const text = total + ? `${formatUsdc(total)} USDC on other chains; the agent may bring ${formatUsdc(usable)} of it to your wallet on Arc.` + : "No USDC on other chains yet. Deposit on a chain, then authorize the agent there."; + return { state: "ok", text, rows }; +} + +/** The connected wallet on the chain, through the kit's viem adapter. */ +async function adapterOn(provider, chain) { + const { createViemAdapterFromProvider, resolveChainIdentifier } = await kit(); + const definition = resolveChainIdentifier(chain); + const adapter = await createViemAdapterFromProvider({ provider, capabilities: { supportedChains: [definition] } }); + await adapter.ensureChain(definition); + return adapter; +} + +/** Move USDC from the owner's wallet on the chain into their Unified Balance. */ +export async function deposit(provider, chain, amount) { + const { UnifiedBalanceKit } = await kit(); + const adapter = await adapterOn(provider, chain); + return new UnifiedBalanceKit().deposit({ from: { adapter, chain }, amount, token: "USDC" }); +} + +/** Let the agent's wallet spend the owner's Unified Balance on this chain (only to the owner). */ +export async function authorizeAgent(provider, chain, agent) { + const { UnifiedBalanceKit } = await kit(); + const adapter = await adapterOn(provider, chain); + return new UnifiedBalanceKit().addDelegate({ from: { adapter, chain }, delegateAddress: agent }); +} diff --git a/dashboard/vendor/unified-balance-kit-1.8.0/entry.mjs b/dashboard/vendor/unified-balance-kit-1.8.0/entry.mjs new file mode 100644 index 0000000..a5ec900 --- /dev/null +++ b/dashboard/vendor/unified-balance-kit-1.8.0/entry.mjs @@ -0,0 +1,4 @@ +// What the dashboard uses from Circle's Unified Balance Kit: the owner deposits USDC into their +// Unified Balance and authorizes the agent to spend it, from their own browser wallet. +export { UnifiedBalanceKit, resolveChainIdentifier } from "@circle-fin/unified-balance-kit"; +export { createViemAdapterFromProvider } from "@circle-fin/adapter-viem-v2"; diff --git a/dashboard/vendor/unified-balance-kit-1.8.0/index.js b/dashboard/vendor/unified-balance-kit-1.8.0/index.js new file mode 100644 index 0000000..20c2729 --- /dev/null +++ b/dashboard/vendor/unified-balance-kit-1.8.0/index.js @@ -0,0 +1,56 @@ +var EZ=Object.create;var kg=Object.defineProperty;var xZ=Object.getOwnPropertyDescriptor;var wZ=Object.getOwnPropertyNames;var TZ=Object.getPrototypeOf,SZ=Object.prototype.hasOwnProperty;var oe=(e,t,n)=>()=>{if(n)throw n[0];try{return e&&(t=e(e=0)),t}catch(r){throw n=[r],r}};var Xe=(e,t)=>()=>{try{return t||e((t={exports:{}}).exports,t),t.exports}catch(n){throw t=0,n}},rp=(e,t)=>{for(var n in t)kg(e,n,{get:t[n],enumerable:!0})},fO=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of wZ(t))!SZ.call(e,o)&&o!==n&&kg(e,o,{get:()=>t[o],enumerable:!(r=xZ(t,o))||r.enumerable});return e};var Ur=(e,t,n)=>(n=e!=null?EZ(TZ(e)):{},fO(t||!e||!e.__esModule?kg(n,"default",{value:e,enumerable:!0}):n,e)),pO=e=>fO(kg({},"__esModule",{value:!0}),e);var RO=Xe((E6e,SO)=>{"use strict";function LX(e){try{return JSON.stringify(e)}catch{return'"[Circular]"'}}SO.exports=MX;function MX(e,t,n){var r=n&&n.stringify||LX,o=1;if(typeof e=="object"&&e!==null){var s=t.length+o;if(s===1)return e;var i=new Array(s);i[0]=r(e);for(var a=1;a-1?l:0,e.charCodeAt(p+1)){case 100:case 102:if(d>=c||t[d]==null)break;l=c||t[d]==null)break;l=c||t[d]===void 0)break;l",l=p+2,p++;break}u+=r(t[d]),l=p+2,p++;break;case 115:if(d>=c)break;l{"use strict";var vO=RO();Ug.exports=Za;var mh=JX().console||{},FX={mapHttpRequest:Fg,mapHttpResponse:Fg,wrapRequestSerializer:q2,wrapResponseSerializer:q2,wrapErrorSerializer:q2,req:Fg,res:Fg,err:CO,errWithCause:CO};function du(e,t){return e==="silent"?1/0:t.levels.values[e]}var Z2=Symbol("pino.logFuncs"),K2=Symbol("pino.hierarchy"),UX={error:"log",fatal:"error",warn:"error",info:"log",debug:"log",trace:"log"};function IO(e,t){let n={logger:t,parent:e[K2]};t[K2]=n}function HX(e,t,n){let r={};t.forEach(o=>{r[o]=n[o]?n[o]:mh[o]||mh[UX[o]||"log"]||fp}),e[Z2]=r}function $X(e,t){return Array.isArray(e)?e.filter(function(r){return r!=="!stdSerializers.err"}):e===!0?Object.keys(t):!1}function Za(e){e=e||{},e.browser=e.browser||{};let t=e.browser.transmit;if(t&&typeof t.send!="function")throw Error("pino: transmit option must have a send function");let n=e.browser.write||mh;e.browser.write&&(e.browser.asObject=!0);let r=e.serializers||{},o=$X(e.browser.serialize,r),s=e.browser.serialize;Array.isArray(e.browser.serialize)&&e.browser.serialize.indexOf("!stdSerializers.err")>-1&&(s=!1);let i=Object.keys(e.customLevels||{}),a=["error","fatal","warn","info","debug","trace"].concat(i);typeof n=="function"&&a.forEach(function(E){n[E]=n}),(e.enabled===!1||e.browser.disabled)&&(e.level="silent");let c=e.level||"info",u=Object.create(n);u.log||(u.log=fp),HX(u,a,n),IO({},u),Object.defineProperty(u,"levelVal",{get:l}),Object.defineProperty(u,"level",{get:m,set:p});let d={transmit:t,serialize:o,asObject:e.browser.asObject,asObjectBindingsOnly:e.browser.asObjectBindingsOnly,formatters:e.browser.formatters,levels:a,timestamp:YX(e),messageKey:e.messageKey||"msg",onChild:e.onChild||fp};u.levels=zX(e),u.level=c,u.isLevelEnabled=function(E){return this.levels.values[E]?this.levels.values[E]>=this.levels.values[this.level]:!1},u.setMaxListeners=u.getMaxListeners=u.emit=u.addListener=u.on=u.prependListener=u.once=u.prependOnceListener=u.removeListener=u.removeAllListeners=u.listeners=u.listenerCount=u.eventNames=u.write=u.flush=fp,u.serializers=r,u._serialize=o,u._stdErrSerialize=s,u.child=function(...E){return g.call(this,d,...E)},t&&(u._logEvent=Y2());function l(){return du(this.level,this)}function m(){return this._level}function p(E){if(E!=="silent"&&!this.levels.values[E])throw Error("unknown level "+E);this._level=E,dl(this,d,u,"error"),dl(this,d,u,"fatal"),dl(this,d,u,"warn"),dl(this,d,u,"info"),dl(this,d,u,"debug"),dl(this,d,u,"trace"),i.forEach(x=>{dl(this,d,u,x)})}function g(E,x,S){if(!x)throw new Error("missing bindings for child Pino");S=S||{},o&&x.serializers&&(S.serializers=x.serializers);let N=S.serializers;if(o&&N){var C=Object.assign({},r,N),v=e.browser.serialize===!0?Object.keys(C):o;delete x.serializers,X2([x],v,C,this._stdErrSerialize)}function D(U){this._childLevel=(U._childLevel|0)+1,this.bindings=x,C&&(this.serializers=C,this._serialize=v),t&&(this._logEvent=Y2([].concat(U._logEvent.bindings,x)))}D.prototype=this;let F=new D(this);return IO(this,F),F.child=function(...U){return g.call(this,E,...U)},F.level=S.level||this.level,E.onChild(F),F}return u}function zX(e){let t=e.customLevels||{},n=Object.assign({},Za.levels.values,t),r=Object.assign({},Za.levels.labels,VX(t));return{values:n,labels:r}}function VX(e){let t={};return Object.keys(e).forEach(function(n){t[e[n]]=n}),t}Za.levels={values:{fatal:60,error:50,warn:40,info:30,debug:20,trace:10},labels:{10:"trace",20:"debug",30:"info",40:"warn",50:"error",60:"fatal"}};Za.stdSerializers=FX;Za.stdTimeFunctions=Object.assign({},{nullTime:NO,epochTime:OO,unixTime:ZX,isoTime:XX});function jX(e){let t=[];e.bindings&&t.push(e.bindings);let n=e[K2];for(;n.parent;)n=n.parent,n.logger.bindings&&t.push(n.logger.bindings);return t.reverse()}function dl(e,t,n,r){if(Object.defineProperty(e,r,{value:du(e.level,n)>du(r,n)?fp:n[Z2][r],writable:!0,enumerable:!0,configurable:!0}),e[r]===fp){if(!t.transmit)return;let s=t.transmit.level||e.level,i=du(s,n);if(du(r,n)l}=o.formatters||{},a=n.slice(),c=a[0],u={},d=(e._childLevel|0)+1;if(d<1&&(d=1),r&&(u.time=r),s){let l=s(t,e.levels.values[t]);Object.assign(u,l)}else u.level=e.levels.values[t];if(o.asObjectBindingsOnly){if(c!==null&&typeof c=="object")for(;d--&&typeof a[0]=="object";)Object.assign(u,a.shift());return[i(u),...a]}else{if(c!==null&&typeof c=="object"){for(;d--&&typeof a[0]=="object";)Object.assign(u,a.shift());c=a.length?vO(a.shift(),a):void 0}else typeof c=="string"&&(c=vO(a.shift(),a));return c!==void 0&&(u[o.messageKey]=c),[i(u)]}}function X2(e,t,n,r){for(let o in e)if(r&&e[o]instanceof Error)e[o]=Za.stdSerializers.err(e[o]);else if(typeof e[o]=="object"&&!Array.isArray(e[o])&&t)for(let s in e[o])t.indexOf(s)>-1&&s in n&&(e[o][s]=n[s](e[o][s]))}function KX(e,t,n,r=!1){let o=t.send,s=t.ts,i=t.methodLevel,a=t.methodValue,c=t.val,u=e._logEvent.bindings;r||X2(n,e._serialize||Object.keys(e.serializers),e.serializers,e._stdErrSerialize===void 0?!0:e._stdErrSerialize),e._logEvent.ts=s,e._logEvent.messages=n.filter(function(d){return u.indexOf(d)===-1}),e._logEvent.level.label=i,e._logEvent.level.value=a,o(i,e._logEvent,c),e._logEvent=Y2(u)}function Y2(e){return{ts:0,messages:[],bindings:e||[],level:{label:"",value:0}}}function CO(e){let t={type:e.constructor.name,msg:e.message,stack:e.stack};for(let n in e)t[n]===void 0&&(t[n]=e[n]);return t}function YX(e){return typeof e.timestamp=="function"?e.timestamp:e.timestamp===!1?NO:OO}function Fg(){return{}}function q2(e){return e}function fp(){}function NO(){return!1}function OO(){return Date.now()}function ZX(){return Math.round(Date.now()/1e3)}function XX(){return new Date(Date.now()).toISOString()}function JX(){function e(t){return typeof t<"u"&&t}try{return typeof globalThis<"u"||Object.defineProperty(Object.prototype,"globalThis",{get:function(){return delete Object.prototype.globalThis,this.globalThis=this},configurable:!0}),globalThis}catch{return e(self)||e(window)||e(this)||{}}}Ug.exports.default=Za;Ug.exports.pino=Za});var zO=Xe(()=>{});var lu=Xe((VO,rT)=>{(function(e,t){"use strict";function n(w,f){if(!w)throw new Error(f||"Assertion failed")}function r(w,f){w.super_=f;var y=function(){};y.prototype=f.prototype,w.prototype=new y,w.prototype.constructor=w}function o(w,f,y){if(o.isBN(w))return w;this.negative=0,this.words=null,this.length=0,this.red=null,w!==null&&((f==="le"||f==="be")&&(y=f,f=10),this._init(w||0,f||10,y||"be"))}typeof e=="object"?e.exports=o:t.BN=o,o.BN=o,o.wordSize=26;var s;try{typeof window<"u"&&typeof window.Buffer<"u"?s=window.Buffer:s=zO().Buffer}catch{}o.isBN=function(f){return f instanceof o?!0:f!==null&&typeof f=="object"&&f.constructor.wordSize===o.wordSize&&Array.isArray(f.words)},o.max=function(f,y){return f.cmp(y)>0?f:y},o.min=function(f,y){return f.cmp(y)<0?f:y},o.prototype._init=function(f,y,A){if(typeof f=="number")return this._initNumber(f,y,A);if(typeof f=="object")return this._initArray(f,y,A);y==="hex"&&(y=16),n(y===(y|0)&&y>=2&&y<=36),f=f.toString().replace(/\s+/g,"");var T=0;f[0]==="-"&&(T++,this.negative=1),T=0;T-=3)k=f[T]|f[T-1]<<8|f[T-2]<<16,this.words[I]|=k<>>26-P&67108863,P+=24,P>=26&&(P-=26,I++);else if(A==="le")for(T=0,I=0;T>>26-P&67108863,P+=24,P>=26&&(P-=26,I++);return this._strip()};function i(w,f){var y=w.charCodeAt(f);if(y>=48&&y<=57)return y-48;if(y>=65&&y<=70)return y-55;if(y>=97&&y<=102)return y-87;n(!1,"Invalid character in "+w)}function a(w,f,y){var A=i(w,y);return y-1>=f&&(A|=i(w,y-1)<<4),A}o.prototype._parseHex=function(f,y,A){this.length=Math.ceil((f.length-y)/6),this.words=new Array(this.length);for(var T=0;T=y;T-=2)P=a(f,y,T)<=18?(I-=18,k+=1,this.words[k]|=P>>>26):I+=8;else{var O=f.length-y;for(T=O%2===0?y+1:y;T=18?(I-=18,k+=1,this.words[k]|=P>>>26):I+=8}this._strip()};function c(w,f,y,A){for(var T=0,I=0,k=Math.min(w.length,y),P=f;P=49?I=O-49+10:O>=17?I=O-17+10:I=O,n(O>=0&&I1&&this.words[this.length-1]===0;)this.length--;return this._normSign()},o.prototype._normSign=function(){return this.length===1&&this.words[0]===0&&(this.negative=0),this},typeof Symbol<"u"&&typeof Symbol.for=="function")try{o.prototype[Symbol.for("nodejs.util.inspect.custom")]=d}catch{o.prototype.inspect=d}else o.prototype.inspect=d;function d(){return(this.red?""}var l=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],m=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],p=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];o.prototype.toString=function(f,y){f=f||10,y=y|0||1;var A;if(f===16||f==="hex"){A="";for(var T=0,I=0,k=0;k>>24-T&16777215,T+=2,T>=26&&(T-=26,k--),I!==0||k!==this.length-1?A=l[6-O.length]+O+A:A=O+A}for(I!==0&&(A=I.toString(16)+A);A.length%y!==0;)A="0"+A;return this.negative!==0&&(A="-"+A),A}if(f===(f|0)&&f>=2&&f<=36){var _=m[f],L=p[f];A="";var ce=this.clone();for(ce.negative=0;!ce.isZero();){var R=ce.modrn(L).toString(f);ce=ce.idivn(L),ce.isZero()?A=R+A:A=l[_-R.length]+R+A}for(this.isZero()&&(A="0"+A);A.length%y!==0;)A="0"+A;return this.negative!==0&&(A="-"+A),A}n(!1,"Base should be between 2 and 36")},o.prototype.toNumber=function(){var f=this.words[0];return this.length===2?f+=this.words[1]*67108864:this.length===3&&this.words[2]===1?f+=4503599627370496+this.words[1]*67108864:this.length>2&&n(!1,"Number can only safely store up to 53 bits"),this.negative!==0?-f:f},o.prototype.toJSON=function(){return this.toString(16,2)},s&&(o.prototype.toBuffer=function(f,y){return this.toArrayLike(s,f,y)}),o.prototype.toArray=function(f,y){return this.toArrayLike(Array,f,y)};var g=function(f,y){return f.allocUnsafe?f.allocUnsafe(y):new f(y)};o.prototype.toArrayLike=function(f,y,A){this._strip();var T=this.byteLength(),I=A||Math.max(1,T);n(T<=I,"byte array longer than desired length"),n(I>0,"Requested array length <= 0");var k=g(f,I),P=y==="le"?"LE":"BE";return this["_toArrayLike"+P](k,T),k},o.prototype._toArrayLikeLE=function(f,y){for(var A=0,T=0,I=0,k=0;I>8&255),A>16&255),k===6?(A>24&255),T=0,k=0):(T=P>>>24,k+=2)}if(A=0&&(f[A--]=P>>8&255),A>=0&&(f[A--]=P>>16&255),k===6?(A>=0&&(f[A--]=P>>24&255),T=0,k=0):(T=P>>>24,k+=2)}if(A>=0)for(f[A--]=T;A>=0;)f[A--]=0},Math.clz32?o.prototype._countBits=function(f){return 32-Math.clz32(f)}:o.prototype._countBits=function(f){var y=f,A=0;return y>=4096&&(A+=13,y>>>=13),y>=64&&(A+=7,y>>>=7),y>=8&&(A+=4,y>>>=4),y>=2&&(A+=2,y>>>=2),A+y},o.prototype._zeroBits=function(f){if(f===0)return 26;var y=f,A=0;return(y&8191)===0&&(A+=13,y>>>=13),(y&127)===0&&(A+=7,y>>>=7),(y&15)===0&&(A+=4,y>>>=4),(y&3)===0&&(A+=2,y>>>=2),(y&1)===0&&A++,A},o.prototype.bitLength=function(){var f=this.words[this.length-1],y=this._countBits(f);return(this.length-1)*26+y};function E(w){for(var f=new Array(w.bitLength()),y=0;y>>T&1}return f}o.prototype.zeroBits=function(){if(this.isZero())return 0;for(var f=0,y=0;yf.length?this.clone().ior(f):f.clone().ior(this)},o.prototype.uor=function(f){return this.length>f.length?this.clone().iuor(f):f.clone().iuor(this)},o.prototype.iuand=function(f){var y;this.length>f.length?y=f:y=this;for(var A=0;Af.length?this.clone().iand(f):f.clone().iand(this)},o.prototype.uand=function(f){return this.length>f.length?this.clone().iuand(f):f.clone().iuand(this)},o.prototype.iuxor=function(f){var y,A;this.length>f.length?(y=this,A=f):(y=f,A=this);for(var T=0;Tf.length?this.clone().ixor(f):f.clone().ixor(this)},o.prototype.uxor=function(f){return this.length>f.length?this.clone().iuxor(f):f.clone().iuxor(this)},o.prototype.inotn=function(f){n(typeof f=="number"&&f>=0);var y=Math.ceil(f/26)|0,A=f%26;this._expand(y),A>0&&y--;for(var T=0;T0&&(this.words[T]=~this.words[T]&67108863>>26-A,T++);T=0);var A=f/26|0,T=f%26;return this._expand(A+1),y?this.words[A]=this.words[A]|1<f.length?(A=this,T=f):(A=f,T=this);for(var I=0,k=0;k>>26;for(;I!==0&&k>>26;if(this.length=A.length,I!==0)this.words[this.length]=I,this.length++;else if(A!==this)for(;kf.length?this.clone().iadd(f):f.clone().iadd(this)},o.prototype.isub=function(f){if(f.negative!==0){f.negative=0;var y=this.iadd(f);return f.negative=1,y._normSign()}else if(this.negative!==0)return this.negative=0,this.iadd(f),this.negative=1,this._normSign();var A=this.cmp(f);if(A===0)return this.negative=0,this.length=1,this.words[0]=0,this;var T,I;A>0?(T=this,I=f):(T=f,I=this);for(var k=0,P=0;P>26,this.words[P]=y&67108863;for(;k!==0&&P>26,this.words[P]=y&67108863;if(k===0&&P>>26,ce=O&67108863,R=Math.min(_,f.length-1),K=Math.max(0,_-w.length+1);K<=R;K++){var J=_-K|0;T=w.words[J]|0,I=f.words[K]|0,k=T*I+ce,L+=k/67108864|0,ce=k&67108863}y.words[_]=ce|0,O=L|0}return O!==0?y.words[_]=O|0:y.length--,y._strip()}var S=function(f,y,A){var T=f.words,I=y.words,k=A.words,P=0,O,_,L,ce=T[0]|0,R=ce&8191,K=ce>>>13,J=T[1]|0,re=J&8191,ae=J>>>13,me=T[2]|0,he=me&8191,pe=me>>>13,ct=T[3]|0,_e=ct&8191,Ne=ct>>>13,Ds=T[4]|0,Yt=Ds&8191,Zt=Ds>>>13,Ki=T[5]|0,Xt=Ki&8191,Jt=Ki>>>13,ja=T[6]|0,Qt=ja&8191,en=ja>>>13,xo=T[7]|0,G=xo&8191,q=xo>>>13,Z=T[8]|0,Q=Z&8191,le=Z>>>13,ke=T[9]|0,Ce=ke&8191,We=ke>>>13,zt=I[0]|0,Ze=zt&8191,dt=zt>>>13,Ga=I[1]|0,tn=Ga&8191,Ut=Ga>>>13,Hd=I[2]|0,dn=Hd&8191,ln=Hd>>>13,$d=I[3]|0,fn=$d&8191,pn=$d>>>13,zd=I[4]|0,mn=zd&8191,hn=zd>>>13,Vd=I[5]|0,yn=Vd&8191,bn=Vd>>>13,jd=I[6]|0,gn=jd&8191,_n=jd>>>13,Gd=I[7]|0,An=Gd&8191,En=Gd>>>13,Wd=I[8]|0,xn=Wd&8191,wn=Wd>>>13,qd=I[9]|0,Tn=qd&8191,Sn=qd>>>13;A.negative=f.negative^y.negative,A.length=19,O=Math.imul(R,Ze),_=Math.imul(R,dt),_=_+Math.imul(K,Ze)|0,L=Math.imul(K,dt);var tu=(P+O|0)+((_&8191)<<13)|0;P=(L+(_>>>13)|0)+(tu>>>26)|0,tu&=67108863,O=Math.imul(re,Ze),_=Math.imul(re,dt),_=_+Math.imul(ae,Ze)|0,L=Math.imul(ae,dt),O=O+Math.imul(R,tn)|0,_=_+Math.imul(R,Ut)|0,_=_+Math.imul(K,tn)|0,L=L+Math.imul(K,Ut)|0;var nu=(P+O|0)+((_&8191)<<13)|0;P=(L+(_>>>13)|0)+(nu>>>26)|0,nu&=67108863,O=Math.imul(he,Ze),_=Math.imul(he,dt),_=_+Math.imul(pe,Ze)|0,L=Math.imul(pe,dt),O=O+Math.imul(re,tn)|0,_=_+Math.imul(re,Ut)|0,_=_+Math.imul(ae,tn)|0,L=L+Math.imul(ae,Ut)|0,O=O+Math.imul(R,dn)|0,_=_+Math.imul(R,ln)|0,_=_+Math.imul(K,dn)|0,L=L+Math.imul(K,ln)|0;var ru=(P+O|0)+((_&8191)<<13)|0;P=(L+(_>>>13)|0)+(ru>>>26)|0,ru&=67108863,O=Math.imul(_e,Ze),_=Math.imul(_e,dt),_=_+Math.imul(Ne,Ze)|0,L=Math.imul(Ne,dt),O=O+Math.imul(he,tn)|0,_=_+Math.imul(he,Ut)|0,_=_+Math.imul(pe,tn)|0,L=L+Math.imul(pe,Ut)|0,O=O+Math.imul(re,dn)|0,_=_+Math.imul(re,ln)|0,_=_+Math.imul(ae,dn)|0,L=L+Math.imul(ae,ln)|0,O=O+Math.imul(R,fn)|0,_=_+Math.imul(R,pn)|0,_=_+Math.imul(K,fn)|0,L=L+Math.imul(K,pn)|0;var ou=(P+O|0)+((_&8191)<<13)|0;P=(L+(_>>>13)|0)+(ou>>>26)|0,ou&=67108863,O=Math.imul(Yt,Ze),_=Math.imul(Yt,dt),_=_+Math.imul(Zt,Ze)|0,L=Math.imul(Zt,dt),O=O+Math.imul(_e,tn)|0,_=_+Math.imul(_e,Ut)|0,_=_+Math.imul(Ne,tn)|0,L=L+Math.imul(Ne,Ut)|0,O=O+Math.imul(he,dn)|0,_=_+Math.imul(he,ln)|0,_=_+Math.imul(pe,dn)|0,L=L+Math.imul(pe,ln)|0,O=O+Math.imul(re,fn)|0,_=_+Math.imul(re,pn)|0,_=_+Math.imul(ae,fn)|0,L=L+Math.imul(ae,pn)|0,O=O+Math.imul(R,mn)|0,_=_+Math.imul(R,hn)|0,_=_+Math.imul(K,mn)|0,L=L+Math.imul(K,hn)|0;var su=(P+O|0)+((_&8191)<<13)|0;P=(L+(_>>>13)|0)+(su>>>26)|0,su&=67108863,O=Math.imul(Xt,Ze),_=Math.imul(Xt,dt),_=_+Math.imul(Jt,Ze)|0,L=Math.imul(Jt,dt),O=O+Math.imul(Yt,tn)|0,_=_+Math.imul(Yt,Ut)|0,_=_+Math.imul(Zt,tn)|0,L=L+Math.imul(Zt,Ut)|0,O=O+Math.imul(_e,dn)|0,_=_+Math.imul(_e,ln)|0,_=_+Math.imul(Ne,dn)|0,L=L+Math.imul(Ne,ln)|0,O=O+Math.imul(he,fn)|0,_=_+Math.imul(he,pn)|0,_=_+Math.imul(pe,fn)|0,L=L+Math.imul(pe,pn)|0,O=O+Math.imul(re,mn)|0,_=_+Math.imul(re,hn)|0,_=_+Math.imul(ae,mn)|0,L=L+Math.imul(ae,hn)|0,O=O+Math.imul(R,yn)|0,_=_+Math.imul(R,bn)|0,_=_+Math.imul(K,yn)|0,L=L+Math.imul(K,bn)|0;var N2=(P+O|0)+((_&8191)<<13)|0;P=(L+(_>>>13)|0)+(N2>>>26)|0,N2&=67108863,O=Math.imul(Qt,Ze),_=Math.imul(Qt,dt),_=_+Math.imul(en,Ze)|0,L=Math.imul(en,dt),O=O+Math.imul(Xt,tn)|0,_=_+Math.imul(Xt,Ut)|0,_=_+Math.imul(Jt,tn)|0,L=L+Math.imul(Jt,Ut)|0,O=O+Math.imul(Yt,dn)|0,_=_+Math.imul(Yt,ln)|0,_=_+Math.imul(Zt,dn)|0,L=L+Math.imul(Zt,ln)|0,O=O+Math.imul(_e,fn)|0,_=_+Math.imul(_e,pn)|0,_=_+Math.imul(Ne,fn)|0,L=L+Math.imul(Ne,pn)|0,O=O+Math.imul(he,mn)|0,_=_+Math.imul(he,hn)|0,_=_+Math.imul(pe,mn)|0,L=L+Math.imul(pe,hn)|0,O=O+Math.imul(re,yn)|0,_=_+Math.imul(re,bn)|0,_=_+Math.imul(ae,yn)|0,L=L+Math.imul(ae,bn)|0,O=O+Math.imul(R,gn)|0,_=_+Math.imul(R,_n)|0,_=_+Math.imul(K,gn)|0,L=L+Math.imul(K,_n)|0;var O2=(P+O|0)+((_&8191)<<13)|0;P=(L+(_>>>13)|0)+(O2>>>26)|0,O2&=67108863,O=Math.imul(G,Ze),_=Math.imul(G,dt),_=_+Math.imul(q,Ze)|0,L=Math.imul(q,dt),O=O+Math.imul(Qt,tn)|0,_=_+Math.imul(Qt,Ut)|0,_=_+Math.imul(en,tn)|0,L=L+Math.imul(en,Ut)|0,O=O+Math.imul(Xt,dn)|0,_=_+Math.imul(Xt,ln)|0,_=_+Math.imul(Jt,dn)|0,L=L+Math.imul(Jt,ln)|0,O=O+Math.imul(Yt,fn)|0,_=_+Math.imul(Yt,pn)|0,_=_+Math.imul(Zt,fn)|0,L=L+Math.imul(Zt,pn)|0,O=O+Math.imul(_e,mn)|0,_=_+Math.imul(_e,hn)|0,_=_+Math.imul(Ne,mn)|0,L=L+Math.imul(Ne,hn)|0,O=O+Math.imul(he,yn)|0,_=_+Math.imul(he,bn)|0,_=_+Math.imul(pe,yn)|0,L=L+Math.imul(pe,bn)|0,O=O+Math.imul(re,gn)|0,_=_+Math.imul(re,_n)|0,_=_+Math.imul(ae,gn)|0,L=L+Math.imul(ae,_n)|0,O=O+Math.imul(R,An)|0,_=_+Math.imul(R,En)|0,_=_+Math.imul(K,An)|0,L=L+Math.imul(K,En)|0;var k2=(P+O|0)+((_&8191)<<13)|0;P=(L+(_>>>13)|0)+(k2>>>26)|0,k2&=67108863,O=Math.imul(Q,Ze),_=Math.imul(Q,dt),_=_+Math.imul(le,Ze)|0,L=Math.imul(le,dt),O=O+Math.imul(G,tn)|0,_=_+Math.imul(G,Ut)|0,_=_+Math.imul(q,tn)|0,L=L+Math.imul(q,Ut)|0,O=O+Math.imul(Qt,dn)|0,_=_+Math.imul(Qt,ln)|0,_=_+Math.imul(en,dn)|0,L=L+Math.imul(en,ln)|0,O=O+Math.imul(Xt,fn)|0,_=_+Math.imul(Xt,pn)|0,_=_+Math.imul(Jt,fn)|0,L=L+Math.imul(Jt,pn)|0,O=O+Math.imul(Yt,mn)|0,_=_+Math.imul(Yt,hn)|0,_=_+Math.imul(Zt,mn)|0,L=L+Math.imul(Zt,hn)|0,O=O+Math.imul(_e,yn)|0,_=_+Math.imul(_e,bn)|0,_=_+Math.imul(Ne,yn)|0,L=L+Math.imul(Ne,bn)|0,O=O+Math.imul(he,gn)|0,_=_+Math.imul(he,_n)|0,_=_+Math.imul(pe,gn)|0,L=L+Math.imul(pe,_n)|0,O=O+Math.imul(re,An)|0,_=_+Math.imul(re,En)|0,_=_+Math.imul(ae,An)|0,L=L+Math.imul(ae,En)|0,O=O+Math.imul(R,xn)|0,_=_+Math.imul(R,wn)|0,_=_+Math.imul(K,xn)|0,L=L+Math.imul(K,wn)|0;var D2=(P+O|0)+((_&8191)<<13)|0;P=(L+(_>>>13)|0)+(D2>>>26)|0,D2&=67108863,O=Math.imul(Ce,Ze),_=Math.imul(Ce,dt),_=_+Math.imul(We,Ze)|0,L=Math.imul(We,dt),O=O+Math.imul(Q,tn)|0,_=_+Math.imul(Q,Ut)|0,_=_+Math.imul(le,tn)|0,L=L+Math.imul(le,Ut)|0,O=O+Math.imul(G,dn)|0,_=_+Math.imul(G,ln)|0,_=_+Math.imul(q,dn)|0,L=L+Math.imul(q,ln)|0,O=O+Math.imul(Qt,fn)|0,_=_+Math.imul(Qt,pn)|0,_=_+Math.imul(en,fn)|0,L=L+Math.imul(en,pn)|0,O=O+Math.imul(Xt,mn)|0,_=_+Math.imul(Xt,hn)|0,_=_+Math.imul(Jt,mn)|0,L=L+Math.imul(Jt,hn)|0,O=O+Math.imul(Yt,yn)|0,_=_+Math.imul(Yt,bn)|0,_=_+Math.imul(Zt,yn)|0,L=L+Math.imul(Zt,bn)|0,O=O+Math.imul(_e,gn)|0,_=_+Math.imul(_e,_n)|0,_=_+Math.imul(Ne,gn)|0,L=L+Math.imul(Ne,_n)|0,O=O+Math.imul(he,An)|0,_=_+Math.imul(he,En)|0,_=_+Math.imul(pe,An)|0,L=L+Math.imul(pe,En)|0,O=O+Math.imul(re,xn)|0,_=_+Math.imul(re,wn)|0,_=_+Math.imul(ae,xn)|0,L=L+Math.imul(ae,wn)|0,O=O+Math.imul(R,Tn)|0,_=_+Math.imul(R,Sn)|0,_=_+Math.imul(K,Tn)|0,L=L+Math.imul(K,Sn)|0;var B2=(P+O|0)+((_&8191)<<13)|0;P=(L+(_>>>13)|0)+(B2>>>26)|0,B2&=67108863,O=Math.imul(Ce,tn),_=Math.imul(Ce,Ut),_=_+Math.imul(We,tn)|0,L=Math.imul(We,Ut),O=O+Math.imul(Q,dn)|0,_=_+Math.imul(Q,ln)|0,_=_+Math.imul(le,dn)|0,L=L+Math.imul(le,ln)|0,O=O+Math.imul(G,fn)|0,_=_+Math.imul(G,pn)|0,_=_+Math.imul(q,fn)|0,L=L+Math.imul(q,pn)|0,O=O+Math.imul(Qt,mn)|0,_=_+Math.imul(Qt,hn)|0,_=_+Math.imul(en,mn)|0,L=L+Math.imul(en,hn)|0,O=O+Math.imul(Xt,yn)|0,_=_+Math.imul(Xt,bn)|0,_=_+Math.imul(Jt,yn)|0,L=L+Math.imul(Jt,bn)|0,O=O+Math.imul(Yt,gn)|0,_=_+Math.imul(Yt,_n)|0,_=_+Math.imul(Zt,gn)|0,L=L+Math.imul(Zt,_n)|0,O=O+Math.imul(_e,An)|0,_=_+Math.imul(_e,En)|0,_=_+Math.imul(Ne,An)|0,L=L+Math.imul(Ne,En)|0,O=O+Math.imul(he,xn)|0,_=_+Math.imul(he,wn)|0,_=_+Math.imul(pe,xn)|0,L=L+Math.imul(pe,wn)|0,O=O+Math.imul(re,Tn)|0,_=_+Math.imul(re,Sn)|0,_=_+Math.imul(ae,Tn)|0,L=L+Math.imul(ae,Sn)|0;var P2=(P+O|0)+((_&8191)<<13)|0;P=(L+(_>>>13)|0)+(P2>>>26)|0,P2&=67108863,O=Math.imul(Ce,dn),_=Math.imul(Ce,ln),_=_+Math.imul(We,dn)|0,L=Math.imul(We,ln),O=O+Math.imul(Q,fn)|0,_=_+Math.imul(Q,pn)|0,_=_+Math.imul(le,fn)|0,L=L+Math.imul(le,pn)|0,O=O+Math.imul(G,mn)|0,_=_+Math.imul(G,hn)|0,_=_+Math.imul(q,mn)|0,L=L+Math.imul(q,hn)|0,O=O+Math.imul(Qt,yn)|0,_=_+Math.imul(Qt,bn)|0,_=_+Math.imul(en,yn)|0,L=L+Math.imul(en,bn)|0,O=O+Math.imul(Xt,gn)|0,_=_+Math.imul(Xt,_n)|0,_=_+Math.imul(Jt,gn)|0,L=L+Math.imul(Jt,_n)|0,O=O+Math.imul(Yt,An)|0,_=_+Math.imul(Yt,En)|0,_=_+Math.imul(Zt,An)|0,L=L+Math.imul(Zt,En)|0,O=O+Math.imul(_e,xn)|0,_=_+Math.imul(_e,wn)|0,_=_+Math.imul(Ne,xn)|0,L=L+Math.imul(Ne,wn)|0,O=O+Math.imul(he,Tn)|0,_=_+Math.imul(he,Sn)|0,_=_+Math.imul(pe,Tn)|0,L=L+Math.imul(pe,Sn)|0;var L2=(P+O|0)+((_&8191)<<13)|0;P=(L+(_>>>13)|0)+(L2>>>26)|0,L2&=67108863,O=Math.imul(Ce,fn),_=Math.imul(Ce,pn),_=_+Math.imul(We,fn)|0,L=Math.imul(We,pn),O=O+Math.imul(Q,mn)|0,_=_+Math.imul(Q,hn)|0,_=_+Math.imul(le,mn)|0,L=L+Math.imul(le,hn)|0,O=O+Math.imul(G,yn)|0,_=_+Math.imul(G,bn)|0,_=_+Math.imul(q,yn)|0,L=L+Math.imul(q,bn)|0,O=O+Math.imul(Qt,gn)|0,_=_+Math.imul(Qt,_n)|0,_=_+Math.imul(en,gn)|0,L=L+Math.imul(en,_n)|0,O=O+Math.imul(Xt,An)|0,_=_+Math.imul(Xt,En)|0,_=_+Math.imul(Jt,An)|0,L=L+Math.imul(Jt,En)|0,O=O+Math.imul(Yt,xn)|0,_=_+Math.imul(Yt,wn)|0,_=_+Math.imul(Zt,xn)|0,L=L+Math.imul(Zt,wn)|0,O=O+Math.imul(_e,Tn)|0,_=_+Math.imul(_e,Sn)|0,_=_+Math.imul(Ne,Tn)|0,L=L+Math.imul(Ne,Sn)|0;var M2=(P+O|0)+((_&8191)<<13)|0;P=(L+(_>>>13)|0)+(M2>>>26)|0,M2&=67108863,O=Math.imul(Ce,mn),_=Math.imul(Ce,hn),_=_+Math.imul(We,mn)|0,L=Math.imul(We,hn),O=O+Math.imul(Q,yn)|0,_=_+Math.imul(Q,bn)|0,_=_+Math.imul(le,yn)|0,L=L+Math.imul(le,bn)|0,O=O+Math.imul(G,gn)|0,_=_+Math.imul(G,_n)|0,_=_+Math.imul(q,gn)|0,L=L+Math.imul(q,_n)|0,O=O+Math.imul(Qt,An)|0,_=_+Math.imul(Qt,En)|0,_=_+Math.imul(en,An)|0,L=L+Math.imul(en,En)|0,O=O+Math.imul(Xt,xn)|0,_=_+Math.imul(Xt,wn)|0,_=_+Math.imul(Jt,xn)|0,L=L+Math.imul(Jt,wn)|0,O=O+Math.imul(Yt,Tn)|0,_=_+Math.imul(Yt,Sn)|0,_=_+Math.imul(Zt,Tn)|0,L=L+Math.imul(Zt,Sn)|0;var F2=(P+O|0)+((_&8191)<<13)|0;P=(L+(_>>>13)|0)+(F2>>>26)|0,F2&=67108863,O=Math.imul(Ce,yn),_=Math.imul(Ce,bn),_=_+Math.imul(We,yn)|0,L=Math.imul(We,bn),O=O+Math.imul(Q,gn)|0,_=_+Math.imul(Q,_n)|0,_=_+Math.imul(le,gn)|0,L=L+Math.imul(le,_n)|0,O=O+Math.imul(G,An)|0,_=_+Math.imul(G,En)|0,_=_+Math.imul(q,An)|0,L=L+Math.imul(q,En)|0,O=O+Math.imul(Qt,xn)|0,_=_+Math.imul(Qt,wn)|0,_=_+Math.imul(en,xn)|0,L=L+Math.imul(en,wn)|0,O=O+Math.imul(Xt,Tn)|0,_=_+Math.imul(Xt,Sn)|0,_=_+Math.imul(Jt,Tn)|0,L=L+Math.imul(Jt,Sn)|0;var U2=(P+O|0)+((_&8191)<<13)|0;P=(L+(_>>>13)|0)+(U2>>>26)|0,U2&=67108863,O=Math.imul(Ce,gn),_=Math.imul(Ce,_n),_=_+Math.imul(We,gn)|0,L=Math.imul(We,_n),O=O+Math.imul(Q,An)|0,_=_+Math.imul(Q,En)|0,_=_+Math.imul(le,An)|0,L=L+Math.imul(le,En)|0,O=O+Math.imul(G,xn)|0,_=_+Math.imul(G,wn)|0,_=_+Math.imul(q,xn)|0,L=L+Math.imul(q,wn)|0,O=O+Math.imul(Qt,Tn)|0,_=_+Math.imul(Qt,Sn)|0,_=_+Math.imul(en,Tn)|0,L=L+Math.imul(en,Sn)|0;var H2=(P+O|0)+((_&8191)<<13)|0;P=(L+(_>>>13)|0)+(H2>>>26)|0,H2&=67108863,O=Math.imul(Ce,An),_=Math.imul(Ce,En),_=_+Math.imul(We,An)|0,L=Math.imul(We,En),O=O+Math.imul(Q,xn)|0,_=_+Math.imul(Q,wn)|0,_=_+Math.imul(le,xn)|0,L=L+Math.imul(le,wn)|0,O=O+Math.imul(G,Tn)|0,_=_+Math.imul(G,Sn)|0,_=_+Math.imul(q,Tn)|0,L=L+Math.imul(q,Sn)|0;var $2=(P+O|0)+((_&8191)<<13)|0;P=(L+(_>>>13)|0)+($2>>>26)|0,$2&=67108863,O=Math.imul(Ce,xn),_=Math.imul(Ce,wn),_=_+Math.imul(We,xn)|0,L=Math.imul(We,wn),O=O+Math.imul(Q,Tn)|0,_=_+Math.imul(Q,Sn)|0,_=_+Math.imul(le,Tn)|0,L=L+Math.imul(le,Sn)|0;var z2=(P+O|0)+((_&8191)<<13)|0;P=(L+(_>>>13)|0)+(z2>>>26)|0,z2&=67108863,O=Math.imul(Ce,Tn),_=Math.imul(Ce,Sn),_=_+Math.imul(We,Tn)|0,L=Math.imul(We,Sn);var V2=(P+O|0)+((_&8191)<<13)|0;return P=(L+(_>>>13)|0)+(V2>>>26)|0,V2&=67108863,k[0]=tu,k[1]=nu,k[2]=ru,k[3]=ou,k[4]=su,k[5]=N2,k[6]=O2,k[7]=k2,k[8]=D2,k[9]=B2,k[10]=P2,k[11]=L2,k[12]=M2,k[13]=F2,k[14]=U2,k[15]=H2,k[16]=$2,k[17]=z2,k[18]=V2,P!==0&&(k[19]=P,A.length++),A};Math.imul||(S=x);function N(w,f,y){y.negative=f.negative^w.negative,y.length=w.length+f.length;for(var A=0,T=0,I=0;I>>26)|0,T+=k>>>26,k&=67108863}y.words[I]=P,A=k,k=T}return A!==0?y.words[I]=A:y.length--,y._strip()}function C(w,f,y){return N(w,f,y)}o.prototype.mulTo=function(f,y){var A,T=this.length+f.length;return this.length===10&&f.length===10?A=S(this,f,y):T<63?A=x(this,f,y):T<1024?A=N(this,f,y):A=C(this,f,y),A};function v(w,f){this.x=w,this.y=f}v.prototype.makeRBT=function(f){for(var y=new Array(f),A=o.prototype._countBits(f)-1,T=0;T>=1;return T},v.prototype.permute=function(f,y,A,T,I,k){for(var P=0;P>>1)I++;return 1<>>13,A[2*k+1]=I&8191,I=I>>>13;for(k=2*y;k>=26,A+=I/67108864|0,A+=k>>>26,this.words[T]=k&67108863}return A!==0&&(this.words[T]=A,this.length++),f===0&&(this.length=1,this._normSign()),y?this.ineg():this},o.prototype.muln=function(f){return this.clone().imuln(f)},o.prototype.sqr=function(){return this.mul(this)},o.prototype.isqr=function(){return this.imul(this.clone())},o.prototype.pow=function(f){var y=E(f);if(y.length===0)return new o(1);for(var A=this,T=0;T=0);var y=f%26,A=(f-y)/26,T=67108863>>>26-y<<26-y,I;if(y!==0){var k=0;for(I=0;I>>26-y}k&&(this.words[I]=k,this.length++)}if(A!==0){for(I=this.length-1;I>=0;I--)this.words[I+A]=this.words[I];for(I=0;I=0);var T;y?T=(y-y%26)/26:T=0;var I=f%26,k=Math.min((f-I)/26,this.length),P=67108863^67108863>>>I<k)for(this.length-=k,_=0;_=0&&(L!==0||_>=T);_--){var ce=this.words[_]|0;this.words[_]=L<<26-I|ce>>>I,L=ce&P}return O&&L!==0&&(O.words[O.length++]=L),this.length===0&&(this.words[0]=0,this.length=1),this._strip()},o.prototype.ishrn=function(f,y,A){return n(this.negative===0),this.iushrn(f,y,A)},o.prototype.shln=function(f){return this.clone().ishln(f)},o.prototype.ushln=function(f){return this.clone().iushln(f)},o.prototype.shrn=function(f){return this.clone().ishrn(f)},o.prototype.ushrn=function(f){return this.clone().iushrn(f)},o.prototype.testn=function(f){n(typeof f=="number"&&f>=0);var y=f%26,A=(f-y)/26,T=1<=0);var y=f%26,A=(f-y)/26;if(n(this.negative===0,"imaskn works only with positive numbers"),this.length<=A)return this;if(y!==0&&A++,this.length=Math.min(A,this.length),y!==0){var T=67108863^67108863>>>y<=67108864;y++)this.words[y]-=67108864,y===this.length-1?this.words[y+1]=1:this.words[y+1]++;return this.length=Math.max(this.length,y+1),this},o.prototype.isubn=function(f){if(n(typeof f=="number"),n(f<67108864),f<0)return this.iaddn(-f);if(this.negative!==0)return this.negative=0,this.iaddn(f),this.negative=1,this;if(this.words[0]-=f,this.length===1&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var y=0;y>26)-(O/67108864|0),this.words[I+A]=k&67108863}for(;I>26,this.words[I+A]=k&67108863;if(P===0)return this._strip();for(n(P===-1),P=0,I=0;I>26,this.words[I]=k&67108863;return this.negative=1,this._strip()},o.prototype._wordDiv=function(f,y){var A=this.length-f.length,T=this.clone(),I=f,k=I.words[I.length-1]|0,P=this._countBits(k);A=26-P,A!==0&&(I=I.ushln(A),T.iushln(A),k=I.words[I.length-1]|0);var O=T.length-I.length,_;if(y!=="mod"){_=new o(null),_.length=O+1,_.words=new Array(_.length);for(var L=0;L<_.length;L++)_.words[L]=0}var ce=T.clone()._ishlnsubmul(I,1,O);ce.negative===0&&(T=ce,_&&(_.words[O]=1));for(var R=O-1;R>=0;R--){var K=(T.words[I.length+R]|0)*67108864+(T.words[I.length+R-1]|0);for(K=Math.min(K/k|0,67108863),T._ishlnsubmul(I,K,R);T.negative!==0;)K--,T.negative=0,T._ishlnsubmul(I,1,R),T.isZero()||(T.negative^=1);_&&(_.words[R]=K)}return _&&_._strip(),T._strip(),y!=="div"&&A!==0&&T.iushrn(A),{div:_||null,mod:T}},o.prototype.divmod=function(f,y,A){if(n(!f.isZero()),this.isZero())return{div:new o(0),mod:new o(0)};var T,I,k;return this.negative!==0&&f.negative===0?(k=this.neg().divmod(f,y),y!=="mod"&&(T=k.div.neg()),y!=="div"&&(I=k.mod.neg(),A&&I.negative!==0&&I.iadd(f)),{div:T,mod:I}):this.negative===0&&f.negative!==0?(k=this.divmod(f.neg(),y),y!=="mod"&&(T=k.div.neg()),{div:T,mod:k.mod}):(this.negative&f.negative)!==0?(k=this.neg().divmod(f.neg(),y),y!=="div"&&(I=k.mod.neg(),A&&I.negative!==0&&I.isub(f)),{div:k.div,mod:I}):f.length>this.length||this.cmp(f)<0?{div:new o(0),mod:this}:f.length===1?y==="div"?{div:this.divn(f.words[0]),mod:null}:y==="mod"?{div:null,mod:new o(this.modrn(f.words[0]))}:{div:this.divn(f.words[0]),mod:new o(this.modrn(f.words[0]))}:this._wordDiv(f,y)},o.prototype.div=function(f){return this.divmod(f,"div",!1).div},o.prototype.mod=function(f){return this.divmod(f,"mod",!1).mod},o.prototype.umod=function(f){return this.divmod(f,"mod",!0).mod},o.prototype.divRound=function(f){var y=this.divmod(f);if(y.mod.isZero())return y.div;var A=y.mod.abs(),T=f.abs().iushrn(1),I=f.words[0]&1,k=A.cmp(T);if(k<0||I===1&&k===0)return y.div;var P=new o(1);return P.negative=this.negative^f.negative,y.div.iadd(P)},o.prototype.modrn=function(f){var y=f<0;y&&(f=-f),n(f<=67108863);for(var A=(1<<26)%f,T=0,I=this.length-1;I>=0;I--)T=(A*T+(this.words[I]|0))%f;return y?-T:T},o.prototype.modn=function(f){return this.modrn(f)},o.prototype.idivn=function(f){var y=f<0;y&&(f=-f),n(f<=67108863);for(var A=0,T=this.length-1;T>=0;T--){var I=(this.words[T]|0)+A*67108864;this.words[T]=I/f|0,A=I%f}return this._strip(),y?this.ineg():this},o.prototype.divn=function(f){return this.clone().idivn(f)},o.prototype.egcd=function(f){n(f.negative===0),n(!f.isZero());var y=this,A=f.clone();y.negative!==0?y=y.umod(f):y=y.clone();for(var T=new o(1),I=new o(0),k=new o(0),P=new o(1),O=0;y.isEven()&&A.isEven();)y.iushrn(1),A.iushrn(1),++O;for(var _=A.clone(),L=y.clone();!y.isZero();){for(var ce=0,R=1;(y.words[0]&R)===0&&ce<26;++ce,R<<=1);if(ce>0)for(y.iushrn(ce);ce-- >0;)(T.isOdd()||I.isOdd())&&(T.iadd(_),I.isub(L)),T.iushrn(1),I.iushrn(1);for(var K=0,J=1;(A.words[0]&J)===0&&K<26;++K,J<<=1);if(K>0)for(A.iushrn(K);K-- >0;)(k.isOdd()||P.isOdd())&&(k.iadd(_),P.isub(L)),k.iushrn(1),P.iushrn(1);y.cmp(A)>=0?(y.isub(A),T.isub(k),I.isub(P)):(A.isub(y),k.isub(T),P.isub(I))}return{a:k,b:P,gcd:A.iushln(O)}},o.prototype._invmp=function(f){n(f.negative===0),n(!f.isZero());var y=this,A=f.clone();y.negative!==0?y=y.umod(f):y=y.clone();for(var T=new o(1),I=new o(0),k=A.clone();y.cmpn(1)>0&&A.cmpn(1)>0;){for(var P=0,O=1;(y.words[0]&O)===0&&P<26;++P,O<<=1);if(P>0)for(y.iushrn(P);P-- >0;)T.isOdd()&&T.iadd(k),T.iushrn(1);for(var _=0,L=1;(A.words[0]&L)===0&&_<26;++_,L<<=1);if(_>0)for(A.iushrn(_);_-- >0;)I.isOdd()&&I.iadd(k),I.iushrn(1);y.cmp(A)>=0?(y.isub(A),T.isub(I)):(A.isub(y),I.isub(T))}var ce;return y.cmpn(1)===0?ce=T:ce=I,ce.cmpn(0)<0&&ce.iadd(f),ce},o.prototype.gcd=function(f){if(this.isZero())return f.abs();if(f.isZero())return this.abs();var y=this.clone(),A=f.clone();y.negative=0,A.negative=0;for(var T=0;y.isEven()&&A.isEven();T++)y.iushrn(1),A.iushrn(1);do{for(;y.isEven();)y.iushrn(1);for(;A.isEven();)A.iushrn(1);var I=y.cmp(A);if(I<0){var k=y;y=A,A=k}else if(I===0||A.cmpn(1)===0)break;y.isub(A)}while(!0);return A.iushln(T)},o.prototype.invm=function(f){return this.egcd(f).a.umod(f)},o.prototype.isEven=function(){return(this.words[0]&1)===0},o.prototype.isOdd=function(){return(this.words[0]&1)===1},o.prototype.andln=function(f){return this.words[0]&f},o.prototype.bincn=function(f){n(typeof f=="number");var y=f%26,A=(f-y)/26,T=1<>>26,P&=67108863,this.words[k]=P}return I!==0&&(this.words[k]=I,this.length++),this},o.prototype.isZero=function(){return this.length===1&&this.words[0]===0},o.prototype.cmpn=function(f){var y=f<0;if(this.negative!==0&&!y)return-1;if(this.negative===0&&y)return 1;this._strip();var A;if(this.length>1)A=1;else{y&&(f=-f),n(f<=67108863,"Number is too big");var T=this.words[0]|0;A=T===f?0:Tf.length)return 1;if(this.length=0;A--){var T=this.words[A]|0,I=f.words[A]|0;if(T!==I){TI&&(y=1);break}}return y},o.prototype.gtn=function(f){return this.cmpn(f)===1},o.prototype.gt=function(f){return this.cmp(f)===1},o.prototype.gten=function(f){return this.cmpn(f)>=0},o.prototype.gte=function(f){return this.cmp(f)>=0},o.prototype.ltn=function(f){return this.cmpn(f)===-1},o.prototype.lt=function(f){return this.cmp(f)===-1},o.prototype.lten=function(f){return this.cmpn(f)<=0},o.prototype.lte=function(f){return this.cmp(f)<=0},o.prototype.eqn=function(f){return this.cmpn(f)===0},o.prototype.eq=function(f){return this.cmp(f)===0},o.red=function(f){return new W(f)},o.prototype.toRed=function(f){return n(!this.red,"Already a number in reduction context"),n(this.negative===0,"red works only with positives"),f.convertTo(this)._forceRed(f)},o.prototype.fromRed=function(){return n(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},o.prototype._forceRed=function(f){return this.red=f,this},o.prototype.forceRed=function(f){return n(!this.red,"Already a number in reduction context"),this._forceRed(f)},o.prototype.redAdd=function(f){return n(this.red,"redAdd works only with red numbers"),this.red.add(this,f)},o.prototype.redIAdd=function(f){return n(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,f)},o.prototype.redSub=function(f){return n(this.red,"redSub works only with red numbers"),this.red.sub(this,f)},o.prototype.redISub=function(f){return n(this.red,"redISub works only with red numbers"),this.red.isub(this,f)},o.prototype.redShl=function(f){return n(this.red,"redShl works only with red numbers"),this.red.shl(this,f)},o.prototype.redMul=function(f){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,f),this.red.mul(this,f)},o.prototype.redIMul=function(f){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,f),this.red.imul(this,f)},o.prototype.redSqr=function(){return n(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},o.prototype.redISqr=function(){return n(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},o.prototype.redSqrt=function(){return n(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},o.prototype.redInvm=function(){return n(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},o.prototype.redNeg=function(){return n(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},o.prototype.redPow=function(f){return n(this.red&&!f.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,f)};var D={k256:null,p224:null,p192:null,p25519:null};function F(w,f){this.name=w,this.p=new o(f,16),this.n=this.p.bitLength(),this.k=new o(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}F.prototype._tmp=function(){var f=new o(null);return f.words=new Array(Math.ceil(this.n/13)),f},F.prototype.ireduce=function(f){var y=f,A;do this.split(y,this.tmp),y=this.imulK(y),y=y.iadd(this.tmp),A=y.bitLength();while(A>this.n);var T=A0?y.isub(this.p):y.strip!==void 0?y.strip():y._strip(),y},F.prototype.split=function(f,y){f.iushrn(this.n,0,y)},F.prototype.imulK=function(f){return f.imul(this.k)};function U(){F.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}r(U,F),U.prototype.split=function(f,y){for(var A=4194303,T=Math.min(f.length,9),I=0;I>>22,k=P}k>>>=22,f.words[I-10]=k,k===0&&f.length>10?f.length-=10:f.length-=9},U.prototype.imulK=function(f){f.words[f.length]=0,f.words[f.length+1]=0,f.length+=2;for(var y=0,A=0;A>>=26,f.words[A]=I,y=T}return y!==0&&(f.words[f.length++]=y),f},o._prime=function(f){if(D[f])return D[f];var y;if(f==="k256")y=new U;else if(f==="p224")y=new V;else if(f==="p192")y=new $;else if(f==="p25519")y=new z;else throw new Error("Unknown prime "+f);return D[f]=y,y};function W(w){if(typeof w=="string"){var f=o._prime(w);this.m=f.p,this.prime=f}else n(w.gtn(1),"modulus must be greater than 1"),this.m=w,this.prime=null}W.prototype._verify1=function(f){n(f.negative===0,"red works only with positives"),n(f.red,"red works only with red numbers")},W.prototype._verify2=function(f,y){n((f.negative|y.negative)===0,"red works only with positives"),n(f.red&&f.red===y.red,"red works only with red numbers")},W.prototype.imod=function(f){return this.prime?this.prime.ireduce(f)._forceRed(this):(u(f,f.umod(this.m)._forceRed(this)),f)},W.prototype.neg=function(f){return f.isZero()?f.clone():this.m.sub(f)._forceRed(this)},W.prototype.add=function(f,y){this._verify2(f,y);var A=f.add(y);return A.cmp(this.m)>=0&&A.isub(this.m),A._forceRed(this)},W.prototype.iadd=function(f,y){this._verify2(f,y);var A=f.iadd(y);return A.cmp(this.m)>=0&&A.isub(this.m),A},W.prototype.sub=function(f,y){this._verify2(f,y);var A=f.sub(y);return A.cmpn(0)<0&&A.iadd(this.m),A._forceRed(this)},W.prototype.isub=function(f,y){this._verify2(f,y);var A=f.isub(y);return A.cmpn(0)<0&&A.iadd(this.m),A},W.prototype.shl=function(f,y){return this._verify1(f),this.imod(f.ushln(y))},W.prototype.imul=function(f,y){return this._verify2(f,y),this.imod(f.imul(y))},W.prototype.mul=function(f,y){return this._verify2(f,y),this.imod(f.mul(y))},W.prototype.isqr=function(f){return this.imul(f,f.clone())},W.prototype.sqr=function(f){return this.mul(f,f)},W.prototype.sqrt=function(f){if(f.isZero())return f.clone();var y=this.m.andln(3);if(n(y%2===1),y===3){var A=this.m.add(new o(1)).iushrn(2);return this.pow(f,A)}for(var T=this.m.subn(1),I=0;!T.isZero()&&T.andln(1)===0;)I++,T.iushrn(1);n(!T.isZero());var k=new o(1).toRed(this),P=k.redNeg(),O=this.m.subn(1).iushrn(1),_=this.m.bitLength();for(_=new o(2*_*_).toRed(this);this.pow(_,O).cmp(P)!==0;)_.redIAdd(P);for(var L=this.pow(_,T),ce=this.pow(f,T.addn(1).iushrn(1)),R=this.pow(f,T),K=I;R.cmp(k)!==0;){for(var J=R,re=0;J.cmp(k)!==0;re++)J=J.redSqr();n(re=0;I--){for(var L=y.words[I],ce=_-1;ce>=0;ce--){var R=L>>ce&1;if(k!==T[0]&&(k=this.sqr(k)),R===0&&P===0){O=0;continue}P<<=1,P|=R,O++,!(O!==A&&(I!==0||ce!==0))&&(k=this.mul(k,T[P]),O=0,P=0)}_=26}return k},W.prototype.convertTo=function(f){var y=f.umod(this.m);return y===f?y.clone():y},W.prototype.convertFrom=function(f){var y=f.clone();return y.red=null,y},o.mont=function(f){return new X(f)};function X(w){W.call(this,w),this.shift=this.m.bitLength(),this.shift%26!==0&&(this.shift+=26-this.shift%26),this.r=new o(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}r(X,W),X.prototype.convertTo=function(f){return this.imod(f.ushln(this.shift))},X.prototype.convertFrom=function(f){var y=this.imod(f.mul(this.rinv));return y.red=null,y},X.prototype.imul=function(f,y){if(f.isZero()||y.isZero())return f.words[0]=0,f.length=1,f;var A=f.imul(y),T=A.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),I=A.isub(T).iushrn(this.shift),k=I;return I.cmp(this.m)>=0?k=I.isub(this.m):I.cmpn(0)<0&&(k=I.iadd(this.m)),k._forceRed(this)},X.prototype.mul=function(f,y){if(f.isZero()||y.isZero())return new o(0)._forceRed(this);var A=f.mul(y),T=A.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),I=A.isub(T).iushrn(this.shift),k=I;return I.cmp(this.m)>=0?k=I.isub(this.m):I.cmpn(0)<0&&(k=I.iadd(this.m)),k._forceRed(this)},X.prototype.invm=function(f){var y=this.imod(f._invmp(this.m).mul(this.r2));return y._forceRed(this)}})(typeof rT>"u"||rT,VO)});var JO=Xe((W6e,Vg)=>{(function(){"use strict";var e="input is invalid type",t="finalize already called",n=typeof window=="object",r=n?window:{};r.JS_SHA3_NO_WINDOW&&(n=!1);var o=!n&&typeof self=="object",s=!r.JS_SHA3_NO_NODE_JS&&typeof process=="object"&&process.versions&&process.versions.node;s?r=global:o&&(r=self);var i=!r.JS_SHA3_NO_COMMON_JS&&typeof Vg=="object"&&Vg.exports,a=typeof define=="function"&&define.amd,c=!r.JS_SHA3_NO_ARRAY_BUFFER&&typeof ArrayBuffer<"u",u="0123456789abcdef".split(""),d=[31,7936,2031616,520093696],l=[4,1024,262144,67108864],m=[1,256,65536,16777216],p=[6,1536,393216,100663296],g=[0,8,16,24],E=[1,0,32898,0,32906,2147483648,2147516416,2147483648,32907,0,2147483649,0,2147516545,2147483648,32777,2147483648,138,0,136,0,2147516425,0,2147483658,0,2147516555,0,139,2147483648,32905,2147483648,32771,2147483648,32770,2147483648,128,2147483648,32778,0,2147483658,2147483648,2147516545,2147483648,32896,2147483648,2147483649,0,2147516424,2147483648],x=[224,256,384,512],S=[128,256],N=["hex","buffer","arrayBuffer","array","digest"],C={128:168,256:136};(r.JS_SHA3_NO_NODE_JS||!Array.isArray)&&(Array.isArray=function(R){return Object.prototype.toString.call(R)==="[object Array]"}),c&&(r.JS_SHA3_NO_ARRAY_BUFFER_IS_VIEW||!ArrayBuffer.isView)&&(ArrayBuffer.isView=function(R){return typeof R=="object"&&R.buffer&&R.buffer.constructor===ArrayBuffer});for(var v=function(R,K,J){return function(re){return new _(R,K,R).update(re)[J]()}},D=function(R,K,J){return function(re,ae){return new _(R,K,ae).update(re)[J]()}},F=function(R,K,J){return function(re,ae,me,he){return f["cshake"+R].update(re,ae,me,he)[J]()}},U=function(R,K,J){return function(re,ae,me,he){return f["kmac"+R].update(re,ae,me,he)[J]()}},V=function(R,K,J,re){for(var ae=0;ae>5,this.byteCount=this.blockCount<<2,this.outputBlocks=J>>5,this.extraBytes=(J&31)>>3;for(var re=0;re<50;++re)this.s[re]=0}_.prototype.update=function(R){if(this.finalized)throw new Error(t);var K,J=typeof R;if(J!=="string"){if(J==="object"){if(R===null)throw new Error(e);if(c&&R.constructor===ArrayBuffer)R=new Uint8Array(R);else if(!Array.isArray(R)&&(!c||!ArrayBuffer.isView(R)))throw new Error(e)}else throw new Error(e);K=!0}for(var re=this.blocks,ae=this.byteCount,me=R.length,he=this.blockCount,pe=0,ct=this.s,_e,Ne;pe>2]|=R[pe]<>2]|=Ne<>2]|=(192|Ne>>6)<>2]|=(128|Ne&63)<=57344?(re[_e>>2]|=(224|Ne>>12)<>2]|=(128|Ne>>6&63)<>2]|=(128|Ne&63)<>2]|=(240|Ne>>18)<>2]|=(128|Ne>>12&63)<>2]|=(128|Ne>>6&63)<>2]|=(128|Ne&63)<=ae){for(this.start=_e-ae,this.block=re[he],_e=0;_e>8,J=R&255;J>0;)ae.unshift(J),R=R>>8,J=R&255,++re;return K?ae.push(re):ae.unshift(re),this.update(ae),ae.length},_.prototype.encodeString=function(R){var K,J=typeof R;if(J!=="string"){if(J==="object"){if(R===null)throw new Error(e);if(c&&R.constructor===ArrayBuffer)R=new Uint8Array(R);else if(!Array.isArray(R)&&(!c||!ArrayBuffer.isView(R)))throw new Error(e)}else throw new Error(e);K=!0}var re=0,ae=R.length;if(K)re=ae;else for(var me=0;me=57344?re+=3:(he=65536+((he&1023)<<10|R.charCodeAt(++me)&1023),re+=4)}return re+=this.encode(re*8),this.update(R),re},_.prototype.bytepad=function(R,K){for(var J=this.encode(K),re=0;re>2]|=this.padding[K&3],this.lastByteIndex===this.byteCount)for(R[0]=R[J],K=1;K>4&15]+u[pe&15]+u[pe>>12&15]+u[pe>>8&15]+u[pe>>20&15]+u[pe>>16&15]+u[pe>>28&15]+u[pe>>24&15];me%R===0&&(ce(K),ae=0)}return re&&(pe=K[ae],he+=u[pe>>4&15]+u[pe&15],re>1&&(he+=u[pe>>12&15]+u[pe>>8&15]),re>2&&(he+=u[pe>>20&15]+u[pe>>16&15])),he},_.prototype.arrayBuffer=function(){this.finalize();var R=this.blockCount,K=this.s,J=this.outputBlocks,re=this.extraBytes,ae=0,me=0,he=this.outputBits>>3,pe;re?pe=new ArrayBuffer(J+1<<2):pe=new ArrayBuffer(he);for(var ct=new Uint32Array(pe);me>8&255,he[pe+2]=ct>>16&255,he[pe+3]=ct>>24&255;me%R===0&&ce(K)}return re&&(pe=me<<2,ct=K[ae],he[pe]=ct&255,re>1&&(he[pe+1]=ct>>8&255),re>2&&(he[pe+2]=ct>>16&255)),he};function L(R,K,J){_.call(this,R,K,J)}L.prototype=new _,L.prototype.finalize=function(){return this.encode(this.outputBits,!0),_.prototype.finalize.call(this)};var ce=function(R){var K,J,re,ae,me,he,pe,ct,_e,Ne,Ds,Yt,Zt,Ki,Xt,Jt,ja,Qt,en,xo,G,q,Z,Q,le,ke,Ce,We,zt,Ze,dt,Ga,tn,Ut,Hd,dn,ln,$d,fn,pn,zd,mn,hn,Vd,yn,bn,jd,gn,_n,Gd,An,En,Wd,xn,wn,qd,Tn,Sn,tu,nu,ru,ou,su;for(re=0;re<48;re+=2)ae=R[0]^R[10]^R[20]^R[30]^R[40],me=R[1]^R[11]^R[21]^R[31]^R[41],he=R[2]^R[12]^R[22]^R[32]^R[42],pe=R[3]^R[13]^R[23]^R[33]^R[43],ct=R[4]^R[14]^R[24]^R[34]^R[44],_e=R[5]^R[15]^R[25]^R[35]^R[45],Ne=R[6]^R[16]^R[26]^R[36]^R[46],Ds=R[7]^R[17]^R[27]^R[37]^R[47],Yt=R[8]^R[18]^R[28]^R[38]^R[48],Zt=R[9]^R[19]^R[29]^R[39]^R[49],K=Yt^(he<<1|pe>>>31),J=Zt^(pe<<1|he>>>31),R[0]^=K,R[1]^=J,R[10]^=K,R[11]^=J,R[20]^=K,R[21]^=J,R[30]^=K,R[31]^=J,R[40]^=K,R[41]^=J,K=ae^(ct<<1|_e>>>31),J=me^(_e<<1|ct>>>31),R[2]^=K,R[3]^=J,R[12]^=K,R[13]^=J,R[22]^=K,R[23]^=J,R[32]^=K,R[33]^=J,R[42]^=K,R[43]^=J,K=he^(Ne<<1|Ds>>>31),J=pe^(Ds<<1|Ne>>>31),R[4]^=K,R[5]^=J,R[14]^=K,R[15]^=J,R[24]^=K,R[25]^=J,R[34]^=K,R[35]^=J,R[44]^=K,R[45]^=J,K=ct^(Yt<<1|Zt>>>31),J=_e^(Zt<<1|Yt>>>31),R[6]^=K,R[7]^=J,R[16]^=K,R[17]^=J,R[26]^=K,R[27]^=J,R[36]^=K,R[37]^=J,R[46]^=K,R[47]^=J,K=Ne^(ae<<1|me>>>31),J=Ds^(me<<1|ae>>>31),R[8]^=K,R[9]^=J,R[18]^=K,R[19]^=J,R[28]^=K,R[29]^=J,R[38]^=K,R[39]^=J,R[48]^=K,R[49]^=J,Ki=R[0],Xt=R[1],bn=R[11]<<4|R[10]>>>28,jd=R[10]<<4|R[11]>>>28,We=R[20]<<3|R[21]>>>29,zt=R[21]<<3|R[20]>>>29,nu=R[31]<<9|R[30]>>>23,ru=R[30]<<9|R[31]>>>23,mn=R[40]<<18|R[41]>>>14,hn=R[41]<<18|R[40]>>>14,Ut=R[2]<<1|R[3]>>>31,Hd=R[3]<<1|R[2]>>>31,Jt=R[13]<<12|R[12]>>>20,ja=R[12]<<12|R[13]>>>20,gn=R[22]<<10|R[23]>>>22,_n=R[23]<<10|R[22]>>>22,Ze=R[33]<<13|R[32]>>>19,dt=R[32]<<13|R[33]>>>19,ou=R[42]<<2|R[43]>>>30,su=R[43]<<2|R[42]>>>30,xn=R[5]<<30|R[4]>>>2,wn=R[4]<<30|R[5]>>>2,dn=R[14]<<6|R[15]>>>26,ln=R[15]<<6|R[14]>>>26,Qt=R[25]<<11|R[24]>>>21,en=R[24]<<11|R[25]>>>21,Gd=R[34]<<15|R[35]>>>17,An=R[35]<<15|R[34]>>>17,Ga=R[45]<<29|R[44]>>>3,tn=R[44]<<29|R[45]>>>3,Q=R[6]<<28|R[7]>>>4,le=R[7]<<28|R[6]>>>4,qd=R[17]<<23|R[16]>>>9,Tn=R[16]<<23|R[17]>>>9,$d=R[26]<<25|R[27]>>>7,fn=R[27]<<25|R[26]>>>7,xo=R[36]<<21|R[37]>>>11,G=R[37]<<21|R[36]>>>11,En=R[47]<<24|R[46]>>>8,Wd=R[46]<<24|R[47]>>>8,Vd=R[8]<<27|R[9]>>>5,yn=R[9]<<27|R[8]>>>5,ke=R[18]<<20|R[19]>>>12,Ce=R[19]<<20|R[18]>>>12,Sn=R[29]<<7|R[28]>>>25,tu=R[28]<<7|R[29]>>>25,pn=R[38]<<8|R[39]>>>24,zd=R[39]<<8|R[38]>>>24,q=R[48]<<14|R[49]>>>18,Z=R[49]<<14|R[48]>>>18,R[0]=Ki^~Jt&Qt,R[1]=Xt^~ja&en,R[10]=Q^~ke&We,R[11]=le^~Ce&zt,R[20]=Ut^~dn&$d,R[21]=Hd^~ln&fn,R[30]=Vd^~bn&gn,R[31]=yn^~jd&_n,R[40]=xn^~qd&Sn,R[41]=wn^~Tn&tu,R[2]=Jt^~Qt&xo,R[3]=ja^~en&G,R[12]=ke^~We&Ze,R[13]=Ce^~zt&dt,R[22]=dn^~$d&pn,R[23]=ln^~fn&zd,R[32]=bn^~gn&Gd,R[33]=jd^~_n&An,R[42]=qd^~Sn&nu,R[43]=Tn^~tu&ru,R[4]=Qt^~xo&q,R[5]=en^~G&Z,R[14]=We^~Ze&Ga,R[15]=zt^~dt&tn,R[24]=$d^~pn&mn,R[25]=fn^~zd&hn,R[34]=gn^~Gd&En,R[35]=_n^~An&Wd,R[44]=Sn^~nu&ou,R[45]=tu^~ru&su,R[6]=xo^~q&Ki,R[7]=G^~Z&Xt,R[16]=Ze^~Ga&Q,R[17]=dt^~tn&le,R[26]=pn^~mn&Ut,R[27]=zd^~hn&Hd,R[36]=Gd^~En&Vd,R[37]=An^~Wd&yn,R[46]=nu^~ou&xn,R[47]=ru^~su&wn,R[8]=q^~Ki&Jt,R[9]=Z^~Xt&ja,R[18]=Ga^~Q&ke,R[19]=tn^~le&Ce,R[28]=mn^~Ut&dn,R[29]=hn^~Hd&ln,R[38]=En^~Vd&bn,R[39]=Wd^~yn&jd,R[48]=ou^~xn&qd,R[49]=su^~wn&Tn,R[0]^=E[re],R[1]^=E[re+1]};if(i)Vg.exports=f;else{for(A=0;A{"use strict";Gg.byteLength=cJ;Gg.toByteArray=dJ;Gg.fromByteArray=pJ;var Ji=[],Hs=[],aJ=typeof Uint8Array<"u"?Uint8Array:Array,cT="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(pl=0,o3=cT.length;pl0)throw new Error("Invalid string. Length must be a multiple of 4");var n=e.indexOf("=");n===-1&&(n=t);var r=n===t?0:4-n%4;return[n,r]}function cJ(e){var t=s3(e),n=t[0],r=t[1];return(n+r)*3/4-r}function uJ(e,t,n){return(t+n)*3/4-n}function dJ(e){var t,n=s3(e),r=n[0],o=n[1],s=new aJ(uJ(e,r,o)),i=0,a=o>0?r-4:r,c;for(c=0;c>16&255,s[i++]=t>>8&255,s[i++]=t&255;return o===2&&(t=Hs[e.charCodeAt(c)]<<2|Hs[e.charCodeAt(c+1)]>>4,s[i++]=t&255),o===1&&(t=Hs[e.charCodeAt(c)]<<10|Hs[e.charCodeAt(c+1)]<<4|Hs[e.charCodeAt(c+2)]>>2,s[i++]=t>>8&255,s[i++]=t&255),s}function lJ(e){return Ji[e>>18&63]+Ji[e>>12&63]+Ji[e>>6&63]+Ji[e&63]}function fJ(e,t,n){for(var r,o=[],s=t;sa?a:i+s));return r===1?(t=e[n-1],o.push(Ji[t>>2]+Ji[t<<4&63]+"==")):r===2&&(t=(e[n-2]<<8)+e[n-1],o.push(Ji[t>>10]+Ji[t>>4&63]+Ji[t<<2&63]+"=")),o.join("")}});var a3=Xe(uT=>{uT.read=function(e,t,n,r,o){var s,i,a=o*8-r-1,c=(1<>1,d=-7,l=n?o-1:0,m=n?-1:1,p=e[t+l];for(l+=m,s=p&(1<<-d)-1,p>>=-d,d+=a;d>0;s=s*256+e[t+l],l+=m,d-=8);for(i=s&(1<<-d)-1,s>>=-d,d+=r;d>0;i=i*256+e[t+l],l+=m,d-=8);if(s===0)s=1-u;else{if(s===c)return i?NaN:(p?-1:1)*(1/0);i=i+Math.pow(2,r),s=s-u}return(p?-1:1)*i*Math.pow(2,s-r)};uT.write=function(e,t,n,r,o,s){var i,a,c,u=s*8-o-1,d=(1<>1,m=o===23?Math.pow(2,-24)-Math.pow(2,-77):0,p=r?0:s-1,g=r?1:-1,E=t<0||t===0&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(a=isNaN(t)?1:0,i=d):(i=Math.floor(Math.log(t)/Math.LN2),t*(c=Math.pow(2,-i))<1&&(i--,c*=2),i+l>=1?t+=m/c:t+=m*Math.pow(2,1-l),t*c>=2&&(i++,c/=2),i+l>=d?(a=0,i=d):i+l>=1?(a=(t*c-1)*Math.pow(2,o),i=i+l):(a=t*Math.pow(2,l-1)*Math.pow(2,o),i=0));o>=8;e[n+p]=a&255,p+=g,a/=256,o-=8);for(i=i<0;e[n+p]=i&255,p+=g,i/=256,u-=8);e[n+p-g]|=E*128}});var _p=Xe(gp=>{"use strict";var dT=i3(),yp=a3(),c3=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;gp.Buffer=ie;gp.SlowBuffer=_J;gp.INSPECT_MAX_BYTES=50;var Wg=2147483647;gp.kMaxLength=Wg;ie.TYPED_ARRAY_SUPPORT=mJ();!ie.TYPED_ARRAY_SUPPORT&&typeof console<"u"&&typeof console.error=="function"&&console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.");function mJ(){try{let e=new Uint8Array(1),t={foo:function(){return 42}};return Object.setPrototypeOf(t,Uint8Array.prototype),Object.setPrototypeOf(e,t),e.foo()===42}catch{return!1}}Object.defineProperty(ie.prototype,"parent",{enumerable:!0,get:function(){if(ie.isBuffer(this))return this.buffer}});Object.defineProperty(ie.prototype,"offset",{enumerable:!0,get:function(){if(ie.isBuffer(this))return this.byteOffset}});function Qa(e){if(e>Wg)throw new RangeError('The value "'+e+'" is invalid for option "size"');let t=new Uint8Array(e);return Object.setPrototypeOf(t,ie.prototype),t}function ie(e,t,n){if(typeof e=="number"){if(typeof t=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return mT(e)}return f3(e,t,n)}ie.poolSize=8192;function f3(e,t,n){if(typeof e=="string")return yJ(e,t);if(ArrayBuffer.isView(e))return bJ(e);if(e==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e);if(Qi(e,ArrayBuffer)||e&&Qi(e.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(Qi(e,SharedArrayBuffer)||e&&Qi(e.buffer,SharedArrayBuffer)))return fT(e,t,n);if(typeof e=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');let r=e.valueOf&&e.valueOf();if(r!=null&&r!==e)return ie.from(r,t,n);let o=gJ(e);if(o)return o;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof e[Symbol.toPrimitive]=="function")return ie.from(e[Symbol.toPrimitive]("string"),t,n);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e)}ie.from=function(e,t,n){return f3(e,t,n)};Object.setPrototypeOf(ie.prototype,Uint8Array.prototype);Object.setPrototypeOf(ie,Uint8Array);function p3(e){if(typeof e!="number")throw new TypeError('"size" argument must be of type number');if(e<0)throw new RangeError('The value "'+e+'" is invalid for option "size"')}function hJ(e,t,n){return p3(e),e<=0?Qa(e):t!==void 0?typeof n=="string"?Qa(e).fill(t,n):Qa(e).fill(t):Qa(e)}ie.alloc=function(e,t,n){return hJ(e,t,n)};function mT(e){return p3(e),Qa(e<0?0:hT(e)|0)}ie.allocUnsafe=function(e){return mT(e)};ie.allocUnsafeSlow=function(e){return mT(e)};function yJ(e,t){if((typeof t!="string"||t==="")&&(t="utf8"),!ie.isEncoding(t))throw new TypeError("Unknown encoding: "+t);let n=m3(e,t)|0,r=Qa(n),o=r.write(e,t);return o!==n&&(r=r.slice(0,o)),r}function lT(e){let t=e.length<0?0:hT(e.length)|0,n=Qa(t);for(let r=0;r=Wg)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+Wg.toString(16)+" bytes");return e|0}function _J(e){return+e!=e&&(e=0),ie.alloc(+e)}ie.isBuffer=function(t){return t!=null&&t._isBuffer===!0&&t!==ie.prototype};ie.compare=function(t,n){if(Qi(t,Uint8Array)&&(t=ie.from(t,t.offset,t.byteLength)),Qi(n,Uint8Array)&&(n=ie.from(n,n.offset,n.byteLength)),!ie.isBuffer(t)||!ie.isBuffer(n))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(t===n)return 0;let r=t.length,o=n.length;for(let s=0,i=Math.min(r,o);so.length?(ie.isBuffer(i)||(i=ie.from(i)),i.copy(o,s)):Uint8Array.prototype.set.call(o,i,s);else if(ie.isBuffer(i))i.copy(o,s);else throw new TypeError('"list" argument must be an Array of Buffers');s+=i.length}return o};function m3(e,t){if(ie.isBuffer(e))return e.length;if(ArrayBuffer.isView(e)||Qi(e,ArrayBuffer))return e.byteLength;if(typeof e!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof e);let n=e.length,r=arguments.length>2&&arguments[2]===!0;if(!r&&n===0)return 0;let o=!1;for(;;)switch(t){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":return pT(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return n*2;case"hex":return n>>>1;case"base64":return w3(e).length;default:if(o)return r?-1:pT(e).length;t=(""+t).toLowerCase(),o=!0}}ie.byteLength=m3;function AJ(e,t,n){let r=!1;if((t===void 0||t<0)&&(t=0),t>this.length||((n===void 0||n>this.length)&&(n=this.length),n<=0)||(n>>>=0,t>>>=0,n<=t))return"";for(e||(e="utf8");;)switch(e){case"hex":return NJ(this,t,n);case"utf8":case"utf-8":return y3(this,t,n);case"ascii":return IJ(this,t,n);case"latin1":case"binary":return CJ(this,t,n);case"base64":return RJ(this,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return OJ(this,t,n);default:if(r)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),r=!0}}ie.prototype._isBuffer=!0;function ml(e,t,n){let r=e[t];e[t]=e[n],e[n]=r}ie.prototype.swap16=function(){let t=this.length;if(t%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let n=0;nn&&(t+=" ... "),""};c3&&(ie.prototype[c3]=ie.prototype.inspect);ie.prototype.compare=function(t,n,r,o,s){if(Qi(t,Uint8Array)&&(t=ie.from(t,t.offset,t.byteLength)),!ie.isBuffer(t))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof t);if(n===void 0&&(n=0),r===void 0&&(r=t?t.length:0),o===void 0&&(o=0),s===void 0&&(s=this.length),n<0||r>t.length||o<0||s>this.length)throw new RangeError("out of range index");if(o>=s&&n>=r)return 0;if(o>=s)return-1;if(n>=r)return 1;if(n>>>=0,r>>>=0,o>>>=0,s>>>=0,this===t)return 0;let i=s-o,a=r-n,c=Math.min(i,a),u=this.slice(o,s),d=t.slice(n,r);for(let l=0;l2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),n=+n,bT(n)&&(n=o?0:e.length-1),n<0&&(n=e.length+n),n>=e.length){if(o)return-1;n=e.length-1}else if(n<0)if(o)n=0;else return-1;if(typeof t=="string"&&(t=ie.from(t,r)),ie.isBuffer(t))return t.length===0?-1:u3(e,t,n,r,o);if(typeof t=="number")return t=t&255,typeof Uint8Array.prototype.indexOf=="function"?o?Uint8Array.prototype.indexOf.call(e,t,n):Uint8Array.prototype.lastIndexOf.call(e,t,n):u3(e,[t],n,r,o);throw new TypeError("val must be string, number or Buffer")}function u3(e,t,n,r,o){let s=1,i=e.length,a=t.length;if(r!==void 0&&(r=String(r).toLowerCase(),r==="ucs2"||r==="ucs-2"||r==="utf16le"||r==="utf-16le")){if(e.length<2||t.length<2)return-1;s=2,i/=2,a/=2,n/=2}function c(d,l){return s===1?d[l]:d.readUInt16BE(l*s)}let u;if(o){let d=-1;for(u=n;ui&&(n=i-a),u=n;u>=0;u--){let d=!0;for(let l=0;lo&&(r=o)):r=o;let s=t.length;r>s/2&&(r=s/2);let i;for(i=0;i>>0,isFinite(r)?(r=r>>>0,o===void 0&&(o="utf8")):(o=r,r=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");let s=this.length-n;if((r===void 0||r>s)&&(r=s),t.length>0&&(r<0||n<0)||n>this.length)throw new RangeError("Attempt to write outside buffer bounds");o||(o="utf8");let i=!1;for(;;)switch(o){case"hex":return EJ(this,t,n,r);case"utf8":case"utf-8":return xJ(this,t,n,r);case"ascii":case"latin1":case"binary":return wJ(this,t,n,r);case"base64":return TJ(this,t,n,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return SJ(this,t,n,r);default:if(i)throw new TypeError("Unknown encoding: "+o);o=(""+o).toLowerCase(),i=!0}};ie.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function RJ(e,t,n){return t===0&&n===e.length?dT.fromByteArray(e):dT.fromByteArray(e.slice(t,n))}function y3(e,t,n){n=Math.min(e.length,n);let r=[],o=t;for(;o239?4:s>223?3:s>191?2:1;if(o+a<=n){let c,u,d,l;switch(a){case 1:s<128&&(i=s);break;case 2:c=e[o+1],(c&192)===128&&(l=(s&31)<<6|c&63,l>127&&(i=l));break;case 3:c=e[o+1],u=e[o+2],(c&192)===128&&(u&192)===128&&(l=(s&15)<<12|(c&63)<<6|u&63,l>2047&&(l<55296||l>57343)&&(i=l));break;case 4:c=e[o+1],u=e[o+2],d=e[o+3],(c&192)===128&&(u&192)===128&&(d&192)===128&&(l=(s&15)<<18|(c&63)<<12|(u&63)<<6|d&63,l>65535&&l<1114112&&(i=l))}}i===null?(i=65533,a=1):i>65535&&(i-=65536,r.push(i>>>10&1023|55296),i=56320|i&1023),r.push(i),o+=a}return vJ(r)}var d3=4096;function vJ(e){let t=e.length;if(t<=d3)return String.fromCharCode.apply(String,e);let n="",r=0;for(;rr)&&(n=r);let o="";for(let s=t;sr&&(t=r),n<0?(n+=r,n<0&&(n=0)):n>r&&(n=r),nn)throw new RangeError("Trying to access beyond buffer length")}ie.prototype.readUintLE=ie.prototype.readUIntLE=function(t,n,r){t=t>>>0,n=n>>>0,r||Nr(t,n,this.length);let o=this[t],s=1,i=0;for(;++i>>0,n=n>>>0,r||Nr(t,n,this.length);let o=this[t+--n],s=1;for(;n>0&&(s*=256);)o+=this[t+--n]*s;return o};ie.prototype.readUint8=ie.prototype.readUInt8=function(t,n){return t=t>>>0,n||Nr(t,1,this.length),this[t]};ie.prototype.readUint16LE=ie.prototype.readUInt16LE=function(t,n){return t=t>>>0,n||Nr(t,2,this.length),this[t]|this[t+1]<<8};ie.prototype.readUint16BE=ie.prototype.readUInt16BE=function(t,n){return t=t>>>0,n||Nr(t,2,this.length),this[t]<<8|this[t+1]};ie.prototype.readUint32LE=ie.prototype.readUInt32LE=function(t,n){return t=t>>>0,n||Nr(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+this[t+3]*16777216};ie.prototype.readUint32BE=ie.prototype.readUInt32BE=function(t,n){return t=t>>>0,n||Nr(t,4,this.length),this[t]*16777216+(this[t+1]<<16|this[t+2]<<8|this[t+3])};ie.prototype.readBigUInt64LE=pu(function(t){t=t>>>0,bp(t,"offset");let n=this[t],r=this[t+7];(n===void 0||r===void 0)&&Eh(t,this.length-8);let o=n+this[++t]*2**8+this[++t]*2**16+this[++t]*2**24,s=this[++t]+this[++t]*2**8+this[++t]*2**16+r*2**24;return BigInt(o)+(BigInt(s)<>>0,bp(t,"offset");let n=this[t],r=this[t+7];(n===void 0||r===void 0)&&Eh(t,this.length-8);let o=n*2**24+this[++t]*2**16+this[++t]*2**8+this[++t],s=this[++t]*2**24+this[++t]*2**16+this[++t]*2**8+r;return(BigInt(o)<>>0,n=n>>>0,r||Nr(t,n,this.length);let o=this[t],s=1,i=0;for(;++i=s&&(o-=Math.pow(2,8*n)),o};ie.prototype.readIntBE=function(t,n,r){t=t>>>0,n=n>>>0,r||Nr(t,n,this.length);let o=n,s=1,i=this[t+--o];for(;o>0&&(s*=256);)i+=this[t+--o]*s;return s*=128,i>=s&&(i-=Math.pow(2,8*n)),i};ie.prototype.readInt8=function(t,n){return t=t>>>0,n||Nr(t,1,this.length),this[t]&128?(255-this[t]+1)*-1:this[t]};ie.prototype.readInt16LE=function(t,n){t=t>>>0,n||Nr(t,2,this.length);let r=this[t]|this[t+1]<<8;return r&32768?r|4294901760:r};ie.prototype.readInt16BE=function(t,n){t=t>>>0,n||Nr(t,2,this.length);let r=this[t+1]|this[t]<<8;return r&32768?r|4294901760:r};ie.prototype.readInt32LE=function(t,n){return t=t>>>0,n||Nr(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24};ie.prototype.readInt32BE=function(t,n){return t=t>>>0,n||Nr(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]};ie.prototype.readBigInt64LE=pu(function(t){t=t>>>0,bp(t,"offset");let n=this[t],r=this[t+7];(n===void 0||r===void 0)&&Eh(t,this.length-8);let o=this[t+4]+this[t+5]*2**8+this[t+6]*2**16+(r<<24);return(BigInt(o)<>>0,bp(t,"offset");let n=this[t],r=this[t+7];(n===void 0||r===void 0)&&Eh(t,this.length-8);let o=(n<<24)+this[++t]*2**16+this[++t]*2**8+this[++t];return(BigInt(o)<>>0,n||Nr(t,4,this.length),yp.read(this,t,!0,23,4)};ie.prototype.readFloatBE=function(t,n){return t=t>>>0,n||Nr(t,4,this.length),yp.read(this,t,!1,23,4)};ie.prototype.readDoubleLE=function(t,n){return t=t>>>0,n||Nr(t,8,this.length),yp.read(this,t,!0,52,8)};ie.prototype.readDoubleBE=function(t,n){return t=t>>>0,n||Nr(t,8,this.length),yp.read(this,t,!1,52,8)};function Wo(e,t,n,r,o,s){if(!ie.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>o||te.length)throw new RangeError("Index out of range")}ie.prototype.writeUintLE=ie.prototype.writeUIntLE=function(t,n,r,o){if(t=+t,n=n>>>0,r=r>>>0,!o){let a=Math.pow(2,8*r)-1;Wo(this,t,n,r,a,0)}let s=1,i=0;for(this[n]=t&255;++i>>0,r=r>>>0,!o){let a=Math.pow(2,8*r)-1;Wo(this,t,n,r,a,0)}let s=r-1,i=1;for(this[n+s]=t&255;--s>=0&&(i*=256);)this[n+s]=t/i&255;return n+r};ie.prototype.writeUint8=ie.prototype.writeUInt8=function(t,n,r){return t=+t,n=n>>>0,r||Wo(this,t,n,1,255,0),this[n]=t&255,n+1};ie.prototype.writeUint16LE=ie.prototype.writeUInt16LE=function(t,n,r){return t=+t,n=n>>>0,r||Wo(this,t,n,2,65535,0),this[n]=t&255,this[n+1]=t>>>8,n+2};ie.prototype.writeUint16BE=ie.prototype.writeUInt16BE=function(t,n,r){return t=+t,n=n>>>0,r||Wo(this,t,n,2,65535,0),this[n]=t>>>8,this[n+1]=t&255,n+2};ie.prototype.writeUint32LE=ie.prototype.writeUInt32LE=function(t,n,r){return t=+t,n=n>>>0,r||Wo(this,t,n,4,4294967295,0),this[n+3]=t>>>24,this[n+2]=t>>>16,this[n+1]=t>>>8,this[n]=t&255,n+4};ie.prototype.writeUint32BE=ie.prototype.writeUInt32BE=function(t,n,r){return t=+t,n=n>>>0,r||Wo(this,t,n,4,4294967295,0),this[n]=t>>>24,this[n+1]=t>>>16,this[n+2]=t>>>8,this[n+3]=t&255,n+4};function b3(e,t,n,r,o){x3(t,r,o,e,n,7);let s=Number(t&BigInt(4294967295));e[n++]=s,s=s>>8,e[n++]=s,s=s>>8,e[n++]=s,s=s>>8,e[n++]=s;let i=Number(t>>BigInt(32)&BigInt(4294967295));return e[n++]=i,i=i>>8,e[n++]=i,i=i>>8,e[n++]=i,i=i>>8,e[n++]=i,n}function g3(e,t,n,r,o){x3(t,r,o,e,n,7);let s=Number(t&BigInt(4294967295));e[n+7]=s,s=s>>8,e[n+6]=s,s=s>>8,e[n+5]=s,s=s>>8,e[n+4]=s;let i=Number(t>>BigInt(32)&BigInt(4294967295));return e[n+3]=i,i=i>>8,e[n+2]=i,i=i>>8,e[n+1]=i,i=i>>8,e[n]=i,n+8}ie.prototype.writeBigUInt64LE=pu(function(t,n=0){return b3(this,t,n,BigInt(0),BigInt("0xffffffffffffffff"))});ie.prototype.writeBigUInt64BE=pu(function(t,n=0){return g3(this,t,n,BigInt(0),BigInt("0xffffffffffffffff"))});ie.prototype.writeIntLE=function(t,n,r,o){if(t=+t,n=n>>>0,!o){let c=Math.pow(2,8*r-1);Wo(this,t,n,r,c-1,-c)}let s=0,i=1,a=0;for(this[n]=t&255;++s>0)-a&255;return n+r};ie.prototype.writeIntBE=function(t,n,r,o){if(t=+t,n=n>>>0,!o){let c=Math.pow(2,8*r-1);Wo(this,t,n,r,c-1,-c)}let s=r-1,i=1,a=0;for(this[n+s]=t&255;--s>=0&&(i*=256);)t<0&&a===0&&this[n+s+1]!==0&&(a=1),this[n+s]=(t/i>>0)-a&255;return n+r};ie.prototype.writeInt8=function(t,n,r){return t=+t,n=n>>>0,r||Wo(this,t,n,1,127,-128),t<0&&(t=255+t+1),this[n]=t&255,n+1};ie.prototype.writeInt16LE=function(t,n,r){return t=+t,n=n>>>0,r||Wo(this,t,n,2,32767,-32768),this[n]=t&255,this[n+1]=t>>>8,n+2};ie.prototype.writeInt16BE=function(t,n,r){return t=+t,n=n>>>0,r||Wo(this,t,n,2,32767,-32768),this[n]=t>>>8,this[n+1]=t&255,n+2};ie.prototype.writeInt32LE=function(t,n,r){return t=+t,n=n>>>0,r||Wo(this,t,n,4,2147483647,-2147483648),this[n]=t&255,this[n+1]=t>>>8,this[n+2]=t>>>16,this[n+3]=t>>>24,n+4};ie.prototype.writeInt32BE=function(t,n,r){return t=+t,n=n>>>0,r||Wo(this,t,n,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),this[n]=t>>>24,this[n+1]=t>>>16,this[n+2]=t>>>8,this[n+3]=t&255,n+4};ie.prototype.writeBigInt64LE=pu(function(t,n=0){return b3(this,t,n,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});ie.prototype.writeBigInt64BE=pu(function(t,n=0){return g3(this,t,n,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});function _3(e,t,n,r,o,s){if(n+r>e.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function A3(e,t,n,r,o){return t=+t,n=n>>>0,o||_3(e,t,n,4,34028234663852886e22,-34028234663852886e22),yp.write(e,t,n,r,23,4),n+4}ie.prototype.writeFloatLE=function(t,n,r){return A3(this,t,n,!0,r)};ie.prototype.writeFloatBE=function(t,n,r){return A3(this,t,n,!1,r)};function E3(e,t,n,r,o){return t=+t,n=n>>>0,o||_3(e,t,n,8,17976931348623157e292,-17976931348623157e292),yp.write(e,t,n,r,52,8),n+8}ie.prototype.writeDoubleLE=function(t,n,r){return E3(this,t,n,!0,r)};ie.prototype.writeDoubleBE=function(t,n,r){return E3(this,t,n,!1,r)};ie.prototype.copy=function(t,n,r,o){if(!ie.isBuffer(t))throw new TypeError("argument should be a Buffer");if(r||(r=0),!o&&o!==0&&(o=this.length),n>=t.length&&(n=t.length),n||(n=0),o>0&&o=this.length)throw new RangeError("Index out of range");if(o<0)throw new RangeError("sourceEnd out of bounds");o>this.length&&(o=this.length),t.length-n>>0,r=r===void 0?this.length:r>>>0,t||(t=0);let s;if(typeof t=="number")for(s=n;s2**32?o=l3(String(n)):typeof n=="bigint"&&(o=String(n),(n>BigInt(2)**BigInt(32)||n<-(BigInt(2)**BigInt(32)))&&(o=l3(o)),o+="n"),r+=` It must be ${t}. Received ${o}`,r},RangeError);function l3(e){let t="",n=e.length,r=e[0]==="-"?1:0;for(;n>=r+4;n-=3)t=`_${e.slice(n-3,n)}${t}`;return`${e.slice(0,n)}${t}`}function kJ(e,t,n){bp(t,"offset"),(e[t]===void 0||e[t+n]===void 0)&&Eh(t,e.length-(n+1))}function x3(e,t,n,r,o,s){if(e>n||e3?t===0||t===BigInt(0)?a=`>= 0${i} and < 2${i} ** ${(s+1)*8}${i}`:a=`>= -(2${i} ** ${(s+1)*8-1}${i}) and < 2 ** ${(s+1)*8-1}${i}`:a=`>= ${t}${i} and <= ${n}${i}`,new hp.ERR_OUT_OF_RANGE("value",a,e)}kJ(r,o,s)}function bp(e,t){if(typeof e!="number")throw new hp.ERR_INVALID_ARG_TYPE(t,"number",e)}function Eh(e,t,n){throw Math.floor(e)!==e?(bp(e,n),new hp.ERR_OUT_OF_RANGE(n||"offset","an integer",e)):t<0?new hp.ERR_BUFFER_OUT_OF_BOUNDS:new hp.ERR_OUT_OF_RANGE(n||"offset",`>= ${n?1:0} and <= ${t}`,e)}var DJ=/[^+/0-9A-Za-z-_]/g;function BJ(e){if(e=e.split("=")[0],e=e.trim().replace(DJ,""),e.length<2)return"";for(;e.length%4!==0;)e=e+"=";return e}function pT(e,t){t=t||1/0;let n,r=e.length,o=null,s=[];for(let i=0;i55295&&n<57344){if(!o){if(n>56319){(t-=3)>-1&&s.push(239,191,189);continue}else if(i+1===r){(t-=3)>-1&&s.push(239,191,189);continue}o=n;continue}if(n<56320){(t-=3)>-1&&s.push(239,191,189),o=n;continue}n=(o-55296<<10|n-56320)+65536}else o&&(t-=3)>-1&&s.push(239,191,189);if(o=null,n<128){if((t-=1)<0)break;s.push(n)}else if(n<2048){if((t-=2)<0)break;s.push(n>>6|192,n&63|128)}else if(n<65536){if((t-=3)<0)break;s.push(n>>12|224,n>>6&63|128,n&63|128)}else if(n<1114112){if((t-=4)<0)break;s.push(n>>18|240,n>>12&63|128,n>>6&63|128,n&63|128)}else throw new Error("Invalid code point")}return s}function PJ(e){let t=[];for(let n=0;n>8,o=n%256,s.push(o),s.push(r);return s}function w3(e){return dT.toByteArray(BJ(e))}function qg(e,t,n,r){let o;for(o=0;o=t.length||o>=e.length);++o)t[o+n]=e[o];return o}function Qi(e,t){return e instanceof t||e!=null&&e.constructor!=null&&e.constructor.name!=null&&e.constructor.name===t.name}function bT(e){return e!==e}var MJ=(function(){let e="0123456789abcdef",t=new Array(256);for(let n=0;n<16;++n){let r=n*16;for(let o=0;o<16;++o)t[r+o]=e[n]+e[o]}return t})();function pu(e){return typeof BigInt>"u"?FJ:e}function FJ(){throw new Error("BigInt not supported")}});var T3=Xe(Kg=>{"use strict";Object.defineProperty(Kg,"__esModule",{value:!0});Kg.crypto=void 0;Kg.crypto=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0});var ea=Xe(Fe=>{"use strict";Object.defineProperty(Fe,"__esModule",{value:!0});Fe.wrapXOFConstructorWithOpts=Fe.wrapConstructorWithOpts=Fe.wrapConstructor=Fe.Hash=Fe.nextTick=Fe.swap32IfBE=Fe.byteSwapIfBE=Fe.swap8IfBE=Fe.isLE=void 0;Fe.isBytes=R3;Fe.anumber=gT;Fe.abytes=Ep;Fe.ahash=UJ;Fe.aexists=HJ;Fe.aoutput=$J;Fe.u8=zJ;Fe.u32=VJ;Fe.clean=jJ;Fe.createView=GJ;Fe.rotr=WJ;Fe.rotl=qJ;Fe.byteSwap=AT;Fe.byteSwap32=v3;Fe.bytesToHex=YJ;Fe.hexToBytes=ZJ;Fe.asyncLoop=JJ;Fe.utf8ToBytes=ET;Fe.bytesToUtf8=QJ;Fe.toBytes=Yg;Fe.kdfInputToBytes=eQ;Fe.concatBytes=tQ;Fe.checkOpts=nQ;Fe.createHasher=C3;Fe.createOptHasher=N3;Fe.createXOFer=O3;Fe.randomBytes=rQ;var Ap=T3();function R3(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"}function gT(e){if(!Number.isSafeInteger(e)||e<0)throw new Error("positive integer expected, got "+e)}function Ep(e,...t){if(!R3(e))throw new Error("Uint8Array expected");if(t.length>0&&!t.includes(e.length))throw new Error("Uint8Array expected of length "+t+", got length="+e.length)}function UJ(e){if(typeof e!="function"||typeof e.create!="function")throw new Error("Hash should be wrapped by utils.createHasher");gT(e.outputLen),gT(e.blockLen)}function HJ(e,t=!0){if(e.destroyed)throw new Error("Hash instance has been destroyed");if(t&&e.finished)throw new Error("Hash#digest() has already been called")}function $J(e,t){Ep(e);let n=t.outputLen;if(e.length>>t}function qJ(e,t){return e<>>32-t>>>0}Fe.isLE=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function AT(e){return e<<24&4278190080|e<<8&16711680|e>>>8&65280|e>>>24&255}Fe.swap8IfBE=Fe.isLE?e=>e:e=>AT(e);Fe.byteSwapIfBE=Fe.swap8IfBE;function v3(e){for(let t=0;te:v3;var I3=typeof Uint8Array.from([]).toHex=="function"&&typeof Uint8Array.fromHex=="function",KJ=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function YJ(e){if(Ep(e),I3)return e.toHex();let t="";for(let n=0;n=ec._0&&e<=ec._9)return e-ec._0;if(e>=ec.A&&e<=ec.F)return e-(ec.A-10);if(e>=ec.a&&e<=ec.f)return e-(ec.a-10)}function ZJ(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);if(I3)return Uint8Array.fromHex(e);let t=e.length,n=t/2;if(t%2)throw new Error("hex string expected, got unpadded hex of length "+t);let r=new Uint8Array(n);for(let o=0,s=0;o{};Fe.nextTick=XJ;async function JJ(e,t,n){let r=Date.now();for(let o=0;o=0&&se().update(Yg(r)).digest(),n=e();return t.outputLen=n.outputLen,t.blockLen=n.blockLen,t.create=()=>e(),t}function N3(e){let t=(r,o)=>e(o).update(Yg(r)).digest(),n=e({});return t.outputLen=n.outputLen,t.blockLen=n.blockLen,t.create=r=>e(r),t}function O3(e){let t=(r,o)=>e(o).update(Yg(r)).digest(),n=e({});return t.outputLen=n.outputLen,t.blockLen=n.blockLen,t.create=r=>e(r),t}Fe.wrapConstructor=C3;Fe.wrapConstructorWithOpts=N3;Fe.wrapXOFConstructorWithOpts=O3;function rQ(e=32){if(Ap.crypto&&typeof Ap.crypto.getRandomValues=="function")return Ap.crypto.getRandomValues(new Uint8Array(e));if(Ap.crypto&&typeof Ap.crypto.randomBytes=="function")return Uint8Array.from(Ap.crypto.randomBytes(e));throw new Error("crypto.getRandomValues must be defined")}});var D3=Xe(To=>{"use strict";Object.defineProperty(To,"__esModule",{value:!0});To.SHA512_IV=To.SHA384_IV=To.SHA224_IV=To.SHA256_IV=To.HashMD=void 0;To.setBigUint64=k3;To.Chi=oQ;To.Maj=sQ;var ta=ea();function k3(e,t,n,r){if(typeof e.setBigUint64=="function")return e.setBigUint64(t,n,r);let o=BigInt(32),s=BigInt(4294967295),i=Number(n>>o&s),a=Number(n&s),c=r?4:0,u=r?0:4;e.setUint32(t+c,i,r),e.setUint32(t+u,a,r)}function oQ(e,t,n){return e&t^~e&n}function sQ(e,t,n){return e&t^e&n^t&n}var xT=class extends ta.Hash{constructor(t,n,r,o){super(),this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.blockLen=t,this.outputLen=n,this.padOffset=r,this.isLE=o,this.buffer=new Uint8Array(t),this.view=(0,ta.createView)(this.buffer)}update(t){(0,ta.aexists)(this),t=(0,ta.toBytes)(t),(0,ta.abytes)(t);let{view:n,buffer:r,blockLen:o}=this,s=t.length;for(let i=0;io-i&&(this.process(r,0),i=0);for(let l=i;ld.length)throw new Error("_sha2: outputLen bigger than state");for(let l=0;l{"use strict";Object.defineProperty(Je,"__esModule",{value:!0});Je.toBig=Je.shrSL=Je.shrSH=Je.rotrSL=Je.rotrSH=Je.rotrBL=Je.rotrBH=Je.rotr32L=Je.rotr32H=Je.rotlSL=Je.rotlSH=Je.rotlBL=Je.rotlBH=Je.add5L=Je.add5H=Je.add4L=Je.add4H=Je.add3L=Je.add3H=void 0;Je.add=K3;Je.fromBig=TT;Je.split=B3;var Zg=BigInt(2**32-1),wT=BigInt(32);function TT(e,t=!1){return t?{h:Number(e&Zg),l:Number(e>>wT&Zg)}:{h:Number(e>>wT&Zg)|0,l:Number(e&Zg)|0}}function B3(e,t=!1){let n=e.length,r=new Uint32Array(n),o=new Uint32Array(n);for(let s=0;sBigInt(e>>>0)<>>0);Je.toBig=P3;var L3=(e,t,n)=>e>>>n;Je.shrSH=L3;var M3=(e,t,n)=>e<<32-n|t>>>n;Je.shrSL=M3;var F3=(e,t,n)=>e>>>n|t<<32-n;Je.rotrSH=F3;var U3=(e,t,n)=>e<<32-n|t>>>n;Je.rotrSL=U3;var H3=(e,t,n)=>e<<64-n|t>>>n-32;Je.rotrBH=H3;var $3=(e,t,n)=>e>>>n-32|t<<64-n;Je.rotrBL=$3;var z3=(e,t)=>t;Je.rotr32H=z3;var V3=(e,t)=>e;Je.rotr32L=V3;var j3=(e,t,n)=>e<>>32-n;Je.rotlSH=j3;var G3=(e,t,n)=>t<>>32-n;Je.rotlSL=G3;var W3=(e,t,n)=>t<>>64-n;Je.rotlBH=W3;var q3=(e,t,n)=>e<>>64-n;Je.rotlBL=q3;function K3(e,t,n,r){let o=(t>>>0)+(r>>>0);return{h:e+n+(o/2**32|0)|0,l:o|0}}var Y3=(e,t,n)=>(e>>>0)+(t>>>0)+(n>>>0);Je.add3L=Y3;var Z3=(e,t,n,r)=>t+n+r+(e/2**32|0)|0;Je.add3H=Z3;var X3=(e,t,n,r)=>(e>>>0)+(t>>>0)+(n>>>0)+(r>>>0);Je.add4L=X3;var J3=(e,t,n,r,o)=>t+n+r+o+(e/2**32|0)|0;Je.add4H=J3;var Q3=(e,t,n,r,o)=>(e>>>0)+(t>>>0)+(n>>>0)+(r>>>0)+(o>>>0);Je.add5L=Q3;var e8=(e,t,n,r,o,s)=>t+n+r+o+s+(e/2**32|0)|0;Je.add5H=e8;var iQ={fromBig:TT,split:B3,toBig:P3,shrSH:L3,shrSL:M3,rotrSH:F3,rotrSL:U3,rotrBH:H3,rotrBL:$3,rotr32H:z3,rotr32L:V3,rotlSH:j3,rotlSL:G3,rotlBH:W3,rotlBL:q3,add:K3,add3L:Y3,add3H:Z3,add4L:X3,add4H:J3,add5H:e8,add5L:Q3};Je.default=iQ});var t_=Xe(sn=>{"use strict";Object.defineProperty(sn,"__esModule",{value:!0});sn.sha512_224=sn.sha512_256=sn.sha384=sn.sha512=sn.sha224=sn.sha256=sn.SHA512_256=sn.SHA512_224=sn.SHA384=sn.SHA512=sn.SHA224=sn.SHA256=void 0;var Be=D3(),rt=ST(),ir=ea(),aQ=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]),mu=new Uint32Array(64),xh=class extends Be.HashMD{constructor(t=32){super(64,t,8,!1),this.A=Be.SHA256_IV[0]|0,this.B=Be.SHA256_IV[1]|0,this.C=Be.SHA256_IV[2]|0,this.D=Be.SHA256_IV[3]|0,this.E=Be.SHA256_IV[4]|0,this.F=Be.SHA256_IV[5]|0,this.G=Be.SHA256_IV[6]|0,this.H=Be.SHA256_IV[7]|0}get(){let{A:t,B:n,C:r,D:o,E:s,F:i,G:a,H:c}=this;return[t,n,r,o,s,i,a,c]}set(t,n,r,o,s,i,a,c){this.A=t|0,this.B=n|0,this.C=r|0,this.D=o|0,this.E=s|0,this.F=i|0,this.G=a|0,this.H=c|0}process(t,n){for(let l=0;l<16;l++,n+=4)mu[l]=t.getUint32(n,!1);for(let l=16;l<64;l++){let m=mu[l-15],p=mu[l-2],g=(0,ir.rotr)(m,7)^(0,ir.rotr)(m,18)^m>>>3,E=(0,ir.rotr)(p,17)^(0,ir.rotr)(p,19)^p>>>10;mu[l]=E+mu[l-7]+g+mu[l-16]|0}let{A:r,B:o,C:s,D:i,E:a,F:c,G:u,H:d}=this;for(let l=0;l<64;l++){let m=(0,ir.rotr)(a,6)^(0,ir.rotr)(a,11)^(0,ir.rotr)(a,25),p=d+m+(0,Be.Chi)(a,c,u)+aQ[l]+mu[l]|0,E=((0,ir.rotr)(r,2)^(0,ir.rotr)(r,13)^(0,ir.rotr)(r,22))+(0,Be.Maj)(r,o,s)|0;d=u,u=c,c=a,a=i+p|0,i=s,s=o,o=r,r=p+E|0}r=r+this.A|0,o=o+this.B|0,s=s+this.C|0,i=i+this.D|0,a=a+this.E|0,c=c+this.F|0,u=u+this.G|0,d=d+this.H|0,this.set(r,o,s,i,a,c,u,d)}roundClean(){(0,ir.clean)(mu)}destroy(){this.set(0,0,0,0,0,0,0,0),(0,ir.clean)(this.buffer)}};sn.SHA256=xh;var Xg=class extends xh{constructor(){super(28),this.A=Be.SHA224_IV[0]|0,this.B=Be.SHA224_IV[1]|0,this.C=Be.SHA224_IV[2]|0,this.D=Be.SHA224_IV[3]|0,this.E=Be.SHA224_IV[4]|0,this.F=Be.SHA224_IV[5]|0,this.G=Be.SHA224_IV[6]|0,this.H=Be.SHA224_IV[7]|0}};sn.SHA224=Xg;var t8=rt.split(["0x428a2f98d728ae22","0x7137449123ef65cd","0xb5c0fbcfec4d3b2f","0xe9b5dba58189dbbc","0x3956c25bf348b538","0x59f111f1b605d019","0x923f82a4af194f9b","0xab1c5ed5da6d8118","0xd807aa98a3030242","0x12835b0145706fbe","0x243185be4ee4b28c","0x550c7dc3d5ffb4e2","0x72be5d74f27b896f","0x80deb1fe3b1696b1","0x9bdc06a725c71235","0xc19bf174cf692694","0xe49b69c19ef14ad2","0xefbe4786384f25e3","0x0fc19dc68b8cd5b5","0x240ca1cc77ac9c65","0x2de92c6f592b0275","0x4a7484aa6ea6e483","0x5cb0a9dcbd41fbd4","0x76f988da831153b5","0x983e5152ee66dfab","0xa831c66d2db43210","0xb00327c898fb213f","0xbf597fc7beef0ee4","0xc6e00bf33da88fc2","0xd5a79147930aa725","0x06ca6351e003826f","0x142929670a0e6e70","0x27b70a8546d22ffc","0x2e1b21385c26c926","0x4d2c6dfc5ac42aed","0x53380d139d95b3df","0x650a73548baf63de","0x766a0abb3c77b2a8","0x81c2c92e47edaee6","0x92722c851482353b","0xa2bfe8a14cf10364","0xa81a664bbc423001","0xc24b8b70d0f89791","0xc76c51a30654be30","0xd192e819d6ef5218","0xd69906245565a910","0xf40e35855771202a","0x106aa07032bbd1b8","0x19a4c116b8d2d0c8","0x1e376c085141ab53","0x2748774cdf8eeb99","0x34b0bcb5e19b48a8","0x391c0cb3c5c95a63","0x4ed8aa4ae3418acb","0x5b9cca4f7763e373","0x682e6ff3d6b2b8a3","0x748f82ee5defb2fc","0x78a5636f43172f60","0x84c87814a1f0ab72","0x8cc702081a6439ec","0x90befffa23631e28","0xa4506cebde82bde9","0xbef9a3f7b2c67915","0xc67178f2e372532b","0xca273eceea26619c","0xd186b8c721c0c207","0xeada7dd6cde0eb1e","0xf57d4f7fee6ed178","0x06f067aa72176fba","0x0a637dc5a2c898a6","0x113f9804bef90dae","0x1b710b35131c471b","0x28db77f523047d84","0x32caab7b40c72493","0x3c9ebe0a15c9bebc","0x431d67c49c100d4c","0x4cc5d4becb3e42b6","0x597f299cfc657e2a","0x5fcb6fab3ad6faec","0x6c44198c4a475817"].map(e=>BigInt(e))),cQ=t8[0],uQ=t8[1],hu=new Uint32Array(80),yu=new Uint32Array(80),hl=class extends Be.HashMD{constructor(t=64){super(128,t,16,!1),this.Ah=Be.SHA512_IV[0]|0,this.Al=Be.SHA512_IV[1]|0,this.Bh=Be.SHA512_IV[2]|0,this.Bl=Be.SHA512_IV[3]|0,this.Ch=Be.SHA512_IV[4]|0,this.Cl=Be.SHA512_IV[5]|0,this.Dh=Be.SHA512_IV[6]|0,this.Dl=Be.SHA512_IV[7]|0,this.Eh=Be.SHA512_IV[8]|0,this.El=Be.SHA512_IV[9]|0,this.Fh=Be.SHA512_IV[10]|0,this.Fl=Be.SHA512_IV[11]|0,this.Gh=Be.SHA512_IV[12]|0,this.Gl=Be.SHA512_IV[13]|0,this.Hh=Be.SHA512_IV[14]|0,this.Hl=Be.SHA512_IV[15]|0}get(){let{Ah:t,Al:n,Bh:r,Bl:o,Ch:s,Cl:i,Dh:a,Dl:c,Eh:u,El:d,Fh:l,Fl:m,Gh:p,Gl:g,Hh:E,Hl:x}=this;return[t,n,r,o,s,i,a,c,u,d,l,m,p,g,E,x]}set(t,n,r,o,s,i,a,c,u,d,l,m,p,g,E,x){this.Ah=t|0,this.Al=n|0,this.Bh=r|0,this.Bl=o|0,this.Ch=s|0,this.Cl=i|0,this.Dh=a|0,this.Dl=c|0,this.Eh=u|0,this.El=d|0,this.Fh=l|0,this.Fl=m|0,this.Gh=p|0,this.Gl=g|0,this.Hh=E|0,this.Hl=x|0}process(t,n){for(let C=0;C<16;C++,n+=4)hu[C]=t.getUint32(n),yu[C]=t.getUint32(n+=4);for(let C=16;C<80;C++){let v=hu[C-15]|0,D=yu[C-15]|0,F=rt.rotrSH(v,D,1)^rt.rotrSH(v,D,8)^rt.shrSH(v,D,7),U=rt.rotrSL(v,D,1)^rt.rotrSL(v,D,8)^rt.shrSL(v,D,7),V=hu[C-2]|0,$=yu[C-2]|0,z=rt.rotrSH(V,$,19)^rt.rotrBH(V,$,61)^rt.shrSH(V,$,6),W=rt.rotrSL(V,$,19)^rt.rotrBL(V,$,61)^rt.shrSL(V,$,6),X=rt.add4L(U,W,yu[C-7],yu[C-16]),w=rt.add4H(X,F,z,hu[C-7],hu[C-16]);hu[C]=w|0,yu[C]=X|0}let{Ah:r,Al:o,Bh:s,Bl:i,Ch:a,Cl:c,Dh:u,Dl:d,Eh:l,El:m,Fh:p,Fl:g,Gh:E,Gl:x,Hh:S,Hl:N}=this;for(let C=0;C<80;C++){let v=rt.rotrSH(l,m,14)^rt.rotrSH(l,m,18)^rt.rotrBH(l,m,41),D=rt.rotrSL(l,m,14)^rt.rotrSL(l,m,18)^rt.rotrBL(l,m,41),F=l&p^~l&E,U=m&g^~m&x,V=rt.add5L(N,D,U,uQ[C],yu[C]),$=rt.add5H(V,S,v,F,cQ[C],hu[C]),z=V|0,W=rt.rotrSH(r,o,28)^rt.rotrBH(r,o,34)^rt.rotrBH(r,o,39),X=rt.rotrSL(r,o,28)^rt.rotrBL(r,o,34)^rt.rotrBL(r,o,39),w=r&s^r&a^s&a,f=o&i^o&c^i&c;S=E|0,N=x|0,E=p|0,x=g|0,p=l|0,g=m|0,{h:l,l:m}=rt.add(u|0,d|0,$|0,z|0),u=a|0,d=c|0,a=s|0,c=i|0,s=r|0,i=o|0;let y=rt.add3L(z,X,f);r=rt.add3H(y,$,W,w),o=y|0}({h:r,l:o}=rt.add(this.Ah|0,this.Al|0,r|0,o|0)),{h:s,l:i}=rt.add(this.Bh|0,this.Bl|0,s|0,i|0),{h:a,l:c}=rt.add(this.Ch|0,this.Cl|0,a|0,c|0),{h:u,l:d}=rt.add(this.Dh|0,this.Dl|0,u|0,d|0),{h:l,l:m}=rt.add(this.Eh|0,this.El|0,l|0,m|0),{h:p,l:g}=rt.add(this.Fh|0,this.Fl|0,p|0,g|0),{h:E,l:x}=rt.add(this.Gh|0,this.Gl|0,E|0,x|0),{h:S,l:N}=rt.add(this.Hh|0,this.Hl|0,S|0,N|0),this.set(r,o,s,i,a,c,u,d,l,m,p,g,E,x,S,N)}roundClean(){(0,ir.clean)(hu,yu)}destroy(){(0,ir.clean)(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}};sn.SHA512=hl;var Jg=class extends hl{constructor(){super(48),this.Ah=Be.SHA384_IV[0]|0,this.Al=Be.SHA384_IV[1]|0,this.Bh=Be.SHA384_IV[2]|0,this.Bl=Be.SHA384_IV[3]|0,this.Ch=Be.SHA384_IV[4]|0,this.Cl=Be.SHA384_IV[5]|0,this.Dh=Be.SHA384_IV[6]|0,this.Dl=Be.SHA384_IV[7]|0,this.Eh=Be.SHA384_IV[8]|0,this.El=Be.SHA384_IV[9]|0,this.Fh=Be.SHA384_IV[10]|0,this.Fl=Be.SHA384_IV[11]|0,this.Gh=Be.SHA384_IV[12]|0,this.Gl=Be.SHA384_IV[13]|0,this.Hh=Be.SHA384_IV[14]|0,this.Hl=Be.SHA384_IV[15]|0}};sn.SHA384=Jg;var to=Uint32Array.from([2352822216,424955298,1944164710,2312950998,502970286,855612546,1738396948,1479516111,258812777,2077511080,2011393907,79989058,1067287976,1780299464,286451373,2446758561]),no=Uint32Array.from([573645204,4230739756,2673172387,3360449730,596883563,1867755857,2520282905,1497426621,2519219938,2827943907,3193839141,1401305490,721525244,746961066,246885852,2177182882]),Qg=class extends hl{constructor(){super(28),this.Ah=to[0]|0,this.Al=to[1]|0,this.Bh=to[2]|0,this.Bl=to[3]|0,this.Ch=to[4]|0,this.Cl=to[5]|0,this.Dh=to[6]|0,this.Dl=to[7]|0,this.Eh=to[8]|0,this.El=to[9]|0,this.Fh=to[10]|0,this.Fl=to[11]|0,this.Gh=to[12]|0,this.Gl=to[13]|0,this.Hh=to[14]|0,this.Hl=to[15]|0}};sn.SHA512_224=Qg;var e_=class extends hl{constructor(){super(32),this.Ah=no[0]|0,this.Al=no[1]|0,this.Bh=no[2]|0,this.Bl=no[3]|0,this.Ch=no[4]|0,this.Cl=no[5]|0,this.Dh=no[6]|0,this.Dl=no[7]|0,this.Eh=no[8]|0,this.El=no[9]|0,this.Fh=no[10]|0,this.Fl=no[11]|0,this.Gh=no[12]|0,this.Gl=no[13]|0,this.Hh=no[14]|0,this.Hl=no[15]|0}};sn.SHA512_256=e_;sn.sha256=(0,ir.createHasher)(()=>new xh);sn.sha224=(0,ir.createHasher)(()=>new Xg);sn.sha512=(0,ir.createHasher)(()=>new hl);sn.sha384=(0,ir.createHasher)(()=>new Jg);sn.sha512_256=(0,ir.createHasher)(()=>new e_);sn.sha512_224=(0,ir.createHasher)(()=>new Qg)});var nc=Xe(Ve=>{"use strict";Object.defineProperty(Ve,"__esModule",{value:!0});Ve.notImplemented=Ve.bitMask=Ve.utf8ToBytes=Ve.randomBytes=Ve.isBytes=Ve.hexToBytes=Ve.concatBytes=Ve.bytesToUtf8=Ve.bytesToHex=Ve.anumber=Ve.abytes=void 0;Ve.abool=dQ;Ve._abool2=lQ;Ve._abytes2=fQ;Ve.numberToHexUnpadded=n8;Ve.hexToNumber=vT;Ve.bytesToNumberBE=pQ;Ve.bytesToNumberLE=mQ;Ve.numberToBytesBE=r8;Ve.numberToBytesLE=hQ;Ve.numberToVarBytesBE=yQ;Ve.ensureBytes=bQ;Ve.equalBytes=gQ;Ve.copyBytes=_Q;Ve.asciiToBytes=AQ;Ve.inRange=o8;Ve.aInRange=EQ;Ve.bitLen=xQ;Ve.bitGet=wQ;Ve.bitSet=TQ;Ve.createHmacDrbg=RQ;Ve.validateObject=IQ;Ve.isHash=CQ;Ve._validateObject=NQ;Ve.memoized=kQ;var na=ea(),tc=ea();Object.defineProperty(Ve,"abytes",{enumerable:!0,get:function(){return tc.abytes}});Object.defineProperty(Ve,"anumber",{enumerable:!0,get:function(){return tc.anumber}});Object.defineProperty(Ve,"bytesToHex",{enumerable:!0,get:function(){return tc.bytesToHex}});Object.defineProperty(Ve,"bytesToUtf8",{enumerable:!0,get:function(){return tc.bytesToUtf8}});Object.defineProperty(Ve,"concatBytes",{enumerable:!0,get:function(){return tc.concatBytes}});Object.defineProperty(Ve,"hexToBytes",{enumerable:!0,get:function(){return tc.hexToBytes}});Object.defineProperty(Ve,"isBytes",{enumerable:!0,get:function(){return tc.isBytes}});Object.defineProperty(Ve,"randomBytes",{enumerable:!0,get:function(){return tc.randomBytes}});Object.defineProperty(Ve,"utf8ToBytes",{enumerable:!0,get:function(){return tc.utf8ToBytes}});var n_=BigInt(0),wh=BigInt(1);function dQ(e,t){if(typeof t!="boolean")throw new Error(e+" boolean expected, got "+t)}function lQ(e,t=""){if(typeof e!="boolean"){let n=t&&`"${t}"`;throw new Error(n+"expected boolean, got type="+typeof e)}return e}function fQ(e,t,n=""){let r=(0,na.isBytes)(e),o=e?.length,s=t!==void 0;if(!r||s&&o!==t){let i=n&&`"${n}" `,a=s?` of length ${t}`:"",c=r?`length=${o}`:`type=${typeof e}`;throw new Error(i+"expected Uint8Array"+a+", got "+c)}return e}function n8(e){let t=e.toString(16);return t.length&1?"0"+t:t}function vT(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);return e===""?n_:BigInt("0x"+e)}function pQ(e){return vT((0,na.bytesToHex)(e))}function mQ(e){return(0,na.abytes)(e),vT((0,na.bytesToHex)(Uint8Array.from(e).reverse()))}function r8(e,t){return(0,na.hexToBytes)(e.toString(16).padStart(t*2,"0"))}function hQ(e,t){return r8(e,t).reverse()}function yQ(e){return(0,na.hexToBytes)(n8(e))}function bQ(e,t,n){let r;if(typeof t=="string")try{r=(0,na.hexToBytes)(t)}catch(s){throw new Error(e+" must be hex string or Uint8Array, cause: "+s)}else if((0,na.isBytes)(t))r=Uint8Array.from(t);else throw new Error(e+" must be hex string or Uint8Array");let o=r.length;if(typeof n=="number"&&o!==n)throw new Error(e+" of length "+n+" expected, got "+o);return r}function gQ(e,t){if(e.length!==t.length)return!1;let n=0;for(let r=0;r{let r=t.charCodeAt(0);if(t.length!==1||r>127)throw new Error(`string contains non-ASCII character "${e[n]}" with code ${r} at position ${n}`);return r})}var RT=e=>typeof e=="bigint"&&n_<=e;function o8(e,t,n){return RT(e)&&RT(t)&&RT(n)&&t<=e&&en_;e>>=wh,t+=1);return t}function wQ(e,t){return e>>BigInt(t)&wh}function TQ(e,t,n){return e|(n?wh:n_)<(wh<new Uint8Array(p),o=p=>Uint8Array.of(p),s=r(e),i=r(e),a=0,c=()=>{s.fill(1),i.fill(0),a=0},u=(...p)=>n(i,s,...p),d=(p=r(0))=>{i=u(o(0),p),s=u(),p.length!==0&&(i=u(o(1),p),s=u())},l=()=>{if(a++>=1e3)throw new Error("drbg: tried 1000 values");let p=0,g=[];for(;p{c(),d(p);let E;for(;!(E=g(l()));)d();return c(),E}}var vQ={bigint:e=>typeof e=="bigint",function:e=>typeof e=="function",boolean:e=>typeof e=="boolean",string:e=>typeof e=="string",stringOrUint8Array:e=>typeof e=="string"||(0,na.isBytes)(e),isSafeInteger:e=>Number.isSafeInteger(e),array:e=>Array.isArray(e),field:(e,t)=>t.Fp.isValid(e),hash:e=>typeof e=="function"&&Number.isSafeInteger(e.outputLen)};function IQ(e,t,n={}){let r=(o,s,i)=>{let a=vQ[s];if(typeof a!="function")throw new Error("invalid validator function");let c=e[o];if(!(i&&c===void 0)&&!a(c,e))throw new Error("param "+String(o)+" is invalid. Expected "+s+", got "+c)};for(let[o,s]of Object.entries(t))r(o,s,!1);for(let[o,s]of Object.entries(n))r(o,s,!0);return e}function CQ(e){return typeof e=="function"&&Number.isSafeInteger(e.outputLen)}function NQ(e,t,n={}){if(!e||typeof e!="object")throw new Error("expected valid options object");function r(o,s,i){let a=e[o];if(i&&a===void 0)return;let c=typeof a;if(c!==s||a===null)throw new Error(`param "${o}" is invalid: expected ${s}, got ${c}`)}Object.entries(t).forEach(([o,s])=>r(o,s,!1)),Object.entries(n).forEach(([o,s])=>r(o,s,!0))}var OQ=()=>{throw new Error("not implemented")};Ve.notImplemented=OQ;function kQ(e){let t=new WeakMap;return(n,...r)=>{let o=t.get(n);if(o!==void 0)return o;let s=e(n,...r);return t.set(n,s),s}}});var bu=Xe(Pn=>{"use strict";Object.defineProperty(Pn,"__esModule",{value:!0});Pn.isNegativeLE=void 0;Pn.mod=qo;Pn.pow=PQ;Pn.pow2=LQ;Pn.invert=r_;Pn.tonelliShanks=CT;Pn.FpSqrt=l8;Pn.validateField=$Q;Pn.FpPow=NT;Pn.FpInvertBatch=f8;Pn.FpDiv=zQ;Pn.FpLegendre=o_;Pn.FpIsSquare=VQ;Pn.nLength=OT;Pn.Field=s_;Pn.FpSqrtOdd=jQ;Pn.FpSqrtEven=GQ;Pn.hashToPrivateScalar=WQ;Pn.getFieldBytesLength=kT;Pn.getMinHashLength=p8;Pn.mapHashToField=qQ;var Ko=nc(),So=BigInt(0),ar=BigInt(1),yl=BigInt(2),s8=BigInt(3),i8=BigInt(4),a8=BigInt(5),DQ=BigInt(7),c8=BigInt(8),BQ=BigInt(9),u8=BigInt(16);function qo(e,t){let n=e%t;return n>=So?n:t+n}function PQ(e,t,n){return NT(s_(n),e,t)}function LQ(e,t,n){let r=e;for(;t-- >So;)r*=r,r%=n;return r}function r_(e,t){if(e===So)throw new Error("invert: expected non-zero number");if(t<=So)throw new Error("invert: expected positive modulus, got "+t);let n=qo(e,t),r=t,o=So,s=ar,i=ar,a=So;for(;n!==So;){let u=r/n,d=r%n,l=o-i*u,m=s-a*u;r=n,n=d,o=i,s=a,i=l,a=m}if(r!==ar)throw new Error("invert: does not exist");return qo(o,t)}function IT(e,t,n){if(!e.eql(e.sqr(t),n))throw new Error("Cannot find square root")}function d8(e,t){let n=(e.ORDER+ar)/i8,r=e.pow(t,n);return IT(e,r,t),r}function MQ(e,t){let n=(e.ORDER-a8)/c8,r=e.mul(t,yl),o=e.pow(r,n),s=e.mul(t,o),i=e.mul(e.mul(s,yl),o),a=e.mul(s,e.sub(i,e.ONE));return IT(e,a,t),a}function FQ(e){let t=s_(e),n=CT(e),r=n(t,t.neg(t.ONE)),o=n(t,r),s=n(t,t.neg(r)),i=(e+DQ)/u8;return(a,c)=>{let u=a.pow(c,i),d=a.mul(u,r),l=a.mul(u,o),m=a.mul(u,s),p=a.eql(a.sqr(d),c),g=a.eql(a.sqr(l),c);u=a.cmov(u,d,p),d=a.cmov(m,l,g);let E=a.eql(a.sqr(d),c),x=a.cmov(u,d,E);return IT(a,x,c),x}}function CT(e){if(e1e3)throw new Error("Cannot find square root: probably non-prime P");if(n===1)return d8;let s=o.pow(r,t),i=(t+ar)/yl;return function(c,u){if(c.is0(u))return u;if(o_(c,u)!==1)throw new Error("Cannot find square root");let d=n,l=c.mul(c.ONE,s),m=c.pow(u,t),p=c.pow(u,i);for(;!c.eql(m,c.ONE);){if(c.is0(m))return c.ZERO;let g=1,E=c.sqr(m);for(;!c.eql(E,c.ONE);)if(g++,E=c.sqr(E),g===d)throw new Error("Cannot find square root");let x=ar<(qo(e,t)&ar)===ar;Pn.isNegativeLE=UQ;var HQ=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function $Q(e){let t={ORDER:"bigint",MASK:"bigint",BYTES:"number",BITS:"number"},n=HQ.reduce((r,o)=>(r[o]="function",r),t);return(0,Ko._validateObject)(e,n),e}function NT(e,t,n){if(nSo;)n&ar&&(r=e.mul(r,o)),o=e.sqr(o),n>>=ar;return r}function f8(e,t,n=!1){let r=new Array(t.length).fill(n?e.ZERO:void 0),o=t.reduce((i,a,c)=>e.is0(a)?i:(r[c]=i,e.mul(i,a)),e.ONE),s=e.inv(o);return t.reduceRight((i,a,c)=>e.is0(a)?i:(r[c]=e.mul(i,r[c]),e.mul(i,a)),s),r}function zQ(e,t,n){return e.mul(t,typeof n=="bigint"?r_(n,e.ORDER):e.inv(n))}function o_(e,t){let n=(e.ORDER-ar)/yl,r=e.pow(t,n),o=e.eql(r,e.ONE),s=e.eql(r,e.ZERO),i=e.eql(r,e.neg(e.ONE));if(!o&&!s&&!i)throw new Error("invalid Legendre symbol result");return o?1:s?0:-1}function VQ(e,t){return o_(e,t)===1}function OT(e,t){t!==void 0&&(0,Ko.anumber)(t);let n=t!==void 0?t:e.toString(2).length,r=Math.ceil(n/8);return{nBitLength:n,nByteLength:r}}function s_(e,t,n=!1,r={}){if(e<=So)throw new Error("invalid field: expected ORDER > 0, got "+e);let o,s,i=!1,a;if(typeof t=="object"&&t!=null){if(r.sqrt||n)throw new Error("cannot specify opts in two arguments");let m=t;m.BITS&&(o=m.BITS),m.sqrt&&(s=m.sqrt),typeof m.isLE=="boolean"&&(n=m.isLE),typeof m.modFromBytes=="boolean"&&(i=m.modFromBytes),a=m.allowedLengths}else typeof t=="number"&&(o=t),r.sqrt&&(s=r.sqrt);let{nBitLength:c,nByteLength:u}=OT(e,o);if(u>2048)throw new Error("invalid field: expected ORDER of <= 2048 bytes");let d,l=Object.freeze({ORDER:e,isLE:n,BITS:c,BYTES:u,MASK:(0,Ko.bitMask)(c),ZERO:So,ONE:ar,allowedLengths:a,create:m=>qo(m,e),isValid:m=>{if(typeof m!="bigint")throw new Error("invalid field element: expected bigint, got "+typeof m);return So<=m&&mm===So,isValidNot0:m=>!l.is0(m)&&l.isValid(m),isOdd:m=>(m&ar)===ar,neg:m=>qo(-m,e),eql:(m,p)=>m===p,sqr:m=>qo(m*m,e),add:(m,p)=>qo(m+p,e),sub:(m,p)=>qo(m-p,e),mul:(m,p)=>qo(m*p,e),pow:(m,p)=>NT(l,m,p),div:(m,p)=>qo(m*r_(p,e),e),sqrN:m=>m*m,addN:(m,p)=>m+p,subN:(m,p)=>m-p,mulN:(m,p)=>m*p,inv:m=>r_(m,e),sqrt:s||(m=>(d||(d=l8(e)),d(l,m))),toBytes:m=>n?(0,Ko.numberToBytesLE)(m,u):(0,Ko.numberToBytesBE)(m,u),fromBytes:(m,p=!0)=>{if(a){if(!a.includes(m.length)||m.length>u)throw new Error("Field.fromBytes: expected "+a+" bytes, got "+m.length);let E=new Uint8Array(u);E.set(m,n?0:E.length-m.length),m=E}if(m.length!==u)throw new Error("Field.fromBytes: expected "+u+" bytes, got "+m.length);let g=n?(0,Ko.bytesToNumberLE)(m):(0,Ko.bytesToNumberBE)(m);if(i&&(g=qo(g,e)),!p&&!l.isValid(g))throw new Error("invalid field element: outside of range 0..ORDER");return g},invertBatch:m=>f8(l,m),cmov:(m,p,g)=>g?p:m});return Object.freeze(l)}function jQ(e,t){if(!e.isOdd)throw new Error("Field doesn't have isOdd");let n=e.sqrt(t);return e.isOdd(n)?n:e.neg(n)}function GQ(e,t){if(!e.isOdd)throw new Error("Field doesn't have isOdd");let n=e.sqrt(t);return e.isOdd(n)?e.neg(n):n}function WQ(e,t,n=!1){e=(0,Ko.ensureBytes)("privateHash",e);let r=e.length,o=OT(t).nByteLength+8;if(o<24||r1024)throw new Error("hashToPrivateScalar: expected "+o+"-1024 bytes of input, got "+r);let s=n?(0,Ko.bytesToNumberLE)(e):(0,Ko.bytesToNumberBE)(e);return qo(s,t-ar)+ar}function kT(e){if(typeof e!="bigint")throw new Error("field order must be bigint");let t=e.toString(2).length;return Math.ceil(t/8)}function p8(e){let t=kT(e);return t+Math.ceil(t/2)}function qQ(e,t,n=!1){let r=e.length,o=kT(t),s=p8(t);if(r<16||r1024)throw new Error("expected "+s+"-1024 bytes of input, got "+r);let i=n?(0,Ko.bytesToNumberLE)(e):(0,Ko.bytesToNumberBE)(e),a=qo(i,t-ar)+ar;return n?(0,Ko.numberToBytesLE)(a,o):(0,Ko.numberToBytesBE)(a,o)}});var i_=Xe(xi=>{"use strict";Object.defineProperty(xi,"__esModule",{value:!0});xi.wNAF=void 0;xi.negateCt=LT;xi.normalizeZ=KQ;xi.mulEndoUnsafe=YQ;xi.pippenger=ZQ;xi.precomputeMSMUnsafe=XQ;xi.validateBasic=JQ;xi._createCurveFields=QQ;var Th=nc(),Sh=bu(),xp=BigInt(0),bl=BigInt(1);function LT(e,t){let n=t.negate();return e?n:t}function KQ(e,t){let n=(0,Sh.FpInvertBatch)(e.Fp,t.map(r=>r.Z));return t.map((r,o)=>e.fromAffine(r.toAffine(n[o])))}function FT(e,t){if(!Number.isSafeInteger(e)||e<=0||e>t)throw new Error("invalid window size, expected [1.."+t+"], got W="+e)}function DT(e,t){FT(e,t);let n=Math.ceil(t/e)+1,r=2**(e-1),o=2**e,s=(0,Th.bitMask)(e),i=BigInt(e);return{windows:n,windowSize:r,mask:s,maxNumber:o,shiftBy:i}}function m8(e,t,n){let{windowSize:r,mask:o,maxNumber:s,shiftBy:i}=n,a=Number(e&o),c=e>>i;a>r&&(a-=s,c+=bl);let u=t*r,d=u+Math.abs(a)-1,l=a===0,m=a<0,p=t%2!==0;return{nextN:c,offset:d,isZero:l,isNeg:m,isNegF:p,offsetF:u}}function b8(e,t){if(!Array.isArray(e))throw new Error("array expected");e.forEach((n,r)=>{if(!(n instanceof t))throw new Error("invalid point at index "+r)})}function g8(e,t){if(!Array.isArray(e))throw new Error("array of scalars expected");e.forEach((n,r)=>{if(!t.isValid(n))throw new Error("invalid scalar at index "+r)})}var BT=new WeakMap,_8=new WeakMap;function PT(e){return _8.get(e)||1}function h8(e){if(e!==xp)throw new Error("invalid wNAF")}var MT=class{constructor(t,n){this.BASE=t.BASE,this.ZERO=t.ZERO,this.Fn=t.Fn,this.bits=n}_unsafeLadder(t,n,r=this.ZERO){let o=t;for(;n>xp;)n&bl&&(r=r.add(o)),o=o.double(),n>>=bl;return r}precomputeWindow(t,n){let{windows:r,windowSize:o}=DT(n,this.bits),s=[],i=t,a=i;for(let c=0;cxp||r>xp;)n&bl&&(s=s.add(o)),r&bl&&(i=i.add(o)),o=o.double(),n>>=bl,r>>=bl;return{p1:s,p2:i}}function ZQ(e,t,n,r){b8(n,e),g8(r,t);let o=n.length,s=r.length;if(o!==s)throw new Error("arrays of points and scalars must have equal length");let i=e.ZERO,a=(0,Th.bitLen)(BigInt(o)),c=1;a>12?c=a-3:a>4?c=a-2:a>0&&(c=2);let u=(0,Th.bitMask)(c),d=new Array(Number(u)+1).fill(i),l=Math.floor((t.BITS-1)/c)*c,m=i;for(let p=l;p>=0;p-=c){d.fill(i);for(let E=0;E>BigInt(p)&u);d[S]=d[S].add(n[E])}let g=i;for(let E=d.length-1,x=i;E>0;E--)x=x.add(d[E]),g=g.add(x);if(m=m.add(g),p!==0)for(let E=0;E{let d=[];for(let l=0,m=u;l{if(g8(u,t),u.length>n.length)throw new Error("array of scalars must be smaller than array of points");let d=o;for(let l=0;l>m&a);E&&(d=d.add(c[p][E-1]))}}return d}}function JQ(e){return(0,Sh.validateField)(e.Fp),(0,Th.validateObject)(e,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...(0,Sh.nLength)(e.n,e.nBitLength),...e,p:e.Fp.ORDER})}function y8(e,t,n){if(t){if(t.ORDER!==e)throw new Error("Field.ORDER must match order: Fp == p, Fn == n");return(0,Sh.validateField)(t),t}else return(0,Sh.Field)(e,{isLE:n})}function QQ(e,t,n={},r){if(r===void 0&&(r=e==="edwards"),!t||typeof t!="object")throw new Error(`expected valid ${e} CURVE object`);for(let c of["p","n","h"]){let u=t[c];if(!(typeof u=="bigint"&&u>xp))throw new Error(`CURVE.${c} must be positive bigint`)}let o=y8(t.p,n.Fp,r),s=y8(t.n,n.Fn,r),a=["Gx","Gy","a",e==="weierstrass"?"b":"d"];for(let c of a)if(!o.isValid(t[c]))throw new Error(`CURVE.${c} must be valid field element of CURVE.Fp`);return t=Object.freeze(Object.assign({},t)),{CURVE:t,Fp:o,Fn:s}}});var x8=Xe(_l=>{"use strict";Object.defineProperty(_l,"__esModule",{value:!0});_l.PrimeEdwardsPoint=void 0;_l.edwards=A8;_l.eddsa=E8;_l.twistedEdwards=see;var xt=nc(),gl=i_(),eee=bu(),gu=BigInt(0),Or=BigInt(1),UT=BigInt(2),tee=BigInt(8);function nee(e,t,n,r){let o=e.sqr(n),s=e.sqr(r),i=e.add(e.mul(t.a,o),s),a=e.add(e.ONE,e.mul(t.d,e.mul(o,s)));return e.eql(i,a)}function A8(e,t={}){let n=(0,gl._createCurveFields)("edwards",e,t,t.FpFnLE),{Fp:r,Fn:o}=n,s=n.CURVE,{h:i}=s;(0,xt._validateObject)(t,{},{uvRatio:"function"});let a=UT<r.create(x),u=t.uvRatio||((x,S)=>{try{return{isValid:!0,value:r.sqrt(r.div(x,S))}}catch{return{isValid:!1,value:gu}}});if(!nee(r,s,s.Gx,s.Gy))throw new Error("bad curve params: generator point");function d(x,S,N=!1){let C=N?Or:gu;return(0,xt.aInRange)("coordinate "+x,S,C,a),S}function l(x){if(!(x instanceof g))throw new Error("ExtendedPoint expected")}let m=(0,xt.memoized)((x,S)=>{let{X:N,Y:C,Z:v}=x,D=x.is0();S==null&&(S=D?tee:r.inv(v));let F=c(N*S),U=c(C*S),V=r.mul(v,S);if(D)return{x:gu,y:Or};if(V!==Or)throw new Error("invZ was invalid");return{x:F,y:U}}),p=(0,xt.memoized)(x=>{let{a:S,d:N}=s;if(x.is0())throw new Error("bad point: ZERO");let{X:C,Y:v,Z:D,T:F}=x,U=c(C*C),V=c(v*v),$=c(D*D),z=c($*$),W=c(U*S),X=c($*c(W+V)),w=c(z+c(N*c(U*V)));if(X!==w)throw new Error("bad point: equation left != right (1)");let f=c(C*v),y=c(D*F);if(f!==y)throw new Error("bad point: equation left != right (2)");return!0});class g{constructor(S,N,C,v){this.X=d("x",S),this.Y=d("y",N),this.Z=d("z",C,!0),this.T=d("t",v),Object.freeze(this)}static CURVE(){return s}static fromAffine(S){if(S instanceof g)throw new Error("extended point not allowed");let{x:N,y:C}=S||{};return d("x",N),d("y",C),new g(N,C,Or,c(N*C))}static fromBytes(S,N=!1){let C=r.BYTES,{a:v,d:D}=s;S=(0,xt.copyBytes)((0,xt._abytes2)(S,C,"point")),(0,xt._abool2)(N,"zip215");let F=(0,xt.copyBytes)(S),U=S[C-1];F[C-1]=U&-129;let V=(0,xt.bytesToNumberLE)(F),$=N?a:r.ORDER;(0,xt.aInRange)("point.y",V,gu,$);let z=c(V*V),W=c(z-Or),X=c(D*z-v),{isValid:w,value:f}=u(W,X);if(!w)throw new Error("bad point: invalid y coordinate");let y=(f&Or)===Or,A=(U&128)!==0;if(!N&&f===gu&&A)throw new Error("bad point: x=0 and x_0=1");return A!==y&&(f=c(-f)),g.fromAffine({x:f,y:V})}static fromHex(S,N=!1){return g.fromBytes((0,xt.ensureBytes)("point",S),N)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(S=8,N=!0){return E.createCache(this,S),N||this.multiply(UT),this}assertValidity(){p(this)}equals(S){l(S);let{X:N,Y:C,Z:v}=this,{X:D,Y:F,Z:U}=S,V=c(N*U),$=c(D*v),z=c(C*U),W=c(F*v);return V===$&&z===W}is0(){return this.equals(g.ZERO)}negate(){return new g(c(-this.X),this.Y,this.Z,c(-this.T))}double(){let{a:S}=s,{X:N,Y:C,Z:v}=this,D=c(N*N),F=c(C*C),U=c(UT*c(v*v)),V=c(S*D),$=N+C,z=c(c($*$)-D-F),W=V+F,X=W-U,w=V-F,f=c(z*X),y=c(W*w),A=c(z*w),T=c(X*W);return new g(f,y,T,A)}add(S){l(S);let{a:N,d:C}=s,{X:v,Y:D,Z:F,T:U}=this,{X:V,Y:$,Z:z,T:W}=S,X=c(v*V),w=c(D*$),f=c(U*C*W),y=c(F*z),A=c((v+D)*(V+$)-X-w),T=y-f,I=y+f,k=c(w-N*X),P=c(A*T),O=c(I*k),_=c(A*k),L=c(T*I);return new g(P,O,L,_)}subtract(S){return this.add(S.negate())}multiply(S){if(!o.isValidNot0(S))throw new Error("invalid scalar: expected 1 <= sc < curve.n");let{p:N,f:C}=E.cached(this,S,v=>(0,gl.normalizeZ)(g,v));return(0,gl.normalizeZ)(g,[N,C])[0]}multiplyUnsafe(S,N=g.ZERO){if(!o.isValid(S))throw new Error("invalid scalar: expected 0 <= sc < curve.n");return S===gu?g.ZERO:this.is0()||S===Or?this:E.unsafe(this,S,C=>(0,gl.normalizeZ)(g,C),N)}isSmallOrder(){return this.multiplyUnsafe(i).is0()}isTorsionFree(){return E.unsafe(this,s.n).is0()}toAffine(S){return m(this,S)}clearCofactor(){return i===Or?this:this.multiplyUnsafe(i)}toBytes(){let{x:S,y:N}=this.toAffine(),C=r.toBytes(N);return C[C.length-1]|=S&Or?128:0,C}toHex(){return(0,xt.bytesToHex)(this.toBytes())}toString(){return``}get ex(){return this.X}get ey(){return this.Y}get ez(){return this.Z}get et(){return this.T}static normalizeZ(S){return(0,gl.normalizeZ)(g,S)}static msm(S,N){return(0,gl.pippenger)(g,o,S,N)}_setWindowSize(S){this.precompute(S)}toRawBytes(){return this.toBytes()}}g.BASE=new g(s.Gx,s.Gy,Or,c(s.Gx*s.Gy)),g.ZERO=new g(gu,Or,Or,gu),g.Fp=r,g.Fn=o;let E=new gl.wNAF(g,o.BITS);return g.BASE.precompute(8),g}var HT=class{constructor(t){this.ep=t}static fromBytes(t){(0,xt.notImplemented)()}static fromHex(t){(0,xt.notImplemented)()}get x(){return this.toAffine().x}get y(){return this.toAffine().y}clearCofactor(){return this}assertValidity(){this.ep.assertValidity()}toAffine(t){return this.ep.toAffine(t)}toHex(){return(0,xt.bytesToHex)(this.toBytes())}toString(){return this.toHex()}isTorsionFree(){return!0}isSmallOrder(){return!1}add(t){return this.assertSame(t),this.init(this.ep.add(t.ep))}subtract(t){return this.assertSame(t),this.init(this.ep.subtract(t.ep))}multiply(t){return this.init(this.ep.multiply(t))}multiplyUnsafe(t){return this.init(this.ep.multiplyUnsafe(t))}double(){return this.init(this.ep.double())}negate(){return this.init(this.ep.negate())}precompute(t,n){return this.init(this.ep.precompute(t,n))}toRawBytes(){return this.toBytes()}};_l.PrimeEdwardsPoint=HT;function E8(e,t,n={}){if(typeof t!="function")throw new Error('"hash" function param is required');(0,xt._validateObject)(n,{},{adjustScalarBytes:"function",randomBytes:"function",domain:"function",prehash:"function",mapToCurve:"function"});let{prehash:r}=n,{BASE:o,Fp:s,Fn:i}=e,a=n.randomBytes||xt.randomBytes,c=n.adjustScalarBytes||($=>$),u=n.domain||(($,z,W)=>{if((0,xt._abool2)(W,"phflag"),z.length||W)throw new Error("Contexts/pre-hash are not supported");return $});function d($){return i.create((0,xt.bytesToNumberLE)($))}function l($){let z=C.secretKey;$=(0,xt.ensureBytes)("private key",$,z);let W=(0,xt.ensureBytes)("hashed private key",t($),2*z),X=c(W.slice(0,z)),w=W.slice(z,2*z),f=d(X);return{head:X,prefix:w,scalar:f}}function m($){let{head:z,prefix:W,scalar:X}=l($),w=o.multiply(X),f=w.toBytes();return{head:z,prefix:W,scalar:X,point:w,pointBytes:f}}function p($){return m($).pointBytes}function g($=Uint8Array.of(),...z){let W=(0,xt.concatBytes)(...z);return d(t(u(W,(0,xt.ensureBytes)("context",$),!!r)))}function E($,z,W={}){$=(0,xt.ensureBytes)("message",$),r&&($=r($));let{prefix:X,scalar:w,pointBytes:f}=m(z),y=g(W.context,X,$),A=o.multiply(y).toBytes(),T=g(W.context,A,f,$),I=i.create(y+T*w);if(!i.isValid(I))throw new Error("sign failed: invalid s");let k=(0,xt.concatBytes)(A,i.toBytes(I));return(0,xt._abytes2)(k,C.signature,"result")}let x={zip215:!0};function S($,z,W,X=x){let{context:w,zip215:f}=X,y=C.signature;$=(0,xt.ensureBytes)("signature",$,y),z=(0,xt.ensureBytes)("message",z),W=(0,xt.ensureBytes)("publicKey",W,C.publicKey),f!==void 0&&(0,xt._abool2)(f,"zip215"),r&&(z=r(z));let A=y/2,T=$.subarray(0,A),I=(0,xt.bytesToNumberLE)($.subarray(A,y)),k,P,O;try{k=e.fromBytes(W,f),P=e.fromBytes(T,f),O=o.multiplyUnsafe(I)}catch{return!1}if(!f&&k.isSmallOrder())return!1;let _=g(w,P.toBytes(),k.toBytes(),z);return P.add(k.multiplyUnsafe(_)).subtract(O).clearCofactor().is0()}let N=s.BYTES,C={secretKey:N,publicKey:N,signature:2*N,seed:N};function v($=a(C.seed)){return(0,xt._abytes2)($,C.seed,"seed")}function D($){let z=V.randomSecretKey($);return{secretKey:z,publicKey:p(z)}}function F($){return(0,xt.isBytes)($)&&$.length===i.BYTES}function U($,z){try{return!!e.fromBytes($,z)}catch{return!1}}let V={getExtendedPublicKey:m,randomSecretKey:v,isValidSecretKey:F,isValidPublicKey:U,toMontgomery($){let{y:z}=e.fromBytes($),W=C.publicKey,X=W===32;if(!X&&W!==57)throw new Error("only defined for 25519 and 448");let w=X?s.div(Or+z,Or-z):s.div(z-Or,z+Or);return s.toBytes(w)},toMontgomerySecret($){let z=C.secretKey;(0,xt._abytes2)($,z);let W=t($.subarray(0,z));return c(W).subarray(0,z)},randomPrivateKey:v,precompute($=8,z=e.BASE){return z.precompute($,!1)}};return Object.freeze({keygen:D,getPublicKey:p,sign:E,verify:S,utils:V,Point:e,lengths:C})}function ree(e){let t={a:e.a,d:e.d,p:e.Fp.ORDER,n:e.n,h:e.h,Gx:e.Gx,Gy:e.Gy},n=e.Fp,r=(0,eee.Field)(t.n,e.nBitLength,!0),o={Fp:n,Fn:r,uvRatio:e.uvRatio},s={randomBytes:e.randomBytes,adjustScalarBytes:e.adjustScalarBytes,domain:e.domain,prehash:e.prehash,mapToCurve:e.mapToCurve};return{CURVE:t,curveOpts:o,hash:e.hash,eddsaOpts:s}}function oee(e,t){let n=t.Point;return Object.assign({},t,{ExtendedPoint:n,CURVE:e,nBitLength:n.Fn.BITS,nByteLength:n.Fn.BYTES})}function see(e){let{CURVE:t,curveOpts:n,hash:r,eddsaOpts:o}=ree(e),s=A8(t,n),i=E8(s,r,o);return oee(e,i)}});var $T=Xe(ra=>{"use strict";Object.defineProperty(ra,"__esModule",{value:!0});ra._DST_scalar=void 0;ra.expand_message_xmd=S8;ra.expand_message_xof=R8;ra.hash_to_field=a_;ra.isogenyMap=cee;ra.createHasher=uee;var $r=nc(),w8=bu(),iee=$r.bytesToNumberBE;function _u(e,t){if(Rh(e),Rh(t),e<0||e>=1<<8*t)throw new Error("invalid I2OSP input: "+e);let n=Array.from({length:t}).fill(0);for(let r=t-1;r>=0;r--)n[r]=e&255,e>>>=8;return new Uint8Array(n)}function aee(e,t){let n=new Uint8Array(e.length);for(let r=0;r255&&(t=r((0,$r.concatBytes)((0,$r.utf8ToBytes)("H2C-OVERSIZE-DST-"),t)));let{outputLen:o,blockLen:s}=r,i=Math.ceil(n/o);if(n>65535||i>255)throw new Error("expand_message_xmd: invalid lenInBytes");let a=(0,$r.concatBytes)(t,_u(t.length,1)),c=_u(0,s),u=_u(n,2),d=new Array(i),l=r((0,$r.concatBytes)(c,e,u,_u(0,1),a));d[0]=r((0,$r.concatBytes)(l,_u(1,1),a));for(let p=1;p<=i;p++){let g=[aee(l,d[p-1]),_u(p+1,1),a];d[p]=r((0,$r.concatBytes)(...g))}return(0,$r.concatBytes)(...d).slice(0,n)}function R8(e,t,n,r,o){if((0,$r.abytes)(e),Rh(n),t=T8(t),t.length>255){let s=Math.ceil(2*r/8);t=o.create({dkLen:s}).update((0,$r.utf8ToBytes)("H2C-OVERSIZE-DST-")).update(t).digest()}if(n>65535||t.length>255)throw new Error("expand_message_xof: invalid lenInBytes");return o.create({dkLen:n}).update(e).update(_u(n,2)).update(t).update(_u(t.length,1)).digest()}function a_(e,t,n){(0,$r._validateObject)(n,{p:"bigint",m:"number",k:"number",hash:"function"});let{p:r,k:o,m:s,hash:i,expand:a,DST:c}=n;if(!(0,$r.isHash)(n.hash))throw new Error("expected valid hash");(0,$r.abytes)(e),Rh(t);let u=r.toString(2).length,d=Math.ceil((u+o)/8),l=t*s*d,m;if(a==="xmd")m=S8(e,c,l,i);else if(a==="xof")m=R8(e,c,l,o,i);else if(a==="_internal_pass")m=e;else throw new Error('expand must be "xmd" or "xof"');let p=new Array(t);for(let g=0;gArray.from(r).reverse());return(r,o)=>{let[s,i,a,c]=n.map(l=>l.reduce((m,p)=>e.add(e.mul(m,r),p))),[u,d]=(0,w8.FpInvertBatch)(e,[i,c],!0);return r=e.mul(s,u),o=e.mul(o,e.mul(a,d)),{x:r,y:o}}}ra._DST_scalar=(0,$r.utf8ToBytes)("HashToScalar-");function uee(e,t,n){if(typeof t!="function")throw new Error("mapToCurve() must be defined");function r(s){return e.fromAffine(t(s))}function o(s){let i=s.clearCofactor();return i.equals(e.ZERO)?e.ZERO:(i.assertValidity(),i)}return{defaults:n,hashToCurve(s,i){let a=Object.assign({},n,i),c=a_(s,2,a),u=r(c[0]),d=r(c[1]);return o(u.add(d))},encodeToCurve(s,i){let a=n.encodeDST?{DST:n.encodeDST}:{},c=Object.assign({},n,a,i),u=a_(s,1,c),d=r(u[0]);return o(d)},mapToCurve(s){if(!Array.isArray(s))throw new Error("expected array of bigints");for(let i of s)if(typeof i!="bigint")throw new Error("expected array of bigints");return o(r(s))},hashToScalar(s,i){let a=e.Fn.ORDER,c=Object.assign({},n,{p:a,m:1,DST:ra._DST_scalar},i);return a_(s,1,c)[0][0]}}}});var v8=Xe(zT=>{"use strict";Object.defineProperty(zT,"__esModule",{value:!0});zT.montgomery=fee;var oa=nc(),dee=bu(),vh=BigInt(0),wp=BigInt(1),c_=BigInt(2);function lee(e){return(0,oa._validateObject)(e,{adjustScalarBytes:"function",powPminus2:"function"}),Object.freeze({...e})}function fee(e){let t=lee(e),{P:n,type:r,adjustScalarBytes:o,powPminus2:s,randomBytes:i}=t,a=r==="x25519";if(!a&&r!=="x448")throw new Error("invalid type");let c=i||oa.randomBytes,u=a?255:448,d=a?32:56,l=BigInt(a?9:5),m=BigInt(a?121665:39081),p=a?c_**BigInt(254):c_**BigInt(447),g=a?BigInt(8)*c_**BigInt(251)-wp:BigInt(4)*c_**BigInt(445)-wp,E=p+g+wp,x=w=>(0,dee.mod)(w,n),S=N(l);function N(w){return(0,oa.numberToBytesLE)(x(w),d)}function C(w){let f=(0,oa.ensureBytes)("u coordinate",w,d);return a&&(f[31]&=127),x((0,oa.bytesToNumberLE)(f))}function v(w){return(0,oa.bytesToNumberLE)(o((0,oa.ensureBytes)("scalar",w,d)))}function D(w,f){let y=V(C(f),v(w));if(y===vh)throw new Error("invalid private or public key received");return N(y)}function F(w){return D(w,S)}function U(w,f,y){let A=x(w*(f-y));return f=x(f-A),y=x(y+A),{x_2:f,x_3:y}}function V(w,f){(0,oa.aInRange)("u",w,vh,n),(0,oa.aInRange)("scalar",f,p,E);let y=f,A=w,T=wp,I=vh,k=w,P=wp,O=vh;for(let L=BigInt(u-1);L>=vh;L--){let ce=y>>L℘O^=ce,{x_2:T,x_3:k}=U(O,T,k),{x_2:I,x_3:P}=U(O,I,P),O=ce;let R=T+I,K=x(R*R),J=T-I,re=x(J*J),ae=K-re,me=k+P,he=k-P,pe=x(he*R),ct=x(me*J),_e=pe+ct,Ne=pe-ct;k=x(_e*_e),P=x(A*x(Ne*Ne)),T=x(K*re),I=x(ae*(K+x(m*ae)))}({x_2:T,x_3:k}=U(O,T,k)),{x_2:I,x_3:P}=U(O,I,P);let _=s(I);return x(T*_)}let $={secretKey:d,publicKey:d,seed:d},z=(w=c(d))=>((0,oa.abytes)(w,$.seed),w);function W(w){let f=z(w);return{secretKey:f,publicKey:F(f)}}return{keygen:W,getSharedSecret:(w,f)=>D(w,f),getPublicKey:w=>F(w),scalarMult:D,scalarMultBase:F,utils:{randomSecretKey:z,randomPrivateKey:z},GuBytes:S.slice(),lengths:$}}});var U8=Xe(Ke=>{"use strict";Object.defineProperty(Ke,"__esModule",{value:!0});Ke.hash_to_ristretto255=Ke.hashToRistretto255=Ke.encodeToCurve=Ke.hashToCurve=Ke.RistrettoPoint=Ke.edwardsToMontgomery=Ke.ED25519_TORSION_SUBGROUP=Ke.ristretto255_hasher=Ke.ristretto255=Ke.ed25519_hasher=Ke.x25519=Ke.ed25519ph=Ke.ed25519ctx=Ke.ed25519=void 0;Ke.edwardsToMontgomeryPub=F8;Ke.edwardsToMontgomeryPriv=Ree;var Ih=t_(),d_=ea(),pee=i_(),f_=x8(),u_=$T(),Ct=bu(),mee=v8(),Al=nc(),hee=BigInt(0),sa=BigInt(1),l_=BigInt(2),O8=BigInt(3),k8=BigInt(5),WT=BigInt(8),rc=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed"),Ch={p:rc,n:BigInt("0x1000000000000000000000000000000014def9dea2f79cd65812631a5cf5d3ed"),h:WT,a:BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec"),d:BigInt("0x52036cee2b6ffe738cc740797779e89800700a4d4141d8ab75eb4dca135978a3"),Gx:BigInt("0x216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a"),Gy:BigInt("0x6666666666666666666666666666666666666666666666666666666666666658")};function D8(e){let t=BigInt(10),n=BigInt(20),r=BigInt(40),o=BigInt(80),s=rc,a=e*e%s*e%s,c=(0,Ct.pow2)(a,l_,s)*a%s,u=(0,Ct.pow2)(c,sa,s)*e%s,d=(0,Ct.pow2)(u,k8,s)*u%s,l=(0,Ct.pow2)(d,t,s)*d%s,m=(0,Ct.pow2)(l,n,s)*l%s,p=(0,Ct.pow2)(m,r,s)*m%s,g=(0,Ct.pow2)(p,o,s)*p%s,E=(0,Ct.pow2)(g,o,s)*p%s,x=(0,Ct.pow2)(E,t,s)*d%s;return{pow_p_5_8:(0,Ct.pow2)(x,l_,s)*e%s,b2:a}}function B8(e){return e[0]&=248,e[31]&=127,e[31]|=64,e}var VT=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752");function qT(e,t){let n=rc,r=(0,Ct.mod)(t*t*t,n),o=(0,Ct.mod)(r*r*t,n),s=D8(e*o).pow_p_5_8,i=(0,Ct.mod)(e*r*s,n),a=(0,Ct.mod)(t*i*i,n),c=i,u=(0,Ct.mod)(i*VT,n),d=a===e,l=a===(0,Ct.mod)(-e,n),m=a===(0,Ct.mod)(-e*VT,n);return d&&(i=c),(l||m)&&(i=u),(0,Ct.isNegativeLE)(i,n)&&(i=(0,Ct.mod)(-i,n)),{isValid:d||l,value:i}}var xe=(0,Ct.Field)(Ch.p,{isLE:!0}),P8=(0,Ct.Field)(Ch.n,{isLE:!0}),KT={...Ch,Fp:xe,hash:Ih.sha512,adjustScalarBytes:B8,uvRatio:qT};Ke.ed25519=(0,f_.twistedEdwards)(KT);function L8(e,t,n){if(t.length>255)throw new Error("Context is too big");return(0,d_.concatBytes)((0,d_.utf8ToBytes)("SigEd25519 no Ed25519 collisions"),new Uint8Array([n?1:0,t.length]),t,e)}Ke.ed25519ctx=(0,f_.twistedEdwards)({...KT,domain:L8});Ke.ed25519ph=(0,f_.twistedEdwards)(Object.assign({},KT,{domain:L8,prehash:Ih.sha512}));Ke.x25519=(()=>{let e=xe.ORDER;return(0,mee.montgomery)({P:e,type:"x25519",powPminus2:t=>{let{pow_p_5_8:n,b2:r}=D8(t);return(0,Ct.mod)((0,Ct.pow2)(n,O8,e)*r,e)},adjustScalarBytes:B8})})();var yee=(rc+O8)/WT,bee=xe.pow(l_,yee),I8=xe.sqrt(xe.neg(xe.ONE));function gee(e){let t=(rc-k8)/WT,n=BigInt(486662),r=xe.sqr(e);r=xe.mul(r,l_);let o=xe.add(r,xe.ONE),s=xe.neg(n),i=xe.sqr(o),a=xe.mul(i,o),c=xe.mul(r,n);c=xe.mul(c,s),c=xe.add(c,i),c=xe.mul(c,s);let u=xe.sqr(a);i=xe.sqr(u),u=xe.mul(u,a),u=xe.mul(u,c),i=xe.mul(i,u);let d=xe.pow(i,t);d=xe.mul(d,u);let l=xe.mul(d,I8);i=xe.sqr(d),i=xe.mul(i,a);let m=xe.eql(i,c),p=xe.cmov(l,d,m),g=xe.mul(s,r),E=xe.mul(d,e);E=xe.mul(E,bee);let x=xe.mul(E,I8),S=xe.mul(c,r);i=xe.sqr(E),i=xe.mul(i,a);let N=xe.eql(i,S),C=xe.cmov(x,E,N);i=xe.sqr(p),i=xe.mul(i,a);let v=xe.eql(i,c),D=xe.cmov(g,s,v),F=xe.cmov(C,p,v),U=xe.isOdd(F);return F=xe.cmov(F,xe.neg(F),v!==U),{xMn:D,xMd:o,yMn:F,yMd:sa}}var _ee=(0,Ct.FpSqrtEven)(xe,xe.neg(BigInt(486664)));function Aee(e){let{xMn:t,xMd:n,yMn:r,yMd:o}=gee(e),s=xe.mul(t,o);s=xe.mul(s,_ee);let i=xe.mul(n,r),a=xe.sub(t,n),c=xe.add(t,n),u=xe.mul(i,c),d=xe.eql(u,xe.ZERO);s=xe.cmov(s,xe.ZERO,d),i=xe.cmov(i,xe.ONE,d),a=xe.cmov(a,xe.ONE,d),c=xe.cmov(c,xe.ONE,d);let[l,m]=(0,Ct.FpInvertBatch)(xe,[i,c],!0);return{x:xe.mul(s,l),y:xe.mul(a,m)}}Ke.ed25519_hasher=(0,u_.createHasher)(Ke.ed25519.Point,e=>Aee(e[0]),{DST:"edwards25519_XMD:SHA-512_ELL2_RO_",encodeDST:"edwards25519_XMD:SHA-512_ELL2_NU_",p:rc,m:1,k:128,expand:"xmd",hash:Ih.sha512});var jT=VT,Eee=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),xee=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),wee=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),Tee=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952"),C8=e=>qT(sa,e),See=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),GT=e=>Ke.ed25519.Point.Fp.create((0,Al.bytesToNumberLE)(e)&See);function N8(e){let{d:t}=Ch,n=rc,r=S=>xe.create(S),o=r(jT*e*e),s=r((o+sa)*wee),i=BigInt(-1),a=r((i-t*o)*r(o+t)),{isValid:c,value:u}=qT(s,a),d=r(u*e);(0,Ct.isNegativeLE)(d,n)||(d=r(-d)),c||(u=d),c||(i=o);let l=r(i*(o-sa)*Tee-a),m=u*u,p=r((u+u)*a),g=r(l*Eee),E=r(sa-m),x=r(sa+m);return new Ke.ed25519.Point(r(p*x),r(E*g),r(g*x),r(p*E))}function M8(e){(0,d_.abytes)(e,64);let t=GT(e.subarray(0,32)),n=N8(t),r=GT(e.subarray(32,64)),o=N8(r);return new wi(n.add(o))}var wi=class e extends f_.PrimeEdwardsPoint{constructor(t){super(t)}static fromAffine(t){return new e(Ke.ed25519.Point.fromAffine(t))}assertSame(t){if(!(t instanceof e))throw new Error("RistrettoPoint expected")}init(t){return new e(t)}static hashToCurve(t){return M8((0,Al.ensureBytes)("ristrettoHash",t,64))}static fromBytes(t){(0,d_.abytes)(t,32);let{a:n,d:r}=Ch,o=rc,s=v=>xe.create(v),i=GT(t);if(!(0,Al.equalBytes)(xe.toBytes(i),t)||(0,Ct.isNegativeLE)(i,o))throw new Error("invalid ristretto255 encoding 1");let a=s(i*i),c=s(sa+n*a),u=s(sa-n*a),d=s(c*c),l=s(u*u),m=s(n*r*d-l),{isValid:p,value:g}=C8(s(m*l)),E=s(g*u),x=s(g*E*m),S=s((i+i)*E);(0,Ct.isNegativeLE)(S,o)&&(S=s(-S));let N=s(c*x),C=s(S*N);if(!p||(0,Ct.isNegativeLE)(C,o)||N===hee)throw new Error("invalid ristretto255 encoding 2");return new e(new Ke.ed25519.Point(S,N,sa,C))}static fromHex(t){return e.fromBytes((0,Al.ensureBytes)("ristrettoHex",t,32))}static msm(t,n){return(0,pee.pippenger)(e,Ke.ed25519.Point.Fn,t,n)}toBytes(){let{X:t,Y:n,Z:r,T:o}=this.ep,s=rc,i=x=>xe.create(x),a=i(i(r+n)*i(r-n)),c=i(t*n),u=i(c*c),{value:d}=C8(i(a*u)),l=i(d*a),m=i(d*c),p=i(l*m*o),g;if((0,Ct.isNegativeLE)(o*p,s)){let x=i(n*jT),S=i(t*jT);t=x,n=S,g=i(l*xee)}else g=m;(0,Ct.isNegativeLE)(t*p,s)&&(n=i(-n));let E=i((r-n)*g);return(0,Ct.isNegativeLE)(E,s)&&(E=i(-E)),xe.toBytes(E)}equals(t){this.assertSame(t);let{X:n,Y:r}=this.ep,{X:o,Y:s}=t.ep,i=u=>xe.create(u),a=i(n*s)===i(r*o),c=i(r*s)===i(n*o);return a||c}is0(){return this.equals(e.ZERO)}};wi.BASE=new wi(Ke.ed25519.Point.BASE);wi.ZERO=new wi(Ke.ed25519.Point.ZERO);wi.Fp=xe;wi.Fn=P8;Ke.ristretto255={Point:wi};Ke.ristretto255_hasher={hashToCurve(e,t){let n=t?.DST||"ristretto255_XMD:SHA-512_R255MAP_RO_",r=(0,u_.expand_message_xmd)(e,n,64,Ih.sha512);return M8(r)},hashToScalar(e,t={DST:u_._DST_scalar}){let n=(0,u_.expand_message_xmd)(e,t.DST,64,Ih.sha512);return P8.create((0,Al.bytesToNumberLE)(n))}};Ke.ED25519_TORSION_SUBGROUP=["0100000000000000000000000000000000000000000000000000000000000000","c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac037a","0000000000000000000000000000000000000000000000000000000000000080","26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc05","ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f","26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc85","0000000000000000000000000000000000000000000000000000000000000000","c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac03fa"];function F8(e){return Ke.ed25519.utils.toMontgomery((0,Al.ensureBytes)("pub",e))}Ke.edwardsToMontgomery=F8;function Ree(e){return Ke.ed25519.utils.toMontgomerySecret((0,Al.ensureBytes)("pub",e))}Ke.RistrettoPoint=wi;Ke.hashToCurve=Ke.ed25519_hasher.hashToCurve;Ke.encodeToCurve=Ke.ed25519_hasher.encodeToCurve;Ke.hashToRistretto255=Ke.ristretto255_hasher.hashToCurve;Ke.hash_to_ristretto255=Ke.ristretto255_hasher.hashToCurve});var z8=Xe((YT,$8)=>{var p_=_p(),ia=p_.Buffer;function H8(e,t){for(var n in e)t[n]=e[n]}ia.from&&ia.alloc&&ia.allocUnsafe&&ia.allocUnsafeSlow?$8.exports=p_:(H8(p_,YT),YT.Buffer=El);function El(e,t,n){return ia(e,t,n)}El.prototype=Object.create(ia.prototype);H8(ia,El);El.from=function(e,t,n){if(typeof e=="number")throw new TypeError("Argument must not be a number");return ia(e,t,n)};El.alloc=function(e,t,n){if(typeof e!="number")throw new TypeError("Argument must be a number");var r=ia(e);return t!==void 0?typeof n=="string"?r.fill(t,n):r.fill(t):r.fill(0),r};El.allocUnsafe=function(e){if(typeof e!="number")throw new TypeError("Argument must be a number");return ia(e)};El.allocUnsafeSlow=function(e){if(typeof e!="number")throw new TypeError("Argument must be a number");return p_.SlowBuffer(e)}});var j8=Xe((w5e,V8)=>{"use strict";var m_=z8().Buffer;function vee(e){if(e.length>=255)throw new TypeError("Alphabet too long");for(var t=new Uint8Array(256),n=0;n>>0,C=new Uint8Array(N);x!==S;){for(var v=p[x],D=0,F=N-1;(v!==0||D>>0,C[F]=v%i>>>0,v=v/i>>>0;if(v!==0)throw new Error("Non-zero carry");E=D,x++}for(var U=N-E;U!==N&&C[U]===0;)U++;for(var V=a.repeat(g);U>>0,N=new Uint8Array(S);g255)return;var v=t[C];if(v===255)return;for(var D=0,F=S-1;(v!==0||D>>0,N[F]=v%256>>>0,v=v/256>>>0;if(v!==0)throw new Error("Non-zero carry");x=D,g++}for(var U=S-x;U!==S&&N[U]===0;)U++;var V=m_.allocUnsafe(E+(S-U));V.fill(0,0,E);for(var $=E;U!==S;)V[$++]=N[U++];return V}function m(p){var g=l(p);if(g)return g;throw new Error("Non-base"+i+" character")}return{encode:d,decodeUnsafe:l,decode:m}}V8.exports=vee});var h_=Xe((T5e,G8)=>{var Iee=j8(),Cee="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";G8.exports=Iee(Cee)});var W8=Xe(aa=>{"use strict";Object.defineProperty(aa,"__esModule",{value:!0});aa.sha224=aa.SHA224=aa.sha256=aa.SHA256=void 0;var y_=t_();aa.SHA256=y_.SHA256;aa.sha256=y_.sha256;aa.SHA224=y_.SHA224;aa.sha224=y_.sha224});var q8=Xe(JT=>{"use strict";function oc(e,t,n){return t<=e&&e<=n}function E_(e){if(e===void 0)return{};if(e===Object(e))return e;throw TypeError("Could not convert argument to dictionary")}function Nee(e){for(var t=String(e),n=t.length,r=0,o=[];r57343)o.push(s);else if(56320<=s&&s<=57343)o.push(65533);else if(55296<=s&&s<=56319)if(r===n-1)o.push(65533);else{var i=e.charCodeAt(r+1);if(56320<=i&&i<=57343){var a=s&1023,c=i&1023;o.push(65536+(a<<10)+c),r+=1}else o.push(65533)}r+=1}return o}function Oee(e){for(var t="",n=0;n>10)+55296,(r&1023)+56320))}return t}var b_=-1;function XT(e){this.tokens=[].slice.call(e)}XT.prototype={endOfStream:function(){return!this.tokens.length},read:function(){return this.tokens.length?this.tokens.shift():b_},prepend:function(e){if(Array.isArray(e))for(var t=e;t.length;)this.tokens.unshift(t.pop());else this.tokens.unshift(e)},push:function(e){if(Array.isArray(e))for(var t=e;t.length;)this.tokens.push(t.shift());else this.tokens.push(e)}};var Tp=-1;function ZT(e,t){if(e)throw TypeError("Decoder error");return t||65533}var g_="utf-8";function __(e,t){if(!(this instanceof __))return new __(e,t);if(e=e!==void 0?String(e).toLowerCase():g_,e!==g_)throw new Error("Encoding not supported. Only utf-8 is supported");t=E_(t),this._streaming=!1,this._BOMseen=!1,this._decoder=null,this._fatal=!!t.fatal,this._ignoreBOM=!!t.ignoreBOM,Object.defineProperty(this,"encoding",{value:"utf-8"}),Object.defineProperty(this,"fatal",{value:this._fatal}),Object.defineProperty(this,"ignoreBOM",{value:this._ignoreBOM})}__.prototype={decode:function(t,n){var r;typeof t=="object"&&t instanceof ArrayBuffer?r=new Uint8Array(t):typeof t=="object"&&"buffer"in t&&t.buffer instanceof ArrayBuffer?r=new Uint8Array(t.buffer,t.byteOffset,t.byteLength):r=new Uint8Array(0),n=E_(n),this._streaming||(this._decoder=new kee({fatal:this._fatal}),this._BOMseen=!1),this._streaming=!!n.stream;for(var o=new XT(r),s=[],i;!o.endOfStream()&&(i=this._decoder.handler(o,o.read()),i!==Tp);)i!==null&&(Array.isArray(i)?s.push.apply(s,i):s.push(i));if(!this._streaming){do{if(i=this._decoder.handler(o,o.read()),i===Tp)break;i!==null&&(Array.isArray(i)?s.push.apply(s,i):s.push(i))}while(!o.endOfStream());this._decoder=null}return s.length&&["utf-8"].indexOf(this.encoding)!==-1&&!this._ignoreBOM&&!this._BOMseen&&(s[0]===65279?(this._BOMseen=!0,s.shift()):this._BOMseen=!0),Oee(s)}};function A_(e,t){if(!(this instanceof A_))return new A_(e,t);if(e=e!==void 0?String(e).toLowerCase():g_,e!==g_)throw new Error("Encoding not supported. Only utf-8 is supported");t=E_(t),this._streaming=!1,this._encoder=null,this._options={fatal:!!t.fatal},Object.defineProperty(this,"encoding",{value:"utf-8"})}A_.prototype={encode:function(t,n){t=t?String(t):"",n=E_(n),this._streaming||(this._encoder=new Dee(this._options)),this._streaming=!!n.stream;for(var r=[],o=new XT(Nee(t)),s;!o.endOfStream()&&(s=this._encoder.handler(o,o.read()),s!==Tp);)Array.isArray(s)?r.push.apply(r,s):r.push(s);if(!this._streaming){for(;s=this._encoder.handler(o,o.read()),s!==Tp;)Array.isArray(s)?r.push.apply(r,s):r.push(s);this._encoder=null}return new Uint8Array(r)}};function kee(e){var t=e.fatal,n=0,r=0,o=0,s=128,i=191;this.handler=function(a,c){if(c===b_&&o!==0)return o=0,ZT(t);if(c===b_)return Tp;if(o===0){if(oc(c,0,127))return c;if(oc(c,194,223))o=1,n=c-192;else if(oc(c,224,239))c===224&&(s=160),c===237&&(i=159),o=2,n=c-224;else if(oc(c,240,244))c===240&&(s=144),c===244&&(i=143),o=3,n=c-240;else return ZT(t);return n=n<<6*o,null}if(!oc(c,s,i))return n=o=r=0,s=128,i=191,a.prepend(c),ZT(t);if(s=128,i=191,r+=1,n+=c-128<<6*(o-r),r!==o)return null;var u=n;return n=o=r=0,u}}function Dee(e){var t=e.fatal;this.handler=function(n,r){if(r===b_)return Tp;if(oc(r,0,127))return r;var o,s;oc(r,128,2047)?(o=1,s=192):oc(r,2048,65535)?(o=2,s=224):oc(r,65536,1114111)&&(o=3,s=240);for(var i=[(r>>6*o)+s];o>0;){var a=r>>6*(o-1);i.push(128|a&63),o-=1}return i}}JT.TextEncoder=A_;JT.TextDecoder=__});var J8=Xe(Gt=>{"use strict";var Bee=Gt&&Gt.__createBinding||(Object.create?(function(e,t,n,r){r===void 0&&(r=n),Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[n]}})}):(function(e,t,n,r){r===void 0&&(r=n),e[r]=t[n]})),Pee=Gt&&Gt.__setModuleDefault||(Object.create?(function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}):function(e,t){e.default=t}),ca=Gt&&Gt.__decorate||function(e,t,n,r){var o=arguments.length,s=o<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,i;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(o<3?i(s):o>3?i(t,n,s):i(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s},Lee=Gt&&Gt.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var n in e)n!=="default"&&Object.hasOwnProperty.call(e,n)&&Bee(t,e,n);return Pee(t,e),t},K8=Gt&&Gt.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Gt,"__esModule",{value:!0});Gt.deserializeUnchecked=Gt.deserialize=Gt.serialize=Gt.BinaryReader=Gt.BinaryWriter=Gt.BorshError=Gt.baseDecode=Gt.baseEncode=void 0;var Au=K8(lu()),Y8=K8(h_()),Mee=Lee(q8()),Fee=typeof TextDecoder!="function"?Mee.TextDecoder:TextDecoder,Uee=new Fee("utf-8",{fatal:!0});function Hee(e){return typeof e=="string"&&(e=Buffer.from(e,"utf8")),Y8.default.encode(Buffer.from(e))}Gt.baseEncode=Hee;function $ee(e){return Buffer.from(Y8.default.decode(e))}Gt.baseDecode=$ee;var QT=1024,zr=class extends Error{constructor(t){super(t),this.fieldPath=[],this.originalMessage=t}addToFieldPath(t){this.fieldPath.splice(0,0,t),this.message=this.originalMessage+": "+this.fieldPath.join(".")}};Gt.BorshError=zr;var x_=class{constructor(){this.buf=Buffer.alloc(QT),this.length=0}maybeResize(){this.buf.length<16+this.length&&(this.buf=Buffer.concat([this.buf,Buffer.alloc(QT)]))}writeU8(t){this.maybeResize(),this.buf.writeUInt8(t,this.length),this.length+=1}writeU16(t){this.maybeResize(),this.buf.writeUInt16LE(t,this.length),this.length+=2}writeU32(t){this.maybeResize(),this.buf.writeUInt32LE(t,this.length),this.length+=4}writeU64(t){this.maybeResize(),this.writeBuffer(Buffer.from(new Au.default(t).toArray("le",8)))}writeU128(t){this.maybeResize(),this.writeBuffer(Buffer.from(new Au.default(t).toArray("le",16)))}writeU256(t){this.maybeResize(),this.writeBuffer(Buffer.from(new Au.default(t).toArray("le",32)))}writeU512(t){this.maybeResize(),this.writeBuffer(Buffer.from(new Au.default(t).toArray("le",64)))}writeBuffer(t){this.buf=Buffer.concat([Buffer.from(this.buf.subarray(0,this.length)),t,Buffer.alloc(QT)]),this.length+=t.length}writeString(t){this.maybeResize();let n=Buffer.from(t,"utf8");this.writeU32(n.length),this.writeBuffer(n)}writeFixedArray(t){this.writeBuffer(Buffer.from(t))}writeArray(t,n){this.maybeResize(),this.writeU32(t.length);for(let r of t)this.maybeResize(),n(r)}toArray(){return this.buf.subarray(0,this.length)}};Gt.BinaryWriter=x_;function ua(e,t,n){let r=n.value;n.value=function(...o){try{return r.apply(this,o)}catch(s){if(s instanceof RangeError){let i=s.code;if(["ERR_BUFFER_OUT_OF_BOUNDS","ERR_OUT_OF_RANGE"].indexOf(i)>=0)throw new zr("Reached the end of buffer when deserializing")}throw s}}}var Ro=class{constructor(t){this.buf=t,this.offset=0}readU8(){let t=this.buf.readUInt8(this.offset);return this.offset+=1,t}readU16(){let t=this.buf.readUInt16LE(this.offset);return this.offset+=2,t}readU32(){let t=this.buf.readUInt32LE(this.offset);return this.offset+=4,t}readU64(){let t=this.readBuffer(8);return new Au.default(t,"le")}readU128(){let t=this.readBuffer(16);return new Au.default(t,"le")}readU256(){let t=this.readBuffer(32);return new Au.default(t,"le")}readU512(){let t=this.readBuffer(64);return new Au.default(t,"le")}readBuffer(t){if(this.offset+t>this.buf.length)throw new zr(`Expected buffer length ${t} isn't within bounds`);let n=this.buf.slice(this.offset,this.offset+t);return this.offset+=t,n}readString(){let t=this.readU32(),n=this.readBuffer(t);try{return Uee.decode(n)}catch(r){throw new zr(`Error decoding UTF-8 string: ${r}`)}}readFixedArray(t){return new Uint8Array(this.readBuffer(t))}readArray(t){let n=this.readU32(),r=Array();for(let o=0;o{xl(e,t,s,r[0],o)});else if(r.kind!==void 0)switch(r.kind){case"option":{n==null?o.writeU8(0):(o.writeU8(1),xl(e,t,n,r.type,o));break}case"map":{o.writeU32(n.size),n.forEach((s,i)=>{xl(e,t,i,r.key,o),xl(e,t,s,r.value,o)});break}default:throw new zr(`FieldType ${r} unrecognized`)}else X8(e,n,o)}catch(s){throw s instanceof zr&&s.addToFieldPath(t),s}}function X8(e,t,n){if(typeof t.borshSerialize=="function"){t.borshSerialize(n);return}let r=e.get(t.constructor);if(!r)throw new zr(`Class ${t.constructor.name} is missing in schema`);if(r.kind==="struct")r.fields.map(([o,s])=>{xl(e,o,t[o],s,n)});else if(r.kind==="enum"){let o=t[r.field];for(let s=0;swl(e,t,n[0],r))}if(n.kind==="option")return r.readU8()?wl(e,t,n.type,r):void 0;if(n.kind==="map"){let o=new Map,s=r.readU32();for(let i=0;i=r.values.length)throw new zr(`Enum index: ${o} is out of range`);let[s,i]=r.values[o],a=wl(e,s,i,n);return new t({[s]:a})}throw new zr(`Unexpected schema kind: ${r.kind} for ${t.constructor.name}`)}function Vee(e,t,n,r=Ro){let o=new r(n),s=eS(e,t,o);if(o.offset{"use strict";Object.defineProperty(te,"__esModule",{value:!0});te.s16=te.s8=te.nu64be=te.u48be=te.u40be=te.u32be=te.u24be=te.u16be=te.nu64=te.u48=te.u40=te.u32=te.u24=te.u16=te.u8=te.offset=te.greedy=te.Constant=te.UTF8=te.CString=te.Blob=te.Boolean=te.BitField=te.BitStructure=te.VariantLayout=te.Union=te.UnionLayoutDiscriminator=te.UnionDiscriminator=te.Structure=te.Sequence=te.DoubleBE=te.Double=te.FloatBE=te.Float=te.NearInt64BE=te.NearInt64=te.NearUInt64BE=te.NearUInt64=te.IntBE=te.Int=te.UIntBE=te.UInt=te.OffsetLayout=te.GreedyCount=te.ExternalLayout=te.bindConstructorLayout=te.nameWithProperty=te.Layout=te.uint8ArrayToBuffer=te.checkUint8Array=void 0;te.constant=te.utf8=te.cstr=te.blob=te.unionLayoutDiscriminator=te.union=te.seq=te.bits=te.struct=te.f64be=te.f64=te.f32be=te.f32=te.ns64be=te.s48be=te.s40be=te.s32be=te.s24be=te.s16be=te.ns64=te.s48=te.s40=te.s32=te.s24=void 0;var nS=_p();function vp(e){if(!(e instanceof Uint8Array))throw new TypeError("b must be a Uint8Array")}te.checkUint8Array=vp;function Nt(e){return vp(e),nS.Buffer.from(e.buffer,e.byteOffset,e.length)}te.uint8ArrayToBuffer=Nt;var Pt=class{constructor(t,n){if(!Number.isInteger(t))throw new TypeError("span must be an integer");this.span=t,this.property=n}makeDestinationObject(){return{}}getSpan(t,n){if(0>this.span)throw new RangeError("indeterminate span");return this.span}replicate(t){let n=Object.create(this.constructor.prototype);return Object.assign(n,this),n.property=t,n}fromArray(t){}};te.Layout=Pt;function rS(e,t){return t.property?e+"["+t.property+"]":e}te.nameWithProperty=rS;function Gee(e,t){if(typeof e!="function")throw new TypeError("Class must be constructor");if(Object.prototype.hasOwnProperty.call(e,"layout_"))throw new Error("Class is already bound to a layout");if(!(t&&t instanceof Pt))throw new TypeError("layout must be a Layout");if(Object.prototype.hasOwnProperty.call(t,"boundConstructor_"))throw new Error("layout is already bound to a constructor");e.layout_=t,t.boundConstructor_=e,t.makeDestinationObject=(()=>new e),Object.defineProperty(e.prototype,"encode",{value(n,r){return t.encode(this,n,r)},writable:!0}),Object.defineProperty(e,"decode",{value(n,r){return t.decode(n,r)},writable:!0})}te.bindConstructorLayout=Gee;var ro=class extends Pt{isCount(){throw new Error("ExternalLayout is abstract")}};te.ExternalLayout=ro;var w_=class extends ro{constructor(t=1,n){if(!Number.isInteger(t)||0>=t)throw new TypeError("elementSpan must be a (positive) integer");super(-1,n),this.elementSpan=t}isCount(){return!0}decode(t,n=0){vp(t);let r=t.length-n;return Math.floor(r/this.elementSpan)}encode(t,n,r){return 0}};te.GreedyCount=w_;var Nh=class extends ro{constructor(t,n=0,r){if(!(t instanceof Pt))throw new TypeError("layout must be a Layout");if(!Number.isInteger(n))throw new TypeError("offset must be integer or undefined");super(t.span,r||t.property),this.layout=t,this.offset=n}isCount(){return this.layout instanceof Yo||this.layout instanceof gs}decode(t,n=0){return this.layout.decode(t,n+this.offset)}encode(t,n,r=0){return this.layout.encode(t,n,r+this.offset)}};te.OffsetLayout=Nh;var Yo=class extends Pt{constructor(t,n){if(super(t,n),6i+o.encode(a,n,r+i),0);return this.count instanceof ro&&this.count.encode(t.length,n,r),s}};te.Sequence=k_;var D_=class extends Pt{constructor(t,n,r){if(!(Array.isArray(t)&&t.reduce((s,i)=>s&&i instanceof Pt,!0)))throw new TypeError("fields must be array of Layout instances");typeof n=="boolean"&&r===void 0&&(r=n,n=void 0);for(let s of t)if(0>s.span&&s.property===void 0)throw new Error("fields cannot contain unnamed variable-length layout");let o=-1;try{o=t.reduce((s,i)=>s+i.getSpan(),0)}catch{}super(o,n),this.fields=t,this.decodePrefixes=!!r}getSpan(t,n=0){if(0<=this.span)return this.span;let r=0;try{r=this.fields.reduce((o,s)=>{let i=s.getSpan(t,n);return n+=i,o+i},0)}catch{throw new RangeError("indeterminate span")}return r}decode(t,n=0){vp(t);let r=this.makeDestinationObject();for(let o of this.fields)if(o.property!==void 0&&(r[o.property]=o.decode(t,n)),n+=o.getSpan(t,n),this.decodePrefixes&&t.length===n)break;return r}encode(t,n,r=0){let o=r,s=0,i=0;for(let a of this.fields){let c=a.span;if(i=0c&&(c=a.getSpan(n,r)))}s=r,r+=c}return s+i-o}fromArray(t){let n=this.makeDestinationObject();for(let r of this.fields)r.property!==void 0&&0r.span?n=-1:0<=n&&(n+=r.span)}}};te.Structure=D_;var Oh=class{constructor(t){this.property=t}decode(t,n){throw new Error("UnionDiscriminator is abstract")}encode(t,n,r){throw new Error("UnionDiscriminator is abstract")}};te.UnionDiscriminator=Oh;var Rp=class extends Oh{constructor(t,n){if(!(t instanceof ro&&t.isCount()))throw new TypeError("layout must be an unsigned integer ExternalLayout");super(n||t.property||"variant"),this.layout=t}decode(t,n){return this.layout.decode(t,n)}encode(t,n,r){return this.layout.encode(t,n,r)}};te.UnionLayoutDiscriminator=Rp;var kh=class extends Pt{constructor(t,n,r){let o;if(t instanceof Yo||t instanceof gs)o=new Rp(new Nh(t));else if(t instanceof ro&&t.isCount())o=new Rp(t);else if(t instanceof Oh)o=t;else throw new TypeError("discr must be a UnionDiscriminator or an unsigned integer layout");if(n===void 0&&(n=null),!(n===null||n instanceof Pt))throw new TypeError("defaultLayout must be null or a Layout");if(n!==null){if(0>n.span)throw new Error("defaultLayout must have constant span");n.property===void 0&&(n=n.replicate("content"))}let s=-1;n&&(s=n.span,0<=s&&(t instanceof Yo||t instanceof gs)&&(s+=o.layout.span)),super(s,r),this.discriminator=o,this.usesPrefixDiscriminator=t instanceof Yo||t instanceof gs,this.defaultLayout=n,this.registry={};let i=this.defaultGetSourceVariant.bind(this);this.getSourceVariant=function(a){return i(a)},this.configGetSourceVariant=function(a){i=a.bind(this)}}getSpan(t,n=0){if(0<=this.span)return this.span;let r=this.getVariant(t,n);if(!r)throw new Error("unable to determine span for unrecognized variant");return r.getSpan(t,n)}defaultGetSourceVariant(t){if(Object.prototype.hasOwnProperty.call(t,this.discriminator.property)){if(this.defaultLayout&&this.defaultLayout.property&&Object.prototype.hasOwnProperty.call(t,this.defaultLayout.property))return;let n=this.registry[t[this.discriminator.property]];if(n&&(!n.layout||n.property&&Object.prototype.hasOwnProperty.call(t,n.property)))return n}else for(let n in this.registry){let r=this.registry[n];if(r.property&&Object.prototype.hasOwnProperty.call(t,r.property))return r}throw new Error("unable to infer src variant")}decode(t,n=0){let r,o=this.discriminator,s=o.decode(t,n),i=this.registry[s];if(i===void 0){let a=this.defaultLayout,c=0;this.usesPrefixDiscriminator&&(c=o.layout.span),r=this.makeDestinationObject(),r[o.property]=s,r[a.property]=a.decode(t,n+c)}else r=i.decode(t,n);return r}encode(t,n,r=0){let o=this.getSourceVariant(t);if(o===void 0){let s=this.discriminator,i=this.defaultLayout,a=0;return this.usesPrefixDiscriminator&&(a=s.layout.span),s.encode(t[s.property],n,r),a+i.encode(t[i.property],n,r+a)}return o.encode(t,n,r)}addVariant(t,n,r){let o=new B_(this,t,n,r);return this.registry[t]=o,o}getVariant(t,n=0){let r;return t instanceof Uint8Array?r=this.discriminator.decode(t,n):r=t,this.registry[r]}};te.Union=kh;var B_=class extends Pt{constructor(t,n,r,o){if(!(t instanceof kh))throw new TypeError("union must be a Union");if(!Number.isInteger(n)||0>n)throw new TypeError("variant must be a (non-negative) integer");if(typeof r=="string"&&o===void 0&&(o=r,r=null),r){if(!(r instanceof Pt))throw new TypeError("layout must be a Layout");if(t.defaultLayout!==null&&0<=r.span&&r.span>t.defaultLayout.span)throw new Error("variant span exceeds span of containing union");if(typeof o!="string")throw new TypeError("variant must have a String property")}let s=t.span;0>t.span&&(s=r?r.span:0,0<=s&&t.usesPrefixDiscriminator&&(s+=t.discriminator.layout.span)),super(s,o),this.union=t,this.variant=n,this.layout=r||null}getSpan(t,n=0){if(0<=this.span)return this.span;let r=0;this.union.usesPrefixDiscriminator&&(r=this.union.discriminator.layout.span);let o=0;return this.layout&&(o=this.layout.getSpan(t,n+r)),r+o}decode(t,n=0){let r=this.makeDestinationObject();if(this!==this.union.getVariant(t,n))throw new Error("variant mismatch");let o=0;return this.union.usesPrefixDiscriminator&&(o=this.union.discriminator.layout.span),this.layout?r[this.property]=this.layout.decode(t,n+o):this.property?r[this.property]=!0:this.union.usesPrefixDiscriminator&&(r[this.union.discriminator.property]=this.variant),r}encode(t,n,r=0){let o=0;if(this.union.usesPrefixDiscriminator&&(o=this.union.discriminator.layout.span),this.layout&&!Object.prototype.hasOwnProperty.call(t,this.property))throw new TypeError("variant lacks property "+this.property);this.union.discriminator.encode(this.variant,n,r);let s=o;if(this.layout&&(this.layout.encode(t[this.property],n,r+o),s+=this.layout.getSpan(n,r+o),0<=this.union.span&&s>this.union.span))throw new Error("encoded variant overruns containing union");return s}fromArray(t){if(this.layout)return this.layout.fromArray(t)}};te.VariantLayout=B_;function Sp(e){return 0>e&&(e+=4294967296),e}var Dh=class extends Pt{constructor(t,n,r){if(!(t instanceof Yo||t instanceof gs))throw new TypeError("word must be a UInt or UIntBE layout");if(typeof n=="string"&&r===void 0&&(r=n,n=!1),4=n)throw new TypeError("bits must be positive integer");let o=8*t.span,s=t.fields.reduce((i,a)=>i+a.bits,0);if(n+s>o)throw new Error("bits too long for span remainder ("+(o-s)+" of "+o+" remain)");this.container=t,this.bits=n,this.valueMask=(1<>>this.start}encode(t){if(typeof t!="number"||!Number.isInteger(t)||t!==Sp(t&this.valueMask))throw new TypeError(rS("BitField.encode",this)+" value must be integer not exceeding "+this.valueMask);let n=this.container._packedGetValue(),r=Sp(t<r&&(r=this.length.decode(t,n)),r}decode(t,n=0){let r=this.span;return 0>r&&(r=this.length.decode(t,n)),Nt(t).slice(n,n+r)}encode(t,n,r){let o=this.length;if(this.length instanceof ro&&(o=t.length),!(t instanceof Uint8Array&&o===t.length))throw new TypeError(rS("Blob.encode",this)+" requires (length "+o+") Uint8Array as src");if(r+o>n.length)throw new RangeError("encoding overruns Uint8Array");let s=Nt(t);return Nt(n).write(s.toString("hex"),r,o,"hex"),this.length instanceof ro&&this.length.encode(o,n,r),o}};te.Blob=L_;var M_=class extends Pt{constructor(t){super(-1,t)}getSpan(t,n=0){vp(t);let r=n;for(;rn.length)throw new RangeError("encoding overruns Buffer");let i=Nt(n);return o.copy(i,r),i[r+s]=0,s+1}};te.CString=M_;var F_=class extends Pt{constructor(t,n){if(typeof t=="string"&&n===void 0&&(n=t,t=void 0),t===void 0)t=-1;else if(!Number.isInteger(t))throw new TypeError("maxSpan must be an integer");super(-1,n),this.maxSpan=t}getSpan(t,n=0){return vp(t),t.length-n}decode(t,n=0){let r=this.getSpan(t,n);if(0<=this.maxSpan&&this.maxSpann.length)throw new RangeError("encoding overruns Buffer");return o.copy(Nt(n),r),s}};te.UTF8=F_;var U_=class extends Pt{constructor(t,n){super(0,n),this.value=t}decode(t,n){return this.value}encode(t,n,r){return 0}};te.Constant=U_;te.greedy=((e,t)=>new w_(e,t));te.offset=((e,t,n)=>new Nh(e,t,n));te.u8=(e=>new Yo(1,e));te.u16=(e=>new Yo(2,e));te.u24=(e=>new Yo(3,e));te.u32=(e=>new Yo(4,e));te.u40=(e=>new Yo(5,e));te.u48=(e=>new Yo(6,e));te.nu64=(e=>new T_(e));te.u16be=(e=>new gs(2,e));te.u24be=(e=>new gs(3,e));te.u32be=(e=>new gs(4,e));te.u40be=(e=>new gs(5,e));te.u48be=(e=>new gs(6,e));te.nu64be=(e=>new S_(e));te.s8=(e=>new sc(1,e));te.s16=(e=>new sc(2,e));te.s24=(e=>new sc(3,e));te.s32=(e=>new sc(4,e));te.s40=(e=>new sc(5,e));te.s48=(e=>new sc(6,e));te.ns64=(e=>new R_(e));te.s16be=(e=>new Eu(2,e));te.s24be=(e=>new Eu(3,e));te.s32be=(e=>new Eu(4,e));te.s40be=(e=>new Eu(5,e));te.s48be=(e=>new Eu(6,e));te.ns64be=(e=>new v_(e));te.f32=(e=>new I_(e));te.f32be=(e=>new C_(e));te.f64=(e=>new N_(e));te.f64be=(e=>new O_(e));te.struct=((e,t,n)=>new D_(e,t,n));te.bits=((e,t,n)=>new Dh(e,t,n));te.seq=((e,t,n)=>new k_(e,t,n));te.union=((e,t,n)=>new kh(e,t,n));te.unionLayoutDiscriminator=((e,t)=>new Rp(e,t));te.blob=((e,t)=>new L_(e,t));te.cstr=(e=>new M_(e));te.utf8=((e,t)=>new F_(e,t));te.constant=((e,t)=>new U_(e,t))});var CS=Xe(H=>{"use strict";var e4=1,t4=2,n4=3,r4=4,o4=5,s4=6,i4=7,a4=8,c4=9,oS=10,sS=-32700,iS=-32603,aS=-32602,cS=-32601,uS=-32600,u4=-32019,d4=-32018,l4=-32017,f4=-32016,dS=-32015,lS=-32014,p4=-32013,fS=-32012,m4=-32011,pS=-32010,mS=-32009,h4=-32008,hS=-32007,yS=-32006,y4=-32005,bS=-32004,b4=-32003,Lh=-32002,gS=-32001,g4=28e5,_4=2800001,A4=2800002,E4=2800003,x4=2800004,w4=2800005,T4=2800006,S4=2800007,R4=2800008,v4=2800009,I4=2800010,C4=2800011,N4=323e4,O4=32300001,k4=3230002,D4=3230003,B4=3230004,P4=361e4,L4=3610001,M4=3610002,F4=3610003,U4=3610004,H4=3610005,$4=3610006,z4=3610007,V4=3611e3,j4=3704e3,G4=3704001,W4=3704002,q4=3704003,K4=3704004,Y4=4128e3,Z4=4128001,X4=4128002,_S=4615e3,J4=4615001,Q4=4615002,ek=4615003,tk=4615004,nk=4615005,rk=4615006,ok=4615007,sk=4615008,ik=4615009,ak=4615010,ck=4615011,uk=4615012,dk=4615013,lk=4615014,fk=4615015,pk=4615016,mk=4615017,hk=4615018,yk=4615019,bk=4615020,gk=4615021,_k=4615022,Ak=4615023,Ek=4615024,xk=4615025,AS=4615026,wk=4615027,Tk=4615028,Sk=4615029,Rk=4615030,vk=4615031,Ik=4615032,Ck=4615033,Nk=4615034,Ok=4615035,kk=4615036,Dk=4615037,Bk=4615038,Pk=4615039,Lk=4615040,Mk=4615041,Fk=4615042,Uk=4615043,Hk=4615044,$k=4615045,zk=4615046,Vk=4615047,jk=4615048,Gk=4615049,Wk=4615050,qk=4615051,Kk=4615052,Yk=4615053,Zk=4615054,Xk=5508e3,Jk=5508001,Qk=5508002,eD=5508003,tD=5508004,nD=5508005,rD=5508006,oD=5508007,sD=5508008,iD=5508009,aD=5508010,cD=5508011,uD=5607e3,dD=5607001,lD=5607002,fD=5607003,pD=5607004,mD=5607005,hD=5607006,yD=5607007,bD=5607008,gD=5607009,_D=5607010,AD=5607011,ED=5607012,xD=5607013,wD=5607014,TD=5607015,SD=5607016,RD=5607017,vD=5663e3,ID=5663001,CD=5663002,ND=5663003,OD=5663004,kD=5663005,DD=5663006,BD=5663007,PD=5663008,LD=5663009,MD=5663010,FD=5663011,UD=5663012,HD=5663013,$D=5663014,zD=5663015,VD=5663016,jD=5663017,GD=5663018,ES=5663019,WD=5663020,qD=5663021,KD=5663022,xS=705e4,YD=7050001,ZD=7050002,XD=7050003,JD=7050004,QD=7050005,eB=7050006,tB=7050007,nB=7050008,rB=7050009,oB=7050010,sB=7050011,iB=7050012,aB=7050013,cB=7050014,uB=7050015,dB=7050016,lB=7050017,fB=7050018,pB=7050019,mB=7050020,hB=7050021,yB=7050022,bB=7050023,gB=7050024,_B=7050025,AB=7050026,EB=7050027,xB=7050028,wB=7050029,wS=7050030,TS=7050031,TB=7050032,SB=7050033,RB=7050034,SS=7050035,vB=7050036,IB=7618e3,CB=7618001,NB=7618002,OB=7618003,kB=7618004,DB=7618005,BB=7618006,PB=7618007,LB=7618008,MB=7618009,FB=8078e3,UB=8078001,HB=8078002,$B=8078003,zB=8078004,VB=8078005,jB=8078006,GB=8078007,WB=8078008,qB=8078009,KB=8078010,YB=8078011,ZB=8078012,XB=8078013,JB=8078014,QB=8078015,eP=8078016,tP=8078017,nP=8078018,rP=8078019,oP=8078020,sP=8078021,iP=8078022,aP=8078023,cP=81e5,uP=8100001,dP=8100002,lP=8100003,fP=819e4,pP=8190001,mP=8190002,hP=8190003,yP=8190004,bP=99e5,gP=9900001,_P=9900002,AP=9900003,EP=9900004,xP=9900005,wP=9900006;function TP(e){return Array.isArray(e)?"%5B"+e.map(TP).join("%2C%20")+"%5D":typeof e=="bigint"?`${e}n`:encodeURIComponent(String(e!=null&&Object.getPrototypeOf(e)===null?{...e}:e))}function Wee([e,t]){return`${e}=${TP(t)}`}function qee(e){let t=Object.entries(e).map(Wee).join("&");return btoa(t)}var C5e={[N4]:"Account not found at address: $address",[B4]:"Not all accounts were decoded. Encoded accounts found at addresses: $addresses.",[D4]:"Expected decoded account at address: $address",[k4]:"Failed to decode account data at address: $address",[O4]:"Accounts not found at addresses: $addresses",[v4]:"Unable to find a viable program address bump seed.",[A4]:"$putativeAddress is not a base58-encoded address.",[g4]:"Expected base58 encoded address to decode to a byte array of length 32. Actual length: $actualLength.",[E4]:"The `CryptoKey` must be an `Ed25519` public key.",[C4]:"$putativeOffCurveAddress is not a base58-encoded off-curve address.",[R4]:"Invalid seeds; point must fall off the Ed25519 curve.",[x4]:"Expected given program derived address to have the following format: [Address, ProgramDerivedAddressBump].",[T4]:"A maximum of $maxSeeds seeds, including the bump seed, may be supplied when creating an address. Received: $actual.",[S4]:"The seed at index $index with length $actual exceeds the maximum length of $maxSeedLength bytes.",[w4]:"Expected program derived address bump to be in the range [0, 255], got: $bump.",[I4]:"Program address cannot end with PDA marker.",[_4]:"Expected base58-encoded address string of length in the range [32, 44]. Actual length: $actualLength.",[r4]:"Expected base58-encoded blockash string of length in the range [32, 44]. Actual length: $actualLength.",[e4]:"The network has progressed past the last block for which this transaction could have been committed.",[FB]:"Codec [$codecDescription] cannot decode empty byte arrays.",[iP]:"Enum codec cannot use lexical values [$stringValues] as discriminators. Either remove all lexical values or set `useValuesAsDiscriminators` to `false`.",[oP]:"Sentinel [$hexSentinel] must not be present in encoded bytes [$hexEncodedBytes].",[VB]:"Encoder and decoder must have the same fixed size, got [$encoderFixedSize] and [$decoderFixedSize].",[jB]:"Encoder and decoder must have the same max size, got [$encoderMaxSize] and [$decoderMaxSize].",[zB]:"Encoder and decoder must either both be fixed-size or variable-size.",[WB]:"Enum discriminator out of range. Expected a number in [$formattedValidDiscriminators], got $discriminator.",[HB]:"Expected a fixed-size codec, got a variable-size one.",[XB]:"Codec [$codecDescription] expected a positive byte length, got $bytesLength.",[$B]:"Expected a variable-size codec, got a fixed-size one.",[rP]:"Codec [$codecDescription] expected zero-value [$hexZeroValue] to have the same size as the provided fixed-size item [$expectedSize bytes].",[UB]:"Codec [$codecDescription] expected $expected bytes, got $bytesLength.",[nP]:"Expected byte array constant [$hexConstant] to be present in data [$hexData] at offset [$offset].",[qB]:"Invalid discriminated union variant. Expected one of [$variants], got $value.",[KB]:"Invalid enum variant. Expected one of [$stringValues] or a number in [$formattedNumericalValues], got $variant.",[QB]:"Invalid literal union variant. Expected one of [$variants], got $value.",[GB]:"Expected [$codecDescription] to have $expected items, got $actual.",[ZB]:"Invalid value $value for base $base with alphabet $alphabet.",[eP]:"Literal union discriminator out of range. Expected a number between $minRange and $maxRange, got $discriminator.",[YB]:"Codec [$codecDescription] expected number to be in the range [$min, $max], got $value.",[JB]:"Codec [$codecDescription] expected offset to be in the range [0, $bytesLength], got $offset.",[sP]:"Expected sentinel [$hexSentinel] to be present in decoded bytes [$hexDecodedBytes].",[tP]:"Union variant out of range. Expected an index between $minRange and $maxRange, got $variant.",[aP]:"This decoder expected a byte array of exactly $expectedLength bytes, but $numExcessBytes unexpected excess bytes remained after decoding. Are you sure that you have chosen the correct decoder for this data?",[V4]:"No random values implementation could be found.",[ik]:"instruction requires an uninitialized account",[Ak]:"instruction tries to borrow reference for an account which is already borrowed",[Ek]:"instruction left account with an outstanding borrowed reference",[gk]:"program other than the account's owner changed the size of the account data",[nk]:"account data too small for instruction",[_k]:"instruction expected an executable account",[zk]:"An account does not have enough lamports to be rent-exempt",[jk]:"Program arithmetic overflowed",[$k]:"Failed to serialize or deserialize account data: $encodedData",[Zk]:"Builtin programs must consume compute units",[Ik]:"Cross-program invocation call depth too deep",[Bk]:"Computational budget exceeded",[AS]:"custom program error: #$code",[mk]:"instruction contains duplicate accounts",[xk]:"instruction modifications of multiply-passed account differ",[Rk]:"executable accounts must be rent exempt",[Tk]:"instruction changed executable accounts data",[Sk]:"instruction changed the balance of an executable account",[hk]:"instruction changed executable bit of an account",[lk]:"instruction modified data of an account it does not own",[dk]:"instruction spent from the balance of an account it does not own",[J4]:"generic instruction error",[Wk]:"Provided owner is not allowed",[Uk]:"Account is immutable",[Hk]:"Incorrect authority provided",[ok]:"incorrect program id for instruction",[rk]:"insufficient funds for instruction",[tk]:"invalid account data for instruction",[Vk]:"Invalid account owner",[Q4]:"invalid program argument",[wk]:"program returned invalid error code",[ek]:"invalid instruction data",[Dk]:"Failed to reallocate account data",[kk]:"Provided seeds do not result in a valid address",[qk]:"Accounts data allocations exceeded the maximum allowed per transaction",[Kk]:"Max accounts exceeded",[Yk]:"Max instruction trace length exceeded",[Ok]:"Length of the seed is too long for address generation",[Ck]:"An account required by the instruction is missing",[sk]:"missing required signature for instruction",[uk]:"instruction illegally modified the program id of an account",[bk]:"insufficient account keys for instruction",[Pk]:"Cross-program invocation with unauthorized signer or writable account",[Lk]:"Failed to create program execution environment",[Fk]:"Program failed to compile",[Mk]:"Program failed to complete",[pk]:"instruction modified data of a read-only account",[fk]:"instruction changed the balance of a read-only account",[Nk]:"Cross-program invocation reentrancy not allowed for this instruction",[yk]:"instruction modified rent epoch of an account",[ck]:"sum of account balances before and after instruction do not match",[ak]:"instruction requires an initialized account",[_S]:"",[vk]:"Unsupported program id",[Gk]:"Unsupported sysvar",[xP]:"Invalid instruction plan kind: $kind.",[NB]:"The provided instruction plan is empty.",[DB]:"No failed transaction plan result was found in the provided transaction plan result.",[kB]:"This transaction plan executor does not support non-divisible sequential plans. To support them, you may create your own executor such that multi-transaction atomicity is preserved \u2014 e.g. by targetting RPCs that support transaction bundles.",[OB]:"The provided transaction plan failed to execute. See the `transactionPlanResult` attribute for more details. Note that the `cause` property is deprecated, and a future version will not set it.",[IB]:"The provided message has insufficient capacity to accommodate the next instruction(s) in this plan. Expected at least $numBytesRequired free byte(s), got $numFreeBytes byte(s).",[wP]:"Invalid transaction plan kind: $kind.",[CB]:"No more instructions to pack; the message packer has completed the instruction plan.",[BB]:"Unexpected instruction plan. Expected $expectedKind plan, got $actualKind plan.",[PB]:"Unexpected transaction plan. Expected $expectedKind plan, got $actualKind plan.",[LB]:"Unexpected transaction plan result. Expected $expectedKind plan, got $actualKind plan.",[MB]:"Expected a successful transaction plan result. I.e. there is at least one failed or cancelled transaction in the plan.",[Y4]:"The instruction does not have any accounts.",[Z4]:"The instruction does not have any data.",[X4]:"Expected instruction to have progress address $expectedProgramAddress, got $actualProgramAddress.",[o4]:"Expected base58 encoded blockhash to decode to a byte array of length 32. Actual length: $actualLength.",[t4]:"The nonce `$expectedNonceValue` is no longer valid. It has advanced to `$actualNonceValue`",[_P]:"Invariant violation: Found no abortable iterable cache entry for key `$cacheKey`. It should be impossible to hit this error; please file an issue at https://sola.na/web3invariant",[EP]:"Invariant violation: This data publisher does not publish to the channel named `$channelName`. Supported channels include $supportedChannelNames.",[gP]:"Invariant violation: WebSocket message iterator state is corrupt; iterated without first resolving existing message promise. It should be impossible to hit this error; please file an issue at https://sola.na/web3invariant",[bP]:"Invariant violation: WebSocket message iterator is missing state storage. It should be impossible to hit this error; please file an issue at https://sola.na/web3invariant",[AP]:"Invariant violation: Switch statement non-exhaustive. Received unexpected value `$unexpectedValue`. It should be impossible to hit this error; please file an issue at https://sola.na/web3invariant",[iS]:"JSON-RPC error: Internal JSON-RPC error ($__serverMessage)",[aS]:"JSON-RPC error: Invalid method parameter(s) ($__serverMessage)",[uS]:"JSON-RPC error: The JSON sent is not a valid `Request` object ($__serverMessage)",[cS]:"JSON-RPC error: The method does not exist / is not available ($__serverMessage)",[sS]:"JSON-RPC error: An error occurred on the server while parsing the JSON text ($__serverMessage)",[fS]:"$__serverMessage",[gS]:"$__serverMessage",[bS]:"$__serverMessage",[lS]:"$__serverMessage",[l4]:"Epoch rewards period still active at slot $slot",[pS]:"$__serverMessage",[mS]:"$__serverMessage",[u4]:"Failed to query long-term storage; please try again",[f4]:"Minimum context slot has not been reached",[y4]:"Node is unhealthy; behind by $numSlotsBehind slots",[h4]:"No snapshot",[Lh]:"Transaction simulation failed",[d4]:"Rewards cannot be found because slot $slot is not the epoch boundary. This may be due to gap in the queried node's local ledger or long-term storage",[hS]:"$__serverMessage",[m4]:"Transaction history is not available from this node",[yS]:"$__serverMessage",[p4]:"Transaction signature length mismatch",[b4]:"Transaction signature verification failure",[dS]:"$__serverMessage",[j4]:"Key pair bytes must be of length 64, got $byteLength.",[G4]:"Expected private key bytes with length 32. Actual length: $actualLength.",[W4]:"Expected base58-encoded signature to decode to a byte array of length 64. Actual length: $actualLength.",[K4]:"The provided private key does not match the provided public key.",[q4]:"Expected base58-encoded signature string of length in the range [64, 88]. Actual length: $actualLength.",[s4]:"Lamports value must be in the range [0, 2e64-1]",[i4]:"`$value` cannot be parsed as a `BigInt`",[oS]:"$message",[a4]:"`$value` cannot be parsed as a `Number`",[n4]:"No nonce account could be found at address `$nonceAccountAddress`",[fD]:"Expected base58 encoded application domain to decode to a byte array of length 32. Actual length: $actualLength.",[xD]:"Attempted to sign an offchain message with an address that is not a signer for it",[lD]:"Expected base58-encoded application domain string of length in the range [32, 44]. Actual length: $actualLength.",[ED]:"The signer addresses in this offchain message envelope do not match the list of required signers in the message preamble. These unexpected signers were present in the envelope: `[$unexpectedSigners]`. These required signers were missing from the envelope `[$missingSigners]`.",[uD]:"The message body provided has a byte-length of $actualBytes. The maximum allowable byte-length is $maxBytes",[yD]:"Expected message format $expectedMessageFormat, got $actualMessageFormat",[bD]:"The message length specified in the message preamble is $specifiedLength bytes. The actual length of the message is $actualLength bytes.",[gD]:"Offchain message content must be non-empty",[mD]:"Offchain message must specify the address of at least one required signer",[_D]:"Offchain message envelope must reserve space for at least one signature",[pD]:"The offchain message preamble specifies $numRequiredSignatures required signature(s), got $signaturesLength.",[TD]:"The signatories of this offchain message must be listed in lexicographical order",[SD]:"An address must be listed no more than once among the signatories of an offchain message",[AD]:"Offchain message is missing signatures for addresses: $addresses.",[RD]:"Offchain message signature verification failed. Signature mismatch for required signatories [$signatoriesWithInvalidSignatures]. Missing signatures for signatories [$signatoriesWithMissingSignatures]",[dD]:"The message body provided contains characters whose codes fall outside the allowed range. In order to ensure clear-signing compatiblity with hardware wallets, the message may only contain line feeds and characters in the range [\\x20-\\x7e].",[wD]:"Expected offchain message version $expectedVersion. Got $actualVersion.",[hD]:"This version of Kit does not support decoding offchain messages with version $unsupportedVersion. The current max supported version is 0.",[fP]:"The notification name must end in 'Notifications' and the API must supply a subscription plan creator function for the notification '$notificationName'.",[mP]:"WebSocket was closed before payload could be added to the send buffer",[hP]:"WebSocket connection closed",[yP]:"WebSocket failed to connect",[pP]:"Failed to obtain a subscription id from the server",[lP]:"Could not find an API plan for RPC method: `$method`",[cP]:"The $argumentLabel argument to the `$methodName` RPC method$optionalPathLabel was `$value`. This number is unsafe for use with the Solana JSON-RPC because it exceeds `Number.MAX_SAFE_INTEGER`.",[dP]:"HTTP error ($statusCode): $message",[uP]:"HTTP header(s) forbidden: $headers. Learn more at https://developer.mozilla.org/en-US/docs/Glossary/Forbidden_header_name.",[Xk]:"Multiple distinct signers were identified for address `$address`. Please ensure that you are using the same signer instance for each address.",[Jk]:"The provided value does not implement the `KeyPairSigner` interface",[eD]:"The provided value does not implement the `MessageModifyingSigner` interface",[tD]:"The provided value does not implement the `MessagePartialSigner` interface",[Qk]:"The provided value does not implement any of the `MessageSigner` interfaces",[rD]:"The provided value does not implement the `TransactionModifyingSigner` interface",[oD]:"The provided value does not implement the `TransactionPartialSigner` interface",[sD]:"The provided value does not implement the `TransactionSendingSigner` interface",[nD]:"The provided value does not implement any of the `TransactionSigner` interfaces",[iD]:"More than one `TransactionSendingSigner` was identified.",[aD]:"No `TransactionSendingSigner` was identified. Please provide a valid `TransactionWithSingleSendingSigner` transaction.",[cD]:"Wallet account signers do not support signing multiple messages/transactions in a single operation",[z4]:"Cannot export a non-extractable key.",[L4]:"No digest implementation could be found.",[P4]:"Cryptographic operations are only allowed in secure browser contexts. Read more here: https://developer.mozilla.org/en-US/docs/Web/Security/Secure_Contexts.",[M4]:`This runtime does not support the generation of Ed25519 key pairs. + +Install @solana/webcrypto-ed25519-polyfill and call its \`install\` function before generating keys in environments that do not support Ed25519. + +For a list of runtimes that currently support Ed25519 operations, visit https://github.com/WICG/webcrypto-secure-curves/issues/20.`,[F4]:"No signature verification implementation could be found.",[U4]:"No key generation implementation could be found.",[H4]:"No signing implementation could be found.",[$4]:"No key export implementation could be found.",[c4]:"Timestamp value must be in the range [-(2n ** 63n), (2n ** 63n) - 1]. `$value` given",[dB]:"Transaction processing left an account with an outstanding borrowed reference",[YD]:"Account in use",[ZD]:"Account loaded twice",[XD]:"Attempt to debit an account but found no record of a prior credit.",[bB]:"Transaction loads an address table account that doesn't exist",[tB]:"This transaction has already been processed",[nB]:"Blockhash not found",[rB]:"Loader call chain is too deep",[uB]:"Transactions are currently disabled due to cluster maintenance",[wS]:"Transaction contains a duplicate instruction ($index) that is not allowed",[QD]:"Insufficient funds for fee",[TS]:"Transaction results in an account ($accountIndex) with insufficient funds for rent",[eB]:"This account may not be used to pay transaction fees",[sB]:"Transaction contains an invalid account reference",[_B]:"Transaction loads an address table account with invalid data",[AB]:"Transaction address table lookup uses an invalid index",[gB]:"Transaction loads an address table account with an invalid owner",[SB]:"LoadedAccountsDataSizeLimit set for transaction must be greater than 0.",[aB]:"This program may not be used for executing instructions",[EB]:"Transaction leaves an account with a lower balance than rent-exempt minimum",[pB]:"Transaction loads a writable account that cannot be written",[TB]:"Transaction exceeded max loaded accounts data size cap",[oB]:"Transaction requires a fee but has no signature present",[JD]:"Attempt to load a program that does not exist",[SS]:"Execution of the program referenced by account at index $accountIndex is temporarily restricted.",[RB]:"ResanitizationNeeded",[cB]:"Transaction failed to sanitize accounts offsets correctly",[iB]:"Transaction did not pass signature verification",[yB]:"Transaction locked too many accounts",[vB]:"Sum of account balances before and after transaction do not match",[xS]:"The transaction failed with the error `$errorName`",[fB]:"Transaction version is unsupported",[hB]:"Transaction would exceed account data limit within the block",[wB]:"Transaction would exceed total account data limit",[mB]:"Transaction would exceed max account limit within the block",[lB]:"Transaction would exceed max Block Cost Limit",[xB]:"Transaction would exceed max Vote Cost Limit",[zD]:"Attempted to sign a transaction with an address that is not a signer for it",[MD]:"Transaction is missing an address at index: $index.",[VD]:"Transaction has no expected signers therefore it cannot be encoded",[WD]:"Transaction size $transactionSize exceeds limit of $transactionSizeLimit bytes",[CD]:"Transaction does not have a blockhash lifetime",[ND]:"Transaction is not a durable nonce transaction",[kD]:"Contents of these address lookup tables unknown: $lookupTableAddresses",[DD]:"Lookup of address at index $highestRequestedIndex failed for lookup table `$lookupTableAddress`. Highest known index is $highestKnownIndex. The lookup table may have been extended since its contents were retrieved",[PD]:"No fee payer set in CompiledTransaction",[BD]:"Could not find program address at index $index",[GD]:"Failed to estimate the compute unit consumption for this transaction message. This is likely because simulating the transaction failed. Inspect the `cause` property of this error to learn more",[ES]:"Transaction failed when it was simulated in order to estimate the compute unit consumption. The compute unit estimate provided is for a transaction that failed when simulated and may not be representative of the compute units this transaction would consume if successful. Inspect the `cause` property of this error to learn more",[FD]:"Transaction is missing a fee payer.",[UD]:"Could not determine this transaction's signature. Make sure that the transaction has been signed by its fee payer.",[$D]:"Transaction first instruction is not advance nonce account instruction.",[HD]:"Transaction with no instructions cannot be durable nonce transaction.",[vD]:"This transaction includes an address (`$programAddress`) which is both invoked and set as the fee payer. Program addresses may not pay fees",[ID]:"This transaction includes an address (`$programAddress`) which is both invoked and marked writable. Program addresses may not be writable",[jD]:"The transaction message expected the transaction to have $numRequiredSignatures signatures, got $signaturesLength.",[LD]:"Transaction is missing signatures for addresses: $addresses.",[OD]:"Transaction version must be in the range [0, 127]. `$actualVersion` given",[qD]:"This version of Kit does not support decoding transactions with version $unsupportedVersion. The current max supported version is 0.",[KD]:"The transaction has a durable nonce lifetime (with nonce `$nonce`), but the nonce account address is in a lookup table. The lifetime constraint cannot be constructed without fetching the lookup tables for the transaction."};function Kee(e,t={}){{let n=`Solana error #${e}; Decode this error by running \`npx @solana/errors decode -- ${e}`;return Object.keys(t).length&&(n+=` '${qee(t)}'`),`${n}\``}}function SP(e,t){return e instanceof Error&&e.name==="SolanaError"?t!==void 0?e.context.__code===t:!0:!1}var Ph=class extends Error{cause=this.cause;context;constructor(...[e,t]){let n,r;t&&Object.entries(Object.getOwnPropertyDescriptors(t)).forEach(([s,i])=>{s==="cause"?r={cause:i.value}:(n===void 0&&(n={__code:e}),Object.defineProperty(n,s,i))});let o=Kee(e,n);super(o,r),this.context=Object.freeze(n===void 0?{__code:e}:n),this.name="SolanaError"}};function RS(...e){"captureStackTrace"in Error&&typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(...e)}function RP({errorCodeBaseOffset:e,getErrorContext:t,orderedErrorNames:n,rpcEnumError:r},o){let s,i;typeof r=="string"?s=r:(s=Object.keys(r)[0],i=r[s]);let a=n.indexOf(s),c=e+a,u=t(c,s,i),d=new Ph(c,u);return RS(d,o),d}var Yee=["GenericError","InvalidArgument","InvalidInstructionData","InvalidAccountData","AccountDataTooSmall","InsufficientFunds","IncorrectProgramId","MissingRequiredSignature","AccountAlreadyInitialized","UninitializedAccount","UnbalancedInstruction","ModifiedProgramId","ExternalAccountLamportSpend","ExternalAccountDataModified","ReadonlyLamportChange","ReadonlyDataModified","DuplicateAccountIndex","ExecutableModified","RentEpochModified","NotEnoughAccountKeys","AccountDataSizeChanged","AccountNotExecutable","AccountBorrowFailed","AccountBorrowOutstanding","DuplicateAccountOutOfSync","Custom","InvalidError","ExecutableDataModified","ExecutableLamportChange","ExecutableAccountNotRentExempt","UnsupportedProgramId","CallDepth","MissingAccount","ReentrancyNotAllowed","MaxSeedLengthExceeded","InvalidSeeds","InvalidRealloc","ComputationalBudgetExceeded","PrivilegeEscalation","ProgramEnvironmentSetupFailure","ProgramFailedToComplete","ProgramFailedToCompile","Immutable","IncorrectAuthority","BorshIoError","AccountNotRentExempt","InvalidAccountOwner","ArithmeticOverflow","UnsupportedSysvar","IllegalOwner","MaxAccountsDataAllocationsExceeded","MaxAccountsExceeded","MaxInstructionTraceLengthExceeded","BuiltinProgramsMustConsumeComputeUnits"];function vS(e,t){let n=Number(e);return RP({errorCodeBaseOffset:4615001,getErrorContext(r,o,s){return r===_S?{errorName:o,index:n,...s!==void 0?{instructionErrorContext:s}:null}:r===AS?{code:Number(s),index:n}:{index:n}},orderedErrorNames:Yee,rpcEnumError:t},vS)}var Zee=["AccountInUse","AccountLoadedTwice","AccountNotFound","ProgramAccountNotFound","InsufficientFundsForFee","InvalidAccountForFee","AlreadyProcessed","BlockhashNotFound","CallChainTooDeep","MissingSignatureForFee","InvalidAccountIndex","SignatureFailure","InvalidProgramForExecution","SanitizeFailure","ClusterMaintenance","AccountBorrowOutstanding","WouldExceedMaxBlockCostLimit","UnsupportedVersion","InvalidWritableAccount","WouldExceedMaxAccountCostLimit","WouldExceedAccountDataBlockLimit","TooManyAccountLocks","AddressLookupTableNotFound","InvalidAddressLookupTableOwner","InvalidAddressLookupTableData","InvalidAddressLookupTableIndex","InvalidRentPayingAccount","WouldExceedMaxVoteCostLimit","WouldExceedAccountDataTotalLimit","DuplicateInstruction","InsufficientFundsForRent","MaxLoadedAccountsDataSizeExceeded","InvalidLoadedAccountsDataSizeLimit","ResanitizationNeeded","ProgramExecutionTemporarilyRestricted","UnbalancedTransaction"];function IS(e){return typeof e=="object"&&"InstructionError"in e?vS(...e.InstructionError):RP({errorCodeBaseOffset:7050001,getErrorContext(t,n,r){if(t===xS)return{errorName:n,...r!==void 0?{transactionErrorContext:r}:null};if(t===wS)return{index:Number(r)};if(t===TS||t===SS)return{accountIndex:Number(r.account_index)}},orderedErrorNames:Zee,rpcEnumError:e},IS)}function vP(e){let t;if(Xee(e)){let{code:n,data:r,message:o}=e,s=Number(n);if(s===Lh){let{err:i,...a}=r,c=i?{cause:IS(i)}:null;t=new Ph(Lh,{...a,...c})}else{let i;switch(s){case iS:case aS:case uS:case cS:case sS:case fS:case gS:case bS:case lS:case pS:case mS:case hS:case yS:case dS:i={__serverMessage:o};break;default:typeof r=="object"&&!Array.isArray(r)&&(i=r)}t=new Ph(s,i)}}else{let n=typeof e=="object"&&e!==null&&"message"in e&&typeof e.message=="string"?e.message:"Malformed JSON-RPC error with no message attribute";t=new Ph(oS,{error:e,message:n})}return RS(t,vP),t}function Xee(e){return typeof e=="object"&&e!==null&&"code"in e&&"message"in e&&(typeof e.code=="number"||typeof e.code=="bigint")&&typeof e.message=="string"}function Jee(e){let t=[Lh,ES];return SP(e)&&e.cause&&t.includes(e.context.__code)?e.cause:e}H.SOLANA_ERROR__ACCOUNTS__ACCOUNT_NOT_FOUND=N4;H.SOLANA_ERROR__ACCOUNTS__EXPECTED_ALL_ACCOUNTS_TO_BE_DECODED=B4;H.SOLANA_ERROR__ACCOUNTS__EXPECTED_DECODED_ACCOUNT=D4;H.SOLANA_ERROR__ACCOUNTS__FAILED_TO_DECODE_ACCOUNT=k4;H.SOLANA_ERROR__ACCOUNTS__ONE_OR_MORE_ACCOUNTS_NOT_FOUND=O4;H.SOLANA_ERROR__ADDRESSES__FAILED_TO_FIND_VIABLE_PDA_BUMP_SEED=v4;H.SOLANA_ERROR__ADDRESSES__INVALID_BASE58_ENCODED_ADDRESS=A4;H.SOLANA_ERROR__ADDRESSES__INVALID_BYTE_LENGTH=g4;H.SOLANA_ERROR__ADDRESSES__INVALID_ED25519_PUBLIC_KEY=E4;H.SOLANA_ERROR__ADDRESSES__INVALID_OFF_CURVE_ADDRESS=C4;H.SOLANA_ERROR__ADDRESSES__INVALID_SEEDS_POINT_ON_CURVE=R4;H.SOLANA_ERROR__ADDRESSES__MALFORMED_PDA=x4;H.SOLANA_ERROR__ADDRESSES__MAX_NUMBER_OF_PDA_SEEDS_EXCEEDED=T4;H.SOLANA_ERROR__ADDRESSES__MAX_PDA_SEED_LENGTH_EXCEEDED=S4;H.SOLANA_ERROR__ADDRESSES__PDA_BUMP_SEED_OUT_OF_RANGE=w4;H.SOLANA_ERROR__ADDRESSES__PDA_ENDS_WITH_PDA_MARKER=I4;H.SOLANA_ERROR__ADDRESSES__STRING_LENGTH_OUT_OF_RANGE=_4;H.SOLANA_ERROR__BLOCKHASH_STRING_LENGTH_OUT_OF_RANGE=r4;H.SOLANA_ERROR__BLOCK_HEIGHT_EXCEEDED=e4;H.SOLANA_ERROR__CODECS__CANNOT_DECODE_EMPTY_BYTE_ARRAY=FB;H.SOLANA_ERROR__CODECS__CANNOT_USE_LEXICAL_VALUES_AS_ENUM_DISCRIMINATORS=iP;H.SOLANA_ERROR__CODECS__ENCODED_BYTES_MUST_NOT_INCLUDE_SENTINEL=oP;H.SOLANA_ERROR__CODECS__ENCODER_DECODER_FIXED_SIZE_MISMATCH=VB;H.SOLANA_ERROR__CODECS__ENCODER_DECODER_MAX_SIZE_MISMATCH=jB;H.SOLANA_ERROR__CODECS__ENCODER_DECODER_SIZE_COMPATIBILITY_MISMATCH=zB;H.SOLANA_ERROR__CODECS__ENUM_DISCRIMINATOR_OUT_OF_RANGE=WB;H.SOLANA_ERROR__CODECS__EXPECTED_DECODER_TO_CONSUME_ENTIRE_BYTE_ARRAY=aP;H.SOLANA_ERROR__CODECS__EXPECTED_FIXED_LENGTH=HB;H.SOLANA_ERROR__CODECS__EXPECTED_POSITIVE_BYTE_LENGTH=XB;H.SOLANA_ERROR__CODECS__EXPECTED_VARIABLE_LENGTH=$B;H.SOLANA_ERROR__CODECS__EXPECTED_ZERO_VALUE_TO_MATCH_ITEM_FIXED_SIZE=rP;H.SOLANA_ERROR__CODECS__INVALID_BYTE_LENGTH=UB;H.SOLANA_ERROR__CODECS__INVALID_CONSTANT=nP;H.SOLANA_ERROR__CODECS__INVALID_DISCRIMINATED_UNION_VARIANT=qB;H.SOLANA_ERROR__CODECS__INVALID_ENUM_VARIANT=KB;H.SOLANA_ERROR__CODECS__INVALID_LITERAL_UNION_VARIANT=QB;H.SOLANA_ERROR__CODECS__INVALID_NUMBER_OF_ITEMS=GB;H.SOLANA_ERROR__CODECS__INVALID_STRING_FOR_BASE=ZB;H.SOLANA_ERROR__CODECS__LITERAL_UNION_DISCRIMINATOR_OUT_OF_RANGE=eP;H.SOLANA_ERROR__CODECS__NUMBER_OUT_OF_RANGE=YB;H.SOLANA_ERROR__CODECS__OFFSET_OUT_OF_RANGE=JB;H.SOLANA_ERROR__CODECS__SENTINEL_MISSING_IN_DECODED_BYTES=sP;H.SOLANA_ERROR__CODECS__UNION_VARIANT_OUT_OF_RANGE=tP;H.SOLANA_ERROR__CRYPTO__RANDOM_VALUES_FUNCTION_UNIMPLEMENTED=V4;H.SOLANA_ERROR__INSTRUCTION_ERROR__ACCOUNT_ALREADY_INITIALIZED=ik;H.SOLANA_ERROR__INSTRUCTION_ERROR__ACCOUNT_BORROW_FAILED=Ak;H.SOLANA_ERROR__INSTRUCTION_ERROR__ACCOUNT_BORROW_OUTSTANDING=Ek;H.SOLANA_ERROR__INSTRUCTION_ERROR__ACCOUNT_DATA_SIZE_CHANGED=gk;H.SOLANA_ERROR__INSTRUCTION_ERROR__ACCOUNT_DATA_TOO_SMALL=nk;H.SOLANA_ERROR__INSTRUCTION_ERROR__ACCOUNT_NOT_EXECUTABLE=_k;H.SOLANA_ERROR__INSTRUCTION_ERROR__ACCOUNT_NOT_RENT_EXEMPT=zk;H.SOLANA_ERROR__INSTRUCTION_ERROR__ARITHMETIC_OVERFLOW=jk;H.SOLANA_ERROR__INSTRUCTION_ERROR__BORSH_IO_ERROR=$k;H.SOLANA_ERROR__INSTRUCTION_ERROR__BUILTIN_PROGRAMS_MUST_CONSUME_COMPUTE_UNITS=Zk;H.SOLANA_ERROR__INSTRUCTION_ERROR__CALL_DEPTH=Ik;H.SOLANA_ERROR__INSTRUCTION_ERROR__COMPUTATIONAL_BUDGET_EXCEEDED=Bk;H.SOLANA_ERROR__INSTRUCTION_ERROR__CUSTOM=AS;H.SOLANA_ERROR__INSTRUCTION_ERROR__DUPLICATE_ACCOUNT_INDEX=mk;H.SOLANA_ERROR__INSTRUCTION_ERROR__DUPLICATE_ACCOUNT_OUT_OF_SYNC=xk;H.SOLANA_ERROR__INSTRUCTION_ERROR__EXECUTABLE_ACCOUNT_NOT_RENT_EXEMPT=Rk;H.SOLANA_ERROR__INSTRUCTION_ERROR__EXECUTABLE_DATA_MODIFIED=Tk;H.SOLANA_ERROR__INSTRUCTION_ERROR__EXECUTABLE_LAMPORT_CHANGE=Sk;H.SOLANA_ERROR__INSTRUCTION_ERROR__EXECUTABLE_MODIFIED=hk;H.SOLANA_ERROR__INSTRUCTION_ERROR__EXTERNAL_ACCOUNT_DATA_MODIFIED=lk;H.SOLANA_ERROR__INSTRUCTION_ERROR__EXTERNAL_ACCOUNT_LAMPORT_SPEND=dk;H.SOLANA_ERROR__INSTRUCTION_ERROR__GENERIC_ERROR=J4;H.SOLANA_ERROR__INSTRUCTION_ERROR__ILLEGAL_OWNER=Wk;H.SOLANA_ERROR__INSTRUCTION_ERROR__IMMUTABLE=Uk;H.SOLANA_ERROR__INSTRUCTION_ERROR__INCORRECT_AUTHORITY=Hk;H.SOLANA_ERROR__INSTRUCTION_ERROR__INCORRECT_PROGRAM_ID=ok;H.SOLANA_ERROR__INSTRUCTION_ERROR__INSUFFICIENT_FUNDS=rk;H.SOLANA_ERROR__INSTRUCTION_ERROR__INVALID_ACCOUNT_DATA=tk;H.SOLANA_ERROR__INSTRUCTION_ERROR__INVALID_ACCOUNT_OWNER=Vk;H.SOLANA_ERROR__INSTRUCTION_ERROR__INVALID_ARGUMENT=Q4;H.SOLANA_ERROR__INSTRUCTION_ERROR__INVALID_ERROR=wk;H.SOLANA_ERROR__INSTRUCTION_ERROR__INVALID_INSTRUCTION_DATA=ek;H.SOLANA_ERROR__INSTRUCTION_ERROR__INVALID_REALLOC=Dk;H.SOLANA_ERROR__INSTRUCTION_ERROR__INVALID_SEEDS=kk;H.SOLANA_ERROR__INSTRUCTION_ERROR__MAX_ACCOUNTS_DATA_ALLOCATIONS_EXCEEDED=qk;H.SOLANA_ERROR__INSTRUCTION_ERROR__MAX_ACCOUNTS_EXCEEDED=Kk;H.SOLANA_ERROR__INSTRUCTION_ERROR__MAX_INSTRUCTION_TRACE_LENGTH_EXCEEDED=Yk;H.SOLANA_ERROR__INSTRUCTION_ERROR__MAX_SEED_LENGTH_EXCEEDED=Ok;H.SOLANA_ERROR__INSTRUCTION_ERROR__MISSING_ACCOUNT=Ck;H.SOLANA_ERROR__INSTRUCTION_ERROR__MISSING_REQUIRED_SIGNATURE=sk;H.SOLANA_ERROR__INSTRUCTION_ERROR__MODIFIED_PROGRAM_ID=uk;H.SOLANA_ERROR__INSTRUCTION_ERROR__NOT_ENOUGH_ACCOUNT_KEYS=bk;H.SOLANA_ERROR__INSTRUCTION_ERROR__PRIVILEGE_ESCALATION=Pk;H.SOLANA_ERROR__INSTRUCTION_ERROR__PROGRAM_ENVIRONMENT_SETUP_FAILURE=Lk;H.SOLANA_ERROR__INSTRUCTION_ERROR__PROGRAM_FAILED_TO_COMPILE=Fk;H.SOLANA_ERROR__INSTRUCTION_ERROR__PROGRAM_FAILED_TO_COMPLETE=Mk;H.SOLANA_ERROR__INSTRUCTION_ERROR__READONLY_DATA_MODIFIED=pk;H.SOLANA_ERROR__INSTRUCTION_ERROR__READONLY_LAMPORT_CHANGE=fk;H.SOLANA_ERROR__INSTRUCTION_ERROR__REENTRANCY_NOT_ALLOWED=Nk;H.SOLANA_ERROR__INSTRUCTION_ERROR__RENT_EPOCH_MODIFIED=yk;H.SOLANA_ERROR__INSTRUCTION_ERROR__UNBALANCED_INSTRUCTION=ck;H.SOLANA_ERROR__INSTRUCTION_ERROR__UNINITIALIZED_ACCOUNT=ak;H.SOLANA_ERROR__INSTRUCTION_ERROR__UNKNOWN=_S;H.SOLANA_ERROR__INSTRUCTION_ERROR__UNSUPPORTED_PROGRAM_ID=vk;H.SOLANA_ERROR__INSTRUCTION_ERROR__UNSUPPORTED_SYSVAR=Gk;H.SOLANA_ERROR__INSTRUCTION_PLANS__EMPTY_INSTRUCTION_PLAN=NB;H.SOLANA_ERROR__INSTRUCTION_PLANS__EXPECTED_SUCCESSFUL_TRANSACTION_PLAN_RESULT=MB;H.SOLANA_ERROR__INSTRUCTION_PLANS__FAILED_SINGLE_TRANSACTION_PLAN_RESULT_NOT_FOUND=DB;H.SOLANA_ERROR__INSTRUCTION_PLANS__FAILED_TO_EXECUTE_TRANSACTION_PLAN=OB;H.SOLANA_ERROR__INSTRUCTION_PLANS__MESSAGE_CANNOT_ACCOMMODATE_PLAN=IB;H.SOLANA_ERROR__INSTRUCTION_PLANS__MESSAGE_PACKER_ALREADY_COMPLETE=CB;H.SOLANA_ERROR__INSTRUCTION_PLANS__NON_DIVISIBLE_TRANSACTION_PLANS_NOT_SUPPORTED=kB;H.SOLANA_ERROR__INSTRUCTION_PLANS__UNEXPECTED_INSTRUCTION_PLAN=BB;H.SOLANA_ERROR__INSTRUCTION_PLANS__UNEXPECTED_TRANSACTION_PLAN=PB;H.SOLANA_ERROR__INSTRUCTION_PLANS__UNEXPECTED_TRANSACTION_PLAN_RESULT=LB;H.SOLANA_ERROR__INSTRUCTION__EXPECTED_TO_HAVE_ACCOUNTS=Y4;H.SOLANA_ERROR__INSTRUCTION__EXPECTED_TO_HAVE_DATA=Z4;H.SOLANA_ERROR__INSTRUCTION__PROGRAM_ID_MISMATCH=X4;H.SOLANA_ERROR__INVALID_BLOCKHASH_BYTE_LENGTH=o4;H.SOLANA_ERROR__INVALID_NONCE=t4;H.SOLANA_ERROR__INVARIANT_VIOLATION__CACHED_ABORTABLE_ITERABLE_CACHE_ENTRY_MISSING=_P;H.SOLANA_ERROR__INVARIANT_VIOLATION__DATA_PUBLISHER_CHANNEL_UNIMPLEMENTED=EP;H.SOLANA_ERROR__INVARIANT_VIOLATION__INVALID_INSTRUCTION_PLAN_KIND=xP;H.SOLANA_ERROR__INVARIANT_VIOLATION__INVALID_TRANSACTION_PLAN_KIND=wP;H.SOLANA_ERROR__INVARIANT_VIOLATION__SUBSCRIPTION_ITERATOR_MUST_NOT_POLL_BEFORE_RESOLVING_EXISTING_MESSAGE_PROMISE=gP;H.SOLANA_ERROR__INVARIANT_VIOLATION__SUBSCRIPTION_ITERATOR_STATE_MISSING=bP;H.SOLANA_ERROR__INVARIANT_VIOLATION__SWITCH_MUST_BE_EXHAUSTIVE=AP;H.SOLANA_ERROR__JSON_RPC__INTERNAL_ERROR=iS;H.SOLANA_ERROR__JSON_RPC__INVALID_PARAMS=aS;H.SOLANA_ERROR__JSON_RPC__INVALID_REQUEST=uS;H.SOLANA_ERROR__JSON_RPC__METHOD_NOT_FOUND=cS;H.SOLANA_ERROR__JSON_RPC__PARSE_ERROR=sS;H.SOLANA_ERROR__JSON_RPC__SCAN_ERROR=fS;H.SOLANA_ERROR__JSON_RPC__SERVER_ERROR_BLOCK_CLEANED_UP=gS;H.SOLANA_ERROR__JSON_RPC__SERVER_ERROR_BLOCK_NOT_AVAILABLE=bS;H.SOLANA_ERROR__JSON_RPC__SERVER_ERROR_BLOCK_STATUS_NOT_AVAILABLE_YET=lS;H.SOLANA_ERROR__JSON_RPC__SERVER_ERROR_EPOCH_REWARDS_PERIOD_ACTIVE=l4;H.SOLANA_ERROR__JSON_RPC__SERVER_ERROR_KEY_EXCLUDED_FROM_SECONDARY_INDEX=pS;H.SOLANA_ERROR__JSON_RPC__SERVER_ERROR_LONG_TERM_STORAGE_SLOT_SKIPPED=mS;H.SOLANA_ERROR__JSON_RPC__SERVER_ERROR_LONG_TERM_STORAGE_UNREACHABLE=u4;H.SOLANA_ERROR__JSON_RPC__SERVER_ERROR_MIN_CONTEXT_SLOT_NOT_REACHED=f4;H.SOLANA_ERROR__JSON_RPC__SERVER_ERROR_NODE_UNHEALTHY=y4;H.SOLANA_ERROR__JSON_RPC__SERVER_ERROR_NO_SNAPSHOT=h4;H.SOLANA_ERROR__JSON_RPC__SERVER_ERROR_SEND_TRANSACTION_PREFLIGHT_FAILURE=Lh;H.SOLANA_ERROR__JSON_RPC__SERVER_ERROR_SLOT_NOT_EPOCH_BOUNDARY=d4;H.SOLANA_ERROR__JSON_RPC__SERVER_ERROR_SLOT_SKIPPED=hS;H.SOLANA_ERROR__JSON_RPC__SERVER_ERROR_TRANSACTION_HISTORY_NOT_AVAILABLE=m4;H.SOLANA_ERROR__JSON_RPC__SERVER_ERROR_TRANSACTION_PRECOMPILE_VERIFICATION_FAILURE=yS;H.SOLANA_ERROR__JSON_RPC__SERVER_ERROR_TRANSACTION_SIGNATURE_LEN_MISMATCH=p4;H.SOLANA_ERROR__JSON_RPC__SERVER_ERROR_TRANSACTION_SIGNATURE_VERIFICATION_FAILURE=b4;H.SOLANA_ERROR__JSON_RPC__SERVER_ERROR_UNSUPPORTED_TRANSACTION_VERSION=dS;H.SOLANA_ERROR__KEYS__INVALID_KEY_PAIR_BYTE_LENGTH=j4;H.SOLANA_ERROR__KEYS__INVALID_PRIVATE_KEY_BYTE_LENGTH=G4;H.SOLANA_ERROR__KEYS__INVALID_SIGNATURE_BYTE_LENGTH=W4;H.SOLANA_ERROR__KEYS__PUBLIC_KEY_MUST_MATCH_PRIVATE_KEY=K4;H.SOLANA_ERROR__KEYS__SIGNATURE_STRING_LENGTH_OUT_OF_RANGE=q4;H.SOLANA_ERROR__LAMPORTS_OUT_OF_RANGE=s4;H.SOLANA_ERROR__MALFORMED_BIGINT_STRING=i4;H.SOLANA_ERROR__MALFORMED_JSON_RPC_ERROR=oS;H.SOLANA_ERROR__MALFORMED_NUMBER_STRING=a4;H.SOLANA_ERROR__NONCE_ACCOUNT_NOT_FOUND=n4;H.SOLANA_ERROR__OFFCHAIN_MESSAGE__ADDRESSES_CANNOT_SIGN_OFFCHAIN_MESSAGE=xD;H.SOLANA_ERROR__OFFCHAIN_MESSAGE__APPLICATION_DOMAIN_STRING_LENGTH_OUT_OF_RANGE=lD;H.SOLANA_ERROR__OFFCHAIN_MESSAGE__ENVELOPE_SIGNERS_MISMATCH=ED;H.SOLANA_ERROR__OFFCHAIN_MESSAGE__INVALID_APPLICATION_DOMAIN_BYTE_LENGTH=fD;H.SOLANA_ERROR__OFFCHAIN_MESSAGE__MAXIMUM_LENGTH_EXCEEDED=uD;H.SOLANA_ERROR__OFFCHAIN_MESSAGE__MESSAGE_FORMAT_MISMATCH=yD;H.SOLANA_ERROR__OFFCHAIN_MESSAGE__MESSAGE_LENGTH_MISMATCH=bD;H.SOLANA_ERROR__OFFCHAIN_MESSAGE__MESSAGE_MUST_BE_NON_EMPTY=gD;H.SOLANA_ERROR__OFFCHAIN_MESSAGE__NUM_ENVELOPE_SIGNATURES_CANNOT_BE_ZERO=_D;H.SOLANA_ERROR__OFFCHAIN_MESSAGE__NUM_REQUIRED_SIGNERS_CANNOT_BE_ZERO=mD;H.SOLANA_ERROR__OFFCHAIN_MESSAGE__NUM_SIGNATURES_MISMATCH=pD;H.SOLANA_ERROR__OFFCHAIN_MESSAGE__RESTRICTED_ASCII_BODY_CHARACTER_OUT_OF_RANGE=dD;H.SOLANA_ERROR__OFFCHAIN_MESSAGE__SIGNATORIES_MUST_BE_SORTED=TD;H.SOLANA_ERROR__OFFCHAIN_MESSAGE__SIGNATORIES_MUST_BE_UNIQUE=SD;H.SOLANA_ERROR__OFFCHAIN_MESSAGE__SIGNATURES_MISSING=AD;H.SOLANA_ERROR__OFFCHAIN_MESSAGE__SIGNATURE_VERIFICATION_FAILURE=RD;H.SOLANA_ERROR__OFFCHAIN_MESSAGE__UNEXPECTED_VERSION=wD;H.SOLANA_ERROR__OFFCHAIN_MESSAGE__VERSION_NUMBER_NOT_SUPPORTED=hD;H.SOLANA_ERROR__RPC_SUBSCRIPTIONS__CANNOT_CREATE_SUBSCRIPTION_PLAN=fP;H.SOLANA_ERROR__RPC_SUBSCRIPTIONS__CHANNEL_CLOSED_BEFORE_MESSAGE_BUFFERED=mP;H.SOLANA_ERROR__RPC_SUBSCRIPTIONS__CHANNEL_CONNECTION_CLOSED=hP;H.SOLANA_ERROR__RPC_SUBSCRIPTIONS__CHANNEL_FAILED_TO_CONNECT=yP;H.SOLANA_ERROR__RPC_SUBSCRIPTIONS__EXPECTED_SERVER_SUBSCRIPTION_ID=pP;H.SOLANA_ERROR__RPC__API_PLAN_MISSING_FOR_RPC_METHOD=lP;H.SOLANA_ERROR__RPC__INTEGER_OVERFLOW=cP;H.SOLANA_ERROR__RPC__TRANSPORT_HTTP_ERROR=dP;H.SOLANA_ERROR__RPC__TRANSPORT_HTTP_HEADER_FORBIDDEN=uP;H.SOLANA_ERROR__SIGNER__ADDRESS_CANNOT_HAVE_MULTIPLE_SIGNERS=Xk;H.SOLANA_ERROR__SIGNER__EXPECTED_KEY_PAIR_SIGNER=Jk;H.SOLANA_ERROR__SIGNER__EXPECTED_MESSAGE_MODIFYING_SIGNER=eD;H.SOLANA_ERROR__SIGNER__EXPECTED_MESSAGE_PARTIAL_SIGNER=tD;H.SOLANA_ERROR__SIGNER__EXPECTED_MESSAGE_SIGNER=Qk;H.SOLANA_ERROR__SIGNER__EXPECTED_TRANSACTION_MODIFYING_SIGNER=rD;H.SOLANA_ERROR__SIGNER__EXPECTED_TRANSACTION_PARTIAL_SIGNER=oD;H.SOLANA_ERROR__SIGNER__EXPECTED_TRANSACTION_SENDING_SIGNER=sD;H.SOLANA_ERROR__SIGNER__EXPECTED_TRANSACTION_SIGNER=nD;H.SOLANA_ERROR__SIGNER__TRANSACTION_CANNOT_HAVE_MULTIPLE_SENDING_SIGNERS=iD;H.SOLANA_ERROR__SIGNER__TRANSACTION_SENDING_SIGNER_MISSING=aD;H.SOLANA_ERROR__SIGNER__WALLET_MULTISIGN_UNIMPLEMENTED=cD;H.SOLANA_ERROR__SUBTLE_CRYPTO__CANNOT_EXPORT_NON_EXTRACTABLE_KEY=z4;H.SOLANA_ERROR__SUBTLE_CRYPTO__DIGEST_UNIMPLEMENTED=L4;H.SOLANA_ERROR__SUBTLE_CRYPTO__DISALLOWED_IN_INSECURE_CONTEXT=P4;H.SOLANA_ERROR__SUBTLE_CRYPTO__ED25519_ALGORITHM_UNIMPLEMENTED=M4;H.SOLANA_ERROR__SUBTLE_CRYPTO__EXPORT_FUNCTION_UNIMPLEMENTED=F4;H.SOLANA_ERROR__SUBTLE_CRYPTO__GENERATE_FUNCTION_UNIMPLEMENTED=U4;H.SOLANA_ERROR__SUBTLE_CRYPTO__SIGN_FUNCTION_UNIMPLEMENTED=H4;H.SOLANA_ERROR__SUBTLE_CRYPTO__VERIFY_FUNCTION_UNIMPLEMENTED=$4;H.SOLANA_ERROR__TIMESTAMP_OUT_OF_RANGE=c4;H.SOLANA_ERROR__TRANSACTION_ERROR__ACCOUNT_BORROW_OUTSTANDING=dB;H.SOLANA_ERROR__TRANSACTION_ERROR__ACCOUNT_IN_USE=YD;H.SOLANA_ERROR__TRANSACTION_ERROR__ACCOUNT_LOADED_TWICE=ZD;H.SOLANA_ERROR__TRANSACTION_ERROR__ACCOUNT_NOT_FOUND=XD;H.SOLANA_ERROR__TRANSACTION_ERROR__ADDRESS_LOOKUP_TABLE_NOT_FOUND=bB;H.SOLANA_ERROR__TRANSACTION_ERROR__ALREADY_PROCESSED=tB;H.SOLANA_ERROR__TRANSACTION_ERROR__BLOCKHASH_NOT_FOUND=nB;H.SOLANA_ERROR__TRANSACTION_ERROR__CALL_CHAIN_TOO_DEEP=rB;H.SOLANA_ERROR__TRANSACTION_ERROR__CLUSTER_MAINTENANCE=uB;H.SOLANA_ERROR__TRANSACTION_ERROR__DUPLICATE_INSTRUCTION=wS;H.SOLANA_ERROR__TRANSACTION_ERROR__INSUFFICIENT_FUNDS_FOR_FEE=QD;H.SOLANA_ERROR__TRANSACTION_ERROR__INSUFFICIENT_FUNDS_FOR_RENT=TS;H.SOLANA_ERROR__TRANSACTION_ERROR__INVALID_ACCOUNT_FOR_FEE=eB;H.SOLANA_ERROR__TRANSACTION_ERROR__INVALID_ACCOUNT_INDEX=sB;H.SOLANA_ERROR__TRANSACTION_ERROR__INVALID_ADDRESS_LOOKUP_TABLE_DATA=_B;H.SOLANA_ERROR__TRANSACTION_ERROR__INVALID_ADDRESS_LOOKUP_TABLE_INDEX=AB;H.SOLANA_ERROR__TRANSACTION_ERROR__INVALID_ADDRESS_LOOKUP_TABLE_OWNER=gB;H.SOLANA_ERROR__TRANSACTION_ERROR__INVALID_LOADED_ACCOUNTS_DATA_SIZE_LIMIT=SB;H.SOLANA_ERROR__TRANSACTION_ERROR__INVALID_PROGRAM_FOR_EXECUTION=aB;H.SOLANA_ERROR__TRANSACTION_ERROR__INVALID_RENT_PAYING_ACCOUNT=EB;H.SOLANA_ERROR__TRANSACTION_ERROR__INVALID_WRITABLE_ACCOUNT=pB;H.SOLANA_ERROR__TRANSACTION_ERROR__MAX_LOADED_ACCOUNTS_DATA_SIZE_EXCEEDED=TB;H.SOLANA_ERROR__TRANSACTION_ERROR__MISSING_SIGNATURE_FOR_FEE=oB;H.SOLANA_ERROR__TRANSACTION_ERROR__PROGRAM_ACCOUNT_NOT_FOUND=JD;H.SOLANA_ERROR__TRANSACTION_ERROR__PROGRAM_EXECUTION_TEMPORARILY_RESTRICTED=SS;H.SOLANA_ERROR__TRANSACTION_ERROR__RESANITIZATION_NEEDED=RB;H.SOLANA_ERROR__TRANSACTION_ERROR__SANITIZE_FAILURE=cB;H.SOLANA_ERROR__TRANSACTION_ERROR__SIGNATURE_FAILURE=iB;H.SOLANA_ERROR__TRANSACTION_ERROR__TOO_MANY_ACCOUNT_LOCKS=yB;H.SOLANA_ERROR__TRANSACTION_ERROR__UNBALANCED_TRANSACTION=vB;H.SOLANA_ERROR__TRANSACTION_ERROR__UNKNOWN=xS;H.SOLANA_ERROR__TRANSACTION_ERROR__UNSUPPORTED_VERSION=fB;H.SOLANA_ERROR__TRANSACTION_ERROR__WOULD_EXCEED_ACCOUNT_DATA_BLOCK_LIMIT=hB;H.SOLANA_ERROR__TRANSACTION_ERROR__WOULD_EXCEED_ACCOUNT_DATA_TOTAL_LIMIT=wB;H.SOLANA_ERROR__TRANSACTION_ERROR__WOULD_EXCEED_MAX_ACCOUNT_COST_LIMIT=mB;H.SOLANA_ERROR__TRANSACTION_ERROR__WOULD_EXCEED_MAX_BLOCK_COST_LIMIT=lB;H.SOLANA_ERROR__TRANSACTION_ERROR__WOULD_EXCEED_MAX_VOTE_COST_LIMIT=xB;H.SOLANA_ERROR__TRANSACTION__ADDRESSES_CANNOT_SIGN_TRANSACTION=zD;H.SOLANA_ERROR__TRANSACTION__ADDRESS_MISSING=MD;H.SOLANA_ERROR__TRANSACTION__CANNOT_ENCODE_WITH_EMPTY_SIGNATURES=VD;H.SOLANA_ERROR__TRANSACTION__EXCEEDS_SIZE_LIMIT=WD;H.SOLANA_ERROR__TRANSACTION__EXPECTED_BLOCKHASH_LIFETIME=CD;H.SOLANA_ERROR__TRANSACTION__EXPECTED_NONCE_LIFETIME=ND;H.SOLANA_ERROR__TRANSACTION__FAILED_TO_DECOMPILE_ADDRESS_LOOKUP_TABLE_CONTENTS_MISSING=kD;H.SOLANA_ERROR__TRANSACTION__FAILED_TO_DECOMPILE_ADDRESS_LOOKUP_TABLE_INDEX_OUT_OF_RANGE=DD;H.SOLANA_ERROR__TRANSACTION__FAILED_TO_DECOMPILE_FEE_PAYER_MISSING=PD;H.SOLANA_ERROR__TRANSACTION__FAILED_TO_DECOMPILE_INSTRUCTION_PROGRAM_ADDRESS_NOT_FOUND=BD;H.SOLANA_ERROR__TRANSACTION__FAILED_TO_ESTIMATE_COMPUTE_LIMIT=GD;H.SOLANA_ERROR__TRANSACTION__FAILED_WHEN_SIMULATING_TO_ESTIMATE_COMPUTE_LIMIT=ES;H.SOLANA_ERROR__TRANSACTION__FEE_PAYER_MISSING=FD;H.SOLANA_ERROR__TRANSACTION__FEE_PAYER_SIGNATURE_MISSING=UD;H.SOLANA_ERROR__TRANSACTION__INVALID_NONCE_TRANSACTION_FIRST_INSTRUCTION_MUST_BE_ADVANCE_NONCE=$D;H.SOLANA_ERROR__TRANSACTION__INVALID_NONCE_TRANSACTION_INSTRUCTIONS_MISSING=HD;H.SOLANA_ERROR__TRANSACTION__INVOKED_PROGRAMS_CANNOT_PAY_FEES=vD;H.SOLANA_ERROR__TRANSACTION__INVOKED_PROGRAMS_MUST_NOT_BE_WRITABLE=ID;H.SOLANA_ERROR__TRANSACTION__MESSAGE_SIGNATURES_MISMATCH=jD;H.SOLANA_ERROR__TRANSACTION__NONCE_ACCOUNT_CANNOT_BE_IN_LOOKUP_TABLE=KD;H.SOLANA_ERROR__TRANSACTION__SIGNATURES_MISSING=LD;H.SOLANA_ERROR__TRANSACTION__VERSION_NUMBER_NOT_SUPPORTED=qD;H.SOLANA_ERROR__TRANSACTION__VERSION_NUMBER_OUT_OF_RANGE=OD;H.SolanaError=Ph;H.getSolanaErrorFromInstructionError=vS;H.getSolanaErrorFromJsonRpcError=vP;H.getSolanaErrorFromTransactionError=IS;H.isSolanaError=SP;H.safeCaptureStackTrace=RS;H.unwrapSimulationError=Jee});var ZP=Xe(qe=>{"use strict";var Wt=CS(),Qee=e=>{let t=e.filter(s=>s.length);if(t.length===0)return e.length?e[0]:new Uint8Array;if(t.length===1)return t[0];let n=t.reduce((s,i)=>s+i.length,0),r=new Uint8Array(n),o=0;return t.forEach(s=>{r.set(s,o),o+=s.length}),r};function IP(e,t){if(e.length>=t)return e;let n=new Uint8Array(t).fill(0);return n.set(e),n}var CP=(e,t)=>IP(e.length<=t?e:e.slice(0,t),t);function NP(e,t,n){let r=n===0&&e.length===t.length?e:e.slice(n,n+t.length);return OP(r,t)}function OP(e,t){return e.length===t.length&&e.every((n,r)=>n===t[r])}function Mh(e,t){return"fixedSize"in t?t.fixedSize:t.getSizeFromValue(e)}function Ti(e){return Object.freeze({...e,encode:t=>{let n=new Uint8Array(Mh(t,e));return e.write(t,n,0),n}})}function Si(e){return Object.freeze({...e,decode:(t,n=0)=>e.read(t,n)[0]})}function kP(e){return Object.freeze({...e,decode:(t,n=0)=>e.read(t,n)[0],encode:t=>{let n=new Uint8Array(Mh(t,e));return e.write(t,n,0),n}})}function Kn(e){return"fixedSize"in e&&typeof e.fixedSize=="number"}function NS(e){if(!Kn(e))throw new Wt.SolanaError(Wt.SOLANA_ERROR__CODECS__EXPECTED_FIXED_LENGTH)}function OS(e){return!Kn(e)}function ete(e){if(!OS(e))throw new Wt.SolanaError(Wt.SOLANA_ERROR__CODECS__EXPECTED_VARIABLE_LENGTH)}function ic(e,t){if(Kn(e)!==Kn(t))throw new Wt.SolanaError(Wt.SOLANA_ERROR__CODECS__ENCODER_DECODER_SIZE_COMPATIBILITY_MISMATCH);if(Kn(e)&&Kn(t)&&e.fixedSize!==t.fixedSize)throw new Wt.SolanaError(Wt.SOLANA_ERROR__CODECS__ENCODER_DECODER_FIXED_SIZE_MISMATCH,{decoderFixedSize:t.fixedSize,encoderFixedSize:e.fixedSize});if(!Kn(e)&&!Kn(t)&&e.maxSize!==t.maxSize)throw new Wt.SolanaError(Wt.SOLANA_ERROR__CODECS__ENCODER_DECODER_MAX_SIZE_MISMATCH,{decoderMaxSize:t.maxSize,encoderMaxSize:e.maxSize});return{...t,...e,decode:t.decode,encode:e.encode,read:t.read,write:e.write}}function DP(e,t){let n=((r,o,s)=>{let i=e.encode(r);if(PP(i,t)>=0)throw new Wt.SolanaError(Wt.SOLANA_ERROR__CODECS__ENCODED_BYTES_MUST_NOT_INCLUDE_SENTINEL,{encodedBytes:i,hexEncodedBytes:z_(i),hexSentinel:z_(t),sentinel:t});return o.set(i,s),s+=i.length,o.set(t,s),s+=t.length,s});return Kn(e)?Ti({...e,fixedSize:e.fixedSize+t.length,write:n}):Ti({...e,...e.maxSize!=null?{maxSize:e.maxSize+t.length}:{},getSizeFromValue:r=>e.getSizeFromValue(r)+t.length,write:n})}function BP(e,t){let n=((r,o)=>{let s=o===0?r:r.slice(o),i=PP(s,t);if(i===-1)throw new Wt.SolanaError(Wt.SOLANA_ERROR__CODECS__SENTINEL_MISSING_IN_DECODED_BYTES,{decodedBytes:s,hexDecodedBytes:z_(s),hexSentinel:z_(t),sentinel:t});let a=s.slice(0,i);return[e.decode(a),o+a.length+t.length]});return Kn(e)?Si({...e,fixedSize:e.fixedSize+t.length,read:n}):Si({...e,...e.maxSize!=null?{maxSize:e.maxSize+t.length}:{},read:n})}function tte(e,t){return ic(DP(e,t),BP(e,t))}function PP(e,t){return e.findIndex((n,r,o)=>t.length===1?n===t[0]:NP(o,t,r))}function z_(e){return e.reduce((t,n)=>t+n.toString(16).padStart(2,"0"),"")}function nte(e,t,n=0){if(t.length-n<=0)throw new Wt.SolanaError(Wt.SOLANA_ERROR__CODECS__CANNOT_DECODE_EMPTY_BYTE_ARRAY,{codecDescription:e})}function kS(e,t,n,r=0){let o=n.length-r;if(on)throw new Wt.SolanaError(Wt.SOLANA_ERROR__CODECS__OFFSET_OUT_OF_RANGE,{bytesLength:n,codecDescription:e,offset:t})}function LP(e,t){let n=((i,a,c)=>{let u=e.encode(i);return c=t.write(u.length,a,c),a.set(u,c),c+u.length});if(Kn(t)&&Kn(e))return Ti({...e,fixedSize:t.fixedSize+e.fixedSize,write:n});let r=Kn(t)?t.fixedSize:t.maxSize??null,o=Kn(e)?e.fixedSize:e.maxSize??null,s=r!==null&&o!==null?r+o:null;return Ti({...e,...s!==null?{maxSize:s}:{},getSizeFromValue:i=>{let a=Mh(i,e);return Mh(a,t)+a},write:n})}function MP(e,t){let n=((i,a)=>{let[c,u]=t.read(i,a),d=Number(c);return a=u,(a>0||i.length>d)&&(i=i.slice(a,a+d)),kS("addDecoderSizePrefix",d,i),[e.decode(i),a+d]});if(Kn(t)&&Kn(e))return Si({...e,fixedSize:t.fixedSize+e.fixedSize,read:n});let r=Kn(t)?t.fixedSize:t.maxSize??null,o=Kn(e)?e.fixedSize:e.maxSize??null,s=r!==null&&o!==null?r+o:null;return Si({...e,...s!==null?{maxSize:s}:{},read:n})}function rte(e,t){return ic(LP(e,t),MP(e,t))}function ote(e,t,n){let r=e.byteOffset+(t??0),o=n??e.byteLength,s;return typeof SharedArrayBuffer>"u"?s=e.buffer:e.buffer instanceof SharedArrayBuffer?(s=new ArrayBuffer(e.length),new Uint8Array(s).set(new Uint8Array(e))):s=e.buffer,(r===0||r===-e.byteLength)&&o===e.byteLength?s:s.slice(r,r+o)}function ste(e){return Si({...e,read(t,n){let[r,o]=e.read(t,n);if(t.length>o)throw new Wt.SolanaError(Wt.SOLANA_ERROR__CODECS__EXPECTED_DECODER_TO_CONSUME_ENTIRE_BYTE_ARRAY,{expectedLength:o,numExcessBytes:t.length-o});return[r,o]}})}function FP(e,t){return Ti({fixedSize:t,write:(n,r,o)=>{let s=e.encode(n),i=s.length>t?s.slice(0,t):s;return r.set(i,o),o+t}})}function UP(e,t){return Si({fixedSize:t,read:(n,r)=>{kS("fixCodecSize",t,n,r),(r>0||n.length>t)&&(n=n.slice(r,r+t)),Kn(e)&&(n=CP(n,e.fixedSize));let[o]=e.read(n,0);return[o,r+t]}})}function ite(e,t){return ic(FP(e,t),UP(e,t))}function V_(e,t){return Ti({...e,write:(n,r,o)=>{let s=u=>HP(u,r.length),i=t.preOffset?t.preOffset({bytes:r,preOffset:o,wrapBytes:s}):o;Fh("offsetEncoder",i,r.length);let a=e.write(n,r,i),c=t.postOffset?t.postOffset({bytes:r,newPreOffset:i,postOffset:a,preOffset:o,wrapBytes:s}):a;return Fh("offsetEncoder",c,r.length),c}})}function j_(e,t){return Si({...e,read:(n,r)=>{let o=u=>HP(u,n.length),s=t.preOffset?t.preOffset({bytes:n,preOffset:r,wrapBytes:o}):r;Fh("offsetDecoder",s,n.length);let[i,a]=e.read(n,s),c=t.postOffset?t.postOffset({bytes:n,newPreOffset:s,postOffset:a,preOffset:r,wrapBytes:o}):a;return Fh("offsetDecoder",c,n.length),[i,c]}})}function ate(e,t){return ic(V_(e,t),j_(e,t))}function HP(e,t){return t===0?0:(e%t+t)%t}function G_(e,t){if(Kn(e)){let n=t(e.fixedSize);if(n<0)throw new Wt.SolanaError(Wt.SOLANA_ERROR__CODECS__EXPECTED_POSITIVE_BYTE_LENGTH,{bytesLength:n,codecDescription:"resizeEncoder"});return Ti({...e,fixedSize:n})}return Ti({...e,getSizeFromValue:n=>{let r=t(e.getSizeFromValue(n));if(r<0)throw new Wt.SolanaError(Wt.SOLANA_ERROR__CODECS__EXPECTED_POSITIVE_BYTE_LENGTH,{bytesLength:r,codecDescription:"resizeEncoder"});return r}})}function W_(e,t){if(Kn(e)){let n=t(e.fixedSize);if(n<0)throw new Wt.SolanaError(Wt.SOLANA_ERROR__CODECS__EXPECTED_POSITIVE_BYTE_LENGTH,{bytesLength:n,codecDescription:"resizeDecoder"});return Si({...e,fixedSize:n})}return e}function cte(e,t){return ic(G_(e,t),W_(e,t))}function $P(e,t){return V_(G_(e,n=>n+t),{preOffset:({preOffset:n})=>n+t})}function zP(e,t){return V_(G_(e,n=>n+t),{postOffset:({postOffset:n})=>n+t})}function VP(e,t){return j_(W_(e,n=>n+t),{preOffset:({preOffset:n})=>n+t})}function jP(e,t){return j_(W_(e,n=>n+t),{postOffset:({postOffset:n})=>n+t})}function ute(e,t){return ic($P(e,t),VP(e,t))}function dte(e,t){return ic(zP(e,t),jP(e,t))}function GP(e,t,n,r,o=0){for(;n<--r;){let s=e[n];t[n+o]=e[r],t[r+o]=s,n++}n===r&&(t[n+o]=e[n])}function WP(e){return NS(e),Ti({...e,write:(t,n,r)=>{let o=e.write(t,n,r);return GP(n,n,r,r+e.fixedSize),o}})}function qP(e){return NS(e),Si({...e,read:(t,n)=>{let r=t.slice();return GP(t,r,n,n+e.fixedSize),e.read(r,n)}})}function lte(e){return ic(WP(e),qP(e))}function KP(e,t){return Ti({...OS(e)?{...e,getSizeFromValue:n=>e.getSizeFromValue(t(n))}:e,write:(n,r,o)=>e.write(t(n),r,o)})}function YP(e,t){return Si({...e,read:(n,r)=>{let[o,s]=e.read(n,r);return[t(o,n,r),s]}})}function fte(e,t,n){return kP({...KP(e,t),read:n?YP(e,n).read:e.read})}qe.addCodecSentinel=tte;qe.addCodecSizePrefix=rte;qe.addDecoderSentinel=BP;qe.addDecoderSizePrefix=MP;qe.addEncoderSentinel=DP;qe.addEncoderSizePrefix=LP;qe.assertByteArrayHasEnoughBytesForCodec=kS;qe.assertByteArrayIsNotEmptyForCodec=nte;qe.assertByteArrayOffsetIsNotOutOfRange=Fh;qe.assertIsFixedSize=NS;qe.assertIsVariableSize=ete;qe.bytesEqual=OP;qe.combineCodec=ic;qe.containsBytes=NP;qe.createCodec=kP;qe.createDecoder=Si;qe.createDecoderThatConsumesEntireByteArray=ste;qe.createEncoder=Ti;qe.fixBytes=CP;qe.fixCodecSize=ite;qe.fixDecoderSize=UP;qe.fixEncoderSize=FP;qe.getEncodedSize=Mh;qe.isFixedSize=Kn;qe.isVariableSize=OS;qe.mergeBytes=Qee;qe.offsetCodec=ate;qe.offsetDecoder=j_;qe.offsetEncoder=V_;qe.padBytes=IP;qe.padLeftCodec=ute;qe.padLeftDecoder=VP;qe.padLeftEncoder=$P;qe.padRightCodec=dte;qe.padRightDecoder=jP;qe.padRightEncoder=zP;qe.resizeCodec=cte;qe.resizeDecoder=W_;qe.resizeEncoder=G_;qe.reverseCodec=lte;qe.reverseDecoder=qP;qe.reverseEncoder=WP;qe.toArrayBuffer=ote;qe.transformCodec=fte;qe.transformDecoder=YP;qe.transformEncoder=KP});var R9=Xe(et=>{"use strict";var XP=CS(),cr=ZP();function DS(e,t,n,r){if(rn)throw new XP.SolanaError(XP.SOLANA_ERROR__CODECS__NUMBER_OUT_OF_RANGE,{codecDescription:e,max:n,min:t,value:r})}var JP=(e=>(e[e.Little=0]="Little",e[e.Big=1]="Big",e))(JP||{});function QP(e){return e?.endian!==1}function $s(e){return cr.createEncoder({fixedSize:e.size,write(t,n,r){e.range&&DS(e.name,e.range[0],e.range[1],t);let o=new ArrayBuffer(e.size);return e.set(new DataView(o),t,QP(e.config)),n.set(new Uint8Array(o),r),r+e.size}})}function zs(e){return cr.createDecoder({fixedSize:e.size,read(t,n=0){cr.assertByteArrayIsNotEmptyForCodec(e.name,t,n),cr.assertByteArrayHasEnoughBytesForCodec(e.name,e.size,t,n);let r=new DataView(cr.toArrayBuffer(t,n,e.size));return[e.get(r,QP(e.config)),n+e.size]}})}var e9=(e={})=>$s({config:e,name:"f32",set:(t,n,r)=>t.setFloat32(0,Number(n),r),size:4}),t9=(e={})=>zs({config:e,get:(t,n)=>t.getFloat32(0,n),name:"f32",size:4}),pte=(e={})=>cr.combineCodec(e9(e),t9(e)),n9=(e={})=>$s({config:e,name:"f64",set:(t,n,r)=>t.setFloat64(0,Number(n),r),size:8}),r9=(e={})=>zs({config:e,get:(t,n)=>t.getFloat64(0,n),name:"f64",size:8}),mte=(e={})=>cr.combineCodec(n9(e),r9(e)),o9=(e={})=>$s({config:e,name:"i128",range:[-BigInt("0x7fffffffffffffffffffffffffffffff")-1n,BigInt("0x7fffffffffffffffffffffffffffffff")],set:(t,n,r)=>{let o=r?8:0,s=r?0:8,i=0xffffffffffffffffn;t.setBigInt64(o,BigInt(n)>>64n,r),t.setBigUint64(s,BigInt(n)&i,r)},size:16}),s9=(e={})=>zs({config:e,get:(t,n)=>{let r=n?8:0,o=n?0:8,s=t.getBigInt64(r,n),i=t.getBigUint64(o,n);return(s<<64n)+i},name:"i128",size:16}),hte=(e={})=>cr.combineCodec(o9(e),s9(e)),i9=(e={})=>$s({config:e,name:"i16",range:[-+"0x7fff"-1,+"0x7fff"],set:(t,n,r)=>t.setInt16(0,Number(n),r),size:2}),a9=(e={})=>zs({config:e,get:(t,n)=>t.getInt16(0,n),name:"i16",size:2}),yte=(e={})=>cr.combineCodec(i9(e),a9(e)),c9=(e={})=>$s({config:e,name:"i32",range:[-+"0x7fffffff"-1,+"0x7fffffff"],set:(t,n,r)=>t.setInt32(0,Number(n),r),size:4}),u9=(e={})=>zs({config:e,get:(t,n)=>t.getInt32(0,n),name:"i32",size:4}),bte=(e={})=>cr.combineCodec(c9(e),u9(e)),d9=(e={})=>$s({config:e,name:"i64",range:[-BigInt("0x7fffffffffffffff")-1n,BigInt("0x7fffffffffffffff")],set:(t,n,r)=>t.setBigInt64(0,BigInt(n),r),size:8}),l9=(e={})=>zs({config:e,get:(t,n)=>t.getBigInt64(0,n),name:"i64",size:8}),gte=(e={})=>cr.combineCodec(d9(e),l9(e)),f9=()=>$s({name:"i8",range:[-+"0x7f"-1,+"0x7f"],set:(e,t)=>e.setInt8(0,Number(t)),size:1}),p9=()=>zs({get:e=>e.getInt8(0),name:"i8",size:1}),_te=()=>cr.combineCodec(f9(),p9()),m9=()=>cr.createEncoder({getSizeFromValue:e=>e<=127?1:e<=16383?2:3,maxSize:3,write:(e,t,n)=>{DS("shortU16",0,65535,e);let r=[0];for(let o=0;;o+=1){let s=Number(e)>>o*7;if(s===0)break;let i=127&s;r[o]=i,o>0&&(r[o-1]|=128)}return t.set(r,n),n+r.length}}),h9=()=>cr.createDecoder({maxSize:3,read:(e,t)=>{let n=0,r=0;for(;++r;){let o=r-1,s=e[t+o],i=127&s;if(n|=i<cr.combineCodec(m9(),h9()),y9=(e={})=>$s({config:e,name:"u128",range:[0n,BigInt("0xffffffffffffffffffffffffffffffff")],set:(t,n,r)=>{let o=r?8:0,s=r?0:8,i=0xffffffffffffffffn;t.setBigUint64(o,BigInt(n)>>64n,r),t.setBigUint64(s,BigInt(n)&i,r)},size:16}),b9=(e={})=>zs({config:e,get:(t,n)=>{let r=n?8:0,o=n?0:8,s=t.getBigUint64(r,n),i=t.getBigUint64(o,n);return(s<<64n)+i},name:"u128",size:16}),Ete=(e={})=>cr.combineCodec(y9(e),b9(e)),g9=(e={})=>$s({config:e,name:"u16",range:[0,+"0xffff"],set:(t,n,r)=>t.setUint16(0,Number(n),r),size:2}),_9=(e={})=>zs({config:e,get:(t,n)=>t.getUint16(0,n),name:"u16",size:2}),xte=(e={})=>cr.combineCodec(g9(e),_9(e)),A9=(e={})=>$s({config:e,name:"u32",range:[0,+"0xffffffff"],set:(t,n,r)=>t.setUint32(0,Number(n),r),size:4}),E9=(e={})=>zs({config:e,get:(t,n)=>t.getUint32(0,n),name:"u32",size:4}),wte=(e={})=>cr.combineCodec(A9(e),E9(e)),x9=(e={})=>$s({config:e,name:"u64",range:[0n,BigInt("0xffffffffffffffff")],set:(t,n,r)=>t.setBigUint64(0,BigInt(n),r),size:8}),w9=(e={})=>zs({config:e,get:(t,n)=>t.getBigUint64(0,n),name:"u64",size:8}),Tte=(e={})=>cr.combineCodec(x9(e),w9(e)),T9=()=>$s({name:"u8",range:[0,+"0xff"],set:(e,t)=>e.setUint8(0,Number(t)),size:1}),S9=()=>zs({get:e=>e.getUint8(0),name:"u8",size:1}),Ste=()=>cr.combineCodec(T9(),S9());et.Endian=JP;et.assertNumberIsBetweenForCodec=DS;et.getF32Codec=pte;et.getF32Decoder=t9;et.getF32Encoder=e9;et.getF64Codec=mte;et.getF64Decoder=r9;et.getF64Encoder=n9;et.getI128Codec=hte;et.getI128Decoder=s9;et.getI128Encoder=o9;et.getI16Codec=yte;et.getI16Decoder=a9;et.getI16Encoder=i9;et.getI32Codec=bte;et.getI32Decoder=u9;et.getI32Encoder=c9;et.getI64Codec=gte;et.getI64Decoder=l9;et.getI64Encoder=d9;et.getI8Codec=_te;et.getI8Decoder=p9;et.getI8Encoder=f9;et.getShortU16Codec=Ate;et.getShortU16Decoder=h9;et.getShortU16Encoder=m9;et.getU128Codec=Ete;et.getU128Decoder=b9;et.getU128Encoder=y9;et.getU16Codec=xte;et.getU16Decoder=_9;et.getU16Encoder=g9;et.getU32Codec=wte;et.getU32Decoder=E9;et.getU32Encoder=A9;et.getU64Codec=Tte;et.getU64Decoder=w9;et.getU64Encoder=x9;et.getU8Codec=Ste;et.getU8Decoder=S9;et.getU8Encoder=T9});var I9=Xe((q_,v9)=>{(function(e,t){typeof q_=="object"&&typeof v9<"u"?t(q_):typeof define=="function"&&define.amd?define(["exports"],t):(e=typeof globalThis<"u"?globalThis:e||self,t(e.Superstruct={}))})(q_,(function(e){"use strict";class t extends TypeError{constructor(q,Z){let Q,{message:le,explanation:ke,...Ce}=q,{path:We}=q,zt=We.length===0?le:`At path: ${We.join(".")} -- ${le}`;super(ke??zt),ke!=null&&(this.cause=zt),Object.assign(this,Ce),this.name=this.constructor.name,this.failures=()=>Q??(Q=[q,...Z()])}}function n(G){return r(G)&&typeof G[Symbol.iterator]=="function"}function r(G){return typeof G=="object"&&G!=null}function o(G){return r(G)&&!Array.isArray(G)}function s(G){if(Object.prototype.toString.call(G)!=="[object Object]")return!1;let q=Object.getPrototypeOf(G);return q===null||q===Object.prototype}function i(G){return typeof G=="symbol"?G.toString():typeof G=="string"?JSON.stringify(G):`${G}`}function a(G){let{done:q,value:Z}=G.next();return q?void 0:Z}function c(G,q,Z,Q){if(G===!0)return;G===!1?G={}:typeof G=="string"&&(G={message:G});let{path:le,branch:ke}=q,{type:Ce}=Z,{refinement:We,message:zt=`Expected a value of type \`${Ce}\`${We?` with refinement \`${We}\``:""}, but received: \`${i(Q)}\``}=G;return{value:Q,type:Ce,refinement:We,key:le[le.length-1],path:le,branch:ke,...G,message:zt}}function*u(G,q,Z,Q){n(G)||(G=[G]);for(let le of G){let ke=c(le,q,Z,Q);ke&&(yield ke)}}function*d(G,q,Z={}){let{path:Q=[],branch:le=[G],coerce:ke=!1,mask:Ce=!1}=Z,We={path:Q,branch:le,mask:Ce};ke&&(G=q.coercer(G,We));let zt="valid";for(let Ze of q.validator(G,We))Ze.explanation=Z.message,zt="not_valid",yield[Ze,void 0];for(let[Ze,dt,Ga]of q.entries(G,We)){let tn=d(dt,Ga,{path:Ze===void 0?Q:[...Q,Ze],branch:Ze===void 0?le:[...le,dt],coerce:ke,mask:Ce,message:Z.message});for(let Ut of tn)Ut[0]?(zt=Ut[0].refinement!=null?"not_refined":"not_valid",yield[Ut[0],void 0]):ke&&(dt=Ut[1],Ze===void 0?G=dt:G instanceof Map?G.set(Ze,dt):G instanceof Set?G.add(dt):r(G)&&(dt!==void 0||Ze in G)&&(G[Ze]=dt))}if(zt!=="not_valid")for(let Ze of q.refiner(G,We))Ze.explanation=Z.message,zt="not_refined",yield[Ze,void 0];zt==="valid"&&(yield[void 0,G])}class l{constructor(q){let{type:Z,schema:Q,validator:le,refiner:ke,coercer:Ce=zt=>zt,entries:We=function*(){}}=q;this.type=Z,this.schema=Q,this.entries=We,this.coercer=Ce,le?this.validator=(zt,Ze)=>{let dt=le(zt,Ze);return u(dt,Ze,this,zt)}:this.validator=()=>[],ke?this.refiner=(zt,Ze)=>{let dt=ke(zt,Ze);return u(dt,Ze,this,zt)}:this.refiner=()=>[]}assert(q,Z){return m(q,this,Z)}create(q,Z){return p(q,this,Z)}is(q){return E(q,this)}mask(q,Z){return g(q,this,Z)}validate(q,Z={}){return x(q,this,Z)}}function m(G,q,Z){let Q=x(G,q,{message:Z});if(Q[0])throw Q[0]}function p(G,q,Z){let Q=x(G,q,{coerce:!0,message:Z});if(Q[0])throw Q[0];return Q[1]}function g(G,q,Z){let Q=x(G,q,{coerce:!0,mask:!0,message:Z});if(Q[0])throw Q[0];return Q[1]}function E(G,q){return!x(G,q)[0]}function x(G,q,Z={}){let Q=d(G,q,Z),le=a(Q);return le[0]?[new t(le[0],function*(){for(let Ce of Q)Ce[0]&&(yield Ce[0])}),void 0]:[void 0,le[1]]}function S(...G){let q=G[0].type==="type",Z=G.map(le=>le.schema),Q=Object.assign({},...Z);return q?pe(Q):R(Q)}function N(G,q){return new l({type:G,schema:null,validator:q})}function C(G,q){return new l({...G,refiner:(Z,Q)=>Z===void 0||G.refiner(Z,Q),validator(Z,Q){return Z===void 0?!0:(q(Z,Q),G.validator(Z,Q))}})}function v(G){return new l({type:"dynamic",schema:null,*entries(q,Z){yield*G(q,Z).entries(q,Z)},validator(q,Z){return G(q,Z).validator(q,Z)},coercer(q,Z){return G(q,Z).coercer(q,Z)},refiner(q,Z){return G(q,Z).refiner(q,Z)}})}function D(G){let q;return new l({type:"lazy",schema:null,*entries(Z,Q){q??(q=G()),yield*q.entries(Z,Q)},validator(Z,Q){return q??(q=G()),q.validator(Z,Q)},coercer(Z,Q){return q??(q=G()),q.coercer(Z,Q)},refiner(Z,Q){return q??(q=G()),q.refiner(Z,Q)}})}function F(G,q){let{schema:Z}=G,Q={...Z};for(let le of q)delete Q[le];return G.type==="type"?pe(Q):R(Q)}function U(G){let q=G instanceof l,Z=q?{...G.schema}:{...G};for(let Q in Z)Z[Q]=K(Z[Q]);return q&&G.type==="type"?pe(Z):R(Z)}function V(G,q){let{schema:Z}=G,Q={};for(let le of q)Q[le]=Z[le];return G.type==="type"?pe(Q):R(Q)}function $(G,q){return console.warn("superstruct@0.11 - The `struct` helper has been renamed to `define`."),N(G,q)}function z(){return N("any",()=>!0)}function W(G){return new l({type:"array",schema:G,*entries(q){if(G&&Array.isArray(q))for(let[Z,Q]of q.entries())yield[Z,Q,G]},coercer(q){return Array.isArray(q)?q.slice():q},validator(q){return Array.isArray(q)||`Expected an array value, but received: ${i(q)}`}})}function X(){return N("bigint",G=>typeof G=="bigint")}function w(){return N("boolean",G=>typeof G=="boolean")}function f(){return N("date",G=>G instanceof Date&&!isNaN(G.getTime())||`Expected a valid \`Date\` object, but received: ${i(G)}`)}function y(G){let q={},Z=G.map(Q=>i(Q)).join();for(let Q of G)q[Q]=Q;return new l({type:"enums",schema:q,validator(Q){return G.includes(Q)||`Expected one of \`${Z}\`, but received: ${i(Q)}`}})}function A(){return N("func",G=>typeof G=="function"||`Expected a function, but received: ${i(G)}`)}function T(G){return N("instance",q=>q instanceof G||`Expected a \`${G.name}\` instance, but received: ${i(q)}`)}function I(){return N("integer",G=>typeof G=="number"&&!isNaN(G)&&Number.isInteger(G)||`Expected an integer, but received: ${i(G)}`)}function k(G){return new l({type:"intersection",schema:null,*entries(q,Z){for(let Q of G)yield*Q.entries(q,Z)},*validator(q,Z){for(let Q of G)yield*Q.validator(q,Z)},*refiner(q,Z){for(let Q of G)yield*Q.refiner(q,Z)}})}function P(G){let q=i(G),Z=typeof G;return new l({type:"literal",schema:Z==="string"||Z==="number"||Z==="boolean"?G:null,validator(Q){return Q===G||`Expected the literal \`${q}\`, but received: ${i(Q)}`}})}function O(G,q){return new l({type:"map",schema:null,*entries(Z){if(G&&q&&Z instanceof Map)for(let[Q,le]of Z.entries())yield[Q,Q,G],yield[Q,le,q]},coercer(Z){return Z instanceof Map?new Map(Z):Z},validator(Z){return Z instanceof Map||`Expected a \`Map\` object, but received: ${i(Z)}`}})}function _(){return N("never",()=>!1)}function L(G){return new l({...G,validator:(q,Z)=>q===null||G.validator(q,Z),refiner:(q,Z)=>q===null||G.refiner(q,Z)})}function ce(){return N("number",G=>typeof G=="number"&&!isNaN(G)||`Expected a number, but received: ${i(G)}`)}function R(G){let q=G?Object.keys(G):[],Z=_();return new l({type:"object",schema:G||null,*entries(Q){if(G&&r(Q)){let le=new Set(Object.keys(Q));for(let ke of q)le.delete(ke),yield[ke,Q[ke],G[ke]];for(let ke of le)yield[ke,Q[ke],Z]}},validator(Q){return o(Q)||`Expected an object, but received: ${i(Q)}`},coercer(Q,le){if(!o(Q))return Q;let ke={...Q};if(le.mask&&G)for(let Ce in ke)G[Ce]===void 0&&delete ke[Ce];return ke}})}function K(G){return new l({...G,validator:(q,Z)=>q===void 0||G.validator(q,Z),refiner:(q,Z)=>q===void 0||G.refiner(q,Z)})}function J(G,q){return new l({type:"record",schema:null,*entries(Z){if(r(Z))for(let Q in Z){let le=Z[Q];yield[Q,Q,G],yield[Q,le,q]}},validator(Z){return o(Z)||`Expected an object, but received: ${i(Z)}`},coercer(Z){return o(Z)?{...Z}:Z}})}function re(){return N("regexp",G=>G instanceof RegExp)}function ae(G){return new l({type:"set",schema:null,*entries(q){if(G&&q instanceof Set)for(let Z of q)yield[Z,Z,G]},coercer(q){return q instanceof Set?new Set(q):q},validator(q){return q instanceof Set||`Expected a \`Set\` object, but received: ${i(q)}`}})}function me(){return N("string",G=>typeof G=="string"||`Expected a string, but received: ${i(G)}`)}function he(G){let q=_();return new l({type:"tuple",schema:null,*entries(Z){if(Array.isArray(Z)){let Q=Math.max(G.length,Z.length);for(let le=0;leZ.type).join(" | ");return new l({type:"union",schema:null,coercer(Z,Q){for(let le of G){let[ke,Ce]=le.validate(Z,{coerce:!0,mask:Q.mask});if(!ke)return Ce}return Z},validator(Z,Q){let le=[];for(let ke of G){let[...Ce]=d(Z,ke,Q),[We]=Ce;if(We[0])for(let[zt]of Ce)zt&&le.push(zt);else return[]}return[`Expected the value to satisfy a union of \`${q}\`, but received: ${i(Z)}`,...le]}})}function _e(){return N("unknown",()=>!0)}function Ne(G,q,Z){return new l({...G,coercer:(Q,le)=>E(Q,q)?G.coercer(Z(Q,le),le):G.coercer(Q,le)})}function Ds(G,q,Z={}){return Ne(G,_e(),Q=>{let le=typeof q=="function"?q():q;if(Q===void 0)return le;if(!Z.strict&&s(Q)&&s(le)){let ke={...Q},Ce=!1;for(let We in le)ke[We]===void 0&&(ke[We]=le[We],Ce=!0);if(Ce)return ke}return Q})}function Yt(G){return Ne(G,me(),q=>q.trim())}function Zt(G){return xo(G,"empty",q=>{let Z=Ki(q);return Z===0||`Expected an empty ${G.type} but received one with a size of \`${Z}\``})}function Ki(G){return G instanceof Map||G instanceof Set?G.size:G.length}function Xt(G,q,Z={}){let{exclusive:Q}=Z;return xo(G,"max",le=>Q?leQ?le>q:le>=q||`Expected a ${G.type} greater than ${Q?"":"or equal to "}${q} but received \`${le}\``)}function ja(G){return xo(G,"nonempty",q=>Ki(q)>0||`Expected a nonempty ${G.type} but received an empty one`)}function Qt(G,q){return xo(G,"pattern",Z=>q.test(Z)||`Expected a ${G.type} matching \`/${q.source}/\` but received "${Z}"`)}function en(G,q,Z=q){let Q=`Expected a ${G.type}`,le=q===Z?`of \`${q}\``:`between \`${q}\` and \`${Z}\``;return xo(G,"size",ke=>{if(typeof ke=="number"||ke instanceof Date)return q<=ke&&ke<=Z||`${Q} ${le} but received \`${ke}\``;if(ke instanceof Map||ke instanceof Set){let{size:Ce}=ke;return q<=Ce&&Ce<=Z||`${Q} with a size ${le} but received one with a size of \`${Ce}\``}else{let{length:Ce}=ke;return q<=Ce&&Ce<=Z||`${Q} with a length ${le} but received one with a length of \`${Ce}\``}})}function xo(G,q,Z){return new l({...G,*refiner(Q,le){yield*G.refiner(Q,le);let ke=Z(Q,le),Ce=u(ke,le,G,Q);for(let We of Ce)yield{...We,refinement:q}}})}e.Struct=l,e.StructError=t,e.any=z,e.array=W,e.assert=m,e.assign=S,e.bigint=X,e.boolean=w,e.coerce=Ne,e.create=p,e.date=f,e.defaulted=Ds,e.define=N,e.deprecated=C,e.dynamic=v,e.empty=Zt,e.enums=y,e.func=A,e.instance=T,e.integer=I,e.intersection=k,e.is=E,e.lazy=D,e.literal=P,e.map=O,e.mask=g,e.max=Xt,e.min=Jt,e.never=_,e.nonempty=ja,e.nullable=L,e.number=ce,e.object=R,e.omit=F,e.optional=K,e.partial=U,e.pattern=Qt,e.pick=V,e.record=J,e.refine=xo,e.regexp=re,e.set=ae,e.size=en,e.string=me,e.struct=$,e.trimmed=Yt,e.tuple=he,e.type=pe,e.union=ct,e.unknown=_e,e.validate=x}))});function Uh(){if(!K_&&(K_=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||typeof msCrypto<"u"&&typeof msCrypto.getRandomValues=="function"&&msCrypto.getRandomValues.bind(msCrypto),!K_))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return K_(Rte)}var K_,Rte,BS=oe(()=>{Rte=new Uint8Array(16)});var C9,N9=oe(()=>{C9=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i});function vte(e){return typeof e=="string"&&C9.test(e)}var xu,Hh=oe(()=>{N9();xu=vte});function Ite(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,n=(Vr[e[t+0]]+Vr[e[t+1]]+Vr[e[t+2]]+Vr[e[t+3]]+"-"+Vr[e[t+4]]+Vr[e[t+5]]+"-"+Vr[e[t+6]]+Vr[e[t+7]]+"-"+Vr[e[t+8]]+Vr[e[t+9]]+"-"+Vr[e[t+10]]+Vr[e[t+11]]+Vr[e[t+12]]+Vr[e[t+13]]+Vr[e[t+14]]+Vr[e[t+15]]).toLowerCase();if(!xu(n))throw TypeError("Stringified UUID is invalid");return n}var Vr,Y_,wu,$h=oe(()=>{Hh();Vr=[];for(Y_=0;Y_<256;++Y_)Vr.push((Y_+256).toString(16).substr(1));wu=Ite});function Cte(e,t,n){var r=t&&n||0,o=t||new Array(16);e=e||{};var s=e.node||O9,i=e.clockseq!==void 0?e.clockseq:PS;if(s==null||i==null){var a=e.random||(e.rng||Uh)();s==null&&(s=O9=[a[0]|1,a[1],a[2],a[3],a[4],a[5]]),i==null&&(i=PS=(a[6]<<8|a[7])&16383)}var c=e.msecs!==void 0?e.msecs:Date.now(),u=e.nsecs!==void 0?e.nsecs:MS+1,d=c-LS+(u-MS)/1e4;if(d<0&&e.clockseq===void 0&&(i=i+1&16383),(d<0||c>LS)&&e.nsecs===void 0&&(u=0),u>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");LS=c,MS=u,PS=i,c+=122192928e5;var l=((c&268435455)*1e4+u)%4294967296;o[r++]=l>>>24&255,o[r++]=l>>>16&255,o[r++]=l>>>8&255,o[r++]=l&255;var m=c/4294967296*1e4&268435455;o[r++]=m>>>8&255,o[r++]=m&255,o[r++]=m>>>24&15|16,o[r++]=m>>>16&255,o[r++]=i>>>8|128,o[r++]=i&255;for(var p=0;p<6;++p)o[r+p]=s[p];return t||wu(o)}var O9,PS,LS,MS,k9,D9=oe(()=>{BS();$h();LS=0,MS=0;k9=Cte});function Nte(e){if(!xu(e))throw TypeError("Invalid UUID");var t,n=new Uint8Array(16);return n[0]=(t=parseInt(e.slice(0,8),16))>>>24,n[1]=t>>>16&255,n[2]=t>>>8&255,n[3]=t&255,n[4]=(t=parseInt(e.slice(9,13),16))>>>8,n[5]=t&255,n[6]=(t=parseInt(e.slice(14,18),16))>>>8,n[7]=t&255,n[8]=(t=parseInt(e.slice(19,23),16))>>>8,n[9]=t&255,n[10]=(t=parseInt(e.slice(24,36),16))/1099511627776&255,n[11]=t/4294967296&255,n[12]=t>>>24&255,n[13]=t>>>16&255,n[14]=t>>>8&255,n[15]=t&255,n}var Z_,FS=oe(()=>{Hh();Z_=Nte});function Ote(e){e=unescape(encodeURIComponent(e));for(var t=[],n=0;n{$h();FS();kte="6ba7b810-9dad-11d1-80b4-00c04fd430c8",Dte="6ba7b811-9dad-11d1-80b4-00c04fd430c8"});function Bte(e){if(typeof e=="string"){var t=unescape(encodeURIComponent(e));e=new Uint8Array(t.length);for(var n=0;n>5]>>>o%32&255,i=parseInt(r.charAt(s>>>4&15)+r.charAt(s&15),16);t.push(i)}return t}function B9(e){return(e+64>>>9<<4)+14+1}function Lte(e,t){e[t>>5]|=128<>5]|=(e[r/8]&255)<>16)+(t>>16)+(n>>16);return r<<16|n&65535}function Fte(e,t){return e<>>32-t}function J_(e,t,n,r,o,s){return Tu(Fte(Tu(Tu(t,e),Tu(r,s)),o),n)}function oo(e,t,n,r,o,s,i){return J_(t&n|~t&r,e,t,o,s,i)}function so(e,t,n,r,o,s,i){return J_(t&r|n&~r,e,t,o,s,i)}function io(e,t,n,r,o,s,i){return J_(t^n^r,e,t,o,s,i)}function ao(e,t,n,r,o,s,i){return J_(n^(t|~r),e,t,o,s,i)}var P9,L9=oe(()=>{P9=Bte});var Ute,M9,F9=oe(()=>{US();L9();Ute=X_("v3",48,P9),M9=Ute});function Hte(e,t,n){e=e||{};var r=e.random||(e.rng||Uh)();if(r[6]=r[6]&15|64,r[8]=r[8]&63|128,t){n=n||0;for(var o=0;o<16;++o)t[n+o]=r[o];return t}return wu(r)}var U9,H9=oe(()=>{BS();$h();U9=Hte});function $te(e,t,n,r){switch(e){case 0:return t&n^~t&r;case 1:return t^n^r;case 2:return t&n^t&r^n&r;case 3:return t^n^r}}function HS(e,t){return e<>>32-t}function zte(e){var t=[1518500249,1859775393,2400959708,3395469782],n=[1732584193,4023233417,2562383102,271733878,3285377520];if(typeof e=="string"){var r=unescape(encodeURIComponent(e));e=[];for(var o=0;o>>0;C=N,N=S,S=HS(x,30)>>>0,x=E,E=F}n[0]=n[0]+E>>>0,n[1]=n[1]+x>>>0,n[2]=n[2]+S>>>0,n[3]=n[3]+N>>>0,n[4]=n[4]+C>>>0}return[n[0]>>24&255,n[0]>>16&255,n[0]>>8&255,n[0]&255,n[1]>>24&255,n[1]>>16&255,n[1]>>8&255,n[1]&255,n[2]>>24&255,n[2]>>16&255,n[2]>>8&255,n[2]&255,n[3]>>24&255,n[3]>>16&255,n[3]>>8&255,n[3]&255,n[4]>>24&255,n[4]>>16&255,n[4]>>8&255,n[4]&255]}var $9,z9=oe(()=>{$9=zte});var Vte,V9,j9=oe(()=>{US();z9();Vte=X_("v5",80,$9),V9=Vte});var G9,W9=oe(()=>{G9="00000000-0000-0000-0000-000000000000"});function jte(e){if(!xu(e))throw TypeError("Invalid UUID");return parseInt(e.substr(14,1),16)}var q9,K9=oe(()=>{Hh();q9=jte});var $S={};rp($S,{NIL:()=>G9,parse:()=>Z_,stringify:()=>wu,v1:()=>k9,v3:()=>M9,v4:()=>U9,v5:()=>V9,validate:()=>xu,version:()=>q9});var zS=oe(()=>{D9();F9();H9();j9();W9();K9();Hh();$h();FS()});var Z9=Xe((bIe,Y9)=>{"use strict";var Gte=(zS(),pO($S)).v4,Wte=function(e,t,n,r){if(typeof e!="string")throw new TypeError(e+" must be a string");r=r||{};let o=typeof r.version=="number"?r.version:2;if(o!==1&&o!==2)throw new TypeError(o+" must be 1 or 2");let s={method:e};if(o===2&&(s.jsonrpc="2.0"),t){if(typeof t!="object"&&!Array.isArray(t))throw new TypeError(t+" must be an object, array or omitted");s.params=t}if(typeof n>"u"){let i=typeof r.generator=="function"?r.generator:function(){return Gte()};s.id=i(s,r)}else o===2&&n===null?r.notificationIdNull&&(s.id=null):s.id=n;return s};Y9.exports=Wte});var J9=Xe((gIe,X9)=>{"use strict";var qte=(zS(),pO($S)).v4,Kte=Z9(),zh=function(e,t){if(!(this instanceof zh))return new zh(e,t);t||(t={}),this.options={reviver:typeof t.reviver<"u"?t.reviver:null,replacer:typeof t.replacer<"u"?t.replacer:null,generator:typeof t.generator<"u"?t.generator:function(){return qte()},version:typeof t.version<"u"?t.version:2,notificationIdNull:typeof t.notificationIdNull=="boolean"?t.notificationIdNull:!1},this.callServer=e};X9.exports=zh;zh.prototype.request=function(e,t,n,r){let o=this,s=null,i=Array.isArray(e)&&typeof t=="function";if(this.options.version===1&&i)throw new TypeError("JSON-RPC 1.0 does not support batching");if(i||!i&&e&&typeof e=="object"&&typeof t=="function")r=t,s=e;else{typeof n=="function"&&(r=n,n=void 0);let u=typeof r=="function";try{s=Kte(e,t,n,{generator:this.options.generator,version:this.options.version,notificationIdNull:this.options.notificationIdNull})}catch(d){if(u){r(d);return}throw d}if(!u)return s}let c;try{c=JSON.stringify(s,this.options.replacer)}catch(u){r(u);return}return this.callServer(c,function(u,d){o._parseResponse(u,d,r)}),s};zh.prototype._parseResponse=function(e,t,n){if(e){n(e);return}if(!t){n();return}let r;try{r=JSON.parse(t,this.options.reviver)}catch(o){n(o);return}if(n.length===3)if(Array.isArray(r)){let o=function(i){return typeof i.error<"u"},s=function(i){return!o(i)};n(null,r.filter(o),r.filter(s));return}else{n(null,r.error,r.result);return}n(null,r)}});var eL=Xe((_Ie,VS)=>{"use strict";var Yte=Object.prototype.hasOwnProperty,vo="~";function Vh(){}Object.create&&(Vh.prototype=Object.create(null),new Vh().__proto__||(vo=!1));function Zte(e,t,n){this.fn=e,this.context=t,this.once=n||!1}function Q9(e,t,n,r,o){if(typeof n!="function")throw new TypeError("The listener must be a function");var s=new Zte(n,r||e,o),i=vo?vo+t:t;return e._events[i]?e._events[i].fn?e._events[i]=[e._events[i],s]:e._events[i].push(s):(e._events[i]=s,e._eventsCount++),e}function Q_(e,t){--e._eventsCount===0?e._events=new Vh:delete e._events[t]}function co(){this._events=new Vh,this._eventsCount=0}co.prototype.eventNames=function(){var t=[],n,r;if(this._eventsCount===0)return t;for(r in n=this._events)Yte.call(n,r)&&t.push(vo?r.slice(1):r);return Object.getOwnPropertySymbols?t.concat(Object.getOwnPropertySymbols(n)):t};co.prototype.listeners=function(t){var n=vo?vo+t:t,r=this._events[n];if(!r)return[];if(r.fn)return[r.fn];for(var o=0,s=r.length,i=new Array(s);o{"use strict";var Xte=_p(),tL=eL(),Jte=class extends tL.EventEmitter{socket;constructor(e,t){super(),this.socket=new window.WebSocket(e,t.protocols),this.socket.onopen=()=>this.emit("open"),this.socket.onmessage=n=>this.emit("message",n.data),this.socket.onerror=n=>this.emit("error",n),this.socket.onclose=n=>{this.emit("close",n.code,n.reason)}}send(e,t,n){let r=n||t;try{this.socket.send(e),r()}catch(o){r(o)}}close(e,t){this.socket.close(e,t)}addEventListener(e,t,n){this.socket.addEventListener(e,t,n)}};function nL(e,t){return new Jte(e,t)}var rL=class{encode(e){return JSON.stringify(e)}decode(e){return JSON.parse(e)}},oL=class extends tL.EventEmitter{address;rpc_id;queue;options;autoconnect;ready;reconnect;reconnect_timer_id;reconnect_interval;max_reconnects;rest_options;current_reconnects;generate_request_id;socket;webSocketFactory;dataPack;constructor(e,t="ws://localhost:8080",{autoconnect:n=!0,reconnect:r=!0,reconnect_interval:o=1e3,max_reconnects:s=5,...i}={},a,c){super(),this.webSocketFactory=e,this.queue={},this.rpc_id=0,this.address=t,this.autoconnect=n,this.ready=!1,this.reconnect=r,this.reconnect_timer_id=void 0,this.reconnect_interval=o,this.max_reconnects=s,this.rest_options=i,this.current_reconnects=0,this.generate_request_id=a||(()=>typeof this.rpc_id=="number"?++this.rpc_id:Number(this.rpc_id)+1),c?this.dataPack=c:this.dataPack=new rL,this.autoconnect&&this._connect(this.address,{autoconnect:this.autoconnect,reconnect:this.reconnect,reconnect_interval:this.reconnect_interval,max_reconnects:this.max_reconnects,...this.rest_options})}connect(){this.socket||this._connect(this.address,{autoconnect:this.autoconnect,reconnect:this.reconnect,reconnect_interval:this.reconnect_interval,max_reconnects:this.max_reconnects,...this.rest_options})}call(e,t,n,r){return!r&&typeof n=="object"&&(r=n,n=null),new Promise((o,s)=>{if(!this.ready)return s(new Error("socket not ready"));let i=this.generate_request_id(e,t),a={jsonrpc:"2.0",method:e,params:t||void 0,id:i};this.socket.send(this.dataPack.encode(a),r,c=>{if(c)return s(c);this.queue[i]={promise:[o,s]},n&&(this.queue[i].timeout=setTimeout(()=>{delete this.queue[i],s(new Error("reply timeout"))},n))})})}async login(e){let t=await this.call("rpc.login",e);if(!t)throw new Error("authentication failed");return t}async listMethods(){return await this.call("__listMethods")}notify(e,t){return new Promise((n,r)=>{if(!this.ready)return r(new Error("socket not ready"));let o={jsonrpc:"2.0",method:e,params:t};this.socket.send(this.dataPack.encode(o),s=>{if(s)return r(s);n()})})}async subscribe(e){typeof e=="string"&&(e=[e]);let t=await this.call("rpc.on",e);if(typeof e=="string"&&t[e]!=="ok")throw new Error("Failed subscribing to an event '"+e+"' with: "+t[e]);return t}async unsubscribe(e){typeof e=="string"&&(e=[e]);let t=await this.call("rpc.off",e);if(typeof e=="string"&&t[e]!=="ok")throw new Error("Failed unsubscribing from an event with: "+t);return t}close(e,t){this.socket&&this.socket.close(e||1e3,t)}setAutoReconnect(e){this.reconnect=e}setReconnectInterval(e){this.reconnect_interval=e}setMaxReconnects(e){this.max_reconnects=e}getCurrentReconnects(){return this.current_reconnects}getMaxReconnects(){return this.max_reconnects}isReconnecting(){return this.reconnect_timer_id!==void 0}willReconnect(){return this.reconnect&&(this.max_reconnects===0||this.current_reconnects{this.ready=!0,this.emit("open"),this.current_reconnects=0}),this.socket.addEventListener("message",({data:n})=>{n instanceof ArrayBuffer&&(n=Xte.Buffer.from(n).toString());try{n=this.dataPack.decode(n)}catch{return}if(n.notification&&this.listeners(n.notification).length){if(!Object.keys(n.params).length)return this.emit(n.notification);let r=[n.notification];if(n.params.constructor===Object)r.push(n.params);else for(let o=0;o{this.emit.apply(this,r)})}if(!this.queue[n.id])return n.method?Promise.resolve().then(()=>{this.emit(n.method,n?.params)}):void 0;"error"in n=="result"in n&&this.queue[n.id].promise[1](new Error('Server response malformed. Response must include either "result" or "error", but not both.')),this.queue[n.id].timeout&&clearTimeout(this.queue[n.id].timeout),n.error?this.queue[n.id].promise[1](n.error):this.queue[n.id].promise[0](n.result),delete this.queue[n.id]}),this.socket.addEventListener("error",n=>this.emit("error",n)),this.socket.addEventListener("close",({code:n,reason:r})=>{this.ready&&setTimeout(()=>this.emit("close",n,r),0),this.ready=!1,this.socket=void 0,n!==1e3&&(this.current_reconnects++,this.reconnect&&(this.max_reconnects>this.current_reconnects||this.max_reconnects===0)?this.reconnect_timer_id=setTimeout(()=>this._connect(e,t),this.reconnect_interval):this.reconnect&&this.max_reconnects>0&&this.current_reconnects>=this.max_reconnects&&setTimeout(()=>this.emit("max_reconnects_reached",n,r),1))})}},Qte=class extends oL{constructor(e="ws://localhost:8080",{autoconnect:t=!0,reconnect:n=!0,reconnect_interval:r=1e3,max_reconnects:o=5,...s}={},i){super(nL,e,{autoconnect:t,reconnect:n,reconnect_interval:r,max_reconnects:o,...s},i)}};jh.Client=Qte;jh.CommonClient=oL;jh.DefaultDataPack=rL;jh.WebSocket=nL});var mL=Xe(Rn=>{"use strict";Object.defineProperty(Rn,"__esModule",{value:!0});Rn.shake256=Rn.shake128=Rn.keccak_512=Rn.keccak_384=Rn.keccak_256=Rn.keccak_224=Rn.sha3_512=Rn.sha3_384=Rn.sha3_256=Rn.sha3_224=Rn.Keccak=void 0;Rn.keccakP=fL;var Wh=ST(),uo=ea(),ene=BigInt(0),Gh=BigInt(1),tne=BigInt(2),nne=BigInt(7),rne=BigInt(256),one=BigInt(113),cL=[],uL=[],dL=[];for(let e=0,t=Gh,n=1,r=0;e<24;e++){[n,r]=[r,(2*n+3*r)%5],cL.push(2*(5*r+n)),uL.push((e+1)*(e+2)/2%64);let o=ene;for(let s=0;s<7;s++)t=(t<>nne)*one)%rne,t&tne&&(o^=Gh<<(Gh<n>32?(0,Wh.rotlBH)(e,t,n):(0,Wh.rotlSH)(e,t,n),aL=(e,t,n)=>n>32?(0,Wh.rotlBL)(e,t,n):(0,Wh.rotlSL)(e,t,n);function fL(e,t=24){let n=new Uint32Array(10);for(let r=24-t;r<24;r++){for(let i=0;i<10;i++)n[i]=e[i]^e[i+10]^e[i+20]^e[i+30]^e[i+40];for(let i=0;i<10;i+=2){let a=(i+8)%10,c=(i+2)%10,u=n[c],d=n[c+1],l=iL(u,d,1)^n[a],m=aL(u,d,1)^n[a+1];for(let p=0;p<50;p+=10)e[i+p]^=l,e[i+p+1]^=m}let o=e[2],s=e[3];for(let i=0;i<24;i++){let a=uL[i],c=iL(o,s,a),u=aL(o,s,a),d=cL[i];o=e[d],s=e[d+1],e[d]=c,e[d+1]=u}for(let i=0;i<50;i+=10){for(let a=0;a<10;a++)n[a]=e[i+a];for(let a=0;a<10;a++)e[i+a]^=~n[(a+2)%10]&n[(a+4)%10]}e[0]^=sne[r],e[1]^=ine[r]}(0,uo.clean)(n)}var qh=class e extends uo.Hash{constructor(t,n,r,o=!1,s=24){if(super(),this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,this.enableXOF=!1,this.blockLen=t,this.suffix=n,this.outputLen=r,this.enableXOF=o,this.rounds=s,(0,uo.anumber)(r),!(0=r&&this.keccak();let i=Math.min(r-this.posOut,s-o);t.set(n.subarray(this.posOut,this.posOut+i),o),this.posOut+=i,o+=i}return t}xofInto(t){if(!this.enableXOF)throw new Error("XOF is not possible for this instance");return this.writeInto(t)}xof(t){return(0,uo.anumber)(t),this.xofInto(new Uint8Array(t))}digestInto(t){if((0,uo.aoutput)(t,this),this.finished)throw new Error("digest() was already called");return this.writeInto(t),this.destroy(),t}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,(0,uo.clean)(this.state)}_cloneInto(t){let{blockLen:n,suffix:r,outputLen:o,rounds:s,enableXOF:i}=this;return t||(t=new e(n,r,o,i,s)),t.state32.set(this.state32),t.pos=this.pos,t.posOut=this.posOut,t.finished=this.finished,t.rounds=s,t.suffix=r,t.outputLen=o,t.enableXOF=i,t.destroyed=this.destroyed,t}};Rn.Keccak=qh;var Su=(e,t,n)=>(0,uo.createHasher)(()=>new qh(t,e,n));Rn.sha3_224=Su(6,144,224/8);Rn.sha3_256=Su(6,136,256/8);Rn.sha3_384=Su(6,104,384/8);Rn.sha3_512=Su(6,72,512/8);Rn.keccak_224=Su(1,144,224/8);Rn.keccak_256=Su(1,136,256/8);Rn.keccak_384=Su(1,104,384/8);Rn.keccak_512=Su(1,72,512/8);var pL=(e,t,n)=>(0,uo.createXOFer)((r={})=>new qh(t,e,r.dkLen===void 0?n:r.dkLen,!0));Rn.shake128=pL(31,168,128/8);Rn.shake256=pL(31,136,256/8)});var hL=Xe(Sl=>{"use strict";Object.defineProperty(Sl,"__esModule",{value:!0});Sl.hmac=Sl.HMAC=void 0;var Tl=ea(),Kh=class extends Tl.Hash{constructor(t,n){super(),this.finished=!1,this.destroyed=!1,(0,Tl.ahash)(t);let r=(0,Tl.toBytes)(n);if(this.iHash=t.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;let o=this.blockLen,s=new Uint8Array(o);s.set(r.length>o?t.create().update(r).digest():r);for(let i=0;inew Kh(e,t).update(n).digest();Sl.hmac=ane;Sl.hmac.create=(e,t)=>new Kh(e,t)});var KS=Xe(vn=>{"use strict";Object.defineProperty(vn,"__esModule",{value:!0});vn.DER=vn.DERErr=void 0;vn._splitEndoScalar=bL;vn._normFnElement=Ru;vn.weierstrassN=qS;vn.SWUFpSqrtRatio=_L;vn.mapToCurveSimpleSWU=dne;vn.ecdh=EL;vn.ecdsa=xL;vn.weierstrassPoints=lne;vn._legacyHelperEquat=TL;vn.weierstrass=hne;var cne=hL(),une=ea(),Oe=nc(),ac=i_(),Cp=bu(),yL=(e,t)=>(e+(e>=0?t:-t)/da)/t;function bL(e,t,n){let[[r,o],[s,i]]=t,a=yL(i*e,n),c=yL(-o*e,n),u=e-a*r-c*s,d=-a*o-c*i,l=u=p||d=p)throw new Error("splitScalar (endomorphism): failed, k="+e);return{k1neg:l,k1:u,k2neg:m,k2:d}}function GS(e){if(!["compact","recovered","der"].includes(e))throw new Error('Signature format must be "compact", "recovered", or "der"');return e}function jS(e,t){let n={};for(let r of Object.keys(t))n[r]=e[r]===void 0?t[r]:e[r];return(0,Oe._abool2)(n.lowS,"lowS"),(0,Oe._abool2)(n.prehash,"prehash"),n.format!==void 0&&GS(n.format),n}var e1=class extends Error{constructor(t=""){super(t)}};vn.DERErr=e1;vn.DER={Err:e1,_tlv:{encode:(e,t)=>{let{Err:n}=vn.DER;if(e<0||e>256)throw new n("tlv.encode: wrong tag");if(t.length&1)throw new n("tlv.encode: unpadded data");let r=t.length/2,o=(0,Oe.numberToHexUnpadded)(r);if(o.length/2&128)throw new n("tlv.encode: long form length too big");let s=r>127?(0,Oe.numberToHexUnpadded)(o.length/2|128):"";return(0,Oe.numberToHexUnpadded)(e)+s+o+t},decode(e,t){let{Err:n}=vn.DER,r=0;if(e<0||e>256)throw new n("tlv.encode: wrong tag");if(t.length<2||t[r++]!==e)throw new n("tlv.decode: wrong tlv");let o=t[r++],s=!!(o&128),i=0;if(!s)i=o;else{let c=o&127;if(!c)throw new n("tlv.decode(long): indefinite length not supported");if(c>4)throw new n("tlv.decode(long): byte length is too big");let u=t.subarray(r,r+c);if(u.length!==c)throw new n("tlv.decode: length bytes not complete");if(u[0]===0)throw new n("tlv.decode(long): zero leftmost byte");for(let d of u)i=i<<8|d;if(r+=c,i<128)throw new n("tlv.decode(long): not minimal encoding")}let a=t.subarray(r,r+i);if(a.length!==i)throw new n("tlv.decode: wrong value length");return{v:a,l:t.subarray(r+i)}}},_int:{encode(e){let{Err:t}=vn.DER;if(e{let{X:f,Y:y,Z:A}=X;if(r.eql(A,r.ONE))return{x:f,y};let T=X.is0();w==null&&(w=T?r.ONE:r.inv(A));let I=r.mul(f,w),k=r.mul(y,w),P=r.mul(A,w);if(T)return{x:r.ZERO,y:r.ZERO};if(!r.eql(P,r.ONE))throw new Error("invZ was invalid");return{x:I,y:k}}),U=(0,Oe.memoized)(X=>{if(X.is0()){if(t.allowInfinityPoint&&!r.is0(X.Y))return;throw new Error("bad point: ZERO")}let{x:w,y:f}=X.toAffine();if(!r.isValid(w)||!r.isValid(f))throw new Error("bad point: x or y not field elements");if(!x(w,f))throw new Error("bad point: equation left != right");if(!X.isTorsionFree())throw new Error("bad point: not in prime-order subgroup");return!0});function V(X,w,f,y,A){return f=new $(r.mul(f.X,X),f.Y,f.Z),w=(0,ac.negateCt)(y,w),f=(0,ac.negateCt)(A,f),w.add(f)}class ${constructor(w,f,y){this.X=C("x",w),this.Y=C("y",f,!0),this.Z=C("z",y),Object.freeze(this)}static CURVE(){return s}static fromAffine(w){let{x:f,y}=w||{};if(!w||!r.isValid(f)||!r.isValid(y))throw new Error("invalid affine point");if(w instanceof $)throw new Error("projective point not allowed");return r.is0(f)&&r.is0(y)?$.ZERO:new $(f,y,r.ONE)}static fromBytes(w){let f=$.fromAffine(g((0,Oe._abytes2)(w,void 0,"point")));return f.assertValidity(),f}static fromHex(w){return $.fromBytes((0,Oe.ensureBytes)("pointHex",w))}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(w=8,f=!0){return W.createCache(this,w),f||this.multiply(Ip),this}assertValidity(){U(this)}hasEvenY(){let{y:w}=this.toAffine();if(!r.isOdd)throw new Error("Field doesn't support isOdd");return!r.isOdd(w)}equals(w){v(w);let{X:f,Y:y,Z:A}=this,{X:T,Y:I,Z:k}=w,P=r.eql(r.mul(f,k),r.mul(T,A)),O=r.eql(r.mul(y,k),r.mul(I,A));return P&&O}negate(){return new $(this.X,r.neg(this.Y),this.Z)}double(){let{a:w,b:f}=s,y=r.mul(f,Ip),{X:A,Y:T,Z:I}=this,k=r.ZERO,P=r.ZERO,O=r.ZERO,_=r.mul(A,A),L=r.mul(T,T),ce=r.mul(I,I),R=r.mul(A,T);return R=r.add(R,R),O=r.mul(A,I),O=r.add(O,O),k=r.mul(w,O),P=r.mul(y,ce),P=r.add(k,P),k=r.sub(L,P),P=r.add(L,P),P=r.mul(k,P),k=r.mul(R,k),O=r.mul(y,O),ce=r.mul(w,ce),R=r.sub(_,ce),R=r.mul(w,R),R=r.add(R,O),O=r.add(_,_),_=r.add(O,_),_=r.add(_,ce),_=r.mul(_,R),P=r.add(P,_),ce=r.mul(T,I),ce=r.add(ce,ce),_=r.mul(ce,R),k=r.sub(k,_),O=r.mul(ce,L),O=r.add(O,O),O=r.add(O,O),new $(k,P,O)}add(w){v(w);let{X:f,Y:y,Z:A}=this,{X:T,Y:I,Z:k}=w,P=r.ZERO,O=r.ZERO,_=r.ZERO,L=s.a,ce=r.mul(s.b,Ip),R=r.mul(f,T),K=r.mul(y,I),J=r.mul(A,k),re=r.add(f,y),ae=r.add(T,I);re=r.mul(re,ae),ae=r.add(R,K),re=r.sub(re,ae),ae=r.add(f,A);let me=r.add(T,k);return ae=r.mul(ae,me),me=r.add(R,J),ae=r.sub(ae,me),me=r.add(y,A),P=r.add(I,k),me=r.mul(me,P),P=r.add(K,J),me=r.sub(me,P),_=r.mul(L,ae),P=r.mul(ce,J),_=r.add(P,_),P=r.sub(K,_),_=r.add(K,_),O=r.mul(P,_),K=r.add(R,R),K=r.add(K,R),J=r.mul(L,J),ae=r.mul(ce,ae),K=r.add(K,J),J=r.sub(R,J),J=r.mul(L,J),ae=r.add(ae,J),R=r.mul(K,ae),O=r.add(O,R),R=r.mul(me,ae),P=r.mul(re,P),P=r.sub(P,R),R=r.mul(re,K),_=r.mul(me,_),_=r.add(_,R),new $(P,O,_)}subtract(w){return this.add(w.negate())}is0(){return this.equals($.ZERO)}multiply(w){let{endo:f}=t;if(!o.isValidNot0(w))throw new Error("invalid scalar: out of range");let y,A,T=I=>W.cached(this,I,k=>(0,ac.normalizeZ)($,k));if(f){let{k1neg:I,k1:k,k2neg:P,k2:O}=D(w),{p:_,f:L}=T(k),{p:ce,f:R}=T(O);A=L.add(R),y=V(f.beta,_,ce,I,P)}else{let{p:I,f:k}=T(w);y=I,A=k}return(0,ac.normalizeZ)($,[y,A])[0]}multiplyUnsafe(w){let{endo:f}=t,y=this;if(!o.isValid(w))throw new Error("invalid scalar: out of range");if(w===Ri||y.is0())return $.ZERO;if(w===jr)return y;if(W.hasCache(this))return this.multiply(w);if(f){let{k1neg:A,k1:T,k2neg:I,k2:k}=D(w),{p1:P,p2:O}=(0,ac.mulEndoUnsafe)($,y,T,k);return V(f.beta,P,O,A,I)}else return W.unsafe(y,w)}multiplyAndAddUnsafe(w,f,y){let A=this.multiplyUnsafe(f).add(w.multiplyUnsafe(y));return A.is0()?void 0:A}toAffine(w){return F(this,w)}isTorsionFree(){let{isTorsionFree:w}=t;return i===jr?!0:w?w($,this):W.unsafe(this,a).is0()}clearCofactor(){let{clearCofactor:w}=t;return i===jr?this:w?w($,this):this.multiplyUnsafe(i)}isSmallOrder(){return this.multiplyUnsafe(i).is0()}toBytes(w=!0){return(0,Oe._abool2)(w,"isCompressed"),this.assertValidity(),p($,this,w)}toHex(w=!0){return(0,Oe.bytesToHex)(this.toBytes(w))}toString(){return``}get px(){return this.X}get py(){return this.X}get pz(){return this.Z}toRawBytes(w=!0){return this.toBytes(w)}_setWindowSize(w){this.precompute(w)}static normalizeZ(w){return(0,ac.normalizeZ)($,w)}static msm(w,f){return(0,ac.pippenger)($,o,w,f)}static fromPrivateKey(w){return $.BASE.multiply(Ru(o,w))}}$.BASE=new $(s.Gx,s.Gy,r.ONE),$.ZERO=new $(r.ZERO,r.ONE,r.ZERO),$.Fp=r,$.Fn=o;let z=o.BITS,W=new ac.wNAF($,t.endo?Math.ceil(z/2):z);return $.BASE.precompute(8),$}function gL(e){return Uint8Array.of(e?2:3)}function _L(e,t){let n=e.ORDER,r=Ri;for(let g=n-jr;g%da===Ri;g/=da)r+=jr;let o=r,s=da<{let x=l,S=e.pow(E,u),N=e.sqr(S);N=e.mul(N,E);let C=e.mul(g,N);C=e.pow(C,c),C=e.mul(C,S),S=e.mul(C,E),N=e.mul(C,g);let v=e.mul(N,S);C=e.pow(v,d);let D=e.eql(C,e.ONE);S=e.mul(N,m),C=e.mul(v,x),N=e.cmov(S,N,D),v=e.cmov(C,v,D);for(let F=o;F>jr;F--){let U=F-da;U=da<{let N=e.sqr(S),C=e.mul(x,S);N=e.mul(N,C);let v=e.pow(N,g);v=e.mul(v,C);let D=e.mul(v,E),F=e.mul(e.sqr(v),S),U=e.eql(F,x),V=e.cmov(D,v,U);return{isValid:U,value:V}}}return p}function dne(e,t){(0,Cp.validateField)(e);let{A:n,B:r,Z:o}=t;if(!e.isValid(n)||!e.isValid(r)||!e.isValid(o))throw new Error("mapToCurveSimpleSWU: invalid opts");let s=_L(e,o);if(!e.isOdd)throw new Error("Field does not have .isOdd()");return i=>{let a,c,u,d,l,m,p,g;a=e.sqr(i),a=e.mul(a,o),c=e.sqr(a),c=e.add(c,a),u=e.add(c,e.ONE),u=e.mul(u,r),d=e.cmov(o,e.neg(c),!e.eql(c,e.ZERO)),d=e.mul(d,n),c=e.sqr(u),m=e.sqr(d),l=e.mul(m,n),c=e.add(c,l),c=e.mul(c,u),m=e.mul(m,d),l=e.mul(m,r),c=e.add(c,l),p=e.mul(a,u);let{isValid:E,value:x}=s(c,m);g=e.mul(a,i),g=e.mul(g,x),p=e.cmov(p,u,E),g=e.cmov(g,x,E);let S=e.isOdd(i)===e.isOdd(g);g=e.cmov(e.neg(g),g,S);let N=(0,Cp.FpInvertBatch)(e,[d],!0)[0];return p=e.mul(p,N),{x:p,y:g}}}function AL(e,t){return{secretKey:t.BYTES,publicKey:1+e.BYTES,publicKeyUncompressed:1+2*e.BYTES,publicKeyHasPrefix:!0,signature:2*t.BYTES}}function EL(e,t={}){let{Fn:n}=e,r=t.randomBytes||Oe.randomBytes,o=Object.assign(AL(e.Fp,n),{seed:(0,Cp.getMinHashLength)(n.ORDER)});function s(p){try{return!!Ru(n,p)}catch{return!1}}function i(p,g){let{publicKey:E,publicKeyUncompressed:x}=o;try{let S=p.length;return g===!0&&S!==E||g===!1&&S!==x?!1:!!e.fromBytes(p)}catch{return!1}}function a(p=r(o.seed)){return(0,Cp.mapHashToField)((0,Oe._abytes2)(p,o.seed,"seed"),n.ORDER)}function c(p,g=!0){return e.BASE.multiply(Ru(n,p)).toBytes(g)}function u(p){let g=a(p);return{secretKey:g,publicKey:c(g)}}function d(p){if(typeof p=="bigint")return!1;if(p instanceof e)return!0;let{secretKey:g,publicKey:E,publicKeyUncompressed:x}=o;if(n.allowedLengths||g===E)return;let S=(0,Oe.ensureBytes)("key",p).length;return S===E||S===x}function l(p,g,E=!0){if(d(p)===!0)throw new Error("first arg must be private key");if(d(g)===!1)throw new Error("second arg must be public key");let x=Ru(n,p);return e.fromHex(g).multiply(x).toBytes(E)}return Object.freeze({getPublicKey:c,getSharedSecret:l,keygen:u,Point:e,utils:{isValidSecretKey:s,isValidPublicKey:i,randomSecretKey:a,isValidPrivateKey:s,randomPrivateKey:a,normPrivateKeyToScalar:p=>Ru(n,p),precompute(p=8,g=e.BASE){return g.precompute(p,!1)}},lengths:o})}function xL(e,t,n={}){(0,une.ahash)(t),(0,Oe._validateObject)(n,{},{hmac:"function",lowS:"boolean",randomBytes:"function",bits2int:"function",bits2int_modN:"function"});let r=n.randomBytes||Oe.randomBytes,o=n.hmac||((f,...y)=>(0,cne.hmac)(t,f,(0,Oe.concatBytes)(...y))),{Fp:s,Fn:i}=e,{ORDER:a,BITS:c}=i,{keygen:u,getPublicKey:d,getSharedSecret:l,utils:m,lengths:p}=EL(e,n),g={prehash:!1,lowS:typeof n.lowS=="boolean"?n.lowS:!1,format:void 0,extraEntropy:!1},E="compact";function x(f){let y=a>>jr;return f>y}function S(f,y){if(!i.isValidNot0(y))throw new Error(`invalid signature ${f}: out of range 1..Point.Fn.ORDER`);return y}function N(f,y){GS(y);let A=p.signature,T=y==="compact"?A:y==="recovered"?A+1:void 0;return(0,Oe._abytes2)(f,T,`${y} signature`)}class C{constructor(y,A,T){this.r=S("r",y),this.s=S("s",A),T!=null&&(this.recovery=T),Object.freeze(this)}static fromBytes(y,A=E){N(y,A);let T;if(A==="der"){let{r:O,s:_}=vn.DER.toSig((0,Oe._abytes2)(y));return new C(O,_)}A==="recovered"&&(T=y[0],A="compact",y=y.subarray(1));let I=i.BYTES,k=y.subarray(0,I),P=y.subarray(I,I*2);return new C(i.fromBytes(k),i.fromBytes(P),T)}static fromHex(y,A){return this.fromBytes((0,Oe.hexToBytes)(y),A)}addRecoveryBit(y){return new C(this.r,this.s,y)}recoverPublicKey(y){let A=s.ORDER,{r:T,s:I,recovery:k}=this;if(k==null||![0,1,2,3].includes(k))throw new Error("recovery id invalid");if(a*da1)throw new Error("recovery id is ambiguous for h>1 curve");let O=k===2||k===3?T+a:T;if(!s.isValid(O))throw new Error("recovery id 2 or 3 invalid");let _=s.toBytes(O),L=e.fromBytes((0,Oe.concatBytes)(gL((k&1)===0),_)),ce=i.inv(O),R=D((0,Oe.ensureBytes)("msgHash",y)),K=i.create(-R*ce),J=i.create(I*ce),re=e.BASE.multiplyUnsafe(K).add(L.multiplyUnsafe(J));if(re.is0())throw new Error("point at infinify");return re.assertValidity(),re}hasHighS(){return x(this.s)}toBytes(y=E){if(GS(y),y==="der")return(0,Oe.hexToBytes)(vn.DER.hexFromSig(this));let A=i.toBytes(this.r),T=i.toBytes(this.s);if(y==="recovered"){if(this.recovery==null)throw new Error("recovery bit must be present");return(0,Oe.concatBytes)(Uint8Array.of(this.recovery),A,T)}return(0,Oe.concatBytes)(A,T)}toHex(y){return(0,Oe.bytesToHex)(this.toBytes(y))}assertValidity(){}static fromCompact(y){return C.fromBytes((0,Oe.ensureBytes)("sig",y),"compact")}static fromDER(y){return C.fromBytes((0,Oe.ensureBytes)("sig",y),"der")}normalizeS(){return this.hasHighS()?new C(this.r,i.neg(this.s),this.recovery):this}toDERRawBytes(){return this.toBytes("der")}toDERHex(){return(0,Oe.bytesToHex)(this.toBytes("der"))}toCompactRawBytes(){return this.toBytes("compact")}toCompactHex(){return(0,Oe.bytesToHex)(this.toBytes("compact"))}}let v=n.bits2int||function(y){if(y.length>8192)throw new Error("input is too large");let A=(0,Oe.bytesToNumberBE)(y),T=y.length*8-c;return T>0?A>>BigInt(T):A},D=n.bits2int_modN||function(y){return i.create(v(y))},F=(0,Oe.bitMask)(c);function U(f){return(0,Oe.aInRange)("num < 2^"+c,f,Ri,F),i.toBytes(f)}function V(f,y){return(0,Oe._abytes2)(f,void 0,"message"),y?(0,Oe._abytes2)(t(f),void 0,"prehashed message"):f}function $(f,y,A){if(["recovered","canonical"].some(K=>K in A))throw new Error("sign() legacy options not supported");let{lowS:T,prehash:I,extraEntropy:k}=jS(A,g);f=V(f,I);let P=D(f),O=Ru(i,y),_=[U(O),U(P)];if(k!=null&&k!==!1){let K=k===!0?r(p.secretKey):k;_.push((0,Oe.ensureBytes)("extraEntropy",K))}let L=(0,Oe.concatBytes)(..._),ce=P;function R(K){let J=v(K);if(!i.isValidNot0(J))return;let re=i.inv(J),ae=e.BASE.multiply(J).toAffine(),me=i.create(ae.x);if(me===Ri)return;let he=i.create(re*i.create(ce+me*O));if(he===Ri)return;let pe=(ae.x===me?0:2)|Number(ae.y&jr),ct=he;return T&&x(he)&&(ct=i.neg(he),pe^=1),new C(me,ct,pe)}return{seed:L,k2sig:R}}function z(f,y,A={}){f=(0,Oe.ensureBytes)("message",f);let{seed:T,k2sig:I}=$(f,y,A);return(0,Oe.createHmacDrbg)(t.outputLen,i.BYTES,o)(T,I)}function W(f){let y,A=typeof f=="string"||(0,Oe.isBytes)(f),T=!A&&f!==null&&typeof f=="object"&&typeof f.r=="bigint"&&typeof f.s=="bigint";if(!A&&!T)throw new Error("invalid signature, expected Uint8Array, hex string or Signature instance");if(T)y=new C(f.r,f.s);else if(A){try{y=C.fromBytes((0,Oe.ensureBytes)("sig",f),"der")}catch(I){if(!(I instanceof vn.DER.Err))throw I}if(!y)try{y=C.fromBytes((0,Oe.ensureBytes)("sig",f),"compact")}catch{return!1}}return y||!1}function X(f,y,A,T={}){let{lowS:I,prehash:k,format:P}=jS(T,g);if(A=(0,Oe.ensureBytes)("publicKey",A),y=V((0,Oe.ensureBytes)("message",y),k),"strict"in T)throw new Error("options.strict was renamed to lowS");let O=P===void 0?W(f):C.fromBytes((0,Oe.ensureBytes)("sig",f),P);if(O===!1)return!1;try{let _=e.fromBytes(A);if(I&&O.hasHighS())return!1;let{r:L,s:ce}=O,R=D(y),K=i.inv(ce),J=i.create(R*K),re=i.create(L*K),ae=e.BASE.multiplyUnsafe(J).add(_.multiplyUnsafe(re));return ae.is0()?!1:i.create(ae.x)===L}catch{return!1}}function w(f,y,A={}){let{prehash:T}=jS(A,g);return y=V(y,T),C.fromBytes(f,"recovered").recoverPublicKey(y).toBytes()}return Object.freeze({keygen:u,getPublicKey:d,getSharedSecret:l,utils:m,lengths:p,Point:e,sign:z,verify:X,recoverPublicKey:w,Signature:C,hash:t})}function lne(e){let{CURVE:t,curveOpts:n}=wL(e),r=qS(t,n);return pne(e,r)}function wL(e){let t={a:e.a,b:e.b,p:e.Fp.ORDER,n:e.n,h:e.h,Gx:e.Gx,Gy:e.Gy},n=e.Fp,r=e.allowedPrivateKeyLengths?Array.from(new Set(e.allowedPrivateKeyLengths.map(i=>Math.ceil(i/2)))):void 0,o=(0,Cp.Field)(t.n,{BITS:e.nBitLength,allowedLengths:r,modFromBytes:e.wrapPrivateKey}),s={Fp:n,Fn:o,allowInfinityPoint:e.allowInfinityPoint,endo:e.endo,isTorsionFree:e.isTorsionFree,clearCofactor:e.clearCofactor,fromBytes:e.fromBytes,toBytes:e.toBytes};return{CURVE:t,curveOpts:s}}function fne(e){let{CURVE:t,curveOpts:n}=wL(e),r={hmac:e.hmac,randomBytes:e.randomBytes,lowS:e.lowS,bits2int:e.bits2int,bits2int_modN:e.bits2int_modN};return{CURVE:t,curveOpts:n,hash:e.hash,ecdsaOpts:r}}function TL(e,t,n){function r(o){let s=e.sqr(o),i=e.mul(s,o);return e.add(e.add(i,e.mul(o,t)),n)}return r}function pne(e,t){let{Fp:n,Fn:r}=t;function o(i){return(0,Oe.inRange)(i,jr,r.ORDER)}let s=TL(n,e.a,e.b);return Object.assign({},{CURVE:e,Point:t,ProjectivePoint:t,normPrivateKeyToScalar:i=>Ru(r,i),weierstrassEquation:s,isWithinCurveOrder:o})}function mne(e,t){let n=t.Point;return Object.assign({},t,{ProjectivePoint:n,CURVE:Object.assign({},e,(0,Cp.nLength)(n.Fn.ORDER,n.Fn.BITS))})}function hne(e){let{CURVE:t,curveOpts:n,hash:r,ecdsaOpts:o}=fne(e),s=qS(t,n),i=xL(s,r,o);return mne(e,i)}});var SL=Xe(t1=>{"use strict";Object.defineProperty(t1,"__esModule",{value:!0});t1.getHash=bne;t1.createCurve=gne;var yne=KS();function bne(e){return{hash:e}}function gne(e,t){let n=r=>(0,yne.weierstrass)({...e,hash:r});return{...n(t),create:n}}});var PL=Xe(Gr=>{"use strict";Object.defineProperty(Gr,"__esModule",{value:!0});Gr.encodeToCurve=Gr.hashToCurve=Gr.secp256k1_hasher=Gr.schnorr=Gr.secp256k1=void 0;var n1=t_(),CL=ea(),_ne=SL(),NL=$T(),Io=bu(),OL=KS(),_s=nc(),Np={p:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),n:BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),h:BigInt(1),a:BigInt(0),b:BigInt(7),Gx:BigInt("0x79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"),Gy:BigInt("0x483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8")},Ane={beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),basises:[[BigInt("0x3086d221a7d46bcde86c90e49284eb15"),-BigInt("0xe4437ed6010e88286f547fa90abfe4c3")],[BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),BigInt("0x3086d221a7d46bcde86c90e49284eb15")]]},Ene=BigInt(0),RL=BigInt(1),YS=BigInt(2);function xne(e){let t=Np.p,n=BigInt(3),r=BigInt(6),o=BigInt(11),s=BigInt(22),i=BigInt(23),a=BigInt(44),c=BigInt(88),u=e*e*e%t,d=u*u*e%t,l=(0,Io.pow2)(d,n,t)*d%t,m=(0,Io.pow2)(l,n,t)*d%t,p=(0,Io.pow2)(m,YS,t)*u%t,g=(0,Io.pow2)(p,o,t)*p%t,E=(0,Io.pow2)(g,s,t)*g%t,x=(0,Io.pow2)(E,a,t)*E%t,S=(0,Io.pow2)(x,c,t)*x%t,N=(0,Io.pow2)(S,a,t)*E%t,C=(0,Io.pow2)(N,n,t)*d%t,v=(0,Io.pow2)(C,i,t)*g%t,D=(0,Io.pow2)(v,r,t)*u%t,F=(0,Io.pow2)(D,YS,t);if(!cc.eql(cc.sqr(F),e))throw new Error("Cannot find square root");return F}var cc=(0,Io.Field)(Np.p,{sqrt:xne});Gr.secp256k1=(0,_ne.createCurve)({...Np,Fp:cc,lowS:!0,endo:Ane},n1.sha256);var vL={};function r1(e,...t){let n=vL[e];if(n===void 0){let r=(0,n1.sha256)((0,_s.utf8ToBytes)(e));n=(0,_s.concatBytes)(r,r),vL[e]=n}return(0,n1.sha256)((0,_s.concatBytes)(n,...t))}var XS=e=>e.toBytes(!0).slice(1),Op=Gr.secp256k1.Point,JS=e=>e%YS===Ene;function ZS(e){let{Fn:t,BASE:n}=Op,r=(0,OL._normFnElement)(t,e),o=n.multiply(r);return{scalar:JS(o.y)?r:t.neg(r),bytes:XS(o)}}function kL(e){let t=cc;if(!t.isValidNot0(e))throw new Error("invalid x: Fail if x \u2265 p");let n=t.create(e*e),r=t.create(n*e+BigInt(7)),o=t.sqrt(r);JS(o)||(o=t.neg(o));let s=Op.fromAffine({x:e,y:o});return s.assertValidity(),s}var Yh=_s.bytesToNumberBE;function DL(...e){return Op.Fn.create(Yh(r1("BIP0340/challenge",...e)))}function IL(e){return ZS(e).bytes}function wne(e,t,n=(0,CL.randomBytes)(32)){let{Fn:r}=Op,o=(0,_s.ensureBytes)("message",e),{bytes:s,scalar:i}=ZS(t),a=(0,_s.ensureBytes)("auxRand",n,32),c=r.toBytes(i^Yh(r1("BIP0340/aux",a))),u=r1("BIP0340/nonce",c,s,o),{bytes:d,scalar:l}=ZS(u),m=DL(d,s,o),p=new Uint8Array(64);if(p.set(d,0),p.set(r.toBytes(r.create(l+m*i)),32),!BL(p,o,s))throw new Error("sign: Invalid signature produced");return p}function BL(e,t,n){let{Fn:r,BASE:o}=Op,s=(0,_s.ensureBytes)("signature",e,64),i=(0,_s.ensureBytes)("message",t),a=(0,_s.ensureBytes)("publicKey",n,32);try{let c=kL(Yh(a)),u=Yh(s.subarray(0,32));if(!(0,_s.inRange)(u,RL,Np.p))return!1;let d=Yh(s.subarray(32,64));if(!(0,_s.inRange)(d,RL,Np.n))return!1;let l=DL(r.toBytes(u),XS(c),i),m=o.multiplyUnsafe(d).add(c.multiplyUnsafe(r.neg(l))),{x:p,y:g}=m.toAffine();return!(m.is0()||!JS(g)||p!==u)}catch{return!1}}Gr.schnorr=(()=>{let n=(o=(0,CL.randomBytes)(48))=>(0,Io.mapHashToField)(o,Np.n);Gr.secp256k1.utils.randomSecretKey;function r(o){let s=n(o);return{secretKey:s,publicKey:IL(s)}}return{keygen:r,getPublicKey:IL,sign:wne,verify:BL,Point:Op,utils:{randomSecretKey:n,randomPrivateKey:n,taggedHash:r1,lift_x:kL,pointToBytes:XS,numberToBytesBE:_s.numberToBytesBE,bytesToNumberBE:_s.bytesToNumberBE,mod:Io.mod},lengths:{secretKey:32,publicKey:32,publicKeyHasPrefix:!1,signature:64,seed:48}}})();var Tne=(0,NL.isogenyMap)(cc,[["0x8e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38daaaaa8c7","0x7d3d4c80bc321d5b9f315cea7fd44c5d595d2fc0bf63b92dfff1044f17c6581","0x534c328d23f234e6e2a413deca25caece4506144037c40314ecbd0b53d9dd262","0x8e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38daaaaa88c"],["0xd35771193d94918a9ca34ccbb7b640dd86cd409542f8487d9fe6b745781eb49b","0xedadc6f64383dc1df7c4b2d51b54225406d36b641f5e41bbc52a56612a8c6d14","0x0000000000000000000000000000000000000000000000000000000000000001"],["0x4bda12f684bda12f684bda12f684bda12f684bda12f684bda12f684b8e38e23c","0xc75e0c32d5cb7c0fa9d0a54b12a0a6d5647ab046d686da6fdffc90fc201d71a3","0x29a6194691f91a73715209ef6512e576722830a201be2018a765e85a9ecee931","0x2f684bda12f684bda12f684bda12f684bda12f684bda12f684bda12f38e38d84"],["0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffff93b","0x7a06534bb8bdb49fd5e9e6632722c2989467c1bfc8e8d978dfb425d2685c2573","0x6484aa716545ca2cf3a70c3fa8fe337e0a3d21162f0d6299a7bf8192bfd2a76f","0x0000000000000000000000000000000000000000000000000000000000000001"]].map(e=>e.map(t=>BigInt(t)))),Sne=(0,OL.mapToCurveSimpleSWU)(cc,{A:BigInt("0x3f8731abdd661adca08a5558f0f5d272e953d363cb6f0e5d405447c01a444533"),B:BigInt("1771"),Z:cc.create(BigInt("-11"))});Gr.secp256k1_hasher=(0,NL.createHasher)(Gr.secp256k1.Point,e=>{let{x:t,y:n}=Sne(cc.create(e[0]));return Tne(t,n)},{DST:"secp256k1_XMD:SHA-256_SSWU_RO_",encodeDST:"secp256k1_XMD:SHA-256_SSWU_NU_",p:cc.ORDER,m:1,k:128,expand:"xmd",hash:n1.sha256});Gr.hashToCurve=Gr.secp256k1_hasher.hashToCurve;Gr.encodeToCurve=Gr.secp256k1_hasher.encodeToCurve});var kl=Xe(be=>{"use strict";var $e=_p(),Fp=U8(),Rne=lu(),vne=h_(),LL=W8(),QS=J8(),sM=Q8(),iM=R9(),b=I9(),Ine=J9(),ML=sL(),FL=mL(),SR=PL();function RR(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}function Cne(e){if(e&&typeof e=="object"&&"default"in e)return e;var t=Object.create(null);return e&&Object.keys(e).forEach(function(n){if(n!=="default"){var r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:function(){return e[n]}})}}),t.default=e,Object.freeze(t)}var UL=RR(Rne),Ar=RR(vne),j=Cne(sM),Nne=RR(Ine),One=Fp.ed25519.utils.randomPrivateKey,HL=()=>{let e=Fp.ed25519.utils.randomPrivateKey(),t=c1(e),n=new Uint8Array(64);return n.set(e),n.set(t,32),{publicKey:t,secretKey:n}},c1=Fp.ed25519.getPublicKey;function $L(e){try{return Fp.ed25519.ExtendedPoint.fromHex(e),!0}catch{return!1}}var vR=(e,t)=>Fp.ed25519.sign(e,t.slice(0,32)),kne=Fp.ed25519.verify,st=e=>$e.Buffer.isBuffer(e)?e:e instanceof Uint8Array?$e.Buffer.from(e.buffer,e.byteOffset,e.byteLength):$e.Buffer.from(e),Jh=class{constructor(t){Object.assign(this,t)}encode(){return $e.Buffer.from(QS.serialize(Xh,this))}static decode(t){return QS.deserialize(Xh,this,t)}static decodeUnchecked(t){return QS.deserializeUnchecked(Xh,this,t)}},iR=class extends Jh{constructor(t){if(super(t),this.enum="",Object.keys(t).length!==1)throw new Error("Enum can only take single value");Object.keys(t).map(n=>{this.enum=n})}},Xh=new Map,aM,cM=32,Vs=32;function Dne(e){return e._bn!==void 0}var zL=1,ge=class e extends Jh{constructor(t){if(super({}),this._bn=void 0,Dne(t))this._bn=t._bn;else{if(typeof t=="string"){let n=Ar.default.decode(t);if(n.length!=Vs)throw new Error("Invalid public key input");this._bn=new UL.default(n)}else this._bn=new UL.default(t);if(this._bn.byteLength()>Vs)throw new Error("Invalid public key input")}}static unique(){let t=new e(zL);return zL+=1,new e(t.toBuffer())}equals(t){return this._bn.eq(t._bn)}toBase58(){return Ar.default.encode(this.toBytes())}toJSON(){return this.toBase58()}toBytes(){let t=this.toBuffer();return new Uint8Array(t.buffer,t.byteOffset,t.byteLength)}toBuffer(){let t=this._bn.toArrayLike($e.Buffer);if(t.length===Vs)return t;let n=$e.Buffer.alloc(32);return t.copy(n,32-t.length),n}get[Symbol.toStringTag](){return`PublicKey(${this.toString()})`}toString(){return this.toBase58()}static async createWithSeed(t,n,r){let o=$e.Buffer.concat([t.toBuffer(),$e.Buffer.from(n),r.toBuffer()]),s=LL.sha256(o);return new e(s)}static createProgramAddressSync(t,n){let r=$e.Buffer.alloc(0);t.forEach(function(s){if(s.length>cM)throw new TypeError("Max seed length exceeded");r=$e.Buffer.concat([r,st(s)])}),r=$e.Buffer.concat([r,n.toBuffer(),$e.Buffer.from("ProgramDerivedAddress")]);let o=LL.sha256(r);if($L(o))throw new Error("Invalid seeds, address must fall off the curve");return new e(o)}static async createProgramAddress(t,n){return this.createProgramAddressSync(t,n)}static findProgramAddressSync(t,n){let r=255,o;for(;r!=0;){try{let s=t.concat($e.Buffer.from([r]));o=this.createProgramAddressSync(s,n)}catch(s){if(s instanceof TypeError)throw s;r--;continue}return[o,r]}throw new Error("Unable to find a viable program address nonce")}static async findProgramAddress(t,n){return this.findProgramAddressSync(t,n)}static isOnCurve(t){let n=new e(t);return $L(n.toBytes())}};aM=ge;ge.default=new aM("11111111111111111111111111111111");Xh.set(ge,{kind:"struct",fields:[["_bn","u256"]]});var aR=class{constructor(t){if(this._publicKey=void 0,this._secretKey=void 0,t){let n=st(t);if(t.length!==64)throw new Error("bad secret key size");this._publicKey=n.slice(32,64),this._secretKey=n.slice(0,32)}else this._secretKey=st(One()),this._publicKey=st(c1(this._secretKey))}get publicKey(){return new ge(this._publicKey)}get secretKey(){return $e.Buffer.concat([this._secretKey,this._publicKey],64)}},Bne=new ge("BPFLoader1111111111111111111111111111111111"),Cu=1232,iy=127,vu=64,uM=129,Pne=4096,Qh=class extends Error{constructor(t){super(`Signature ${t} has expired: block height exceeded.`),this.signature=void 0,this.signature=t}};Object.defineProperty(Qh.prototype,"name",{value:"TransactionExpiredBlockheightExceededError"});var ey=class extends Error{constructor(t,n){super(`Transaction was not confirmed in ${n.toFixed(2)} seconds. It is unknown if it succeeded or failed. Check signature ${t} using the Solana Explorer or CLI tools.`),this.signature=void 0,this.signature=t}};Object.defineProperty(ey.prototype,"name",{value:"TransactionExpiredTimeoutError"});var Iu=class extends Error{constructor(t){super(`Signature ${t} has expired: the nonce is no longer valid.`),this.signature=void 0,this.signature=t}};Object.defineProperty(Iu.prototype,"name",{value:"TransactionExpiredNonceInvalidError"});var Nu=class{constructor(t,n){this.staticAccountKeys=void 0,this.accountKeysFromLookups=void 0,this.staticAccountKeys=t,this.accountKeysFromLookups=n}keySegments(){let t=[this.staticAccountKeys];return this.accountKeysFromLookups&&(t.push(this.accountKeysFromLookups.writable),t.push(this.accountKeysFromLookups.readonly)),t}get(t){for(let n of this.keySegments()){if(t256)throw new Error("Account index overflow encountered during compilation");let r=new Map;this.keySegments().flat().forEach((s,i)=>{r.set(s.toBase58(),i)});let o=s=>{let i=r.get(s.toBase58());if(i===void 0)throw new Error("Encountered an unknown instruction account key during compilation");return i};return t.map(s=>({programIdIndex:o(s.programId),accountKeyIndexes:s.keys.map(i=>o(i.pubkey)),data:s.data}))}},ht=(e="publicKey")=>j.blob(32,e),Lne=(e="signature")=>j.blob(64,e),vl=(e="string")=>{let t=j.struct([j.u32("length"),j.u32("lengthPadding"),j.blob(j.offset(j.u32(),-8),"chars")],e),n=t.decode.bind(t),r=t.encode.bind(t),o=t;return o.decode=(s,i)=>n(s,i).chars.toString(),o.encode=(s,i,a)=>{let c={chars:$e.Buffer.from(s,"utf8")};return r(c,i,a)},o.alloc=s=>j.u32().span+j.u32().span+$e.Buffer.from(s,"utf8").length,o},Mne=(e="authorized")=>j.struct([ht("staker"),ht("withdrawer")],e),Fne=(e="lockup")=>j.struct([j.ns64("unixTimestamp"),j.ns64("epoch"),ht("custodian")],e),Une=(e="voteInit")=>j.struct([ht("nodePubkey"),ht("authorizedVoter"),ht("authorizedWithdrawer"),j.u8("commission")],e),Hne=(e="voteAuthorizeWithSeedArgs")=>j.struct([j.u32("voteAuthorizationType"),ht("currentAuthorityDerivedKeyOwnerPubkey"),vl("currentAuthorityDerivedKeySeed"),ht("newAuthorized")],e);function dM(e,t){let n=o=>{if(o.span>=0)return o.span;if(typeof o.alloc=="function")return o.alloc(t[o.property]);if("count"in o&&"elementLayout"in o){let s=t[o.property];if(Array.isArray(s))return s.length*n(o.elementLayout)}else if("fields"in o)return dM({layout:o},t[o.property]);return 0},r=0;return e.layout.fields.forEach(o=>{r+=n(o)}),r}function Zo(e){let t=0,n=0;for(;;){let r=e.shift();if(t|=(r&127)<>=7,n==0){e.push(r);break}else r|=128,e.push(r)}}function ut(e,t){if(!e)throw new Error(t||"Assertion failed")}var u1=class e{constructor(t,n){this.payer=void 0,this.keyMetaMap=void 0,this.payer=t,this.keyMetaMap=n}static compile(t,n){let r=new Map,o=i=>{let a=i.toBase58(),c=r.get(a);return c===void 0&&(c={isSigner:!1,isWritable:!1,isInvoked:!1},r.set(a,c)),c},s=o(n);s.isSigner=!0,s.isWritable=!0;for(let i of t){o(i.programId).isInvoked=!0;for(let a of i.keys){let c=o(a.pubkey);c.isSigner||=a.isSigner,c.isWritable||=a.isWritable}}return new e(n,r)}getMessageComponents(){let t=[...this.keyMetaMap.entries()];ut(t.length<=256,"Max static account keys length exceeded");let n=t.filter(([,c])=>c.isSigner&&c.isWritable),r=t.filter(([,c])=>c.isSigner&&!c.isWritable),o=t.filter(([,c])=>!c.isSigner&&c.isWritable),s=t.filter(([,c])=>!c.isSigner&&!c.isWritable),i={numRequiredSignatures:n.length+r.length,numReadonlySignedAccounts:r.length,numReadonlyUnsignedAccounts:s.length};{ut(n.length>0,"Expected at least one writable signer key");let[c]=n[0];ut(c===this.payer.toBase58(),"Expected first writable signer key to be the fee payer")}let a=[...n.map(([c])=>new ge(c)),...r.map(([c])=>new ge(c)),...o.map(([c])=>new ge(c)),...s.map(([c])=>new ge(c))];return[i,a]}extractTableLookup(t){let[n,r]=this.drainKeysFoundInLookupTable(t.state.addresses,i=>!i.isSigner&&!i.isInvoked&&i.isWritable),[o,s]=this.drainKeysFoundInLookupTable(t.state.addresses,i=>!i.isSigner&&!i.isInvoked&&!i.isWritable);if(!(n.length===0&&o.length===0))return[{accountKey:t.key,writableIndexes:n,readonlyIndexes:o},{writable:r,readonly:s}]}drainKeysFoundInLookupTable(t,n){let r=new Array,o=new Array;for(let[s,i]of this.keyMetaMap.entries())if(n(i)){let a=new ge(s),c=t.findIndex(u=>u.equals(a));c>=0&&(ut(c<256,"Max lookup table index exceeded"),r.push(c),o.push(a),this.keyMetaMap.delete(s))}return[r,o]}},lM="Reached end of buffer unexpectedly";function ur(e){if(e.length===0)throw new Error(lM);return e.shift()}function dr(e,...t){let[n]=t;if(t.length===2?n+(t[1]??0)>e.length:n>=e.length)throw new Error(lM);return e.splice(...t)}var ma=class e{constructor(t){this.header=void 0,this.accountKeys=void 0,this.recentBlockhash=void 0,this.instructions=void 0,this.indexToProgramIds=new Map,this.header=t.header,this.accountKeys=t.accountKeys.map(n=>new ge(n)),this.recentBlockhash=t.recentBlockhash,this.instructions=t.instructions,this.instructions.forEach(n=>this.indexToProgramIds.set(n.programIdIndex,this.accountKeys[n.programIdIndex]))}get version(){return"legacy"}get staticAccountKeys(){return this.accountKeys}get compiledInstructions(){return this.instructions.map(t=>({programIdIndex:t.programIdIndex,accountKeyIndexes:t.accounts,data:Ar.default.decode(t.data)}))}get addressTableLookups(){return[]}getAccountKeys(){return new Nu(this.staticAccountKeys)}static compile(t){let n=u1.compile(t.instructions,t.payerKey),[r,o]=n.getMessageComponents(),i=new Nu(o).compileInstructions(t.instructions).map(a=>({programIdIndex:a.programIdIndex,accounts:a.accountKeyIndexes,data:Ar.default.encode(a.data)}));return new e({header:r,accountKeys:o,recentBlockhash:t.recentBlockhash,instructions:i})}isAccountSigner(t){return t=this.header.numRequiredSignatures){let r=t-n,s=this.accountKeys.length-n-this.header.numReadonlyUnsignedAccounts;return r!this.isProgramId(n))}serialize(){let t=this.accountKeys.length,n=[];As(n,t);let r=this.instructions.map(l=>{let{accounts:m,programIdIndex:p}=l,g=Array.from(Ar.default.decode(l.data)),E=[];As(E,m.length);let x=[];return As(x,g.length),{programIdIndex:p,keyIndicesCount:$e.Buffer.from(E),keyIndices:m,dataLength:$e.Buffer.from(x),data:g}}),o=[];As(o,r.length);let s=$e.Buffer.alloc(Cu);$e.Buffer.from(o).copy(s);let i=o.length;r.forEach(l=>{let p=j.struct([j.u8("programIdIndex"),j.blob(l.keyIndicesCount.length,"keyIndicesCount"),j.seq(j.u8("keyIndex"),l.keyIndices.length,"keyIndices"),j.blob(l.dataLength.length,"dataLength"),j.seq(j.u8("userdatum"),l.data.length,"data")]).encode(l,s,i);i+=p}),s=s.slice(0,i);let a=j.struct([j.blob(1,"numRequiredSignatures"),j.blob(1,"numReadonlySignedAccounts"),j.blob(1,"numReadonlyUnsignedAccounts"),j.blob(n.length,"keyCount"),j.seq(ht("key"),t,"keys"),ht("recentBlockhash")]),c={numRequiredSignatures:$e.Buffer.from([this.header.numRequiredSignatures]),numReadonlySignedAccounts:$e.Buffer.from([this.header.numReadonlySignedAccounts]),numReadonlyUnsignedAccounts:$e.Buffer.from([this.header.numReadonlyUnsignedAccounts]),keyCount:$e.Buffer.from(n),keys:this.accountKeys.map(l=>st(l.toBytes())),recentBlockhash:Ar.default.decode(this.recentBlockhash)},u=$e.Buffer.alloc(2048),d=a.encode(c,u);return s.copy(u,d),u.slice(0,d+s.length)}static from(t){let n=[...t],r=ur(n);if(r!==(r&iy))throw new Error("Versioned messages must be deserialized with VersionedMessage.deserialize()");let o=ur(n),s=ur(n),i=Zo(n),a=[];for(let m=0;m0)throw new Error("Failed to get account keys because address table lookups were not resolved");return new Nu(this.staticAccountKeys,n)}isAccountSigner(t){return t=r){let o=t-r,s=this.addressTableLookups.reduce((i,a)=>i+a.writableIndexes.length,0);return o=this.header.numRequiredSignatures){let o=t-n,i=r-n-this.header.numReadonlyUnsignedAccounts;return os.key.equals(r.accountKey));if(!o)throw new Error(`Failed to find address lookup table account for table key ${r.accountKey.toBase58()}`);for(let s of r.writableIndexes)if(sd.toBytes()),recentBlockhash:Ar.default.decode(this.recentBlockhash),instructionsLength:new Uint8Array(r),serializedInstructions:n,addressTableLookupsLength:new Uint8Array(s),serializedAddressTableLookups:o},a);return a.slice(0,u)}serializeInstructions(){let t=0,n=new Uint8Array(Cu);for(let r of this.compiledInstructions){let o=Array();As(o,r.accountKeyIndexes.length);let s=Array();As(s,r.data.length);let i=j.struct([j.u8("programIdIndex"),j.blob(o.length,"encodedAccountKeyIndexesLength"),j.seq(j.u8(),r.accountKeyIndexes.length,"accountKeyIndexes"),j.blob(s.length,"encodedDataLength"),j.blob(r.data.length,"data")]);t+=i.encode({programIdIndex:r.programIdIndex,encodedAccountKeyIndexesLength:new Uint8Array(o),accountKeyIndexes:r.accountKeyIndexes,encodedDataLength:new Uint8Array(s),data:r.data},n,t)}return n.slice(0,t)}serializeAddressTableLookups(){let t=0,n=new Uint8Array(Cu);for(let r of this.addressTableLookups){let o=Array();As(o,r.writableIndexes.length);let s=Array();As(s,r.readonlyIndexes.length);let i=j.struct([ht("accountKey"),j.blob(o.length,"encodedWritableIndexesLength"),j.seq(j.u8(),r.writableIndexes.length,"writableIndexes"),j.blob(s.length,"encodedReadonlyIndexesLength"),j.seq(j.u8(),r.readonlyIndexes.length,"readonlyIndexes")]);t+=i.encode({accountKey:r.accountKey.toBytes(),encodedWritableIndexesLength:new Uint8Array(o),writableIndexes:r.writableIndexes,encodedReadonlyIndexesLength:new Uint8Array(s),readonlyIndexes:r.readonlyIndexes},n,t)}return n.slice(0,t)}static deserialize(t){let n=[...t],r=ur(n),o=r&iy;ut(r!==o,"Expected versioned message but received legacy message");let s=o;ut(s===0,`Expected versioned message with version 0 but found version ${s}`);let i={numRequiredSignatures:ur(n),numReadonlySignedAccounts:ur(n),numReadonlyUnsignedAccounts:ur(n)},a=[],c=Zo(n);for(let g=0;g=0;r--)n=n<=r)return!1;if(t>=this.header.numRequiredSignatures){let o=t-n,i=r-n-this.header.numReadonlyUnsignedAccounts;return o{let t=d1.deserializeMessageVersion(e);if(t==="legacy")return ma.from(e);if(t===0)return kp.deserialize(e);if(t===1)return ty.deserialize(e);throw new Error(`Transaction message version ${t} deserialization is not supported`)}},uc=(function(e){return e[e.BLOCKHEIGHT_EXCEEDED=0]="BLOCKHEIGHT_EXCEEDED",e[e.PROCESSED=1]="PROCESSED",e[e.TIMED_OUT=2]="TIMED_OUT",e[e.NONCE_INVALID=3]="NONCE_INVALID",e})({}),Gne=$e.Buffer.alloc(vu).fill(0),Vt=class{constructor(t){this.keys=void 0,this.programId=void 0,this.data=$e.Buffer.alloc(0),this.programId=t.programId,this.keys=t.keys,t.data&&(this.data=t.data)}toJSON(){return{keys:this.keys.map(({pubkey:t,isSigner:n,isWritable:r})=>({pubkey:t.toJSON(),isSigner:n,isWritable:r})),programId:this.programId.toJSON(),data:[...this.data]}}},$t=class e{get signature(){return this.signatures.length>0?this.signatures[0].signature:null}constructor(t){if(this.signatures=[],this.feePayer=void 0,this.instructions=[],this.recentBlockhash=void 0,this.lastValidBlockHeight=void 0,this.nonceInfo=void 0,this.minNonceContextSlot=void 0,this._message=void 0,this._json=void 0,!!t)if(t.feePayer&&(this.feePayer=t.feePayer),t.signatures&&(this.signatures=t.signatures),Object.prototype.hasOwnProperty.call(t,"nonceInfo")){let{minContextSlot:n,nonceInfo:r}=t;this.minNonceContextSlot=n,this.nonceInfo=r}else if(Object.prototype.hasOwnProperty.call(t,"lastValidBlockHeight")){let{blockhash:n,lastValidBlockHeight:r}=t;this.recentBlockhash=n,this.lastValidBlockHeight=r}else{let{recentBlockhash:n,nonceInfo:r}=t;r&&(this.nonceInfo=r),this.recentBlockhash=n}}toJSON(){return{recentBlockhash:this.recentBlockhash||null,feePayer:this.feePayer?this.feePayer.toJSON():null,nonceInfo:this.nonceInfo?{nonce:this.nonceInfo.nonce,nonceInstruction:this.nonceInfo.nonceInstruction.toJSON()}:null,instructions:this.instructions.map(t=>t.toJSON()),signers:this.signatures.map(({publicKey:t})=>t.toJSON())}}add(...t){if(t.length===0)throw new Error("No instructions");return t.forEach(n=>{"instructions"in n?this.instructions=this.instructions.concat(n.instructions):"data"in n&&"programId"in n&&"keys"in n?this.instructions.push(n):this.instructions.push(new Vt(n))}),this}compileMessage(){if(this._message&&JSON.stringify(this.toJSON())===JSON.stringify(this._json))return this._message;let t,n;if(this.nonceInfo?(t=this.nonceInfo.nonce,this.instructions[0]!=this.nonceInfo.nonceInstruction?n=[this.nonceInfo.nonceInstruction,...this.instructions]:n=this.instructions):(t=this.recentBlockhash,n=this.instructions),!t)throw new Error("Transaction recentBlockhash required");n.length<1&&console.warn("No instructions provided");let r;if(this.feePayer)r=this.feePayer;else if(this.signatures.length>0&&this.signatures[0].publicKey)r=this.signatures[0].publicKey;else throw new Error("Transaction fee payer required");for(let E=0;E{E.keys.forEach(S=>{s.push({...S})});let x=E.programId.toString();o.includes(x)||o.push(x)}),o.forEach(E=>{s.push({pubkey:new ge(E),isSigner:!1,isWritable:!1})});let i=[];s.forEach(E=>{let x=E.pubkey.toString(),S=i.findIndex(N=>N.pubkey.toString()===x);S>-1?(i[S].isWritable=i[S].isWritable||E.isWritable,i[S].isSigner=i[S].isSigner||E.isSigner):i.push(E)}),i.sort(function(E,x){if(E.isSigner!==x.isSigner)return E.isSigner?-1:1;if(E.isWritable!==x.isWritable)return E.isWritable?-1:1;let S={localeMatcher:"best fit",usage:"sort",sensitivity:"variant",ignorePunctuation:!1,numeric:!1,caseFirst:"lower"};return E.pubkey.toBase58().localeCompare(x.pubkey.toBase58(),"en",S)});let a=i.findIndex(E=>E.pubkey.equals(r));if(a>-1){let[E]=i.splice(a,1);E.isSigner=!0,E.isWritable=!0,i.unshift(E)}else i.unshift({pubkey:r,isSigner:!0,isWritable:!0});for(let E of this.signatures){let x=i.findIndex(S=>S.pubkey.equals(E.publicKey));if(x>-1)i[x].isSigner||(i[x].isSigner=!0,console.warn("Transaction references a signature that is unnecessary, only the fee payer and instruction signer accounts should sign a transaction. This behavior is deprecated and will throw an error in the next major version release."));else throw new Error(`unknown signer: ${E.publicKey.toString()}`)}let c=0,u=0,d=0,l=[],m=[];i.forEach(({pubkey:E,isSigner:x,isWritable:S})=>{x?(l.push(E.toString()),c+=1,S||(u+=1)):(m.push(E.toString()),S||(d+=1))});let p=l.concat(m),g=n.map(E=>{let{data:x,programId:S}=E;return{programIdIndex:p.indexOf(S.toString()),accounts:E.keys.map(N=>p.indexOf(N.pubkey.toString())),data:Ar.default.encode(x)}});return g.forEach(E=>{ut(E.programIdIndex>=0),E.accounts.forEach(x=>ut(x>=0))}),new ma({header:{numRequiredSignatures:c,numReadonlySignedAccounts:u,numReadonlyUnsignedAccounts:d},accountKeys:p,recentBlockhash:t,instructions:g})}_compile(){let t=this.compileMessage(),n=t.accountKeys.slice(0,t.header.numRequiredSignatures);return this.signatures.length===n.length&&this.signatures.every((o,s)=>n[s].equals(o.publicKey))||(this.signatures=n.map(r=>({signature:null,publicKey:r}))),t}serializeMessage(){return this._compile().serialize()}async getEstimatedFee(t){return(await t.getFeeForMessage(this.compileMessage())).value}setSigners(...t){if(t.length===0)throw new Error("No signers");let n=new Set;this.signatures=t.filter(r=>{let o=r.toString();return n.has(o)?!1:(n.add(o),!0)}).map(r=>({signature:null,publicKey:r}))}sign(...t){if(t.length===0)throw new Error("No signers");let n=new Set,r=[];for(let s of t){let i=s.publicKey.toString();n.has(i)||(n.add(i),r.push(s))}this.signatures=r.map(s=>({signature:null,publicKey:s.publicKey}));let o=this._compile();this._partialSign(o,...r)}partialSign(...t){if(t.length===0)throw new Error("No signers");let n=new Set,r=[];for(let s of t){let i=s.publicKey.toString();n.has(i)||(n.add(i),r.push(s))}let o=this._compile();this._partialSign(o,...r)}_partialSign(t,...n){let r=t.serialize();n.forEach(o=>{let s=vR(r,o.secretKey);this._addSignature(o.publicKey,st(s))})}addSignature(t,n){this._compile(),this._addSignature(t,n)}_addSignature(t,n){ut(n.length===64);let r=this.signatures.findIndex(o=>t.equals(o.publicKey));if(r<0)throw new Error(`unknown signer: ${t.toString()}`);this.signatures[r].signature=$e.Buffer.from(n)}verifySignatures(t=!0){return!this._getMessageSignednessErrors(this.serializeMessage(),t)}_getMessageSignednessErrors(t,n){let r={};for(let{signature:o,publicKey:s}of this.signatures)o===null?n&&(r.missing||=[]).push(s):kne(o,t,s.toBytes())||(r.invalid||=[]).push(s);return r.invalid||r.missing?r:void 0}serialize(t){let{requireAllSignatures:n,verifySignatures:r}=Object.assign({requireAllSignatures:!0,verifySignatures:!0},t),o=this.serializeMessage();if(r){let s=this._getMessageSignednessErrors(o,n);if(s){let i="Signature verification failed.";throw s.invalid&&(i+=` +Invalid signature for public key${s.invalid.length===1?"":"(s)"} [\`${s.invalid.map(a=>a.toBase58()).join("`, `")}\`].`),s.missing&&(i+=` +Missing signature for public key${s.missing.length===1?"":"(s)"} [\`${s.missing.map(a=>a.toBase58()).join("`, `")}\`].`),new Error(i)}}return this._serialize(o)}_serialize(t){let{signatures:n}=this,r=[];As(r,n.length);let o=r.length+n.length*64+t.length,s=$e.Buffer.alloc(o);return ut(n.length<256),$e.Buffer.from(r).copy(s,0),n.forEach(({signature:i},a)=>{i!==null&&(ut(i.length===64,"signature has invalid length"),$e.Buffer.from(i).copy(s,r.length+a*64))}),t.copy(s,r.length+n.length*64),ut(s.length<=Cu,`Transaction too large: ${s.length} > ${Cu}`),s}get keys(){return ut(this.instructions.length===1),this.instructions[0].keys.map(t=>t.pubkey)}get programId(){return ut(this.instructions.length===1),this.instructions[0].programId}get data(){return ut(this.instructions.length===1),this.instructions[0].data}static from(t){let n=[...t],r=Zo(n),o=[];for(let s=0;s0&&(r.feePayer=t.accountKeys[0]),n.forEach((o,s)=>{let i={signature:o==Ar.default.encode(Gne)?null:Ar.default.decode(o),publicKey:t.accountKeys[s]};r.signatures.push(i)}),t.instructions.forEach(o=>{let s=o.accounts.map(i=>{let a=t.accountKeys[i];return{pubkey:a,isSigner:r.signatures.some(c=>c.publicKey.toString()===a.toString())||t.isAccountSigner(i),isWritable:t.isAccountWritable(i)}});r.instructions.push(new Vt({keys:s,programId:t.accountKeys[o.programIdIndex],data:Ar.default.decode(o.data)}))}),r._message=t,r._json=r.toJSON(),r}},cR=class e{constructor(t){this.payerKey=void 0,this.instructions=void 0,this.recentBlockhash=void 0,this.payerKey=t.payerKey,this.instructions=t.instructions,this.recentBlockhash=t.recentBlockhash}static decompile(t,n){let{header:r,compiledInstructions:o,recentBlockhash:s}=t,{numRequiredSignatures:i,numReadonlySignedAccounts:a,numReadonlyUnsignedAccounts:c}=r,u=i-a;ut(u>0,"Message header is invalid");let d=t.staticAccountKeys.length-i-c;ut(d>=0,"Message header is invalid");let l=t.getAccountKeys(n),m=l.get(0);if(m===void 0)throw new Error("Failed to decompile message because no account keys were found");let p=[];for(let g of o){let E=[];for(let S of g.accountKeyIndexes){let N=l.get(S);if(N===void 0)throw new Error(`Failed to find key for account key index ${S}`);let C=S0,"Expected transaction to have enough bytes for its signatures");let s=d1.deserialize(t.slice(0,o)),i=[];for(let a=0;ai.equals(o.publicKey));ut(s>=0,`Cannot sign with non signer key ${o.publicKey.toBase58()}`),this.signatures[s]=vR(n,o.secretKey)}}addSignature(t,n){ut(n.byteLength===64,"Signature must be 64 bytes long");let o=this.message.staticAccountKeys.slice(0,this.message.header.numRequiredSignatures).findIndex(s=>s.equals(t));ut(o>=0,`Can not add signature; \`${t.toBase58()}\` is not required to sign this transaction`),this.signatures[o]=n}},Wne=160,qne=64,Kne=Wne/qne,fM=1e3/Kne,la=new ge("SysvarC1ock11111111111111111111111111111111"),Yne=new ge("SysvarEpochSchedu1e111111111111111111111111"),Zne=new ge("Sysvar1nstructions1111111111111111111111111"),i1=new ge("SysvarRecentB1ockHashes11111111111111111111"),Dp=new ge("SysvarRent111111111111111111111111111111111"),Xne=new ge("SysvarRewards111111111111111111111111111111"),Jne=new ge("SysvarS1otHashes111111111111111111111111111"),Qne=new ge("SysvarS1otHistory11111111111111111111111111"),a1=new ge("SysvarStakeHistory1111111111111111111111111"),Il=class extends Error{constructor({action:t,signature:n,transactionMessage:r,logs:o}){let s=o?`Logs: +${JSON.stringify(o.slice(-10),null,2)}. `:"",i="\nCatch the `SendTransactionError` and call `getLogs()` on it for full details.",a;switch(t){case"send":a=`Transaction ${n} resulted in an error. +${r}. `+s+i;break;case"simulate":a=`Simulation failed. +Message: ${r}. +`+s+i;break;default:a=`Unknown action '${(c=>c)(t)}'`}super(a),this.signature=void 0,this.transactionMessage=void 0,this.transactionLogs=void 0,this.signature=n,this.transactionMessage=r,this.transactionLogs=o||void 0}get transactionError(){return{message:this.transactionMessage,logs:Array.isArray(this.transactionLogs)?this.transactionLogs:void 0}}get logs(){let t=this.transactionLogs;if(!(t!=null&&typeof t=="object"&&"then"in t))return t}async getLogs(t){return Array.isArray(this.transactionLogs)||(this.transactionLogs=new Promise((n,r)=>{t.getTransaction(this.signature).then(o=>{if(o&&o.meta&&o.meta.logMessages){let s=o.meta.logMessages;this.transactionLogs=s,n(s)}else r(new Error("Log messages not found"))}).catch(r)})),await this.transactionLogs}},ere={JSON_RPC_SERVER_ERROR_BLOCK_CLEANED_UP:-32001,JSON_RPC_SERVER_ERROR_SEND_TRANSACTION_PREFLIGHT_FAILURE:-32002,JSON_RPC_SERVER_ERROR_TRANSACTION_SIGNATURE_VERIFICATION_FAILURE:-32003,JSON_RPC_SERVER_ERROR_BLOCK_NOT_AVAILABLE:-32004,JSON_RPC_SERVER_ERROR_NODE_UNHEALTHY:-32005,JSON_RPC_SERVER_ERROR_TRANSACTION_PRECOMPILE_VERIFICATION_FAILURE:-32006,JSON_RPC_SERVER_ERROR_SLOT_SKIPPED:-32007,JSON_RPC_SERVER_ERROR_NO_SNAPSHOT:-32008,JSON_RPC_SERVER_ERROR_LONG_TERM_STORAGE_SLOT_SKIPPED:-32009,JSON_RPC_SERVER_ERROR_KEY_EXCLUDED_FROM_SECONDARY_INDEX:-32010,JSON_RPC_SERVER_ERROR_TRANSACTION_HISTORY_NOT_AVAILABLE:-32011,JSON_RPC_SCAN_ERROR:-32012,JSON_RPC_SERVER_ERROR_TRANSACTION_SIGNATURE_LEN_MISMATCH:-32013,JSON_RPC_SERVER_ERROR_BLOCK_STATUS_NOT_AVAILABLE_YET:-32014,JSON_RPC_SERVER_ERROR_UNSUPPORTED_TRANSACTION_VERSION:-32015,JSON_RPC_SERVER_ERROR_MIN_CONTEXT_SLOT_NOT_REACHED:-32016},Re=class extends Error{constructor({code:t,message:n,data:r},o){super(o!=null?`${o}: ${n}`:n),this.code=void 0,this.data=void 0,this.code=t,this.data=r,this.name="SolanaJSONRPCError"}};async function dR(e,t,n,r){let o=r&&{skipPreflight:r.skipPreflight,preflightCommitment:r.preflightCommitment||r.commitment,maxRetries:r.maxRetries,minContextSlot:r.minContextSlot},s=await e.sendTransaction(t,n,o),i;if(t.recentBlockhash!=null&&t.lastValidBlockHeight!=null)i=(await e.confirmTransaction({abortSignal:r?.abortSignal,signature:s,blockhash:t.recentBlockhash,lastValidBlockHeight:t.lastValidBlockHeight},r&&r.commitment)).value;else if(t.minNonceContextSlot!=null&&t.nonceInfo!=null){let{nonceInstruction:a}=t.nonceInfo,c=a.keys[0].pubkey;i=(await e.confirmTransaction({abortSignal:r?.abortSignal,minContextSlot:t.minNonceContextSlot,nonceAccountPubkey:c,nonceValue:t.nonceInfo.nonce,signature:s},r&&r.commitment)).value}else r?.abortSignal!=null&&console.warn("sendAndConfirmTransaction(): A transaction with a deprecated confirmation strategy was supplied along with an `abortSignal`. Only transactions having `lastValidBlockHeight` or a combination of `nonceInfo` and `minNonceContextSlot` are abortable."),i=(await e.confirmTransaction(s,r&&r.commitment)).value;if(i.err)throw s!=null?new Il({action:"send",signature:s,transactionMessage:`Status: (${JSON.stringify(i)})`}):new Error(`Transaction ${s} failed (${JSON.stringify(i)})`);return s}function Rl(e){return new Promise(t=>setTimeout(t,e))}function wt(e,t){let n=e.layout.span>=0?e.layout.span:dM(e,t),r=$e.Buffer.alloc(n),o=Object.assign({instruction:e.index},t);return e.layout.encode(o,r),r}function Ht(e,t){let n;try{n=e.layout.decode(t)}catch(r){throw new Error("invalid instruction; "+r)}if(n.instruction!==e.index)throw new Error(`invalid instruction; instruction index mismatch ${n.instruction} != ${e.index}`);return n}var pM=j.nu64("lamportsPerSignature"),mM=j.struct([j.u32("version"),j.u32("state"),ht("authorizedPubkey"),ht("nonce"),j.struct([pM],"feeCalculator")]),lR=mM.span,l1=class e{constructor(t){this.authorizedPubkey=void 0,this.nonce=void 0,this.feeCalculator=void 0,this.authorizedPubkey=t.authorizedPubkey,this.nonce=t.nonce,this.feeCalculator=t.feeCalculator}static fromAccountData(t){let n=mM.decode(st(t),0);return new e({authorizedPubkey:new ge(n.authorizedPubkey),nonce:new ge(n.nonce).toString(),feeCalculator:n.feeCalculator})}};function Bp(e){let t=sM.blob(8,e),n=t.decode.bind(t),r=t.encode.bind(t),o=t,s=iM.getU64Codec();return o.decode=(i,a)=>{let c=n(i,a);return s.decode(c)},o.encode=(i,a,c)=>{let u=s.encode(i);return r(u,a,c)},o}var fR=class{constructor(){}static decodeInstructionType(t){this.checkProgramId(t.programId);let r=j.u32("instruction").decode(t.data),o;for(let[s,i]of Object.entries(cn))if(i.index==r){o=s;break}if(!o)throw new Error("Instruction type incorrect; not a SystemInstruction");return o}static decodeCreateAccount(t){this.checkProgramId(t.programId),this.checkKeyLength(t.keys,2);let{lamports:n,space:r,programId:o}=Ht(cn.Create,t.data);return{fromPubkey:t.keys[0].pubkey,newAccountPubkey:t.keys[1].pubkey,lamports:n,space:r,programId:new ge(o)}}static decodeTransfer(t){this.checkProgramId(t.programId),this.checkKeyLength(t.keys,2);let{lamports:n}=Ht(cn.Transfer,t.data);return{fromPubkey:t.keys[0].pubkey,toPubkey:t.keys[1].pubkey,lamports:n}}static decodeTransferWithSeed(t){this.checkProgramId(t.programId),this.checkKeyLength(t.keys,3);let{lamports:n,seed:r,programId:o}=Ht(cn.TransferWithSeed,t.data);return{fromPubkey:t.keys[0].pubkey,basePubkey:t.keys[1].pubkey,toPubkey:t.keys[2].pubkey,lamports:n,seed:r,programId:new ge(o)}}static decodeAllocate(t){this.checkProgramId(t.programId),this.checkKeyLength(t.keys,1);let{space:n}=Ht(cn.Allocate,t.data);return{accountPubkey:t.keys[0].pubkey,space:n}}static decodeAllocateWithSeed(t){this.checkProgramId(t.programId),this.checkKeyLength(t.keys,1);let{base:n,seed:r,space:o,programId:s}=Ht(cn.AllocateWithSeed,t.data);return{accountPubkey:t.keys[0].pubkey,basePubkey:new ge(n),seed:r,space:o,programId:new ge(s)}}static decodeAssign(t){this.checkProgramId(t.programId),this.checkKeyLength(t.keys,1);let{programId:n}=Ht(cn.Assign,t.data);return{accountPubkey:t.keys[0].pubkey,programId:new ge(n)}}static decodeAssignWithSeed(t){this.checkProgramId(t.programId),this.checkKeyLength(t.keys,1);let{base:n,seed:r,programId:o}=Ht(cn.AssignWithSeed,t.data);return{accountPubkey:t.keys[0].pubkey,basePubkey:new ge(n),seed:r,programId:new ge(o)}}static decodeCreateWithSeed(t){this.checkProgramId(t.programId),this.checkKeyLength(t.keys,2);let{base:n,seed:r,lamports:o,space:s,programId:i}=Ht(cn.CreateWithSeed,t.data);return{fromPubkey:t.keys[0].pubkey,newAccountPubkey:t.keys[1].pubkey,basePubkey:new ge(n),seed:r,lamports:o,space:s,programId:new ge(i)}}static decodeNonceInitialize(t){this.checkProgramId(t.programId),this.checkKeyLength(t.keys,3);let{authorized:n}=Ht(cn.InitializeNonceAccount,t.data);return{noncePubkey:t.keys[0].pubkey,authorizedPubkey:new ge(n)}}static decodeNonceAdvance(t){return this.checkProgramId(t.programId),this.checkKeyLength(t.keys,3),Ht(cn.AdvanceNonceAccount,t.data),{noncePubkey:t.keys[0].pubkey,authorizedPubkey:t.keys[2].pubkey}}static decodeNonceWithdraw(t){this.checkProgramId(t.programId),this.checkKeyLength(t.keys,5);let{lamports:n}=Ht(cn.WithdrawNonceAccount,t.data);return{noncePubkey:t.keys[0].pubkey,toPubkey:t.keys[1].pubkey,authorizedPubkey:t.keys[4].pubkey,lamports:n}}static decodeNonceAuthorize(t){this.checkProgramId(t.programId),this.checkKeyLength(t.keys,2);let{authorized:n}=Ht(cn.AuthorizeNonceAccount,t.data);return{noncePubkey:t.keys[0].pubkey,authorizedPubkey:t.keys[1].pubkey,newAuthorizedPubkey:new ge(n)}}static checkProgramId(t){if(!t.equals(Wr.programId))throw new Error("invalid instruction; programId is not SystemProgram")}static checkKeyLength(t,n){if(t.length0?l:1,space:s.length,programId:o}));p!==null&&await dR(t,p,[n,r],{commitment:"confirmed"})}let i=j.struct([j.u32("instruction"),j.u32("offset"),j.u32("bytesLength"),j.u32("bytesLengthPadding"),j.seq(j.u8("byte"),j.offset(j.u32(),-8),"bytes")]),a=e.chunkSize,c=0,u=s,d=[];for(;u.length>0;){let l=u.slice(0,a),m=$e.Buffer.alloc(a+16);i.encode({instruction:0,offset:c,bytes:l,bytesLength:0,bytesLengthPadding:0},m);let p=new $t().add({keys:[{pubkey:r.publicKey,isSigner:!0,isWritable:!0}],programId:o,data:m});d.push(dR(t,p,[n,r],{commitment:"confirmed"})),t._rpcEndpoint.includes("solana.com")&&await Rl(1e3/4),c+=a,u=u.slice(a)}await Promise.all(d);{let l=j.struct([j.u32("instruction")]),m=$e.Buffer.alloc(l.span);l.encode({instruction:1},m);let p=new $t().add({keys:[{pubkey:r.publicKey,isSigner:!0,isWritable:!0},{pubkey:Dp,isSigner:!1,isWritable:!1}],programId:o,data:m}),g="processed",E=await t.sendTransaction(p,[n,r],{preflightCommitment:g}),{context:x,value:S}=await t.confirmTransaction({signature:E,lastValidBlockHeight:p.lastValidBlockHeight,blockhash:p.recentBlockhash},g);if(S.err)throw new Error(`Transaction ${E} failed (${JSON.stringify(S)})`);for(;;){try{if(await t.getSlot({commitment:g})>x.slot)break}catch{}await new Promise(N=>setTimeout(N,Math.round(fM/2)))}}return!0}};Pp.chunkSize=tre;var nre=new ge("BPFLoader2111111111111111111111111111111111"),pR=class{static getMinNumSignatures(t){return Pp.getMinNumSignatures(t)}static load(t,n,r,o,s){return Pp.load(t,n,r,s,o)}};function rre(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var eR,jL;function ore(){if(jL)return eR;jL=1;var e=Object.prototype.toString,t=Object.keys||function(r){var o=[];for(var s in r)o.push(s);return o};function n(r,o){var s,i,a,c,u,d,l;if(r===!0)return"true";if(r===!1)return"false";switch(typeof r){case"object":if(r===null)return null;if(r.toJSON&&typeof r.toJSON=="function")return n(r.toJSON(),o);if(l=e.call(r),l==="[object Array]"){for(a="[",i=r.length-1,s=0;s-1&&(a+=n(r[s],!0)),a+"]"}else if(l==="[object Object]"){for(c=t(r).sort(),i=c.length,a="",s=0;s1;)e/=2,t++;return t}function ire(e){return e===0?1:(e--,e|=e>>1,e|=e>>2,e|=e>>4,e|=e>>8,e|=e>>16,e|=e>>32,e+1)}var f1=class{constructor(t,n,r,o,s){this.slotsPerEpoch=void 0,this.leaderScheduleSlotOffset=void 0,this.warmup=void 0,this.firstNormalEpoch=void 0,this.firstNormalSlot=void 0,this.slotsPerEpoch=t,this.leaderScheduleSlotOffset=n,this.warmup=r,this.firstNormalEpoch=o,this.firstNormalSlot=s}getEpoch(t){return this.getEpochAndSlotIndex(t)[0]}getEpochAndSlotIndex(t){if(t{let i=ML.WebSocket(s,{autoconnect:!0,max_reconnects:5,reconnect:!0,reconnect_interval:1e3,...n});return"socket"in i?this.underlyingSocket=i.socket:this.underlyingSocket=i,i};super(o,t,n,r),this.underlyingSocket=void 0}call(...t){let n=this.underlyingSocket?.readyState;return n===1?super.call(...t):Promise.reject(new Error("Tried to call a JSON-RPC method `"+t[0]+"` but the socket was not `CONNECTING` or `OPEN` (`readyState` was "+n+")"))}notify(...t){let n=this.underlyingSocket?.readyState;return n===1?super.notify(...t):Promise.reject(new Error("Tried to send a JSON-RPC notification `"+t[0]+"` but the socket was not `CONNECTING` or `OPEN` (`readyState` was "+n+")"))}};function cre(e,t){let n;try{n=e.layout.decode(t)}catch(r){throw new Error("invalid instruction; "+r)}if(n.typeIndex!==e.index)throw new Error(`invalid account data; account type mismatch ${n.typeIndex} != ${e.index}`);return n}var WL=56,ny=class{constructor(t){this.key=void 0,this.state=void 0,this.key=t.key,this.state=t.state}isActive(){let t=BigInt("0xffffffffffffffff");return this.state.deactivationSlot===t}static deserialize(t){let n=cre(ure,t),r=t.length-WL;ut(r>=0,"lookup table is invalid"),ut(r%32===0,"lookup table is invalid");let o=r/32,{addresses:s}=j.struct([j.seq(ht(),o,"addresses")]).decode(t.slice(WL));return{deactivationSlot:n.deactivationSlot,lastExtendedSlot:n.lastExtendedSlot,lastExtendedSlotStartIndex:n.lastExtendedStartIndex,authority:n.authority.length!==0?new ge(n.authority[0]):void 0,addresses:s.map(i=>new ge(i))}}},ure={index:1,layout:j.struct([j.u32("typeIndex"),Bp("deactivationSlot"),j.nu64("lastExtendedSlot"),j.u8("lastExtendedStartIndex"),j.u8(),j.seq(ht(),j.offset(j.u8(),-1),"authority")])},dre=/^[^:]+:\/\/([^:[]+|\[[^\]]+\])(:\d+)?(.*)/i;function lre(e){let t=e.match(dre);if(t==null)throw TypeError(`Failed to validate endpoint URL \`${e}\``);let[n,r,o,s]=t,i=e.startsWith("https:")?"wss:":"ws:",a=o==null?null:parseInt(o.slice(1),10),c=a==null?"":`:${a+1}`;return`${i}//${r}${c}${s}`}var $n=b.coerce(b.instance(ge),b.string(),e=>new ge(e)),hM=b.tuple([b.string(),b.literal("base64")]),IR=b.coerce(b.instance($e.Buffer),hM,e=>$e.Buffer.from(e[0],"base64")),yM=30*1e3;function fre(e){if(/^https?:/.test(e)===!1)throw new TypeError("Endpoint URL must start with `http:` or `https:`.");return e}function an(e){let t,n;if(typeof e=="string")t=e;else if(e){let{commitment:r,...o}=e;t=r,n=o}return{commitment:t,config:n}}function qL(e){return e.map(t=>"memcmp"in t?{...t,memcmp:{...t.memcmp,encoding:t.memcmp.encoding??"base58"}}:t)}function bM(e){return b.union([b.type({jsonrpc:b.literal("2.0"),id:b.string(),result:e}),b.type({jsonrpc:b.literal("2.0"),id:b.string(),error:b.type({code:b.unknown(),message:b.string(),data:b.optional(b.any())})})])}var pre=bM(b.unknown());function ot(e){return b.coerce(bM(e),pre,t=>"error"in t?t:{...t,result:b.create(t.result,e)})}function Zn(e){return ot(b.type({context:b.type({slot:b.number()}),value:e}))}function _1(e){return b.type({context:b.type({slot:b.number()}),value:e})}function nR(e,t){if(e===0)return new kp({header:t.header,staticAccountKeys:t.accountKeys.map(n=>new ge(n)),recentBlockhash:t.recentBlockhash,compiledInstructions:t.instructions.map(n=>({programIdIndex:n.programIdIndex,accountKeyIndexes:n.accounts,data:Ar.default.decode(n.data)})),addressTableLookups:t.addressTableLookups});if(e===1){let n=t.transactionConfig;if(n==null)throw new Error("Expected a version 1 transaction message response to have a `transactionConfig`");return new ty({header:t.header,staticAccountKeys:t.accountKeys.map(r=>new ge(r)),recentBlockhash:t.recentBlockhash,compiledInstructions:t.instructions.map(r=>({programIdIndex:r.programIdIndex,accountKeyIndexes:r.accounts,data:Ar.default.decode(r.data)})),transactionConfig:n})}else return new ma(t)}var mre=b.type({foundation:b.number(),foundationTerm:b.number(),initial:b.number(),taper:b.number(),terminal:b.number()}),hre=ot(b.array(b.nullable(b.type({epoch:b.number(),effectiveSlot:b.number(),amount:b.number(),postBalance:b.number(),commission:b.optional(b.nullable(b.number()))})))),yre=b.array(b.type({slot:b.number(),prioritizationFee:b.number()})),bre=b.type({total:b.number(),validator:b.number(),foundation:b.number(),epoch:b.number()}),gre=b.type({epoch:b.number(),slotIndex:b.number(),slotsInEpoch:b.number(),absoluteSlot:b.number(),blockHeight:b.optional(b.number()),transactionCount:b.optional(b.number())}),_re=b.type({slotsPerEpoch:b.number(),leaderScheduleSlotOffset:b.number(),warmup:b.boolean(),firstNormalEpoch:b.number(),firstNormalSlot:b.number()}),Are=b.record(b.string(),b.array(b.number())),Nl=b.nullable(b.union([b.type({}),b.string()])),Ere=b.type({err:Nl}),xre=b.literal("receivedSignature"),wre=b.type({"solana-core":b.string(),"feature-set":b.optional(b.number())}),Tre=b.type({program:b.string(),programId:$n,parsed:b.unknown()}),Sre=b.type({programId:$n,accounts:b.array($n),data:b.string()}),KL=Zn(b.type({err:b.nullable(b.union([b.type({}),b.string()])),logs:b.nullable(b.array(b.string())),accounts:b.optional(b.nullable(b.array(b.nullable(b.type({executable:b.boolean(),owner:b.string(),lamports:b.number(),data:b.array(b.string()),rentEpoch:b.optional(b.number())}))))),unitsConsumed:b.optional(b.number()),returnData:b.optional(b.nullable(b.type({programId:b.string(),data:b.tuple([b.string(),b.literal("base64")])}))),innerInstructions:b.optional(b.nullable(b.array(b.type({index:b.number(),instructions:b.array(b.union([Tre,Sre]))}))))})),Rre=Zn(b.type({byIdentity:b.record(b.string(),b.array(b.number())),range:b.type({firstSlot:b.number(),lastSlot:b.number()})}));function vre(e,t,n,r,o,s){let i=n||are,a;s!=null&&console.warn("You have supplied an `httpAgent` when creating a `Connection` in a browser environment.It has been ignored; `httpAgent` is only used in Node environments.");let c;return r&&(c=async(d,l)=>{let m=await new Promise((p,g)=>{try{r(d,l,(E,x)=>p([E,x]))}catch(E){g(E)}});return await i(...m)}),new Nne.default(async(d,l)=>{let m={method:"POST",body:d,agent:a,headers:Object.assign({"Content-Type":"application/json"},t||{},voe)};try{let p=5,g,E=500;for(;c?g=await c(e,m):g=await i(e,m),!(g.status!==429||o===!0||(p-=1,p===0));)console.error(`Server responded with ${g.status} ${g.statusText}. Retrying after ${E}ms delay...`),await Rl(E),E*=2;let x=await g.text();g.ok?l(null,x):l(new Error(`${g.status} ${g.statusText}: ${x}`))}catch(p){p instanceof Error&&l(p)}},{})}function Ire(e){return(t,n)=>new Promise((r,o)=>{e.request(t,n,(s,i)=>{if(s){o(s);return}r(i)})})}function Cre(e){return t=>new Promise((n,r)=>{t.length===0&&n([]);let o=t.map(s=>e.request(s.methodName,s.args));e.request(o,(s,i)=>{if(s){r(s);return}n(i)})})}var Nre=ot(mre),Ore=ot(bre),kre=ot(yre),Dre=ot(gre),Bre=ot(_re),Pre=ot(Are),Lre=ot(b.number()),Mre=Zn(b.type({total:b.number(),circulating:b.number(),nonCirculating:b.number(),nonCirculatingAccounts:b.array($n)})),hR=b.type({amount:b.string(),uiAmount:b.nullable(b.number()),decimals:b.number(),uiAmountString:b.optional(b.string())}),Fre=Zn(b.array(b.type({address:$n,amount:b.string(),uiAmount:b.nullable(b.number()),decimals:b.number(),uiAmountString:b.optional(b.string())}))),Ure=Zn(b.array(b.type({pubkey:$n,account:b.type({executable:b.boolean(),owner:$n,lamports:b.number(),data:IR,rentEpoch:b.number()})}))),yR=b.type({program:b.string(),parsed:b.unknown(),space:b.number()}),Hre=Zn(b.array(b.type({pubkey:$n,account:b.type({executable:b.boolean(),owner:$n,lamports:b.number(),data:yR,rentEpoch:b.number()})}))),$re=Zn(b.array(b.type({lamports:b.number(),address:$n}))),ry=b.type({executable:b.boolean(),owner:$n,lamports:b.number(),data:IR,rentEpoch:b.number()}),zre=b.type({pubkey:$n,account:ry}),Vre=b.coerce(b.union([b.instance($e.Buffer),yR]),b.union([hM,yR]),e=>Array.isArray(e)?b.create(e,IR):e),bR=b.type({executable:b.boolean(),owner:$n,lamports:b.number(),data:Vre,rentEpoch:b.number()}),jre=b.type({pubkey:$n,account:bR}),Gre=b.type({state:b.union([b.literal("active"),b.literal("inactive"),b.literal("activating"),b.literal("deactivating")]),active:b.number(),inactive:b.number()}),Wre=ot(b.array(b.type({signature:b.string(),slot:b.number(),err:Nl,memo:b.nullable(b.string()),blockTime:b.optional(b.nullable(b.number()))}))),qre=ot(b.array(b.type({signature:b.string(),slot:b.number(),err:Nl,memo:b.nullable(b.string()),blockTime:b.optional(b.nullable(b.number()))}))),Kre=b.type({subscription:b.number(),result:_1(ry)}),Yre=b.type({pubkey:$n,account:ry}),Zre=b.type({subscription:b.number(),result:_1(Yre)}),Xre=b.type({parent:b.number(),slot:b.number(),root:b.number()}),Jre=b.type({subscription:b.number(),result:Xre}),Qre=b.union([b.type({type:b.union([b.literal("firstShredReceived"),b.literal("completed"),b.literal("optimisticConfirmation"),b.literal("root")]),slot:b.number(),timestamp:b.number()}),b.type({type:b.literal("createdBank"),parent:b.number(),slot:b.number(),timestamp:b.number()}),b.type({type:b.literal("frozen"),slot:b.number(),timestamp:b.number(),stats:b.type({numTransactionEntries:b.number(),numSuccessfulTransactions:b.number(),numFailedTransactions:b.number(),maxTransactionsPerEntry:b.number()})}),b.type({type:b.literal("dead"),slot:b.number(),timestamp:b.number(),err:b.string()})]),eoe=b.type({subscription:b.number(),result:Qre}),toe=b.type({subscription:b.number(),result:_1(b.union([Ere,xre]))}),noe=b.type({subscription:b.number(),result:b.number()}),roe=b.type({pubkey:b.string(),gossip:b.nullable(b.string()),tpu:b.nullable(b.string()),rpc:b.nullable(b.string()),version:b.nullable(b.string())}),YL=b.type({votePubkey:b.string(),nodePubkey:b.string(),activatedStake:b.number(),epochVoteAccount:b.boolean(),epochCredits:b.array(b.tuple([b.number(),b.number(),b.number()])),commission:b.number(),lastVote:b.number(),rootSlot:b.nullable(b.number())}),ooe=ot(b.type({current:b.array(YL),delinquent:b.array(YL)})),soe=b.union([b.literal("processed"),b.literal("confirmed"),b.literal("finalized")]),ioe=b.type({slot:b.number(),confirmations:b.nullable(b.number()),err:Nl,confirmationStatus:b.optional(soe)}),aoe=Zn(b.array(b.nullable(ioe))),coe=ot(b.number()),gM=b.type({accountKey:$n,writableIndexes:b.array(b.number()),readonlyIndexes:b.array(b.number())}),_M=b.type({computeUnitLimit:b.nullable(b.number()),heapSize:b.nullable(b.number()),loadedAccountsDataSizeLimit:b.nullable(b.number()),priorityFee:b.nullable(b.number())}),CR=b.type({signatures:b.array(b.string()),message:b.type({accountKeys:b.array(b.string()),header:b.type({numRequiredSignatures:b.number(),numReadonlySignedAccounts:b.number(),numReadonlyUnsignedAccounts:b.number()}),instructions:b.array(b.type({accounts:b.array(b.number()),data:b.string(),programIdIndex:b.number()})),recentBlockhash:b.string(),addressTableLookups:b.optional(b.array(gM)),transactionConfig:b.optional(b.nullable(_M))})}),AM=b.type({pubkey:$n,signer:b.boolean(),writable:b.boolean(),source:b.optional(b.union([b.literal("transaction"),b.literal("lookupTable")]))}),EM=b.type({accountKeys:b.array(AM),signatures:b.array(b.string())}),xM=b.type({parsed:b.unknown(),program:b.string(),programId:$n}),wM=b.type({accounts:b.array($n),data:b.string(),programId:$n}),uoe=b.union([wM,xM]),doe=b.union([b.type({parsed:b.unknown(),program:b.string(),programId:b.string()}),b.type({accounts:b.array(b.string()),data:b.string(),programId:b.string()})]),TM=b.coerce(uoe,doe,e=>"accounts"in e?b.create(e,wM):b.create(e,xM)),SM=b.type({signatures:b.array(b.string()),message:b.type({accountKeys:b.array(AM),instructions:b.array(TM),recentBlockhash:b.string(),addressTableLookups:b.optional(b.nullable(b.array(gM))),transactionConfig:b.optional(b.nullable(_M))})}),p1=b.type({accountIndex:b.number(),mint:b.string(),owner:b.optional(b.string()),programId:b.optional(b.string()),uiTokenAmount:hR}),RM=b.type({writable:b.array($n),readonly:b.array($n)}),A1=b.type({err:Nl,fee:b.number(),innerInstructions:b.optional(b.nullable(b.array(b.type({index:b.number(),instructions:b.array(b.type({accounts:b.array(b.number()),data:b.string(),programIdIndex:b.number()}))})))),preBalances:b.array(b.number()),postBalances:b.array(b.number()),logMessages:b.optional(b.nullable(b.array(b.string()))),preTokenBalances:b.optional(b.nullable(b.array(p1))),postTokenBalances:b.optional(b.nullable(b.array(p1))),loadedAddresses:b.optional(RM),computeUnitsConsumed:b.optional(b.number()),costUnits:b.optional(b.number())}),NR=b.type({err:Nl,fee:b.number(),innerInstructions:b.optional(b.nullable(b.array(b.type({index:b.number(),instructions:b.array(TM)})))),preBalances:b.array(b.number()),postBalances:b.array(b.number()),logMessages:b.optional(b.nullable(b.array(b.string()))),preTokenBalances:b.optional(b.nullable(b.array(p1))),postTokenBalances:b.optional(b.nullable(b.array(p1))),loadedAddresses:b.optional(RM),computeUnitsConsumed:b.optional(b.number()),costUnits:b.optional(b.number())}),Up=b.union([b.literal(0),b.literal(1),b.literal("legacy")]),Ol=b.type({pubkey:b.string(),lamports:b.number(),postBalance:b.nullable(b.number()),rewardType:b.nullable(b.string()),commission:b.optional(b.nullable(b.number()))}),loe=ot(b.nullable(b.type({blockhash:b.string(),previousBlockhash:b.string(),parentSlot:b.number(),transactions:b.array(b.type({transaction:CR,meta:b.nullable(A1),version:b.optional(Up)})),rewards:b.optional(b.array(Ol)),blockTime:b.nullable(b.number()),blockHeight:b.nullable(b.number())}))),foe=ot(b.nullable(b.type({blockhash:b.string(),previousBlockhash:b.string(),parentSlot:b.number(),rewards:b.optional(b.array(Ol)),blockTime:b.nullable(b.number()),blockHeight:b.nullable(b.number())}))),poe=ot(b.nullable(b.type({blockhash:b.string(),previousBlockhash:b.string(),parentSlot:b.number(),transactions:b.array(b.type({transaction:EM,meta:b.nullable(A1),version:b.optional(Up)})),rewards:b.optional(b.array(Ol)),blockTime:b.nullable(b.number()),blockHeight:b.nullable(b.number())}))),moe=ot(b.nullable(b.type({blockhash:b.string(),previousBlockhash:b.string(),parentSlot:b.number(),transactions:b.array(b.type({transaction:SM,meta:b.nullable(NR),version:b.optional(Up)})),rewards:b.optional(b.array(Ol)),blockTime:b.nullable(b.number()),blockHeight:b.nullable(b.number())}))),hoe=ot(b.nullable(b.type({blockhash:b.string(),previousBlockhash:b.string(),parentSlot:b.number(),transactions:b.array(b.type({transaction:EM,meta:b.nullable(NR),version:b.optional(Up)})),rewards:b.optional(b.array(Ol)),blockTime:b.nullable(b.number()),blockHeight:b.nullable(b.number())}))),yoe=ot(b.nullable(b.type({blockhash:b.string(),previousBlockhash:b.string(),parentSlot:b.number(),rewards:b.optional(b.array(Ol)),blockTime:b.nullable(b.number()),blockHeight:b.nullable(b.number())}))),boe=ot(b.nullable(b.type({blockhash:b.string(),previousBlockhash:b.string(),parentSlot:b.number(),transactions:b.array(b.type({transaction:CR,meta:b.nullable(A1)})),rewards:b.optional(b.array(Ol)),blockTime:b.nullable(b.number())}))),ZL=ot(b.nullable(b.type({blockhash:b.string(),previousBlockhash:b.string(),parentSlot:b.number(),signatures:b.array(b.string()),blockTime:b.nullable(b.number())}))),rR=ot(b.nullable(b.type({slot:b.number(),meta:b.nullable(A1),blockTime:b.optional(b.nullable(b.number())),transaction:CR,version:b.optional(Up)}))),s1=ot(b.nullable(b.type({slot:b.number(),transaction:SM,meta:b.nullable(NR),blockTime:b.optional(b.nullable(b.number())),version:b.optional(Up)}))),goe=Zn(b.type({blockhash:b.string(),lastValidBlockHeight:b.number()})),_oe=Zn(b.boolean()),Aoe=b.type({slot:b.number(),numTransactions:b.number(),numSlots:b.number(),samplePeriodSecs:b.number()}),Eoe=ot(b.array(Aoe)),xoe=Zn(b.nullable(b.type({feeCalculator:b.type({lamportsPerSignature:b.number()})}))),woe=ot(b.string()),Toe=ot(b.string()),Soe=b.type({err:Nl,logs:b.array(b.string()),signature:b.string()}),Roe=b.type({result:_1(Soe),subscription:b.number()}),voe={"solana-client":"js/1.99.0"},gR=class{constructor(t,n){this._commitment=void 0,this._confirmTransactionInitialTimeout=void 0,this._rpcEndpoint=void 0,this._rpcWsEndpoint=void 0,this._rpcClient=void 0,this._rpcRequest=void 0,this._rpcBatchRequest=void 0,this._rpcWebSocket=void 0,this._rpcWebSocketConnected=!1,this._rpcWebSocketHeartbeat=null,this._rpcWebSocketIdleTimeout=null,this._rpcWebSocketGeneration=0,this._disableBlockhashCaching=!1,this._pollingBlockhash=!1,this._blockhashInfo={latestBlockhash:null,lastFetch:0,transactionSignatures:[],simulatedSignatures:[]},this._nextClientSubscriptionId=0,this._subscriptionDisposeFunctionsByClientSubscriptionId={},this._subscriptionHashByClientSubscriptionId={},this._subscriptionStateChangeCallbacksByHash={},this._subscriptionCallbacksByServerSubscriptionId={},this._subscriptionsByHash={},this._subscriptionsAutoDisposedByRpc=new Set,this.getBlockHeight=(()=>{let u={};return async d=>{let{commitment:l,config:m}=an(d),p=this._buildArgs([],l,void 0,m),g=GL(p);return u[g]=u[g]??(async()=>{try{let E=await this._rpcRequest("getBlockHeight",p),x=b.create(E,ot(b.number()));if("error"in x)throw new Re(x.error,"failed to get block height information");return x.result}finally{delete u[g]}})(),await u[g]}})();let r,o,s,i,a,c;n&&typeof n=="string"?this._commitment=n:n&&(this._commitment=n.commitment,this._confirmTransactionInitialTimeout=n.confirmTransactionInitialTimeout,r=n.wsEndpoint,o=n.httpHeaders,s=n.fetch,i=n.fetchMiddleware,a=n.disableRetryOnRateLimit,c=n.httpAgent),this._rpcEndpoint=fre(t),this._rpcWsEndpoint=r||lre(t),this._rpcClient=vre(t,o,s,i,a,c),this._rpcRequest=Ire(this._rpcClient),this._rpcBatchRequest=Cre(this._rpcClient),this._rpcWebSocket=new mR(this._rpcWsEndpoint,{autoconnect:!1,max_reconnects:1/0}),this._rpcWebSocket.on("open",this._wsOnOpen.bind(this)),this._rpcWebSocket.on("error",this._wsOnError.bind(this)),this._rpcWebSocket.on("close",this._wsOnClose.bind(this)),this._rpcWebSocket.on("accountNotification",this._wsOnAccountNotification.bind(this)),this._rpcWebSocket.on("programNotification",this._wsOnProgramAccountNotification.bind(this)),this._rpcWebSocket.on("slotNotification",this._wsOnSlotNotification.bind(this)),this._rpcWebSocket.on("slotsUpdatesNotification",this._wsOnSlotUpdatesNotification.bind(this)),this._rpcWebSocket.on("signatureNotification",this._wsOnSignatureNotification.bind(this)),this._rpcWebSocket.on("rootNotification",this._wsOnRootNotification.bind(this)),this._rpcWebSocket.on("logsNotification",this._wsOnLogsNotification.bind(this))}get commitment(){return this._commitment}get rpcEndpoint(){return this._rpcEndpoint}async getBalanceAndContext(t,n){let{commitment:r,config:o}=an(n),s=this._buildArgs([t.toBase58()],r,void 0,o),i=await this._rpcRequest("getBalance",s),a=b.create(i,Zn(b.number()));if("error"in a)throw new Re(a.error,`failed to get balance for ${t.toBase58()}`);return a.result}async getBalance(t,n){return await this.getBalanceAndContext(t,n).then(r=>r.value).catch(r=>{throw new Error("failed to get balance of account "+t.toBase58()+": "+r)})}async getBlockTime(t){let n=await this._rpcRequest("getBlockTime",[t]),r=b.create(n,ot(b.nullable(b.number())));if("error"in r)throw new Re(r.error,`failed to get block time for slot ${t}`);return r.result}async getMinimumLedgerSlot(){let t=await this._rpcRequest("minimumLedgerSlot",[]),n=b.create(t,ot(b.number()));if("error"in n)throw new Re(n.error,"failed to get minimum ledger slot");return n.result}async getFirstAvailableBlock(){let t=await this._rpcRequest("getFirstAvailableBlock",[]),n=b.create(t,Lre);if("error"in n)throw new Re(n.error,"failed to get first available block");return n.result}async getSupply(t){let n={};typeof t=="string"?n={commitment:t}:t?n={...t,commitment:t&&t.commitment||this.commitment}:n={commitment:this.commitment};let r=await this._rpcRequest("getSupply",[n]),o=b.create(r,Mre);if("error"in o)throw new Re(o.error,"failed to get supply");return o.result}async getTokenSupply(t,n){let r=this._buildArgs([t.toBase58()],n),o=await this._rpcRequest("getTokenSupply",r),s=b.create(o,Zn(hR));if("error"in s)throw new Re(s.error,"failed to get token supply");return s.result}async getTokenAccountBalance(t,n){let r=this._buildArgs([t.toBase58()],n),o=await this._rpcRequest("getTokenAccountBalance",r),s=b.create(o,Zn(hR));if("error"in s)throw new Re(s.error,"failed to get token account balance");return s.result}async getTokenAccountsByOwner(t,n,r){let{commitment:o,config:s}=an(r),i=[t.toBase58()];"mint"in n?i.push({mint:n.mint.toBase58()}):i.push({programId:n.programId.toBase58()});let a=this._buildArgs(i,o,"base64",s),c=await this._rpcRequest("getTokenAccountsByOwner",a),u=b.create(c,Ure);if("error"in u)throw new Re(u.error,`failed to get token accounts owned by account ${t.toBase58()}`);return u.result}async getParsedTokenAccountsByOwner(t,n,r){let o=[t.toBase58()];"mint"in n?o.push({mint:n.mint.toBase58()}):o.push({programId:n.programId.toBase58()});let s=this._buildArgs(o,r,"jsonParsed"),i=await this._rpcRequest("getTokenAccountsByOwner",s),a=b.create(i,Hre);if("error"in a)throw new Re(a.error,`failed to get token accounts owned by account ${t.toBase58()}`);return a.result}async getLargestAccounts(t){let n={...t,commitment:t&&t.commitment||this.commitment},r=n.filter||n.commitment?[n]:[],o=await this._rpcRequest("getLargestAccounts",r),s=b.create(o,$re);if("error"in s)throw new Re(s.error,"failed to get largest accounts");return s.result}async getTokenLargestAccounts(t,n){let r=this._buildArgs([t.toBase58()],n),o=await this._rpcRequest("getTokenLargestAccounts",r),s=b.create(o,Fre);if("error"in s)throw new Re(s.error,"failed to get token largest accounts");return s.result}async getAccountInfoAndContext(t,n){let{commitment:r,config:o}=an(n),s=this._buildArgs([t.toBase58()],r,"base64",o),i=await this._rpcRequest("getAccountInfo",s),a=b.create(i,Zn(b.nullable(ry)));if("error"in a)throw new Re(a.error,`failed to get info about account ${t.toBase58()}`);return a.result}async getParsedAccountInfo(t,n){let{commitment:r,config:o}=an(n),s=this._buildArgs([t.toBase58()],r,"jsonParsed",o),i=await this._rpcRequest("getAccountInfo",s),a=b.create(i,Zn(b.nullable(bR)));if("error"in a)throw new Re(a.error,`failed to get info about account ${t.toBase58()}`);return a.result}async getAccountInfo(t,n){try{return(await this.getAccountInfoAndContext(t,n)).value}catch(r){throw new Error("failed to get info about account "+t.toBase58()+": "+r)}}async getMultipleParsedAccounts(t,n){let{commitment:r,config:o}=an(n),s=t.map(u=>u.toBase58()),i=this._buildArgs([s],r,"jsonParsed",o),a=await this._rpcRequest("getMultipleAccounts",i),c=b.create(a,Zn(b.array(b.nullable(bR))));if("error"in c)throw new Re(c.error,`failed to get info for accounts ${s}`);return c.result}async getMultipleAccountsInfoAndContext(t,n){let{commitment:r,config:o}=an(n),s=t.map(u=>u.toBase58()),i=this._buildArgs([s],r,"base64",o),a=await this._rpcRequest("getMultipleAccounts",i),c=b.create(a,Zn(b.array(b.nullable(ry))));if("error"in c)throw new Re(c.error,`failed to get info for accounts ${s}`);return c.result}async getMultipleAccountsInfo(t,n){return(await this.getMultipleAccountsInfoAndContext(t,n)).value}async getStakeActivation(t,n,r){let{commitment:o,config:s}=an(n),i=this._buildArgs([t.toBase58()],o,void 0,{...s,epoch:r??s?.epoch}),a=await this._rpcRequest("getStakeActivation",i),c=b.create(a,ot(Gre));if("error"in c)throw new Re(c.error,`failed to get Stake Activation ${t.toBase58()}`);return c.result}async getProgramAccounts(t,n){let{commitment:r,config:o}=an(n),{encoding:s,...i}=o||{},a=this._buildArgs([t.toBase58()],r,s||"base64",{...i,...i.filters?{filters:qL(i.filters)}:null}),c=await this._rpcRequest("getProgramAccounts",a),u=b.array(zre),d=i.withContext===!0?b.create(c,Zn(u)):b.create(c,ot(u));if("error"in d)throw new Re(d.error,`failed to get accounts owned by program ${t.toBase58()}`);return d.result}async getParsedProgramAccounts(t,n){let{commitment:r,config:o}=an(n),s=this._buildArgs([t.toBase58()],r,"jsonParsed",o),i=await this._rpcRequest("getProgramAccounts",s),a=b.create(i,ot(b.array(jre)));if("error"in a)throw new Re(a.error,`failed to get accounts owned by program ${t.toBase58()}`);return a.result}async confirmTransaction(t,n){let r;if(typeof t=="string")r=t;else{let s=t;if(s.abortSignal?.aborted)return Promise.reject(s.abortSignal.reason);r=s.signature}let o;try{o=Ar.default.decode(r)}catch{throw new Error("signature must be base58 encoded: "+r)}return ut(o.length===64,"signature has invalid length"),typeof t=="string"?await this.confirmTransactionUsingLegacyTimeoutStrategy({commitment:n||this.commitment,signature:r}):"lastValidBlockHeight"in t?await this.confirmTransactionUsingBlockHeightExceedanceStrategy({commitment:n||this.commitment,strategy:t}):await this.confirmTransactionUsingDurableNonceStrategy({commitment:n||this.commitment,strategy:t})}getCancellationPromise(t){return new Promise((n,r)=>{t!=null&&(t.aborted?r(t.reason):t.addEventListener("abort",()=>{r(t.reason)}))})}getTransactionConfirmationPromise({commitment:t,signature:n}){let r,o,s=!1,i=new Promise((c,u)=>{try{r=this.onSignature(n,(l,m)=>{r=void 0;let p={context:m,value:l};c({__type:uc.PROCESSED,response:p})},t);let d=new Promise(l=>{r==null?l():o=this._onSubscriptionStateChange(r,m=>{m==="subscribed"&&l()})});(async()=>{if(await d,s)return;let l=await this.getSignatureStatus(n);if(s||l==null)return;let{context:m,value:p}=l;if(p!=null)if(p?.err)u(p.err);else{switch(t){case"confirmed":case"single":case"singleGossip":{if(p.confirmationStatus==="processed")return;break}case"finalized":case"max":case"root":{if(p.confirmationStatus==="processed"||p.confirmationStatus==="confirmed")return;break}case"processed":case"recent":}s=!0,c({__type:uc.PROCESSED,response:{context:m,value:p}})}})()}catch(d){u(d)}});return{abortConfirmation:()=>{o&&(o(),o=void 0),r!=null&&(this.removeSignatureListener(r),r=void 0)},confirmationPromise:i}}async confirmTransactionUsingBlockHeightExceedanceStrategy({commitment:t,strategy:{abortSignal:n,lastValidBlockHeight:r,signature:o}}){let s=!1,i=new Promise(l=>{let m=async()=>{try{return await this.getBlockHeight(t)}catch{return-1}};(async()=>{let p=await m();if(!s){for(;p<=r;)if(await Rl(1e3),s||(p=await m(),s))return;l({__type:uc.BLOCKHEIGHT_EXCEEDED})}})()}),{abortConfirmation:a,confirmationPromise:c}=this.getTransactionConfirmationPromise({commitment:t,signature:o}),u=this.getCancellationPromise(n),d;try{let l=await Promise.race([u,c,i]);if(l.__type===uc.PROCESSED)d=l.response;else throw new Qh(o)}finally{s=!0,a()}return d}async confirmTransactionUsingDurableNonceStrategy({commitment:t,strategy:{abortSignal:n,minContextSlot:r,nonceAccountPubkey:o,nonceValue:s,signature:i}}){let a=!1,c=new Promise(p=>{let g=s,E=null,x=async()=>{try{let{context:S,value:N}=await this.getNonceAndContext(o,{commitment:t,minContextSlot:r});return E=S.slot,N?.nonce}catch{return g}};(async()=>{if(g=await x(),!a)for(;;){if(s!==g){p({__type:uc.NONCE_INVALID,slotInWhichNonceDidAdvance:E});return}if(await Rl(2e3),a||(g=await x(),a))return}})()}),{abortConfirmation:u,confirmationPromise:d}=this.getTransactionConfirmationPromise({commitment:t,signature:i}),l=this.getCancellationPromise(n),m;try{let p=await Promise.race([l,d,c]);if(p.__type===uc.PROCESSED)m=p.response;else{let g;for(;;){let E=await this.getSignatureStatus(i);if(E==null)break;if(E.context.slot<(p.slotInWhichNonceDidAdvance??r)){await Rl(400);continue}g=E;break}if(g?.value){let E=t||"finalized",{confirmationStatus:x}=g.value;switch(E){case"processed":case"recent":if(x!=="processed"&&x!=="confirmed"&&x!=="finalized")throw new Iu(i);break;case"confirmed":case"single":case"singleGossip":if(x!=="confirmed"&&x!=="finalized")throw new Iu(i);break;case"finalized":case"max":case"root":if(x!=="finalized")throw new Iu(i);break;default:}m={context:g.context,value:{err:g.value.err}}}else throw new Iu(i)}}finally{a=!0,u()}return m}async confirmTransactionUsingLegacyTimeoutStrategy({commitment:t,signature:n}){let r,o=new Promise(c=>{let u=this._confirmTransactionInitialTimeout||6e4;switch(t){case"processed":case"recent":case"single":case"confirmed":case"singleGossip":{u=this._confirmTransactionInitialTimeout||3e4;break}}r=setTimeout(()=>c({__type:uc.TIMED_OUT,timeoutMs:u}),u)}),{abortConfirmation:s,confirmationPromise:i}=this.getTransactionConfirmationPromise({commitment:t,signature:n}),a;try{let c=await Promise.race([i,o]);if(c.__type===uc.PROCESSED)a=c.response;else throw new ey(n,c.timeoutMs/1e3)}finally{clearTimeout(r),s()}return a}async getClusterNodes(){let t=await this._rpcRequest("getClusterNodes",[]),n=b.create(t,ot(b.array(roe)));if("error"in n)throw new Re(n.error,"failed to get cluster nodes");return n.result}async getVoteAccounts(t){let n=this._buildArgs([],t),r=await this._rpcRequest("getVoteAccounts",n),o=b.create(r,ooe);if("error"in o)throw new Re(o.error,"failed to get vote accounts");return o.result}async getSlot(t){let{commitment:n,config:r}=an(t),o=this._buildArgs([],n,void 0,r),s=await this._rpcRequest("getSlot",o),i=b.create(s,ot(b.number()));if("error"in i)throw new Re(i.error,"failed to get slot");return i.result}async getSlotLeader(t){let{commitment:n,config:r}=an(t),o=this._buildArgs([],n,void 0,r),s=await this._rpcRequest("getSlotLeader",o),i=b.create(s,ot(b.string()));if("error"in i)throw new Re(i.error,"failed to get slot leader");return i.result}async getSlotLeaders(t,n){let r=[t,n],o=await this._rpcRequest("getSlotLeaders",r),s=b.create(o,ot(b.array($n)));if("error"in s)throw new Re(s.error,"failed to get slot leaders");return s.result}async getSignatureStatus(t,n){let{context:r,value:o}=await this.getSignatureStatuses([t],n);ut(o.length===1);let s=o[0];return{context:r,value:s}}async getSignatureStatuses(t,n){let r=[t];n&&r.push(n);let o=await this._rpcRequest("getSignatureStatuses",r),s=b.create(o,aoe);if("error"in s)throw new Re(s.error,"failed to get signature status");return s.result}async getTransactionCount(t){let{commitment:n,config:r}=an(t),o=this._buildArgs([],n,void 0,r),s=await this._rpcRequest("getTransactionCount",o),i=b.create(s,ot(b.number()));if("error"in i)throw new Re(i.error,"failed to get transaction count");return i.result}async getTotalSupply(t){return(await this.getSupply({commitment:t,excludeNonCirculatingAccountsList:!0})).value.total}async getInflationGovernor(t){let n=this._buildArgs([],t),r=await this._rpcRequest("getInflationGovernor",n),o=b.create(r,Nre);if("error"in o)throw new Re(o.error,"failed to get inflation");return o.result}async getInflationReward(t,n,r){let{commitment:o,config:s}=an(r),i=this._buildArgs([t.map(u=>u.toBase58())],o,void 0,{...s,epoch:n??s?.epoch}),a=await this._rpcRequest("getInflationReward",i),c=b.create(a,hre);if("error"in c)throw new Re(c.error,"failed to get inflation reward");return c.result}async getInflationRate(){let t=await this._rpcRequest("getInflationRate",[]),n=b.create(t,Ore);if("error"in n)throw new Re(n.error,"failed to get inflation rate");return n.result}async getEpochInfo(t){let{commitment:n,config:r}=an(t),o=this._buildArgs([],n,void 0,r),s=await this._rpcRequest("getEpochInfo",o),i=b.create(s,Dre);if("error"in i)throw new Re(i.error,"failed to get epoch info");return i.result}async getEpochSchedule(){let t=await this._rpcRequest("getEpochSchedule",[]),n=b.create(t,Bre);if("error"in n)throw new Re(n.error,"failed to get epoch schedule");let r=n.result;return new f1(r.slotsPerEpoch,r.leaderScheduleSlotOffset,r.warmup,r.firstNormalEpoch,r.firstNormalSlot)}async getLeaderSchedule(){let t=await this._rpcRequest("getLeaderSchedule",[]),n=b.create(t,Pre);if("error"in n)throw new Re(n.error,"failed to get leader schedule");return n.result}async getMinimumBalanceForRentExemption(t,n){let r=this._buildArgs([t],n),o=await this._rpcRequest("getMinimumBalanceForRentExemption",r),s=b.create(o,coe);return"error"in s?(console.warn("Unable to fetch minimum balance for rent exemption"),0):s.result}async getRecentBlockhashAndContext(t){let{context:n,value:{blockhash:r}}=await this.getLatestBlockhashAndContext(t);return{context:n,value:{blockhash:r,feeCalculator:{get lamportsPerSignature(){throw new Error("The capability to fetch `lamportsPerSignature` using the `getRecentBlockhash` API is no longer offered by the network. Use the `getFeeForMessage` API to obtain the fee for a given message.")},toJSON(){return{}}}}}}async getRecentPerformanceSamples(t){let n=await this._rpcRequest("getRecentPerformanceSamples",t?[t]:[]),r=b.create(n,Eoe);if("error"in r)throw new Re(r.error,"failed to get recent performance samples");return r.result}async getFeeCalculatorForBlockhash(t,n){let r=this._buildArgs([t],n),o=await this._rpcRequest("getFeeCalculatorForBlockhash",r),s=b.create(o,xoe);if("error"in s)throw new Re(s.error,"failed to get fee calculator");let{context:i,value:a}=s.result;return{context:i,value:a!==null?a.feeCalculator:null}}async getFeeForMessage(t,n){let r=st(t.serialize()).toString("base64"),o=this._buildArgs([r],n),s=await this._rpcRequest("getFeeForMessage",o),i=b.create(s,Zn(b.nullable(b.number())));if("error"in i)throw new Re(i.error,"failed to get fee for message");if(i.result===null)throw new Error("invalid blockhash");return i.result}async getRecentPrioritizationFees(t){let n=t?.lockedWritableAccounts?.map(i=>i.toBase58()),r=n?.length?[n]:[],o=await this._rpcRequest("getRecentPrioritizationFees",r),s=b.create(o,kre);if("error"in s)throw new Re(s.error,"failed to get recent prioritization fees");return s.result}async getRecentBlockhash(t){try{return(await this.getRecentBlockhashAndContext(t)).value}catch(n){throw new Error("failed to get recent blockhash: "+n)}}async getLatestBlockhash(t){try{return(await this.getLatestBlockhashAndContext(t)).value}catch(n){throw new Error("failed to get recent blockhash: "+n)}}async getLatestBlockhashAndContext(t){let{commitment:n,config:r}=an(t),o=this._buildArgs([],n,void 0,r),s=await this._rpcRequest("getLatestBlockhash",o),i=b.create(s,goe);if("error"in i)throw new Re(i.error,"failed to get latest blockhash");return i.result}async isBlockhashValid(t,n){let{commitment:r,config:o}=an(n),s=this._buildArgs([t],r,void 0,o),i=await this._rpcRequest("isBlockhashValid",s),a=b.create(i,_oe);if("error"in a)throw new Re(a.error,"failed to determine if the blockhash `"+t+"`is valid");return a.result}async getVersion(){let t=await this._rpcRequest("getVersion",[]),n=b.create(t,ot(wre));if("error"in n)throw new Re(n.error,"failed to get version");return n.result}async getGenesisHash(){let t=await this._rpcRequest("getGenesisHash",[]),n=b.create(t,ot(b.string()));if("error"in n)throw new Re(n.error,"failed to get genesis hash");return n.result}async getBlock(t,n){let{commitment:r,config:o}=an(n),s=this._buildArgsAtLeastConfirmed([t],r,void 0,o),i=await this._rpcRequest("getBlock",s);try{switch(o?.transactionDetails){case"accounts":{let a=b.create(i,poe);if("error"in a)throw a.error;return a.result}case"none":{let a=b.create(i,foe);if("error"in a)throw a.error;return a.result}default:{let a=b.create(i,loe);if("error"in a)throw a.error;let{result:c}=a;return c?{...c,transactions:c.transactions.map(({transaction:u,meta:d,version:l})=>({meta:d,transaction:{...u,message:nR(l,u.message)},version:l}))}:null}}}catch(a){throw new Re(a,"failed to get confirmed block")}}async getParsedBlock(t,n){let{commitment:r,config:o}=an(n),s=this._buildArgsAtLeastConfirmed([t],r,"jsonParsed",o),i=await this._rpcRequest("getBlock",s);try{switch(o?.transactionDetails){case"accounts":{let a=b.create(i,hoe);if("error"in a)throw a.error;return a.result}case"none":{let a=b.create(i,yoe);if("error"in a)throw a.error;return a.result}default:{let a=b.create(i,moe);if("error"in a)throw a.error;return a.result}}}catch(a){throw new Re(a,"failed to get block")}}async getBlockProduction(t){let n,r;if(typeof t=="string")r=t;else if(t){let{commitment:a,...c}=t;r=a,n=c}let o=this._buildArgs([],r,"base64",n),s=await this._rpcRequest("getBlockProduction",o),i=b.create(s,Rre);if("error"in i)throw new Re(i.error,"failed to get block production information");return i.result}async getTransaction(t,n){let{commitment:r,config:o}=an(n),s=this._buildArgsAtLeastConfirmed([t],r,void 0,o),i=await this._rpcRequest("getTransaction",s),a=b.create(i,rR);if("error"in a)throw new Re(a.error,"failed to get transaction");let c=a.result;return c&&{...c,transaction:{...c.transaction,message:nR(c.version,c.transaction.message)}}}async getParsedTransaction(t,n){let{commitment:r,config:o}=an(n),s=this._buildArgsAtLeastConfirmed([t],r,"jsonParsed",o),i=await this._rpcRequest("getTransaction",s),a=b.create(i,s1);if("error"in a)throw new Re(a.error,"failed to get transaction");return a.result}async getParsedTransactions(t,n){let{commitment:r,config:o}=an(n),s=t.map(c=>({methodName:"getTransaction",args:this._buildArgsAtLeastConfirmed([c],r,"jsonParsed",o)}));return(await this._rpcBatchRequest(s)).map(c=>{let u=b.create(c,s1);if("error"in u)throw new Re(u.error,"failed to get transactions");return u.result})}async getTransactions(t,n){let{commitment:r,config:o}=an(n),s=t.map(c=>({methodName:"getTransaction",args:this._buildArgsAtLeastConfirmed([c],r,void 0,o)}));return(await this._rpcBatchRequest(s)).map(c=>{let u=b.create(c,rR);if("error"in u)throw new Re(u.error,"failed to get transactions");let d=u.result;return d&&{...d,transaction:{...d.transaction,message:nR(d.version,d.transaction.message)}}})}async getConfirmedBlock(t,n){let r=this._buildArgsAtLeastConfirmed([t],n),o=await this._rpcRequest("getBlock",r),s=b.create(o,boe);if("error"in s)throw new Re(s.error,"failed to get confirmed block");let i=s.result;if(!i)throw new Error("Confirmed block "+t+" not found");let a={...i,transactions:i.transactions.map(({transaction:c,meta:u})=>{let d=new ma(c.message);return{meta:u,transaction:{...c,message:d}}})};return{...a,transactions:a.transactions.map(({transaction:c,meta:u})=>({meta:u,transaction:$t.populate(c.message,c.signatures)}))}}async getBlocks(t,n,r){let o=this._buildArgsAtLeastConfirmed(n!==void 0?[t,n]:[t],r),s=await this._rpcRequest("getBlocks",o),i=b.create(s,ot(b.array(b.number())));if("error"in i)throw new Re(i.error,"failed to get blocks");return i.result}async getBlockSignatures(t,n){let r=this._buildArgsAtLeastConfirmed([t],n,void 0,{transactionDetails:"signatures",rewards:!1}),o=await this._rpcRequest("getBlock",r),s=b.create(o,ZL);if("error"in s)throw new Re(s.error,"failed to get block");let i=s.result;if(!i)throw new Error("Block "+t+" not found");return i}async getConfirmedBlockSignatures(t,n){let r=this._buildArgsAtLeastConfirmed([t],n,void 0,{transactionDetails:"signatures",rewards:!1}),o=await this._rpcRequest("getBlock",r),s=b.create(o,ZL);if("error"in s)throw new Re(s.error,"failed to get confirmed block");let i=s.result;if(!i)throw new Error("Confirmed block "+t+" not found");return i}async getConfirmedTransaction(t,n){let r=this._buildArgsAtLeastConfirmed([t],n),o=await this._rpcRequest("getTransaction",r),s=b.create(o,rR);if("error"in s)throw new Re(s.error,"failed to get transaction");let i=s.result;if(!i)return i;let a=new ma(i.transaction.message),c=i.transaction.signatures;return{...i,transaction:$t.populate(a,c)}}async getParsedConfirmedTransaction(t,n){let r=this._buildArgsAtLeastConfirmed([t],n,"jsonParsed"),o=await this._rpcRequest("getTransaction",r),s=b.create(o,s1);if("error"in s)throw new Re(s.error,"failed to get confirmed transaction");return s.result}async getParsedConfirmedTransactions(t,n){let r=t.map(i=>({methodName:"getTransaction",args:this._buildArgsAtLeastConfirmed([i],n,"jsonParsed")}));return(await this._rpcBatchRequest(r)).map(i=>{let a=b.create(i,s1);if("error"in a)throw new Re(a.error,"failed to get confirmed transactions");return a.result})}async getConfirmedSignaturesForAddress(t,n,r){let o={},s=await this.getFirstAvailableBlock();for(;!("until"in o)&&(n--,!(n<=0||n0&&(o.until=c.signatures[c.signatures.length-1].toString())}catch(c){if(c instanceof Error&&c.message.includes("skipped"))continue;throw c}let i=await this.getSlot("finalized");for(;!("before"in o)&&(r++,!(r>i));)try{let c=await this.getConfirmedBlockSignatures(r);c.signatures.length>0&&(o.before=c.signatures[c.signatures.length-1].toString())}catch(c){if(c instanceof Error&&c.message.includes("skipped"))continue;throw c}return(await this.getConfirmedSignaturesForAddress2(t,o)).map(c=>c.signature)}async getConfirmedSignaturesForAddress2(t,n,r){let o=this._buildArgsAtLeastConfirmed([t.toBase58()],r,void 0,n),s=await this._rpcRequest("getConfirmedSignaturesForAddress2",o),i=b.create(s,Wre);if("error"in i)throw new Re(i.error,"failed to get confirmed signatures for address");return i.result}async getSignaturesForAddress(t,n,r){let o=this._buildArgsAtLeastConfirmed([t.toBase58()],r,void 0,n),s=await this._rpcRequest("getSignaturesForAddress",o),i=b.create(s,qre);if("error"in i)throw new Re(i.error,"failed to get signatures for address");return i.result}async getAddressLookupTable(t,n){let{context:r,value:o}=await this.getAccountInfoAndContext(t,n),s=null;return o!==null&&(s=new ny({key:t,state:ny.deserialize(o.data)})),{context:r,value:s}}async getNonceAndContext(t,n){let{context:r,value:o}=await this.getAccountInfoAndContext(t,n),s=null;return o!==null&&(s=l1.fromAccountData(o.data)),{context:r,value:s}}async getNonce(t,n){return await this.getNonceAndContext(t,n).then(r=>r.value).catch(r=>{throw new Error("failed to get nonce for account "+t.toBase58()+": "+r)})}async requestAirdrop(t,n){let r=await this._rpcRequest("requestAirdrop",[t.toBase58(),n]),o=b.create(r,woe);if("error"in o)throw new Re(o.error,`airdrop to ${t.toBase58()} failed`);return o.result}async _blockhashWithExpiryBlockHeight(t){if(!t){for(;this._pollingBlockhash;)await Rl(100);let r=Date.now()-this._blockhashInfo.lastFetch>=yM;if(this._blockhashInfo.latestBlockhash!==null&&!r)return this._blockhashInfo.latestBlockhash}return await this._pollNewBlockhash()}async _pollNewBlockhash(){this._pollingBlockhash=!0;try{let t=Date.now(),n=this._blockhashInfo.latestBlockhash,r=n?n.blockhash:null;for(let o=0;o<50;o++){let s=await this.getLatestBlockhash("finalized");if(r!==s.blockhash)return this._blockhashInfo={latestBlockhash:s,lastFetch:Date.now(),transactionSignatures:[],simulatedSignatures:[]},s;await Rl(fM/2)}throw new Error(`Unable to obtain a new blockhash after ${Date.now()-t}ms`)}finally{this._pollingBlockhash=!1}}async getStakeMinimumDelegation(t){let{commitment:n,config:r}=an(t),o=this._buildArgs([],n,"base64",r),s=await this._rpcRequest("getStakeMinimumDelegation",o),i=b.create(s,Zn(b.number()));if("error"in i)throw new Re(i.error,"failed to get stake minimum delegation");return i.result}async simulateTransaction(t,n,r){if("message"in t){let E=t.serialize(),x=$e.Buffer.from(E).toString("base64");if(Array.isArray(n)||r!==void 0)throw new Error("Invalid arguments");let S=n||{};S.encoding="base64","commitment"in S||(S.commitment=this.commitment),n&&typeof n=="object"&&"innerInstructions"in n&&(S.innerInstructions=n.innerInstructions);let N=[x,S],C=await this._rpcRequest("simulateTransaction",N),v=b.create(C,KL);if("error"in v)throw new Error("failed to simulate transaction: "+v.error.message);return v.result}let o;if(t instanceof $t){let g=t;o=new $t,o.feePayer=g.feePayer,o.instructions=t.instructions,o.nonceInfo=g.nonceInfo,o.signatures=g.signatures}else o=$t.populate(t),o._message=o._json=void 0;if(n!==void 0&&!Array.isArray(n))throw new Error("Invalid arguments");let s=n;if(o.nonceInfo&&s)o.sign(...s);else{let g=this._disableBlockhashCaching;for(;;){let E=await this._blockhashWithExpiryBlockHeight(g);if(o.lastValidBlockHeight=E.lastValidBlockHeight,o.recentBlockhash=E.blockhash,!s)break;if(o.sign(...s),!o.signature)throw new Error("!signature");let x=o.signature.toString("base64");if(!this._blockhashInfo.simulatedSignatures.includes(x)&&!this._blockhashInfo.transactionSignatures.includes(x)){this._blockhashInfo.simulatedSignatures.push(x);break}else g=!0}}let i=o._compile(),a=i.serialize(),u=o._serialize(a).toString("base64"),d={encoding:"base64",commitment:this.commitment};if(r){let g=(Array.isArray(r)?r:i.nonProgramIds()).map(E=>E.toBase58());d.accounts={encoding:"base64",addresses:g}}s&&(d.sigVerify=!0),n&&typeof n=="object"&&"innerInstructions"in n&&(d.innerInstructions=n.innerInstructions);let l=[u,d],m=await this._rpcRequest("simulateTransaction",l),p=b.create(m,KL);if("error"in p){let g;if("data"in p.error&&(g=p.error.data.logs,g&&Array.isArray(g))){let E=` + `,x=E+g.join(E);console.error(p.error.message,x)}throw new Il({action:"simulate",signature:"",transactionMessage:p.error.message,logs:g})}return p.result}async sendTransaction(t,n,r){if("version"in t){if(n&&Array.isArray(n))throw new Error("Invalid arguments");let i=t.serialize();return await this.sendRawTransaction(i,n)}if(n===void 0||!Array.isArray(n))throw new Error("Invalid arguments");let o=n;if(t.nonceInfo)t.sign(...o);else{let i=this._disableBlockhashCaching;for(;;){let a=await this._blockhashWithExpiryBlockHeight(i);if(t.lastValidBlockHeight=a.lastValidBlockHeight,t.recentBlockhash=a.blockhash,t.sign(...o),!t.signature)throw new Error("!signature");let c=t.signature.toString("base64");if(this._blockhashInfo.transactionSignatures.includes(c))i=!0;else{this._blockhashInfo.transactionSignatures.push(c);break}}}let s=t.serialize();return await this.sendRawTransaction(s,r)}async sendRawTransaction(t,n){let r=st(t).toString("base64");return await this.sendEncodedTransaction(r,n)}async sendEncodedTransaction(t,n){let r={encoding:"base64"},o=n&&n.skipPreflight,s=o===!0?"processed":n&&n.preflightCommitment||this.commitment;n&&n.maxRetries!=null&&(r.maxRetries=n.maxRetries),n&&n.minContextSlot!=null&&(r.minContextSlot=n.minContextSlot),o&&(r.skipPreflight=o),s&&(r.preflightCommitment=s);let i=[t,r],a=await this._rpcRequest("sendTransaction",i),c=b.create(a,Toe);if("error"in c){let u;throw"data"in c.error&&(u=c.error.data.logs),new Il({action:o?"send":"simulate",signature:"",transactionMessage:c.error.message,logs:u})}return c.result}_wsOnOpen(){this._rpcWebSocketConnected=!0,this._rpcWebSocketHeartbeat=setInterval(()=>{(async()=>{try{await this._rpcWebSocket.notify("ping")}catch{}})()},5e3),this._updateSubscriptions()}_wsOnError(t){this._rpcWebSocketConnected=!1,console.error("ws error:",t.message)}_wsOnClose(t){if(this._rpcWebSocketConnected=!1,this._rpcWebSocketGeneration=(this._rpcWebSocketGeneration+1)%Number.MAX_SAFE_INTEGER,this._rpcWebSocketIdleTimeout&&(clearTimeout(this._rpcWebSocketIdleTimeout),this._rpcWebSocketIdleTimeout=null),this._rpcWebSocketHeartbeat&&(clearInterval(this._rpcWebSocketHeartbeat),this._rpcWebSocketHeartbeat=null),t===1e3){this._updateSubscriptions();return}this._subscriptionCallbacksByServerSubscriptionId={},Object.entries(this._subscriptionsByHash).forEach(([n,r])=>{this._setSubscription(n,{...r,state:"pending"})})}_setSubscription(t,n){let r=this._subscriptionsByHash[t]?.state;if(this._subscriptionsByHash[t]=n,r!==n.state){let o=this._subscriptionStateChangeCallbacksByHash[t];o&&o.forEach(s=>{try{s(n.state)}catch{}})}}_onSubscriptionStateChange(t,n){let r=this._subscriptionHashByClientSubscriptionId[t];if(r==null)return()=>{};let o=this._subscriptionStateChangeCallbacksByHash[r]||=new Set;return o.add(n),()=>{o.delete(n),o.size===0&&delete this._subscriptionStateChangeCallbacksByHash[r]}}async _updateSubscriptions(){if(Object.keys(this._subscriptionsByHash).length===0){this._rpcWebSocketConnected&&(this._rpcWebSocketConnected=!1,this._rpcWebSocketIdleTimeout=setTimeout(()=>{this._rpcWebSocketIdleTimeout=null;try{this._rpcWebSocket.close()}catch(r){r instanceof Error&&console.log(`Error when closing socket connection: ${r.message}`)}},500));return}if(this._rpcWebSocketIdleTimeout!==null&&(clearTimeout(this._rpcWebSocketIdleTimeout),this._rpcWebSocketIdleTimeout=null,this._rpcWebSocketConnected=!0),!this._rpcWebSocketConnected){this._rpcWebSocket.connect();return}let t=this._rpcWebSocketGeneration,n=()=>t===this._rpcWebSocketGeneration;await Promise.all(Object.keys(this._subscriptionsByHash).map(async r=>{let o=this._subscriptionsByHash[r];if(o!==void 0)switch(o.state){case"pending":case"unsubscribed":if(o.callbacks.size===0){delete this._subscriptionsByHash[r],o.state==="unsubscribed"&&delete this._subscriptionCallbacksByServerSubscriptionId[o.serverSubscriptionId],await this._updateSubscriptions();return}await(async()=>{let{args:s,method:i}=o;try{this._setSubscription(r,{...o,state:"subscribing"});let a=await this._rpcWebSocket.call(i,s);this._setSubscription(r,{...o,serverSubscriptionId:a,state:"subscribed"}),this._subscriptionCallbacksByServerSubscriptionId[a]=o.callbacks,await this._updateSubscriptions()}catch(a){if(console.error(`Received ${a instanceof Error?"":"JSON-RPC "}error calling \`${i}\``,{args:s,error:a}),!n())return;this._setSubscription(r,{...o,state:"pending"}),await this._updateSubscriptions()}})();break;case"subscribed":o.callbacks.size===0&&await(async()=>{let{serverSubscriptionId:s,unsubscribeMethod:i}=o;if(this._subscriptionsAutoDisposedByRpc.has(s))this._subscriptionsAutoDisposedByRpc.delete(s);else{this._setSubscription(r,{...o,state:"unsubscribing"}),this._setSubscription(r,{...o,state:"unsubscribing"});try{await this._rpcWebSocket.call(i,[s])}catch(a){if(a instanceof Error&&console.error(`${i} error:`,a.message),!n())return;this._setSubscription(r,{...o,state:"subscribed"}),await this._updateSubscriptions();return}}this._setSubscription(r,{...o,state:"unsubscribed"}),await this._updateSubscriptions()})();break}}))}_handleServerNotification(t,n){let r=this._subscriptionCallbacksByServerSubscriptionId[t];r!==void 0&&r.forEach(o=>{try{o(...n)}catch(s){console.error(s)}})}_wsOnAccountNotification(t){let{result:n,subscription:r}=b.create(t,Kre);this._handleServerNotification(r,[n.value,n.context])}_makeSubscription(t,n){let r=this._nextClientSubscriptionId++,o=GL([t.method,n]),s=this._subscriptionsByHash[o];return s===void 0?this._subscriptionsByHash[o]={...t,args:n,callbacks:new Set([t.callback]),state:"pending"}:s.callbacks.add(t.callback),this._subscriptionHashByClientSubscriptionId[r]=o,this._subscriptionDisposeFunctionsByClientSubscriptionId[r]=async()=>{delete this._subscriptionDisposeFunctionsByClientSubscriptionId[r],delete this._subscriptionHashByClientSubscriptionId[r];let i=this._subscriptionsByHash[o];ut(i!==void 0,`Could not find a \`Subscription\` when tearing down client subscription #${r}`),i.callbacks.delete(t.callback),await this._updateSubscriptions()},this._updateSubscriptions(),r}onAccountChange(t,n,r){let{commitment:o,config:s}=an(r),i=this._buildArgs([t.toBase58()],o||this._commitment||"finalized","base64",s);return this._makeSubscription({callback:n,method:"accountSubscribe",unsubscribeMethod:"accountUnsubscribe"},i)}async removeAccountChangeListener(t){await this._unsubscribeClientSubscription(t,"account change")}_wsOnProgramAccountNotification(t){let{result:n,subscription:r}=b.create(t,Zre);this._handleServerNotification(r,[{accountId:n.value.pubkey,accountInfo:n.value.account},n.context])}onProgramAccountChange(t,n,r,o){let{commitment:s,config:i}=an(r),a=this._buildArgs([t.toBase58()],s||this._commitment||"finalized","base64",i||(o?{filters:qL(o)}:void 0));return this._makeSubscription({callback:n,method:"programSubscribe",unsubscribeMethod:"programUnsubscribe"},a)}async removeProgramAccountChangeListener(t){await this._unsubscribeClientSubscription(t,"program account change")}onLogs(t,n,r){let o=this._buildArgs([typeof t=="object"?{mentions:[t.toString()]}:t],r||this._commitment||"finalized");return this._makeSubscription({callback:n,method:"logsSubscribe",unsubscribeMethod:"logsUnsubscribe"},o)}async removeOnLogsListener(t){await this._unsubscribeClientSubscription(t,"logs")}_wsOnLogsNotification(t){let{result:n,subscription:r}=b.create(t,Roe);this._handleServerNotification(r,[n.value,n.context])}_wsOnSlotNotification(t){let{result:n,subscription:r}=b.create(t,Jre);this._handleServerNotification(r,[n])}onSlotChange(t){return this._makeSubscription({callback:t,method:"slotSubscribe",unsubscribeMethod:"slotUnsubscribe"},[])}async removeSlotChangeListener(t){await this._unsubscribeClientSubscription(t,"slot change")}_wsOnSlotUpdatesNotification(t){let{result:n,subscription:r}=b.create(t,eoe);this._handleServerNotification(r,[n])}onSlotUpdate(t){return this._makeSubscription({callback:t,method:"slotsUpdatesSubscribe",unsubscribeMethod:"slotsUpdatesUnsubscribe"},[])}async removeSlotUpdateListener(t){await this._unsubscribeClientSubscription(t,"slot update")}async _unsubscribeClientSubscription(t,n){let r=this._subscriptionDisposeFunctionsByClientSubscriptionId[t];r?await r():console.warn(`Ignored unsubscribe request because an active subscription with id \`${t}\` for '${n}' events could not be found.`)}_buildArgs(t,n,r,o){let s=n||this._commitment;if(s||r||o){let i={};r&&(i.encoding=r),s&&(i.commitment=s),o&&(i=Object.assign(i,o)),t.push(i)}return t}_buildArgsAtLeastConfirmed(t,n,r,o){let s=n||this._commitment;if(s&&!["confirmed","finalized"].includes(s))throw new Error("Using Connection with default commitment: `"+this._commitment+"`, but method requires at least `confirmed`");return this._buildArgs(t,n,r,o)}_wsOnSignatureNotification(t){let{result:n,subscription:r}=b.create(t,toe);n.value!=="receivedSignature"&&this._subscriptionsAutoDisposedByRpc.add(r),this._handleServerNotification(r,n.value==="receivedSignature"?[{type:"received"},n.context]:[{type:"status",result:n.value},n.context])}onSignature(t,n,r){let o=this._buildArgs([t],r||this._commitment||"finalized"),s=this._makeSubscription({callback:(i,a)=>{if(i.type==="status"){n(i.result,a);try{this.removeSignatureListener(s)}catch{}}},method:"signatureSubscribe",unsubscribeMethod:"signatureUnsubscribe"},o);return s}onSignatureWithOptions(t,n,r){let{commitment:o,...s}={...r,commitment:r&&r.commitment||this._commitment||"finalized"},i=this._buildArgs([t],o,void 0,s),a=this._makeSubscription({callback:(c,u)=>{n(c,u);try{this.removeSignatureListener(a)}catch{}},method:"signatureSubscribe",unsubscribeMethod:"signatureUnsubscribe"},i);return a}async removeSignatureListener(t){await this._unsubscribeClientSubscription(t,"signature result")}_wsOnRootNotification(t){let{result:n,subscription:r}=b.create(t,noe);this._handleServerNotification(r,[n])}onRootChange(t){return this._makeSubscription({callback:t,method:"rootSubscribe",unsubscribeMethod:"rootUnsubscribe"},[])}async removeRootChangeListener(t){await this._unsubscribeClientSubscription(t,"root change")}},m1=class e{constructor(t){this._keypair=void 0,this._keypair=t??HL()}static generate(){return new e(HL())}static fromSecretKey(t,n){if(t.byteLength!==64)throw new Error("bad secret key size");let r=t.slice(32,64);if(!n||!n.skipValidation){let o=t.slice(0,32),s=c1(o);for(let i=0;i<32;i++)if(r[i]!==s[i])throw new Error("provided secretKey is invalid")}return new e({publicKey:r,secretKey:t})}static fromSeed(t){let n=c1(t),r=new Uint8Array(64);return r.set(t),r.set(n,32),new e({publicKey:n,secretKey:r})}get publicKey(){return new ge(this._keypair.publicKey)}get secretKey(){return new Uint8Array(this._keypair.secretKey)}},dc=Object.freeze({CreateLookupTable:{index:0,layout:j.struct([j.u32("instruction"),Bp("recentSlot"),j.u8("bumpSeed")])},FreezeLookupTable:{index:1,layout:j.struct([j.u32("instruction")])},ExtendLookupTable:{index:2,layout:j.struct([j.u32("instruction"),Bp(),j.seq(ht(),j.offset(j.u32(),-8),"addresses")])},DeactivateLookupTable:{index:3,layout:j.struct([j.u32("instruction")])},CloseLookupTable:{index:4,layout:j.struct([j.u32("instruction")])}}),_R=class{constructor(){}static decodeInstructionType(t){this.checkProgramId(t.programId);let r=j.u32("instruction").decode(t.data),o;for(let[s,i]of Object.entries(dc))if(i.index==r){o=s;break}if(!o)throw new Error("Invalid Instruction. Should be a LookupTable Instruction");return o}static decodeCreateLookupTable(t){this.checkProgramId(t.programId),this.checkKeysLength(t.keys,4);let{recentSlot:n}=Ht(dc.CreateLookupTable,t.data);return{authority:t.keys[1].pubkey,payer:t.keys[2].pubkey,recentSlot:Number(n)}}static decodeExtendLookupTable(t){if(this.checkProgramId(t.programId),t.keys.length<2)throw new Error(`invalid instruction; found ${t.keys.length} keys, expected at least 2`);let{addresses:n}=Ht(dc.ExtendLookupTable,t.data);return{lookupTable:t.keys[0].pubkey,authority:t.keys[1].pubkey,payer:t.keys.length>2?t.keys[2].pubkey:void 0,addresses:n.map(r=>new ge(r))}}static decodeCloseLookupTable(t){return this.checkProgramId(t.programId),this.checkKeysLength(t.keys,3),{lookupTable:t.keys[0].pubkey,authority:t.keys[1].pubkey,recipient:t.keys[2].pubkey}}static decodeFreezeLookupTable(t){return this.checkProgramId(t.programId),this.checkKeysLength(t.keys,2),{lookupTable:t.keys[0].pubkey,authority:t.keys[1].pubkey}}static decodeDeactivateLookupTable(t){return this.checkProgramId(t.programId),this.checkKeysLength(t.keys,2),{lookupTable:t.keys[0].pubkey,authority:t.keys[1].pubkey}}static checkProgramId(t){if(!t.equals(oy.programId))throw new Error("invalid instruction; programId is not AddressLookupTable Program")}static checkKeysLength(t,n){if(t.lengths.toBytes())}),o=[{pubkey:t.lookupTable,isSigner:!1,isWritable:!0},{pubkey:t.authority,isSigner:!0,isWritable:!1}];return t.payer&&o.push({pubkey:t.payer,isSigner:!0,isWritable:!0},{pubkey:Wr.programId,isSigner:!1,isWritable:!1}),new Vt({programId:this.programId,keys:o,data:r})}static deactivateLookupTable(t){let n=dc.DeactivateLookupTable,r=wt(n),o=[{pubkey:t.lookupTable,isSigner:!1,isWritable:!0},{pubkey:t.authority,isSigner:!0,isWritable:!1}];return new Vt({programId:this.programId,keys:o,data:r})}static closeLookupTable(t){let n=dc.CloseLookupTable,r=wt(n),o=[{pubkey:t.lookupTable,isSigner:!1,isWritable:!0},{pubkey:t.authority,isSigner:!0,isWritable:!1},{pubkey:t.recipient,isSigner:!1,isWritable:!0}];return new Vt({programId:this.programId,keys:o,data:r})}};oy.programId=new ge("AddressLookupTab1e1111111111111111111111111");var AR=class{constructor(){}static decodeInstructionType(t){this.checkProgramId(t.programId);let r=j.u8("instruction").decode(t.data),o;for(let[s,i]of Object.entries(fa))if(i.index==r){o=s;break}if(!o)throw new Error("Instruction type incorrect; not a ComputeBudgetInstruction");return o}static decodeRequestUnits(t){this.checkProgramId(t.programId);let{units:n,additionalFee:r}=Ht(fa.RequestUnits,t.data);return{units:n,additionalFee:r}}static decodeRequestHeapFrame(t){this.checkProgramId(t.programId);let{bytes:n}=Ht(fa.RequestHeapFrame,t.data);return{bytes:n}}static decodeSetComputeUnitLimit(t){this.checkProgramId(t.programId);let{units:n}=Ht(fa.SetComputeUnitLimit,t.data);return{units:n}}static decodeSetComputeUnitPrice(t){this.checkProgramId(t.programId);let{microLamports:n}=Ht(fa.SetComputeUnitPrice,t.data);return{microLamports:n}}static checkProgramId(t){if(!t.equals(sy.programId))throw new Error("invalid instruction; programId is not ComputeBudgetProgram")}},fa=Object.freeze({RequestUnits:{index:0,layout:j.struct([j.u8("instruction"),j.u32("units"),j.u32("additionalFee")])},RequestHeapFrame:{index:1,layout:j.struct([j.u8("instruction"),j.u32("bytes")])},SetComputeUnitLimit:{index:2,layout:j.struct([j.u8("instruction"),j.u32("units")])},SetComputeUnitPrice:{index:3,layout:j.struct([j.u8("instruction"),Bp("microLamports")])}}),sy=class{constructor(){}static requestUnits(t){let n=fa.RequestUnits,r=wt(n,t);return new Vt({keys:[],programId:this.programId,data:r})}static requestHeapFrame(t){let n=fa.RequestHeapFrame,r=wt(n,t);return new Vt({keys:[],programId:this.programId,data:r})}static setComputeUnitLimit(t){let n=fa.SetComputeUnitLimit,r=wt(n,t);return new Vt({keys:[],programId:this.programId,data:r})}static setComputeUnitPrice(t){let n=fa.SetComputeUnitPrice,r=wt(n,{microLamports:BigInt(t.microLamports)});return new Vt({keys:[],programId:this.programId,data:r})}};sy.programId=new ge("ComputeBudget111111111111111111111111111111");var XL=64,JL=32,QL=64,eM=j.struct([j.u8("numSignatures"),j.u8("padding"),j.u16("signatureOffset"),j.u16("signatureInstructionIndex"),j.u16("publicKeyOffset"),j.u16("publicKeyInstructionIndex"),j.u16("messageDataOffset"),j.u16("messageDataSize"),j.u16("messageInstructionIndex")]),h1=class e{constructor(){}static createInstructionWithPublicKey(t){let{publicKey:n,message:r,signature:o,instructionIndex:s}=t;ut(n.length===JL,`Public Key must be ${JL} bytes but received ${n.length} bytes`),ut(o.length===QL,`Signature must be ${QL} bytes but received ${o.length} bytes`);let i=eM.span,a=i+n.length,c=a+o.length,u=1,d=$e.Buffer.alloc(c+r.length),l=s??65535;return eM.encode({numSignatures:u,padding:0,signatureOffset:a,signatureInstructionIndex:l,publicKeyOffset:i,publicKeyInstructionIndex:l,messageDataOffset:c,messageDataSize:r.length,messageInstructionIndex:l},d),d.fill(n,i),d.fill(o,a),d.fill(r,c),new Vt({keys:[],programId:e.programId,data:d})}static createInstructionWithPrivateKey(t){let{privateKey:n,message:r,instructionIndex:o}=t;ut(n.length===XL,`Private key must be ${XL} bytes but received ${n.length} bytes`);try{let s=m1.fromSecretKey(n),i=s.publicKey.toBytes(),a=vR(r,s.secretKey);return this.createInstructionWithPublicKey({publicKey:i,message:r,signature:a,instructionIndex:o})}catch(s){throw new Error(`Error creating instruction; ${s}`)}}};h1.programId=new ge("Ed25519SigVerify111111111111111111111111111");var Ioe=(e,t)=>{let n=SR.secp256k1.sign(e,t);return[n.toCompactRawBytes(),n.recovery]};SR.secp256k1.utils.isValidPrivateKey;var Coe=SR.secp256k1.getPublicKey,tM=32,oR=20,nM=64,Noe=11,sR=j.struct([j.u8("numSignatures"),j.u16("signatureOffset"),j.u8("signatureInstructionIndex"),j.u16("ethAddressOffset"),j.u8("ethAddressInstructionIndex"),j.u16("messageDataOffset"),j.u16("messageDataSize"),j.u8("messageInstructionIndex"),j.blob(20,"ethAddress"),j.blob(64,"signature"),j.u8("recoveryId")]),y1=class e{constructor(){}static publicKeyToEthAddress(t){ut(t.length===nM,`Public key must be ${nM} bytes but received ${t.length} bytes`);try{return $e.Buffer.from(FL.keccak_256(st(t))).slice(-oR)}catch(n){throw new Error(`Error constructing Ethereum address: ${n}`)}}static createInstructionWithPublicKey(t){let{publicKey:n,message:r,signature:o,recoveryId:s,instructionIndex:i}=t;return e.createInstructionWithEthAddress({ethAddress:e.publicKeyToEthAddress(n),message:r,signature:o,recoveryId:s,instructionIndex:i})}static createInstructionWithEthAddress(t){let{ethAddress:n,message:r,signature:o,recoveryId:s,instructionIndex:i=0}=t,a;typeof n=="string"?n.startsWith("0x")?a=$e.Buffer.from(n.substr(2),"hex"):a=$e.Buffer.from(n,"hex"):a=n,ut(a.length===oR,`Address must be ${oR} bytes but received ${a.length} bytes`);let c=1+Noe,u=c,d=c+a.length,l=d+o.length+1,m=1,p=$e.Buffer.alloc(sR.span+r.length);return sR.encode({numSignatures:m,signatureOffset:d,signatureInstructionIndex:i,ethAddressOffset:u,ethAddressInstructionIndex:i,messageDataOffset:l,messageDataSize:r.length,messageInstructionIndex:i,signature:st(o),ethAddress:st(a),recoveryId:s},p),p.fill(st(r),sR.span),new Vt({keys:[],programId:e.programId,data:p})}static createInstructionWithPrivateKey(t){let{privateKey:n,message:r,instructionIndex:o}=t;ut(n.length===tM,`Private key must be ${tM} bytes but received ${n.length} bytes`);try{let s=st(n),i=Coe(s,!1).slice(1),a=$e.Buffer.from(FL.keccak_256(st(r))),[c,u]=Ioe(a,s);return this.createInstructionWithPublicKey({publicKey:i,message:r,signature:c,recoveryId:u,instructionIndex:o})}catch(s){throw new Error(`Error creating instruction; ${s}`)}}};y1.programId=new ge("KeccakSecp256k11111111111111111111111111111");var vM,IM=new ge("StakeConfig11111111111111111111111111111111"),b1=class{constructor(t,n){this.staker=void 0,this.withdrawer=void 0,this.staker=t,this.withdrawer=n}},Cl=class{constructor(t,n,r){this.unixTimestamp=void 0,this.epoch=void 0,this.custodian=void 0,this.unixTimestamp=t,this.epoch=n,this.custodian=r}};vM=Cl;Cl.default=new vM(0,0,ge.default);var ER=class{constructor(){}static decodeInstructionType(t){this.checkProgramId(t.programId);let r=j.u32("instruction").decode(t.data),o;for(let[s,i]of Object.entries(kr))if(i.index==r){o=s;break}if(!o)throw new Error("Instruction type incorrect; not a StakeInstruction");return o}static decodeInitialize(t){this.checkProgramId(t.programId),this.checkKeyLength(t.keys,2);let{authorized:n,lockup:r}=Ht(kr.Initialize,t.data);return{stakePubkey:t.keys[0].pubkey,authorized:new b1(new ge(n.staker),new ge(n.withdrawer)),lockup:new Cl(r.unixTimestamp,r.epoch,new ge(r.custodian))}}static decodeDelegate(t){return this.checkProgramId(t.programId),this.checkKeyLength(t.keys,6),Ht(kr.Delegate,t.data),{stakePubkey:t.keys[0].pubkey,votePubkey:t.keys[1].pubkey,authorizedPubkey:t.keys[5].pubkey}}static decodeAuthorize(t){this.checkProgramId(t.programId),this.checkKeyLength(t.keys,3);let{newAuthorized:n,stakeAuthorizationType:r}=Ht(kr.Authorize,t.data),o={stakePubkey:t.keys[0].pubkey,authorizedPubkey:t.keys[2].pubkey,newAuthorizedPubkey:new ge(n),stakeAuthorizationType:{index:r}};return t.keys.length>3&&(o.custodianPubkey=t.keys[3].pubkey),o}static decodeAuthorizeWithSeed(t){this.checkProgramId(t.programId),this.checkKeyLength(t.keys,2);let{newAuthorized:n,stakeAuthorizationType:r,authoritySeed:o,authorityOwner:s}=Ht(kr.AuthorizeWithSeed,t.data),i={stakePubkey:t.keys[0].pubkey,authorityBase:t.keys[1].pubkey,authoritySeed:o,authorityOwner:new ge(s),newAuthorizedPubkey:new ge(n),stakeAuthorizationType:{index:r}};return t.keys.length>3&&(i.custodianPubkey=t.keys[3].pubkey),i}static decodeSplit(t){this.checkProgramId(t.programId),this.checkKeyLength(t.keys,3);let{lamports:n}=Ht(kr.Split,t.data);return{stakePubkey:t.keys[0].pubkey,splitStakePubkey:t.keys[1].pubkey,authorizedPubkey:t.keys[2].pubkey,lamports:n}}static decodeMerge(t){return this.checkProgramId(t.programId),this.checkKeyLength(t.keys,3),Ht(kr.Merge,t.data),{stakePubkey:t.keys[0].pubkey,sourceStakePubKey:t.keys[1].pubkey,authorizedPubkey:t.keys[4].pubkey}}static decodeWithdraw(t){this.checkProgramId(t.programId),this.checkKeyLength(t.keys,5);let{lamports:n}=Ht(kr.Withdraw,t.data),r={stakePubkey:t.keys[0].pubkey,toPubkey:t.keys[1].pubkey,authorizedPubkey:t.keys[4].pubkey,lamports:n};return t.keys.length>5&&(r.custodianPubkey=t.keys[5].pubkey),r}static decodeDeactivate(t){return this.checkProgramId(t.programId),this.checkKeyLength(t.keys,3),Ht(kr.Deactivate,t.data),{stakePubkey:t.keys[0].pubkey,authorizedPubkey:t.keys[2].pubkey}}static checkProgramId(t){if(!t.equals(Lp.programId))throw new Error("invalid instruction; programId is not StakeProgram")}static checkKeyLength(t,n){if(t.length0&&u.add(Wr.transfer({fromPubkey:t.authorizedPubkey,toPubkey:s,lamports:n})),u.add(this.splitInstruction({stakePubkey:r,authorizedPubkey:o,splitStakePubkey:s,lamports:c}))}static merge(t){let{stakePubkey:n,sourceStakePubKey:r,authorizedPubkey:o}=t,s=kr.Merge,i=wt(s);return new $t().add({keys:[{pubkey:n,isSigner:!1,isWritable:!0},{pubkey:r,isSigner:!1,isWritable:!0},{pubkey:la,isSigner:!1,isWritable:!1},{pubkey:a1,isSigner:!1,isWritable:!1},{pubkey:o,isSigner:!0,isWritable:!1}],programId:this.programId,data:i})}static withdraw(t){let{stakePubkey:n,authorizedPubkey:r,toPubkey:o,lamports:s,custodianPubkey:i}=t,a=kr.Withdraw,c=wt(a,{lamports:s}),u=[{pubkey:n,isSigner:!1,isWritable:!0},{pubkey:o,isSigner:!1,isWritable:!0},{pubkey:la,isSigner:!1,isWritable:!1},{pubkey:a1,isSigner:!1,isWritable:!1},{pubkey:r,isSigner:!0,isWritable:!1}];return i&&u.push({pubkey:i,isSigner:!0,isWritable:!1}),new $t().add({keys:u,programId:this.programId,data:c})}static deactivate(t){let{stakePubkey:n,authorizedPubkey:r}=t,o=kr.Deactivate,s=wt(o);return new $t().add({keys:[{pubkey:n,isSigner:!1,isWritable:!0},{pubkey:la,isSigner:!1,isWritable:!1},{pubkey:r,isSigner:!0,isWritable:!1}],programId:this.programId,data:s})}};Lp.programId=new ge("Stake11111111111111111111111111111111111111");Lp.space=200;var g1=class{constructor(t,n,r,o){this.nodePubkey=void 0,this.authorizedVoter=void 0,this.authorizedWithdrawer=void 0,this.commission=void 0,this.nodePubkey=t,this.authorizedVoter=n,this.authorizedWithdrawer=r,this.commission=o}},xR=class{constructor(){}static decodeInstructionType(t){this.checkProgramId(t.programId);let r=j.u32("instruction").decode(t.data),o;for(let[s,i]of Object.entries(pa))if(i.index==r){o=s;break}if(!o)throw new Error("Instruction type incorrect; not a VoteInstruction");return o}static decodeInitializeAccount(t){this.checkProgramId(t.programId),this.checkKeyLength(t.keys,4);let{voteInit:n}=Ht(pa.InitializeAccount,t.data);return{votePubkey:t.keys[0].pubkey,nodePubkey:t.keys[3].pubkey,voteInit:new g1(new ge(n.nodePubkey),new ge(n.authorizedVoter),new ge(n.authorizedWithdrawer),n.commission)}}static decodeAuthorize(t){this.checkProgramId(t.programId),this.checkKeyLength(t.keys,3);let{newAuthorized:n,voteAuthorizationType:r}=Ht(pa.Authorize,t.data);return{votePubkey:t.keys[0].pubkey,authorizedPubkey:t.keys[2].pubkey,newAuthorizedPubkey:new ge(n),voteAuthorizationType:{index:r}}}static decodeAuthorizeWithSeed(t){this.checkProgramId(t.programId),this.checkKeyLength(t.keys,3);let{voteAuthorizeWithSeedArgs:{currentAuthorityDerivedKeyOwnerPubkey:n,currentAuthorityDerivedKeySeed:r,newAuthorized:o,voteAuthorizationType:s}}=Ht(pa.AuthorizeWithSeed,t.data);return{currentAuthorityDerivedKeyBasePubkey:t.keys[2].pubkey,currentAuthorityDerivedKeyOwnerPubkey:new ge(n),currentAuthorityDerivedKeySeed:r,newAuthorizedPubkey:new ge(o),voteAuthorizationType:{index:s},votePubkey:t.keys[0].pubkey}}static decodeWithdraw(t){this.checkProgramId(t.programId),this.checkKeyLength(t.keys,3);let{lamports:n}=Ht(pa.Withdraw,t.data);return{votePubkey:t.keys[0].pubkey,authorizedWithdrawerPubkey:t.keys[2].pubkey,lamports:n,toPubkey:t.keys[1].pubkey}}static checkProgramId(t){if(!t.equals(Mp.programId))throw new Error("invalid instruction; programId is not VoteProgram")}static checkKeyLength(t,n){if(t.lengthn-r)throw new Error("Withdraw will leave vote account with insufficient funds.");return e.withdraw(t)}static updateValidatorIdentity(t){let{votePubkey:n,authorizedWithdrawerPubkey:r,nodePubkey:o}=t,s=pa.UpdateValidatorIdentity,i=wt(s),a=[{pubkey:n,isSigner:!1,isWritable:!0},{pubkey:o,isSigner:!0,isWritable:!1},{pubkey:r,isSigner:!0,isWritable:!1}];return new $t().add({keys:a,programId:this.programId,data:i})}};Mp.programId=new ge("Vote111111111111111111111111111111111111111");Mp.space=3762;var CM=new ge("Va1idator1nfo111111111111111111111111111111"),Doe=b.type({name:b.string(),website:b.optional(b.string()),details:b.optional(b.string()),iconUrl:b.optional(b.string()),keybaseUsername:b.optional(b.string())}),wR=class e{constructor(t,n){this.key=void 0,this.info=void 0,this.key=t,this.info=n}static fromConfigData(t){let n=[...t];if(Zo(n)!==2)return null;let o=[];for(let s=0;s<2;s++){let i=new ge(dr(n,0,Vs)),a=ur(n)===1;o.push({publicKey:i,isSigner:a})}if(o[0].publicKey.equals(CM)&&o[1].isSigner){let s=vl().decode($e.Buffer.from(n)),i=JSON.parse(s);return b.assert(i,Doe),new e(o[1].publicKey,i)}return null}},Boe=new ge("Vote111111111111111111111111111111111111111"),Poe=j.struct([ht("nodePubkey"),ht("authorizedWithdrawer"),j.u8("commission"),j.nu64(),j.seq(j.struct([j.nu64("slot"),j.u32("confirmationCount")]),j.offset(j.u32(),-8),"votes"),j.u8("rootSlotValid"),j.nu64("rootSlot"),j.nu64(),j.seq(j.struct([j.nu64("epoch"),ht("authorizedVoter")]),j.offset(j.u32(),-8),"authorizedVoters"),j.struct([j.seq(j.struct([ht("authorizedPubkey"),j.nu64("epochOfLastAuthorizedSwitch"),j.nu64("targetEpoch")]),32,"buf"),j.nu64("idx"),j.u8("isEmpty")],"priorVoters"),j.nu64(),j.seq(j.struct([j.nu64("epoch"),j.nu64("credits"),j.nu64("prevCredits")]),j.offset(j.u32(),-8),"epochCredits"),j.struct([j.nu64("slot"),j.nu64("timestamp")],"lastTimestamp")]),TR=class e{constructor(t){this.nodePubkey=void 0,this.authorizedWithdrawer=void 0,this.commission=void 0,this.rootSlot=void 0,this.votes=void 0,this.authorizedVoters=void 0,this.priorVoters=void 0,this.epochCredits=void 0,this.lastTimestamp=void 0,this.nodePubkey=t.nodePubkey,this.authorizedWithdrawer=t.authorizedWithdrawer,this.commission=t.commission,this.rootSlot=t.rootSlot,this.votes=t.votes,this.authorizedVoters=t.authorizedVoters,this.priorVoters=t.priorVoters,this.epochCredits=t.epochCredits,this.lastTimestamp=t.lastTimestamp}static fromAccountData(t){let r=Poe.decode(st(t),4),o=r.rootSlot;return r.rootSlotValid||(o=null),new e({nodePubkey:new ge(r.nodePubkey),authorizedWithdrawer:new ge(r.authorizedWithdrawer),commission:r.commission,votes:r.votes,rootSlot:o,authorizedVoters:r.authorizedVoters.map(Loe),priorVoters:Moe(r.priorVoters),epochCredits:r.epochCredits,lastTimestamp:r.lastTimestamp})}};function Loe({authorizedVoter:e,epoch:t}){return{epoch:t,authorizedVoter:new ge(e)}}function rM({authorizedPubkey:e,epochOfLastAuthorizedSwitch:t,targetEpoch:n}){return{authorizedPubkey:new ge(e),epochOfLastAuthorizedSwitch:t,targetEpoch:n}}function Moe({buf:e,idx:t,isEmpty:n}){return n?[]:[...e.slice(t+1).map(rM),...e.slice(0,t).map(rM)]}var oM={http:{devnet:"http://api.devnet.solana.com",testnet:"http://api.testnet.solana.com","mainnet-beta":"http://api.mainnet-beta.solana.com/"},https:{devnet:"https://api.devnet.solana.com",testnet:"https://api.testnet.solana.com","mainnet-beta":"https://api.mainnet-beta.solana.com/"}};function Foe(e,t){let n=t===!1?"http":"https";if(!e)return oM[n].devnet;let r=oM[n][e];if(!r)throw new Error(`Unknown ${n} cluster: ${e}`);return r}async function Uoe(e,t,n,r){let o,s;n&&Object.prototype.hasOwnProperty.call(n,"lastValidBlockHeight")||n&&Object.prototype.hasOwnProperty.call(n,"nonceValue")?(o=n,s=r):s=n;let i=s&&{skipPreflight:s.skipPreflight,preflightCommitment:s.preflightCommitment||s.commitment,minContextSlot:s.minContextSlot},a=await e.sendRawTransaction(t,i),c=s&&s.commitment,d=(await(o?e.confirmTransaction(o,c):e.confirmTransaction(a,c))).value;if(d.err)throw a!=null?new Il({action:i?.skipPreflight?"send":"simulate",signature:a,transactionMessage:`Status: (${JSON.stringify(d)})`}):new Error(`Raw transaction ${a} failed (${JSON.stringify(d)})`);return a}var Hoe=1e9;be.Account=aR;be.AddressLookupTableAccount=ny;be.AddressLookupTableInstruction=_R;be.AddressLookupTableProgram=oy;be.Authorized=b1;be.BLOCKHASH_CACHE_TIMEOUT_MS=yM;be.BPF_LOADER_DEPRECATED_PROGRAM_ID=Bne;be.BPF_LOADER_PROGRAM_ID=nre;be.BpfLoader=pR;be.COMPUTE_BUDGET_INSTRUCTION_LAYOUTS=fa;be.ComputeBudgetInstruction=AR;be.ComputeBudgetProgram=sy;be.Connection=gR;be.Ed25519Program=h1;be.Enum=iR;be.EpochSchedule=f1;be.FeeCalculatorLayout=pM;be.Keypair=m1;be.LAMPORTS_PER_SOL=Hoe;be.LOOKUP_TABLE_INSTRUCTION_LAYOUTS=dc;be.Loader=Pp;be.Lockup=Cl;be.MAX_SEED_LENGTH=cM;be.Message=ma;be.MessageAccountKeys=Nu;be.MessageV0=kp;be.MessageV1=ty;be.NONCE_ACCOUNT_LENGTH=lR;be.NonceAccount=l1;be.PACKET_DATA_SIZE=Cu;be.PUBLIC_KEY_LENGTH=Vs;be.PublicKey=ge;be.SIGNATURE_LENGTH_IN_BYTES=vu;be.SOLANA_SCHEMA=Xh;be.STAKE_CONFIG_ID=IM;be.STAKE_INSTRUCTION_LAYOUTS=kr;be.SYSTEM_INSTRUCTION_LAYOUTS=cn;be.SYSVAR_CLOCK_PUBKEY=la;be.SYSVAR_EPOCH_SCHEDULE_PUBKEY=Yne;be.SYSVAR_INSTRUCTIONS_PUBKEY=Zne;be.SYSVAR_RECENT_BLOCKHASHES_PUBKEY=i1;be.SYSVAR_RENT_PUBKEY=Dp;be.SYSVAR_REWARDS_PUBKEY=Xne;be.SYSVAR_SLOT_HASHES_PUBKEY=Jne;be.SYSVAR_SLOT_HISTORY_PUBKEY=Qne;be.SYSVAR_STAKE_HISTORY_PUBKEY=a1;be.Secp256k1Program=y1;be.SendTransactionError=Il;be.SolanaJSONRPCError=Re;be.SolanaJSONRPCErrorCode=ere;be.StakeAuthorizationLayout=Ooe;be.StakeInstruction=ER;be.StakeProgram=Lp;be.Struct=Jh;be.SystemInstruction=fR;be.SystemProgram=Wr;be.Transaction=$t;be.TransactionExpiredBlockheightExceededError=Qh;be.TransactionExpiredNonceInvalidError=Iu;be.TransactionExpiredTimeoutError=ey;be.TransactionInstruction=Vt;be.TransactionMessage=cR;be.TransactionStatus=uc;be.V1_TRANSACTION_SIZE_LIMIT=Pne;be.VALIDATOR_INFO_KEY=CM;be.VERSION_1_MESSAGE_PREFIX=uM;be.VERSION_PREFIX_MASK=iy;be.VOTE_PROGRAM_ID=Boe;be.ValidatorInfo=wR;be.VersionedMessage=d1;be.VersionedTransaction=uR;be.VoteAccount=TR;be.VoteAuthorizationLayout=koe;be.VoteInit=g1;be.VoteInstruction=xR;be.VoteProgram=Mp;be.clusterApiUrl=Foe;be.sendAndConfirmRawTransaction=Uoe;be.sendAndConfirmTransaction=dR});var LM=Xe((OIe,OR)=>{"use strict";var $oe=/[\p{Lu}]/u,zoe=/[\p{Ll}]/u,NM=/^[\p{Lu}](?![\p{Lu}])/gu,DM=/([\p{Alpha}\p{N}_]|$)/u,BM=/[_.\- ]+/,Voe=new RegExp("^"+BM.source),OM=new RegExp(BM.source+DM.source,"gu"),kM=new RegExp("\\d+"+DM.source,"gu"),joe=(e,t,n)=>{let r=!1,o=!1,s=!1;for(let i=0;i(NM.lastIndex=0,e.replace(NM,n=>t(n))),Woe=(e,t)=>(OM.lastIndex=0,kM.lastIndex=0,e.replace(OM,(n,r)=>t(r)).replace(kM,n=>t(n))),PM=(e,t)=>{if(!(typeof e=="string"||Array.isArray(e)))throw new TypeError("Expected the input to be `string | string[]`");if(t={pascalCase:!1,preserveConsecutiveUppercase:!1,...t},Array.isArray(e)?e=e.map(s=>s.trim()).filter(s=>s.length).join("-"):e=e.trim(),e.length===0)return"";let n=t.locale===!1?s=>s.toLowerCase():s=>s.toLocaleLowerCase(t.locale),r=t.locale===!1?s=>s.toUpperCase():s=>s.toLocaleUpperCase(t.locale);return e.length===1?t.pascalCase?r(e):n(e):(e!==n(e)&&(e=joe(e,n,r)),e=e.replace(Voe,""),t.preserveConsecutiveUppercase?e=Goe(e,n):e=n(e),t.pascalCase&&(e=r(e.charAt(0))+e.slice(1)),Woe(e,r))};OR.exports=PM;OR.exports.default=PM});var FR=Xe(Te=>{"use strict";var Lt=class{constructor(t,n){if(!Number.isInteger(t))throw new TypeError("span must be an integer");this.span=t,this.property=n}makeDestinationObject(){return{}}decode(t,n){throw new Error("Layout is abstract")}encode(t,n,r){throw new Error("Layout is abstract")}getSpan(t,n){if(0>this.span)throw new RangeError("indeterminate span");return this.span}replicate(t){let n=Object.create(this.constructor.prototype);return Object.assign(n,this),n.property=t,n}fromArray(t){}};Te.Layout=Lt;function MR(e,t){return t.property?e+"["+t.property+"]":e}Te.nameWithProperty=MR;function qoe(e,t){if(typeof e!="function")throw new TypeError("Class must be constructor");if(e.hasOwnProperty("layout_"))throw new Error("Class is already bound to a layout");if(!(t&&t instanceof Lt))throw new TypeError("layout must be a Layout");if(t.hasOwnProperty("boundConstructor_"))throw new Error("layout is already bound to a constructor");e.layout_=t,t.boundConstructor_=e,t.makeDestinationObject=(()=>new e),Object.defineProperty(e.prototype,"encode",{value:function(n,r){return t.encode(this,n,r)},writable:!0}),Object.defineProperty(e,"decode",{value:function(n,r){return t.decode(n,r)},writable:!0})}Te.bindConstructorLayout=qoe;var lo=class extends Lt{isCount(){throw new Error("ExternalLayout is abstract")}},E1=class extends lo{constructor(t,n){if(t===void 0&&(t=1),!Number.isInteger(t)||0>=t)throw new TypeError("elementSpan must be a (positive) integer");super(-1,n),this.elementSpan=t}isCount(){return!0}decode(t,n){n===void 0&&(n=0);let r=t.length-n;return Math.floor(r/this.elementSpan)}encode(t,n,r){return 0}},ay=class extends lo{constructor(t,n,r){if(!(t instanceof Lt))throw new TypeError("layout must be a Layout");if(n===void 0)n=0;else if(!Number.isInteger(n))throw new TypeError("offset must be integer or undefined");super(t.span,r||t.property),this.layout=t,this.offset=n}isCount(){return this.layout instanceof js||this.layout instanceof vi}decode(t,n){return n===void 0&&(n=0),this.layout.decode(t,n+this.offset)}encode(t,n,r){return r===void 0&&(r=0),this.layout.encode(t,n,r+this.offset)}},js=class extends Lt{constructor(t,n){if(super(t,n),6i+o.encode(a,n,r+i),0);return this.count instanceof lo&&this.count.encode(t.length,n,r),s}},v1=class extends Lt{constructor(t,n,r){if(!(Array.isArray(t)&&t.reduce((s,i)=>s&&i instanceof Lt,!0)))throw new TypeError("fields must be array of Layout instances");typeof n=="boolean"&&r===void 0&&(r=n,n=void 0);for(let s of t)if(0>s.span&&s.property===void 0)throw new Error("fields cannot contain unnamed variable-length layout");let o=-1;try{o=t.reduce((s,i)=>s+i.getSpan(),0)}catch{}super(o,n),this.fields=t,this.decodePrefixes=!!r}getSpan(t,n){if(0<=this.span)return this.span;n===void 0&&(n=0);let r=0;try{r=this.fields.reduce((o,s)=>{let i=s.getSpan(t,n);return n+=i,o+i},0)}catch{throw new RangeError("indeterminate span")}return r}decode(t,n){n===void 0&&(n=0);let r=this.makeDestinationObject();for(let o of this.fields)if(o.property!==void 0&&(r[o.property]=o.decode(t,n)),n+=o.getSpan(t,n),this.decodePrefixes&&t.length===n)break;return r}encode(t,n,r){r===void 0&&(r=0);let o=r,s=0,i=0;for(let a of this.fields){let c=a.span;if(i=0c&&(c=a.getSpan(n,r)))}s=r,r+=c}return s+i-o}fromArray(t){let n=this.makeDestinationObject();for(let r of this.fields)r.property!==void 0&&0r.span?n=-1:0<=n&&(n+=r.span)}}},cy=class{constructor(t){this.property=t}decode(){throw new Error("UnionDiscriminator is abstract")}encode(){throw new Error("UnionDiscriminator is abstract")}},$p=class extends cy{constructor(t,n){if(!(t instanceof lo&&t.isCount()))throw new TypeError("layout must be an unsigned integer ExternalLayout");super(n||t.property||"variant"),this.layout=t}decode(t,n){return this.layout.decode(t,n)}encode(t,n,r){return this.layout.encode(t,n,r)}},uy=class extends Lt{constructor(t,n,r){let o=t instanceof js||t instanceof vi;if(o)t=new $p(new ay(t));else if(t instanceof lo&&t.isCount())t=new $p(t);else if(!(t instanceof cy))throw new TypeError("discr must be a UnionDiscriminator or an unsigned integer layout");if(n===void 0&&(n=null),!(n===null||n instanceof Lt))throw new TypeError("defaultLayout must be null or a Layout");if(n!==null){if(0>n.span)throw new Error("defaultLayout must have constant span");n.property===void 0&&(n=n.replicate("content"))}let s=-1;n&&(s=n.span,0<=s&&o&&(s+=t.layout.span)),super(s,r),this.discriminator=t,this.usesPrefixDiscriminator=o,this.defaultLayout=n,this.registry={};let i=this.defaultGetSourceVariant.bind(this);this.getSourceVariant=function(a){return i(a)},this.configGetSourceVariant=function(a){i=a.bind(this)}}getSpan(t,n){if(0<=this.span)return this.span;n===void 0&&(n=0);let r=this.getVariant(t,n);if(!r)throw new Error("unable to determine span for unrecognized variant");return r.getSpan(t,n)}defaultGetSourceVariant(t){if(t.hasOwnProperty(this.discriminator.property)){if(this.defaultLayout&&t.hasOwnProperty(this.defaultLayout.property))return;let n=this.registry[t[this.discriminator.property]];if(n&&(!n.layout||t.hasOwnProperty(n.property)))return n}else for(let n in this.registry){let r=this.registry[n];if(t.hasOwnProperty(r.property))return r}throw new Error("unable to infer src variant")}decode(t,n){n===void 0&&(n=0);let r,o=this.discriminator,s=o.decode(t,n),i=this.registry[s];if(i===void 0){let a=0;i=this.defaultLayout,this.usesPrefixDiscriminator&&(a=o.layout.span),r=this.makeDestinationObject(),r[o.property]=s,r[i.property]=this.defaultLayout.decode(t,n+a)}else r=i.decode(t,n);return r}encode(t,n,r){r===void 0&&(r=0);let o=this.getSourceVariant(t);if(o===void 0){let s=this.discriminator,i=this.defaultLayout,a=0;return this.usesPrefixDiscriminator&&(a=s.layout.span),s.encode(t[s.property],n,r),a+i.encode(t[i.property],n,r+a)}return o.encode(t,n,r)}addVariant(t,n,r){let o=new I1(this,t,n,r);return this.registry[t]=o,o}getVariant(t,n){let r=t;return Buffer.isBuffer(t)&&(n===void 0&&(n=0),r=this.discriminator.decode(t,n)),this.registry[r]}},I1=class extends Lt{constructor(t,n,r,o){if(!(t instanceof uy))throw new TypeError("union must be a Union");if(!Number.isInteger(n)||0>n)throw new TypeError("variant must be a (non-negative) integer");if(typeof r=="string"&&o===void 0&&(o=r,r=null),r){if(!(r instanceof Lt))throw new TypeError("layout must be a Layout");if(t.defaultLayout!==null&&0<=r.span&&r.span>t.defaultLayout.span)throw new Error("variant span exceeds span of containing union");if(typeof o!="string")throw new TypeError("variant must have a String property")}let s=t.span;0>t.span&&(s=r?r.span:0,0<=s&&t.usesPrefixDiscriminator&&(s+=t.discriminator.layout.span)),super(s,o),this.union=t,this.variant=n,this.layout=r||null}getSpan(t,n){if(0<=this.span)return this.span;n===void 0&&(n=0);let r=0;return this.union.usesPrefixDiscriminator&&(r=this.union.discriminator.layout.span),r+this.layout.getSpan(t,n+r)}decode(t,n){let r=this.makeDestinationObject();if(n===void 0&&(n=0),this!==this.union.getVariant(t,n))throw new Error("variant mismatch");let o=0;return this.union.usesPrefixDiscriminator&&(o=this.union.discriminator.layout.span),this.layout?r[this.property]=this.layout.decode(t,n+o):this.property?r[this.property]=!0:this.union.usesPrefixDiscriminator&&(r[this.union.discriminator.property]=this.variant),r}encode(t,n,r){r===void 0&&(r=0);let o=0;if(this.union.usesPrefixDiscriminator&&(o=this.union.discriminator.layout.span),this.layout&&!t.hasOwnProperty(this.property))throw new TypeError("variant lacks property "+this.property);this.union.discriminator.encode(this.variant,n,r);let s=o;if(this.layout&&(this.layout.encode(t[this.property],n,r+o),s+=this.layout.getSpan(n,r+o),0<=this.union.span&&s>this.union.span))throw new Error("encoded variant overruns containing union");return s}fromArray(t){if(this.layout)return this.layout.fromArray(t)}};function Hp(e){return 0>e&&(e+=4294967296),e}var dy=class extends Lt{constructor(t,n,r){if(!(t instanceof js||t instanceof vi))throw new TypeError("word must be a UInt or UIntBE layout");if(typeof n=="string"&&r===void 0&&(r=n,n=void 0),4=n)throw new TypeError("bits must be positive integer");let o=8*t.span,s=t.fields.reduce((i,a)=>i+a.bits,0);if(n+s>o)throw new Error("bits too long for span remainder ("+(o-s)+" of "+o+" remain)");this.container=t,this.bits=n,this.valueMask=(1<>>this.start}encode(t){if(!Number.isInteger(t)||t!==Hp(t&this.valueMask))throw new TypeError(MR("BitField.encode",this)+" value must be integer not exceeding "+this.valueMask);let n=this.container._packedGetValue(),r=Hp(t<r&&(r=this.length.decode(t,n)),r}decode(t,n){n===void 0&&(n=0);let r=this.span;return 0>r&&(r=this.length.decode(t,n)),t.slice(n,n+r)}encode(t,n,r){let o=this.length;if(this.length instanceof lo&&(o=t.length),!(Buffer.isBuffer(t)&&o===t.length))throw new TypeError(MR("Blob.encode",this)+" requires (length "+o+") Buffer as src");if(r+o>n.length)throw new RangeError("encoding overruns Buffer");return n.write(t.toString("hex"),r,o,"hex"),this.length instanceof lo&&this.length.encode(o,n,r),o}},O1=class extends Lt{constructor(t){super(-1,t)}getSpan(t,n){if(!Buffer.isBuffer(t))throw new TypeError("b must be a Buffer");n===void 0&&(n=0);let r=n;for(;rn.length)throw new RangeError("encoding overruns Buffer");return o.copy(n,r),n[r+s]=0,s+1}},k1=class extends Lt{constructor(t,n){if(typeof t=="string"&&n===void 0&&(n=t,t=void 0),t===void 0)t=-1;else if(!Number.isInteger(t))throw new TypeError("maxSpan must be an integer");super(-1,n),this.maxSpan=t}getSpan(t,n){if(!Buffer.isBuffer(t))throw new TypeError("b must be a Buffer");return n===void 0&&(n=0),t.length-n}decode(t,n,r){n===void 0&&(n=0);let o=this.getSpan(t,n);if(0<=this.maxSpan&&this.maxSpann.length)throw new RangeError("encoding overruns Buffer");return o.copy(n,r),s}},D1=class extends Lt{constructor(t,n){super(0,n),this.value=t}decode(t,n,r){return this.value}encode(t,n,r){return 0}};Te.ExternalLayout=lo;Te.GreedyCount=E1;Te.OffsetLayout=ay;Te.UInt=js;Te.UIntBE=vi;Te.Int=lc;Te.IntBE=Ou;Te.Float=x1;Te.FloatBE=w1;Te.Double=T1;Te.DoubleBE=S1;Te.Sequence=R1;Te.Structure=v1;Te.UnionDiscriminator=cy;Te.UnionLayoutDiscriminator=$p;Te.Union=uy;Te.VariantLayout=I1;Te.BitStructure=dy;Te.BitField=Dl;Te.Boolean=C1;Te.Blob=N1;Te.CString=O1;Te.UTF8=k1;Te.Constant=D1;Te.greedy=((e,t)=>new E1(e,t));Te.offset=((e,t,n)=>new ay(e,t,n));Te.u8=(e=>new js(1,e));Te.u16=(e=>new js(2,e));Te.u24=(e=>new js(3,e));Te.u32=(e=>new js(4,e));Te.u40=(e=>new js(5,e));Te.u48=(e=>new js(6,e));Te.nu64=(e=>new DR(e));Te.u16be=(e=>new vi(2,e));Te.u24be=(e=>new vi(3,e));Te.u32be=(e=>new vi(4,e));Te.u40be=(e=>new vi(5,e));Te.u48be=(e=>new vi(6,e));Te.nu64be=(e=>new BR(e));Te.s8=(e=>new lc(1,e));Te.s16=(e=>new lc(2,e));Te.s24=(e=>new lc(3,e));Te.s32=(e=>new lc(4,e));Te.s40=(e=>new lc(5,e));Te.s48=(e=>new lc(6,e));Te.ns64=(e=>new PR(e));Te.s16be=(e=>new Ou(2,e));Te.s24be=(e=>new Ou(3,e));Te.s32be=(e=>new Ou(4,e));Te.s40be=(e=>new Ou(5,e));Te.s48be=(e=>new Ou(6,e));Te.ns64be=(e=>new LR(e));Te.f32=(e=>new x1(e));Te.f32be=(e=>new w1(e));Te.f64=(e=>new T1(e));Te.f64be=(e=>new S1(e));Te.struct=((e,t,n)=>new v1(e,t,n));Te.bits=((e,t,n)=>new dy(e,t,n));Te.seq=((e,t,n)=>new R1(e,t,n));Te.union=((e,t,n)=>new uy(e,t,n));Te.unionLayoutDiscriminator=((e,t)=>new $p(e,t));Te.blob=((e,t)=>new N1(e,t));Te.cstr=(e=>new O1(e));Te.utf8=((e,t)=>new k1(e,t));Te.const=((e,t)=>new D1(e,t))});var UM=Xe(lt=>{"use strict";var Koe=lt&<.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(lt,"__esModule",{value:!0});lt.struct=lt.f64=lt.f32=lt.i32=lt.u32=lt.i16=lt.u16=lt.i8=lt.u8=void 0;lt.u64=MM;lt.i64=Xoe;lt.u128=Joe;lt.i128=Qoe;lt.u256=ese;lt.i256=tse;lt.publicKey=nse;lt.option=rse;lt.bool=ose;lt.vec=ase;lt.tagged=cse;lt.vecU8=FM;lt.str=use;lt.rustEnum=dse;lt.array=lse;lt.map=fse;var In=FR(),Yoe=kl(),Zoe=Koe(lu()),fc=FR();Object.defineProperty(lt,"u8",{enumerable:!0,get:function(){return fc.u8}});Object.defineProperty(lt,"i8",{enumerable:!0,get:function(){return fc.s8}});Object.defineProperty(lt,"u16",{enumerable:!0,get:function(){return fc.u16}});Object.defineProperty(lt,"i16",{enumerable:!0,get:function(){return fc.s16}});Object.defineProperty(lt,"u32",{enumerable:!0,get:function(){return fc.u32}});Object.defineProperty(lt,"i32",{enumerable:!0,get:function(){return fc.s32}});Object.defineProperty(lt,"f32",{enumerable:!0,get:function(){return fc.f32}});Object.defineProperty(lt,"f64",{enumerable:!0,get:function(){return fc.f64}});Object.defineProperty(lt,"struct",{enumerable:!0,get:function(){return fc.struct}});var ku=class extends In.Layout{constructor(t,n,r){super(t,r),this.blob=(0,In.blob)(t),this.signed=n}decode(t,n=0){let r=new Zoe.default(this.blob.decode(t,n),10,"le");return this.signed?r.fromTwos(this.span*8).clone():r}encode(t,n,r=0){return this.signed&&(t=t.toTwos(this.span*8)),this.blob.encode(t.toArrayLike(Buffer,"le",this.span),n,r)}};function MM(e){return new ku(8,!1,e)}function Xoe(e){return new ku(8,!0,e)}function Joe(e){return new ku(16,!1,e)}function Qoe(e){return new ku(16,!0,e)}function ese(e){return new ku(32,!1,e)}function tse(e){return new ku(32,!0,e)}var ha=class extends In.Layout{constructor(t,n,r,o){super(t.span,o),this.layout=t,this.decoder=n,this.encoder=r}decode(t,n){return this.decoder(this.layout.decode(t,n))}encode(t,n,r){return this.layout.encode(this.encoder(t),n,r)}getSpan(t,n){return this.layout.getSpan(t,n)}};function nse(e){return new ha((0,In.blob)(32),t=>new Yoe.PublicKey(t),t=>t.toBuffer(),e)}var UR=class extends In.Layout{constructor(t,n){super(-1,n),this.layout=t,this.discriminator=(0,In.u8)()}encode(t,n,r=0){return t==null?this.discriminator.encode(0,n,r):(this.discriminator.encode(1,n,r),this.layout.encode(t,n,r+1)+1)}decode(t,n=0){let r=this.discriminator.decode(t,n);if(r===0)return null;if(r===1)return this.layout.decode(t,n+1);throw new Error("Invalid option "+this.property)}getSpan(t,n=0){let r=this.discriminator.decode(t,n);if(r===0)return 1;if(r===1)return this.layout.getSpan(t,n+1)+1;throw new Error("Invalid option "+this.property)}};function rse(e,t){return new UR(e,t)}function ose(e){return new ha((0,In.u8)(),sse,ise,e)}function sse(e){if(e===0)return!1;if(e===1)return!0;throw new Error("Invalid bool: "+e)}function ise(e){return e?1:0}function ase(e,t){let n=(0,In.u32)("length"),r=(0,In.struct)([n,(0,In.seq)(e,(0,In.offset)(n,-n.span),"values")]);return new ha(r,({values:o})=>o,o=>({values:o}),t)}function cse(e,t,n){let r=(0,In.struct)([MM("tag"),t.replicate("data")]);function o({tag:s,data:i}){if(!s.eq(e))throw new Error("Invalid tag, expected: "+e.toString("hex")+", got: "+s.toString("hex"));return i}return new ha(r,o,s=>({tag:e,data:s}),n)}function FM(e){let t=(0,In.u32)("length"),n=(0,In.struct)([t,(0,In.blob)((0,In.offset)(t,-t.span),"data")]);return new ha(n,({data:r})=>r,r=>({data:r}),e)}function use(e){return new ha(FM(),t=>t.toString("utf-8"),t=>Buffer.from(t,"utf-8"),e)}function dse(e,t,n){let r=(0,In.union)(n??(0,In.u8)(),t);return e.forEach((o,s)=>r.addVariant(s,o,o.property)),r}function lse(e,t,n){let r=(0,In.struct)([(0,In.seq)(e,t,"values")]);return new ha(r,({values:o})=>o,o=>({values:o}),n)}var HR=class extends In.Layout{constructor(t,n,r){super(t.span+n.span,r),this.keyLayout=t,this.valueLayout=n}decode(t,n){n=n||0;let r=this.keyLayout.decode(t,n),o=this.valueLayout.decode(t,n+this.keyLayout.getSpan(t,n));return[r,o]}encode(t,n,r){r=r||0;let o=this.keyLayout.encode(t[0],n,r),s=this.valueLayout.encode(t[1],n,r+o);return o+s}getSpan(t,n){return this.keyLayout.getSpan(t,n)+this.valueLayout.getSpan(t,n)}};function fse(e,t,n){let r=(0,In.u32)("length"),o=(0,In.struct)([r,(0,In.seq)(new HR(e,t),(0,In.offset)(r,-r.span),"values")]);return new ha(o,({values:s})=>new Map(s),s=>({values:Array.from(s.entries())}),n)}});var Bl,HM=oe(()=>{Bl=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0});function pse(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"}function Pl(e){if(!Number.isSafeInteger(e)||e<0)throw new Error("positive integer expected, got "+e)}function ya(e,...t){if(!pse(e))throw new Error("Uint8Array expected");if(t.length>0&&!t.includes(e.length))throw new Error("Uint8Array expected of length "+t+", got length="+e.length)}function $M(e){if(typeof e!="function"||typeof e.create!="function")throw new Error("Hash should be wrapped by utils.createHasher");Pl(e.outputLen),Pl(e.blockLen)}function pc(e,t=!0){if(e.destroyed)throw new Error("Hash instance has been destroyed");if(t&&e.finished)throw new Error("Hash#digest() has already been called")}function L1(e,t){ya(e);let n=t.outputLen;if(e.length>>t}function hse(e){return e<<24&4278190080|e<<8&16711680|e>>>8&65280|e>>>24&255}function yse(e){for(let t=0;te().update(Ll(r)).digest(),n=e();return t.outputLen=n.outputLen,t.blockLen=n.blockLen,t.create=()=>e(),t}function U1(e=32){if(Bl&&typeof Bl.getRandomValues=="function")return Bl.getRandomValues(new Uint8Array(e));if(Bl&&typeof Bl.randomBytes=="function")return Uint8Array.from(Bl.randomBytes(e));throw new Error("crypto.getRandomValues must be defined")}var mse,$R,Du,Bu=oe(()=>{HM();mse=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;$R=mse?e=>e:yse;Du=class{}});function gse(e,t,n,r){if(typeof e.setBigUint64=="function")return e.setBigUint64(t,n,r);let o=BigInt(32),s=BigInt(4294967295),i=Number(n>>o&s),a=Number(n&s),c=r?4:0,u=r?0:4;e.setUint32(t+c,i,r),e.setUint32(t+u,a,r)}function jM(e,t,n){return e&t^~e&n}function GM(e,t,n){return e&t^e&n^t&n}var H1,mc,WM=oe(()=>{Bu();H1=class extends Du{constructor(t,n,r,o){super(),this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.blockLen=t,this.outputLen=n,this.padOffset=r,this.isLE=o,this.buffer=new Uint8Array(t),this.view=M1(this.buffer)}update(t){pc(this),t=Ll(t),ya(t);let{view:n,buffer:r,blockLen:o}=this,s=t.length;for(let i=0;io-i&&(this.process(r,0),i=0);for(let l=i;ld.length)throw new Error("_sha2: outputLen bigger than state");for(let l=0;l>qM&$1)}:{h:Number(e>>qM&$1)|0,l:Number(e&$1)|0}}function KM(e,t=!1){let n=e.length,r=new Uint32Array(n),o=new Uint32Array(n);for(let s=0;s{$1=BigInt(4294967295),qM=BigInt(32);YM=(e,t,n)=>e<>>32-n,ZM=(e,t,n)=>t<>>32-n,XM=(e,t,n)=>t<>>64-n,JM=(e,t,n)=>e<>>64-n});var Ase,Pu,z1,Ml,zR=oe(()=>{WM();Bu();Ase=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]),Pu=new Uint32Array(64),z1=class extends H1{constructor(t=32){super(64,t,8,!1),this.A=mc[0]|0,this.B=mc[1]|0,this.C=mc[2]|0,this.D=mc[3]|0,this.E=mc[4]|0,this.F=mc[5]|0,this.G=mc[6]|0,this.H=mc[7]|0}get(){let{A:t,B:n,C:r,D:o,E:s,F:i,G:a,H:c}=this;return[t,n,r,o,s,i,a,c]}set(t,n,r,o,s,i,a,c){this.A=t|0,this.B=n|0,this.C=r|0,this.D=o|0,this.E=s|0,this.F=i|0,this.G=a|0,this.H=c|0}process(t,n){for(let l=0;l<16;l++,n+=4)Pu[l]=t.getUint32(n,!1);for(let l=16;l<64;l++){let m=Pu[l-15],p=Pu[l-2],g=Ii(m,7)^Ii(m,18)^m>>>3,E=Ii(p,17)^Ii(p,19)^p>>>10;Pu[l]=E+Pu[l-7]+g+Pu[l-16]|0}let{A:r,B:o,C:s,D:i,E:a,F:c,G:u,H:d}=this;for(let l=0;l<64;l++){let m=Ii(a,6)^Ii(a,11)^Ii(a,25),p=d+m+jM(a,c,u)+Ase[l]+Pu[l]|0,E=(Ii(r,2)^Ii(r,13)^Ii(r,22))+GM(r,o,s)|0;d=u,u=c,c=a,a=i+p|0,i=s,s=o,o=r,r=p+E|0}r=r+this.A|0,o=o+this.B|0,s=s+this.C|0,i=i+this.D|0,a=a+this.E|0,c=c+this.F|0,u=u+this.G|0,d=d+this.H|0,this.set(r,o,s,i,a,c,u,d)}roundClean(){ba(Pu)}destroy(){this.set(0,0,0,0,0,0,0,0),ba(this.buffer)}},Ml=F1(()=>new z1)});var w7=Xe((sCe,Av)=>{"use strict";var Qae=Object.prototype.hasOwnProperty,No="~";function Iy(){}Object.create&&(Iy.prototype=Object.create(null),new Iy().__proto__||(No=!1));function ece(e,t,n){this.fn=e,this.context=t,this.once=n||!1}function x7(e,t,n,r,o){if(typeof n!="function")throw new TypeError("The listener must be a function");var s=new ece(n,r||e,o),i=No?No+t:t;return e._events[i]?e._events[i].fn?e._events[i]=[e._events[i],s]:e._events[i].push(s):(e._events[i]=s,e._eventsCount++),e}function tA(e,t){--e._eventsCount===0?e._events=new Iy:delete e._events[t]}function fo(){this._events=new Iy,this._eventsCount=0}fo.prototype.eventNames=function(){var t=[],n,r;if(this._eventsCount===0)return t;for(r in n=this._events)Qae.call(n,r)&&t.push(No?r.slice(1):r);return Object.getOwnPropertySymbols?t.concat(Object.getOwnPropertySymbols(n)):t};fo.prototype.listeners=function(t){var n=No?No+t:t,r=this._events[n];if(!r)return[];if(r.fn)return[r.fn];for(var o=0,s=r.length,i=new Array(s);o{zV="1.2.3"});var Qn,bm=oe(()=>{VV();Qn=class e extends Error{constructor(t,n={}){let r=n.cause instanceof e?n.cause.details:n.cause?.message?n.cause.message:n.details,o=n.cause instanceof e&&n.cause.docsPath||n.docsPath,s=[t||"An error occurred.","",...n.metaMessages?[...n.metaMessages,""]:[],...o?[`Docs: https://abitype.dev${o}`]:[],...r?[`Details: ${r}`]:[],`Version: abitype@${zV}`].join(` +`);super(s),Object.defineProperty(this,"details",{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,"metaMessages",{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,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiTypeError"}),n.cause&&(this.cause=n.cause),this.details=r,this.docsPath=o,this.metaMessages=n.metaMessages,this.shortMessage=t}}});function Is(e,t){return e.exec(t)?.groups}var A5,E5,cE,rb=oe(()=>{A5=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,E5=/^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)?$/,cE=/^\(.+?\).*?$/});function uE(e){let t=e.type;if(jV.test(e.type)&&"components"in e){t="(";let n=e.components.length;for(let o=0;o{rb();jV=/^tuple(?(\[(\d*)\])*)$/});function Rc(e){let t="",n=e.length;for(let r=0;r{GV()});function hf(e){return e.type==="function"?`function ${e.name}(${Rc(e.inputs)})${e.stateMutability&&e.stateMutability!=="nonpayable"?` ${e.stateMutability}`:""}${e.outputs?.length?` returns (${Rc(e.outputs)})`:""}`:e.type==="event"?`event ${e.name}(${Rc(e.inputs)})`:e.type==="error"?`error ${e.name}(${Rc(e.inputs)})`:e.type==="constructor"?`constructor(${Rc(e.inputs)})${e.stateMutability==="payable"?" payable":""}`:e.type==="fallback"?`fallback() external${e.stateMutability==="payable"?" payable":""}`:"receive() external payable"}var WV=oe(()=>{x5()});function KV(e){return qV.test(e)}function YV(e){return Is(qV,e)}function XV(e){return ZV.test(e)}function JV(e){return Is(ZV,e)}function ej(e){return QV.test(e)}function tj(e){return Is(QV,e)}function Qu(e){return nj.test(e)}function rj(e){return Is(nj,e)}function sj(e){return oj.test(e)}function ij(e){return Is(oj,e)}function cj(e){return aj.test(e)}function uj(e){return Is(aj,e)}function dj(e){return l_e.test(e)}var qV,ZV,QV,nj,oj,aj,l_e,w5,lj,dE,gm=oe(()=>{rb();qV=/^error (?[a-zA-Z$_][a-zA-Z0-9$_]*)\((?.*?)\)$/;ZV=/^event (?[a-zA-Z$_][a-zA-Z0-9$_]*)\((?.*?)\)$/;QV=/^function (?[a-zA-Z$_][a-zA-Z0-9$_]*)\((?.*?)\)(?: (?external|public{1}))?(?: (?pure|view|nonpayable|payable{1}))?(?: returns\s?\((?.*?)\))?$/;nj=/^struct (?[a-zA-Z$_][a-zA-Z0-9$_]*) \{(?.*?)\}$/;oj=/^constructor\((?.*?)\)(?:\s(?payable{1}))?$/;aj=/^fallback\(\) external(?:\s(?payable{1}))?$/;l_e=/^receive\(\) external payable$/;w5=new Set(["memory","indexed","storage","calldata"]),lj=new Set(["indexed"]),dE=new Set(["calldata","memory","storage"])});var ob,sb,lE,fE=oe(()=>{bm();ob=class extends Qn{constructor({signature:t}){super("Failed to parse ABI item.",{details:`parseAbiItem(${JSON.stringify(t,null,2)})`,docsPath:"/api/human#parseabiitem-1"}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidAbiItemError"})}},sb=class extends Qn{constructor({type:t}){super("Unknown type.",{metaMessages:[`Type "${t}" is not a valid ABI type. Perhaps you forgot to include a struct signature?`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"UnknownTypeError"})}},lE=class extends Qn{constructor({type:t}){super("Unknown type.",{metaMessages:[`Type "${t}" is not a valid ABI type.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"UnknownSolidityTypeError"})}}});var ib,ab,cb,ub,db,lb,pE=oe(()=>{bm();ib=class extends Qn{constructor({params:t}){super("Failed to parse ABI parameters.",{details:`parseAbiParameters(${JSON.stringify(t,null,2)})`,docsPath:"/api/human#parseabiparameters-1"}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidAbiParametersError"})}},ab=class extends Qn{constructor({param:t}){super("Invalid ABI parameter.",{details:t}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidParameterError"})}},cb=class extends Qn{constructor({param:t,name:n}){super("Invalid ABI parameter.",{details:t,metaMessages:[`"${n}" is a protected Solidity keyword. More info: https://docs.soliditylang.org/en/latest/cheatsheet.html`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"SolidityProtectedKeywordError"})}},ub=class extends Qn{constructor({param:t,type:n,modifier:r}){super("Invalid ABI parameter.",{details:t,metaMessages:[`Modifier "${r}" not allowed${n?` in "${n}" type`:""}.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidModifierError"})}},db=class extends Qn{constructor({param:t,type:n,modifier:r}){super("Invalid ABI parameter.",{details:t,metaMessages:[`Modifier "${r}" not allowed${n?` in "${n}" type`:""}.`,`Data location can only be specified for array, struct, or mapping types, but "${r}" was given.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidFunctionModifierError"})}},lb=class extends Qn{constructor({abiParameter:t}){super("Invalid ABI parameter.",{details:JSON.stringify(t,null,2),metaMessages:["ABI parameter type is invalid."]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidAbiTypeParameterError"})}}});var Di,fb,pb,T5=oe(()=>{bm();Di=class extends Qn{constructor({signature:t,type:n}){super(`Invalid ${n} signature.`,{details:t}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidSignatureError"})}},fb=class extends Qn{constructor({signature:t}){super("Unknown signature.",{details:t}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"UnknownSignatureError"})}},pb=class extends Qn{constructor({signature:t}){super("Invalid struct signature.",{details:t,metaMessages:["No properties exist."]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidStructSignatureError"})}}});var mb,fj=oe(()=>{bm();mb=class extends Qn{constructor({type:t}){super("Circular reference detected.",{metaMessages:[`Struct "${t}" is a circular reference.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"CircularReferenceError"})}}});var hb,pj=oe(()=>{bm();hb=class extends Qn{constructor({current:t,depth:n}){super("Unbalanced parentheses.",{metaMessages:[`"${t.trim()}" has too many ${n>0?"opening":"closing"} parentheses.`],details:`Depth "${n}"`}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidParenthesisError"})}}});function mj(e,t,n){let r="";if(n)for(let o of Object.entries(n)){if(!o)continue;let s="";for(let i of o[1])s+=`[${i.type}${i.name?`:${i.name}`:""}]`;r+=`(${o[0]}{${s}})`}return t?`${t}:${e}${r}`:`${e}${r}`}var mE,hj=oe(()=>{mE=new Map([["address",{type:"address"}],["bool",{type:"bool"}],["bytes",{type:"bytes"}],["bytes32",{type:"bytes32"}],["int",{type:"int256"}],["int256",{type:"int256"}],["string",{type:"string"}],["uint",{type:"uint256"}],["uint8",{type:"uint8"}],["uint16",{type:"uint16"}],["uint24",{type:"uint24"}],["uint32",{type:"uint32"}],["uint64",{type:"uint64"}],["uint96",{type:"uint96"}],["uint112",{type:"uint112"}],["uint160",{type:"uint160"}],["uint192",{type:"uint192"}],["uint256",{type:"uint256"}],["address owner",{type:"address",name:"owner"}],["address to",{type:"address",name:"to"}],["bool approved",{type:"bool",name:"approved"}],["bytes _data",{type:"bytes",name:"_data"}],["bytes data",{type:"bytes",name:"data"}],["bytes signature",{type:"bytes",name:"signature"}],["bytes32 hash",{type:"bytes32",name:"hash"}],["bytes32 r",{type:"bytes32",name:"r"}],["bytes32 root",{type:"bytes32",name:"root"}],["bytes32 s",{type:"bytes32",name:"s"}],["string name",{type:"string",name:"name"}],["string symbol",{type:"string",name:"symbol"}],["string tokenURI",{type:"string",name:"tokenURI"}],["uint tokenId",{type:"uint256",name:"tokenId"}],["uint8 v",{type:"uint8",name:"v"}],["uint256 balance",{type:"uint256",name:"balance"}],["uint256 tokenId",{type:"uint256",name:"tokenId"}],["uint256 value",{type:"uint256",name:"value"}],["event:address indexed from",{type:"address",name:"from",indexed:!0}],["event:address indexed to",{type:"address",name:"to",indexed:!0}],["event:uint indexed tokenId",{type:"uint256",name:"tokenId",indexed:!0}],["event:uint256 indexed tokenId",{type:"uint256",name:"tokenId",indexed:!0}]])});function yb(e,t={}){if(ej(e))return f_e(e,t);if(XV(e))return p_e(e,t);if(KV(e))return m_e(e,t);if(sj(e))return h_e(e,t);if(cj(e))return y_e(e);if(dj(e))return{type:"receive",stateMutability:"payable"};throw new fb({signature:e})}function f_e(e,t={}){let n=tj(e);if(!n)throw new Di({signature:e,type:"function"});let r=rs(n.parameters),o=[],s=r.length;for(let a=0;a{rb();fE();pE();T5();pj();hj();gm();b_e=/^(?[a-zA-Z$_][a-zA-Z0-9$_]*(?:\spayable)?)(?(?:\[\d*?\])+?)?(?:\s(?calldata|indexed|memory|storage{1}))?(?:\s(?[a-zA-Z$_][a-zA-Z0-9$_]*))?$/,g_e=/^\((?.+?)\)(?(?:\[\d*?\])+?)?(?:\s(?calldata|indexed|memory|storage{1}))?(?:\s(?[a-zA-Z$_][a-zA-Z0-9$_]*))?$/,__e=/^u?int$/;A_e=/^(?:after|alias|anonymous|apply|auto|byte|calldata|case|catch|constant|copyof|default|defined|error|event|external|false|final|function|immutable|implements|in|indexed|inline|internal|let|mapping|match|memory|mutable|null|of|override|partial|private|promise|public|pure|reference|relocatable|return|returns|sizeof|static|storage|struct|super|supports|switch|this|true|try|typedef|typeof|var|view|virtual)$/});function Am(e){let t={},n=e.length;for(let i=0;i{rb();fE();pE();T5();fj();gm();_m();w_e=/^(?[a-zA-Z$_][a-zA-Z0-9$_]*)(?(?:\[\d*?\])+?)?$/});function yf(e){let t=Am(e),n=[],r=e.length;for(let o=0;o{gm();hE();_m()});function bb(e){let t;if(typeof e=="string")t=yb(e);else{let n=Am(e),r=e.length;for(let o=0;o{fE();gm();hE();_m()});function gb(e){let t=[];if(typeof e=="string"){let n=rs(e),r=n.length;for(let o=0;o{pE();gm();hE();_m();_m()});var Em=oe(()=>{WV();x5();bj();gj();_j()});function xr(e,{includeName:t=!1}={}){if(e.type!=="function"&&e.type!=="event"&&e.type!=="error")throw new yE(e.type);return`${e.name}(${_b(e.inputs,{includeName:t})})`}function _b(e,{includeName:t=!1}={}){return e?e.map(n=>T_e(n,{includeName:t})).join(t?", ":","):""}function T_e(e,{includeName:t}){return e.type.startsWith("tuple")?`(${_b(e.components,{includeName:t})})${e.type.slice(5)}`:e.type+(t&&e.name?` ${e.name}`:"")}var vc=oe(()=>{er()});function tr(e,{strict:t=!0}={}){return!e||typeof e!="string"?!1:t?/^0x[0-9a-fA-F]*$/.test(e):e.startsWith("0x")}var Pi=oe(()=>{});function pt(e){return tr(e,{strict:!1})?Math.ceil((e.length-2)/2):e.length}var os=oe(()=>{Pi()});var R5,Ej=oe(()=>{R5="2.57.1"});function xj(e,t){return t?.(e)?e:e&&typeof e=="object"&&"cause"in e&&e.cause!==void 0?xj(e.cause,t):t?null:e}var v5,Y,Ge=oe(()=>{Ej();v5={getDocsUrl:({docsBaseUrl:e,docsPath:t="",docsSlug:n})=>t?`${e??"https://viem.sh"}${t}${n?`#${n}`:""}`:void 0,version:`viem@${R5}`},Y=class e extends Error{constructor(t,n={}){let r=n.cause instanceof e?n.cause.details:n.cause?.message?n.cause.message:n.details,o=n.cause instanceof e&&n.cause.docsPath||n.docsPath,s=v5.getDocsUrl?.({...n,docsPath:o}),i=[t||"An error occurred.","",...n.metaMessages?[...n.metaMessages,""]:[],...s?[`Docs: ${s}`]:[],...r?[`Details: ${r}`]:[],...v5.version?[`Version: ${v5.version}`]:[]].join(` +`);super(i,n.cause?{cause:n.cause}:void 0),Object.defineProperty(this,"details",{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,"metaMessages",{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,"version",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"BaseError"}),this.details=r,this.docsPath=o,this.metaMessages=n.metaMessages,this.name=n.name??this.name,this.shortMessage=t,this.version=R5}walk(t){return xj(this,t)}}});var bE,Ab,xm,ti,gE,_E,AE,EE,Eb,wm,xE,wE,xb,Li,Tm,TE,SE,RE,Ic,ed,vE,IE,Sm,yE,er=oe(()=>{vc();os();Ge();bE=class extends Y{constructor({docsPath:t}){super(["A constructor was not found on the ABI.","Make sure you are using the correct ABI and that the constructor exists on it."].join(` +`),{docsPath:t,name:"AbiConstructorNotFoundError"})}},Ab=class extends Y{constructor({docsPath:t}){super(["Constructor arguments were provided (`args`), but a constructor parameters (`inputs`) were not found on the ABI.","Make sure you are using the correct ABI, and that the `inputs` attribute on the constructor exists."].join(` +`),{docsPath:t,name:"AbiConstructorParamsNotFoundError"})}},xm=class extends Y{constructor({data:t,params:n,size:r}){super([`Data size of ${r} bytes is too small for given parameters.`].join(` +`),{metaMessages:[`Params: (${_b(n,{includeName:!0})})`,`Data: ${t} (${r} bytes)`],name:"AbiDecodingDataSizeTooSmallError"}),Object.defineProperty(this,"data",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"params",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"size",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.data=t,this.params=n,this.size=r}},ti=class extends Y{constructor({cause:t}={}){super('Cannot decode zero data ("0x") with ABI parameters.',{name:"AbiDecodingZeroDataError",cause:t})}},gE=class extends Y{constructor({expectedLength:t,givenLength:n,type:r}){super([`ABI encoding array length mismatch for type ${r}.`,`Expected length: ${t}`,`Given length: ${n}`].join(` +`),{name:"AbiEncodingArrayLengthMismatchError"})}},_E=class extends Y{constructor({expectedSize:t,value:n}){super(`Size of bytes "${n}" (bytes${pt(n)}) does not match expected size (bytes${t}).`,{name:"AbiEncodingBytesSizeMismatchError"})}},AE=class extends Y{constructor({expectedLength:t,givenLength:n}){super(["ABI encoding params/values length mismatch.",`Expected length (params): ${t}`,`Given length (values): ${n}`].join(` +`),{name:"AbiEncodingLengthMismatchError"})}},EE=class extends Y{constructor(t,{docsPath:n}){super([`Arguments (\`args\`) were provided to "${t}", but "${t}" on the ABI does not contain any parameters (\`inputs\`).`,"Cannot encode error result without knowing what the parameter types are.","Make sure you are using the correct ABI and that the inputs exist on it."].join(` +`),{docsPath:n,name:"AbiErrorInputsNotFoundError"})}},Eb=class extends Y{constructor(t,{docsPath:n}={}){super([`Error ${t?`"${t}" `:""}not found on ABI.`,"Make sure you are using the correct ABI and that the error exists on it."].join(` +`),{docsPath:n,name:"AbiErrorNotFoundError"})}},wm=class extends Y{constructor(t,{docsPath:n,cause:r}){super([`Encoded error signature "${t}" not found on ABI.`,"Make sure you are using the correct ABI and that the error exists on it.",`You can look up the decoded signature here: https://4byte.sourcify.dev/?q=${t}.`].join(` +`),{docsPath:n,name:"AbiErrorSignatureNotFoundError",cause:r}),Object.defineProperty(this,"signature",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.signature=t}},xE=class extends Y{constructor({docsPath:t}){super("Cannot extract event signature from empty topics.",{docsPath:t,name:"AbiEventSignatureEmptyTopicsError"})}},wE=class extends Y{constructor(t,{docsPath:n}){super([`Encoded event signature "${t}" not found on ABI.`,"Make sure you are using the correct ABI and that the event exists on it.",`You can look up the signature here: https://4byte.sourcify.dev/?q=${t}.`].join(` +`),{docsPath:n,name:"AbiEventSignatureNotFoundError"})}},xb=class extends Y{constructor(t,{docsPath:n}={}){super([`Event ${t?`"${t}" `:""}not found on ABI.`,"Make sure you are using the correct ABI and that the event exists on it."].join(` +`),{docsPath:n,name:"AbiEventNotFoundError"})}},Li=class extends Y{constructor(t,{docsPath:n}={}){super([`Function ${t?`"${t}" `:""}not found on ABI.`,"Make sure you are using the correct ABI and that the function exists on it."].join(` +`),{docsPath:n,name:"AbiFunctionNotFoundError"})}},Tm=class extends Y{constructor(t,{docsPath:n}){super([`Function "${t}" does not contain any \`outputs\` on ABI.`,"Cannot decode function result without knowing what the parameter types are.","Make sure you are using the correct ABI and that the function exists on it."].join(` +`),{docsPath:n,name:"AbiFunctionOutputsNotFoundError"})}},TE=class extends Y{constructor(t,{docsPath:n}){super([`Encoded function signature "${t}" not found on ABI.`,"Make sure you are using the correct ABI and that the function exists on it.",`You can look up the signature here: https://4byte.sourcify.dev/?q=${t}.`].join(` +`),{docsPath:n,name:"AbiFunctionSignatureNotFoundError"})}},SE=class extends Y{constructor(t,n){super("Found ambiguous types in overloaded ABI items.",{metaMessages:[`\`${t.type}\` in \`${xr(t.abiItem)}\`, and`,`\`${n.type}\` in \`${xr(n.abiItem)}\``,"","These types encode differently and cannot be distinguished at runtime.","Remove one of the ambiguous items in the ABI."],name:"AbiItemAmbiguityError"})}},RE=class extends Y{constructor({expectedSize:t,givenSize:n}){super(`Expected bytes${t}, got bytes${n}.`,{name:"BytesSizeMismatchError"})}},Ic=class extends Y{constructor({abiItem:t,data:n,params:r,size:o}){super([`Data size of ${o} bytes is too small for non-indexed event parameters.`].join(` +`),{metaMessages:[`Params: (${_b(r,{includeName:!0})})`,`Data: ${n} (${o} bytes)`],name:"DecodeLogDataMismatch"}),Object.defineProperty(this,"abiItem",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"data",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"params",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"size",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.abiItem=t,this.data=n,this.params=r,this.size=o}},ed=class extends Y{constructor({abiItem:t,param:n}){super([`Expected a topic for indexed event parameter${n.name?` "${n.name}"`:""} on event "${xr(t,{includeName:!0})}".`].join(` +`),{name:"DecodeLogTopicsMismatch"}),Object.defineProperty(this,"abiItem",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.abiItem=t}},vE=class extends Y{constructor(t,{docsPath:n}){super([`Type "${t}" is not a valid encoding type.`,"Please provide a valid ABI type."].join(` +`),{docsPath:n,name:"InvalidAbiEncodingType"})}},IE=class extends Y{constructor(t,{docsPath:n}){super([`Type "${t}" is not a valid decoding type.`,"Please provide a valid ABI type."].join(` +`),{docsPath:n,name:"InvalidAbiDecodingType"})}},Sm=class extends Y{constructor(t){super([`Value "${t}" is not a valid array.`].join(` +`),{name:"InvalidArrayError"})}},yE=class extends Y{constructor(t){super([`"${t}" is not a valid definition type.`,'Valid types: "function", "event", "error"'].join(` +`),{name:"InvalidDefinitionTypeError"})}}});var wb,Tb,Sb,NE=oe(()=>{Ge();wb=class extends Y{constructor({offset:t,position:n,size:r}){super(`Slice ${n==="start"?"starting":"ending"} at offset "${t}" is out-of-bounds (size: ${r}).`,{name:"SliceOffsetOutOfBoundsError"})}},Tb=class extends Y{constructor({size:t,targetSize:n,type:r}){super(`${r.charAt(0).toUpperCase()}${r.slice(1).toLowerCase()} size (${t}) exceeds padding size (${n}).`,{name:"SizeExceedsPaddingSizeError"})}},Sb=class extends Y{constructor({size:t,targetSize:n,type:r}){super(`${r.charAt(0).toUpperCase()}${r.slice(1).toLowerCase()} is expected to be ${n} ${r} long, but is ${t} ${r} long.`,{name:"InvalidBytesLengthError"})}}});function ni(e,{dir:t,size:n=32}={}){return typeof e=="string"?Cc(e,{dir:t,size:n}):S_e(e,{dir:t,size:n})}function Cc(e,{dir:t,size:n=32}={}){if(n===null)return e;let r=e.replace("0x","");if(r.length>n*2)throw new Tb({size:Math.ceil(r.length/2),targetSize:n,type:"hex"});return`0x${r[t==="right"?"padEnd":"padStart"](n*2,"0")}`}function S_e(e,{dir:t,size:n=32}={}){if(n===null)return e;if(e.length>n)throw new Tb({size:e.length,targetSize:n,type:"bytes"});let r=new Uint8Array(n);for(let o=0;o{NE()});var td,OE,kE,DE,Rb=oe(()=>{Ge();td=class extends Y{constructor({max:t,min:n,signed:r,size:o,value:s}){super(`Number "${s}" is not in safe ${o?`${o*8}-bit ${r?"signed":"unsigned"} `:""}integer range ${t?`(${n} to ${t})`:`(above ${n})`}`,{name:"IntegerOutOfRangeError"})}},OE=class extends Y{constructor(t){super(`Bytes value "${t}" is not a valid boolean. The bytes array must contain a single byte of either a 0 or 1 value.`,{name:"InvalidBytesBooleanError"})}},kE=class extends Y{constructor(t){super(`Hex value "${t}" is not a valid boolean. The hex value must be "0x0" (false) or "0x1" (true).`,{name:"InvalidHexBooleanError"})}},DE=class extends Y{constructor({givenSize:t,maxSize:n}){super(`Size cannot exceed ${n} bytes. Given size: ${t} bytes.`,{name:"SizeOverflowError"})}}});function mr(e,{dir:t="left"}={}){let n=typeof e=="string"?e.replace("0x",""):e,r=0;for(let o=0;o{});function ss(e,{size:t}){if(pt(e)>t)throw new DE({givenSize:pt(e),maxSize:t})}function Ye(e,t={}){let{signed:n}=t;t.size&&ss(e,{size:t.size});let r=BigInt(e);if(!n)return r;let o=Math.ceil((e.length-2)/2),s=(1n<{Rb();os();bf()});function ze(e,t={}){return typeof e=="number"||typeof e=="bigint"?ue(e,t):typeof e=="string"?nd(e,t):typeof e=="boolean"?C5(e,t):vt(e,t)}function C5(e,t={}){let n=`0x${Number(e)}`;return typeof t.size=="number"?(ss(n,{size:t.size}),ni(n,{size:t.size})):n}function vt(e,t={}){let n="";for(let o=0;os||o{Rb();Rm();Yn();R_e=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));v_e=new TextEncoder});function ho(e,t={}){return typeof e=="number"||typeof e=="bigint"?N_e(e,t):typeof e=="boolean"?C_e(e,t):tr(e)?nr(e,t):Mi(e,t)}function C_e(e,t={}){let n=new Uint8Array(1);return n[0]=Number(e),typeof t.size=="number"?(ss(n,{size:t.size}),ni(n,{size:t.size})):n}function wj(e){if(e>=Nc.zero&&e<=Nc.nine)return e-Nc.zero;if(e>=Nc.A&&e<=Nc.F)return e-(Nc.A-10);if(e>=Nc.a&&e<=Nc.f)return e-(Nc.a-10)}function nr(e,t={}){let n=e;t.size&&(ss(n,{size:t.size}),n=ni(n,{dir:"right",size:t.size}));let r=n.slice(2);r.length%2&&(r=`0${r}`);let o=r.length/2,s=new Uint8Array(o);for(let i=0,a=0;i{Ge();Pi();Rm();Yn();Ue();I_e=new TextEncoder;Nc={zero:48,nine:57,A:65,F:70,a:97,f:102}});function F_e(e,t=24){let n=new Uint32Array(10);for(let r=24-t;r<24;r++){for(let i=0;i<10;i++)n[i]=e[i]^e[i+10]^e[i+20]^e[i+30]^e[i+40];for(let i=0;i<10;i+=2){let a=(i+8)%10,c=(i+2)%10,u=n[c],d=n[c+1],l=Tj(u,d,1)^n[a],m=Sj(u,d,1)^n[a+1];for(let p=0;p<50;p+=10)e[i+p]^=l,e[i+p+1]^=m}let o=e[2],s=e[3];for(let i=0;i<24;i++){let a=vj[i],c=Tj(o,s,a),u=Sj(o,s,a),d=Rj[i];o=e[d],s=e[d+1],e[d]=c,e[d+1]=u}for(let i=0;i<50;i+=10){for(let a=0;a<10;a++)n[a]=e[i+a];for(let a=0;a<10;a++)e[i+a]^=~n[(a+2)%10]&n[(a+4)%10]}e[0]^=L_e[r],e[1]^=M_e[r]}ba(n)}var O_e,vb,k_e,D_e,B_e,P_e,Rj,vj,Ij,Cj,L_e,M_e,Tj,Sj,N5,U_e,vm,BE=oe(()=>{QM();Bu();O_e=BigInt(0),vb=BigInt(1),k_e=BigInt(2),D_e=BigInt(7),B_e=BigInt(256),P_e=BigInt(113),Rj=[],vj=[],Ij=[];for(let e=0,t=vb,n=1,r=0;e<24;e++){[n,r]=[r,(2*n+3*r)%5],Rj.push(2*(5*r+n)),vj.push((e+1)*(e+2)/2%64);let o=O_e;for(let s=0;s<7;s++)t=(t<>D_e)*P_e)%B_e,t&k_e&&(o^=vb<<(vb<n>32?XM(e,t,n):YM(e,t,n),Sj=(e,t,n)=>n>32?JM(e,t,n):ZM(e,t,n);N5=class e extends Du{constructor(t,n,r,o=!1,s=24){if(super(),this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,this.enableXOF=!1,this.blockLen=t,this.suffix=n,this.outputLen=r,this.enableXOF=o,this.rounds=s,Pl(r),!(0=r&&this.keccak();let i=Math.min(r-this.posOut,s-o);t.set(n.subarray(this.posOut,this.posOut+i),o),this.posOut+=i,o+=i}return t}xofInto(t){if(!this.enableXOF)throw new Error("XOF is not possible for this instance");return this.writeInto(t)}xof(t){return Pl(t),this.xofInto(new Uint8Array(t))}digestInto(t){if(L1(t,this),this.finished)throw new Error("digest() was already called");return this.writeInto(t),this.destroy(),t}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,ba(this.state)}_cloneInto(t){let{blockLen:n,suffix:r,outputLen:o,rounds:s,enableXOF:i}=this;return t||(t=new e(n,r,o,i,s)),t.state32.set(this.state32),t.pos=this.pos,t.posOut=this.posOut,t.finished=this.finished,t.rounds=s,t.suffix=r,t.outputLen=o,t.enableXOF=i,t.destroyed=this.destroyed,t}},U_e=(e,t,n)=>F1(()=>new N5(t,e,n)),vm=U_e(1,136,256/8)});function on(e,t){let n=t||"hex",r=vm(tr(e,{strict:!1})?ho(e):e);return n==="bytes"?r:ze(r)}var Fi=oe(()=>{BE();Pi();wr();Ue()});function Nj(e){return H_e(e)}var H_e,Oj=oe(()=>{wr();Fi();H_e=e=>on(ho(e))});function kj(e){let t=!0,n="",r=0,o="",s=!1;for(let i=0;i{Ge()});var Bj,Pj=oe(()=>{Em();Dj();Bj=e=>{let t=typeof e=="string"?e:hf(e);return kj(t)}});function PE(e){return Nj(Bj(e))}var O5=oe(()=>{Oj();Pj()});var rd,Ib=oe(()=>{O5();rd=PE});var kt,ri=oe(()=>{Ge();kt=class extends Y{constructor({address:t}){super(`Address "${t}" is invalid.`,{metaMessages:["- Address must be a hex value of 20 bytes (40 hex characters).","- Address must match its checksum counterpart."],name:"InvalidAddressError"})}}});var is,gf=oe(()=>{is=class extends Map{constructor(t){super(),Object.defineProperty(this,"maxSize",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.maxSize=t}get(t){let n=super.get(t);return super.has(t)&&(super.delete(t),super.set(t,n)),n}set(t,n){if(super.has(t)&&super.delete(t),super.set(t,n),this.maxSize&&this.size>this.maxSize){let r=super.keys().next().value;r!==void 0&&super.delete(r)}return this}}});function Oc(e,t){if(k5.has(`${e}.${t}`))return k5.get(`${e}.${t}`);let n=t?`${t}${e.toLowerCase()}`:e.substring(2).toLowerCase(),r=on(Mi(n),"bytes"),o=(t?n.substring(`${t}0x`.length):n).split("");for(let i=0;i<40;i+=2)r[i>>1]>>4>=8&&o[i]&&(o[i]=o[i].toUpperCase()),(r[i>>1]&15)>=8&&o[i+1]&&(o[i+1]=o[i+1].toUpperCase());let s=`0x${o.join("")}`;return k5.set(`${e}.${t}`,s),s}function Ui(e,t){if(!it(e,{strict:!1}))throw new kt({address:e});return Oc(e,t)}var k5,ka=oe(()=>{ri();wr();Fi();gf();ko();k5=new is(8192)});function it(e,t){let{strict:n=!0}=t??{},r=`${e}.${n}`;if(D5.has(r))return D5.get(r);let o=$_e.test(e)?e.toLowerCase()===e?!0:n?Oc(e)===e:!0:!1;return D5.set(r,o),o}var $_e,D5,ko=oe(()=>{gf();ka();$_e=/^0x[a-fA-F0-9]{40}$/,D5=new is(8192)});function Tr(e){return typeof e[0]=="string"?jt(e):z_e(e)}function z_e(e){let t=0;for(let o of e)t+=o.length;let n=new Uint8Array(t),r=0;for(let o of e)n.set(o,r),r+=o.length;return n}function jt(e){return`0x${e.reduce((t,n)=>t+n.replace("0x",""),"")}`}var Sr=oe(()=>{});function as(e,t,n,{strict:r}={}){return tr(e,{strict:!1})?LE(e,t,n,{strict:r}):B5(e,t,n,{strict:r})}function Lj(e,t){if(typeof t=="number"&&t>0&&t>pt(e)-1)throw new wb({offset:t,position:"start",size:pt(e)})}function Mj(e,t,n){if(typeof t=="number"&&typeof n=="number"&&pt(e)!==n-t)throw new wb({offset:n,position:"end",size:pt(e)})}function B5(e,t,n,{strict:r}={}){Lj(e,t);let o=e.slice(t,n);return r&&Mj(o,t,n),o}function LE(e,t,n,{strict:r}={}){Lj(e,t);let o=`0x${e.replace("0x","").slice((t??0)*2,(n??e.length)*2)}`;return r&&Mj(o,t,n),o}var kc=oe(()=>{NE();Pi();os()});var Fj,ME,P5=oe(()=>{Fj=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,ME=/^(u?int)(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/});function Do(e,t){if(e.length!==t.length)throw new AE({expectedLength:e.length,givenLength:t.length});let n=V_e({params:e,values:t});return F5(n)}function V_e({params:e,values:t}){let n=[];for(let r=0;ri))}}function W_e(e,{param:t}){let[,n]=t.type.split("bytes"),r=pt(e);if(!n){let o=e;return r%32!==0&&(o=Cc(o,{dir:"right",size:Math.ceil((e.length-2)/2/32)*32})),{dynamic:!0,encoded:jt([Cc(ue(r,{size:32})),o])}}if(r!==Number.parseInt(n,10))throw new _E({expectedSize:Number.parseInt(n,10),value:e});return{dynamic:!1,encoded:Cc(e,{dir:"right"})}}function q_e(e){if(typeof e!="boolean")throw new Y(`Invalid boolean value: "${e}" (type: ${typeof e}). Expected: \`true\` or \`false\`.`);return{dynamic:!1,encoded:Cc(C5(e))}}function K_e(e,{signed:t,size:n=256}){if(typeof n=="number"){let r=2n**(BigInt(n)-(t?1n:0n))-1n,o=t?-r-1n:0n;if(e>r||eo))}}function Cb(e){let t=e.match(/^(.*)\[(\d+)?\]$/);return t?[t[2]?Number(t[2]):null,t[1]]:void 0}function L5(e){let{type:t}=e;if(t==="string"||t==="bytes"||t.endsWith("[]"))return!0;if(t==="tuple")return e.components.some(L5);let n=Cb(t);return n?L5({...e,type:n[1]}):!1}var Dc=oe(()=>{er();ri();Ge();Rb();ko();Sr();Rm();os();kc();Ue();P5()});var Da,Im=oe(()=>{kc();O5();Da=e=>as(PE(e),0,4)});function cs(e){let{abi:t,args:n=[],name:r}=e,o=tr(r,{strict:!1}),s=t.filter(a=>o?a.type==="function"?Da(a)===r:a.type==="event"?rd(a)===r:!1:"name"in a&&a.name===r);if(s.length===0)return;if(s.length===1)return s[0];let i;for(let a of s){if(!("inputs"in a))continue;if(!n||n.length===0){if(!a.inputs||a.inputs.length===0)return a;continue}if(!a.inputs||a.inputs.length===0||a.inputs.length!==n.length)continue;if(n.every((u,d)=>{let l="inputs"in a&&a.inputs[d];return l?U5(u,l):!1})){if(i&&"inputs"in i&&i.inputs){let u=Uj(a.inputs,i.inputs,n);if(u)throw new SE({abiItem:a,type:u[0]},{abiItem:i,type:u[1]})}i=a}}return i||s[0]}function U5(e,t){let n=typeof e,r=t.type;switch(r){case"address":return it(e,{strict:!1});case"bool":return n==="boolean";case"function":return n==="string";case"string":return n==="string";default:return r==="tuple"&&"components"in t?Object.values(t.components).every((o,s)=>n==="object"&&U5(Object.values(e)[s],o)):/^u?int(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/.test(r)?n==="number"||n==="bigint":/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/.test(r)?n==="string"||e instanceof Uint8Array:/[a-z]+[1-9]{0,3}(\[[0-9]{0,}\])+$/.test(r)?Array.isArray(e)&&e.every(o=>U5(o,{...t,type:r.replace(/(\[[0-9]{0,}\])$/,"")})):!1}}function Uj(e,t,n){for(let r in e){let o=e[r],s=t[r];if(o.type==="tuple"&&s.type==="tuple"&&"components"in o&&"components"in s)return Uj(o.components,s.components,n[r]);let i=[o.type,s.type];if(i.includes("address")&&i.includes("bytes20")?!0:i.includes("address")&&i.includes("string")?it(n[r],{strict:!1}):i.includes("address")&&i.includes("bytes")?it(n[r],{strict:!1}):!1)return i}}var od=oe(()=>{er();Pi();ko();Ib();Im()});function Pe(e){return typeof e=="string"?{address:e,type:"json-rpc"}:e}var kn=oe(()=>{});function Vj(e){let{abi:t,args:n,functionName:r}=e,o=t[0];if(r){let s=cs({abi:t,args:n,name:r});if(!s)throw new Li(r,{docsPath:zj});o=s}if(o.type!=="function")throw new Li(void 0,{docsPath:zj});return{abi:[o],functionName:Da(xr(o))}}var zj,jj=oe(()=>{er();Im();vc();od();zj="/docs/contract/encodeFunctionData"});function Ft(e){let{args:t}=e,{abi:n,functionName:r}=e.abi.length===1&&e.functionName?.startsWith("0x")?e:Vj(e),o=n[0],s=r,i="inputs"in o&&o.inputs?Do(o.inputs,t??[]):void 0;return jt([s,i??"0x"])}var Bo=oe(()=>{Sr();Dc();jj()});var Gj,UE,Wj,HE=oe(()=>{Gj={1:"An `assert` condition failed.",17:"Arithmetic operation resulted in underflow or overflow.",18:"Division or modulo by zero (e.g. `5 / 0` or `23 % 0`).",33:"Attempted to convert to an invalid type.",34:"Attempted to access a storage byte array that is incorrectly encoded.",49:"Performed `.pop()` on an empty array",50:"Array index is out of bounds.",65:"Allocated too much memory or created an array which is too large.",81:"Attempted to call a zero-initialized variable of internal function type."},UE={inputs:[{name:"message",type:"string"}],name:"Error",type:"error"},Wj={inputs:[{name:"reason",type:"uint256"}],name:"Panic",type:"error"}});var Nb,Cm,$E,H5=oe(()=>{Ge();Nb=class extends Y{constructor({offset:t}){super(`Offset \`${t}\` cannot be negative.`,{name:"NegativeOffsetError"})}},Cm=class extends Y{constructor({length:t,position:n}){super(`Position \`${n}\` is out of bounds (\`0 < position < ${t}\`).`,{name:"PositionOutOfBoundsError"})}},$E=class extends Y{constructor({count:t,limit:n}){super(`Recursive read limit of \`${n}\` exceeded (recursive read count: \`${t}\`).`,{name:"RecursiveReadLimitExceededError"})}}});function Nm(e,{recursiveReadLimit:t=8192}={}){let n=Object.create(X_e);return n.bytes=e,n.dataView=new DataView(e.buffer??e,e.byteOffset,e.byteLength),n.positionReadCount=new Map,n.recursiveReadLimit=t,n}var X_e,zE=oe(()=>{H5();X_e={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 $E({count:this.recursiveReadCount+1,limit:this.recursiveReadLimit})},assertPosition(e){if(e<0||e>this.bytes.length-1)throw new Cm({length:this.bytes.length,position:e})},decrementPosition(e){if(e<0)throw new Nb({offset:e});let t=this.position-e;this.assertPosition(t),this.position=t},getReadCount(e){return this.positionReadCount.get(e||this.position)||0},incrementPosition(e){if(e<0)throw new Nb({offset:e});let t=this.position+e;this.assertPosition(t),this.position=t},inspectByte(e){let t=e??this.position;return this.assertPosition(t),this.bytes[t]},inspectBytes(e,t){let n=t??this.position;return this.assertPosition(n+e-1),this.bytes.subarray(n,n+e)},inspectUint8(e){let t=e??this.position;return this.assertPosition(t),this.bytes[t]},inspectUint16(e){let t=e??this.position;return this.assertPosition(t+1),this.dataView.getUint16(t)},inspectUint24(e){let t=e??this.position;return this.assertPosition(t+2),(this.dataView.getUint16(t)<<8)+this.dataView.getUint8(t+2)},inspectUint32(e){let t=e??this.position;return this.assertPosition(t+3),this.dataView.getUint32(t)},pushByte(e){this.assertPosition(this.position),this.bytes[this.position]=e,this.position++},pushBytes(e){this.assertPosition(this.position+e.length-1),this.bytes.set(e,this.position),this.position+=e.length},pushUint8(e){this.assertPosition(this.position),this.bytes[this.position]=e,this.position++},pushUint16(e){this.assertPosition(this.position+1),this.dataView.setUint16(this.position,e),this.position+=2},pushUint24(e){this.assertPosition(this.position+2),this.dataView.setUint16(this.position,e>>8),this.dataView.setUint8(this.position+2,e&255),this.position+=3},pushUint32(e){this.assertPosition(this.position+3),this.dataView.setUint32(this.position,e),this.position+=4},readByte(){this.assertReadLimit(),this._touch();let e=this.inspectByte();return this.position++,e},readBytes(e,t){this.assertReadLimit(),this._touch();let n=this.inspectBytes(e);return this.position+=t??e,n},readUint8(){this.assertReadLimit(),this._touch();let e=this.inspectUint8();return this.position+=1,e},readUint16(){this.assertReadLimit(),this._touch();let e=this.inspectUint16();return this.position+=2,e},readUint24(){this.assertReadLimit(),this._touch();let e=this.inspectUint24();return this.position+=3,e},readUint32(){this.assertReadLimit(),this._touch();let e=this.inspectUint32();return this.position+=4,e},get remaining(){return this.bytes.length-this.position},setPosition(e){let t=this.position;return this.assertPosition(e),this.position=e,()=>this.position=t},_touch(){if(this.recursiveReadLimit===Number.POSITIVE_INFINITY)return;let e=this.getReadCount();this.positionReadCount.set(this.position,e+1),e>0&&this.recursiveReadCount++}}});function qj(e,t={}){typeof t.size<"u"&&ss(e,{size:t.size});let n=vt(e);return Ye(n,t)}function Kj(e,t={}){let n=e;if(typeof t.size<"u"&&(ss(n,{size:t.size}),n=mr(n)),n.length>1||n[0]>1)throw new OE(n);return!!n[0]}function Pa(e,t={}){typeof t.size<"u"&&ss(e,{size:t.size});let n=vt(e);return rn(n,t)}function Yj(e,t={}){let n=e;return typeof t.size<"u"&&(ss(n,{size:t.size}),n=mr(n,{dir:"right"})),new TextDecoder().decode(n)}var Zj=oe(()=>{Rb();bf();Yn();Ue()});function Bc(e,t){let n=typeof t=="string"?nr(t):t,r=Nm(n);if(pt(n)===0&&e.length>0)throw new ti;if(pt(t)&&pt(t)<32)throw new xm({data:typeof t=="string"?t:vt(t),params:e,size:pt(t)});let o=0,s=[];for(let i=0;i48?qj(o,{signed:n}):Pa(o,{signed:n}),32]}function r1e(e,t,{staticPosition:n}){let r=t.components.length===0||t.components.some(({name:i})=>!i),o=r?[]:{},s=0;if(Ob(t)){let i=Pa(e.readBytes($5)),a=n+i;for(let c=0;c{er();ka();zE();os();kc();Zj();wr();Ue();Dc();Xj=32,$5=32});function VE(e){let{abi:t,data:n,cause:r}=e,o=as(n,0,4);if(o==="0x")throw new ti({cause:r});let i=[...t||[],UE,Wj].find(a=>a.type==="error"&&o===Da(xr(a)));if(!i)throw new wm(o,{docsPath:"/docs/contract/decodeErrorResult",cause:r});return{abiItem:i,args:"inputs"in i&&i.inputs&&i.inputs.length>0?Bc(i.inputs,as(n,4)):void 0,errorName:i.name}}var z5=oe(()=>{HE();er();kc();Im();kb();vc()});var at,Pr=oe(()=>{at=(e,t,n)=>JSON.stringify(e,(r,o)=>{let s=typeof o=="bigint"?o.toString():o;return typeof t=="function"?t(r,s):s},n)});function V5({abiItem:e,args:t,includeFunctionName:n=!0,includeName:r=!1}){if("name"in e&&"inputs"in e&&e.inputs)return`${n?e.name:""}(${e.inputs.map((o,s)=>`${r&&o.name?`${o.name}: `:""}${typeof t[s]=="object"?at(t[s]):t[s]}`).join(", ")})`}var Jj=oe(()=>{Pr()});function WE(e,t=0){if(!Number.isInteger(t)||t<0)throw new GE({decimals:t});let n=e.toString(),r=n.startsWith("-");r&&(n=n.slice(1)),n=n.padStart(t,"0");let[o,s]=[n.slice(0,n.length-t),n.slice(n.length-t)];return s=s.replace(/(0+)$/,""),`${r?"-":""}${o||"0"}${s?`.${s}`:""}`}function Qj(e,t="wei"){return WE(e,jE.ether-jE[t])}function eG(e,t="wei"){return WE(e,jE.gwei-jE[t])}function tG(e,t=0){if(!Number.isInteger(t)||t<0)throw new GE({decimals:t});if(!/^-?(?:[0-9]+(?:\.[0-9]*)?|\.[0-9]+)$/.test(e))throw new j5({value:e});let[n="",r="0"]=e.split("."),o=n.startsWith("-");if(o&&(n=n.slice(1)),n===""&&(n="0"),r=r.replace(/(0+)$/,""),t===0)r.length>0&&Number.parseInt(r[0],10)>=5&&(n=`${BigInt(n)+1n}`),r="";else if(r.length>t){let s=r.slice(0,t);if(Number.parseInt(r.slice(t,t+1),10)>=5){let a=s1e(s);a.length>t?(r=a.slice(1),n=`${BigInt(n)+1n}`):r=a}else r=s}else r=r.padEnd(t,"0");return BigInt(`${o?"-":""}${n}${r}`)}function s1e(e){let t=e.split(""),n=t.length-1;for(;n>=0;){let r=Number.parseInt(t[n],10)+1;if(r<10)return t[n]=String(r),t.join("");t[n]="0",n--}return`1${t.join("")}`}var jE,j5,GE,Db=oe(()=>{jE={wei:0,gwei:9,szabo:12,finney:15,ether:18};j5=class extends Error{constructor({value:t}){super(`Value \`${t}\` is not a valid decimal number.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Value.InvalidDecimalNumberError"})}},GE=class extends Error{constructor({decimals:t}){super(`\`decimals\` must be a non-negative integer. Got \`${t}\`.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Value.InvalidDecimalsError"})}}});function km(e,t="wei"){return Qj(e,t)}var KE=oe(()=>{Db()});function Rr(e,t="wei"){return eG(e,t)}var Dm=oe(()=>{Db()});function nG(e){return e.reduce((t,{slot:n,value:r})=>`${t} ${n}: ${r} +`,"")}function rG(e){return e.reduce((t,{address:n,...r})=>{let o=`${t} ${n}: +`;return r.nonce&&(o+=` nonce: ${r.nonce} +`),r.balance&&(o+=` balance: ${r.balance} +`),r.code&&(o+=` code: ${r.code} +`),r.state&&(o+=` state: +`,o+=nG(r.state)),r.stateDiff&&(o+=` stateDiff: +`,o+=nG(r.stateDiff)),o},` State Override: +`).slice(0,-1)}var YE,ZE,G5=oe(()=>{Ge();YE=class extends Y{constructor({address:t}){super(`State for account "${t}" is set multiple times.`,{name:"AccountStateConflictError"})}},ZE=class extends Y{constructor(){super("state and stateDiff are set on the same account.",{name:"StateAssignmentConflictError"})}}});function Af(e){let t=Object.entries(e).map(([r,o])=>o===void 0||o===!1?null:[r,o]).filter(Boolean),n=t.reduce((r,[o])=>Math.max(r,o.length),0);return t.map(([r,o])=>` ${`${r}:`.padEnd(n+1)} ${o}`).join(` +`)}var Bm,XE,JE,QE,ex,id,Pm,_f,tx,Po=oe(()=>{KE();Dm();Ge();Bm=class extends Y{constructor({filledNonce:t,requestedNonce:n}){super("The filled transaction nonce does not match the requested nonce.",{metaMessages:[`Requested Nonce: ${n}`,`Filled Nonce: ${t}`],name:"FeePayerNonceMismatchError"})}},XE=class extends Y{constructor({v:t}){super(`Invalid \`v\` value "${t}". Expected 27 or 28.`,{name:"InvalidLegacyVError"})}},JE=class extends Y{constructor({transaction:t}){super("Cannot infer a transaction type from provided transaction.",{metaMessages:["Provided Transaction:","{",Af(t),"}","","To infer the type, either provide:","- a `type` to the Transaction, or","- an EIP-1559 Transaction with `maxFeePerGas`, or","- an EIP-2930 Transaction with `gasPrice` & `accessList`, or","- an EIP-4844 Transaction with `blobs`, `blobVersionedHashes`, `sidecars`, or","- an EIP-7702 Transaction with `authorizationList`, or","- a Legacy Transaction with `gasPrice`"],name:"InvalidSerializableTransactionError"})}},QE=class extends Y{constructor({storageKey:t}){super(`Size for storage key "${t}" is invalid. Expected 32 bytes. Got ${Math.floor((t.length-2)/2)} bytes.`,{name:"InvalidStorageKeySizeError"})}},ex=class extends Y{constructor(t,{account:n,docsPath:r,chain:o,data:s,gas:i,gasPrice:a,maxFeePerGas:c,maxPriorityFeePerGas:u,nonce:d,to:l,value:m}){let p=Af({chain:o&&`${o?.name} (id: ${o?.id})`,from:n?.address,to:l,value:typeof m<"u"&&`${km(m)} ${o?.nativeCurrency?.symbol||"ETH"}`,data:s,gas:i,gasPrice:typeof a<"u"&&`${Rr(a)} gwei`,maxFeePerGas:typeof c<"u"&&`${Rr(c)} gwei`,maxPriorityFeePerGas:typeof u<"u"&&`${Rr(u)} gwei`,nonce:d});super(t.shortMessage,{cause:t,docsPath:r,metaMessages:[...t.metaMessages?[...t.metaMessages," "]:[],"Request Arguments:",p].filter(Boolean),name:"TransactionExecutionError"}),Object.defineProperty(this,"cause",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.cause=t}},id=class extends Y{constructor({blockHash:t,blockNumber:n,blockTag:r,hash:o,index:s}){let i="Transaction";r&&s!==void 0&&(i=`Transaction at block time "${r}" at index "${s}"`),t&&s!==void 0&&(i=`Transaction at block hash "${t}" at index "${s}"`),n&&s!==void 0&&(i=`Transaction at block number "${n}" at index "${s}"`),o&&(i=`Transaction with hash "${o}"`),super(`${i} could not be found.`,{name:"TransactionNotFoundError"})}},Pm=class extends Y{constructor({hash:t}){super(`Transaction receipt with hash "${t}" could not be found. The Transaction may not be processed on a block yet.`,{name:"TransactionReceiptNotFoundError"})}},_f=class extends Y{constructor({receipt:t}){super(`Transaction with hash "${t.transactionHash}" reverted.`,{metaMessages:['The receipt marked the transaction as "reverted". This could mean that the function on the contract you are trying to call threw an error.'," ","You can attempt to extract the revert reason by:","- calling the `simulateContract` or `simulateCalls` Action with the `abi` and `functionName` of the contract","- using the `call` Action with raw `data`"],name:"TransactionReceiptRevertedError"}),Object.defineProperty(this,"receipt",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.receipt=t}},tx=class extends Y{constructor({hash:t}){super(`Timed out while waiting for transaction with hash "${t}" to be confirmed.`,{name:"WaitForTransactionReceiptTimeoutError"})}}});function Zr(e){if(e?.reason)return e.reason;if(typeof DOMException=="function")return new DOMException("This operation was aborted","AbortError");let t=new Error("This operation was aborted");return t.name="AbortError",t}function us(e){return typeof e=="object"&&e!==null&&"name"in e&&e.name==="AbortError"}var oG,Ef,Hi=oe(()=>{oG=e=>e;Ef=e=>{try{let t=new URL(e);return!t.username&&!t.password?e:(t.username="",t.password="",t.toString())}catch{return e}}});var ad,Lm,xf,nx,rx,La,Pc=oe(()=>{kn();HE();z5();vc();Jj();od();KE();Dm();er();Ge();G5();Po();Hi();ad=class extends Y{constructor(t,{account:n,docsPath:r,chain:o,data:s,gas:i,gasPrice:a,maxFeePerGas:c,maxPriorityFeePerGas:u,nonce:d,to:l,value:m,stateOverride:p}){let g=n?Pe(n):void 0,E=Af({from:g?.address,to:l,value:typeof m<"u"&&`${km(m)} ${o?.nativeCurrency?.symbol||"ETH"}`,data:s,gas:i,gasPrice:typeof a<"u"&&`${Rr(a)} gwei`,maxFeePerGas:typeof c<"u"&&`${Rr(c)} gwei`,maxPriorityFeePerGas:typeof u<"u"&&`${Rr(u)} gwei`,nonce:d});p&&(E+=` +${rG(p)}`),super(t.shortMessage,{cause:t,docsPath:r,metaMessages:[...t.metaMessages?[...t.metaMessages," "]:[],"Raw Call Arguments:",E].filter(Boolean),name:"CallExecutionError"}),Object.defineProperty(this,"cause",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.cause=t}},Lm=class extends Y{constructor(t,{abi:n,args:r,contractAddress:o,docsPath:s,functionName:i,sender:a}){let c=cs({abi:n,args:r,name:i}),u=c?V5({abiItem:c,args:r,includeFunctionName:!1,includeName:!1}):void 0,d=c?xr(c,{includeName:!0}):void 0,l=Af({address:o&&oG(o),function:d,args:u&&u!=="()"&&`${[...Array(i?.length??0).keys()].map(()=>" ").join("")}${u}`,sender:a});super(t.shortMessage||`An unknown error occurred while executing the contract function "${i}".`,{cause:t,docsPath:s,metaMessages:[...t.metaMessages?[...t.metaMessages," "]:[],l&&"Contract Call:",l].filter(Boolean),name:"ContractFunctionExecutionError"}),Object.defineProperty(this,"abi",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"args",{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,"contractAddress",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"formattedArgs",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"functionName",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"sender",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.abi=n,this.args=r,this.cause=t,this.contractAddress=o,this.functionName=i,this.sender=a}},xf=class extends Y{constructor({abi:t,data:n,functionName:r,message:o,cause:s}){let i,a,c,u;if(n&&n!=="0x")try{a=VE({abi:t,data:n,cause:s});let{abiItem:l,errorName:m,args:p}=a;if(m==="Error")u=p[0];else if(m==="Panic"){let[g]=p;u=Gj[g]}else{let g=l?xr(l,{includeName:!0}):void 0,E=l&&p?V5({abiItem:l,args:p,includeFunctionName:!1,includeName:!1}):void 0;c=[g?`Error: ${g}`:"",E&&E!=="()"?` ${[...Array(m?.length??0).keys()].map(()=>" ").join("")}${E}`:""]}}catch(l){i=l}else o&&(u=o);let d;i instanceof wm&&(d=i.signature,c=[`Unable to decode signature "${d}" as it was not found on the provided ABI.`,"Make sure you are using the correct ABI and that the error exists on it.",`You can look up the decoded signature here: https://4byte.sourcify.dev/?q=${d}.`]),super(u&&u!=="execution reverted"||d?[`The contract function "${r}" reverted with the following ${d?"signature":"reason"}:`,u||d].join(` +`):`The contract function "${r}" reverted.`,{cause:i??s,metaMessages:c,name:"ContractFunctionRevertedError"}),Object.defineProperty(this,"data",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"raw",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"reason",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"signature",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.data=a,this.raw=n,this.reason=u,this.signature=d}},nx=class extends Y{constructor({functionName:t,cause:n}){super(`The contract function "${t}" returned no data ("0x").`,{metaMessages:["This could be due to any of the following:",` - The contract does not have the function "${t}",`," - The parameters passed to the contract function may be invalid, or"," - The address is not a contract."],name:"ContractFunctionZeroDataError",cause:n})}},rx=class extends Y{constructor({factory:t}){super(`Deployment for counterfactual contract call failed${t?` for factory "${t}".`:""}`,{metaMessages:["Please ensure:","- The `factory` is a valid contract deployment factory (ie. Create2 Factory, ERC-4337 Factory, etc).","- The `factoryData` is a valid encoded function call for contract deployment function on the factory."],name:"CounterfactualDeploymentFailedError"})}},La=class extends Y{constructor({data:t,message:n}){super(n||"",{name:"RawContractError"}),Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:3}),Object.defineProperty(this,"data",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.data=t}}});var oi,wf,cd,Bb,Tf=oe(()=>{Pr();Ge();Hi();oi=class extends Y{constructor({body:t,cause:n,details:r,headers:o,status:s,url:i}){super("HTTP request failed.",{cause:n,details:r,metaMessages:[s&&`Status: ${s}`,`URL: ${Ef(i)}`,t&&`Request body: ${at(t)}`].filter(Boolean),name:"HttpRequestError"}),Object.defineProperty(this,"body",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"headers",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"status",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"url",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.body=t,this.headers=o,this.status=s,this.url=i}},wf=class extends Y{constructor({maxSize:t,size:n}){super("HTTP response body exceeded the size limit.",{metaMessages:[`Max: ${t} bytes`,`Received: ${n} bytes`],name:"ResponseBodyTooLargeError"}),Object.defineProperty(this,"maxSize",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"size",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.maxSize=t,this.size=n}},cd=class extends Y{constructor({body:t,error:n,url:r}){super("RPC Request failed.",{cause:n,details:n.message,metaMessages:[`URL: ${Ef(r)}`,`Request body: ${at(t)}`],name:"RpcRequestError"}),Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"data",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"url",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.code=n.code,this.data=n.data,this.url=r}},Bb=class extends Y{constructor({body:t,url:n}){super("The request took too long to respond.",{details:"The request timed out.",metaMessages:[`URL: ${Ef(n)}`,`Request body: ${at(t)}`],name:"TimeoutError"}),Object.defineProperty(this,"url",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.url=n}}});var i1e,yo,bo,Mm,Fm,Um,Hm,Lc,si,$m,zm,ud,dd,Sf,Vm,Mc,jm,Gm,Wm,qm,Km,ld,Ym,Zm,Xm,Jm,Qm,fd,pd,ox,Rf=oe(()=>{Ge();Tf();i1e=-1,yo=class extends Y{constructor(t,{code:n,docsPath:r,metaMessages:o,name:s,shortMessage:i}){super(i,{cause:t,docsPath:r,metaMessages:o||t?.metaMessages,name:s||"RpcError"}),Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.name=s||t.name,this.code=t instanceof cd?t.code:n??i1e}},bo=class extends yo{constructor(t,n){super(t,n),Object.defineProperty(this,"data",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.data=n.data}},Mm=class e extends yo{constructor(t){super(t,{code:e.code,name:"ParseRpcError",shortMessage:"Invalid JSON was received by the server. An error occurred on the server while parsing the JSON text."})}};Object.defineProperty(Mm,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32700});Fm=class e extends yo{constructor(t){super(t,{code:e.code,name:"InvalidRequestRpcError",shortMessage:"JSON is not a valid request object."})}};Object.defineProperty(Fm,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32600});Um=class e extends yo{constructor(t,{method:n}={}){super(t,{code:e.code,name:"MethodNotFoundRpcError",shortMessage:`The method${n?` "${n}"`:""} does not exist / is not available.`})}};Object.defineProperty(Um,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32601});Hm=class e extends yo{constructor(t){super(t,{code:e.code,name:"InvalidParamsRpcError",shortMessage:["Invalid parameters were provided to the RPC method.","Double check you have provided the correct parameters."].join(` +`)})}};Object.defineProperty(Hm,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32602});Lc=class e extends yo{constructor(t){super(t,{code:e.code,name:"InternalRpcError",shortMessage:"An internal error was received."})}};Object.defineProperty(Lc,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32603});si=class e extends yo{constructor(t){super(t,{code:e.code,name:"InvalidInputRpcError",shortMessage:["Missing or invalid parameters.","Double check you have provided the correct parameters."].join(` +`)})}};Object.defineProperty(si,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32e3});$m=class e extends yo{constructor(t){super(t,{code:e.code,name:"ResourceNotFoundRpcError",shortMessage:"Requested resource not found."}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"ResourceNotFoundRpcError"})}};Object.defineProperty($m,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32001});zm=class e extends yo{constructor(t){super(t,{code:e.code,name:"ResourceUnavailableRpcError",shortMessage:"Requested resource not available."})}};Object.defineProperty(zm,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32002});ud=class e extends yo{constructor(t){super(t,{code:e.code,name:"TransactionRejectedRpcError",shortMessage:"Transaction creation failed."})}};Object.defineProperty(ud,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32003});dd=class e extends yo{constructor(t,{method:n}={}){super(t,{code:e.code,name:"MethodNotSupportedRpcError",shortMessage:`Method${n?` "${n}"`:""} is not supported.`})}};Object.defineProperty(dd,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32004});Sf=class e extends yo{constructor(t){super(t,{code:e.code,name:"LimitExceededRpcError",shortMessage:"Request exceeds defined limit."})}};Object.defineProperty(Sf,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32005});Vm=class e extends yo{constructor(t){super(t,{code:e.code,name:"JsonRpcVersionUnsupportedError",shortMessage:"Version of JSON-RPC protocol is not supported."})}};Object.defineProperty(Vm,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32006});Mc=class e extends bo{constructor(t){super(t,{code:e.code,name:"UserRejectedRequestError",shortMessage:"User rejected the request."})}};Object.defineProperty(Mc,"code",{enumerable:!0,configurable:!0,writable:!0,value:4001});jm=class e extends bo{constructor(t){super(t,{code:e.code,name:"UnauthorizedProviderError",shortMessage:"The requested method and/or account has not been authorized by the user."})}};Object.defineProperty(jm,"code",{enumerable:!0,configurable:!0,writable:!0,value:4100});Gm=class e extends bo{constructor(t,{method:n}={}){super(t,{code:e.code,name:"UnsupportedProviderMethodError",shortMessage:`The Provider does not support the requested method${n?` " ${n}"`:""}.`})}};Object.defineProperty(Gm,"code",{enumerable:!0,configurable:!0,writable:!0,value:4200});Wm=class e extends bo{constructor(t){super(t,{code:e.code,name:"ProviderDisconnectedError",shortMessage:"The Provider is disconnected from all chains."})}};Object.defineProperty(Wm,"code",{enumerable:!0,configurable:!0,writable:!0,value:4900});qm=class e extends bo{constructor(t){super(t,{code:e.code,name:"ChainDisconnectedError",shortMessage:"The Provider is not connected to the requested chain."})}};Object.defineProperty(qm,"code",{enumerable:!0,configurable:!0,writable:!0,value:4901});Km=class e extends bo{constructor(t){super(t,{code:e.code,name:"SwitchChainError",shortMessage:"An error occurred when attempting to switch chain."})}};Object.defineProperty(Km,"code",{enumerable:!0,configurable:!0,writable:!0,value:4902});ld=class e extends bo{constructor(t){super(t,{code:e.code,name:"UnsupportedNonOptionalCapabilityError",shortMessage:"This Wallet does not support a capability that was not marked as optional."})}};Object.defineProperty(ld,"code",{enumerable:!0,configurable:!0,writable:!0,value:5700});Ym=class e extends bo{constructor(t){super(t,{code:e.code,name:"UnsupportedChainIdError",shortMessage:"This Wallet does not support the requested chain ID."})}};Object.defineProperty(Ym,"code",{enumerable:!0,configurable:!0,writable:!0,value:5710});Zm=class e extends bo{constructor(t){super(t,{code:e.code,name:"DuplicateIdError",shortMessage:"There is already a bundle submitted with this ID."})}};Object.defineProperty(Zm,"code",{enumerable:!0,configurable:!0,writable:!0,value:5720});Xm=class e extends bo{constructor(t){super(t,{code:e.code,name:"UnknownBundleIdError",shortMessage:"This bundle id is unknown / has not been submitted"})}};Object.defineProperty(Xm,"code",{enumerable:!0,configurable:!0,writable:!0,value:5730});Jm=class e extends bo{constructor(t){super(t,{code:e.code,name:"BundleTooLargeError",shortMessage:"The call bundle is too large for the Wallet to process."})}};Object.defineProperty(Jm,"code",{enumerable:!0,configurable:!0,writable:!0,value:5740});Qm=class e extends bo{constructor(t){super(t,{code:e.code,name:"AtomicReadyWalletRejectedUpgradeError",shortMessage:"The Wallet can support atomicity after an upgrade, but the user rejected the upgrade."})}};Object.defineProperty(Qm,"code",{enumerable:!0,configurable:!0,writable:!0,value:5750});fd=class e extends bo{constructor(t){super(t,{code:e.code,name:"AtomicityNotSupportedError",shortMessage:"The wallet does not support atomic execution but the request requires it."})}};Object.defineProperty(fd,"code",{enumerable:!0,configurable:!0,writable:!0,value:5760});pd=class e extends bo{constructor(t){super(t,{code:e.code,name:"WalletConnectSessionSettlementError",shortMessage:"WalletConnect session settlement failed."})}};Object.defineProperty(pd,"code",{enumerable:!0,configurable:!0,writable:!0,value:7e3});ox=class extends yo{constructor(t){super(t,{name:"UnknownRpcError",shortMessage:"An unknown RPC error occurred."})}}});var sx,W5,iG=oe(()=>{Bu();sx=class extends Du{constructor(t,n){super(),this.finished=!1,this.destroyed=!1,$M(t);let r=Ll(n);if(this.iHash=t.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;let o=this.blockLen,s=new Uint8Array(o);s.set(r.length>o?t.create().update(r).digest():r);for(let i=0;inew sx(e,t).update(n).digest();W5.create=(e,t)=>new sx(e,t)});function e0(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"}function Uc(e){if(!e0(e))throw new Error("Uint8Array expected")}function t0(e,t){if(typeof t!="boolean")throw new Error(e+" boolean expected, got "+t)}function Pb(e){let t=e.toString(16);return t.length&1?"0"+t:t}function uG(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);return e===""?Z5:BigInt("0x"+e)}function n0(e){if(Uc(e),dG)return e.toHex();let t="";for(let n=0;n=Fc._0&&e<=Fc._9)return e-Fc._0;if(e>=Fc.A&&e<=Fc.F)return e-(Fc.A-10);if(e>=Fc.a&&e<=Fc.f)return e-(Fc.a-10)}function Lb(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);if(dG)return Uint8Array.fromHex(e);let t=e.length,n=t/2;if(t%2)throw new Error("hex string expected, got unpadded hex of length "+t);let r=new Uint8Array(n);for(let o=0,s=0;oZ5;e>>=Y5,t+=1);return t}function fG(e,t,n){if(typeof e!="number"||e<2)throw new Error("hashLen must be a number");if(typeof t!="number"||t<2)throw new Error("qByteLen must be a number");if(typeof n!="function")throw new Error("hmacFn must be a function");let r=K5(e),o=K5(e),s=0,i=()=>{r.fill(1),o.fill(0),s=0},a=(...l)=>n(o,r,...l),c=(l=K5(0))=>{o=a(cG([0]),l),r=a(),l.length!==0&&(o=a(cG([1]),l),r=a())},u=()=>{if(s++>=1e3)throw new Error("drbg: tried 1000 values");let l=0,m=[];for(;l{i(),c(l);let p;for(;!(p=m(u()));)c();return i(),p}}function $c(e,t,n={}){let r=(o,s,i)=>{let a=u1e[s];if(typeof a!="function")throw new Error("invalid validator function");let c=e[o];if(!(i&&c===void 0)&&!a(c,e))throw new Error("param "+String(o)+" is invalid. Expected "+s+", got "+c)};for(let[o,s]of Object.entries(t))r(o,s,!1);for(let[o,s]of Object.entries(n))r(o,s,!0);return e}function Q5(e){let t=new WeakMap;return(n,...r)=>{let o=t.get(n);if(o!==void 0)return o;let s=e(n,...r);return t.set(n,s),s}}var Z5,Y5,dG,c1e,Fc,q5,If,K5,cG,u1e,r0=oe(()=>{Z5=BigInt(0),Y5=BigInt(1);dG=typeof Uint8Array.from([]).toHex=="function"&&typeof Uint8Array.fromHex=="function",c1e=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));Fc={_0:48,_9:57,A:65,F:70,a:97,f:102};q5=e=>typeof e=="bigint"&&Z5<=e;If=e=>(Y5<new Uint8Array(e),cG=e=>Uint8Array.from(e);u1e={bigint:e=>typeof e=="bigint",function:e=>typeof e=="function",boolean:e=>typeof e=="boolean",string:e=>typeof e=="string",stringOrUint8Array:e=>typeof e=="string"||e0(e),isSafeInteger:e=>Number.isSafeInteger(e),array:e=>Array.isArray(e),field:(e,t)=>t.Fp.isValid(e),hash:e=>typeof e=="function"&&Number.isSafeInteger(e.outputLen)}});function rr(e,t){let n=e%t;return n>=Mo?n:t+n}function Ns(e,t,n){let r=e;for(;t-- >Mo;)r*=r,r%=n;return r}function ax(e,t){if(e===Mo)throw new Error("invert: expected non-zero number");if(t<=Mo)throw new Error("invert: expected positive modulus, got "+t);let n=rr(e,t),r=t,o=Mo,s=go,i=go,a=Mo;for(;n!==Mo;){let u=r/n,d=r%n,l=o-i*u,m=s-a*u;r=n,n=d,o=i,s=a,i=l,a=m}if(r!==go)throw new Error("invert: does not exist");return rr(o,t)}function bG(e,t){let n=(e.ORDER+go)/mG,r=e.pow(t,n);if(!e.eql(e.sqr(r),t))throw new Error("Cannot find square root");return r}function l1e(e,t){let n=(e.ORDER-hG)/yG,r=e.mul(t,Cf),o=e.pow(r,n),s=e.mul(t,o),i=e.mul(e.mul(s,Cf),o),a=e.mul(s,e.sub(i,e.ONE));if(!e.eql(e.sqr(a),t))throw new Error("Cannot find square root");return a}function f1e(e){if(e1e3)throw new Error("Cannot find square root: probably non-prime P");if(n===1)return bG;let s=o.pow(r,t),i=(t+go)/Cf;return function(c,u){if(c.is0(u))return u;if(pG(c,u)!==1)throw new Error("Cannot find square root");let d=n,l=c.mul(c.ONE,s),m=c.pow(u,t),p=c.pow(u,i);for(;!c.eql(m,c.ONE);){if(c.is0(m))return c.ZERO;let g=1,E=c.sqr(m);for(;!c.eql(E,c.ONE);)if(g++,E=c.sqr(E),g===d)throw new Error("Cannot find square root");let x=go<(r[o]="function",r),t);return $c(e,n)}function h1e(e,t,n){if(nMo;)n&go&&(r=e.mul(r,o)),o=e.sqr(o),n>>=go;return r}function o0(e,t,n=!1){let r=new Array(t.length).fill(n?e.ZERO:void 0),o=t.reduce((i,a,c)=>e.is0(a)?i:(r[c]=i,e.mul(i,a)),e.ONE),s=e.inv(o);return t.reduceRight((i,a,c)=>e.is0(a)?i:(r[c]=e.mul(i,r[c]),e.mul(i,a)),s),r}function pG(e,t){let n=(e.ORDER-go)/Cf,r=e.pow(t,n),o=e.eql(r,e.ONE),s=e.eql(r,e.ZERO),i=e.eql(r,e.neg(e.ONE));if(!o&&!s&&!i)throw new Error("invalid Legendre symbol result");return o?1:s?0:-1}function eI(e,t){t!==void 0&&Pl(t);let n=t!==void 0?t:e.toString(2).length,r=Math.ceil(n/8);return{nBitLength:n,nByteLength:r}}function Mb(e,t,n=!1,r={}){if(e<=Mo)throw new Error("invalid field: expected ORDER > 0, got "+e);let{nBitLength:o,nByteLength:s}=eI(e,t);if(s>2048)throw new Error("invalid field: expected ORDER of <= 2048 bytes");let i,a=Object.freeze({ORDER:e,isLE:n,BITS:o,BYTES:s,MASK:If(o),ZERO:Mo,ONE:go,create:c=>rr(c,e),isValid:c=>{if(typeof c!="bigint")throw new Error("invalid field element: expected bigint, got "+typeof c);return Mo<=c&&cc===Mo,isOdd:c=>(c&go)===go,neg:c=>rr(-c,e),eql:(c,u)=>c===u,sqr:c=>rr(c*c,e),add:(c,u)=>rr(c+u,e),sub:(c,u)=>rr(c-u,e),mul:(c,u)=>rr(c*u,e),pow:(c,u)=>h1e(a,c,u),div:(c,u)=>rr(c*ax(u,e),e),sqrN:c=>c*c,addN:(c,u)=>c+u,subN:(c,u)=>c-u,mulN:(c,u)=>c*u,inv:c=>ax(c,e),sqrt:r.sqrt||(c=>(i||(i=p1e(e)),i(a,c))),toBytes:c=>n?J5(c,s):Ma(c,s),fromBytes:c=>{if(c.length!==s)throw new Error("Field.fromBytes: expected "+s+" bytes, got "+c.length);return n?X5(c):ds(c)},invertBatch:c=>o0(a,c),cmov:(c,u,d)=>d?u:c});return Object.freeze(a)}function gG(e){if(typeof e!="bigint")throw new Error("field order must be bigint");let t=e.toString(2).length;return Math.ceil(t/8)}function tI(e){let t=gG(e);return t+Math.ceil(t/2)}function _G(e,t,n=!1){let r=e.length,o=gG(t),s=tI(t);if(r<16||r1024)throw new Error("expected "+s+"-1024 bytes of input, got "+r);let i=n?X5(e):ds(e),a=rr(i,t-go)+go;return n?J5(a,o):Ma(a,o)}var Mo,go,Cf,d1e,mG,hG,yG,m1e,Fb=oe(()=>{Bu();r0();Mo=BigInt(0),go=BigInt(1),Cf=BigInt(2),d1e=BigInt(3),mG=BigInt(4),hG=BigInt(5),yG=BigInt(8);m1e=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"]});function nI(e,t){let n=t.negate();return e?n:t}function xG(e,t){if(!Number.isSafeInteger(e)||e<=0||e>t)throw new Error("invalid window size, expected [1.."+t+"], got W="+e)}function rI(e,t){xG(e,t);let n=Math.ceil(t/e)+1,r=2**(e-1),o=2**e,s=If(e),i=BigInt(e);return{windows:n,windowSize:r,mask:s,maxNumber:o,shiftBy:i}}function EG(e,t,n){let{windowSize:r,mask:o,maxNumber:s,shiftBy:i}=n,a=Number(e&o),c=e>>i;a>r&&(a-=s,c+=iI);let u=t*r,d=u+Math.abs(a)-1,l=a===0,m=a<0,p=t%2!==0;return{nextN:c,offset:d,isZero:l,isNeg:m,isNegF:p,offsetF:u}}function y1e(e,t){if(!Array.isArray(e))throw new Error("array expected");e.forEach((n,r)=>{if(!(n instanceof t))throw new Error("invalid point at index "+r)})}function b1e(e,t){if(!Array.isArray(e))throw new Error("array of scalars expected");e.forEach((n,r)=>{if(!t.isValid(n))throw new Error("invalid scalar at index "+r)})}function sI(e){return wG.get(e)||1}function TG(e,t){return{constTimeNegate:nI,hasPrecomputes(n){return sI(n)!==1},unsafeLadder(n,r,o=e.ZERO){let s=n;for(;r>AG;)r&iI&&(o=o.add(s)),s=s.double(),r>>=iI;return o},precomputeWindow(n,r){let{windows:o,windowSize:s}=rI(r,t),i=[],a=n,c=a;for(let u=0;u12?c=a-3:a>4?c=a-2:a>0&&(c=2);let u=If(c),d=new Array(Number(u)+1).fill(i),l=Math.floor((t.BITS-1)/c)*c,m=i;for(let p=l;p>=0;p-=c){d.fill(i);for(let E=0;E>BigInt(p)&u);d[S]=d[S].add(n[E])}let g=i;for(let E=d.length-1,x=i;E>0;E--)x=x.add(d[E]),g=g.add(x);if(m=m.add(g),p!==0)for(let E=0;E{Fb();r0();AG=BigInt(0),iI=BigInt(1);oI=new WeakMap,wG=new WeakMap});function vG(e){e.lowS!==void 0&&t0("lowS",e.lowS),e.prehash!==void 0&&t0("prehash",e.prehash)}function g1e(e){let t=aI(e);$c(t,{a:"field",b:"field"},{allowInfinityPoint:"boolean",allowedPrivateKeyLengths:"array",clearCofactor:"function",fromBytes:"function",isTorsionFree:"function",toBytes:"function",wrapPrivateKey:"boolean"});let{endo:n,Fp:r,a:o}=t;if(n){if(!r.eql(o,r.ZERO))throw new Error("invalid endo: CURVE.a must be 0");if(typeof n!="object"||typeof n.beta!="bigint"||typeof n.splitScalar!="function")throw new Error('invalid endo: expected "beta": bigint and "splitScalar": function')}return Object.freeze({...t})}function cI(e,t){return n0(Ma(e,t))}function _1e(e){let t=g1e(e),{Fp:n}=t,r=Mb(t.n,t.nBitLength),o=t.toBytes||((C,v,D)=>{let F=v.toAffine();return Lo(Uint8Array.from([4]),n.toBytes(F.x),n.toBytes(F.y))}),s=t.fromBytes||(C=>{let v=C.subarray(1),D=n.fromBytes(v.subarray(0,n.BYTES)),F=n.fromBytes(v.subarray(n.BYTES,2*n.BYTES));return{x:D,y:F}});function i(C){let{a:v,b:D}=t,F=n.sqr(C),U=n.mul(F,C);return n.add(n.add(U,n.mul(C,v)),D)}function a(C,v){let D=n.sqr(v),F=i(C);return n.eql(D,F)}if(!a(t.Gx,t.Gy))throw new Error("bad curve params: generator point");let c=n.mul(n.pow(t.a,Ub),dI),u=n.mul(n.sqr(t.b),BigInt(27));if(n.is0(n.add(c,u)))throw new Error("bad curve params: a or b");function d(C){return vf(C,qt,t.n)}function l(C){let{allowedPrivateKeyLengths:v,nByteLength:D,wrapPrivateKey:F,n:U}=t;if(v&&typeof C!="bigint"){if(e0(C)&&(C=n0(C)),typeof C!="string"||!v.includes(C.length))throw new Error("invalid private key");C=C.padStart(D*2,"0")}let V;try{V=typeof C=="bigint"?C:ds(hr("private key",C,D))}catch{throw new Error("invalid private key, expected hex or "+D+" bytes, got "+typeof C)}return F&&(V=rr(V,U)),Hc("private key",V,qt,U),V}function m(C){if(!(C instanceof E))throw new Error("ProjectivePoint expected")}let p=Q5((C,v)=>{let{px:D,py:F,pz:U}=C;if(n.eql(U,n.ONE))return{x:D,y:F};let V=C.is0();v==null&&(v=V?n.ONE:n.inv(U));let $=n.mul(D,v),z=n.mul(F,v),W=n.mul(U,v);if(V)return{x:n.ZERO,y:n.ZERO};if(!n.eql(W,n.ONE))throw new Error("invZ was invalid");return{x:$,y:z}}),g=Q5(C=>{if(C.is0()){if(t.allowInfinityPoint&&!n.is0(C.py))return;throw new Error("bad point: ZERO")}let{x:v,y:D}=C.toAffine();if(!n.isValid(v)||!n.isValid(D))throw new Error("bad point: x or y not FE");if(!a(v,D))throw new Error("bad point: equation left != right");if(!C.isTorsionFree())throw new Error("bad point: not in prime-order subgroup");return!0});class E{constructor(v,D,F){if(v==null||!n.isValid(v))throw new Error("x required");if(D==null||!n.isValid(D)||n.is0(D))throw new Error("y required");if(F==null||!n.isValid(F))throw new Error("z required");this.px=v,this.py=D,this.pz=F,Object.freeze(this)}static fromAffine(v){let{x:D,y:F}=v||{};if(!v||!n.isValid(D)||!n.isValid(F))throw new Error("invalid affine point");if(v instanceof E)throw new Error("projective point not allowed");let U=V=>n.eql(V,n.ZERO);return U(D)&&U(F)?E.ZERO:new E(D,F,n.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(v){let D=o0(n,v.map(F=>F.pz));return v.map((F,U)=>F.toAffine(D[U])).map(E.fromAffine)}static fromHex(v){let D=E.fromAffine(s(hr("pointHex",v)));return D.assertValidity(),D}static fromPrivateKey(v){return E.BASE.multiply(l(v))}static msm(v,D){return SG(E,r,v,D)}_setWindowSize(v){N.setWindowSize(this,v)}assertValidity(){g(this)}hasEvenY(){let{y:v}=this.toAffine();if(n.isOdd)return!n.isOdd(v);throw new Error("Field doesn't support isOdd")}equals(v){m(v);let{px:D,py:F,pz:U}=this,{px:V,py:$,pz:z}=v,W=n.eql(n.mul(D,z),n.mul(V,U)),X=n.eql(n.mul(F,z),n.mul($,U));return W&&X}negate(){return new E(this.px,n.neg(this.py),this.pz)}double(){let{a:v,b:D}=t,F=n.mul(D,Ub),{px:U,py:V,pz:$}=this,z=n.ZERO,W=n.ZERO,X=n.ZERO,w=n.mul(U,U),f=n.mul(V,V),y=n.mul($,$),A=n.mul(U,V);return A=n.add(A,A),X=n.mul(U,$),X=n.add(X,X),z=n.mul(v,X),W=n.mul(F,y),W=n.add(z,W),z=n.sub(f,W),W=n.add(f,W),W=n.mul(z,W),z=n.mul(A,z),X=n.mul(F,X),y=n.mul(v,y),A=n.sub(w,y),A=n.mul(v,A),A=n.add(A,X),X=n.add(w,w),w=n.add(X,w),w=n.add(w,y),w=n.mul(w,A),W=n.add(W,w),y=n.mul(V,$),y=n.add(y,y),w=n.mul(y,A),z=n.sub(z,w),X=n.mul(y,f),X=n.add(X,X),X=n.add(X,X),new E(z,W,X)}add(v){m(v);let{px:D,py:F,pz:U}=this,{px:V,py:$,pz:z}=v,W=n.ZERO,X=n.ZERO,w=n.ZERO,f=t.a,y=n.mul(t.b,Ub),A=n.mul(D,V),T=n.mul(F,$),I=n.mul(U,z),k=n.add(D,F),P=n.add(V,$);k=n.mul(k,P),P=n.add(A,T),k=n.sub(k,P),P=n.add(D,U);let O=n.add(V,z);return P=n.mul(P,O),O=n.add(A,I),P=n.sub(P,O),O=n.add(F,U),W=n.add($,z),O=n.mul(O,W),W=n.add(T,I),O=n.sub(O,W),w=n.mul(f,P),W=n.mul(y,I),w=n.add(W,w),W=n.sub(T,w),w=n.add(T,w),X=n.mul(W,w),T=n.add(A,A),T=n.add(T,A),I=n.mul(f,I),P=n.mul(y,P),T=n.add(T,I),I=n.sub(A,I),I=n.mul(f,I),P=n.add(P,I),A=n.mul(T,P),X=n.add(X,A),A=n.mul(O,P),W=n.mul(k,W),W=n.sub(W,A),A=n.mul(k,T),w=n.mul(O,w),w=n.add(w,A),new E(W,X,w)}subtract(v){return this.add(v.negate())}is0(){return this.equals(E.ZERO)}wNAF(v){return N.wNAFCached(this,v,E.normalizeZ)}multiplyUnsafe(v){let{endo:D,n:F}=t;Hc("scalar",v,$i,F);let U=E.ZERO;if(v===$i)return U;if(this.is0()||v===qt)return this;if(!D||N.hasPrecomputes(this))return N.wNAFCachedUnsafe(this,v,E.normalizeZ);let{k1neg:V,k1:$,k2neg:z,k2:W}=D.splitScalar(v),X=U,w=U,f=this;for(;$>$i||W>$i;)$&qt&&(X=X.add(f)),W&qt&&(w=w.add(f)),f=f.double(),$>>=qt,W>>=qt;return V&&(X=X.negate()),z&&(w=w.negate()),w=new E(n.mul(w.px,D.beta),w.py,w.pz),X.add(w)}multiply(v){let{endo:D,n:F}=t;Hc("scalar",v,qt,F);let U,V;if(D){let{k1neg:$,k1:z,k2neg:W,k2:X}=D.splitScalar(v),{p:w,f}=this.wNAF(z),{p:y,f:A}=this.wNAF(X);w=N.constTimeNegate($,w),y=N.constTimeNegate(W,y),y=new E(n.mul(y.px,D.beta),y.py,y.pz),U=w.add(y),V=f.add(A)}else{let{p:$,f:z}=this.wNAF(v);U=$,V=z}return E.normalizeZ([U,V])[0]}multiplyAndAddUnsafe(v,D,F){let U=E.BASE,V=(z,W)=>W===$i||W===qt||!z.equals(U)?z.multiplyUnsafe(W):z.multiply(W),$=V(this,D).add(V(v,F));return $.is0()?void 0:$}toAffine(v){return p(this,v)}isTorsionFree(){let{h:v,isTorsionFree:D}=t;if(v===qt)return!0;if(D)return D(E,this);throw new Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){let{h:v,clearCofactor:D}=t;return v===qt?this:D?D(E,this):this.multiplyUnsafe(t.h)}toRawBytes(v=!0){return t0("isCompressed",v),this.assertValidity(),o(E,this,v)}toHex(v=!0){return t0("isCompressed",v),n0(this.toRawBytes(v))}}E.BASE=new E(t.Gx,t.Gy,n.ONE),E.ZERO=new E(n.ZERO,n.ONE,n.ZERO);let{endo:x,nBitLength:S}=t,N=TG(E,x?Math.ceil(S/2):S);return{CURVE:t,ProjectivePoint:E,normPrivateKeyToScalar:l,weierstrassEquation:i,isWithinCurveOrder:d}}function A1e(e){let t=aI(e);return $c(t,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...t})}function IG(e){let t=A1e(e),{Fp:n,n:r,nByteLength:o,nBitLength:s}=t,i=n.BYTES+1,a=2*n.BYTES+1;function c(y){return rr(y,r)}function u(y){return ax(y,r)}let{ProjectivePoint:d,normPrivateKeyToScalar:l,weierstrassEquation:m,isWithinCurveOrder:p}=_1e({...t,toBytes(y,A,T){let I=A.toAffine(),k=n.toBytes(I.x),P=Lo;return t0("isCompressed",T),T?P(Uint8Array.from([A.hasEvenY()?2:3]),k):P(Uint8Array.from([4]),k,n.toBytes(I.y))},fromBytes(y){let A=y.length,T=y[0],I=y.subarray(1);if(A===i&&(T===2||T===3)){let k=ds(I);if(!vf(k,qt,n.ORDER))throw new Error("Point is not on curve");let P=m(k),O;try{O=n.sqrt(P)}catch(ce){let R=ce instanceof Error?": "+ce.message:"";throw new Error("Point is not on curve"+R)}let _=(O&qt)===qt;return(T&1)===1!==_&&(O=n.neg(O)),{x:k,y:O}}else if(A===a&&T===4){let k=n.fromBytes(I.subarray(0,n.BYTES)),P=n.fromBytes(I.subarray(n.BYTES,2*n.BYTES));return{x:k,y:P}}else{let k=i,P=a;throw new Error("invalid Point, expected length of "+k+", or uncompressed "+P+", got "+A)}}});function g(y){let A=r>>qt;return y>A}function E(y){return g(y)?c(-y):y}let x=(y,A,T)=>ds(y.slice(A,T));class S{constructor(A,T,I){Hc("r",A,qt,r),Hc("s",T,qt,r),this.r=A,this.s=T,I!=null&&(this.recovery=I),Object.freeze(this)}static fromCompact(A){let T=o;return A=hr("compactSignature",A,T*2),new S(x(A,0,T),x(A,T,2*T))}static fromDER(A){let{r:T,s:I}=zc.toSig(hr("DER",A));return new S(T,I)}assertValidity(){}addRecoveryBit(A){return new S(this.r,this.s,A)}recoverPublicKey(A){let{r:T,s:I,recovery:k}=this,P=U(hr("msgHash",A));if(k==null||![0,1,2,3].includes(k))throw new Error("recovery id invalid");let O=k===2||k===3?T+t.n:T;if(O>=n.ORDER)throw new Error("recovery id 2 or 3 invalid");let _=(k&1)===0?"02":"03",L=d.fromHex(_+cI(O,n.BYTES)),ce=u(O),R=c(-P*ce),K=c(I*ce),J=d.BASE.multiplyAndAddUnsafe(L,R,K);if(!J)throw new Error("point at infinify");return J.assertValidity(),J}hasHighS(){return g(this.s)}normalizeS(){return this.hasHighS()?new S(this.r,c(-this.s),this.recovery):this}toDERRawBytes(){return Lb(this.toDERHex())}toDERHex(){return zc.hexFromSig(this)}toCompactRawBytes(){return Lb(this.toCompactHex())}toCompactHex(){let A=o;return cI(this.r,A)+cI(this.s,A)}}let N={isValidPrivateKey(y){try{return l(y),!0}catch{return!1}},normPrivateKeyToScalar:l,randomPrivateKey:()=>{let y=tI(t.n);return _G(t.randomBytes(y),t.n)},precompute(y=8,A=d.BASE){return A._setWindowSize(y),A.multiply(BigInt(3)),A}};function C(y,A=!0){return d.fromPrivateKey(y).toRawBytes(A)}function v(y){if(typeof y=="bigint")return!1;if(y instanceof d)return!0;let T=hr("key",y).length,I=n.BYTES,k=I+1,P=2*I+1;if(!(t.allowedPrivateKeyLengths||o===k))return T===k||T===P}function D(y,A,T=!0){if(v(y)===!0)throw new Error("first arg must be private key");if(v(A)===!1)throw new Error("second arg must be public key");return d.fromHex(A).multiply(l(y)).toRawBytes(T)}let F=t.bits2int||function(y){if(y.length>8192)throw new Error("input is too large");let A=ds(y),T=y.length*8-s;return T>0?A>>BigInt(T):A},U=t.bits2int_modN||function(y){return c(F(y))},V=If(s);function $(y){return Hc("num < 2^"+s,y,$i,V),Ma(y,o)}function z(y,A,T=W){if(["recovered","canonical"].some(ae=>ae in T))throw new Error("sign() legacy options not supported");let{hash:I,randomBytes:k}=t,{lowS:P,prehash:O,extraEntropy:_}=T;P==null&&(P=!0),y=hr("msgHash",y),vG(T),O&&(y=hr("prehashed msgHash",I(y)));let L=U(y),ce=l(A),R=[$(ce),$(L)];if(_!=null&&_!==!1){let ae=_===!0?k(n.BYTES):_;R.push(hr("extraEntropy",ae))}let K=Lo(...R),J=L;function re(ae){let me=F(ae);if(!p(me))return;let he=u(me),pe=d.BASE.multiply(me).toAffine(),ct=c(pe.x);if(ct===$i)return;let _e=c(he*c(J+ct*ce));if(_e===$i)return;let Ne=(pe.x===ct?0:2)|Number(pe.y&qt),Ds=_e;return P&&g(_e)&&(Ds=E(_e),Ne^=1),new S(ct,Ds,Ne)}return{seed:K,k2sig:re}}let W={lowS:t.lowS,prehash:!1},X={lowS:t.lowS,prehash:!1};function w(y,A,T=W){let{seed:I,k2sig:k}=z(y,A,T),P=t;return fG(P.hash.outputLen,P.nByteLength,P.hmac)(I,k)}d.BASE._setWindowSize(8);function f(y,A,T,I=X){let k=y;A=hr("msgHash",A),T=hr("publicKey",T);let{lowS:P,prehash:O,format:_}=I;if(vG(I),"strict"in I)throw new Error("options.strict was renamed to lowS");if(_!==void 0&&_!=="compact"&&_!=="der")throw new Error("format must be compact or der");let L=typeof k=="string"||e0(k),ce=!L&&!_&&typeof k=="object"&&k!==null&&typeof k.r=="bigint"&&typeof k.s=="bigint";if(!L&&!ce)throw new Error("invalid signature, expected Uint8Array, hex string or Signature instance");let R,K;try{if(ce&&(R=new S(k.r,k.s)),L){try{_!=="compact"&&(R=S.fromDER(k))}catch(Ne){if(!(Ne instanceof zc.Err))throw Ne}!R&&_!=="der"&&(R=S.fromCompact(k))}K=d.fromHex(T)}catch{return!1}if(!R||P&&R.hasHighS())return!1;O&&(A=t.hash(A));let{r:J,s:re}=R,ae=U(A),me=u(re),he=c(ae*me),pe=c(J*me),ct=d.BASE.multiplyAndAddUnsafe(K,he,pe)?.toAffine();return ct?c(ct.x)===J:!1}return{CURVE:t,getPublicKey:C,getSharedSecret:D,sign:w,verify:f,ProjectivePoint:d,Signature:S,utils:N}}function E1e(e,t){let n=e.ORDER,r=$i;for(let g=n-qt;g%md===$i;g/=md)r+=qt;let o=r,s=md<{let x=l,S=e.pow(E,u),N=e.sqr(S);N=e.mul(N,E);let C=e.mul(g,N);C=e.pow(C,c),C=e.mul(C,S),S=e.mul(C,E),N=e.mul(C,g);let v=e.mul(N,S);C=e.pow(v,d);let D=e.eql(C,e.ONE);S=e.mul(N,m),C=e.mul(v,x),N=e.cmov(S,N,D),v=e.cmov(C,v,D);for(let F=o;F>qt;F--){let U=F-md;U=md<{let N=e.sqr(S),C=e.mul(x,S);N=e.mul(N,C);let v=e.pow(N,g);v=e.mul(v,C);let D=e.mul(v,E),F=e.mul(e.sqr(v),S),U=e.eql(F,x),V=e.cmov(D,v,U);return{isValid:U,value:V}}}return p}function CG(e,t){if(cx(e),!e.isValid(t.A)||!e.isValid(t.B)||!e.isValid(t.Z))throw new Error("mapToCurveSimpleSWU: invalid opts");let n=E1e(e,t.Z);if(!e.isOdd)throw new Error("Fp.isOdd is not implemented!");return r=>{let o,s,i,a,c,u,d,l;o=e.sqr(r),o=e.mul(o,t.Z),s=e.sqr(o),s=e.add(s,o),i=e.add(s,e.ONE),i=e.mul(i,t.B),a=e.cmov(t.Z,e.neg(s),!e.eql(s,e.ZERO)),a=e.mul(a,t.A),s=e.sqr(i),u=e.sqr(a),c=e.mul(u,t.A),s=e.add(s,c),s=e.mul(s,i),u=e.mul(u,a),c=e.mul(u,t.B),s=e.add(s,c),d=e.mul(o,i);let{isValid:m,value:p}=n(s,u);l=e.mul(o,r),l=e.mul(l,p),d=e.cmov(d,i,m),l=e.cmov(l,p,m);let g=e.isOdd(r)===e.isOdd(l);l=e.cmov(e.neg(l),l,g);let E=o0(e,[a],!0)[0];return d=e.mul(d,E),{x:d,y:l}}}var uI,zc,$i,qt,md,Ub,dI,lI=oe(()=>{RG();Fb();r0();uI=class extends Error{constructor(t=""){super(t)}},zc={Err:uI,_tlv:{encode:(e,t)=>{let{Err:n}=zc;if(e<0||e>256)throw new n("tlv.encode: wrong tag");if(t.length&1)throw new n("tlv.encode: unpadded data");let r=t.length/2,o=Pb(r);if(o.length/2&128)throw new n("tlv.encode: long form length too big");let s=r>127?Pb(o.length/2|128):"";return Pb(e)+s+o+t},decode(e,t){let{Err:n}=zc,r=0;if(e<0||e>256)throw new n("tlv.encode: wrong tag");if(t.length<2||t[r++]!==e)throw new n("tlv.decode: wrong tlv");let o=t[r++],s=!!(o&128),i=0;if(!s)i=o;else{let c=o&127;if(!c)throw new n("tlv.decode(long): indefinite length not supported");if(c>4)throw new n("tlv.decode(long): byte length is too big");let u=t.subarray(r,r+c);if(u.length!==c)throw new n("tlv.decode: length bytes not complete");if(u[0]===0)throw new n("tlv.decode(long): zero leftmost byte");for(let d of u)i=i<<8|d;if(r+=c,i<128)throw new n("tlv.decode(long): not minimal encoding")}let a=t.subarray(r,r+i);if(a.length!==i)throw new n("tlv.decode: wrong value length");return{v:a,l:t.subarray(r+i)}}},_int:{encode(e){let{Err:t}=zc;if(e<$i)throw new t("integer: negative integers are not allowed");let n=Pb(e);if(Number.parseInt(n[0],16)&8&&(n="00"+n),n.length&1)throw new t("unexpected DER parsing assertion: unpadded hex");return n},decode(e){let{Err:t}=zc;if(e[0]&128)throw new t("invalid signature integer: negative");if(e[0]===0&&!(e[1]&128))throw new t("invalid signature integer: unnecessary leading zero");return ds(e)}},toSig(e){let{Err:t,_int:n,_tlv:r}=zc,o=hr("signature",e),{v:s,l:i}=r.decode(48,o);if(i.length)throw new t("invalid signature: left bytes after parsing");let{v:a,l:c}=r.decode(2,s),{v:u,l:d}=r.decode(2,c);if(d.length)throw new t("invalid signature: left bytes after parsing");return{r:n.decode(a),s:n.decode(u)}},hexFromSig(e){let{_tlv:t,_int:n}=zc,r=t.encode(2,n.encode(e.r)),o=t.encode(2,n.encode(e.s)),s=r+o;return t.encode(48,s)}};$i=BigInt(0),qt=BigInt(1),md=BigInt(2),Ub=BigInt(3),dI=BigInt(4)});function x1e(e){return{hash:e,hmac:(t,...n)=>W5(e,t,VM(...n)),randomBytes:U1}}function NG(e,t){let n=r=>IG({...e,...x1e(r)});return{...n(t),create:n}}var OG=oe(()=>{iG();Bu();lI();});function hd(e,t){if(Hb(e),Hb(t),e<0||e>=1<<8*t)throw new Error("invalid I2OSP input: "+e);let n=Array.from({length:t}).fill(0);for(let r=t-1;r>=0;r--)n[r]=e&255,e>>>=8;return new Uint8Array(n)}function T1e(e,t){let n=new Uint8Array(e.length);for(let r=0;r255&&(t=r(Lo(ix("H2C-OVERSIZE-DST-"),t)));let{outputLen:o,blockLen:s}=r,i=Math.ceil(n/o);if(n>65535||i>255)throw new Error("expand_message_xmd: invalid lenInBytes");let a=Lo(t,hd(t.length,1)),c=hd(0,s),u=hd(n,2),d=new Array(i),l=r(Lo(c,e,u,hd(0,1),a));d[0]=r(Lo(l,hd(1,1),a));for(let p=1;p<=i;p++){let g=[T1e(l,d[p-1]),hd(p+1,1),a];d[p]=r(Lo(...g))}return Lo(...d).slice(0,n)}function R1e(e,t,n,r,o){if(Uc(e),Uc(t),Hb(n),t.length>255){let s=Math.ceil(2*r/8);t=o.create({dkLen:s}).update(ix("H2C-OVERSIZE-DST-")).update(t).digest()}if(n>65535||t.length>255)throw new Error("expand_message_xof: invalid lenInBytes");return o.create({dkLen:n}).update(e).update(hd(n,2)).update(t).update(hd(t.length,1)).digest()}function kG(e,t,n){$c(n,{DST:"stringOrUint8Array",p:"bigint",m:"isSafeInteger",k:"isSafeInteger",hash:"hash"});let{p:r,k:o,m:s,hash:i,expand:a,DST:c}=n;Uc(e),Hb(t);let u=typeof c=="string"?ix(c):c,d=r.toString(2).length,l=Math.ceil((d+o)/8),m=t*s*l,p;if(a==="xmd")p=S1e(e,u,m,i);else if(a==="xof")p=R1e(e,u,m,o,i);else if(a==="_internal_pass")p=e;else throw new Error('expand must be "xmd" or "xof"');let g=new Array(t);for(let E=0;EArray.from(r).reverse());return(r,o)=>{let[s,i,a,c]=n.map(l=>l.reduce((m,p)=>e.add(e.mul(m,r),p))),[u,d]=o0(e,[i,c],!0);return r=e.mul(s,u),o=e.mul(o,e.mul(a,d)),{x:r,y:o}}}function BG(e,t,n){if(typeof t!="function")throw new Error("mapToCurve() must be defined");function r(s){return e.fromAffine(t(s))}function o(s){let i=s.clearCofactor();return i.equals(e.ZERO)?e.ZERO:(i.assertValidity(),i)}return{defaults:n,hashToCurve(s,i){let a=kG(s,2,{...n,DST:n.DST,...i}),c=r(a[0]),u=r(a[1]);return o(c.add(u))},encodeToCurve(s,i){let a=kG(s,1,{...n,DST:n.encodeDST,...i});return o(r(a[0]))},mapToCurve(s){if(!Array.isArray(s))throw new Error("expected array of bigints");for(let i of s)if(typeof i!="bigint")throw new Error("expected array of bigints");return o(r(s))}}}var w1e,PG=oe(()=>{Fb();r0();w1e=ds});var zG={};rp(zG,{encodeToCurve:()=>B1e,hashToCurve:()=>D1e,schnorr:()=>N1e,secp256k1:()=>Vc,secp256k1_hasher:()=>gI});function FG(e){let t=Vb,n=BigInt(3),r=BigInt(6),o=BigInt(11),s=BigInt(22),i=BigInt(23),a=BigInt(44),c=BigInt(88),u=e*e*e%t,d=u*u*e%t,l=Ns(d,n,t)*d%t,m=Ns(l,n,t)*d%t,p=Ns(m,dx,t)*u%t,g=Ns(p,o,t)*p%t,E=Ns(g,s,t)*g%t,x=Ns(E,a,t)*E%t,S=Ns(x,c,t)*x%t,N=Ns(S,a,t)*E%t,C=Ns(N,n,t)*d%t,v=Ns(C,i,t)*g%t,D=Ns(v,r,t)*u%t,F=Ns(D,dx,t);if(!yd.eql(yd.sqr(F),e))throw new Error("Cannot find square root");return F}function lx(e,...t){let n=MG[e];if(n===void 0){let r=Ml(Uint8Array.from(e,o=>o.charCodeAt(0)));n=Lo(r,r),MG[e]=n}return Ml(Lo(n,...t))}function mI(e){let t=Vc.utils.normPrivateKeyToScalar(e),n=bI.fromPrivateKey(t);return{scalar:n.hasEvenY()?t:zb(-t),bytes:yI(n)}}function UG(e){Hc("x",e,$b,Vb);let t=fI(e*e),n=fI(t*e+BigInt(7)),r=FG(n);r%dx!==hI&&(r=fI(-r));let o=new bI(e,r,$b);return o.assertValidity(),o}function HG(...e){return zb(s0(lx("BIP0340/challenge",...e)))}function I1e(e){return mI(e).bytes}function C1e(e,t,n=U1(32)){let r=hr("message",e),{bytes:o,scalar:s}=mI(t),i=hr("auxRand",n,32),a=pI(s^s0(lx("BIP0340/aux",i))),c=lx("BIP0340/nonce",a,o,r),u=zb(s0(c));if(u===hI)throw new Error("sign failed: k is zero");let{bytes:d,scalar:l}=mI(u),m=HG(d,o,r),p=new Uint8Array(64);if(p.set(d,0),p.set(pI(zb(l+m*s)),32),!$G(p,r,o))throw new Error("sign: Invalid signature produced");return p}function $G(e,t,n){let r=hr("signature",e,64),o=hr("message",t),s=hr("publicKey",n,32);try{let i=UG(s0(s)),a=s0(r.subarray(0,32));if(!vf(a,$b,Vb))return!1;let c=s0(r.subarray(32,64));if(!vf(c,$b,ux))return!1;let u=HG(pI(a),yI(i),o),d=v1e(i,c,zb(-u));return!(!d||!d.hasEvenY()||d.toAffine().x!==a)}catch{return!1}}var Vb,ux,hI,$b,dx,LG,yd,Vc,MG,yI,pI,fI,zb,bI,v1e,s0,N1e,O1e,k1e,gI,D1e,B1e,fx=oe(()=>{zR();Bu();OG();PG();Fb();r0();lI();Vb=BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),ux=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),hI=BigInt(0),$b=BigInt(1),dx=BigInt(2),LG=(e,t)=>(e+t/dx)/t;yd=Mb(Vb,void 0,void 0,{sqrt:FG}),Vc=NG({a:hI,b:BigInt(7),Fp:yd,n:ux,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),h:BigInt(1),lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:e=>{let t=ux,n=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),r=-$b*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),o=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),s=n,i=BigInt("0x100000000000000000000000000000000"),a=LG(s*e,t),c=LG(-r*e,t),u=rr(e-a*n-c*o,t),d=rr(-a*r-c*s,t),l=u>i,m=d>i;if(l&&(u=t-u),m&&(d=t-d),u>i||d>i)throw new Error("splitScalar: Endomorphism failed, k="+e);return{k1neg:l,k1:u,k2neg:m,k2:d}}}},Ml),MG={};yI=e=>e.toRawBytes(!0).slice(1),pI=e=>Ma(e,32),fI=e=>rr(e,Vb),zb=e=>rr(e,ux),bI=Vc.ProjectivePoint,v1e=(e,t,n)=>bI.BASE.multiplyAndAddUnsafe(e,t,n);s0=ds;N1e={getPublicKey:I1e,sign:C1e,verify:$G,utils:{randomPrivateKey:Vc.utils.randomPrivateKey,lift_x:UG,pointToBytes:yI,numberToBytesBE:Ma,bytesToNumberBE:ds,taggedHash:lx,mod:rr}},O1e=DG(yd,[["0x8e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38daaaaa8c7","0x7d3d4c80bc321d5b9f315cea7fd44c5d595d2fc0bf63b92dfff1044f17c6581","0x534c328d23f234e6e2a413deca25caece4506144037c40314ecbd0b53d9dd262","0x8e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38daaaaa88c"],["0xd35771193d94918a9ca34ccbb7b640dd86cd409542f8487d9fe6b745781eb49b","0xedadc6f64383dc1df7c4b2d51b54225406d36b641f5e41bbc52a56612a8c6d14","0x0000000000000000000000000000000000000000000000000000000000000001"],["0x4bda12f684bda12f684bda12f684bda12f684bda12f684bda12f684b8e38e23c","0xc75e0c32d5cb7c0fa9d0a54b12a0a6d5647ab046d686da6fdffc90fc201d71a3","0x29a6194691f91a73715209ef6512e576722830a201be2018a765e85a9ecee931","0x2f684bda12f684bda12f684bda12f684bda12f684bda12f684bda12f38e38d84"],["0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffff93b","0x7a06534bb8bdb49fd5e9e6632722c2989467c1bfc8e8d978dfb425d2685c2573","0x6484aa716545ca2cf3a70c3fa8fe337e0a3d21162f0d6299a7bf8192bfd2a76f","0x0000000000000000000000000000000000000000000000000000000000000001"]].map(e=>e.map(t=>BigInt(t)))),k1e=CG(yd,{A:BigInt("0x3f8731abdd661adca08a5558f0f5d272e953d363cb6f0e5d405447c01a444533"),B:BigInt("1771"),Z:yd.create(BigInt("-11"))}),gI=BG(Vc.ProjectivePoint,e=>{let{x:t,y:n}=k1e(yd.create(e[0]));return O1e(t,n)},{DST:"secp256k1_XMD:SHA-256_SSWU_RO_",encodeDST:"secp256k1_XMD:SHA-256_SSWU_NU_",p:yd.ORDER,m:1,k:128,expand:"xmd",hash:Ml}),D1e=gI.hashToCurve,B1e=gI.encodeToCurve});var Os,ls,i0,a0,c0,u0,d0,l0,f0,p0,ii,ai,zi=oe(()=>{Dm();Ge();Os=class extends Y{constructor({cause:t,message:n}={}){let r=n?.replace("execution reverted: ","")?.replace("execution reverted","");super(`Execution reverted ${r?`with reason: ${r}`:"for an unknown reason"}.`,{cause:t,name:"ExecutionRevertedError"})}};Object.defineProperty(Os,"code",{enumerable:!0,configurable:!0,writable:!0,value:3});Object.defineProperty(Os,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/execution reverted|gas required exceeds allowance/});ls=class extends Y{constructor({cause:t,maxFeePerGas:n}={}){super(`The fee cap (\`maxFeePerGas\`${n?` = ${Rr(n)} gwei`:""}) cannot be higher than the maximum allowed value (2^256-1).`,{cause:t,name:"FeeCapTooHighError"})}};Object.defineProperty(ls,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/max fee per gas higher than 2\^256-1|fee cap higher than 2\^256-1/});i0=class extends Y{constructor({cause:t,maxFeePerGas:n}={}){super(`The fee cap (\`maxFeePerGas\`${n?` = ${Rr(n)}`:""} gwei) cannot be lower than the block base fee.`,{cause:t,name:"FeeCapTooLowError"})}};Object.defineProperty(i0,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/max fee per gas less than block base fee|fee cap less than block base fee|transaction is outdated/});a0=class extends Y{constructor({cause:t,nonce:n}={}){super(`Nonce provided for the transaction ${n?`(${n}) `:""}is higher than the next one expected.`,{cause:t,name:"NonceTooHighError"})}};Object.defineProperty(a0,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/nonce too high/});c0=class extends Y{constructor({cause:t,nonce:n}={}){super([`Nonce provided for the transaction ${n?`(${n}) `:""}is lower than the current nonce of the account.`,"Try increasing the nonce or find the latest nonce with `getTransactionCount`."].join(` +`),{cause:t,name:"NonceTooLowError"})}};Object.defineProperty(c0,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/nonce too low|transaction already imported|already known/});u0=class extends Y{constructor({cause:t,nonce:n}={}){super(`Nonce provided for the transaction ${n?`(${n}) `:""}exceeds the maximum allowed nonce.`,{cause:t,name:"NonceMaxValueError"})}};Object.defineProperty(u0,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/nonce has max value/});d0=class extends Y{constructor({cause:t}={}){super(["The total cost (gas * gas fee + value) of executing this transaction exceeds the balance of the account."].join(` +`),{cause:t,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(d0,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/insufficient funds|exceeds transaction sender account balance/});l0=class extends Y{constructor({cause:t,gas:n}={}){super(`The amount of gas ${n?`(${n}) `:""}provided for the transaction exceeds the limit allowed for the block.`,{cause:t,name:"IntrinsicGasTooHighError"})}};Object.defineProperty(l0,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/intrinsic gas too high|gas limit reached/});f0=class extends Y{constructor({cause:t,gas:n}={}){super(`The amount of gas ${n?`(${n}) `:""}provided for the transaction is too low.`,{cause:t,name:"IntrinsicGasTooLowError"})}};Object.defineProperty(f0,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/intrinsic gas too low/});p0=class extends Y{constructor({cause:t}){super("The transaction type is not supported for this chain.",{cause:t,name:"TransactionTypeNotSupportedError"})}};Object.defineProperty(p0,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/transaction type not valid/});ii=class extends Y{constructor({cause:t,maxPriorityFeePerGas:n,maxFeePerGas:r}={}){super([`The provided tip (\`maxPriorityFeePerGas\`${n?` = ${Rr(n)} gwei`:""}) cannot be higher than the fee cap (\`maxFeePerGas\`${r?` = ${Rr(r)} gwei`:""}).`].join(` +`),{cause:t,name:"TipAboveFeeCapError"})}};Object.defineProperty(ii,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/max priority fee per gas higher than max fee per gas|tip higher than fee cap/});ai=class extends Y{constructor({cause:t}){super(`An error occurred while executing: ${t?.shortMessage}`,{cause:t,name:"UnknownNodeError"})}}});function gd(e,t){let n=(e.details||"").toLowerCase(),r=e instanceof Y?e.walk(o=>o?.code===Os.code):e;return r instanceof Y?new Os({cause:e,message:r.details}):Os.nodeMessage.test(n)?new Os({cause:e,message:e.details}):ls.nodeMessage.test(n)?new ls({cause:e,maxFeePerGas:t?.maxFeePerGas}):i0.nodeMessage.test(n)?new i0({cause:e,maxFeePerGas:t?.maxFeePerGas}):a0.nodeMessage.test(n)?new a0({cause:e,nonce:t?.nonce}):c0.nodeMessage.test(n)?new c0({cause:e,nonce:t?.nonce}):u0.nodeMessage.test(n)?new u0({cause:e,nonce:t?.nonce}):d0.nodeMessage.test(n)?new d0({cause:e}):l0.nodeMessage.test(n)?new l0({cause:e,gas:t?.gas}):f0.nodeMessage.test(n)?new f0({cause:e,gas:t?.gas}):p0.nodeMessage.test(n)?new p0({cause:e}):ii.nodeMessage.test(n)?new ii({cause:e,maxFeePerGas:t?.maxFeePerGas,maxPriorityFeePerGas:t?.maxPriorityFeePerGas}):new ai({cause:e})}var Gb=oe(()=>{Ge();zi()});function fs(e,{format:t}){if(!t)return{};let n={};function r(s){let i=Object.keys(s);for(let a of i)a in e&&(n[a]=e[a]),s[a]&&typeof s[a]=="object"&&!Array.isArray(s[a])&&r(s[a])}let o=t(e||{});return r(o),n}var _d=oe(()=>{});function Ad(e,t){return({exclude:n,format:r})=>({exclude:n,format:(o,s)=>{let i=t(o,s);if(n)for(let a of n)delete i[a];return{...i,...r(o,s)}},type:e})}var Wb=oe(()=>{});function vr(e,t){let n={};return typeof e.authorizationList<"u"&&(n.authorizationList=F1e(e.authorizationList)),typeof e.accessList<"u"&&(n.accessList=e.accessList),typeof e.blobVersionedHashes<"u"&&(n.blobVersionedHashes=e.blobVersionedHashes),typeof e.blobs<"u"&&(typeof e.blobs[0]!="string"?n.blobs=e.blobs.map(r=>vt(r)):n.blobs=e.blobs),typeof e.data<"u"&&(n.data=e.data),e.account&&(n.from=e.account.address),typeof e.from<"u"&&(n.from=e.from),typeof e.gas<"u"&&(n.gas=ue(e.gas)),typeof e.gasPrice<"u"&&(n.gasPrice=ue(e.gasPrice)),typeof e.maxFeePerBlobGas<"u"&&(n.maxFeePerBlobGas=ue(e.maxFeePerBlobGas)),typeof e.maxFeePerGas<"u"&&(n.maxFeePerGas=ue(e.maxFeePerGas)),typeof e.maxPriorityFeePerGas<"u"&&(n.maxPriorityFeePerGas=ue(e.maxPriorityFeePerGas)),typeof e.nonce<"u"&&(n.nonce=ue(e.nonce)),typeof e.to<"u"&&(n.to=e.to),typeof e.type<"u"&&(n.type=M1e[e.type]),typeof e.value<"u"&&(n.value=ue(e.value)),n}function F1e(e){return e.map(t=>({address:t.address,r:t.r?ue(BigInt(t.r)):t.r,s:t.s?ue(BigInt(t.s)):t.s,chainId:ue(t.chainId),nonce:ue(t.nonce),...typeof t.yParity<"u"?{yParity:ue(t.yParity)}:{},...typeof t.v<"u"&&typeof t.yParity>"u"?{v:ue(t.v)}:{}}))}var M1e,mx,ci=oe(()=>{Ue();Wb();M1e={legacy:"0x0",eip2930:"0x1",eip1559:"0x2",eip4844:"0x3",eip7702:"0x4"};mx=Ad("transactionRequest",vr)});function YG(e){if(!(!e||e.length===0))return e.reduce((t,{slot:n,value:r})=>{if(n.length!==66)throw new Sb({size:n.length,targetSize:66,type:"hex"});if(r.length!==66)throw new Sb({size:r.length,targetSize:66,type:"hex"});return t[n]=r,t},{})}function U1e(e){let{balance:t,nonce:n,state:r,stateDiff:o,code:s}=e,i={};if(s!==void 0&&(i.code=s),t!==void 0&&(i.balance=ue(t)),n!==void 0&&(i.nonce=ue(n)),r!==void 0&&(i.state=YG(r)),o!==void 0){if(i.state)throw new ZE;i.stateDiff=YG(o)}return i}function Ed(e){if(!e)return;let t={};for(let{address:n,...r}of e){if(!it(n,{strict:!1}))throw new kt({address:n});if(t[n])throw new YE({address:n});t[n]=U1e(r)}return t}var qb=oe(()=>{ri();NE();G5();ko();Ue()});var jBe,GBe,WBe,qBe,KBe,YBe,ZBe,XBe,JBe,QBe,ePe,tPe,nPe,rPe,oPe,sPe,iPe,aPe,cPe,uPe,dPe,lPe,fPe,pPe,mPe,hPe,yPe,bPe,gPe,_Pe,APe,EPe,xPe,wPe,TPe,SPe,RPe,vPe,IPe,CPe,NPe,OPe,kPe,DPe,BPe,PPe,LPe,MPe,FPe,UPe,HPe,$Pe,zPe,VPe,jPe,GPe,WPe,qPe,KPe,YPe,ZPe,XPe,JPe,QPe,e9e,ZG,t9e,n9e,r9e,o9e,s9e,i9e,a9e,c9e,u9e,d9e,l9e,f9e,p9e,m9e,h9e,y9e,b9e,g9e,_9e,A9e,E9e,x9e,w9e,T9e,S9e,R9e,v9e,I9e,C9e,xd,Kb=oe(()=>{jBe=2n**(8n-1n)-1n,GBe=2n**(16n-1n)-1n,WBe=2n**(24n-1n)-1n,qBe=2n**(32n-1n)-1n,KBe=2n**(40n-1n)-1n,YBe=2n**(48n-1n)-1n,ZBe=2n**(56n-1n)-1n,XBe=2n**(64n-1n)-1n,JBe=2n**(72n-1n)-1n,QBe=2n**(80n-1n)-1n,ePe=2n**(88n-1n)-1n,tPe=2n**(96n-1n)-1n,nPe=2n**(104n-1n)-1n,rPe=2n**(112n-1n)-1n,oPe=2n**(120n-1n)-1n,sPe=2n**(128n-1n)-1n,iPe=2n**(136n-1n)-1n,aPe=2n**(144n-1n)-1n,cPe=2n**(152n-1n)-1n,uPe=2n**(160n-1n)-1n,dPe=2n**(168n-1n)-1n,lPe=2n**(176n-1n)-1n,fPe=2n**(184n-1n)-1n,pPe=2n**(192n-1n)-1n,mPe=2n**(200n-1n)-1n,hPe=2n**(208n-1n)-1n,yPe=2n**(216n-1n)-1n,bPe=2n**(224n-1n)-1n,gPe=2n**(232n-1n)-1n,_Pe=2n**(240n-1n)-1n,APe=2n**(248n-1n)-1n,EPe=2n**(256n-1n)-1n,xPe=-(2n**(8n-1n)),wPe=-(2n**(16n-1n)),TPe=-(2n**(24n-1n)),SPe=-(2n**(32n-1n)),RPe=-(2n**(40n-1n)),vPe=-(2n**(48n-1n)),IPe=-(2n**(56n-1n)),CPe=-(2n**(64n-1n)),NPe=-(2n**(72n-1n)),OPe=-(2n**(80n-1n)),kPe=-(2n**(88n-1n)),DPe=-(2n**(96n-1n)),BPe=-(2n**(104n-1n)),PPe=-(2n**(112n-1n)),LPe=-(2n**(120n-1n)),MPe=-(2n**(128n-1n)),FPe=-(2n**(136n-1n)),UPe=-(2n**(144n-1n)),HPe=-(2n**(152n-1n)),$Pe=-(2n**(160n-1n)),zPe=-(2n**(168n-1n)),VPe=-(2n**(176n-1n)),jPe=-(2n**(184n-1n)),GPe=-(2n**(192n-1n)),WPe=-(2n**(200n-1n)),qPe=-(2n**(208n-1n)),KPe=-(2n**(216n-1n)),YPe=-(2n**(224n-1n)),ZPe=-(2n**(232n-1n)),XPe=-(2n**(240n-1n)),JPe=-(2n**(248n-1n)),QPe=-(2n**(256n-1n)),e9e=2n**8n-1n,ZG=2n**16n-1n,t9e=2n**24n-1n,n9e=2n**32n-1n,r9e=2n**40n-1n,o9e=2n**48n-1n,s9e=2n**56n-1n,i9e=2n**64n-1n,a9e=2n**72n-1n,c9e=2n**80n-1n,u9e=2n**88n-1n,d9e=2n**96n-1n,l9e=2n**104n-1n,f9e=2n**112n-1n,p9e=2n**120n-1n,m9e=2n**128n-1n,h9e=2n**136n-1n,y9e=2n**144n-1n,b9e=2n**152n-1n,g9e=2n**160n-1n,_9e=2n**168n-1n,A9e=2n**176n-1n,E9e=2n**184n-1n,x9e=2n**192n-1n,w9e=2n**200n-1n,T9e=2n**208n-1n,S9e=2n**216n-1n,R9e=2n**224n-1n,v9e=2n**232n-1n,I9e=2n**240n-1n,C9e=2n**248n-1n,xd=2n**256n-1n});function yr(e){let{account:t,maxFeePerGas:n,maxPriorityFeePerGas:r,to:o}=e,s=t?Pe(t):void 0;if(s&&!it(s.address))throw new kt({address:s.address});if(o&&!it(o))throw new kt({address:o});if(n&&n>xd)throw new ls({maxFeePerGas:n});if(r&&n&&r>n)throw new ii({maxFeePerGas:n,maxPriorityFeePerGas:r})}var Vi=oe(()=>{kn();Kb();ri();zi();ko()});function Uo(e){let{blockHash:t,blockNumber:n,blockTag:r,requireCanonical:o}=e;if(o!==void 0&&!t)throw new Y("`requireCanonical` can only be provided when `blockHash` is set.");return t?o?{blockHash:t,requireCanonical:o}:{blockHash:t}:typeof n=="bigint"?ue(n):r??"latest"}var Sd=oe(()=>{Ge();Ue()});function Lr(e,t){if(!it(e,{strict:!1}))throw new kt({address:e});if(!it(t,{strict:!1}))throw new kt({address:t});return e.toLowerCase()===t.toLowerCase()}var jc=oe(()=>{ri();ko()});function Ao(e){let{abi:t,args:n,functionName:r,data:o}=e,s=t[0];if(r){let a=cs({abi:t,args:n,name:r});if(!a)throw new Li(r,{docsPath:xI});s=a}if(s.type!=="function")throw new Li(void 0,{docsPath:xI});if(!s.outputs)throw new Tm(s.name,{docsPath:xI});let i=Bc(s.outputs,o);if(i&&i.length>1)return i;if(i&&i.length===1)return i[0]}var xI,Gc=oe(()=>{er();kb();od();xI="/docs/contract/decodeFunctionResult"});var rW,oW=oe(()=>{rW="0.1.1"});function sW(){return rW}var iW=oe(()=>{oW()});function aW(e,t){return t?.(e)?e:e&&typeof e=="object"&&"cause"in e&&e.cause?aW(e.cause,t):t?null:e}var ve,ps=oe(()=>{iW();ve=class e extends Error{static setStaticOptions(t){e.prototype.docsOrigin=t.docsOrigin,e.prototype.showVersion=t.showVersion,e.prototype.version=t.version}constructor(t,n={}){let r=(()=>{if(n.cause instanceof e){if(n.cause.details)return n.cause.details;if(n.cause.shortMessage)return n.cause.shortMessage}return n.cause&&"details"in n.cause&&typeof n.cause.details=="string"?n.cause.details:n.cause?.message?n.cause.message:n.details})(),o=n.cause instanceof e&&n.cause.docsPath||n.docsPath,s=n.docsOrigin??e.prototype.docsOrigin,i=`${s}${o??""}`,a=!!(n.version??e.prototype.showVersion),c=n.version??e.prototype.version,u=[t||"An error occurred.",...n.metaMessages?["",...n.metaMessages]:[],...r||o||a?["",r?`Details: ${r}`:void 0,o?`See: ${i}`:void 0,a?`Version: ${c}`:void 0]:[]].filter(d=>typeof d=="string").join(` +`);super(u,n.cause?{cause:n.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=n.cause,this.details=r,this.docs=i,this.docsOrigin=s,this.docsPath=o,this.shortMessage=t,this.showVersion=a,this.version=c}walk(t){return aW(this,t)}};Object.defineProperty(ve,"defaultStaticOptions",{enumerable:!0,configurable:!0,writable:!0,value:{docsOrigin:"https://oxlib.sh",showVersion:!1,version:`ox@${sW()}`}});ve.setStaticOptions(ve.defaultStaticOptions)});function R0(e,t){if(ui(e)>t)throw new Sx({givenSize:ui(e),maxSize:t})}function cW(e,t){if(typeof t=="number"&&t>0&&t>ui(e)-1)throw new Zb({offset:t,position:"start",size:ui(e)})}function uW(e,t,n){if(typeof t=="number"&&typeof n=="number"&&ui(e)!==n-t)throw new Zb({offset:n,position:"end",size:ui(e)})}function wI(e){if(e>=Wc.zero&&e<=Wc.nine)return e-Wc.zero;if(e>=Wc.A&&e<=Wc.F)return e-(Wc.A-10);if(e>=Wc.a&&e<=Wc.f)return e-(Wc.a-10)}function dW(e,t={}){let{dir:n,size:r=32}=t;if(r===0)return e;if(e.length>r)throw new Rx({size:e.length,targetSize:r,type:"Bytes"});let o=new Uint8Array(r);for(let s=0;s{qc();Wc={zero:48,nine:57,A:65,F:70,a:97,f:102}});function v0(e,t){if(jn(e)>t)throw new vx({givenSize:jn(e),maxSize:t})}function fW(e,t){if(typeof t=="number"&&t>0&&t>jn(e)-1)throw new Xb({offset:t,position:"start",size:jn(e)})}function pW(e,t,n){if(typeof t=="number"&&typeof n=="number"&&jn(e)!==n-t)throw new Xb({offset:n,position:"end",size:jn(e)})}function SI(e,t={}){let{dir:n,size:r=32}=t;if(r===0)return e;let o=e.replace("0x","");if(o.length>r*2)throw new Ix({size:Math.ceil(o.length/2),targetSize:r,type:"Hex"});return`0x${o[n==="right"?"padEnd":"padStart"](r*2,"0")}`}function mW(e,t={}){let{dir:n="left"}=t,r=e.replace("0x",""),o=0;for(let s=0;s{Mr()});function Id(e,t,n){return JSON.stringify(e,(r,o)=>typeof t=="function"?t(r,o):typeof o=="bigint"?o.toString()+W1e:o,n)}var W1e,Jb=oe(()=>{W1e="#__bigint"});function Y1e(e){if(!(e instanceof Uint8Array)){if(!e)throw new I0(e);if(typeof e!="object")throw new I0(e);if(!("BYTES_PER_ELEMENT"in e))throw new I0(e);if(e.BYTES_PER_ELEMENT!==1||e.constructor.name!=="Uint8Array")throw new I0(e)}}function II(e){return e instanceof Uint8Array?e:typeof e=="string"?C0(e):Z1e(e)}function Z1e(e){return e instanceof Uint8Array?e:new Uint8Array(e)}function C0(e,t={}){let{size:n}=t,r=e;n&&(v0(e,n),r=$a(e,n));let o=r.slice(2);o.length%2&&(o=`0${o}`);let s=o.length/2,i=new Uint8Array(s);for(let a=0,c=0;a1||r[0]>1)throw new vI(r);return!!r[0]}function Ha(e,t={}){let{size:n}=t;typeof n<"u"&&R0(e,n);let r=or(e,t);return Ox(r,t)}function _W(e,t={}){let{size:n}=t,r=e;return typeof n<"u"&&(R0(r,n),r=J1e(r)),q1e.decode(r)}function CI(e){return TI(e,{dir:"left"})}function J1e(e){return TI(e,{dir:"right"})}function AW(e){try{return Y1e(e),!0}catch{return!1}}var q1e,K1e,vI,I0,Sx,Zb,Rx,qc=oe(()=>{ps();Mr();lW();RI();Jb();q1e=new TextDecoder,K1e=new TextEncoder;vI=class extends ve{constructor(t){super(`Bytes value \`${t}\` is not a valid boolean.`,{metaMessages:["The bytes array must contain a single byte of either a `0` or `1` value."]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Bytes.InvalidBytesBooleanError"})}},I0=class extends ve{constructor(t){super(`Value \`${typeof t=="object"?Id(t):t}\` of type \`${typeof t}\` is an invalid Bytes value.`,{metaMessages:["Bytes values must be of type `Bytes`."]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Bytes.InvalidBytesTypeError"})}},Sx=class extends ve{constructor({givenSize:t,maxSize:n}){super(`Size cannot exceed \`${n}\` bytes. Given size: \`${t}\` bytes.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Bytes.SizeOverflowError"})}},Zb=class extends ve{constructor({offset:t,position:n,size:r}){super(`Slice ${n==="start"?"starting":"ending"} at offset \`${t}\` is out-of-bounds (size: \`${r}\`).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Bytes.SliceOffsetOutOfBoundsError"})}},Rx=class extends ve{constructor({size:t,targetSize:n,type:r}){super(`${r.charAt(0).toUpperCase()}${r.slice(1).toLowerCase()} size (\`${t}\`) exceeds padding size (\`${n}\`).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Bytes.SizeExceedsPaddingSizeError"})}}});function tAe(e,t={}){let{strict:n=!1}=t;if(!e)throw new kx(e);if(typeof e!="string")throw new kx(e);if(n&&!/^0x[0-9a-fA-F]*$/.test(e))throw new Dx(e);if(!e.startsWith("0x"))throw new Dx(e)}function Gn(...e){return`0x${e.reduce((t,n)=>t+n.replace("0x",""),"")}`}function N0(e){return e instanceof Uint8Array?or(e):Array.isArray(e)?or(new Uint8Array(e)):e}function Bx(e,t={}){let n=`0x${Number(e)}`;return typeof t.size=="number"?(v0(n,t.size),Kc(n,t.size)):n}function or(e,t={}){let n="";for(let o=0;os||o>1n;return r<=i?r:r-s-1n}function Ox(e,t={}){let{signed:n,size:r}=t;return Number(!n&&!r?e:NI(e,t))}function eg(e,t={}){let{strict:n=!1}=t;try{return tAe(e,{strict:n}),!0}catch{return!1}}var Q1e,eAe,Qb,kx,Dx,vx,Xb,Ix,Mr=oe(()=>{ps();RI();Jb();Q1e=new TextEncoder,eAe=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));Qb=class extends ve{constructor({max:t,min:n,signed:r,size:o,value:s}){super(`Number \`${s}\` is not in safe${o?` ${o*8}-bit`:""}${r?" signed":" unsigned"} integer range ${t?`(\`${n}\` to \`${t}\`)`:`(above \`${n}\`)`}`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.IntegerOutOfRangeError"})}},kx=class extends ve{constructor(t){super(`Value \`${typeof t=="object"?Id(t):t}\` of type \`${typeof t}\` is an invalid hex type.`,{metaMessages:['Hex types must be represented as `"0x${string}"`.']}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.InvalidHexTypeError"})}},Dx=class extends ve{constructor(t){super(`Value \`${t}\` is an invalid hex value.`,{metaMessages:['Hex values must start with `"0x"` and contain only hexadecimal characters (0-9, a-f, A-F).']}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.InvalidHexValueError"})}},vx=class extends ve{constructor({givenSize:t,maxSize:n}){super(`Size cannot exceed \`${n}\` bytes. Given size: \`${t}\` bytes.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.SizeOverflowError"})}},Xb=class extends ve{constructor({offset:t,position:n,size:r}){super(`Slice ${n==="start"?"starting":"ending"} at offset \`${t}\` is out-of-bounds (size: \`${r}\`).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.SliceOffsetOutOfBoundsError"})}},Ix=class extends ve{constructor({size:t,targetSize:n,type:r}){super(`${r.charAt(0).toUpperCase()}${r.slice(1).toLowerCase()} size (\`${t}\`) exceeds padding size (\`${n}\`).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.SizeExceedsPaddingSizeError"})}}});function EW(e){return{address:e.address,amount:Dt(e.amount),index:Dt(e.index),validatorIndex:Dt(e.validatorIndex)}}var xW=oe(()=>{Mr()});function Px(e){return{...typeof e.baseFeePerGas=="bigint"&&{baseFeePerGas:Dt(e.baseFeePerGas)},...typeof e.blobBaseFee=="bigint"&&{blobBaseFee:Dt(e.blobBaseFee)},...typeof e.feeRecipient=="string"&&{feeRecipient:e.feeRecipient},...typeof e.gasLimit=="bigint"&&{gasLimit:Dt(e.gasLimit)},...typeof e.number=="bigint"&&{number:Dt(e.number)},...typeof e.prevRandao=="bigint"&&{prevRandao:Dt(e.prevRandao)},...typeof e.time=="bigint"&&{time:Dt(e.time)},...e.withdrawals&&{withdrawals:e.withdrawals.map(EW)}}}var kI=oe(()=>{Mr();xW()});var Gi,Lx,TW,Mx,SW,DI,BI,PI,LI,Ir,Eo=oe(()=>{Gi=[{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:"addr",type:"address"}],name:"getEthBalance",outputs:[{name:"balance",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockTimestamp",outputs:[{internalType:"uint256",name:"timestamp",type:"uint256"}],stateMutability:"view",type:"function"}],Lx=[{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"}]}],TW=[{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"}],Mx=[...TW,{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"}]}],SW=[...TW,{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"}]}],DI=[{name:"text",type:"function",stateMutability:"view",inputs:[{name:"name",type:"bytes32"},{name:"key",type:"string"}],outputs:[{name:"",type:"string"}]}],BI=[{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"}]}],PI=[{name:"isValidSignature",type:"function",stateMutability:"view",inputs:[{name:"hash",type:"bytes32"},{name:"signature",type:"bytes"}],outputs:[{name:"",type:"bytes4"}]}],LI=[{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"}],Ir=[{type:"event",name:"Approval",inputs:[{indexed:!0,name:"owner",type:"address"},{indexed:!0,name:"spender",type:"address"},{indexed:!1,name:"value",type:"uint256"}]},{type:"event",name:"Transfer",inputs:[{indexed:!0,name:"from",type:"address"},{indexed:!0,name:"to",type:"address"},{indexed:!1,name:"value",type:"uint256"}]},{type:"function",name:"allowance",stateMutability:"view",inputs:[{name:"owner",type:"address"},{name:"spender",type:"address"}],outputs:[{type:"uint256"}]},{type:"function",name:"approve",stateMutability:"nonpayable",inputs:[{name:"spender",type:"address"},{name:"amount",type:"uint256"}],outputs:[{type:"bool"}]},{type:"function",name:"balanceOf",stateMutability:"view",inputs:[{name:"account",type:"address"}],outputs:[{type:"uint256"}]},{type:"function",name:"decimals",stateMutability:"view",inputs:[],outputs:[{type:"uint8"}]},{type:"function",name:"name",stateMutability:"view",inputs:[],outputs:[{type:"string"}]},{type:"function",name:"symbol",stateMutability:"view",inputs:[],outputs:[{type:"string"}]},{type:"function",name:"totalSupply",stateMutability:"view",inputs:[],outputs:[{type:"uint256"}]},{type:"function",name:"transfer",stateMutability:"nonpayable",inputs:[{name:"recipient",type:"address"},{name:"amount",type:"uint256"}],outputs:[{type:"bool"}]},{type:"function",name:"transferFrom",stateMutability:"nonpayable",inputs:[{name:"sender",type:"address"},{name:"recipient",type:"address"},{name:"amount",type:"uint256"}],outputs:[{type:"bool"}]}]});var RW,vW=oe(()=>{RW="0x82ad56cb"});var Fx,IW,CW,kf,tg=oe(()=>{Fx="0x608060405234801561001057600080fd5b5060405161018e38038061018e83398101604081905261002f91610124565b6000808351602085016000f59050803b61004857600080fd5b6000808351602085016000855af16040513d6000823e81610067573d81fd5b3d81f35b634e487b7160e01b600052604160045260246000fd5b600082601f83011261009257600080fd5b81516001600160401b038111156100ab576100ab61006b565b604051601f8201601f19908116603f011681016001600160401b03811182821017156100d9576100d961006b565b6040528181528382016020018510156100f157600080fd5b60005b82811015610110576020818601810151838301820152016100f4565b506000918101602001919091529392505050565b6000806040838503121561013757600080fd5b82516001600160401b0381111561014d57600080fd5b61015985828601610081565b602085015190935090506001600160401b0381111561017757600080fd5b61018385828601610081565b915050925092905056fe",IW="0x608060405234801561001057600080fd5b506040516102c03803806102c083398101604081905261002f916101e6565b836001600160a01b03163b6000036100e457600080836001600160a01b03168360405161005c9190610270565b6000604051808303816000865af19150503d8060008114610099576040519150601f19603f3d011682016040523d82523d6000602084013e61009e565b606091505b50915091508115806100b857506001600160a01b0386163b155b156100e1578060405163101bb98d60e01b81526004016100d8919061028c565b60405180910390fd5b50505b6000808451602086016000885af16040513d6000823e81610103573d81fd5b3d81f35b80516001600160a01b038116811461011e57600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561015457818101518382015260200161013c565b50506000910152565b600082601f83011261016e57600080fd5b81516001600160401b0381111561018757610187610123565b604051601f8201601f19908116603f011681016001600160401b03811182821017156101b5576101b5610123565b6040528181528382016020018510156101cd57600080fd5b6101de826020830160208701610139565b949350505050565b600080600080608085870312156101fc57600080fd5b61020585610107565b60208601519094506001600160401b0381111561022157600080fd5b61022d8782880161015d565b93505061023c60408601610107565b60608601519092506001600160401b0381111561025857600080fd5b6102648782880161015d565b91505092959194509250565b60008251610282818460208701610139565b9190910192915050565b60208152600082518060208401526102ab816040850160208701610139565b601f01601f1916919091016040019291505056fe",CW="0x608060405234801561001057600080fd5b5060405161069438038061069483398101604081905261002f9161051e565b600061003c848484610048565b9050806000526001601ff35b60007f64926492649264926492649264926492649264926492649264926492649264926100748361040c565b036101e7576000606080848060200190518101906100929190610577565b60405192955090935091506000906001600160a01b038516906100b69085906105dd565b6000604051808303816000865af19150503d80600081146100f3576040519150601f19603f3d011682016040523d82523d6000602084013e6100f8565b606091505b50509050876001600160a01b03163b60000361016057806101605760405162461bcd60e51b815260206004820152601e60248201527f5369676e617475726556616c696461746f723a206465706c6f796d656e74000060448201526064015b60405180910390fd5b604051630b135d3f60e11b808252906001600160a01b038a1690631626ba7e90610190908b9087906004016105f9565b602060405180830381865afa1580156101ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101d19190610633565b6001600160e01b03191614945050505050610405565b6001600160a01b0384163b1561027a57604051630b135d3f60e11b808252906001600160a01b03861690631626ba7e9061022790879087906004016105f9565b602060405180830381865afa158015610244573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102689190610633565b6001600160e01b031916149050610405565b81516041146102df5760405162461bcd60e51b815260206004820152603a602482015260008051602061067483398151915260448201527f3a20696e76616c6964207369676e6174757265206c656e6774680000000000006064820152608401610157565b6102e7610425565b5060208201516040808401518451859392600091859190811061030c5761030c61065d565b016020015160f81c9050601b811480159061032b57508060ff16601c14155b1561038c5760405162461bcd60e51b815260206004820152603b602482015260008051602061067483398151915260448201527f3a20696e76616c6964207369676e617475726520762076616c756500000000006064820152608401610157565b60408051600081526020810180835289905260ff83169181019190915260608101849052608081018390526001600160a01b0389169060019060a0016020604051602081039080840390855afa1580156103ea573d6000803e3d6000fd5b505050602060405103516001600160a01b0316149450505050505b9392505050565b600060208251101561041d57600080fd5b508051015190565b60405180606001604052806003906020820280368337509192915050565b6001600160a01b038116811461045857600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561048c578181015183820152602001610474565b50506000910152565b600082601f8301126104a657600080fd5b81516001600160401b038111156104bf576104bf61045b565b604051601f8201601f19908116603f011681016001600160401b03811182821017156104ed576104ed61045b565b60405281815283820160200185101561050557600080fd5b610516826020830160208701610471565b949350505050565b60008060006060848603121561053357600080fd5b835161053e81610443565b6020850151604086015191945092506001600160401b0381111561056157600080fd5b61056d86828701610495565b9150509250925092565b60008060006060848603121561058c57600080fd5b835161059781610443565b60208501519093506001600160401b038111156105b357600080fd5b6105bf86828701610495565b604086015190935090506001600160401b0381111561056157600080fd5b600082516105ef818460208701610471565b9190910192915050565b828152604060208201526000825180604084015261061e816060850160208701610471565b601f01601f1916919091016060019392505050565b60006020828403121561064557600080fd5b81516001600160e01b03198116811461040557600080fd5b634e487b7160e01b600052603260045260246000fdfe5369676e617475726556616c696461746f72237265636f7665725369676e6572",kf="0x608060405234801561001057600080fd5b506115b9806100206000396000f3fe6080604052600436106100f35760003560e01c80634d2301cc1161008a578063a8b0574e11610059578063a8b0574e14610325578063bce38bd714610350578063c3077fa914610380578063ee82ac5e146103b2576100f3565b80634d2301cc1461026257806372425d9d1461029f57806382ad56cb146102ca57806386d516e8146102fa576100f3565b80633408e470116100c65780633408e470146101af578063399542e9146101da5780633e64a6961461020c57806342cbb15c14610237576100f3565b80630f28c97d146100f8578063174dea7114610123578063252dba421461015357806327e86d6e14610184575b600080fd5b34801561010457600080fd5b5061010d6103ef565b60405161011a9190610c0a565b60405180910390f35b61013d60048036038101906101389190610c94565b6103f7565b60405161014a9190610e94565b60405180910390f35b61016d60048036038101906101689190610f0c565b610615565b60405161017b92919061101b565b60405180910390f35b34801561019057600080fd5b506101996107ab565b6040516101a69190611064565b60405180910390f35b3480156101bb57600080fd5b506101c46107b7565b6040516101d19190610c0a565b60405180910390f35b6101f460048036038101906101ef91906110ab565b6107bf565b6040516102039392919061110b565b60405180910390f35b34801561021857600080fd5b506102216107e1565b60405161022e9190610c0a565b60405180910390f35b34801561024357600080fd5b5061024c6107e9565b6040516102599190610c0a565b60405180910390f35b34801561026e57600080fd5b50610289600480360381019061028491906111a7565b6107f1565b6040516102969190610c0a565b60405180910390f35b3480156102ab57600080fd5b506102b4610812565b6040516102c19190610c0a565b60405180910390f35b6102e460048036038101906102df919061122a565b61081a565b6040516102f19190610e94565b60405180910390f35b34801561030657600080fd5b5061030f6109e4565b60405161031c9190610c0a565b60405180910390f35b34801561033157600080fd5b5061033a6109ec565b6040516103479190611286565b60405180910390f35b61036a600480360381019061036591906110ab565b6109f4565b6040516103779190610e94565b60405180910390f35b61039a60048036038101906103959190610f0c565b610ba6565b6040516103a99392919061110b565b60405180910390f35b3480156103be57600080fd5b506103d960048036038101906103d491906112cd565b610bca565b6040516103e69190611064565b60405180910390f35b600042905090565b60606000808484905090508067ffffffffffffffff81111561041c5761041b6112fa565b5b60405190808252806020026020018201604052801561045557816020015b610442610bd5565b81526020019060019003908161043a5790505b5092503660005b828110156105c957600085828151811061047957610478611329565b5b6020026020010151905087878381811061049657610495611329565b5b90506020028101906104a89190611367565b925060008360400135905080860195508360000160208101906104cb91906111a7565b73ffffffffffffffffffffffffffffffffffffffff16818580606001906104f2919061138f565b604051610500929190611431565b60006040518083038185875af1925050503d806000811461053d576040519150601f19603f3d011682016040523d82523d6000602084013e610542565b606091505b5083600001846020018290528215151515815250505081516020850135176105bc577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260846000fd5b826001019250505061045c565b5082341461060c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610603906114a7565b60405180910390fd5b50505092915050565b6000606043915060008484905090508067ffffffffffffffff81111561063e5761063d6112fa565b5b60405190808252806020026020018201604052801561067157816020015b606081526020019060019003908161065c5790505b5091503660005b828110156107a157600087878381811061069557610694611329565b5b90506020028101906106a791906114c7565b92508260000160208101906106bc91906111a7565b73ffffffffffffffffffffffffffffffffffffffff168380602001906106e2919061138f565b6040516106f0929190611431565b6000604051808303816000865af19150503d806000811461072d576040519150601f19603f3d011682016040523d82523d6000602084013e610732565b606091505b5086848151811061074657610745611329565b5b60200260200101819052819250505080610795576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161078c9061153b565b60405180910390fd5b81600101915050610678565b5050509250929050565b60006001430340905090565b600046905090565b6000806060439250434091506107d68686866109f4565b905093509350939050565b600048905090565b600043905090565b60008173ffffffffffffffffffffffffffffffffffffffff16319050919050565b600044905090565b606060008383905090508067ffffffffffffffff81111561083e5761083d6112fa565b5b60405190808252806020026020018201604052801561087757816020015b610864610bd5565b81526020019060019003908161085c5790505b5091503660005b828110156109db57600084828151811061089b5761089a611329565b5b602002602001015190508686838181106108b8576108b7611329565b5b90506020028101906108ca919061155b565b92508260000160208101906108df91906111a7565b73ffffffffffffffffffffffffffffffffffffffff16838060400190610905919061138f565b604051610913929190611431565b6000604051808303816000865af19150503d8060008114610950576040519150601f19603f3d011682016040523d82523d6000602084013e610955565b606091505b5082600001836020018290528215151515815250505080516020840135176109cf577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260646000fd5b8160010191505061087e565b50505092915050565b600045905090565b600041905090565b606060008383905090508067ffffffffffffffff811115610a1857610a176112fa565b5b604051908082528060200260200182016040528015610a5157816020015b610a3e610bd5565b815260200190600190039081610a365790505b5091503660005b82811015610b9c576000848281518110610a7557610a74611329565b5b60200260200101519050868683818110610a9257610a91611329565b5b9050602002810190610aa491906114c7565b9250826000016020810190610ab991906111a7565b73ffffffffffffffffffffffffffffffffffffffff16838060200190610adf919061138f565b604051610aed929190611431565b6000604051808303816000865af19150503d8060008114610b2a576040519150601f19603f3d011682016040523d82523d6000602084013e610b2f565b606091505b508260000183602001829052821515151581525050508715610b90578060000151610b8f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b869061153b565b60405180910390fd5b5b81600101915050610a58565b5050509392505050565b6000806060610bb7600186866107bf565b8093508194508295505050509250925092565b600081409050919050565b6040518060400160405280600015158152602001606081525090565b6000819050919050565b610c0481610bf1565b82525050565b6000602082019050610c1f6000830184610bfb565b92915050565b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b60008083601f840112610c5457610c53610c2f565b5b8235905067ffffffffffffffff811115610c7157610c70610c34565b5b602083019150836020820283011115610c8d57610c8c610c39565b5b9250929050565b60008060208385031215610cab57610caa610c25565b5b600083013567ffffffffffffffff811115610cc957610cc8610c2a565b5b610cd585828601610c3e565b92509250509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b60008115159050919050565b610d2281610d0d565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610d62578082015181840152602081019050610d47565b83811115610d71576000848401525b50505050565b6000601f19601f8301169050919050565b6000610d9382610d28565b610d9d8185610d33565b9350610dad818560208601610d44565b610db681610d77565b840191505092915050565b6000604083016000830151610dd96000860182610d19565b5060208301518482036020860152610df18282610d88565b9150508091505092915050565b6000610e0a8383610dc1565b905092915050565b6000602082019050919050565b6000610e2a82610ce1565b610e348185610cec565b935083602082028501610e4685610cfd565b8060005b85811015610e825784840389528151610e638582610dfe565b9450610e6e83610e12565b925060208a01995050600181019050610e4a565b50829750879550505050505092915050565b60006020820190508181036000830152610eae8184610e1f565b905092915050565b60008083601f840112610ecc57610ecb610c2f565b5b8235905067ffffffffffffffff811115610ee957610ee8610c34565b5b602083019150836020820283011115610f0557610f04610c39565b5b9250929050565b60008060208385031215610f2357610f22610c25565b5b600083013567ffffffffffffffff811115610f4157610f40610c2a565b5b610f4d85828601610eb6565b92509250509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6000610f918383610d88565b905092915050565b6000602082019050919050565b6000610fb182610f59565b610fbb8185610f64565b935083602082028501610fcd85610f75565b8060005b858110156110095784840389528151610fea8582610f85565b9450610ff583610f99565b925060208a01995050600181019050610fd1565b50829750879550505050505092915050565b60006040820190506110306000830185610bfb565b81810360208301526110428184610fa6565b90509392505050565b6000819050919050565b61105e8161104b565b82525050565b60006020820190506110796000830184611055565b92915050565b61108881610d0d565b811461109357600080fd5b50565b6000813590506110a58161107f565b92915050565b6000806000604084860312156110c4576110c3610c25565b5b60006110d286828701611096565b935050602084013567ffffffffffffffff8111156110f3576110f2610c2a565b5b6110ff86828701610eb6565b92509250509250925092565b60006060820190506111206000830186610bfb565b61112d6020830185611055565b818103604083015261113f8184610e1f565b9050949350505050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061117482611149565b9050919050565b61118481611169565b811461118f57600080fd5b50565b6000813590506111a18161117b565b92915050565b6000602082840312156111bd576111bc610c25565b5b60006111cb84828501611192565b91505092915050565b60008083601f8401126111ea576111e9610c2f565b5b8235905067ffffffffffffffff81111561120757611206610c34565b5b60208301915083602082028301111561122357611222610c39565b5b9250929050565b6000806020838503121561124157611240610c25565b5b600083013567ffffffffffffffff81111561125f5761125e610c2a565b5b61126b858286016111d4565b92509250509250929050565b61128081611169565b82525050565b600060208201905061129b6000830184611277565b92915050565b6112aa81610bf1565b81146112b557600080fd5b50565b6000813590506112c7816112a1565b92915050565b6000602082840312156112e3576112e2610c25565b5b60006112f1848285016112b8565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600080fd5b600080fd5b600080fd5b60008235600160800383360303811261138357611382611358565b5b80830191505092915050565b600080833560016020038436030381126113ac576113ab611358565b5b80840192508235915067ffffffffffffffff8211156113ce576113cd61135d565b5b6020830192506001820236038313156113ea576113e9611362565b5b509250929050565b600081905092915050565b82818337600083830152505050565b600061141883856113f2565b93506114258385846113fd565b82840190509392505050565b600061143e82848661140c565b91508190509392505050565b600082825260208201905092915050565b7f4d756c746963616c6c333a2076616c7565206d69736d61746368000000000000600082015250565b6000611491601a8361144a565b915061149c8261145b565b602082019050919050565b600060208201905081810360008301526114c081611484565b9050919050565b6000823560016040038336030381126114e3576114e2611358565b5b80830191505092915050565b7f4d756c746963616c6c333a2063616c6c206661696c6564000000000000000000600082015250565b600061152560178361144a565b9150611530826114ef565b602082019050919050565b6000602082019050818103600083015261155481611518565b9050919050565b60008235600160600383360303811261157757611576611358565b5b8083019150509291505056fea264697066735822122020c1bc9aacf8e4a6507193432a895a8e77094f45a1395583f07b24e860ef06cd64736f6c634300080c0033"});var Df,Ux,Hx,ng,Wi,Bf=oe(()=>{Ge();Df=class extends Y{constructor({blockNumber:t,chain:n,contract:r}){super(`Chain "${n.name}" does not support contract "${r.name}".`,{metaMessages:["This could be due to any of the following:",...t&&r.blockCreated&&r.blockCreated>t?[`- The contract "${r.name}" was not deployed until block ${r.blockCreated} (current block ${t}).`]:[`- The chain does not have the contract "${r.name}" configured.`]],name:"ChainDoesNotSupportContract"})}},Ux=class extends Y{constructor({chain:t,currentChainId:n}){super(`The current chain of the wallet (id: ${n}) does not match the target chain for the transaction (id: ${t.id} \u2013 ${t.name}).`,{metaMessages:[`Current Chain ID: ${n}`,`Expected Chain ID: ${t.id} \u2013 ${t.name}`],name:"ChainMismatchError"})}},Hx=class extends Y{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(` +`),{name:"ChainNotFoundError"})}},ng=class extends Y{constructor(){super("No chain was provided to the Client.",{name:"ClientChainNotConfiguredError"})}},Wi=class extends Y{constructor({chainId:t}){super(typeof t=="number"?`Chain ID "${t}" is invalid.`:"Chain ID is invalid.",{name:"InvalidChainIdError"})}}});function Pf(e){let{abi:t,args:n,bytecode:r}=e;if(!n||n.length===0)return r;let o=t.find(i=>"type"in i&&i.type==="constructor");if(!o)throw new bE({docsPath:MI});if(!("inputs"in o))throw new Ab({docsPath:MI});if(!o.inputs||o.inputs.length===0)throw new Ab({docsPath:MI});let s=Do(o.inputs,n);return jt([r,s])}var MI,$x=oe(()=>{er();Sr();Dc();MI="/docs/contract/encodeDeployData"});function di({blockNumber:e,chain:t,contract:n}){let r=t?.contracts?.[n];if(!r)throw new Df({chain:t,contract:{name:n}});if(e&&r.blockCreated&&r.blockCreated>e)throw new Df({blockNumber:e,chain:t,contract:{name:n,blockCreated:r.blockCreated}});return r.address}var Lf=oe(()=>{Bf()});function k0(e,{docsPath:t,...n}){let r=(()=>{let o=gd(e,n);return o instanceof ai?e:o})();return new ad(r,{docsPath:t,...n})}var zx=oe(()=>{Pc();zi();Gb()});function D0(){let e=()=>{},t=()=>{};return{promise:new Promise((r,o)=>{e=r,t=o}),resolve:e,reject:t}}var Vx=oe(()=>{});function B0({fn:e,id:t,shouldSplitBatch:n,wait:r=0,sort:o}){let s=async()=>{let d=c();i();let l=d.map(({args:m})=>m);l.length!==0&&e(l).then(m=>{o&&Array.isArray(m)&&m.sort(o);for(let p=0;p{for(let p=0;pFI.delete(t),a=()=>c().map(({args:d})=>d),c=()=>FI.get(t)||[],u=d=>FI.set(t,[...c(),d]);return{flush:i,async schedule(d){let{promise:l,resolve:m,reject:p}=D0();return n?.([...a(),d])&&s(),c().length>0?(u({args:d,resolve:m,reject:p}),l):(u({args:d,resolve:m,reject:p}),setTimeout(s,r),l)}}}var FI,jx=oe(()=>{Vx();FI=new Map});var Gx,Wx,qx,NW=oe(()=>{Pr();Ge();Hi();Gx=class extends Y{constructor({callbackSelector:t,cause:n,data:r,extraData:o,sender:s,urls:i}){super(n.shortMessage||"An error occurred while fetching for an offchain result.",{cause:n,metaMessages:[...n.metaMessages||[],n.metaMessages?.length?"":[],"Offchain Gateway Call:",i&&[" Gateway URL(s):",...i.map(a=>` ${Ef(a)}`)],` Sender: ${s}`,` Data: ${r}`,` Callback selector: ${t}`,` Extra data: ${o}`].flat(),name:"OffchainLookupError"})}},Wx=class extends Y{constructor({result:t,url:n}){super("Offchain gateway response is malformed. Response data must be a hex value.",{metaMessages:[`Gateway URL: ${Ef(n)}`,`Response: ${at(t)}`],name:"OffchainLookupResponseMalformedError"})}},qx=class extends Y{constructor({sender:t,to:n}){super("Reverted sender address does not match target contract address (`to`).",{metaMessages:[`Contract address: ${n}`,`OffchainLookup sender address: ${t}`],name:"OffchainLookupSenderMismatchError"})}}});function OW(e){let{abi:t,data:n}=e,r=as(n,0,4),o=t.find(s=>s.type==="function"&&r===Da(xr(s)));if(!o)throw new TE(r,{docsPath:"/docs/contract/decodeFunctionData"});return{functionName:o.name,args:"inputs"in o&&o.inputs&&o.inputs.length>0?Bc(o.inputs,as(n,4)):void 0}}var kW=oe(()=>{er();kc();Im();kb();vc()});function HI(e){let{abi:t,errorName:n,args:r}=e,o=t[0];if(n){let c=cs({abi:t,args:r,name:n});if(!c)throw new Eb(n,{docsPath:UI});o=c}if(o.type!=="error")throw new Eb(void 0,{docsPath:UI});let s=xr(o),i=Da(s),a="0x";if(r&&r.length>0){if(!o.inputs)throw new EE(o.name,{docsPath:UI});a=Do(o.inputs,r)}return jt([i,a])}var UI,DW=oe(()=>{er();Sr();Im();Dc();vc();od();UI="/docs/contract/encodeErrorResult"});function BW(e){let{abi:t,functionName:n,result:r}=e,o=t[0];if(n){let i=cs({abi:t,name:n});if(!i)throw new Li(n,{docsPath:$I});o=i}if(o.type!=="function")throw new Li(void 0,{docsPath:$I});if(!o.outputs)throw new Tm(o.name,{docsPath:$I});let s=(()=>{if(o.outputs.length===0)return[];if(o.outputs.length===1)return[r];if(Array.isArray(r))return r;throw new Sm(r)})();return Do(o.outputs,s)}var $I,PW=oe(()=>{er();Dc();od();$I="/docs/contract/encodeFunctionResult"});async function zI(e){let{data:t,ccipRequest:n}=e,{args:[r]}=OW({abi:Lx,data:t}),o=[],s=[];return await Promise.all(r.map(async(i,a)=>{try{s[a]=i.urls.includes(Yc)?await zI({data:i.data,ccipRequest:n}):await n(i),o[a]=!1}catch(c){o[a]=!0,s[a]=rAe(c)}})),BW({abi:Lx,functionName:"query",result:[o,s]})}function rAe(e){return e.name==="HttpRequestError"&&e.status?HI({abi:Lx,errorName:"HttpError",args:[e.status,e.shortMessage]}):HI({abi:[UE],errorName:"Error",args:["shortMessage"in e?e.shortMessage:e.message]})}var Yc,rg=oe(()=>{Eo();HE();kW();DW();PW();Yc="x-batch-gateway:true"});var FW={};rp(FW,{ccipRequest:()=>MW,offchainLookup:()=>sAe,offchainLookupAbiItem:()=>LW,offchainLookupSignature:()=>oAe});async function sAe(e,{blockNumber:t,blockTag:n,data:r,requestOptions:o,to:s}){let{args:i}=VE({data:r,abi:[LW]}),[a,c,u,d,l]=i,{ccipRead:m}=e,p=m&&typeof m?.request=="function"?m.request:MW;try{if(!Lr(s,a))throw new qx({sender:a,to:s});let g=c.includes(Yc)?await zI({data:u,ccipRequest:x=>p({...x,requestOptions:o})}):await p({data:u,requestOptions:o,sender:a,urls:c}),{data:E}=await ms(e,{blockNumber:t,blockTag:n,data:Tr([d,Do([{type:"bytes"},{type:"bytes"}],[g,l])]),requestOptions:o,to:s});return E}catch(g){throw o?.signal?.aborted?Zr(o.signal):us(g)?g:new Gx({callbackSelector:d,cause:g,data:r,extraData:l,sender:a,urls:c})}}async function MW({data:e,requestOptions:t,sender:n,urls:r}){let o=new Error("An unknown error occurred.");for(let s=0;s{Cd();NW();Tf();Hi();z5();Dc();jc();Sr();Pi();rg();Pr();oAe="0x556f1830",LW={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 ms(e,t){let{account:n=e.account,authorizationList:r,batch:o=!!e.batch?.multicall,blockHash:s,blockNumber:i,blockTag:a=e.experimental_blockTag??"latest",requireCanonical:c,accessList:u,blobs:d,blockOverrides:l,code:m,data:p,factory:g,factoryData:E,gas:x,gasPrice:S,maxFeePerBlobGas:N,maxFeePerGas:C,maxPriorityFeePerGas:v,nonce:D,requestOptions:F,to:U,value:V,stateOverride:$,...z}=t,W=n?Pe(n):void 0;if(m&&(g||E))throw new Y("Cannot provide both `code` & `factory`/`factoryData` as parameters.");if(m&&U)throw new Y("Cannot provide both `code` & `to` as parameters.");let X=m&&p,w=g&&E&&U&&p,f=X||w,y=X?zW({code:m,data:p}):w?lAe({data:p,factory:g,factoryData:E,to:U}):p;try{yr(t);let A=Uo({blockHash:s,blockNumber:i,blockTag:a,requireCanonical:c}),T=l?Px(l):void 0,I=Ed($),k=e.chain?.formatters?.transactionRequest?.format,O=(k||vr)({...fs(z,{format:k}),accessList:u,account:W,authorizationList:r,blobs:d,data:y,gas:x,gasPrice:S,maxFeePerBlobGas:N,maxFeePerGas:C,maxPriorityFeePerGas:v,nonce:D,to:f?void 0:U,value:V},"call");if(o&&iAe({request:O})&&!T&&s===void 0)try{let{deployless:ce=!1}=typeof e.batch?.multicall=="object"?e.batch.multicall:{},R=$W(e,{blockNumber:i,deployless:ce});if(!R||!dAe(I,R))return await uAe(e,{...O,blockHash:s,blockNumber:i,blockTag:a,multicallAddress:R,requestOptions:F,requireCanonical:c,rpcStateOverride:I})}catch(ce){if(!(ce instanceof ng)&&!(ce instanceof Df))throw ce}let _=(()=>{let ce=[O,A];return I&&T?[...ce,I,T]:I?[...ce,I]:T?[...ce,{},T]:ce})(),L=await e.request({method:"eth_call",params:_},F);return L==="0x"?{data:void 0}:{data:L}}catch(A){if(F?.signal?.aborted)throw Zr(F.signal);if(us(A))throw A;let T=fAe(A),{offchainLookup:I,offchainLookupSignature:k}=await Promise.resolve().then(()=>(UW(),FW));if(e.ccipRead!==!1&&T?.slice(0,10)===k&&U)return{data:await I(e,{data:T,requestOptions:F,to:U})};throw f&&T?.slice(0,10)==="0x101bb98d"?new rx({factory:g}):k0(A,{...t,account:W,chain:e.chain})}}function iAe({request:e}){let{data:t,to:n,...r}=e;return!(!t||t.startsWith(RW)||!n||Object.values(r).filter(o=>typeof o<"u").length>0)}function cAe(e){if(!e)return"default";let t=HW.get(e);if(t!==void 0)return t;let n=aAe++;return HW.set(e,n),n}async function uAe(e,t){let{batchSize:n=1024,deployless:r=!1,wait:o=0}=typeof e.batch?.multicall=="object"?e.batch.multicall:{},{blockHash:s,blockNumber:i,blockTag:a=e.experimental_blockTag??"latest",requireCanonical:c,data:u,multicallAddress:d,requestOptions:l,rpcStateOverride:m,to:p}=t,g=d!==void 0?d:$W(e,{blockNumber:i,deployless:r}),E=Uo({blockHash:s,blockNumber:i,blockTag:a,requireCanonical:c}),x=typeof E=="string"?E:JSON.stringify(E),S=m?`.${JSON.stringify(m)}`:"",{schedule:N}=B0({id:`${e.uid}.${x}.${cAe(l)}${S}`,wait:o,shouldSplitBatch(D){return D.reduce((U,{data:V})=>U+(V.length-2),0)>n*2},fn:async D=>{let F=D.map(z=>({allowFailure:!0,callData:z.data,target:z.to})),U=Ft({abi:Gi,args:[F],functionName:"aggregate3"}),V={...g===null?{data:zW({code:kf,data:U})}:{to:g,data:U}},$=await e.request({method:"eth_call",params:m?[V,E,m]:[V,E]},l);return Ao({abi:Gi,args:[F],functionName:"aggregate3",data:$||"0x"})}}),[{returnData:C,success:v}]=await N({data:u,to:p});if(!v)throw new La({data:C});return C==="0x"?{data:void 0}:{data:C}}function $W(e,t){let{blockNumber:n,deployless:r}=t;if(r)return null;if(e.chain)return di({blockNumber:n,chain:e.chain,contract:"multicall3"});throw new ng}function dAe(e,t){return e?Object.keys(e).some(n=>Lr(n,t)):!1}function zW(e){let{code:t,data:n}=e;return Pf({abi:yf(["constructor(bytes, bytes)"]),bytecode:Fx,args:[t,n]})}function lAe(e){let{data:t,factory:n,factoryData:r,to:o}=e;return Pf({abi:yf(["constructor(address, bytes, address, bytes)"]),bytecode:IW,args:[o,t,n,r]})}function fAe(e){if(!(e instanceof Y))return;let t=e.walk();return typeof t?.data=="object"?t.data?.data:t.data}var aAe,HW,Cd=oe(()=>{Em();kI();kn();Eo();vW();tg();Ge();Bf();Pc();Hi();Gc();$x();Bo();jc();Sd();Lf();zx();_d();ci();jx();qb();Vi();aAe=0,HW=new WeakMap});var h={};rp(h,{BRAND:()=>XZ,DIRTY:()=>Kd,EMPTY_PATH:()=>CZ,INVALID:()=>Le,NEVER:()=>PX,OK:()=>eo,ParseStatus:()=>Hr,Schema:()=>nt,ZodAny:()=>cu,ZodArray:()=>Ya,ZodBigInt:()=>Zd,ZodBoolean:()=>Xd,ZodBranded:()=>fh,ZodCatch:()=>cl,ZodDate:()=>Jd,ZodDefault:()=>al,ZodDiscriminatedUnion:()=>Pg,ZodEffects:()=>Ls,ZodEnum:()=>sl,ZodError:()=>Vo,ZodFirstPartyTypeKind:()=>He,ZodFunction:()=>Mg,ZodIntersection:()=>nl,ZodIssueCode:()=>fe,ZodLazy:()=>rl,ZodLiteral:()=>ol,ZodMap:()=>up,ZodNaN:()=>lp,ZodNativeEnum:()=>il,ZodNever:()=>Ai,ZodNull:()=>el,ZodNullable:()=>Xi,ZodNumber:()=>Yd,ZodObject:()=>jo,ZodOptional:()=>Bs,ZodParsedType:()=>we,ZodPipeline:()=>ph,ZodPromise:()=>uu,ZodReadonly:()=>ul,ZodRecord:()=>Lg,ZodSchema:()=>nt,ZodSet:()=>dp,ZodString:()=>au,ZodSymbol:()=>ap,ZodTransformer:()=>Ls,ZodTuple:()=>Zi,ZodType:()=>nt,ZodUndefined:()=>Qd,ZodUnion:()=>tl,ZodUnknown:()=>Ka,ZodVoid:()=>cp,addIssueToContext:()=>Ee,any:()=>iX,array:()=>dX,bigint:()=>tX,boolean:()=>TO,coerce:()=>BX,custom:()=>EO,date:()=>nX,datetimeRegex:()=>_O,defaultErrorMap:()=>Wa,discriminatedUnion:()=>mX,effect:()=>RX,enum:()=>wX,function:()=>AX,getErrorMap:()=>op,getParsedType:()=>Yi,instanceof:()=>QZ,intersection:()=>hX,isAborted:()=>Dg,isAsync:()=>sp,isDirty:()=>Bg,isValid:()=>iu,late:()=>JZ,lazy:()=>EX,literal:()=>xX,makeIssue:()=>lh,map:()=>gX,nan:()=>eX,nativeEnum:()=>TX,never:()=>cX,null:()=>sX,nullable:()=>IX,number:()=>wO,object:()=>lX,objectUtil:()=>j2,oboolean:()=>DX,onumber:()=>kX,optional:()=>vX,ostring:()=>OX,pipeline:()=>NX,preprocess:()=>CX,promise:()=>SX,quotelessJson:()=>RZ,record:()=>bX,set:()=>_X,setErrorMap:()=>IZ,strictObject:()=>fX,string:()=>xO,symbol:()=>rX,transformer:()=>RX,tuple:()=>yX,undefined:()=>oX,union:()=>pX,unknown:()=>aX,util:()=>mt,void:()=>uX});var mt;(function(e){e.assertEqual=o=>{};function t(o){}e.assertIs=t;function n(o){throw new Error}e.assertNever=n,e.arrayToEnum=o=>{let s={};for(let i of o)s[i]=i;return s},e.getValidEnumValues=o=>{let s=e.objectKeys(o).filter(a=>typeof o[o[a]]!="number"),i={};for(let a of s)i[a]=o[a];return e.objectValues(i)},e.objectValues=o=>e.objectKeys(o).map(function(s){return o[s]}),e.objectKeys=typeof Object.keys=="function"?o=>Object.keys(o):o=>{let s=[];for(let i in o)Object.prototype.hasOwnProperty.call(o,i)&&s.push(i);return s},e.find=(o,s)=>{for(let i of o)if(s(i))return i},e.isInteger=typeof Number.isInteger=="function"?o=>Number.isInteger(o):o=>typeof o=="number"&&Number.isFinite(o)&&Math.floor(o)===o;function r(o,s=" | "){return o.map(i=>typeof i=="string"?`'${i}'`:i).join(s)}e.joinValues=r,e.jsonStringifyReplacer=(o,s)=>typeof s=="bigint"?s.toString():s})(mt||(mt={}));var j2;(function(e){e.mergeShapes=(t,n)=>({...t,...n})})(j2||(j2={}));var we=mt.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),Yi=e=>{switch(typeof e){case"undefined":return we.undefined;case"string":return we.string;case"number":return Number.isNaN(e)?we.nan:we.number;case"boolean":return we.boolean;case"function":return we.function;case"bigint":return we.bigint;case"symbol":return we.symbol;case"object":return Array.isArray(e)?we.array:e===null?we.null:e.then&&typeof e.then=="function"&&e.catch&&typeof e.catch=="function"?we.promise:typeof Map<"u"&&e instanceof Map?we.map:typeof Set<"u"&&e instanceof Set?we.set:typeof Date<"u"&&e instanceof Date?we.date:we.object;default:return we.unknown}};var fe=mt.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),RZ=e=>JSON.stringify(e,null,2).replace(/"([^"]+)":/g,"$1:"),Vo=class e extends Error{get errors(){return this.issues}constructor(t){super(),this.issues=[],this.addIssue=r=>{this.issues=[...this.issues,r]},this.addIssues=(r=[])=>{this.issues=[...this.issues,...r]};let n=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,n):this.__proto__=n,this.name="ZodError",this.issues=t}format(t){let n=t||function(s){return s.message},r={_errors:[]},o=s=>{for(let i of s.issues)if(i.code==="invalid_union")i.unionErrors.map(o);else if(i.code==="invalid_return_type")o(i.returnTypeError);else if(i.code==="invalid_arguments")o(i.argumentsError);else if(i.path.length===0)r._errors.push(n(i));else{let a=r,c=0;for(;cn.message){let n={},r=[];for(let o of this.issues)o.path.length>0?(n[o.path[0]]=n[o.path[0]]||[],n[o.path[0]].push(t(o))):r.push(t(o));return{formErrors:r,fieldErrors:n}}get formErrors(){return this.flatten()}};Vo.create=e=>new Vo(e);var vZ=(e,t)=>{let n;switch(e.code){case fe.invalid_type:e.received===we.undefined?n="Required":n=`Expected ${e.expected}, received ${e.received}`;break;case fe.invalid_literal:n=`Invalid literal value, expected ${JSON.stringify(e.expected,mt.jsonStringifyReplacer)}`;break;case fe.unrecognized_keys:n=`Unrecognized key(s) in object: ${mt.joinValues(e.keys,", ")}`;break;case fe.invalid_union:n="Invalid input";break;case fe.invalid_union_discriminator:n=`Invalid discriminator value. Expected ${mt.joinValues(e.options)}`;break;case fe.invalid_enum_value:n=`Invalid enum value. Expected ${mt.joinValues(e.options)}, received '${e.received}'`;break;case fe.invalid_arguments:n="Invalid function arguments";break;case fe.invalid_return_type:n="Invalid function return type";break;case fe.invalid_date:n="Invalid date";break;case fe.invalid_string:typeof e.validation=="object"?"includes"in e.validation?(n=`Invalid input: must include "${e.validation.includes}"`,typeof e.validation.position=="number"&&(n=`${n} at one or more positions greater than or equal to ${e.validation.position}`)):"startsWith"in e.validation?n=`Invalid input: must start with "${e.validation.startsWith}"`:"endsWith"in e.validation?n=`Invalid input: must end with "${e.validation.endsWith}"`:mt.assertNever(e.validation):e.validation!=="regex"?n=`Invalid ${e.validation}`:n="Invalid";break;case fe.too_small:e.type==="array"?n=`Array must contain ${e.exact?"exactly":e.inclusive?"at least":"more than"} ${e.minimum} element(s)`:e.type==="string"?n=`String must contain ${e.exact?"exactly":e.inclusive?"at least":"over"} ${e.minimum} character(s)`:e.type==="number"?n=`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:e.type==="date"?n=`Date must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(e.minimum))}`:n="Invalid input";break;case fe.too_big:e.type==="array"?n=`Array must contain ${e.exact?"exactly":e.inclusive?"at most":"less than"} ${e.maximum} element(s)`:e.type==="string"?n=`String must contain ${e.exact?"exactly":e.inclusive?"at most":"under"} ${e.maximum} character(s)`:e.type==="number"?n=`Number must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:e.type==="bigint"?n=`BigInt must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:e.type==="date"?n=`Date must be ${e.exact?"exactly":e.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(e.maximum))}`:n="Invalid input";break;case fe.custom:n="Invalid input";break;case fe.invalid_intersection_types:n="Intersection results could not be merged";break;case fe.not_multiple_of:n=`Number must be a multiple of ${e.multipleOf}`;break;case fe.not_finite:n="Number must be finite";break;default:n=t.defaultError,mt.assertNever(e)}return{message:n}},Wa=vZ;var mO=Wa;function IZ(e){mO=e}function op(){return mO}var lh=e=>{let{data:t,path:n,errorMaps:r,issueData:o}=e,s=[...n,...o.path||[]],i={...o,path:s};if(o.message!==void 0)return{...o,path:s,message:o.message};let a="",c=r.filter(u=>!!u).slice().reverse();for(let u of c)a=u(i,{data:t,defaultError:a}).message;return{...o,path:s,message:a}},CZ=[];function Ee(e,t){let n=op(),r=lh({issueData:t,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,n,n===Wa?void 0:Wa].filter(o=>!!o)});e.common.issues.push(r)}var Hr=class e{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(t,n){let r=[];for(let o of n){if(o.status==="aborted")return Le;o.status==="dirty"&&t.dirty(),r.push(o.value)}return{status:t.value,value:r}}static async mergeObjectAsync(t,n){let r=[];for(let o of n){let s=await o.key,i=await o.value;r.push({key:s,value:i})}return e.mergeObjectSync(t,r)}static mergeObjectSync(t,n){let r={};for(let o of n){let{key:s,value:i}=o;if(s.status==="aborted"||i.status==="aborted")return Le;s.status==="dirty"&&t.dirty(),i.status==="dirty"&&t.dirty(),s.value!=="__proto__"&&(typeof i.value<"u"||o.alwaysSet)&&(r[s.value]=i.value)}return{status:t.value,value:r}}},Le=Object.freeze({status:"aborted"}),Kd=e=>({status:"dirty",value:e}),eo=e=>({status:"valid",value:e}),Dg=e=>e.status==="aborted",Bg=e=>e.status==="dirty",iu=e=>e.status==="valid",sp=e=>typeof Promise<"u"&&e instanceof Promise;var Se;(function(e){e.errToObj=t=>typeof t=="string"?{message:t}:t||{},e.toString=t=>typeof t=="string"?t:t?.message})(Se||(Se={}));var Ps=class{constructor(t,n,r,o){this._cachedPath=[],this.parent=t,this.data=n,this._path=r,this._key=o}get path(){return this._cachedPath.length||(Array.isArray(this._key)?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}},hO=(e,t)=>{if(iu(t))return{success:!0,data:t.value};if(!e.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let n=new Vo(e.common.issues);return this._error=n,this._error}}};function Qe(e){if(!e)return{};let{errorMap:t,invalid_type_error:n,required_error:r,description:o}=e;if(t&&(n||r))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return t?{errorMap:t,description:o}:{errorMap:(i,a)=>{let{message:c}=e;return i.code==="invalid_enum_value"?{message:c??a.defaultError}:typeof a.data>"u"?{message:c??r??a.defaultError}:i.code!=="invalid_type"?{message:a.defaultError}:{message:c??n??a.defaultError}},description:o}}var nt=class{get description(){return this._def.description}_getType(t){return Yi(t.data)}_getOrReturnCtx(t,n){return n||{common:t.parent.common,data:t.data,parsedType:Yi(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}_processInputParams(t){return{status:new Hr,ctx:{common:t.parent.common,data:t.data,parsedType:Yi(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}}_parseSync(t){let n=this._parse(t);if(sp(n))throw new Error("Synchronous parse encountered promise.");return n}_parseAsync(t){let n=this._parse(t);return Promise.resolve(n)}parse(t,n){let r=this.safeParse(t,n);if(r.success)return r.data;throw r.error}safeParse(t,n){let r={common:{issues:[],async:n?.async??!1,contextualErrorMap:n?.errorMap},path:n?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:Yi(t)},o=this._parseSync({data:t,path:r.path,parent:r});return hO(r,o)}"~validate"(t){let n={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:Yi(t)};if(!this["~standard"].async)try{let r=this._parseSync({data:t,path:[],parent:n});return iu(r)?{value:r.value}:{issues:n.common.issues}}catch(r){r?.message?.toLowerCase()?.includes("encountered")&&(this["~standard"].async=!0),n.common={issues:[],async:!0}}return this._parseAsync({data:t,path:[],parent:n}).then(r=>iu(r)?{value:r.value}:{issues:n.common.issues})}async parseAsync(t,n){let r=await this.safeParseAsync(t,n);if(r.success)return r.data;throw r.error}async safeParseAsync(t,n){let r={common:{issues:[],contextualErrorMap:n?.errorMap,async:!0},path:n?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:Yi(t)},o=this._parse({data:t,path:r.path,parent:r}),s=await(sp(o)?o:Promise.resolve(o));return hO(r,s)}refine(t,n){let r=o=>typeof n=="string"||typeof n>"u"?{message:n}:typeof n=="function"?n(o):n;return this._refinement((o,s)=>{let i=t(o),a=()=>s.addIssue({code:fe.custom,...r(o)});return typeof Promise<"u"&&i instanceof Promise?i.then(c=>c?!0:(a(),!1)):i?!0:(a(),!1)})}refinement(t,n){return this._refinement((r,o)=>t(r)?!0:(o.addIssue(typeof n=="function"?n(r,o):n),!1))}_refinement(t){return new Ls({schema:this,typeName:He.ZodEffects,effect:{type:"refinement",refinement:t}})}superRefine(t){return this._refinement(t)}constructor(t){this.spa=this.safeParseAsync,this._def=t,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:n=>this["~validate"](n)}}optional(){return Bs.create(this,this._def)}nullable(){return Xi.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return Ya.create(this)}promise(){return uu.create(this,this._def)}or(t){return tl.create([this,t],this._def)}and(t){return nl.create(this,t,this._def)}transform(t){return new Ls({...Qe(this._def),schema:this,typeName:He.ZodEffects,effect:{type:"transform",transform:t}})}default(t){let n=typeof t=="function"?t:()=>t;return new al({...Qe(this._def),innerType:this,defaultValue:n,typeName:He.ZodDefault})}brand(){return new fh({typeName:He.ZodBranded,type:this,...Qe(this._def)})}catch(t){let n=typeof t=="function"?t:()=>t;return new cl({...Qe(this._def),innerType:this,catchValue:n,typeName:He.ZodCatch})}describe(t){let n=this.constructor;return new n({...this._def,description:t})}pipe(t){return ph.create(this,t)}readonly(){return ul.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}},NZ=/^c[^\s-]{8,}$/i,OZ=/^[0-9a-z]+$/,kZ=/^[0-9A-HJKMNP-TV-Z]{26}$/i,DZ=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,BZ=/^[a-z0-9_-]{21}$/i,PZ=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,LZ=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,MZ=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,FZ="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",G2,UZ=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,HZ=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,$Z=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,zZ=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,VZ=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,jZ=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,bO="((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))",GZ=new RegExp(`^${bO}$`);function gO(e){let t="[0-5]\\d";e.precision?t=`${t}\\.\\d{${e.precision}}`:e.precision==null&&(t=`${t}(\\.\\d+)?`);let n=e.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${t})${n}`}function WZ(e){return new RegExp(`^${gO(e)}$`)}function _O(e){let t=`${bO}T${gO(e)}`,n=[];return n.push(e.local?"Z?":"Z"),e.offset&&n.push("([+-]\\d{2}:?\\d{2})"),t=`${t}(${n.join("|")})`,new RegExp(`^${t}$`)}function qZ(e,t){return!!((t==="v4"||!t)&&UZ.test(e)||(t==="v6"||!t)&&$Z.test(e))}function KZ(e,t){if(!PZ.test(e))return!1;try{let[n]=e.split("."),r=n.replace(/-/g,"+").replace(/_/g,"/").padEnd(n.length+(4-n.length%4)%4,"="),o=JSON.parse(atob(r));return!(typeof o!="object"||o===null||"typ"in o&&o?.typ!=="JWT"||!o.alg||t&&o.alg!==t)}catch{return!1}}function YZ(e,t){return!!((t==="v4"||!t)&&HZ.test(e)||(t==="v6"||!t)&&zZ.test(e))}var au=class e extends nt{_parse(t){if(this._def.coerce&&(t.data=String(t.data)),this._getType(t)!==we.string){let s=this._getOrReturnCtx(t);return Ee(s,{code:fe.invalid_type,expected:we.string,received:s.parsedType}),Le}let r=new Hr,o;for(let s of this._def.checks)if(s.kind==="min")t.data.lengths.value&&(o=this._getOrReturnCtx(t,o),Ee(o,{code:fe.too_big,maximum:s.value,type:"string",inclusive:!0,exact:!1,message:s.message}),r.dirty());else if(s.kind==="length"){let i=t.data.length>s.value,a=t.data.lengtht.test(o),{validation:n,code:fe.invalid_string,...Se.errToObj(r)})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}email(t){return this._addCheck({kind:"email",...Se.errToObj(t)})}url(t){return this._addCheck({kind:"url",...Se.errToObj(t)})}emoji(t){return this._addCheck({kind:"emoji",...Se.errToObj(t)})}uuid(t){return this._addCheck({kind:"uuid",...Se.errToObj(t)})}nanoid(t){return this._addCheck({kind:"nanoid",...Se.errToObj(t)})}cuid(t){return this._addCheck({kind:"cuid",...Se.errToObj(t)})}cuid2(t){return this._addCheck({kind:"cuid2",...Se.errToObj(t)})}ulid(t){return this._addCheck({kind:"ulid",...Se.errToObj(t)})}base64(t){return this._addCheck({kind:"base64",...Se.errToObj(t)})}base64url(t){return this._addCheck({kind:"base64url",...Se.errToObj(t)})}jwt(t){return this._addCheck({kind:"jwt",...Se.errToObj(t)})}ip(t){return this._addCheck({kind:"ip",...Se.errToObj(t)})}cidr(t){return this._addCheck({kind:"cidr",...Se.errToObj(t)})}datetime(t){return typeof t=="string"?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:t}):this._addCheck({kind:"datetime",precision:typeof t?.precision>"u"?null:t?.precision,offset:t?.offset??!1,local:t?.local??!1,...Se.errToObj(t?.message)})}date(t){return this._addCheck({kind:"date",message:t})}time(t){return typeof t=="string"?this._addCheck({kind:"time",precision:null,message:t}):this._addCheck({kind:"time",precision:typeof t?.precision>"u"?null:t?.precision,...Se.errToObj(t?.message)})}duration(t){return this._addCheck({kind:"duration",...Se.errToObj(t)})}regex(t,n){return this._addCheck({kind:"regex",regex:t,...Se.errToObj(n)})}includes(t,n){return this._addCheck({kind:"includes",value:t,position:n?.position,...Se.errToObj(n?.message)})}startsWith(t,n){return this._addCheck({kind:"startsWith",value:t,...Se.errToObj(n)})}endsWith(t,n){return this._addCheck({kind:"endsWith",value:t,...Se.errToObj(n)})}min(t,n){return this._addCheck({kind:"min",value:t,...Se.errToObj(n)})}max(t,n){return this._addCheck({kind:"max",value:t,...Se.errToObj(n)})}length(t,n){return this._addCheck({kind:"length",value:t,...Se.errToObj(n)})}nonempty(t){return this.min(1,Se.errToObj(t))}trim(){return new e({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new e({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new e({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(t=>t.kind==="datetime")}get isDate(){return!!this._def.checks.find(t=>t.kind==="date")}get isTime(){return!!this._def.checks.find(t=>t.kind==="time")}get isDuration(){return!!this._def.checks.find(t=>t.kind==="duration")}get isEmail(){return!!this._def.checks.find(t=>t.kind==="email")}get isURL(){return!!this._def.checks.find(t=>t.kind==="url")}get isEmoji(){return!!this._def.checks.find(t=>t.kind==="emoji")}get isUUID(){return!!this._def.checks.find(t=>t.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(t=>t.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(t=>t.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(t=>t.kind==="cuid2")}get isULID(){return!!this._def.checks.find(t=>t.kind==="ulid")}get isIP(){return!!this._def.checks.find(t=>t.kind==="ip")}get isCIDR(){return!!this._def.checks.find(t=>t.kind==="cidr")}get isBase64(){return!!this._def.checks.find(t=>t.kind==="base64")}get isBase64url(){return!!this._def.checks.find(t=>t.kind==="base64url")}get minLength(){let t=null;for(let n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t}get maxLength(){let t=null;for(let n of this._def.checks)n.kind==="max"&&(t===null||n.valuenew au({checks:[],typeName:He.ZodString,coerce:e?.coerce??!1,...Qe(e)});function ZZ(e,t){let n=(e.toString().split(".")[1]||"").length,r=(t.toString().split(".")[1]||"").length,o=n>r?n:r,s=Number.parseInt(e.toFixed(o).replace(".","")),i=Number.parseInt(t.toFixed(o).replace(".",""));return s%i/10**o}var Yd=class e extends nt{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(t){if(this._def.coerce&&(t.data=Number(t.data)),this._getType(t)!==we.number){let s=this._getOrReturnCtx(t);return Ee(s,{code:fe.invalid_type,expected:we.number,received:s.parsedType}),Le}let r,o=new Hr;for(let s of this._def.checks)s.kind==="int"?mt.isInteger(t.data)||(r=this._getOrReturnCtx(t,r),Ee(r,{code:fe.invalid_type,expected:"integer",received:"float",message:s.message}),o.dirty()):s.kind==="min"?(s.inclusive?t.datas.value:t.data>=s.value)&&(r=this._getOrReturnCtx(t,r),Ee(r,{code:fe.too_big,maximum:s.value,type:"number",inclusive:s.inclusive,exact:!1,message:s.message}),o.dirty()):s.kind==="multipleOf"?ZZ(t.data,s.value)!==0&&(r=this._getOrReturnCtx(t,r),Ee(r,{code:fe.not_multiple_of,multipleOf:s.value,message:s.message}),o.dirty()):s.kind==="finite"?Number.isFinite(t.data)||(r=this._getOrReturnCtx(t,r),Ee(r,{code:fe.not_finite,message:s.message}),o.dirty()):mt.assertNever(s);return{status:o.value,value:t.data}}gte(t,n){return this.setLimit("min",t,!0,Se.toString(n))}gt(t,n){return this.setLimit("min",t,!1,Se.toString(n))}lte(t,n){return this.setLimit("max",t,!0,Se.toString(n))}lt(t,n){return this.setLimit("max",t,!1,Se.toString(n))}setLimit(t,n,r,o){return new e({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:Se.toString(o)}]})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}int(t){return this._addCheck({kind:"int",message:Se.toString(t)})}positive(t){return this._addCheck({kind:"min",value:0,inclusive:!1,message:Se.toString(t)})}negative(t){return this._addCheck({kind:"max",value:0,inclusive:!1,message:Se.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:0,inclusive:!0,message:Se.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:0,inclusive:!0,message:Se.toString(t)})}multipleOf(t,n){return this._addCheck({kind:"multipleOf",value:t,message:Se.toString(n)})}finite(t){return this._addCheck({kind:"finite",message:Se.toString(t)})}safe(t){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:Se.toString(t)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:Se.toString(t)})}get minValue(){let t=null;for(let n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t}get maxValue(){let t=null;for(let n of this._def.checks)n.kind==="max"&&(t===null||n.valuet.kind==="int"||t.kind==="multipleOf"&&mt.isInteger(t.value))}get isFinite(){let t=null,n=null;for(let r of this._def.checks){if(r.kind==="finite"||r.kind==="int"||r.kind==="multipleOf")return!0;r.kind==="min"?(n===null||r.value>n)&&(n=r.value):r.kind==="max"&&(t===null||r.valuenew Yd({checks:[],typeName:He.ZodNumber,coerce:e?.coerce||!1,...Qe(e)});var Zd=class e extends nt{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(t){if(this._def.coerce)try{t.data=BigInt(t.data)}catch{return this._getInvalidInput(t)}if(this._getType(t)!==we.bigint)return this._getInvalidInput(t);let r,o=new Hr;for(let s of this._def.checks)s.kind==="min"?(s.inclusive?t.datas.value:t.data>=s.value)&&(r=this._getOrReturnCtx(t,r),Ee(r,{code:fe.too_big,type:"bigint",maximum:s.value,inclusive:s.inclusive,message:s.message}),o.dirty()):s.kind==="multipleOf"?t.data%s.value!==BigInt(0)&&(r=this._getOrReturnCtx(t,r),Ee(r,{code:fe.not_multiple_of,multipleOf:s.value,message:s.message}),o.dirty()):mt.assertNever(s);return{status:o.value,value:t.data}}_getInvalidInput(t){let n=this._getOrReturnCtx(t);return Ee(n,{code:fe.invalid_type,expected:we.bigint,received:n.parsedType}),Le}gte(t,n){return this.setLimit("min",t,!0,Se.toString(n))}gt(t,n){return this.setLimit("min",t,!1,Se.toString(n))}lte(t,n){return this.setLimit("max",t,!0,Se.toString(n))}lt(t,n){return this.setLimit("max",t,!1,Se.toString(n))}setLimit(t,n,r,o){return new e({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:Se.toString(o)}]})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}positive(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:Se.toString(t)})}negative(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:Se.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:Se.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:Se.toString(t)})}multipleOf(t,n){return this._addCheck({kind:"multipleOf",value:t,message:Se.toString(n)})}get minValue(){let t=null;for(let n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t}get maxValue(){let t=null;for(let n of this._def.checks)n.kind==="max"&&(t===null||n.valuenew Zd({checks:[],typeName:He.ZodBigInt,coerce:e?.coerce??!1,...Qe(e)});var Xd=class extends nt{_parse(t){if(this._def.coerce&&(t.data=!!t.data),this._getType(t)!==we.boolean){let r=this._getOrReturnCtx(t);return Ee(r,{code:fe.invalid_type,expected:we.boolean,received:r.parsedType}),Le}return eo(t.data)}};Xd.create=e=>new Xd({typeName:He.ZodBoolean,coerce:e?.coerce||!1,...Qe(e)});var Jd=class e extends nt{_parse(t){if(this._def.coerce&&(t.data=new Date(t.data)),this._getType(t)!==we.date){let s=this._getOrReturnCtx(t);return Ee(s,{code:fe.invalid_type,expected:we.date,received:s.parsedType}),Le}if(Number.isNaN(t.data.getTime())){let s=this._getOrReturnCtx(t);return Ee(s,{code:fe.invalid_date}),Le}let r=new Hr,o;for(let s of this._def.checks)s.kind==="min"?t.data.getTime()s.value&&(o=this._getOrReturnCtx(t,o),Ee(o,{code:fe.too_big,message:s.message,inclusive:!0,exact:!1,maximum:s.value,type:"date"}),r.dirty()):mt.assertNever(s);return{status:r.value,value:new Date(t.data.getTime())}}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}min(t,n){return this._addCheck({kind:"min",value:t.getTime(),message:Se.toString(n)})}max(t,n){return this._addCheck({kind:"max",value:t.getTime(),message:Se.toString(n)})}get minDate(){let t=null;for(let n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t!=null?new Date(t):null}get maxDate(){let t=null;for(let n of this._def.checks)n.kind==="max"&&(t===null||n.valuenew Jd({checks:[],coerce:e?.coerce||!1,typeName:He.ZodDate,...Qe(e)});var ap=class extends nt{_parse(t){if(this._getType(t)!==we.symbol){let r=this._getOrReturnCtx(t);return Ee(r,{code:fe.invalid_type,expected:we.symbol,received:r.parsedType}),Le}return eo(t.data)}};ap.create=e=>new ap({typeName:He.ZodSymbol,...Qe(e)});var Qd=class extends nt{_parse(t){if(this._getType(t)!==we.undefined){let r=this._getOrReturnCtx(t);return Ee(r,{code:fe.invalid_type,expected:we.undefined,received:r.parsedType}),Le}return eo(t.data)}};Qd.create=e=>new Qd({typeName:He.ZodUndefined,...Qe(e)});var el=class extends nt{_parse(t){if(this._getType(t)!==we.null){let r=this._getOrReturnCtx(t);return Ee(r,{code:fe.invalid_type,expected:we.null,received:r.parsedType}),Le}return eo(t.data)}};el.create=e=>new el({typeName:He.ZodNull,...Qe(e)});var cu=class extends nt{constructor(){super(...arguments),this._any=!0}_parse(t){return eo(t.data)}};cu.create=e=>new cu({typeName:He.ZodAny,...Qe(e)});var Ka=class extends nt{constructor(){super(...arguments),this._unknown=!0}_parse(t){return eo(t.data)}};Ka.create=e=>new Ka({typeName:He.ZodUnknown,...Qe(e)});var Ai=class extends nt{_parse(t){let n=this._getOrReturnCtx(t);return Ee(n,{code:fe.invalid_type,expected:we.never,received:n.parsedType}),Le}};Ai.create=e=>new Ai({typeName:He.ZodNever,...Qe(e)});var cp=class extends nt{_parse(t){if(this._getType(t)!==we.undefined){let r=this._getOrReturnCtx(t);return Ee(r,{code:fe.invalid_type,expected:we.void,received:r.parsedType}),Le}return eo(t.data)}};cp.create=e=>new cp({typeName:He.ZodVoid,...Qe(e)});var Ya=class e extends nt{_parse(t){let{ctx:n,status:r}=this._processInputParams(t),o=this._def;if(n.parsedType!==we.array)return Ee(n,{code:fe.invalid_type,expected:we.array,received:n.parsedType}),Le;if(o.exactLength!==null){let i=n.data.length>o.exactLength.value,a=n.data.lengtho.maxLength.value&&(Ee(n,{code:fe.too_big,maximum:o.maxLength.value,type:"array",inclusive:!0,exact:!1,message:o.maxLength.message}),r.dirty()),n.common.async)return Promise.all([...n.data].map((i,a)=>o.type._parseAsync(new Ps(n,i,n.path,a)))).then(i=>Hr.mergeArray(r,i));let s=[...n.data].map((i,a)=>o.type._parseSync(new Ps(n,i,n.path,a)));return Hr.mergeArray(r,s)}get element(){return this._def.type}min(t,n){return new e({...this._def,minLength:{value:t,message:Se.toString(n)}})}max(t,n){return new e({...this._def,maxLength:{value:t,message:Se.toString(n)}})}length(t,n){return new e({...this._def,exactLength:{value:t,message:Se.toString(n)}})}nonempty(t){return this.min(1,t)}};Ya.create=(e,t)=>new Ya({type:e,minLength:null,maxLength:null,exactLength:null,typeName:He.ZodArray,...Qe(t)});function ip(e){if(e instanceof jo){let t={};for(let n in e.shape){let r=e.shape[n];t[n]=Bs.create(ip(r))}return new jo({...e._def,shape:()=>t})}else return e instanceof Ya?new Ya({...e._def,type:ip(e.element)}):e instanceof Bs?Bs.create(ip(e.unwrap())):e instanceof Xi?Xi.create(ip(e.unwrap())):e instanceof Zi?Zi.create(e.items.map(t=>ip(t))):e}var jo=class e extends nt{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let t=this._def.shape(),n=mt.objectKeys(t);return this._cached={shape:t,keys:n},this._cached}_parse(t){if(this._getType(t)!==we.object){let u=this._getOrReturnCtx(t);return Ee(u,{code:fe.invalid_type,expected:we.object,received:u.parsedType}),Le}let{status:r,ctx:o}=this._processInputParams(t),{shape:s,keys:i}=this._getCached(),a=[];if(!(this._def.catchall instanceof Ai&&this._def.unknownKeys==="strip"))for(let u in o.data)i.includes(u)||a.push(u);let c=[];for(let u of i){let d=s[u],l=o.data[u];c.push({key:{status:"valid",value:u},value:d._parse(new Ps(o,l,o.path,u)),alwaysSet:u in o.data})}if(this._def.catchall instanceof Ai){let u=this._def.unknownKeys;if(u==="passthrough")for(let d of a)c.push({key:{status:"valid",value:d},value:{status:"valid",value:o.data[d]}});else if(u==="strict")a.length>0&&(Ee(o,{code:fe.unrecognized_keys,keys:a}),r.dirty());else if(u!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{let u=this._def.catchall;for(let d of a){let l=o.data[d];c.push({key:{status:"valid",value:d},value:u._parse(new Ps(o,l,o.path,d)),alwaysSet:d in o.data})}}return o.common.async?Promise.resolve().then(async()=>{let u=[];for(let d of c){let l=await d.key,m=await d.value;u.push({key:l,value:m,alwaysSet:d.alwaysSet})}return u}).then(u=>Hr.mergeObjectSync(r,u)):Hr.mergeObjectSync(r,c)}get shape(){return this._def.shape()}strict(t){return Se.errToObj,new e({...this._def,unknownKeys:"strict",...t!==void 0?{errorMap:(n,r)=>{let o=this._def.errorMap?.(n,r).message??r.defaultError;return n.code==="unrecognized_keys"?{message:Se.errToObj(t).message??o}:{message:o}}}:{}})}strip(){return new e({...this._def,unknownKeys:"strip"})}passthrough(){return new e({...this._def,unknownKeys:"passthrough"})}extend(t){return new e({...this._def,shape:()=>({...this._def.shape(),...t})})}merge(t){return new e({unknownKeys:t._def.unknownKeys,catchall:t._def.catchall,shape:()=>({...this._def.shape(),...t._def.shape()}),typeName:He.ZodObject})}setKey(t,n){return this.augment({[t]:n})}catchall(t){return new e({...this._def,catchall:t})}pick(t){let n={};for(let r of mt.objectKeys(t))t[r]&&this.shape[r]&&(n[r]=this.shape[r]);return new e({...this._def,shape:()=>n})}omit(t){let n={};for(let r of mt.objectKeys(this.shape))t[r]||(n[r]=this.shape[r]);return new e({...this._def,shape:()=>n})}deepPartial(){return ip(this)}partial(t){let n={};for(let r of mt.objectKeys(this.shape)){let o=this.shape[r];t&&!t[r]?n[r]=o:n[r]=o.optional()}return new e({...this._def,shape:()=>n})}required(t){let n={};for(let r of mt.objectKeys(this.shape))if(t&&!t[r])n[r]=this.shape[r];else{let s=this.shape[r];for(;s instanceof Bs;)s=s._def.innerType;n[r]=s}return new e({...this._def,shape:()=>n})}keyof(){return AO(mt.objectKeys(this.shape))}};jo.create=(e,t)=>new jo({shape:()=>e,unknownKeys:"strip",catchall:Ai.create(),typeName:He.ZodObject,...Qe(t)});jo.strictCreate=(e,t)=>new jo({shape:()=>e,unknownKeys:"strict",catchall:Ai.create(),typeName:He.ZodObject,...Qe(t)});jo.lazycreate=(e,t)=>new jo({shape:e,unknownKeys:"strip",catchall:Ai.create(),typeName:He.ZodObject,...Qe(t)});var tl=class extends nt{_parse(t){let{ctx:n}=this._processInputParams(t),r=this._def.options;function o(s){for(let a of s)if(a.result.status==="valid")return a.result;for(let a of s)if(a.result.status==="dirty")return n.common.issues.push(...a.ctx.common.issues),a.result;let i=s.map(a=>new Vo(a.ctx.common.issues));return Ee(n,{code:fe.invalid_union,unionErrors:i}),Le}if(n.common.async)return Promise.all(r.map(async s=>{let i={...n,common:{...n.common,issues:[]},parent:null};return{result:await s._parseAsync({data:n.data,path:n.path,parent:i}),ctx:i}})).then(o);{let s,i=[];for(let c of r){let u={...n,common:{...n.common,issues:[]},parent:null},d=c._parseSync({data:n.data,path:n.path,parent:u});if(d.status==="valid")return d;d.status==="dirty"&&!s&&(s={result:d,ctx:u}),u.common.issues.length&&i.push(u.common.issues)}if(s)return n.common.issues.push(...s.ctx.common.issues),s.result;let a=i.map(c=>new Vo(c));return Ee(n,{code:fe.invalid_union,unionErrors:a}),Le}}get options(){return this._def.options}};tl.create=(e,t)=>new tl({options:e,typeName:He.ZodUnion,...Qe(t)});var qa=e=>e instanceof rl?qa(e.schema):e instanceof Ls?qa(e.innerType()):e instanceof ol?[e.value]:e instanceof sl?e.options:e instanceof il?mt.objectValues(e.enum):e instanceof al?qa(e._def.innerType):e instanceof Qd?[void 0]:e instanceof el?[null]:e instanceof Bs?[void 0,...qa(e.unwrap())]:e instanceof Xi?[null,...qa(e.unwrap())]:e instanceof fh||e instanceof ul?qa(e.unwrap()):e instanceof cl?qa(e._def.innerType):[],Pg=class e extends nt{_parse(t){let{ctx:n}=this._processInputParams(t);if(n.parsedType!==we.object)return Ee(n,{code:fe.invalid_type,expected:we.object,received:n.parsedType}),Le;let r=this.discriminator,o=n.data[r],s=this.optionsMap.get(o);return s?n.common.async?s._parseAsync({data:n.data,path:n.path,parent:n}):s._parseSync({data:n.data,path:n.path,parent:n}):(Ee(n,{code:fe.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[r]}),Le)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(t,n,r){let o=new Map;for(let s of n){let i=qa(s.shape[t]);if(!i.length)throw new Error(`A discriminator value for key \`${t}\` could not be extracted from all schema options`);for(let a of i){if(o.has(a))throw new Error(`Discriminator property ${String(t)} has duplicate value ${String(a)}`);o.set(a,s)}}return new e({typeName:He.ZodDiscriminatedUnion,discriminator:t,options:n,optionsMap:o,...Qe(r)})}};function W2(e,t){let n=Yi(e),r=Yi(t);if(e===t)return{valid:!0,data:e};if(n===we.object&&r===we.object){let o=mt.objectKeys(t),s=mt.objectKeys(e).filter(a=>o.indexOf(a)!==-1),i={...e,...t};for(let a of s){let c=W2(e[a],t[a]);if(!c.valid)return{valid:!1};i[a]=c.data}return{valid:!0,data:i}}else if(n===we.array&&r===we.array){if(e.length!==t.length)return{valid:!1};let o=[];for(let s=0;s{if(Dg(s)||Dg(i))return Le;let a=W2(s.value,i.value);return a.valid?((Bg(s)||Bg(i))&&n.dirty(),{status:n.value,value:a.data}):(Ee(r,{code:fe.invalid_intersection_types}),Le)};return r.common.async?Promise.all([this._def.left._parseAsync({data:r.data,path:r.path,parent:r}),this._def.right._parseAsync({data:r.data,path:r.path,parent:r})]).then(([s,i])=>o(s,i)):o(this._def.left._parseSync({data:r.data,path:r.path,parent:r}),this._def.right._parseSync({data:r.data,path:r.path,parent:r}))}};nl.create=(e,t,n)=>new nl({left:e,right:t,typeName:He.ZodIntersection,...Qe(n)});var Zi=class e extends nt{_parse(t){let{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==we.array)return Ee(r,{code:fe.invalid_type,expected:we.array,received:r.parsedType}),Le;if(r.data.lengththis._def.items.length&&(Ee(r,{code:fe.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),n.dirty());let s=[...r.data].map((i,a)=>{let c=this._def.items[a]||this._def.rest;return c?c._parse(new Ps(r,i,r.path,a)):null}).filter(i=>!!i);return r.common.async?Promise.all(s).then(i=>Hr.mergeArray(n,i)):Hr.mergeArray(n,s)}get items(){return this._def.items}rest(t){return new e({...this._def,rest:t})}};Zi.create=(e,t)=>{if(!Array.isArray(e))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new Zi({items:e,typeName:He.ZodTuple,rest:null,...Qe(t)})};var Lg=class e extends nt{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(t){let{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==we.object)return Ee(r,{code:fe.invalid_type,expected:we.object,received:r.parsedType}),Le;let o=[],s=this._def.keyType,i=this._def.valueType;for(let a in r.data)o.push({key:s._parse(new Ps(r,a,r.path,a)),value:i._parse(new Ps(r,r.data[a],r.path,a)),alwaysSet:a in r.data});return r.common.async?Hr.mergeObjectAsync(n,o):Hr.mergeObjectSync(n,o)}get element(){return this._def.valueType}static create(t,n,r){return n instanceof nt?new e({keyType:t,valueType:n,typeName:He.ZodRecord,...Qe(r)}):new e({keyType:au.create(),valueType:t,typeName:He.ZodRecord,...Qe(n)})}},up=class extends nt{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(t){let{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==we.map)return Ee(r,{code:fe.invalid_type,expected:we.map,received:r.parsedType}),Le;let o=this._def.keyType,s=this._def.valueType,i=[...r.data.entries()].map(([a,c],u)=>({key:o._parse(new Ps(r,a,r.path,[u,"key"])),value:s._parse(new Ps(r,c,r.path,[u,"value"]))}));if(r.common.async){let a=new Map;return Promise.resolve().then(async()=>{for(let c of i){let u=await c.key,d=await c.value;if(u.status==="aborted"||d.status==="aborted")return Le;(u.status==="dirty"||d.status==="dirty")&&n.dirty(),a.set(u.value,d.value)}return{status:n.value,value:a}})}else{let a=new Map;for(let c of i){let u=c.key,d=c.value;if(u.status==="aborted"||d.status==="aborted")return Le;(u.status==="dirty"||d.status==="dirty")&&n.dirty(),a.set(u.value,d.value)}return{status:n.value,value:a}}}};up.create=(e,t,n)=>new up({valueType:t,keyType:e,typeName:He.ZodMap,...Qe(n)});var dp=class e extends nt{_parse(t){let{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==we.set)return Ee(r,{code:fe.invalid_type,expected:we.set,received:r.parsedType}),Le;let o=this._def;o.minSize!==null&&r.data.sizeo.maxSize.value&&(Ee(r,{code:fe.too_big,maximum:o.maxSize.value,type:"set",inclusive:!0,exact:!1,message:o.maxSize.message}),n.dirty());let s=this._def.valueType;function i(c){let u=new Set;for(let d of c){if(d.status==="aborted")return Le;d.status==="dirty"&&n.dirty(),u.add(d.value)}return{status:n.value,value:u}}let a=[...r.data.values()].map((c,u)=>s._parse(new Ps(r,c,r.path,u)));return r.common.async?Promise.all(a).then(c=>i(c)):i(a)}min(t,n){return new e({...this._def,minSize:{value:t,message:Se.toString(n)}})}max(t,n){return new e({...this._def,maxSize:{value:t,message:Se.toString(n)}})}size(t,n){return this.min(t,n).max(t,n)}nonempty(t){return this.min(1,t)}};dp.create=(e,t)=>new dp({valueType:e,minSize:null,maxSize:null,typeName:He.ZodSet,...Qe(t)});var Mg=class e extends nt{constructor(){super(...arguments),this.validate=this.implement}_parse(t){let{ctx:n}=this._processInputParams(t);if(n.parsedType!==we.function)return Ee(n,{code:fe.invalid_type,expected:we.function,received:n.parsedType}),Le;function r(a,c){return lh({data:a,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,op(),Wa].filter(u=>!!u),issueData:{code:fe.invalid_arguments,argumentsError:c}})}function o(a,c){return lh({data:a,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,op(),Wa].filter(u=>!!u),issueData:{code:fe.invalid_return_type,returnTypeError:c}})}let s={errorMap:n.common.contextualErrorMap},i=n.data;if(this._def.returns instanceof uu){let a=this;return eo(async function(...c){let u=new Vo([]),d=await a._def.args.parseAsync(c,s).catch(p=>{throw u.addIssue(r(c,p)),u}),l=await Reflect.apply(i,this,d);return await a._def.returns._def.type.parseAsync(l,s).catch(p=>{throw u.addIssue(o(l,p)),u})})}else{let a=this;return eo(function(...c){let u=a._def.args.safeParse(c,s);if(!u.success)throw new Vo([r(c,u.error)]);let d=Reflect.apply(i,this,u.data),l=a._def.returns.safeParse(d,s);if(!l.success)throw new Vo([o(d,l.error)]);return l.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...t){return new e({...this._def,args:Zi.create(t).rest(Ka.create())})}returns(t){return new e({...this._def,returns:t})}implement(t){return this.parse(t)}strictImplement(t){return this.parse(t)}static create(t,n,r){return new e({args:t||Zi.create([]).rest(Ka.create()),returns:n||Ka.create(),typeName:He.ZodFunction,...Qe(r)})}},rl=class extends nt{get schema(){return this._def.getter()}_parse(t){let{ctx:n}=this._processInputParams(t);return this._def.getter()._parse({data:n.data,path:n.path,parent:n})}};rl.create=(e,t)=>new rl({getter:e,typeName:He.ZodLazy,...Qe(t)});var ol=class extends nt{_parse(t){if(t.data!==this._def.value){let n=this._getOrReturnCtx(t);return Ee(n,{received:n.data,code:fe.invalid_literal,expected:this._def.value}),Le}return{status:"valid",value:t.data}}get value(){return this._def.value}};ol.create=(e,t)=>new ol({value:e,typeName:He.ZodLiteral,...Qe(t)});function AO(e,t){return new sl({values:e,typeName:He.ZodEnum,...Qe(t)})}var sl=class e extends nt{_parse(t){if(typeof t.data!="string"){let n=this._getOrReturnCtx(t),r=this._def.values;return Ee(n,{expected:mt.joinValues(r),received:n.parsedType,code:fe.invalid_type}),Le}if(this._cache||(this._cache=new Set(this._def.values)),!this._cache.has(t.data)){let n=this._getOrReturnCtx(t),r=this._def.values;return Ee(n,{received:n.data,code:fe.invalid_enum_value,options:r}),Le}return eo(t.data)}get options(){return this._def.values}get enum(){let t={};for(let n of this._def.values)t[n]=n;return t}get Values(){let t={};for(let n of this._def.values)t[n]=n;return t}get Enum(){let t={};for(let n of this._def.values)t[n]=n;return t}extract(t,n=this._def){return e.create(t,{...this._def,...n})}exclude(t,n=this._def){return e.create(this.options.filter(r=>!t.includes(r)),{...this._def,...n})}};sl.create=AO;var il=class extends nt{_parse(t){let n=mt.getValidEnumValues(this._def.values),r=this._getOrReturnCtx(t);if(r.parsedType!==we.string&&r.parsedType!==we.number){let o=mt.objectValues(n);return Ee(r,{expected:mt.joinValues(o),received:r.parsedType,code:fe.invalid_type}),Le}if(this._cache||(this._cache=new Set(mt.getValidEnumValues(this._def.values))),!this._cache.has(t.data)){let o=mt.objectValues(n);return Ee(r,{received:r.data,code:fe.invalid_enum_value,options:o}),Le}return eo(t.data)}get enum(){return this._def.values}};il.create=(e,t)=>new il({values:e,typeName:He.ZodNativeEnum,...Qe(t)});var uu=class extends nt{unwrap(){return this._def.type}_parse(t){let{ctx:n}=this._processInputParams(t);if(n.parsedType!==we.promise&&n.common.async===!1)return Ee(n,{code:fe.invalid_type,expected:we.promise,received:n.parsedType}),Le;let r=n.parsedType===we.promise?n.data:Promise.resolve(n.data);return eo(r.then(o=>this._def.type.parseAsync(o,{path:n.path,errorMap:n.common.contextualErrorMap})))}};uu.create=(e,t)=>new uu({type:e,typeName:He.ZodPromise,...Qe(t)});var Ls=class extends nt{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===He.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(t){let{status:n,ctx:r}=this._processInputParams(t),o=this._def.effect||null,s={addIssue:i=>{Ee(r,i),i.fatal?n.abort():n.dirty()},get path(){return r.path}};if(s.addIssue=s.addIssue.bind(s),o.type==="preprocess"){let i=o.transform(r.data,s);if(r.common.async)return Promise.resolve(i).then(async a=>{if(n.value==="aborted")return Le;let c=await this._def.schema._parseAsync({data:a,path:r.path,parent:r});return c.status==="aborted"?Le:c.status==="dirty"?Kd(c.value):n.value==="dirty"?Kd(c.value):c});{if(n.value==="aborted")return Le;let a=this._def.schema._parseSync({data:i,path:r.path,parent:r});return a.status==="aborted"?Le:a.status==="dirty"?Kd(a.value):n.value==="dirty"?Kd(a.value):a}}if(o.type==="refinement"){let i=a=>{let c=o.refinement(a,s);if(r.common.async)return Promise.resolve(c);if(c instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return a};if(r.common.async===!1){let a=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});return a.status==="aborted"?Le:(a.status==="dirty"&&n.dirty(),i(a.value),{status:n.value,value:a.value})}else return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then(a=>a.status==="aborted"?Le:(a.status==="dirty"&&n.dirty(),i(a.value).then(()=>({status:n.value,value:a.value}))))}if(o.type==="transform")if(r.common.async===!1){let i=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});if(!iu(i))return Le;let a=o.transform(i.value,s);if(a instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:n.value,value:a}}else return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then(i=>iu(i)?Promise.resolve(o.transform(i.value,s)).then(a=>({status:n.value,value:a})):Le);mt.assertNever(o)}};Ls.create=(e,t,n)=>new Ls({schema:e,typeName:He.ZodEffects,effect:t,...Qe(n)});Ls.createWithPreprocess=(e,t,n)=>new Ls({schema:t,effect:{type:"preprocess",transform:e},typeName:He.ZodEffects,...Qe(n)});var Bs=class extends nt{_parse(t){return this._getType(t)===we.undefined?eo(void 0):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}};Bs.create=(e,t)=>new Bs({innerType:e,typeName:He.ZodOptional,...Qe(t)});var Xi=class extends nt{_parse(t){return this._getType(t)===we.null?eo(null):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}};Xi.create=(e,t)=>new Xi({innerType:e,typeName:He.ZodNullable,...Qe(t)});var al=class extends nt{_parse(t){let{ctx:n}=this._processInputParams(t),r=n.data;return n.parsedType===we.undefined&&(r=this._def.defaultValue()),this._def.innerType._parse({data:r,path:n.path,parent:n})}removeDefault(){return this._def.innerType}};al.create=(e,t)=>new al({innerType:e,typeName:He.ZodDefault,defaultValue:typeof t.default=="function"?t.default:()=>t.default,...Qe(t)});var cl=class extends nt{_parse(t){let{ctx:n}=this._processInputParams(t),r={...n,common:{...n.common,issues:[]}},o=this._def.innerType._parse({data:r.data,path:r.path,parent:{...r}});return sp(o)?o.then(s=>({status:"valid",value:s.status==="valid"?s.value:this._def.catchValue({get error(){return new Vo(r.common.issues)},input:r.data})})):{status:"valid",value:o.status==="valid"?o.value:this._def.catchValue({get error(){return new Vo(r.common.issues)},input:r.data})}}removeCatch(){return this._def.innerType}};cl.create=(e,t)=>new cl({innerType:e,typeName:He.ZodCatch,catchValue:typeof t.catch=="function"?t.catch:()=>t.catch,...Qe(t)});var lp=class extends nt{_parse(t){if(this._getType(t)!==we.nan){let r=this._getOrReturnCtx(t);return Ee(r,{code:fe.invalid_type,expected:we.nan,received:r.parsedType}),Le}return{status:"valid",value:t.data}}};lp.create=e=>new lp({typeName:He.ZodNaN,...Qe(e)});var XZ=Symbol("zod_brand"),fh=class extends nt{_parse(t){let{ctx:n}=this._processInputParams(t),r=n.data;return this._def.type._parse({data:r,path:n.path,parent:n})}unwrap(){return this._def.type}},ph=class e extends nt{_parse(t){let{status:n,ctx:r}=this._processInputParams(t);if(r.common.async)return(async()=>{let s=await this._def.in._parseAsync({data:r.data,path:r.path,parent:r});return s.status==="aborted"?Le:s.status==="dirty"?(n.dirty(),Kd(s.value)):this._def.out._parseAsync({data:s.value,path:r.path,parent:r})})();{let o=this._def.in._parseSync({data:r.data,path:r.path,parent:r});return o.status==="aborted"?Le:o.status==="dirty"?(n.dirty(),{status:"dirty",value:o.value}):this._def.out._parseSync({data:o.value,path:r.path,parent:r})}}static create(t,n){return new e({in:t,out:n,typeName:He.ZodPipeline})}},ul=class extends nt{_parse(t){let n=this._def.innerType._parse(t),r=o=>(iu(o)&&(o.value=Object.freeze(o.value)),o);return sp(n)?n.then(o=>r(o)):r(n)}unwrap(){return this._def.innerType}};ul.create=(e,t)=>new ul({innerType:e,typeName:He.ZodReadonly,...Qe(t)});function yO(e,t){let n=typeof e=="function"?e(t):typeof e=="string"?{message:e}:e;return typeof n=="string"?{message:n}:n}function EO(e,t={},n){return e?cu.create().superRefine((r,o)=>{let s=e(r);if(s instanceof Promise)return s.then(i=>{if(!i){let a=yO(t,r),c=a.fatal??n??!0;o.addIssue({code:"custom",...a,fatal:c})}});if(!s){let i=yO(t,r),a=i.fatal??n??!0;o.addIssue({code:"custom",...i,fatal:a})}}):cu.create()}var JZ={object:jo.lazycreate},He;(function(e){e.ZodString="ZodString",e.ZodNumber="ZodNumber",e.ZodNaN="ZodNaN",e.ZodBigInt="ZodBigInt",e.ZodBoolean="ZodBoolean",e.ZodDate="ZodDate",e.ZodSymbol="ZodSymbol",e.ZodUndefined="ZodUndefined",e.ZodNull="ZodNull",e.ZodAny="ZodAny",e.ZodUnknown="ZodUnknown",e.ZodNever="ZodNever",e.ZodVoid="ZodVoid",e.ZodArray="ZodArray",e.ZodObject="ZodObject",e.ZodUnion="ZodUnion",e.ZodDiscriminatedUnion="ZodDiscriminatedUnion",e.ZodIntersection="ZodIntersection",e.ZodTuple="ZodTuple",e.ZodRecord="ZodRecord",e.ZodMap="ZodMap",e.ZodSet="ZodSet",e.ZodFunction="ZodFunction",e.ZodLazy="ZodLazy",e.ZodLiteral="ZodLiteral",e.ZodEnum="ZodEnum",e.ZodEffects="ZodEffects",e.ZodNativeEnum="ZodNativeEnum",e.ZodOptional="ZodOptional",e.ZodNullable="ZodNullable",e.ZodDefault="ZodDefault",e.ZodCatch="ZodCatch",e.ZodPromise="ZodPromise",e.ZodBranded="ZodBranded",e.ZodPipeline="ZodPipeline",e.ZodReadonly="ZodReadonly"})(He||(He={}));var QZ=(e,t={message:`Input not instance of ${e.name}`})=>EO(n=>n instanceof e,t),xO=au.create,wO=Yd.create,eX=lp.create,tX=Zd.create,TO=Xd.create,nX=Jd.create,rX=ap.create,oX=Qd.create,sX=el.create,iX=cu.create,aX=Ka.create,cX=Ai.create,uX=cp.create,dX=Ya.create,lX=jo.create,fX=jo.strictCreate,pX=tl.create,mX=Pg.create,hX=nl.create,yX=Zi.create,bX=Lg.create,gX=up.create,_X=dp.create,AX=Mg.create,EX=rl.create,xX=ol.create,wX=sl.create,TX=il.create,SX=uu.create,RX=Ls.create,vX=Bs.create,IX=Xi.create,CX=Ls.createWithPreprocess,NX=ph.create,OX=()=>xO().optional(),kX=()=>wO().optional(),DX=()=>TO().optional(),BX={string:(e=>au.create({...e,coerce:!0})),number:(e=>Yd.create({...e,coerce:!0})),boolean:(e=>Xd.create({...e,coerce:!0})),bigint:(e=>Zd.create({...e,coerce:!0})),date:(e=>Jd.create({...e,coerce:!0}))};var PX=Le;var M$=Ur(J2(),1);var kO="logger/5.8.0";var DO=!1,BO=!1,Hg={debug:1,default:2,info:2,warning:3,error:4,off:5},PO=Hg.default,Q2=null;function QX(){try{let e=[];if(["NFD","NFC","NFKD","NFKC"].forEach(t=>{try{if("test".normalize(t)!=="test")throw new Error("bad normalize")}catch{e.push(t)}}),e.length)throw new Error("missing "+e.join(", "));if("\xE9".normalize("NFD")!=="e\u0301")throw new Error("broken implementation")}catch(e){return e.message}return null}var LO=QX(),eT;(function(e){e.DEBUG="DEBUG",e.INFO="INFO",e.WARNING="WARNING",e.ERROR="ERROR",e.OFF="OFF"})(eT||(eT={}));var Ei;(function(e){e.UNKNOWN_ERROR="UNKNOWN_ERROR",e.NOT_IMPLEMENTED="NOT_IMPLEMENTED",e.UNSUPPORTED_OPERATION="UNSUPPORTED_OPERATION",e.NETWORK_ERROR="NETWORK_ERROR",e.SERVER_ERROR="SERVER_ERROR",e.TIMEOUT="TIMEOUT",e.BUFFER_OVERRUN="BUFFER_OVERRUN",e.NUMERIC_FAULT="NUMERIC_FAULT",e.MISSING_NEW="MISSING_NEW",e.INVALID_ARGUMENT="INVALID_ARGUMENT",e.MISSING_ARGUMENT="MISSING_ARGUMENT",e.UNEXPECTED_ARGUMENT="UNEXPECTED_ARGUMENT",e.CALL_EXCEPTION="CALL_EXCEPTION",e.INSUFFICIENT_FUNDS="INSUFFICIENT_FUNDS",e.NONCE_EXPIRED="NONCE_EXPIRED",e.REPLACEMENT_UNDERPRICED="REPLACEMENT_UNDERPRICED",e.UNPREDICTABLE_GAS_LIMIT="UNPREDICTABLE_GAS_LIMIT",e.TRANSACTION_REPLACED="TRANSACTION_REPLACED",e.ACTION_REJECTED="ACTION_REJECTED"})(Ei||(Ei={}));var MO="0123456789abcdef",Me=class e{constructor(t){Object.defineProperty(this,"version",{enumerable:!0,value:t,writable:!1})}_log(t,n){let r=t.toLowerCase();Hg[r]==null&&this.throwArgumentError("invalid log level name","logLevel",t),!(PO>Hg[r])&&console.log.apply(console,n)}debug(...t){this._log(e.levels.DEBUG,t)}info(...t){this._log(e.levels.INFO,t)}warn(...t){this._log(e.levels.WARNING,t)}makeError(t,n,r){if(BO)return this.makeError("censored error",n,{});n||(n=e.errors.UNKNOWN_ERROR),r||(r={});let o=[];Object.keys(r).forEach(c=>{let u=r[c];try{if(u instanceof Uint8Array){let d="";for(let l=0;l>4],d+=MO[u[l]&15];o.push(c+"=Uint8Array(0x"+d+")")}else o.push(c+"="+JSON.stringify(u))}catch{o.push(c+"="+JSON.stringify(r[c].toString()))}}),o.push(`code=${n}`),o.push(`version=${this.version}`);let s=t,i="";switch(n){case Ei.NUMERIC_FAULT:{i="NUMERIC_FAULT";let c=t;switch(c){case"overflow":case"underflow":case"division-by-zero":i+="-"+c;break;case"negative-power":case"negative-width":i+="-unsupported";break;case"unbound-bitwise-result":i+="-unbound-result";break}break}case Ei.CALL_EXCEPTION:case Ei.INSUFFICIENT_FUNDS:case Ei.MISSING_NEW:case Ei.NONCE_EXPIRED:case Ei.REPLACEMENT_UNDERPRICED:case Ei.TRANSACTION_REPLACED:case Ei.UNPREDICTABLE_GAS_LIMIT:i=n;break}i&&(t+=" [ See: https://links.ethers.org/v5-errors-"+i+" ]"),o.length&&(t+=" ("+o.join(", ")+")");let a=new Error(t);return a.reason=s,a.code=n,Object.keys(r).forEach(function(c){a[c]=r[c]}),a}throwError(t,n,r){throw this.makeError(t,n,r)}throwArgumentError(t,n,r){return this.throwError(t,e.errors.INVALID_ARGUMENT,{argument:n,value:r})}assert(t,n,r,o){t||this.throwError(n,r,o)}assertArgument(t,n,r,o){t||this.throwArgumentError(n,r,o)}checkNormalize(t){t==null&&(t="platform missing String.prototype.normalize"),LO&&this.throwError("platform missing String.prototype.normalize",e.errors.UNSUPPORTED_OPERATION,{operation:"String.prototype.normalize",form:LO})}checkSafeUint53(t,n){typeof t=="number"&&(n==null&&(n="value not safe"),(t<0||t>=9007199254740991)&&this.throwError(n,e.errors.NUMERIC_FAULT,{operation:"checkSafeInteger",fault:"out-of-safe-range",value:t}),t%1&&this.throwError(n,e.errors.NUMERIC_FAULT,{operation:"checkSafeInteger",fault:"non-integer",value:t}))}checkArgumentCount(t,n,r){r?r=": "+r:r="",tn&&this.throwError("too many arguments"+r,e.errors.UNEXPECTED_ARGUMENT,{count:t,expectedCount:n})}checkNew(t,n){(t===Object||t==null)&&this.throwError("missing new",e.errors.MISSING_NEW,{name:n.name})}checkAbstract(t,n){t===n?this.throwError("cannot instantiate abstract class "+JSON.stringify(n.name)+" directly; use a sub-class",e.errors.UNSUPPORTED_OPERATION,{name:t.name,operation:"new"}):(t===Object||t==null)&&this.throwError("missing new",e.errors.MISSING_NEW,{name:n.name})}static globalLogger(){return Q2||(Q2=new e(kO)),Q2}static setCensorship(t,n){if(!t&&n&&this.globalLogger().throwError("cannot permanently disable censorship",e.errors.UNSUPPORTED_OPERATION,{operation:"setCensorship"}),DO){if(!t)return;this.globalLogger().throwError("error censorship permanent",e.errors.UNSUPPORTED_OPERATION,{operation:"setCensorship"})}BO=!!t,DO=!!n}static setLogLevel(t){let n=Hg[t.toLowerCase()];if(n==null){e.globalLogger().warn("invalid log level - "+t);return}PO=n}static from(t){return new e(t)}};Me.errors=Ei;Me.levels=eT;var FO="bytes/5.8.0";var Xa=new Me(FO);function HO(e){return!!e.toHexString}function hh(e){return e.slice||(e.slice=function(){let t=Array.prototype.slice.call(arguments);return hh(new Uint8Array(Array.prototype.slice.apply(e,t)))}),e}function UO(e){return typeof e=="number"&&e==e&&e%1===0}function ll(e){if(e==null)return!1;if(e.constructor===Uint8Array)return!0;if(typeof e=="string"||!UO(e.length)||e.length<0)return!1;for(let t=0;t=256)return!1}return!0}function Bn(e,t){if(t||(t={}),typeof e=="number"){Xa.checkSafeUint53(e,"invalid arrayify value");let n=[];for(;e;)n.unshift(e&255),e=parseInt(String(e/256));return n.length===0&&n.push(0),hh(new Uint8Array(n))}if(t.allowMissingPrefix&&typeof e=="string"&&e.substring(0,2)!=="0x"&&(e="0x"+e),HO(e)&&(e=e.toHexString()),Cr(e)){let n=e.substring(2);n.length%2&&(t.hexPad==="left"?n="0"+n:t.hexPad==="right"?n+="0":Xa.throwArgumentError("hex data is odd-length","value",e));let r=[];for(let o=0;oBn(o)),n=t.reduce((o,s)=>o+s.length,0),r=new Uint8Array(n);return t.reduce((o,s)=>(r.set(s,o),o+s.length),0),hh(r)}function Cr(e,t){return!(typeof e!="string"||!e.match(/^0x[0-9A-Fa-f]*$/)||t&&e.length!==2+2*t)}var tT="0123456789abcdef";function Bt(e,t){if(t||(t={}),typeof e=="number"){Xa.checkSafeUint53(e,"invalid hexlify value");let n="";for(;e;)n=tT[e&15]+n,e=Math.floor(e/16);return n.length?(n.length%2&&(n="0"+n),"0x"+n):"0x00"}if(typeof e=="bigint")return e=e.toString(16),e.length%2?"0x0"+e:"0x"+e;if(t.allowMissingPrefix&&typeof e=="string"&&e.substring(0,2)!=="0x"&&(e="0x"+e),HO(e))return e.toHexString();if(Cr(e))return e.length%2&&(t.hexPad==="left"?e="0x0"+e.substring(2):t.hexPad==="right"?e+="0":Xa.throwArgumentError("hex data is odd-length","value",e)),e.toLowerCase();if(ll(e)){let n="0x";for(let r=0;r>4]+tT[o&15]}return n}return Xa.throwArgumentError("invalid hexlify value","value",e)}function nT(e,t,n){return typeof e!="string"?e=Bt(e):(!Cr(e)||e.length%2)&&Xa.throwArgumentError("invalid hexData","value",e),t=2+2*t,n!=null?"0x"+e.substring(t,2+2*n):"0x"+e.substring(t)}function $O(e){let t="0x";return e.forEach(n=>{t+=Bt(n).substring(2)}),t}function Ms(e,t){for(typeof e!="string"?e=Bt(e):Cr(e)||Xa.throwArgumentError("invalid hex string","value",e),e.length>2*t+2&&Xa.throwArgumentError("value out of range","value",arguments[1]);e.length<2*t+2;)e="0x0"+e.substring(2);return e}var WO=Ur(lu());var $g="bignumber/5.8.0";var zg=WO.default.BN,Ja=new Me($g),oT={},jO=9007199254740991;function qO(e){return e!=null&&(St.isBigNumber(e)||typeof e=="number"&&e%1===0||typeof e=="string"&&!!e.match(/^-?[0-9]+$/)||Cr(e)||typeof e=="bigint"||ll(e))}var GO=!1,St=class e{constructor(t,n){t!==oT&&Ja.throwError("cannot call constructor directly; use BigNumber.from",Me.errors.UNSUPPORTED_OPERATION,{operation:"new (BigNumber)"}),this._hex=n,this._isBigNumber=!0,Object.freeze(this)}fromTwos(t){return Go(yt(this).fromTwos(t))}toTwos(t){return Go(yt(this).toTwos(t))}abs(){return this._hex[0]==="-"?e.from(this._hex.substring(1)):this}add(t){return Go(yt(this).add(yt(t)))}sub(t){return Go(yt(this).sub(yt(t)))}div(t){return e.from(t).isZero()&&Fs("division-by-zero","div"),Go(yt(this).div(yt(t)))}mul(t){return Go(yt(this).mul(yt(t)))}mod(t){let n=yt(t);return n.isNeg()&&Fs("division-by-zero","mod"),Go(yt(this).umod(n))}pow(t){let n=yt(t);return n.isNeg()&&Fs("negative-power","pow"),Go(yt(this).pow(n))}and(t){let n=yt(t);return(this.isNegative()||n.isNeg())&&Fs("unbound-bitwise-result","and"),Go(yt(this).and(n))}or(t){let n=yt(t);return(this.isNegative()||n.isNeg())&&Fs("unbound-bitwise-result","or"),Go(yt(this).or(n))}xor(t){let n=yt(t);return(this.isNegative()||n.isNeg())&&Fs("unbound-bitwise-result","xor"),Go(yt(this).xor(n))}mask(t){return(this.isNegative()||t<0)&&Fs("negative-width","mask"),Go(yt(this).maskn(t))}shl(t){return(this.isNegative()||t<0)&&Fs("negative-width","shl"),Go(yt(this).shln(t))}shr(t){return(this.isNegative()||t<0)&&Fs("negative-width","shr"),Go(yt(this).shrn(t))}eq(t){return yt(this).eq(yt(t))}lt(t){return yt(this).lt(yt(t))}lte(t){return yt(this).lte(yt(t))}gt(t){return yt(this).gt(yt(t))}gte(t){return yt(this).gte(yt(t))}isNegative(){return this._hex[0]==="-"}isZero(){return yt(this).isZero()}toNumber(){try{return yt(this).toNumber()}catch{Fs("overflow","toNumber",this.toString())}return null}toBigInt(){try{return BigInt(this.toString())}catch{}return Ja.throwError("this platform does not support BigInt",Me.errors.UNSUPPORTED_OPERATION,{value:this.toString()})}toString(){return arguments.length>0&&(arguments[0]===10?GO||(GO=!0,Ja.warn("BigNumber.toString does not accept any parameters; base-10 is assumed")):arguments[0]===16?Ja.throwError("BigNumber.toString does not accept any parameters; use bigNumber.toHexString()",Me.errors.UNEXPECTED_ARGUMENT,{}):Ja.throwError("BigNumber.toString does not accept parameters",Me.errors.UNEXPECTED_ARGUMENT,{})),yt(this).toString(10)}toHexString(){return this._hex}toJSON(t){return{type:"BigNumber",hex:this.toHexString()}}static from(t){if(t instanceof e)return t;if(typeof t=="string")return t.match(/^-?0x[0-9a-f]+$/i)?new e(oT,yh(t)):t.match(/^-?[0-9]+$/)?new e(oT,yh(new zg(t))):Ja.throwArgumentError("invalid BigNumber string","value",t);if(typeof t=="number")return t%1&&Fs("underflow","BigNumber.from",t),(t>=jO||t<=-jO)&&Fs("overflow","BigNumber.from",t),e.from(String(t));let n=t;if(typeof n=="bigint")return e.from(n.toString());if(ll(n))return e.from(Bt(n));if(n)if(n.toHexString){let r=n.toHexString();if(typeof r=="string")return e.from(r)}else{let r=n._hex;if(r==null&&n.type==="BigNumber"&&(r=n.hex),typeof r=="string"&&(Cr(r)||r[0]==="-"&&Cr(r.substring(1))))return e.from(r)}return Ja.throwArgumentError("invalid BigNumber value","value",t)}static isBigNumber(t){return!!(t&&t._isBigNumber)}};function yh(e){if(typeof e!="string")return yh(e.toString(16));if(e[0]==="-")return e=e.substring(1),e[0]==="-"&&Ja.throwArgumentError("invalid hex","value",e),e=yh(e),e==="0x00"?e:"-"+e;if(e.substring(0,2)!=="0x"&&(e="0x"+e),e==="0x")return"0x00";for(e.length%2&&(e="0x0"+e.substring(2));e.length>4&&e.substring(0,4)==="0x00";)e="0x"+e.substring(4);return e}function Go(e){return St.from(yh(e))}function yt(e){let t=St.from(e).toHexString();return t[0]==="-"?new zg("-"+t.substring(3),16):new zg(t.substring(2),16)}function Fs(e,t,n){let r={fault:e,operation:t};return n!=null&&(r.value=n),Ja.throwError(e,Me.errors.NUMERIC_FAULT,r)}function sT(e){return new zg(e,36).toString(16)}var wo=new Me($g),bh={},YO=St.from(0),ZO=St.from(-1);function XO(e,t,n,r){let o={fault:t,operation:n};return r!==void 0&&(o.value=r),wo.throwError(e,Me.errors.NUMERIC_FAULT,o)}var gh="0";for(;gh.length<256;)gh+=gh;function iT(e){if(typeof e!="number")try{e=St.from(e).toNumber()}catch{}return typeof e=="number"&&e>=0&&e<=256&&!(e%1)?"1"+gh.substring(0,e):wo.throwArgumentError("invalid decimal size","decimals",e)}function pp(e,t){t==null&&(t=0);let n=iT(t);e=St.from(e);let r=e.lt(YO);r&&(e=e.mul(ZO));let o=e.mod(n).toString();for(;o.length2&&wo.throwArgumentError("too many decimal points","value",e);let s=o[0],i=o[1];for(s||(s="0"),i||(i="0");i[i.length-1]==="0";)i=i.substring(0,i.length-1);for(i.length>n.length-1&&XO("fractional component exceeds decimals","underflow","parseFixed"),i===""&&(i="0");i.lengtht[i]==null?c:(typeof t[i]!==a&&wo.throwArgumentError("invalid fixed format ("+i+" not "+a+")","format."+i,t[i]),t[i]);n=s("signed","boolean",n),r=s("width","number",r),o=s("decimals","number",o)}return r%8&&wo.throwArgumentError("invalid fixed format width (not byte aligned)","format.width",r),o>80&&wo.throwArgumentError("invalid fixed format (decimals too large)","format.decimals",o),new e(bh,n,r,o)}},_h=class e{constructor(t,n,r,o){t!==bh&&wo.throwError("cannot use FixedNumber constructor; use FixedNumber.from",Me.errors.UNSUPPORTED_OPERATION,{operation:"new FixedFormat"}),this.format=o,this._hex=n,this._value=r,this._isFixedNumber=!0,Object.freeze(this)}_checkFormat(t){this.format.name!==t.format.name&&wo.throwArgumentError("incompatible format; use fixedNumber.toFormat","other",t)}addUnsafe(t){this._checkFormat(t);let n=Us(this._value,this.format.decimals),r=Us(t._value,t.format.decimals);return e.fromValue(n.add(r),this.format.decimals,this.format)}subUnsafe(t){this._checkFormat(t);let n=Us(this._value,this.format.decimals),r=Us(t._value,t.format.decimals);return e.fromValue(n.sub(r),this.format.decimals,this.format)}mulUnsafe(t){this._checkFormat(t);let n=Us(this._value,this.format.decimals),r=Us(t._value,t.format.decimals);return e.fromValue(n.mul(r).div(this.format._multiplier),this.format.decimals,this.format)}divUnsafe(t){this._checkFormat(t);let n=Us(this._value,this.format.decimals),r=Us(t._value,t.format.decimals);return e.fromValue(n.mul(this.format._multiplier).div(r),this.format.decimals,this.format)}floor(){let t=this.toString().split(".");t.length===1&&t.push("0");let n=e.from(t[0],this.format),r=!t[1].match(/^(0*)$/);return this.isNegative()&&r&&(n=n.subUnsafe(KO.toFormat(n.format))),n}ceiling(){let t=this.toString().split(".");t.length===1&&t.push("0");let n=e.from(t[0],this.format),r=!t[1].match(/^(0*)$/);return!this.isNegative()&&r&&(n=n.addUnsafe(KO.toFormat(n.format))),n}round(t){t==null&&(t=0);let n=this.toString().split(".");if(n.length===1&&n.push("0"),(t<0||t>80||t%1)&&wo.throwArgumentError("invalid decimal count","decimals",t),n[1].length<=t)return this;let r=e.from("1"+gh.substring(0,t),this.format),o=eJ.toFormat(this.format);return this.mulUnsafe(r).addUnsafe(o).floor().divUnsafe(r)}isZero(){return this._value==="0.0"||this._value==="0"}isNegative(){return this._value[0]==="-"}toString(){return this._value}toHexString(t){if(t==null)return this._hex;t%8&&wo.throwArgumentError("invalid byte width","width",t);let n=St.from(this._hex).fromTwos(this.format.width).toTwos(t).toHexString();return Ms(n,t/8)}toUnsafeFloat(){return parseFloat(this.toString())}toFormat(t){return e.fromString(this._value,t)}static fromValue(t,n,r){return r==null&&n!=null&&!qO(n)&&(r=n,n=null),n==null&&(n=0),r==null&&(r="fixed"),e.fromString(pp(t,n),mp.from(r))}static fromString(t,n){n==null&&(n="fixed");let r=mp.from(n),o=Us(t,r.decimals);!r.signed&&o.lt(YO)&&XO("unsigned value cannot be negative","overflow","value",t);let s=null;r.signed?s=o.toTwos(r.width).toHexString():(s=o.toHexString(),s=Ms(s,r.width/8));let i=pp(o,r.decimals);return new e(bh,s,i,r)}static fromBytes(t,n){n==null&&(n="fixed");let r=mp.from(n);if(Bn(t).length>r.width/8)throw new Error("overflow");let o=St.from(t);r.signed&&(o=o.fromTwos(r.width));let s=o.toTwos((r.signed?0:1)+r.width).toHexString(),i=pp(o,r.decimals);return new e(bh,s,i,r)}static from(t,n){if(typeof t=="string")return e.fromString(t,n);if(ll(t))return e.fromBytes(t,n);try{return e.fromValue(t,0,n)}catch(r){if(r.code!==Me.errors.INVALID_ARGUMENT)throw r}return wo.throwArgumentError("invalid FixedNumber value","value",t)}static isFixedNumber(t){return!!(t&&t._isFixedNumber)}},KO=_h.from(1),eJ=_h.from("0.5");var QO=Ur(JO());function fl(e){return"0x"+QO.default.keccak_256(Bn(e))}var e3="address/5.8.0";var Ah=new Me(e3);function t3(e){Cr(e,20)||Ah.throwArgumentError("invalid address","address",e),e=e.toLowerCase();let t=e.substring(2).split(""),n=new Uint8Array(40);for(let o=0;o<40;o++)n[o]=t[o].charCodeAt(0);let r=Bn(fl(n));for(let o=0;o<40;o+=2)r[o>>1]>>4>=8&&(t[o]=t[o].toUpperCase()),(r[o>>1]&15)>=8&&(t[o+1]=t[o+1].toUpperCase());return"0x"+t.join("")}var nJ=9007199254740991;function rJ(e){return Math.log10?Math.log10(e):Math.log(e)/Math.LN10}var aT={};for(let e=0;e<10;e++)aT[String(e)]=String(e);for(let e=0;e<26;e++)aT[String.fromCharCode(65+e)]=String(10+e);var n3=Math.floor(rJ(nJ));function oJ(e){e=e.toUpperCase(),e=e.substring(4)+e.substring(0,2)+"00";let t=e.split("").map(r=>aT[r]).join("");for(;t.length>=n3;){let r=t.substring(0,n3);t=parseInt(r,10)%97+t.substring(r.length)}let n=String(98-parseInt(t,10)%97);for(;n.length<2;)n="0"+n;return n}function bs(e){let t=null;if(typeof e!="string"&&Ah.throwArgumentError("invalid address","address",e),e.match(/^(0x)?[0-9a-fA-F]{40}$/))e.substring(0,2)!=="0x"&&(e="0x"+e),t=t3(e),e.match(/([A-F].*[a-f])|([a-f].*[A-F])/)&&t!==e&&Ah.throwArgumentError("bad address checksum","address",e);else if(e.match(/^XE[0-9]{2}[0-9A-Za-z]{30,31}$/)){for(e.substring(2,4)!==oJ(e)&&Ah.throwArgumentError("bad icap checksum","address",e),t=sT(e.substring(4));t.length<40;)t="0"+t;t=t3("0x"+t)}else Ah.throwArgumentError("invalid address","address",e);return t}function jg(e){try{return bs(e),!0}catch{}return!1}function sJ(e){if(e.length>=255)throw new TypeError("Alphabet too long");let t=new Uint8Array(256);for(let u=0;u>>0,E=new Uint8Array(g);for(;m!==p;){let N=u[m],C=0;for(let v=g-1;(N!==0||C>>0,E[v]=N%n>>>0,N=N/n>>>0;if(N!==0)throw new Error("Non-zero carry");l=C,m++}let x=g-l;for(;x!==g&&E[x]===0;)x++;let S=r.repeat(d);for(;x>>0,g=new Uint8Array(p);for(;d255)return;let C=t[N];if(C===255)return;let v=0;for(let D=p-1;(C!==0||v>>0,g[D]=C%256>>>0,C=C/256>>>0;if(C!==0)throw new Error("Non-zero carry");m=v,d++}let E=p-m;for(;E!==p&&g[E]===0;)E++;let x=new Uint8Array(l+(p-E)),S=l;for(;E!==p;)x[S++]=g[E++];return x}function c(u){let d=a(u);if(d)return d;throw new Error("Non-base"+n+" character")}return{encode:i,decodeUnsafe:a,decode:c}}var r3=sJ;var iJ="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz",fu=r3(iJ);var af=Ur(kl(),1),FOe=Ur(lu(),1);var Lv=Ur(lu()),Tce=Ur(lu()),Ci=Ur(kl()),aCe=Ur(kl()),tce=Ur(_p()),nce=Ur(h_()),rce=Ur(LM()),ft=Ur(UM());zR();var eF=Ml;function Kp(e){let t=e.length;for(;--t>=0;)e[t]=0}var Ese=0,$F=1,xse=2,wse=3,Tse=258,fv=29,Ty=256,by=Ty+1+fv,jp=30,pv=19,zF=2*by+1,Fl=15,VR=16,Sse=7,mv=256,VF=16,jF=17,GF=18,rv=new Uint8Array([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0]),K1=new Uint8Array([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13]),Rse=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7]),WF=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),vse=512,yc=new Array((by+2)*2);Kp(yc);var my=new Array(jp*2);Kp(my);var gy=new Array(vse);Kp(gy);var _y=new Array(Tse-wse+1);Kp(_y);var hv=new Array(fv);Kp(hv);var Y1=new Array(jp);Kp(Y1);function jR(e,t,n,r,o){this.static_tree=e,this.extra_bits=t,this.extra_base=n,this.elems=r,this.max_length=o,this.has_stree=e&&e.length}var qF,KF,YF;function GR(e,t){this.dyn_tree=e,this.max_code=0,this.stat_desc=t}var ZF=e=>e<256?gy[e]:gy[256+(e>>>7)],Ay=(e,t)=>{e.pending_buf[e.pending++]=t&255,e.pending_buf[e.pending++]=t>>>8&255},Xo=(e,t,n)=>{e.bi_valid>VR-n?(e.bi_buf|=t<>VR-e.bi_valid,e.bi_valid+=n-VR):(e.bi_buf|=t<{Xo(e,n[t*2],n[t*2+1])},XF=(e,t)=>{let n=0;do n|=e&1,e>>>=1,n<<=1;while(--t>0);return n>>>1},Ise=e=>{e.bi_valid===16?(Ay(e,e.bi_buf),e.bi_buf=0,e.bi_valid=0):e.bi_valid>=8&&(e.pending_buf[e.pending++]=e.bi_buf&255,e.bi_buf>>=8,e.bi_valid-=8)},Cse=(e,t)=>{let n=t.dyn_tree,r=t.max_code,o=t.stat_desc.static_tree,s=t.stat_desc.has_stree,i=t.stat_desc.extra_bits,a=t.stat_desc.extra_base,c=t.stat_desc.max_length,u,d,l,m,p,g,E=0;for(m=0;m<=Fl;m++)e.bl_count[m]=0;for(n[e.heap[e.heap_max]*2+1]=0,u=e.heap_max+1;uc&&(m=c,E++),n[d*2+1]=m,!(d>r)&&(e.bl_count[m]++,p=0,d>=a&&(p=i[d-a]),g=n[d*2],e.opt_len+=g*(m+p),s&&(e.static_len+=g*(o[d*2+1]+p)));if(E!==0){do{for(m=c-1;e.bl_count[m]===0;)m--;e.bl_count[m]--,e.bl_count[m+1]+=2,e.bl_count[c]--,E-=2}while(E>0);for(m=c;m!==0;m--)for(d=e.bl_count[m];d!==0;)l=e.heap[--u],!(l>r)&&(n[l*2+1]!==m&&(e.opt_len+=(m-n[l*2+1])*n[l*2],n[l*2+1]=m),d--)}},JF=(e,t,n)=>{let r=new Array(Fl+1),o=0,s,i;for(s=1;s<=Fl;s++)o=o+n[s-1]<<1,r[s]=o;for(i=0;i<=t;i++){let a=e[i*2+1];a!==0&&(e[i*2]=XF(r[a]++,a))}},Nse=()=>{let e,t,n,r,o,s=new Array(Fl+1);for(n=0,r=0;r>=7;r{let t;for(t=0;t{e.bi_valid>8?Ay(e,e.bi_buf):e.bi_valid>0&&(e.pending_buf[e.pending++]=e.bi_buf),e.bi_buf=0,e.bi_valid=0},tF=(e,t,n,r)=>{let o=t*2,s=n*2;return e[o]{let r=e.heap[n],o=n<<1;for(;o<=e.heap_len&&(o{let r,o,s=0,i,a;if(e.sym_next!==0)do r=e.pending_buf[e.sym_buf+s++]&255,r+=(e.pending_buf[e.sym_buf+s++]&255)<<8,o=e.pending_buf[e.sym_buf+s++],r===0?Aa(e,o,t):(i=_y[o],Aa(e,i+Ty+1,t),a=rv[i],a!==0&&(o-=hv[i],Xo(e,o,a)),r--,i=ZF(r),Aa(e,i,n),a=K1[i],a!==0&&(r-=Y1[i],Xo(e,r,a)));while(s{let n=t.dyn_tree,r=t.stat_desc.static_tree,o=t.stat_desc.has_stree,s=t.stat_desc.elems,i,a,c=-1,u;for(e.heap_len=0,e.heap_max=zF,i=0;i>1;i>=1;i--)WR(e,n,i);u=s;do i=e.heap[1],e.heap[1]=e.heap[e.heap_len--],WR(e,n,1),a=e.heap[1],e.heap[--e.heap_max]=i,e.heap[--e.heap_max]=a,n[u*2]=n[i*2]+n[a*2],e.depth[u]=(e.depth[i]>=e.depth[a]?e.depth[i]:e.depth[a])+1,n[i*2+1]=n[a*2+1]=u,e.heap[1]=u++,WR(e,n,1);while(e.heap_len>=2);e.heap[--e.heap_max]=e.heap[1],Cse(e,t),JF(n,c,e.bl_count)},rF=(e,t,n)=>{let r,o=-1,s,i=t[1],a=0,c=7,u=4;for(i===0&&(c=138,u=3),t[(n+1)*2+1]=65535,r=0;r<=n;r++)s=i,i=t[(r+1)*2+1],!(++a{let r,o=-1,s,i=t[1],a=0,c=7,u=4;for(i===0&&(c=138,u=3),r=0;r<=n;r++)if(s=i,i=t[(r+1)*2+1],!(++a{let t;for(rF(e,e.dyn_ltree,e.l_desc.max_code),rF(e,e.dyn_dtree,e.d_desc.max_code),ov(e,e.bl_desc),t=pv-1;t>=3&&e.bl_tree[WF[t]*2+1]===0;t--);return e.opt_len+=3*(t+1)+5+5+4,t},kse=(e,t,n,r)=>{let o;for(Xo(e,t-257,5),Xo(e,n-1,5),Xo(e,r-4,4),o=0;o{let t=4093624447,n;for(n=0;n<=31;n++,t>>>=1)if(t&1&&e.dyn_ltree[n*2]!==0)return 0;if(e.dyn_ltree[18]!==0||e.dyn_ltree[20]!==0||e.dyn_ltree[26]!==0)return 1;for(n=32;n{sF||(Nse(),sF=!0),e.l_desc=new GR(e.dyn_ltree,qF),e.d_desc=new GR(e.dyn_dtree,KF),e.bl_desc=new GR(e.bl_tree,YF),e.bi_buf=0,e.bi_valid=0,QF(e)},t7=(e,t,n,r)=>{Xo(e,(Ese<<1)+(r?1:0),3),e7(e),Ay(e,n),Ay(e,~n),n&&e.pending_buf.set(e.window.subarray(t,t+n),e.pending),e.pending+=n},Pse=e=>{Xo(e,$F<<1,3),Aa(e,mv,yc),Ise(e)},Lse=(e,t,n,r)=>{let o,s,i=0;e.level>0?(e.strm.data_type===2&&(e.strm.data_type=Dse(e)),ov(e,e.l_desc),ov(e,e.d_desc),i=Ose(e),o=e.opt_len+3+7>>>3,s=e.static_len+3+7>>>3,s<=o&&(o=s)):o=s=n+5,n+4<=o&&t!==-1?t7(e,t,n,r):e.strategy===4||s===o?(Xo(e,($F<<1)+(r?1:0),3),nF(e,yc,my)):(Xo(e,(xse<<1)+(r?1:0),3),kse(e,e.l_desc.max_code+1,e.d_desc.max_code+1,i+1),nF(e,e.dyn_ltree,e.dyn_dtree)),QF(e),r&&e7(e)},Mse=(e,t,n)=>(e.pending_buf[e.sym_buf+e.sym_next++]=t,e.pending_buf[e.sym_buf+e.sym_next++]=t>>8,e.pending_buf[e.sym_buf+e.sym_next++]=n,t===0?e.dyn_ltree[n*2]++:(e.matches++,t--,e.dyn_ltree[(_y[n]+Ty+1)*2]++,e.dyn_dtree[ZF(t)*2]++),e.sym_next===e.sym_end),Fse=Bse,Use=t7,Hse=Lse,$se=Mse,zse=Pse,Vse={_tr_init:Fse,_tr_stored_block:Use,_tr_flush_block:Hse,_tr_tally:$se,_tr_align:zse},jse=(e,t,n,r)=>{let o=e&65535|0,s=e>>>16&65535|0,i=0;for(;n!==0;){i=n>2e3?2e3:n,n-=i;do o=o+t[r++]|0,s=s+o|0;while(--i);o%=65521,s%=65521}return o|s<<16|0},Ey=jse,Gse=()=>{let e,t=[];for(var n=0;n<256;n++){e=n;for(var r=0;r<8;r++)e=e&1?3988292384^e>>>1:e>>>1;t[n]=e}return t},Wse=new Uint32Array(Gse()),qse=(e,t,n,r)=>{let o=Wse,s=r+n;e^=-1;for(let i=r;i>>8^o[(e^t[i])&255];return e^-1},Dr=qse,$l={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"},Yp={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8},{_tr_init:Kse,_tr_stored_block:sv,_tr_flush_block:Yse,_tr_tally:Fu,_tr_align:Zse}=Vse,{Z_NO_FLUSH:Uu,Z_PARTIAL_FLUSH:Xse,Z_FULL_FLUSH:Jse,Z_FINISH:Gs,Z_BLOCK:iF,Z_OK:qr,Z_STREAM_END:aF,Z_STREAM_ERROR:Ea,Z_DATA_ERROR:Qse,Z_BUF_ERROR:qR,Z_DEFAULT_COMPRESSION:eie,Z_FILTERED:tie,Z_HUFFMAN_ONLY:V1,Z_RLE:nie,Z_FIXED:rie,Z_DEFAULT_STRATEGY:oie,Z_UNKNOWN:sie,Z_DEFLATED:J1}=Yp,iie=9,aie=15,cie=8,uie=29,die=256,iv=die+1+uie,lie=30,fie=19,pie=2*iv+1,mie=15,Ot=3,Mu=258,xa=Mu+Ot+1,hie=32,Wp=42,yv=57,av=69,cv=73,uv=91,dv=103,Ul=113,fy=666,Co=1,Zp=2,zl=3,Xp=4,yie=3,Hl=(e,t)=>(e.msg=$l[t],t),cF=e=>e*2-(e>4?9:0),Lu=e=>{let t=e.length;for(;--t>=0;)e[t]=0},bie=e=>{let t,n,r,o=e.w_size;t=e.hash_size,r=t;do n=e.head[--r],e.head[r]=n>=o?n-o:0;while(--t);t=o,r=t;do n=e.prev[--r],e.prev[r]=n>=o?n-o:0;while(--t)},bv=(e,t,n)=>(t<{let n;if(e.legacy_hash)n=e.ins_h=bv(e,e.ins_h,e.window[t+Ot-1]);else{let o=e.window,s=o[t]|o[t+1]<<8|o[t+2]<<16|o[t+3]<<24;n=e.ins_h=Math.imul(s,66521)+66521>>>16&e.hash_mask}let r=e.prev[t&e.w_mask]=e.head[n];return e.head[n]=t,r},Es=e=>{let t=e.state,n=t.pending;n>e.avail_out&&(n=e.avail_out),n!==0&&(e.output.set(t.pending_buf.subarray(t.pending_out,t.pending_out+n),e.next_out),e.next_out+=n,t.pending_out+=n,e.total_out+=n,e.avail_out-=n,t.pending-=n,t.pending===0&&(t.pending_out=0))},xs=(e,t)=>{Yse(e,e.block_start>=0?e.block_start:-1,e.strstart-e.block_start,t),e.block_start=e.strstart,Es(e.strm)},Mt=(e,t)=>{e.pending_buf[e.pending++]=t},ly=(e,t)=>{e.pending_buf[e.pending++]=t>>>8&255,e.pending_buf[e.pending++]=t&255},lv=(e,t,n,r)=>{let o=e.avail_in;return o>r&&(o=r),o===0?0:(e.avail_in-=o,t.set(e.input.subarray(e.next_in,e.next_in+o),n),e.state.wrap===1?e.adler=Ey(e.adler,t,o,n):e.state.wrap===2&&(e.adler=Dr(e.adler,t,o,n)),e.next_in+=o,e.total_in+=o,o)},n7=(e,t)=>{let n=e.max_chain_length,r=e.strstart,o,s,i=e.prev_length,a=e.nice_match,c=e.strstart>e.w_size-xa?e.strstart-(e.w_size-xa):0,u=e.window,d=e.w_mask,l=e.prev,m=e.strstart+Mu,p=u[r+i-1],g=u[r+i];e.prev_length>=e.good_match&&(n>>=2),a>e.lookahead&&(a=e.lookahead);do if(o=t,!(u[o+i]!==g||u[o+i-1]!==p||u[o]!==u[r]||u[++o]!==u[r+1])){r+=2,o++;do;while(u[++r]===u[++o]&&u[++r]===u[++o]&&u[++r]===u[++o]&&u[++r]===u[++o]&&u[++r]===u[++o]&&u[++r]===u[++o]&&u[++r]===u[++o]&&u[++r]===u[++o]&&ri){if(e.match_start=t,i=s,s>=a)break;p=u[r+i-1],g=u[r+i]}}while((t=l[t&d])>c&&--n!==0);return i<=e.lookahead?i:e.lookahead},qp=e=>{let t=e.w_size,n,r,o;do{if(r=e.window_size-e.lookahead-e.strstart,e.strstart>=t+(t-xa)&&(e.window.set(e.window.subarray(t,t+t-r),0),e.match_start-=t,e.strstart-=t,e.block_start-=t,e.insert>e.strstart&&(e.insert=e.strstart),bie(e),r+=t),e.strm.avail_in===0)break;if(n=lv(e.strm,e.window,e.strstart+e.lookahead,r),e.lookahead+=n,e.legacy_hash){if(e.lookahead+e.insert>=Ot)for(o=e.strstart-e.insert,e.ins_h=e.window[o],e.ins_h=bv(e,e.ins_h,e.window[o+1]);e.insert&&(Vl(e,o),o++,e.insert--,!(e.lookahead+e.insertOt)for(o=e.strstart-e.insert;e.insert&&(Vl(e,o),o++,e.insert--,!(e.lookahead+e.insert<=Ot)););}while(e.lookahead{let n=e.pending_buf_size-5>e.w_size?e.w_size:e.pending_buf_size-5,r,o,s,i=0,a=e.strm.avail_in;do{if(r=65535,s=e.bi_valid+42>>3,e.strm.avail_outo+e.strm.avail_in&&(r=o+e.strm.avail_in),r>s&&(r=s),r>8,e.pending_buf[e.pending-2]=~r,e.pending_buf[e.pending-1]=~r>>8,Es(e.strm),o&&(o>r&&(o=r),e.strm.output.set(e.window.subarray(e.block_start,e.block_start+o),e.strm.next_out),e.strm.next_out+=o,e.strm.avail_out-=o,e.strm.total_out+=o,e.block_start+=o,r-=o),r&&(lv(e.strm,e.strm.output,e.strm.next_out,r),e.strm.next_out+=r,e.strm.avail_out-=r,e.strm.total_out+=r)}while(i===0);return a-=e.strm.avail_in,a&&(a>=e.w_size?(e.matches=2,e.window.set(e.strm.input.subarray(e.strm.next_in-e.w_size,e.strm.next_in),0),e.strstart=e.w_size,e.insert=e.strstart):(e.window_size-e.strstart<=a&&(e.strstart-=e.w_size,e.window.set(e.window.subarray(e.w_size,e.w_size+e.strstart),0),e.matches<2&&e.matches++,e.insert>e.strstart&&(e.insert=e.strstart)),e.window.set(e.strm.input.subarray(e.strm.next_in-a,e.strm.next_in),e.strstart),e.strstart+=a,e.insert+=a>e.w_size-e.insert?e.w_size-e.insert:a),e.block_start=e.strstart),e.high_waters&&e.block_start>=e.w_size&&(e.block_start-=e.w_size,e.strstart-=e.w_size,e.window.set(e.window.subarray(e.w_size,e.w_size+e.strstart),0),e.matches<2&&e.matches++,s+=e.w_size,e.insert>e.strstart&&(e.insert=e.strstart)),s>e.strm.avail_in&&(s=e.strm.avail_in),s&&(lv(e.strm,e.window,e.strstart,s),e.strstart+=s,e.insert+=s>e.w_size-e.insert?e.w_size-e.insert:s),e.high_water>3,s=e.pending_buf_size-s>65535?65535:e.pending_buf_size-s,n=s>e.w_size?e.w_size:s,o=e.strstart-e.block_start,(o>=n||(o||t===Gs)&&t!==Uu&&e.strm.avail_in===0&&o<=s)&&(r=o>s?s:o,i=t===Gs&&e.strm.avail_in===0&&r===o?1:0,sv(e,e.block_start,r,i),e.block_start+=r,Es(e.strm)),i?zl:Co)},KR=(e,t)=>{let n,r;for(;;){if(e.lookahead=Ot&&(n=Vl(e,e.strstart)),n!==0&&e.strstart-n<=e.w_size-xa&&(e.match_length=n7(e,n)),e.match_length>=Ot)if(r=Fu(e,e.strstart-e.match_start,e.match_length-Ot),e.lookahead-=e.match_length,e.match_length<=e.max_lazy_match&&e.lookahead>=Ot){e.match_length--;do e.strstart++,n=Vl(e,e.strstart);while(--e.match_length!==0);e.strstart++}else e.strstart+=e.match_length,e.match_length=0,e.legacy_hash&&(e.ins_h=e.window[e.strstart],e.ins_h=bv(e,e.ins_h,e.window[e.strstart+1]));else r=Fu(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++;if(r&&(xs(e,!1),e.strm.avail_out===0))return Co}return e.insert=e.strstart{let n,r,o;for(;;){if(e.lookahead=Ot&&(n=Vl(e,e.strstart)),e.prev_length=e.match_length,e.prev_match=e.match_start,e.match_length=Ot-1,n!==0&&e.prev_length4096)&&(e.match_length=Ot-1)),e.prev_length>=Ot&&e.match_length<=e.prev_length){o=e.strstart+e.lookahead-Ot,r=Fu(e,e.strstart-1-e.prev_match,e.prev_length-Ot),e.lookahead-=e.prev_length-1,e.prev_length-=2;do++e.strstart<=o&&(n=Vl(e,e.strstart));while(--e.prev_length!==0);if(e.match_available=0,e.match_length=Ot-1,e.strstart++,r&&(xs(e,!1),e.strm.avail_out===0))return Co}else if(e.match_available){if(r=Fu(e,0,e.window[e.strstart-1]),r&&xs(e,!1),e.strstart++,e.lookahead--,e.strm.avail_out===0)return Co}else e.match_available=1,e.strstart++,e.lookahead--}return e.match_available&&(r=Fu(e,0,e.window[e.strstart-1]),e.match_available=0),e.insert=e.strstart{let n,r,o,s,i=e.window;for(;;){if(e.lookahead<=Mu){if(qp(e),e.lookahead<=Mu&&t===Uu)return Co;if(e.lookahead===0)break}if(e.match_length=0,e.lookahead>=Ot&&e.strstart>0&&(o=e.strstart-1,r=i[o],r===i[++o]&&r===i[++o]&&r===i[++o])){s=e.strstart+Mu;do;while(r===i[++o]&&r===i[++o]&&r===i[++o]&&r===i[++o]&&r===i[++o]&&r===i[++o]&&r===i[++o]&&r===i[++o]&&oe.lookahead&&(e.match_length=e.lookahead)}if(e.match_length>=Ot?(n=Fu(e,1,e.match_length-Ot),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(n=Fu(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++),n&&(xs(e,!1),e.strm.avail_out===0))return Co}return e.insert=0,t===Gs?(xs(e,!0),e.strm.avail_out===0?zl:Xp):e.sym_next&&(xs(e,!1),e.strm.avail_out===0)?Co:Zp},_ie=(e,t)=>{let n;for(;;){if(e.lookahead===0&&(qp(e),e.lookahead===0)){if(t===Uu)return Co;break}if(e.match_length=0,n=Fu(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++,n&&(xs(e,!1),e.strm.avail_out===0))return Co}return e.insert=0,t===Gs?(xs(e,!0),e.strm.avail_out===0?zl:Xp):e.sym_next&&(xs(e,!1),e.strm.avail_out===0)?Co:Zp};function ga(e,t,n,r,o){this.good_length=e,this.max_lazy=t,this.nice_length=n,this.max_chain=r,this.func=o}var py=[new ga(0,0,0,0,r7),new ga(4,4,8,4,KR),new ga(4,5,16,8,KR),new ga(4,6,32,32,KR),new ga(4,4,16,16,zp),new ga(8,16,32,32,zp),new ga(8,16,128,128,zp),new ga(8,32,128,256,zp),new ga(32,128,258,1024,zp),new ga(32,258,258,4096,zp)],Aie=e=>{e.window_size=2*e.w_size,Lu(e.head),e.max_lazy_match=py[e.level].max_lazy,e.good_match=py[e.level].good_length,e.nice_match=py[e.level].nice_length,e.max_chain_length=py[e.level].max_chain,e.strstart=0,e.block_start=0,e.lookahead=0,e.insert=0,e.match_length=e.prev_length=Ot-1,e.match_available=0,e.ins_h=0};function Eie(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=J1,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.legacy_hash=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new Uint16Array(pie*2),this.dyn_dtree=new Uint16Array((2*lie+1)*2),this.bl_tree=new Uint16Array((2*fie+1)*2),Lu(this.dyn_ltree),Lu(this.dyn_dtree),Lu(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new Uint16Array(mie+1),this.heap=new Uint16Array(2*iv+1),Lu(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new Uint16Array(2*iv+1),Lu(this.depth),this.sym_buf=0,this.lit_bufsize=0,this.sym_next=0,this.sym_end=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}var Sy=e=>{if(!e)return 1;let t=e.state;return!t||t.strm!==e||t.status!==Wp&&t.status!==yv&&t.status!==av&&t.status!==cv&&t.status!==uv&&t.status!==dv&&t.status!==Ul&&t.status!==fy?1:0},o7=e=>{if(Sy(e))return Hl(e,Ea);e.total_in=e.total_out=0,e.data_type=sie;let t=e.state;return t.pending=0,t.pending_out=0,t.wrap<0&&(t.wrap=-t.wrap),t.status=t.wrap===2?yv:t.wrap?Wp:Ul,e.adler=t.wrap===2?0:1,t.last_flush=-2,Kse(t),qr},s7=e=>{let t=o7(e);return t===qr&&Aie(e.state),t},xie=(e,t)=>Sy(e)||e.state.wrap!==2?Ea:(e.state.gzhead=t,qr),i7=(e,t,n,r,o,s,i)=>{if(!e)return Ea;let a=1;if(t===eie&&(t=6),r<0?(a=0,r=-r):r>15&&(a=2,r-=16),o<1||o>iie||n!==J1||r<8||r>15||t<0||t>9||s<0||s>rie||r===8&&a!==1)return Hl(e,Ea);r===8&&(r=9);let c=new Eie;return e.state=c,c.strm=e,c.status=Wp,c.wrap=a,c.gzhead=null,c.w_bits=r,c.w_size=1<i7(e,t,J1,aie,cie,oie),Tie=(e,t)=>{if(Sy(e)||t>iF||t<0)return e?Hl(e,Ea):Ea;let n=e.state;if(!e.output||e.avail_in!==0&&!e.input||n.status===fy&&t!==Gs)return Hl(e,e.avail_out===0?qR:Ea);let r=n.last_flush;if(n.last_flush=t,n.pending!==0){if(Es(e),e.avail_out===0)return n.last_flush=-1,qr}else if(e.avail_in===0&&cF(t)<=cF(r)&&t!==Gs)return Hl(e,qR);if(n.status===fy&&e.avail_in!==0)return Hl(e,qR);if(n.status===Wp&&n.wrap===0&&(n.status=Ul),n.status===Wp){let o=J1+(n.w_bits-8<<4)<<8,s=-1;if(n.strategy>=V1||n.level<2?s=0:n.level<6?s=1:n.level===6?s=2:s=3,o|=s<<6,n.strstart!==0&&(o|=hie),o+=31-o%31,ly(n,o),n.strstart!==0&&(ly(n,e.adler>>>16),ly(n,e.adler&65535)),e.adler=1,n.status=Ul,Es(e),n.pending!==0)return n.last_flush=-1,qr}if(n.status===yv){if(e.adler=0,Mt(n,31),Mt(n,139),Mt(n,8),n.gzhead)Mt(n,(n.gzhead.text?1:0)+(n.gzhead.hcrc?2:0)+(n.gzhead.extra?4:0)+(n.gzhead.name?8:0)+(n.gzhead.comment?16:0)),Mt(n,n.gzhead.time&255),Mt(n,n.gzhead.time>>8&255),Mt(n,n.gzhead.time>>16&255),Mt(n,n.gzhead.time>>24&255),Mt(n,n.level===9?2:n.strategy>=V1||n.level<2?4:0),Mt(n,n.gzhead.os&255),n.gzhead.extra&&n.gzhead.extra.length&&(Mt(n,n.gzhead.extra.length&255),Mt(n,n.gzhead.extra.length>>8&255)),n.gzhead.hcrc&&(e.adler=Dr(e.adler,n.pending_buf,n.pending,0)),n.gzindex=0,n.status=av;else if(Mt(n,0),Mt(n,0),Mt(n,0),Mt(n,0),Mt(n,0),Mt(n,n.level===9?2:n.strategy>=V1||n.level<2?4:0),Mt(n,yie),n.status=Ul,Es(e),n.pending!==0)return n.last_flush=-1,qr}if(n.status===av){if(n.gzhead.extra){let o=n.pending,s=(n.gzhead.extra.length&65535)-n.gzindex;for(;n.pending+s>n.pending_buf_size;){let a=n.pending_buf_size-n.pending;if(n.pending_buf.set(n.gzhead.extra.subarray(n.gzindex,n.gzindex+a),n.pending),n.pending=n.pending_buf_size,n.gzhead.hcrc&&n.pending>o&&(e.adler=Dr(e.adler,n.pending_buf,n.pending-o,o)),n.gzindex+=a,Es(e),n.pending!==0)return n.last_flush=-1,qr;o=0,s-=a}let i=new Uint8Array(n.gzhead.extra);n.pending_buf.set(i.subarray(n.gzindex,n.gzindex+s),n.pending),n.pending+=s,n.gzhead.hcrc&&n.pending>o&&(e.adler=Dr(e.adler,n.pending_buf,n.pending-o,o)),n.gzindex=0}n.status=cv}if(n.status===cv){if(n.gzhead.name){let o=n.pending,s;do{if(n.pending===n.pending_buf_size){if(n.gzhead.hcrc&&n.pending>o&&(e.adler=Dr(e.adler,n.pending_buf,n.pending-o,o)),Es(e),n.pending!==0)return n.last_flush=-1,qr;o=0}n.gzindexo&&(e.adler=Dr(e.adler,n.pending_buf,n.pending-o,o)),n.gzindex=0}n.status=uv}if(n.status===uv){if(n.gzhead.comment){let o=n.pending,s;do{if(n.pending===n.pending_buf_size){if(n.gzhead.hcrc&&n.pending>o&&(e.adler=Dr(e.adler,n.pending_buf,n.pending-o,o)),Es(e),n.pending!==0)return n.last_flush=-1,qr;o=0}n.gzindexo&&(e.adler=Dr(e.adler,n.pending_buf,n.pending-o,o))}n.status=dv}if(n.status===dv){if(n.gzhead.hcrc){if(n.pending+2>n.pending_buf_size&&(Es(e),n.pending!==0))return n.last_flush=-1,qr;Mt(n,e.adler&255),Mt(n,e.adler>>8&255),e.adler=0}if(n.status=Ul,Es(e),n.pending!==0)return n.last_flush=-1,qr}if(e.avail_in!==0||n.lookahead!==0||t!==Uu&&n.status!==fy){let o=n.level===0?r7(n,t):n.strategy===V1?_ie(n,t):n.strategy===nie?gie(n,t):py[n.level].func(n,t);if((o===zl||o===Xp)&&(n.status=fy),o===Co||o===zl)return e.avail_out===0&&(n.last_flush=-1),qr;if(o===Zp&&(t===Xse?Zse(n):t!==iF&&(sv(n,0,0,!1),t===Jse&&(Lu(n.head),n.lookahead===0&&(n.strstart=0,n.block_start=0,n.insert=0))),Es(e),e.avail_out===0))return n.last_flush=-1,qr}return t!==Gs?qr:n.wrap<=0?aF:(n.wrap===2?(Mt(n,e.adler&255),Mt(n,e.adler>>8&255),Mt(n,e.adler>>16&255),Mt(n,e.adler>>24&255),Mt(n,e.total_in&255),Mt(n,e.total_in>>8&255),Mt(n,e.total_in>>16&255),Mt(n,e.total_in>>24&255)):(ly(n,e.adler>>>16),ly(n,e.adler&65535)),Es(e),n.wrap>0&&(n.wrap=-n.wrap),n.pending!==0?qr:aF)},Sie=e=>{if(Sy(e))return Ea;let t=e.state.status;return e.state=null,t===Ul?Hl(e,Qse):qr},Rie=(e,t)=>{let n=t.length;if(Sy(e))return Ea;let r=e.state,o=r.wrap;if(o===2||o===1&&r.status!==Wp||r.lookahead)return Ea;if(o===1&&(e.adler=Ey(e.adler,t,n,0)),r.wrap=0,n>=r.w_size){o===0&&(Lu(r.head),r.strstart=0,r.block_start=0,r.insert=0);let c=new Uint8Array(r.w_size);c.set(t.subarray(n-r.w_size,n),0),t=c,n=r.w_size}let s=e.avail_in,i=e.next_in,a=e.input;for(e.avail_in=n,e.next_in=0,e.input=t,qp(r);r.lookahead>=Ot;){let c=r.strstart,u=r.lookahead-(Ot-1);do Vl(r,c),c++;while(--u);r.strstart=c,r.lookahead=Ot-1,qp(r)}return r.strstart+=r.lookahead,r.block_start=r.strstart,r.insert=r.lookahead,r.lookahead=0,r.match_length=r.prev_length=Ot-1,r.match_available=0,e.next_in=i,e.input=a,e.avail_in=s,r.wrap=o,qr},vie=wie,Iie=i7,Cie=s7,Nie=o7,Oie=xie,kie=Tie,Die=Sie,Bie=Rie,Pie="pako deflate (from Nodeca project)",hy={deflateInit:vie,deflateInit2:Iie,deflateReset:Cie,deflateResetKeep:Nie,deflateSetHeader:Oie,deflate:kie,deflateEnd:Die,deflateSetDictionary:Bie,deflateInfo:Pie},Lie=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),Mie=function(e){let t=Array.prototype.slice.call(arguments,1);for(;t.length;){let n=t.shift();if(n){if(typeof n!="object")throw new TypeError(n+"must be non-object");for(let r in n)Lie(n,r)&&(e[r]=n[r])}}return e},Fie=e=>{let t=0;for(let r=0,o=e.length;r=252?6:e>=248?5:e>=240?4:e>=224?3:e>=192?2:1;xy[254]=xy[255]=1;var Uie=e=>{if(typeof TextEncoder=="function"&&TextEncoder.prototype.encode)return new TextEncoder().encode(e);let t,n,r,o,s,i=e.length,a=0;for(o=0;o>>6,t[s++]=128|n&63):n<65536?(t[s++]=224|n>>>12,t[s++]=128|n>>>6&63,t[s++]=128|n&63):(t[s++]=240|n>>>18,t[s++]=128|n>>>12&63,t[s++]=128|n>>>6&63,t[s++]=128|n&63);return t},Hie=(e,t)=>{if(t<65534&&e.subarray&&a7)return String.fromCharCode.apply(null,e.length===t?e:e.subarray(0,t));let n="";for(let r=0;r{let n=t||e.length;if(typeof TextDecoder=="function"&&TextDecoder.prototype.decode)return new TextDecoder().decode(e.subarray(0,t));let r,o,s=new Array(n*2);for(o=0,r=0;r4){s[o++]=65533,r+=a-1;continue}for(i&=a===2?31:a===3?15:7;a>1&&r1){s[o++]=65533;continue}i<65536?s[o++]=i:(i-=65536,s[o++]=55296|i>>10&1023,s[o++]=56320|i&1023)}return Hie(s,o)},zie=(e,t)=>{t=t||e.length,t>e.length&&(t=e.length);let n=t-1;for(;n>=0&&(e[n]&192)===128;)n--;return n<0||n===0?t:n+xy[e[n]]>t?n:t},wy={string2buf:Uie,buf2string:$ie,utf8border:zie};function Vie(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}var c7=Vie,u7=Object.prototype.toString,{Z_NO_FLUSH:jie,Z_SYNC_FLUSH:Gie,Z_FULL_FLUSH:Wie,Z_FINISH:qie,Z_OK:Z1,Z_STREAM_END:Kie,Z_DEFAULT_COMPRESSION:Yie,Z_DEFAULT_STRATEGY:Zie,Z_DEFLATED:Xie}=Yp,Jie={level:Yie,method:Xie,chunkSize:16384,windowBits:15,memLevel:8,strategy:Zie,legacyHash:!0};function Ry(e){this.options=Q1.assign({},Jie,e||{});let t=this.options;t.raw&&t.windowBits>0?t.windowBits=-t.windowBits:t.gzip&&t.windowBits>0&&t.windowBits<16&&(t.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new c7,this.strm.avail_out=0;let n=hy.deflateInit2(this.strm,t.level,t.method,t.windowBits,t.memLevel,t.strategy,t.legacyHash);if(n!==Z1)throw new Error($l[n]);if(t.header&&hy.deflateSetHeader(this.strm,t.header),t.dictionary){let r;if(typeof t.dictionary=="string"?r=wy.string2buf(t.dictionary):u7.call(t.dictionary)==="[object ArrayBuffer]"?r=new Uint8Array(t.dictionary):r=t.dictionary,n=hy.deflateSetDictionary(this.strm,r),n!==Z1)throw new Error($l[n]);this._dict_set=!0}}Ry.prototype.push=function(e,t){let n=this.strm,r=this.options.chunkSize,o,s;if(this.ended)return!1;for(t===~~t?s=t:s=t===!0?qie:jie,typeof e=="string"?n.input=wy.string2buf(e):u7.call(e)==="[object ArrayBuffer]"?n.input=new Uint8Array(e):n.input=e,n.next_in=0,n.avail_in=n.input.length;;){if(n.avail_out===0&&(n.output=new Uint8Array(r),n.next_out=0,n.avail_out=r),(s===Gie||s===Wie)&&n.avail_out<=6){this.onData(n.output.subarray(0,n.next_out)),n.avail_out=0;continue}if(o=hy.deflate(n,s),o===Kie)return n.next_out>0&&this.onData(n.output.subarray(0,n.next_out)),o=hy.deflateEnd(this.strm),this.onEnd(o),this.ended=!0,o===Z1;if(n.avail_out===0){this.onData(n.output);continue}if(s>0&&n.next_out>0){this.onData(n.output.subarray(0,n.next_out)),n.avail_out=0;continue}if(n.avail_in===0)break}return!0};Ry.prototype.onData=function(e){this.chunks.push(e)};Ry.prototype.onEnd=function(e){e===Z1&&(this.result=Q1.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg};function gv(e,t){let n=new Ry(t);if(n.push(e,!0),n.err)throw n.msg||$l[n.err];return n.result}function Qie(e,t){return t=t||{},t.raw=!0,gv(e,t)}function eae(e,t){return t=t||{},t.gzip=!0,gv(e,t)}var tae=Ry,nae=gv,rae=Qie,oae=eae,sae=Yp,iae={Deflate:tae,deflate:nae,deflateRaw:rae,gzip:oae,constants:sae},j1=16209,aae=16191,cae=function(t,n){let r,o,s,i,a,c,u,d,l,m,p,g,E,x,S,N,C,v,D,F,U,V,$,z,W=t.state;r=t.next_in,$=t.input,o=r+(t.avail_in-5),s=t.next_out,z=t.output,i=s-(n-t.avail_out),a=s+(t.avail_out-257),c=W.dmax,u=W.wsize,d=W.whave,l=W.wnext,m=W.window,p=W.hold,g=W.bits,E=W.lencode,x=W.distcode,S=(1<>>24,p>>>=v,g-=v,v=C>>>16&255,v===0)z[s++]=C&65535;else if(v&16){D=C&65535,v&=15,v&&(g>>=v,g-=v),g<15&&(p+=$[r++]<>>24,p>>>=v,g-=v,v=C>>>16&255,v&16){if(F=C&65535,v&=15,gc){t.msg="invalid distance too far back",W.mode=j1;break e}if(p>>>=v,g-=v,v=s-i,F>v){if(v=F-v,v>d&&W.sane){t.msg="invalid distance too far back",W.mode=j1;break e}if(U=0,V=m,l===0){if(U+=u-v,v2;)z[s++]=V[U++],z[s++]=V[U++],z[s++]=V[U++],D-=3;D&&(z[s++]=V[U++],D>1&&(z[s++]=V[U++]))}else{U=s-F;do z[s++]=z[U++],z[s++]=z[U++],z[s++]=z[U++],D-=3;while(D>2);D&&(z[s++]=z[U++],D>1&&(z[s++]=z[U++]))}}else if((v&64)===0){C=x[(C&65535)+(p&(1<>3,r-=D,g-=D<<3,p&=(1<{let c=a.bits,u=0,d=0,l=0,m=0,p=0,g=0,E=0,x=0,S=0,N=0,C,v,D,F,U,V=null,$,z=new Uint16Array(Vp+1),W=new Uint16Array(Vp+1),X=null,w,f,y;for(u=0;u<=Vp;u++)z[u]=0;for(d=0;d=1&&z[m]===0;m--);if(p>m&&(p=m),m===0)return o[s++]=1<<24|64<<16|0,o[s++]=1<<24|64<<16|0,a.bits=1,0;for(l=1;l0&&(e===lF||m!==1))return-1;for(W[1]=0,u=1;uuF||e===fF&&S>dF)return 1;for(;;){w=u-E,i[d]+1<$?(f=0,y=i[d]):i[d]>=$?(f=X[i[d]-$],y=V[i[d]-$]):(f=96,y=0),C=1<>E)+v]=w<<24|f<<16|y|0;while(v!==0);for(C=1<>=1;if(C!==0?(N&=C-1,N+=C):N=0,d++,--z[u]===0){if(u===m)break;u=t[n+i[d]]}if(u>p&&(N&F)!==D){for(E===0&&(E=p),U+=l,g=u-E,x=1<uF||e===fF&&S>dF)return 1;D=N&F,o[D]=p<<24|g<<16|U-s|0}}return N!==0&&(o[U+N]=u-E<<24|64<<16|0),a.bits=p,0},yy=pae,mae=0,d7=1,l7=2,{Z_FINISH:pF,Z_BLOCK:hae,Z_TREES:G1,Z_OK:jl,Z_STREAM_END:yae,Z_NEED_DICT:bae,Z_STREAM_ERROR:Ws,Z_DATA_ERROR:f7,Z_MEM_ERROR:p7,Z_BUF_ERROR:gae,Z_DEFLATED:mF}=Yp,eA=16180,hF=16181,yF=16182,bF=16183,gF=16184,_F=16185,AF=16186,EF=16187,xF=16188,wF=16189,X1=16190,hc=16191,ZR=16192,TF=16193,XR=16194,SF=16195,RF=16196,vF=16197,IF=16198,W1=16199,q1=16200,CF=16201,NF=16202,OF=16203,kF=16204,DF=16205,JR=16206,BF=16207,PF=16208,Ln=16209,m7=16210,h7=16211,_ae=852,Aae=592,Eae=15,xae=Eae,LF=e=>(e>>>24&255)+(e>>>8&65280)+((e&65280)<<8)+((e&255)<<24);function wae(){this.strm=null,this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new Uint16Array(320),this.work=new Uint16Array(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}var Gl=e=>{if(!e)return 1;let t=e.state;return!t||t.strm!==e||t.modeh7?1:0},y7=e=>{if(Gl(e))return Ws;let t=e.state;return e.total_in=e.total_out=t.total=0,e.msg="",t.wrap&&(e.adler=t.wrap&1),t.mode=eA,t.last=0,t.havedict=0,t.flags=-1,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new Int32Array(_ae),t.distcode=t.distdyn=new Int32Array(Aae),t.sane=1,t.back=-1,jl},b7=e=>{if(Gl(e))return Ws;let t=e.state;return t.wsize=0,t.whave=0,t.wnext=0,y7(e)},g7=(e,t)=>{let n;if(Gl(e))return Ws;let r=e.state;return t<0?(n=0,t=-t):(n=(t>>4)+5,t<48&&(t&=15)),t&&(t<8||t>15)?Ws:(r.window!==null&&r.wbits!==t&&(r.window=null),r.wrap=n,r.wbits=t,b7(e))},_7=(e,t)=>{if(!e)return Ws;let n=new wae;e.state=n,n.strm=e,n.window=null,n.mode=eA;let r=g7(e,t);return r!==jl&&(e.state=null),r},Tae=e=>_7(e,xae),MF=!0,QR,ev,Sae=e=>{if(MF){QR=new Int32Array(512),ev=new Int32Array(32);let t=0;for(;t<144;)e.lens[t++]=8;for(;t<256;)e.lens[t++]=9;for(;t<280;)e.lens[t++]=7;for(;t<288;)e.lens[t++]=8;for(yy(d7,e.lens,0,288,QR,0,e.work,{bits:9}),t=0;t<32;)e.lens[t++]=5;yy(l7,e.lens,0,32,ev,0,e.work,{bits:5}),MF=!1}e.lencode=QR,e.lenbits=9,e.distcode=ev,e.distbits=5},A7=(e,t,n,r)=>{let o,s=e.state;return s.window===null&&(s.window=new Uint8Array(1<=s.wsize?(s.window.set(t.subarray(n-s.wsize,n),0),s.wnext=0,s.whave=s.wsize):(o=s.wsize-s.wnext,o>r&&(o=r),s.window.set(t.subarray(n-r,n-r+o),s.wnext),r-=o,r?(s.window.set(t.subarray(n-r,n),0),s.wnext=r,s.whave=s.wsize):(s.wnext+=o,s.wnext===s.wsize&&(s.wnext=0),s.whave{let n,r,o,s,i,a,c,u,d,l,m,p,g,E,x=0,S,N,C,v,D,F,U,V,$=new Uint8Array(4),z,W,X=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);if(Gl(e)||!e.output||!e.input&&e.avail_in!==0)return Ws;n=e.state,n.mode===hc&&(n.mode=ZR),i=e.next_out,o=e.output,c=e.avail_out,s=e.next_in,r=e.input,a=e.avail_in,u=n.hold,d=n.bits,l=a,m=c,V=jl;e:for(;;)switch(n.mode){case eA:if(n.wrap===0){n.mode=ZR;break}for(;d<16;){if(a===0)break e;a--,u+=r[s++]<>>8&255,n.check=Dr(n.check,$,2,0),u=0,d=0,n.mode=hF;break}if(n.head&&(n.head.done=!1),!(n.wrap&1)||(((u&255)<<8)+(u>>8))%31){e.msg="incorrect header check",n.mode=Ln;break}if((u&15)!==mF){e.msg="unknown compression method",n.mode=Ln;break}if(u>>>=4,d-=4,U=(u&15)+8,n.wbits===0&&(n.wbits=U),U>15||U>n.wbits){e.msg="invalid window size",n.mode=Ln;break}n.dmax=1<>8&1),n.flags&512&&n.wrap&4&&($[0]=u&255,$[1]=u>>>8&255,n.check=Dr(n.check,$,2,0)),u=0,d=0,n.mode=yF;case yF:for(;d<32;){if(a===0)break e;a--,u+=r[s++]<>>8&255,$[2]=u>>>16&255,$[3]=u>>>24&255,n.check=Dr(n.check,$,4,0)),u=0,d=0,n.mode=bF;case bF:for(;d<16;){if(a===0)break e;a--,u+=r[s++]<>8),n.flags&512&&n.wrap&4&&($[0]=u&255,$[1]=u>>>8&255,n.check=Dr(n.check,$,2,0)),u=0,d=0,n.mode=gF;case gF:if(n.flags&1024){for(;d<16;){if(a===0)break e;a--,u+=r[s++]<>>8&255,n.check=Dr(n.check,$,2,0)),u=0,d=0}else n.head&&(n.head.extra=null);n.mode=_F;case _F:if(n.flags&1024&&(p=n.length,p>a&&(p=a),p&&(n.head&&(U=n.head.extra_len-n.length,n.head.extra||(n.head.extra=new Uint8Array(n.head.extra_len)),n.head.extra.set(r.subarray(s,s+p),U)),n.flags&512&&n.wrap&4&&(n.check=Dr(n.check,r,p,s)),a-=p,s+=p,n.length-=p),n.length))break e;n.length=0,n.mode=AF;case AF:if(n.flags&2048){if(a===0)break e;p=0;do U=r[s+p++],n.head&&U&&n.length<65536&&(n.head.name+=String.fromCharCode(U));while(U&&p>9&1,n.head.done=!0),e.adler=n.check=0,n.mode=hc;break;case wF:for(;d<32;){if(a===0)break e;a--,u+=r[s++]<>>=d&7,d-=d&7,n.mode=JR;break}for(;d<3;){if(a===0)break e;a--,u+=r[s++]<>>=1,d-=1,u&3){case 0:n.mode=TF;break;case 1:if(Sae(n),n.mode=W1,t===G1){u>>>=2,d-=2;break e}break;case 2:n.mode=RF;break;case 3:e.msg="invalid block type",n.mode=Ln}u>>>=2,d-=2;break;case TF:for(u>>>=d&7,d-=d&7;d<32;){if(a===0)break e;a--,u+=r[s++]<>>16^65535)){e.msg="invalid stored block lengths",n.mode=Ln;break}if(n.length=u&65535,u=0,d=0,n.mode=XR,t===G1)break e;case XR:n.mode=SF;case SF:if(p=n.length,p){if(p>a&&(p=a),p>c&&(p=c),p===0)break e;o.set(r.subarray(s,s+p),i),a-=p,s+=p,c-=p,i+=p,n.length-=p;break}n.mode=hc;break;case RF:for(;d<14;){if(a===0)break e;a--,u+=r[s++]<>>=5,d-=5,n.ndist=(u&31)+1,u>>>=5,d-=5,n.ncode=(u&15)+4,u>>>=4,d-=4,n.nlen>286||n.ndist>30){e.msg="too many length or distance symbols",n.mode=Ln;break}n.have=0,n.mode=vF;case vF:for(;n.have>>=3,d-=3}for(;n.have<19;)n.lens[X[n.have++]]=0;if(n.lencode=n.lendyn,n.lenbits=7,z={bits:n.lenbits},V=yy(mae,n.lens,0,19,n.lencode,0,n.work,z),n.lenbits=z.bits,V){e.msg="invalid code lengths set",n.mode=Ln;break}n.have=0,n.mode=IF;case IF:for(;n.have>>24,N=x>>>16&255,C=x&65535,!(S<=d);){if(a===0)break e;a--,u+=r[s++]<>>=S,d-=S,n.lens[n.have++]=C;else{if(C===16){for(W=S+2;d>>=S,d-=S,n.have===0){e.msg="invalid bit length repeat",n.mode=Ln;break}U=n.lens[n.have-1],p=3+(u&3),u>>>=2,d-=2}else if(C===17){for(W=S+3;d>>=S,d-=S,U=0,p=3+(u&7),u>>>=3,d-=3}else{for(W=S+7;d>>=S,d-=S,U=0,p=11+(u&127),u>>>=7,d-=7}if(n.have+p>n.nlen+n.ndist){e.msg="invalid bit length repeat",n.mode=Ln;break}for(;p--;)n.lens[n.have++]=U}}if(n.mode===Ln)break;if(n.lens[256]===0){e.msg="invalid code -- missing end-of-block",n.mode=Ln;break}if(n.lenbits=9,z={bits:n.lenbits},V=yy(d7,n.lens,0,n.nlen,n.lencode,0,n.work,z),n.lenbits=z.bits,V){e.msg="invalid literal/lengths set",n.mode=Ln;break}if(n.distbits=6,n.distcode=n.distdyn,z={bits:n.distbits},V=yy(l7,n.lens,n.nlen,n.ndist,n.distcode,0,n.work,z),n.distbits=z.bits,V){e.msg="invalid distances set",n.mode=Ln;break}if(n.mode=W1,t===G1)break e;case W1:n.mode=q1;case q1:if(a>=6&&c>=258){e.next_out=i,e.avail_out=c,e.next_in=s,e.avail_in=a,n.hold=u,n.bits=d,cae(e,m),i=e.next_out,o=e.output,c=e.avail_out,s=e.next_in,r=e.input,a=e.avail_in,u=n.hold,d=n.bits,n.mode===hc&&(n.back=-1);break}for(n.back=0;x=n.lencode[u&(1<>>24,N=x>>>16&255,C=x&65535,!(S<=d);){if(a===0)break e;a--,u+=r[s++]<>v)],S=x>>>24,N=x>>>16&255,C=x&65535,!(v+S<=d);){if(a===0)break e;a--,u+=r[s++]<>>=v,d-=v,n.back+=v}if(u>>>=S,d-=S,n.back+=S,n.length=C,N===0){n.mode=DF;break}if(N&32){n.back=-1,n.mode=hc;break}if(N&64){e.msg="invalid literal/length code",n.mode=Ln;break}n.extra=N&15,n.mode=CF;case CF:if(n.extra){for(W=n.extra;d>>=n.extra,d-=n.extra,n.back+=n.extra}n.was=n.length,n.mode=NF;case NF:for(;x=n.distcode[u&(1<>>24,N=x>>>16&255,C=x&65535,!(S<=d);){if(a===0)break e;a--,u+=r[s++]<>v)],S=x>>>24,N=x>>>16&255,C=x&65535,!(v+S<=d);){if(a===0)break e;a--,u+=r[s++]<>>=v,d-=v,n.back+=v}if(u>>>=S,d-=S,n.back+=S,N&64){e.msg="invalid distance code",n.mode=Ln;break}n.offset=C,n.extra=N&15,n.mode=OF;case OF:if(n.extra){for(W=n.extra;d>>=n.extra,d-=n.extra,n.back+=n.extra}if(n.offset>n.dmax){e.msg="invalid distance too far back",n.mode=Ln;break}n.mode=kF;case kF:if(c===0)break e;if(p=m-c,n.offset>p){if(p=n.offset-p,p>n.whave&&n.sane){e.msg="invalid distance too far back",n.mode=Ln;break}p>n.wnext?(p-=n.wnext,g=n.wsize-p):g=n.wnext-p,p>n.length&&(p=n.length),E=n.window}else E=o,g=i-n.offset,p=n.length;p>c&&(p=c),c-=p,n.length-=p;do o[i++]=E[g++];while(--p);n.length===0&&(n.mode=q1);break;case DF:if(c===0)break e;o[i++]=n.length,c--,n.mode=q1;break;case JR:if(n.wrap){for(;d<32;){if(a===0)break e;a--,u|=r[s++]<{if(Gl(e))return Ws;let t=e.state;return t.window&&(t.window=null),e.state=null,jl},Iae=(e,t)=>{if(Gl(e))return Ws;let n=e.state;return(n.wrap&2)===0?Ws:(n.head=t,t.done=!1,jl)},Cae=(e,t)=>{let n=t.length,r,o,s;return Gl(e)||(r=e.state,r.wrap!==0&&r.mode!==X1)?Ws:r.mode===X1&&(o=1,o=Ey(o,t,n,0),o!==r.check)?f7:(s=A7(e,t,n,n),s?(r.mode=m7,p7):(r.havedict=1,jl))},Nae=b7,Oae=g7,kae=y7,Dae=Tae,Bae=_7,Pae=Rae,Lae=vae,Mae=Iae,Fae=Cae,Uae="pako inflate (from Nodeca project)",_a={inflateReset:Nae,inflateReset2:Oae,inflateResetKeep:kae,inflateInit:Dae,inflateInit2:Bae,inflate:Pae,inflateEnd:Lae,inflateGetHeader:Mae,inflateSetDictionary:Fae,inflateInfo:Uae};function Hae(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}var $ae=Hae,E7=Object.prototype.toString,{Z_NO_FLUSH:zae,Z_FINISH:FF,Z_OK:Gp,Z_STREAM_END:tv,Z_NEED_DICT:nv,Z_STREAM_ERROR:Vae,Z_DATA_ERROR:UF,Z_MEM_ERROR:jae,Z_BUF_ERROR:HF}=Yp,Gae={chunkSize:1024*64,windowBits:15,to:""};function vy(e){this.options=Q1.assign({},Gae,e||{});let t=this.options;t.raw&&t.windowBits>=0&&t.windowBits<16&&(t.windowBits=-t.windowBits,t.windowBits===0&&(t.windowBits=-15)),t.windowBits>=0&&t.windowBits<16&&!(e&&e.windowBits)&&(t.windowBits+=32),t.windowBits>15&&t.windowBits<48&&(t.windowBits&15)===0&&(t.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new c7,this.strm.avail_out=0;let n=_a.inflateInit2(this.strm,t.windowBits);if(n!==Gp)throw new Error($l[n]);if(this.header=new $ae,_a.inflateGetHeader(this.strm,this.header),t.dictionary&&(typeof t.dictionary=="string"?t.dictionary=wy.string2buf(t.dictionary):E7.call(t.dictionary)==="[object ArrayBuffer]"&&(t.dictionary=new Uint8Array(t.dictionary)),t.raw&&(n=_a.inflateSetDictionary(this.strm,t.dictionary),n!==Gp)))throw new Error($l[n])}vy.prototype.push=function(e,t){let n=this.strm,r=this.options.chunkSize,o=this.options.dictionary,s,i,a;if(this.ended)return!1;for(t===~~t?i=t:i=t===!0?FF:zae,E7.call(e)==="[object ArrayBuffer]"?n.input=new Uint8Array(e):n.input=e,n.next_in=0,n.avail_in=n.input.length;;){for(n.avail_out===0&&(n.output=new Uint8Array(r),n.next_out=0,n.avail_out=r),s=_a.inflate(n,i),s===nv&&o&&(s=_a.inflateSetDictionary(n,o),s===Gp?s=_a.inflate(n,i):s===UF&&(s=nv));n.avail_in>0&&s===tv&&n.state.wrap&2&&n.state.flags!==0&&n.input[n.next_in]!==0;)_a.inflateReset(n),s=_a.inflate(n,i);switch(s){case Vae:case UF:case nv:case jae:return this.onEnd(s),this.ended=!0,!1}if(a=n.avail_out,n.next_out&&(n.avail_out===0||s===tv||i>0))if(this.options.to==="string"){let c=wy.utf8border(n.output,n.next_out),u=n.next_out-c,d=wy.buf2string(n.output,c);n.next_out=u,n.avail_out=r-u,u&&n.output.set(n.output.subarray(c,c+u),0),this.onData(d)}else this.onData(n.output.length===n.next_out?n.output:n.output.subarray(0,n.next_out)),n.avail_out=0,n.next_out=0;if(!((s===Gp||s===HF)&&a===0)){if(s===tv)return s=_a.inflateEnd(this.strm),this.onEnd(s),this.ended=!0,!0;if(n.avail_in===0){if(i===FF)return s=_a.inflateEnd(this.strm),this.onEnd(s===Gp?HF:s),this.ended=!0,!1;break}}}return!0};vy.prototype.onData=function(e){this.chunks.push(e)};vy.prototype.onEnd=function(e){e===Gp&&(this.options.to==="string"?this.result=this.chunks.join(""):this.result=Q1.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg};function _v(e,t){let n=new vy(t);if(n.push(e,!0),n.err)throw n.msg||$l[n.err];return n.result}function Wae(e,t){return t=t||{},t.raw=!0,_v(e,t)}var qae=vy,Kae=_v,Yae=Wae,Zae=_v,Xae=Yp,Jae={Inflate:qae,inflate:Kae,inflateRaw:Yae,ungzip:Zae,constants:Xae},{Deflate:ZIe,deflate:XIe,deflateRaw:JIe,gzip:QIe}=iae,{Inflate:eCe,inflate:tCe,inflateRaw:nCe,ungzip:rCe}=Jae;var oce=Ur(w7());var uCe=ft.struct([ft.publicKey("authority"),ft.vecU8("data")]);var Tv=class extends TypeError{constructor(t,n){let r,{message:o,...s}=t,{path:i}=t,a=i.length===0?o:"At path: "+i.join(".")+" -- "+o;super(a),this.value=void 0,this.key=void 0,this.type=void 0,this.refinement=void 0,this.path=void 0,this.branch=void 0,this.failures=void 0,Object.assign(this,s),this.name=this.constructor.name,this.failures=()=>{var c;return(c=r)!=null?c:r=[t,...n()]}}};function sce(e){return Jp(e)&&typeof e[Symbol.iterator]=="function"}function Jp(e){return typeof e=="object"&&e!=null}function $u(e){return typeof e=="string"?JSON.stringify(e):""+e}function ice(e){let{done:t,value:n}=e.next();return t?void 0:n}function ace(e,t,n,r){if(e===!0)return;e===!1?e={}:typeof e=="string"&&(e={message:e});let{path:o,branch:s}=t,{type:i}=n,{refinement:a,message:c="Expected a value of type `"+i+"`"+(a?" with refinement `"+a+"`":"")+", but received: `"+$u(r)+"`"}=e;return{value:r,type:i,refinement:a,key:o[o.length-1],path:o,branch:s,...e,message:c}}function*T7(e,t,n,r){sce(e)||(e=[e]);for(let o of e){let s=ace(o,t,n,r);s&&(yield s)}}function*Mv(e,t,n){n===void 0&&(n={});let{path:r=[],branch:o=[e],coerce:s=!1,mask:i=!1}=n,a={path:r,branch:o};if(s&&(e=t.coercer(e,a),i&&t.type!=="type"&&Jp(t.schema)&&Jp(e)&&!Array.isArray(e)))for(let u in e)t.schema[u]===void 0&&delete e[u];let c=!0;for(let u of t.validator(e,a))c=!1,yield[u,void 0];for(let[u,d,l]of t.entries(e,a)){let m=Mv(d,l,{path:u===void 0?r:[...r,u],branch:u===void 0?o:[...o,d],coerce:s,mask:i});for(let p of m)p[0]?(c=!1,yield[p[0],void 0]):s&&(d=p[1],u===void 0?e=d:e instanceof Map?e.set(u,d):e instanceof Set?e.add(d):Jp(e)&&(e[u]=d))}if(c)for(let u of t.refiner(e,a))c=!1,yield[u,void 0];c&&(yield[void 0,e])}var wa=class{constructor(t){this.TYPE=void 0,this.type=void 0,this.schema=void 0,this.coercer=void 0,this.validator=void 0,this.refiner=void 0,this.entries=void 0;let{type:n,schema:r,validator:o,refiner:s,coercer:i=c=>c,entries:a=function*(){}}=t;this.type=n,this.schema=r,this.entries=a,this.coercer=i,o?this.validator=(c,u)=>{let d=o(c,u);return T7(d,u,this,c)}:this.validator=()=>[],s?this.refiner=(c,u)=>{let d=s(c,u);return T7(d,u,this,c)}:this.refiner=()=>[]}assert(t){return cce(t,this)}create(t){return v7(t,this)}is(t){return I7(t,this)}mask(t){return uce(t,this)}validate(t,n){return n===void 0&&(n={}),Cy(t,this,n)}};function cce(e,t){let n=Cy(e,t);if(n[0])throw n[0]}function v7(e,t){let n=Cy(e,t,{coerce:!0});if(n[0])throw n[0];return n[1]}function uce(e,t){let n=Cy(e,t,{coerce:!0,mask:!0});if(n[0])throw n[0];return n[1]}function I7(e,t){return!Cy(e,t)[0]}function Cy(e,t,n){n===void 0&&(n={});let r=Mv(e,t,n),o=ice(r);return o[0]?[new Tv(o[0],function*(){for(let i of r)i[0]&&(yield i[0])}),void 0]:[void 0,o[1]]}function Ny(e,t){return new wa({type:e,schema:null,validator:t})}function dce(){return Ny("any",()=>!0)}function Ev(e){return new wa({type:"array",schema:e,*entries(t){if(e&&Array.isArray(t))for(let[n,r]of t.entries())yield[n,r,e]},coercer(t){return Array.isArray(t)?t.slice():t},validator(t){return Array.isArray(t)||"Expected an array value, but received: "+$u(t)}})}function lce(){return Ny("boolean",e=>typeof e=="boolean")}function S7(e){let t=$u(e),n=typeof e;return new wa({type:"literal",schema:n==="string"||n==="number"||n==="boolean"?e:null,validator(r){return r===e||"Expected the literal `"+t+"`, but received: "+$u(r)}})}function nA(e){return new wa({...e,validator:(t,n)=>t===null||e.validator(t,n),refiner:(t,n)=>t===null||e.refiner(t,n)})}function oA(){return Ny("number",e=>typeof e=="number"&&!isNaN(e)||"Expected a number, but received: "+$u(e))}function sA(e){return new wa({...e,validator:(t,n)=>t===void 0||e.validator(t,n),refiner:(t,n)=>t===void 0||e.refiner(t,n)})}function Wl(){return Ny("string",e=>typeof e=="string"||"Expected a string, but received: "+$u(e))}function Hu(e){let t=Object.keys(e);return new wa({type:"type",schema:e,*entries(n){if(Jp(n))for(let r of t)yield[r,n[r],e[r]]},validator(n){return Jp(n)||"Expected an object, but received: "+$u(n)}})}function C7(e){let t=e.map(n=>n.type).join(" | ");return new wa({type:"union",schema:null,coercer(n,r){return(e.find(s=>{let[i]=s.validate(n,{coerce:!0});return!i})||Fv()).coercer(n,r)},validator(n,r){let o=[];for(let s of e){let[...i]=Mv(n,s,r),[a]=i;if(a[0])for(let[c]of i)c&&o.push(c);else return[]}return["Expected the value to satisfy a union of `"+t+"`, but received: "+$u(n),...o]}})}function Fv(){return Ny("unknown",()=>!0)}function fce(e,t,n){return new wa({...e,coercer:(r,o)=>I7(r,t)?e.coercer(n(r,o),o):e.coercer(r,o)})}function pce(e){return fce(N7(e),mce,t=>"error"in t?t:{...t,result:v7(t.result,e)})}var mce=N7(Fv());function N7(e){return C7([Hu({jsonrpc:S7("2.0"),id:Wl(),result:e}),Hu({jsonrpc:S7("2.0"),id:Wl(),error:Hu({code:Fv(),message:Wl(),data:sA(dce())})})])}function hce(e){return pce(Hu({context:Hu({slot:oA()}),value:e}))}var dCe=hce(Hu({err:nA(C7([Hu({}),Wl()])),logs:nA(Ev(Wl())),accounts:sA(nA(Ev(nA(Hu({executable:lce(),owner:Wl(),lamports:oA(),data:Ev(Wl()),rentEpoch:sA(oA())}))))),unitsConsumed:sA(oA())}));var yce=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function bce(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var ee={};Object.defineProperty(ee,"__esModule",{value:!0});var O7=ee.ANCHOR_ERROR__REQUIRE_EQ_VIOLATED=vU=ee.ANCHOR_ERROR__REQUIRE_VIOLATED=RU=ee.ANCHOR_ERROR__CONSTRAINT_MINT_TRANSFER_HOOK_EXTENSION_PROGRAM_ID=SU=ee.ANCHOR_ERROR__CONSTRAINT_MINT_TRANSFER_HOOK_EXTENSION_AUTHORITY=TU=ee.ANCHOR_ERROR__CONSTRAINT_MINT_TRANSFER_HOOK_EXTENSION=wU=ee.ANCHOR_ERROR__CONSTRAINT_MINT_PERMANENT_DELEGATE_EXTENSION_DELEGATE=xU=ee.ANCHOR_ERROR__CONSTRAINT_MINT_PERMANENT_DELEGATE_EXTENSION=EU=ee.ANCHOR_ERROR__CONSTRAINT_MINT_CLOSE_AUTHORITY_EXTENSION_AUTHORITY=AU=ee.ANCHOR_ERROR__CONSTRAINT_MINT_CLOSE_AUTHORITY_EXTENSION=_U=ee.ANCHOR_ERROR__CONSTRAINT_MINT_METADATA_POINTER_EXTENSION_METADATA_ADDRESS=gU=ee.ANCHOR_ERROR__CONSTRAINT_MINT_METADATA_POINTER_EXTENSION_AUTHORITY=bU=ee.ANCHOR_ERROR__CONSTRAINT_MINT_METADATA_POINTER_EXTENSION=yU=ee.ANCHOR_ERROR__CONSTRAINT_MINT_GROUP_MEMBER_POINTER_EXTENSION_MEMBER_ADDRESS=hU=ee.ANCHOR_ERROR__CONSTRAINT_MINT_GROUP_MEMBER_POINTER_EXTENSION_AUTHORITY=mU=ee.ANCHOR_ERROR__CONSTRAINT_MINT_GROUP_MEMBER_POINTER_EXTENSION=pU=ee.ANCHOR_ERROR__CONSTRAINT_MINT_GROUP_POINTER_EXTENSION_GROUP_ADDRESS=fU=ee.ANCHOR_ERROR__CONSTRAINT_MINT_GROUP_POINTER_EXTENSION_AUTHORITY=lU=ee.ANCHOR_ERROR__CONSTRAINT_MINT_GROUP_POINTER_EXTENSION=dU=ee.ANCHOR_ERROR__CONSTRAINT_ASSOCIATED_TOKEN_TOKEN_PROGRAM=uU=ee.ANCHOR_ERROR__CONSTRAINT_MINT_TOKEN_PROGRAM=cU=ee.ANCHOR_ERROR__CONSTRAINT_TOKEN_TOKEN_PROGRAM=aU=ee.ANCHOR_ERROR__CONSTRAINT_ACCOUNT_IS_NONE=iU=ee.ANCHOR_ERROR__CONSTRAINT_SPACE=sU=ee.ANCHOR_ERROR__CONSTRAINT_MINT_DECIMALS=oU=ee.ANCHOR_ERROR__CONSTRAINT_MINT_FREEZE_AUTHORITY=rU=ee.ANCHOR_ERROR__CONSTRAINT_MINT_MINT_AUTHORITY=nU=ee.ANCHOR_ERROR__CONSTRAINT_TOKEN_OWNER=tU=ee.ANCHOR_ERROR__CONSTRAINT_TOKEN_MINT=eU=ee.ANCHOR_ERROR__CONSTRAINT_ZERO=Q7=ee.ANCHOR_ERROR__CONSTRAINT_ADDRESS=J7=ee.ANCHOR_ERROR__CONSTRAINT_CLOSE=X7=ee.ANCHOR_ERROR__CONSTRAINT_ASSOCIATED_INIT=Z7=ee.ANCHOR_ERROR__CONSTRAINT_ASSOCIATED=Y7=ee.ANCHOR_ERROR__CONSTRAINT_STATE=K7=ee.ANCHOR_ERROR__CONSTRAINT_EXECUTABLE=q7=ee.ANCHOR_ERROR__CONSTRAINT_SEEDS=W7=ee.ANCHOR_ERROR__CONSTRAINT_RENT_EXEMPT=G7=ee.ANCHOR_ERROR__CONSTRAINT_OWNER=j7=ee.ANCHOR_ERROR__CONSTRAINT_RAW=V7=ee.ANCHOR_ERROR__CONSTRAINT_SIGNER=z7=ee.ANCHOR_ERROR__CONSTRAINT_HAS_ONE=$7=ee.ANCHOR_ERROR__CONSTRAINT_MUT=H7=ee.ANCHOR_ERROR__EVENT_INSTRUCTION_STUB=U7=ee.ANCHOR_ERROR__IDL_ACCOUNT_NOT_EMPTY=F7=ee.ANCHOR_ERROR__IDL_INSTRUCTION_INVALID_PROGRAM=M7=ee.ANCHOR_ERROR__IDL_INSTRUCTION_STUB=L7=ee.ANCHOR_ERROR__INSTRUCTION_DID_NOT_SERIALIZE=P7=ee.ANCHOR_ERROR__INSTRUCTION_DID_NOT_DESERIALIZE=B7=ee.ANCHOR_ERROR__INSTRUCTION_FALLBACK_NOT_FOUND=D7=ee.ANCHOR_ERROR__INSTRUCTION_MISSING=void 0,k7=ee.ANCHOR_ERROR__DEPRECATED=QU=ee.ANCHOR_ERROR__INVALID_NUMERIC_CONVERSION=JU=ee.ANCHOR_ERROR__TRYING_TO_INIT_PAYER_AS_PROGRAM_ACCOUNT=XU=ee.ANCHOR_ERROR__DECLARED_PROGRAM_ID_MISMATCH=ZU=ee.ANCHOR_ERROR__ACCOUNT_DUPLICATE_REALLOCS=YU=ee.ANCHOR_ERROR__ACCOUNT_REALLOC_EXCEEDS_LIMIT=KU=ee.ANCHOR_ERROR__ACCOUNT_SYSVAR_MISMATCH=qU=ee.ANCHOR_ERROR__ACCOUNT_NOT_ASSOCIATED_TOKEN_ACCOUNT=WU=ee.ANCHOR_ERROR__ACCOUNT_NOT_PROGRAM_DATA=GU=ee.ANCHOR_ERROR__ACCOUNT_NOT_INITIALIZED=jU=ee.ANCHOR_ERROR__ACCOUNT_NOT_SYSTEM_OWNED=VU=ee.ANCHOR_ERROR__ACCOUNT_NOT_SIGNER=zU=ee.ANCHOR_ERROR__INVALID_PROGRAM_EXECUTABLE=$U=ee.ANCHOR_ERROR__INVALID_PROGRAM_ID=HU=ee.ANCHOR_ERROR__ACCOUNT_OWNED_BY_WRONG_PROGRAM=UU=ee.ANCHOR_ERROR__ACCOUNT_NOT_MUTABLE=FU=ee.ANCHOR_ERROR__ACCOUNT_NOT_ENOUGH_KEYS=MU=ee.ANCHOR_ERROR__ACCOUNT_DID_NOT_SERIALIZE=LU=ee.ANCHOR_ERROR__ACCOUNT_DID_NOT_DESERIALIZE=PU=ee.ANCHOR_ERROR__ACCOUNT_DISCRIMINATOR_MISMATCH=BU=ee.ANCHOR_ERROR__ACCOUNT_DISCRIMINATOR_NOT_FOUND=DU=ee.ANCHOR_ERROR__ACCOUNT_DISCRIMINATOR_ALREADY_SET=kU=ee.ANCHOR_ERROR__REQUIRE_GTE_VIOLATED=OU=ee.ANCHOR_ERROR__REQUIRE_GT_VIOLATED=NU=ee.ANCHOR_ERROR__REQUIRE_KEYS_NEQ_VIOLATED=CU=ee.ANCHOR_ERROR__REQUIRE_NEQ_VIOLATED=IU=ee.ANCHOR_ERROR__REQUIRE_KEYS_EQ_VIOLATED=void 0,D7=ee.ANCHOR_ERROR__INSTRUCTION_MISSING=100,B7=ee.ANCHOR_ERROR__INSTRUCTION_FALLBACK_NOT_FOUND=101,P7=ee.ANCHOR_ERROR__INSTRUCTION_DID_NOT_DESERIALIZE=102,L7=ee.ANCHOR_ERROR__INSTRUCTION_DID_NOT_SERIALIZE=103,M7=ee.ANCHOR_ERROR__IDL_INSTRUCTION_STUB=1e3,F7=ee.ANCHOR_ERROR__IDL_INSTRUCTION_INVALID_PROGRAM=1001,U7=ee.ANCHOR_ERROR__IDL_ACCOUNT_NOT_EMPTY=1002,H7=ee.ANCHOR_ERROR__EVENT_INSTRUCTION_STUB=1500,$7=ee.ANCHOR_ERROR__CONSTRAINT_MUT=2e3,z7=ee.ANCHOR_ERROR__CONSTRAINT_HAS_ONE=2001,V7=ee.ANCHOR_ERROR__CONSTRAINT_SIGNER=2002,j7=ee.ANCHOR_ERROR__CONSTRAINT_RAW=2003,G7=ee.ANCHOR_ERROR__CONSTRAINT_OWNER=2004,W7=ee.ANCHOR_ERROR__CONSTRAINT_RENT_EXEMPT=2005,q7=ee.ANCHOR_ERROR__CONSTRAINT_SEEDS=2006,K7=ee.ANCHOR_ERROR__CONSTRAINT_EXECUTABLE=2007,Y7=ee.ANCHOR_ERROR__CONSTRAINT_STATE=2008,Z7=ee.ANCHOR_ERROR__CONSTRAINT_ASSOCIATED=2009,X7=ee.ANCHOR_ERROR__CONSTRAINT_ASSOCIATED_INIT=2010,J7=ee.ANCHOR_ERROR__CONSTRAINT_CLOSE=2011,Q7=ee.ANCHOR_ERROR__CONSTRAINT_ADDRESS=2012,eU=ee.ANCHOR_ERROR__CONSTRAINT_ZERO=2013,tU=ee.ANCHOR_ERROR__CONSTRAINT_TOKEN_MINT=2014,nU=ee.ANCHOR_ERROR__CONSTRAINT_TOKEN_OWNER=2015,rU=ee.ANCHOR_ERROR__CONSTRAINT_MINT_MINT_AUTHORITY=2016,oU=ee.ANCHOR_ERROR__CONSTRAINT_MINT_FREEZE_AUTHORITY=2017,sU=ee.ANCHOR_ERROR__CONSTRAINT_MINT_DECIMALS=2018,iU=ee.ANCHOR_ERROR__CONSTRAINT_SPACE=2019,aU=ee.ANCHOR_ERROR__CONSTRAINT_ACCOUNT_IS_NONE=2020,cU=ee.ANCHOR_ERROR__CONSTRAINT_TOKEN_TOKEN_PROGRAM=2021,uU=ee.ANCHOR_ERROR__CONSTRAINT_MINT_TOKEN_PROGRAM=2022,dU=ee.ANCHOR_ERROR__CONSTRAINT_ASSOCIATED_TOKEN_TOKEN_PROGRAM=2023,lU=ee.ANCHOR_ERROR__CONSTRAINT_MINT_GROUP_POINTER_EXTENSION=2024,fU=ee.ANCHOR_ERROR__CONSTRAINT_MINT_GROUP_POINTER_EXTENSION_AUTHORITY=2025,pU=ee.ANCHOR_ERROR__CONSTRAINT_MINT_GROUP_POINTER_EXTENSION_GROUP_ADDRESS=2026,mU=ee.ANCHOR_ERROR__CONSTRAINT_MINT_GROUP_MEMBER_POINTER_EXTENSION=2027,hU=ee.ANCHOR_ERROR__CONSTRAINT_MINT_GROUP_MEMBER_POINTER_EXTENSION_AUTHORITY=2028,yU=ee.ANCHOR_ERROR__CONSTRAINT_MINT_GROUP_MEMBER_POINTER_EXTENSION_MEMBER_ADDRESS=2029,bU=ee.ANCHOR_ERROR__CONSTRAINT_MINT_METADATA_POINTER_EXTENSION=2030,gU=ee.ANCHOR_ERROR__CONSTRAINT_MINT_METADATA_POINTER_EXTENSION_AUTHORITY=2031,_U=ee.ANCHOR_ERROR__CONSTRAINT_MINT_METADATA_POINTER_EXTENSION_METADATA_ADDRESS=2032,AU=ee.ANCHOR_ERROR__CONSTRAINT_MINT_CLOSE_AUTHORITY_EXTENSION=2033,EU=ee.ANCHOR_ERROR__CONSTRAINT_MINT_CLOSE_AUTHORITY_EXTENSION_AUTHORITY=2034,xU=ee.ANCHOR_ERROR__CONSTRAINT_MINT_PERMANENT_DELEGATE_EXTENSION=2035,wU=ee.ANCHOR_ERROR__CONSTRAINT_MINT_PERMANENT_DELEGATE_EXTENSION_DELEGATE=2036,TU=ee.ANCHOR_ERROR__CONSTRAINT_MINT_TRANSFER_HOOK_EXTENSION=2037,SU=ee.ANCHOR_ERROR__CONSTRAINT_MINT_TRANSFER_HOOK_EXTENSION_AUTHORITY=2038,RU=ee.ANCHOR_ERROR__CONSTRAINT_MINT_TRANSFER_HOOK_EXTENSION_PROGRAM_ID=2039,vU=ee.ANCHOR_ERROR__REQUIRE_VIOLATED=2500;O7=ee.ANCHOR_ERROR__REQUIRE_EQ_VIOLATED=2501;var IU=ee.ANCHOR_ERROR__REQUIRE_KEYS_EQ_VIOLATED=2502,CU=ee.ANCHOR_ERROR__REQUIRE_NEQ_VIOLATED=2503,NU=ee.ANCHOR_ERROR__REQUIRE_KEYS_NEQ_VIOLATED=2504,OU=ee.ANCHOR_ERROR__REQUIRE_GT_VIOLATED=2505,kU=ee.ANCHOR_ERROR__REQUIRE_GTE_VIOLATED=2506,DU=ee.ANCHOR_ERROR__ACCOUNT_DISCRIMINATOR_ALREADY_SET=3e3,BU=ee.ANCHOR_ERROR__ACCOUNT_DISCRIMINATOR_NOT_FOUND=3001,PU=ee.ANCHOR_ERROR__ACCOUNT_DISCRIMINATOR_MISMATCH=3002,LU=ee.ANCHOR_ERROR__ACCOUNT_DID_NOT_DESERIALIZE=3003,MU=ee.ANCHOR_ERROR__ACCOUNT_DID_NOT_SERIALIZE=3004,FU=ee.ANCHOR_ERROR__ACCOUNT_NOT_ENOUGH_KEYS=3005,UU=ee.ANCHOR_ERROR__ACCOUNT_NOT_MUTABLE=3006,HU=ee.ANCHOR_ERROR__ACCOUNT_OWNED_BY_WRONG_PROGRAM=3007,$U=ee.ANCHOR_ERROR__INVALID_PROGRAM_ID=3008,zU=ee.ANCHOR_ERROR__INVALID_PROGRAM_EXECUTABLE=3009,VU=ee.ANCHOR_ERROR__ACCOUNT_NOT_SIGNER=3010,jU=ee.ANCHOR_ERROR__ACCOUNT_NOT_SYSTEM_OWNED=3011,GU=ee.ANCHOR_ERROR__ACCOUNT_NOT_INITIALIZED=3012,WU=ee.ANCHOR_ERROR__ACCOUNT_NOT_PROGRAM_DATA=3013,qU=ee.ANCHOR_ERROR__ACCOUNT_NOT_ASSOCIATED_TOKEN_ACCOUNT=3014,KU=ee.ANCHOR_ERROR__ACCOUNT_SYSVAR_MISMATCH=3015,YU=ee.ANCHOR_ERROR__ACCOUNT_REALLOC_EXCEEDS_LIMIT=3016,ZU=ee.ANCHOR_ERROR__ACCOUNT_DUPLICATE_REALLOCS=3017,XU=ee.ANCHOR_ERROR__DECLARED_PROGRAM_ID_MISMATCH=4100,JU=ee.ANCHOR_ERROR__TRYING_TO_INIT_PAYER_AS_PROGRAM_ACCOUNT=4101,QU=ee.ANCHOR_ERROR__INVALID_NUMERIC_CONVERSION=4102;k7=ee.ANCHOR_ERROR__DEPRECATED=5e3;var Ae={InstructionMissing:D7,InstructionFallbackNotFound:B7,InstructionDidNotDeserialize:P7,InstructionDidNotSerialize:L7,IdlInstructionStub:M7,IdlInstructionInvalidProgram:F7,IdlAccountNotEmpty:U7,EventInstructionStub:H7,ConstraintMut:$7,ConstraintHasOne:z7,ConstraintSigner:V7,ConstraintRaw:j7,ConstraintOwner:G7,ConstraintRentExempt:W7,ConstraintSeeds:q7,ConstraintExecutable:K7,ConstraintState:Y7,ConstraintAssociated:Z7,ConstraintAssociatedInit:X7,ConstraintClose:J7,ConstraintAddress:Q7,ConstraintZero:eU,ConstraintTokenMint:tU,ConstraintTokenOwner:nU,ConstraintMintMintAuthority:rU,ConstraintMintFreezeAuthority:oU,ConstraintMintDecimals:sU,ConstraintSpace:iU,ConstraintAccountIsNone:aU,ConstraintTokenTokenProgram:cU,ConstraintMintTokenProgram:uU,ConstraintAssociatedTokenTokenProgram:dU,ConstraintMintGroupPointerExtension:lU,ConstraintMintGroupPointerExtensionAuthority:fU,ConstraintMintGroupPointerExtensionGroupAddress:pU,ConstraintMintGroupMemberPointerExtension:mU,ConstraintMintGroupMemberPointerExtensionAuthority:hU,ConstraintMintGroupMemberPointerExtensionMemberAddress:yU,ConstraintMintMetadataPointerExtension:bU,ConstraintMintMetadataPointerExtensionAuthority:gU,ConstraintMintMetadataPointerExtensionMetadataAddress:_U,ConstraintMintCloseAuthorityExtension:AU,ConstraintMintCloseAuthorityExtensionAuthority:EU,ConstraintMintPermanentDelegateExtension:xU,ConstraintMintPermanentDelegateExtensionDelegate:wU,ConstraintMintTransferHookExtension:TU,ConstraintMintTransferHookExtensionAuthority:SU,ConstraintMintTransferHookExtensionProgramId:RU,RequireViolated:vU,RequireEqViolated:O7,RequireKeysEqViolated:IU,RequireNeqViolated:CU,RequireKeysNeqViolated:NU,RequireGtViolated:OU,RequireGteViolated:kU,AccountDiscriminatorAlreadySet:DU,AccountDiscriminatorNotFound:BU,AccountDiscriminatorMismatch:PU,AccountDidNotDeserialize:LU,AccountDidNotSerialize:MU,AccountNotEnoughKeys:FU,AccountNotMutable:UU,AccountOwnedByWrongProgram:HU,InvalidProgramId:$U,InvalidProgramExecutable:zU,AccountNotSigner:VU,AccountNotSystemOwned:jU,AccountNotInitialized:GU,AccountNotProgramData:WU,AccountNotAssociatedTokenAccount:qU,AccountSysvarMismatch:KU,AccountReallocExceedsLimit:YU,AccountDuplicateReallocs:ZU,DeclaredProgramIdMismatch:XU,TryingToInitPayerAsProgramAccount:JU,InvalidNumericConversion:QU,Deprecated:k7},lCe=new Map([[Ae.InstructionMissing,"Instruction discriminator not provided"],[Ae.InstructionFallbackNotFound,"Fallback functions are not supported"],[Ae.InstructionDidNotDeserialize,"The program could not deserialize the given instruction"],[Ae.InstructionDidNotSerialize,"The program could not serialize the given instruction"],[Ae.IdlInstructionStub,"The program was compiled without idl instructions"],[Ae.IdlInstructionInvalidProgram,"The transaction was given an invalid program for the IDL instruction"],[Ae.IdlAccountNotEmpty,"IDL account must be empty in order to resize, try closing first"],[Ae.EventInstructionStub,"The program was compiled without `event-cpi` feature"],[Ae.ConstraintMut,"A mut constraint was violated"],[Ae.ConstraintHasOne,"A has one constraint was violated"],[Ae.ConstraintSigner,"A signer constraint was violated"],[Ae.ConstraintRaw,"A raw constraint was violated"],[Ae.ConstraintOwner,"An owner constraint was violated"],[Ae.ConstraintRentExempt,"A rent exemption constraint was violated"],[Ae.ConstraintSeeds,"A seeds constraint was violated"],[Ae.ConstraintExecutable,"An executable constraint was violated"],[Ae.ConstraintState,"Deprecated Error, feel free to replace with something else"],[Ae.ConstraintAssociated,"An associated constraint was violated"],[Ae.ConstraintAssociatedInit,"An associated init constraint was violated"],[Ae.ConstraintClose,"A close constraint was violated"],[Ae.ConstraintAddress,"An address constraint was violated"],[Ae.ConstraintZero,"Expected zero account discriminant"],[Ae.ConstraintTokenMint,"A token mint constraint was violated"],[Ae.ConstraintTokenOwner,"A token owner constraint was violated"],[Ae.ConstraintMintMintAuthority,"A mint mint authority constraint was violated"],[Ae.ConstraintMintFreezeAuthority,"A mint freeze authority constraint was violated"],[Ae.ConstraintMintDecimals,"A mint decimals constraint was violated"],[Ae.ConstraintSpace,"A space constraint was violated"],[Ae.ConstraintAccountIsNone,"A required account for the constraint is None"],[Ae.ConstraintTokenTokenProgram,"A token account token program constraint was violated"],[Ae.ConstraintMintTokenProgram,"A mint token program constraint was violated"],[Ae.ConstraintAssociatedTokenTokenProgram,"An associated token account token program constraint was violated"],[Ae.ConstraintMintGroupPointerExtension,"A group pointer extension constraint was violated"],[Ae.ConstraintMintGroupPointerExtensionAuthority,"A group pointer extension authority constraint was violated"],[Ae.ConstraintMintGroupPointerExtensionGroupAddress,"A group pointer extension group address constraint was violated"],[Ae.ConstraintMintGroupMemberPointerExtension,"A group member pointer extension constraint was violated"],[Ae.ConstraintMintGroupMemberPointerExtensionAuthority,"A group member pointer extension authority constraint was violated"],[Ae.ConstraintMintGroupMemberPointerExtensionMemberAddress,"A group member pointer extension group address constraint was violated"],[Ae.ConstraintMintMetadataPointerExtension,"A metadata pointer extension constraint was violated"],[Ae.ConstraintMintMetadataPointerExtensionAuthority,"A metadata pointer extension authority constraint was violated"],[Ae.ConstraintMintMetadataPointerExtensionMetadataAddress,"A metadata pointer extension metadata address constraint was violated"],[Ae.ConstraintMintCloseAuthorityExtension,"A close authority constraint was violated"],[Ae.ConstraintMintCloseAuthorityExtensionAuthority,"A close authority extension authority constraint was violated"],[Ae.ConstraintMintPermanentDelegateExtension,"A permanent delegate extension constraint was violated"],[Ae.ConstraintMintPermanentDelegateExtensionDelegate,"A permanent delegate extension delegate constraint was violated"],[Ae.ConstraintMintTransferHookExtension,"A transfer hook extension constraint was violated"],[Ae.ConstraintMintTransferHookExtensionAuthority,"A transfer hook extension authority constraint was violated"],[Ae.ConstraintMintTransferHookExtensionProgramId,"A transfer hook extension transfer hook program id constraint was violated"],[Ae.RequireViolated,"A require expression was violated"],[Ae.RequireEqViolated,"A require_eq expression was violated"],[Ae.RequireKeysEqViolated,"A require_keys_eq expression was violated"],[Ae.RequireNeqViolated,"A require_neq expression was violated"],[Ae.RequireKeysNeqViolated,"A require_keys_neq expression was violated"],[Ae.RequireGtViolated,"A require_gt expression was violated"],[Ae.RequireGteViolated,"A require_gte expression was violated"],[Ae.AccountDiscriminatorAlreadySet,"The account discriminator was already set on this account"],[Ae.AccountDiscriminatorNotFound,"No discriminator was found on the account"],[Ae.AccountDiscriminatorMismatch,"Account discriminator did not match what was expected"],[Ae.AccountDidNotDeserialize,"Failed to deserialize the account"],[Ae.AccountDidNotSerialize,"Failed to serialize the account"],[Ae.AccountNotEnoughKeys,"Not enough account keys given to the instruction"],[Ae.AccountNotMutable,"The given account is not mutable"],[Ae.AccountOwnedByWrongProgram,"The given account is owned by a different program than expected"],[Ae.InvalidProgramId,"Program ID was not as expected"],[Ae.InvalidProgramExecutable,"Program account is not executable"],[Ae.AccountNotSigner,"The given account did not sign"],[Ae.AccountNotSystemOwned,"The given account is not owned by the system program"],[Ae.AccountNotInitialized,"The program expected this account to be already initialized"],[Ae.AccountNotProgramData,"The given account is not a program data account"],[Ae.AccountNotAssociatedTokenAccount,"The given account is not the associated token account"],[Ae.AccountSysvarMismatch,"The given public key does not match the required sysvar"],[Ae.AccountReallocExceedsLimit,"The account reallocation exceeds the MAX_PERMITTED_DATA_INCREASE limit"],[Ae.AccountDuplicateReallocs,"The account was duplicated for more than one reallocation"],[Ae.DeclaredProgramIdMismatch,"The declared program id does not match the actual program id"],[Ae.TryingToInitPayerAsProgramAccount,"You cannot/should not initialize the payer account as a program account"],[Ae.InvalidNumericConversion,"The program could not perform the numeric conversion, out of range integral type conversion attempted"],[Ae.Deprecated,"The API being used is deprecated and should no longer be used"]]);var po=class{constructor(t,n){if(!Number.isInteger(t))throw new TypeError("span must be an integer");this.span=t,this.property=n}makeDestinationObject(){return{}}decode(t,n){throw new Error("Layout is abstract")}encode(t,n,r){throw new Error("Layout is abstract")}getSpan(t,n){if(0>this.span)throw new RangeError("indeterminate span");return this.span}replicate(t){let n=Object.create(this.constructor.prototype);return Object.assign(n,this),n.property=t,n}fromArray(t){}},fA=po;function gce(e,t){return t.property?e+"["+t.property+"]":e}var gc=class extends po{isCount(){throw new Error("ExternalLayout is abstract")}},iA=class extends gc{constructor(t,n,r){if(!(t instanceof po))throw new TypeError("layout must be a Layout");if(n===void 0)n=0;else if(!Number.isInteger(n))throw new TypeError("offset must be integer or undefined");super(t.span,r||t.property),this.layout=t,this.offset=n}isCount(){return this.layout instanceof Qp||this.layout instanceof aA}decode(t,n){return n===void 0&&(n=0),this.layout.decode(t,n+this.offset)}encode(t,n,r){return r===void 0&&(r=0),this.layout.encode(t,n,r+this.offset)}},Qp=class extends po{constructor(t,n){if(super(t,n),6s&&i instanceof po,!0)))throw new TypeError("fields must be array of Layout instances");typeof n=="boolean"&&r===void 0&&(r=n,n=void 0);for(let s of t)if(0>s.span&&s.property===void 0)throw new Error("fields cannot contain unnamed variable-length layout");let o=-1;try{o=t.reduce((s,i)=>s+i.getSpan(),0)}catch{}super(o,n),this.fields=t,this.decodePrefixes=!!r}getSpan(t,n){if(0<=this.span)return this.span;n===void 0&&(n=0);let r=0;try{r=this.fields.reduce((o,s)=>{let i=s.getSpan(t,n);return n+=i,o+i},0)}catch{throw new RangeError("indeterminate span")}return r}decode(t,n){n===void 0&&(n=0);let r=this.makeDestinationObject();for(let o of this.fields)if(o.property!==void 0&&(r[o.property]=o.decode(t,n)),n+=o.getSpan(t,n),this.decodePrefixes&&t.length===n)break;return r}encode(t,n,r){r===void 0&&(r=0);let o=r,s=0,i=0;for(let a of this.fields){let c=a.span;if(i=0c&&(c=a.getSpan(n,r)))}s=r,r+=c}return s+i-o}fromArray(t){let n=this.makeDestinationObject();for(let r of this.fields)r.property!==void 0&&0r.span?n=-1:0<=n&&(n+=r.span)}}},cA=class{constructor(t){this.property=t}decode(){throw new Error("UnionDiscriminator is abstract")}encode(){throw new Error("UnionDiscriminator is abstract")}},uA=class extends cA{constructor(t,n){if(!(t instanceof gc&&t.isCount()))throw new TypeError("layout must be an unsigned integer ExternalLayout");super(n||t.property||"variant"),this.layout=t}decode(t,n){return this.layout.decode(t,n)}encode(t,n,r){return this.layout.encode(t,n,r)}},dA=class extends po{constructor(t,n,r){let o=t instanceof Qp||t instanceof aA;if(o)t=new uA(new iA(t));else if(t instanceof gc&&t.isCount())t=new uA(t);else if(!(t instanceof cA))throw new TypeError("discr must be a UnionDiscriminator or an unsigned integer layout");if(n===void 0&&(n=null),!(n===null||n instanceof po))throw new TypeError("defaultLayout must be null or a Layout");if(n!==null){if(0>n.span)throw new Error("defaultLayout must have constant span");n.property===void 0&&(n=n.replicate("content"))}let s=-1;n&&(s=n.span,0<=s&&o&&(s+=t.layout.span)),super(s,r),this.discriminator=t,this.usesPrefixDiscriminator=o,this.defaultLayout=n,this.registry={};let i=this.defaultGetSourceVariant.bind(this);this.getSourceVariant=function(a){return i(a)},this.configGetSourceVariant=function(a){i=a.bind(this)}}getSpan(t,n){if(0<=this.span)return this.span;n===void 0&&(n=0);let r=this.getVariant(t,n);if(!r)throw new Error("unable to determine span for unrecognized variant");return r.getSpan(t,n)}defaultGetSourceVariant(t){if(t.hasOwnProperty(this.discriminator.property)){if(this.defaultLayout&&t.hasOwnProperty(this.defaultLayout.property))return;let n=this.registry[t[this.discriminator.property]];if(n&&(!n.layout||t.hasOwnProperty(n.property)))return n}else for(let n in this.registry){let r=this.registry[n];if(t.hasOwnProperty(r.property))return r}throw new Error("unable to infer src variant")}decode(t,n){n===void 0&&(n=0);let r,o=this.discriminator,s=o.decode(t,n),i=this.registry[s];if(i===void 0){let a=0;i=this.defaultLayout,this.usesPrefixDiscriminator&&(a=o.layout.span),r=this.makeDestinationObject(),r[o.property]=s,r[i.property]=this.defaultLayout.decode(t,n+a)}else r=i.decode(t,n);return r}encode(t,n,r){r===void 0&&(r=0);let o=this.getSourceVariant(t);if(o===void 0){let s=this.discriminator,i=this.defaultLayout,a=0;return this.usesPrefixDiscriminator&&(a=s.layout.span),s.encode(t[s.property],n,r),a+i.encode(t[i.property],n,r+a)}return o.encode(t,n,r)}addVariant(t,n,r){let o=new Cv(this,t,n,r);return this.registry[t]=o,o}getVariant(t,n){let r=t;return Buffer.isBuffer(t)&&(n===void 0&&(n=0),r=this.discriminator.decode(t,n)),this.registry[r]}},Cv=class extends po{constructor(t,n,r,o){if(!(t instanceof dA))throw new TypeError("union must be a Union");if(!Number.isInteger(n)||0>n)throw new TypeError("variant must be a (non-negative) integer");if(typeof r=="string"&&o===void 0&&(o=r,r=null),r){if(!(r instanceof po))throw new TypeError("layout must be a Layout");if(t.defaultLayout!==null&&0<=r.span&&r.span>t.defaultLayout.span)throw new Error("variant span exceeds span of containing union");if(typeof o!="string")throw new TypeError("variant must have a String property")}let s=t.span;0>t.span&&(s=r?r.span:0,0<=s&&t.usesPrefixDiscriminator&&(s+=t.discriminator.layout.span)),super(s,o),this.union=t,this.variant=n,this.layout=r||null}getSpan(t,n){if(0<=this.span)return this.span;n===void 0&&(n=0);let r=0;return this.union.usesPrefixDiscriminator&&(r=this.union.discriminator.layout.span),r+this.layout.getSpan(t,n+r)}decode(t,n){let r=this.makeDestinationObject();if(n===void 0&&(n=0),this!==this.union.getVariant(t,n))throw new Error("variant mismatch");let o=0;return this.union.usesPrefixDiscriminator&&(o=this.union.discriminator.layout.span),this.layout?r[this.property]=this.layout.decode(t,n+o):this.property?r[this.property]=!0:this.union.usesPrefixDiscriminator&&(r[this.union.discriminator.property]=this.variant),r}encode(t,n,r){r===void 0&&(r=0);let o=0;if(this.union.usesPrefixDiscriminator&&(o=this.union.discriminator.layout.span),this.layout&&!t.hasOwnProperty(this.property))throw new TypeError("variant lacks property "+this.property);this.union.discriminator.encode(this.variant,n,r);let s=o;if(this.layout&&(this.layout.encode(t[this.property],n,r+o),s+=this.layout.getSpan(n,r+o),0<=this.union.span&&s>this.union.span))throw new Error("encoded variant overruns containing union");return s}fromArray(t){if(this.layout)return this.layout.fromArray(t)}},Nv=class extends po{constructor(t,n){if(!(t instanceof gc&&t.isCount()||Number.isInteger(t)&&0<=t))throw new TypeError("length must be positive integer or an unsigned integer ExternalLayout");let r=-1;t instanceof gc||(r=t),super(r,n),this.length=t}getSpan(t,n){let r=this.span;return 0>r&&(r=this.length.decode(t,n)),r}decode(t,n){n===void 0&&(n=0);let r=this.span;return 0>r&&(r=this.length.decode(t,n)),t.slice(n,n+r)}encode(t,n,r){let o=this.length;if(this.length instanceof gc&&(o=t.length),!(Buffer.isBuffer(t)&&o===t.length))throw new TypeError(gce("Blob.encode",this)+" requires (length "+o+") Buffer as src");if(r+o>n.length)throw new RangeError("encoding overruns Buffer");return n.write(t.toString("hex"),r,o,"hex"),this.length instanceof gc&&this.length.encode(o,n,r),o}},_ce=((e,t,n)=>new iA(e,t,n)),Ace=(e=>new Qp(1,e)),bc=(e=>new Qp(4,e)),Ece=(e=>new Rv(e)),_c=(e=>new vv(e)),Er=((e,t,n)=>new Iv(e,t,n)),nH=((e,t,n)=>new dA(e,t,n)),Oy=((e,t)=>new Nv(e,t));var Ov=class extends fA{constructor(t){super(-1,t),this.property=t,this.layout=Er([bc("length"),bc("lengthPadding"),Oy(_ce(bc(),-8),"chars")],this.property)}encode(t,n,r=0){if(t==null)return this.layout.span;let o={chars:Buffer.from(t,"utf8")};return this.layout.encode(o,n,r)}decode(t,n=0){return this.layout.decode(t,n).chars.toString()}getSpan(t,n=0){return bc().span+bc().span+new Lv.default(new Uint8Array(t).slice(n,n+4),10,"le").toNumber()}};function pA(e){return new Ov(e)}function qs(e){return Oy(32,e)}var ws=nH(bc("instruction"));ws.addVariant(0,Er([_c("lamports"),_c("space"),qs("owner")]),"createAccount");ws.addVariant(1,Er([qs("owner")]),"assign");ws.addVariant(2,Er([_c("lamports")]),"transfer");ws.addVariant(3,Er([qs("base"),pA("seed"),_c("lamports"),_c("space"),qs("owner")]),"createAccountWithSeed");ws.addVariant(4,Er([qs("authorized")]),"advanceNonceAccount");ws.addVariant(5,Er([_c("lamports")]),"withdrawNonceAccount");ws.addVariant(6,Er([qs("authorized")]),"initializeNonceAccount");ws.addVariant(7,Er([qs("authorized")]),"authorizeNonceAccount");ws.addVariant(8,Er([_c("space")]),"allocate");ws.addVariant(9,Er([qs("base"),pA("seed"),_c("space"),qs("owner")]),"allocateWithSeed");ws.addVariant(10,Er([qs("base"),pA("seed"),qs("owner")]),"assignWithSeed");ws.addVariant(11,Er([_c("lamports"),pA("seed"),qs("owner")]),"transferWithSeed");var fCe=Math.max(...Object.values(ws.registry).map(e=>e.span));var kv=class extends fA{constructor(t,n,r,o){super(t.span,o),this.layout=t,this.decoder=n,this.encoder=r}decode(t,n){return this.decoder(this.layout.decode(t,n))}encode(t,n,r){return this.layout.encode(this.encoder(t),n,r)}getSpan(t,n){return this.layout.getSpan(t,n)}};function R7(e){return new kv(Oy(32),t=>new Ci.PublicKey(t),t=>t.toBuffer(),e)}var pCe=Er([bc("version"),bc("state"),R7("authorizedPubkey"),R7("nonce"),Er([Ece("lamportsPerSignature")],"feeCalculator")]);var mCe=new Ci.PublicKey("TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"),hCe=new Ci.PublicKey("ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL");var Dv={exports:{}};(function(e,t){var n=typeof self<"u"?self:yce,r=(function(){function s(){this.fetch=!1,this.DOMException=n.DOMException}return s.prototype=n,new s})();(function(s){(function(i){var a={searchParams:"URLSearchParams"in s,iterable:"Symbol"in s&&"iterator"in Symbol,blob:"FileReader"in s&&"Blob"in s&&(function(){try{return new Blob,!0}catch{return!1}})(),formData:"FormData"in s,arrayBuffer:"ArrayBuffer"in s};function c(f){return f&&DataView.prototype.isPrototypeOf(f)}if(a.arrayBuffer)var u=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],d=ArrayBuffer.isView||function(f){return f&&u.indexOf(Object.prototype.toString.call(f))>-1};function l(f){if(typeof f!="string"&&(f=String(f)),/[^a-z0-9\-#$%&'*+.^_`|~]/i.test(f))throw new TypeError("Invalid character in header field name");return f.toLowerCase()}function m(f){return typeof f!="string"&&(f=String(f)),f}function p(f){var y={next:function(){var A=f.shift();return{done:A===void 0,value:A}}};return a.iterable&&(y[Symbol.iterator]=function(){return y}),y}function g(f){this.map={},f instanceof g?f.forEach(function(y,A){this.append(A,y)},this):Array.isArray(f)?f.forEach(function(y){this.append(y[0],y[1])},this):f&&Object.getOwnPropertyNames(f).forEach(function(y){this.append(y,f[y])},this)}g.prototype.append=function(f,y){f=l(f),y=m(y);var A=this.map[f];this.map[f]=A?A+", "+y:y},g.prototype.delete=function(f){delete this.map[l(f)]},g.prototype.get=function(f){return f=l(f),this.has(f)?this.map[f]:null},g.prototype.has=function(f){return this.map.hasOwnProperty(l(f))},g.prototype.set=function(f,y){this.map[l(f)]=m(y)},g.prototype.forEach=function(f,y){for(var A in this.map)this.map.hasOwnProperty(A)&&f.call(y,this.map[A],A,this)},g.prototype.keys=function(){var f=[];return this.forEach(function(y,A){f.push(A)}),p(f)},g.prototype.values=function(){var f=[];return this.forEach(function(y){f.push(y)}),p(f)},g.prototype.entries=function(){var f=[];return this.forEach(function(y,A){f.push([A,y])}),p(f)},a.iterable&&(g.prototype[Symbol.iterator]=g.prototype.entries);function E(f){if(f.bodyUsed)return Promise.reject(new TypeError("Already read"));f.bodyUsed=!0}function x(f){return new Promise(function(y,A){f.onload=function(){y(f.result)},f.onerror=function(){A(f.error)}})}function S(f){var y=new FileReader,A=x(y);return y.readAsArrayBuffer(f),A}function N(f){var y=new FileReader,A=x(y);return y.readAsText(f),A}function C(f){for(var y=new Uint8Array(f),A=new Array(y.length),T=0;T-1?y:f}function V(f,y){y=y||{};var A=y.body;if(f instanceof V){if(f.bodyUsed)throw new TypeError("Already read");this.url=f.url,this.credentials=f.credentials,y.headers||(this.headers=new g(f.headers)),this.method=f.method,this.mode=f.mode,this.signal=f.signal,!A&&f._bodyInit!=null&&(A=f._bodyInit,f.bodyUsed=!0)}else this.url=String(f);if(this.credentials=y.credentials||this.credentials||"same-origin",(y.headers||!this.headers)&&(this.headers=new g(y.headers)),this.method=U(y.method||this.method||"GET"),this.mode=y.mode||this.mode||null,this.signal=y.signal||this.signal,this.referrer=null,(this.method==="GET"||this.method==="HEAD")&&A)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(A)}V.prototype.clone=function(){return new V(this,{body:this._bodyInit})};function $(f){var y=new FormData;return f.trim().split("&").forEach(function(A){if(A){var T=A.split("="),I=T.shift().replace(/\+/g," "),k=T.join("=").replace(/\+/g," ");y.append(decodeURIComponent(I),decodeURIComponent(k))}}),y}function z(f){var y=new g,A=f.replace(/\r?\n[\t ]+/g," ");return A.split(/\r?\n/).forEach(function(T){var I=T.split(":"),k=I.shift().trim();if(k){var P=I.join(":").trim();y.append(k,P)}}),y}D.call(V.prototype);function W(f,y){y||(y={}),this.type="default",this.status=y.status===void 0?200:y.status,this.ok=this.status>=200&&this.status<300,this.statusText="statusText"in y?y.statusText:"OK",this.headers=new g(y.headers),this.url=y.url||"",this._initBody(f)}D.call(W.prototype),W.prototype.clone=function(){return new W(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new g(this.headers),url:this.url})},W.error=function(){var f=new W(null,{status:0,statusText:""});return f.type="error",f};var X=[301,302,303,307,308];W.redirect=function(f,y){if(X.indexOf(y)===-1)throw new RangeError("Invalid status code");return new W(null,{status:y,headers:{location:f}})},i.DOMException=s.DOMException;try{new i.DOMException}catch{i.DOMException=function(y,A){this.message=y,this.name=A;var T=Error(y);this.stack=T.stack},i.DOMException.prototype=Object.create(Error.prototype),i.DOMException.prototype.constructor=i.DOMException}function w(f,y){return new Promise(function(A,T){var I=new V(f,y);if(I.signal&&I.signal.aborted)return T(new i.DOMException("Aborted","AbortError"));var k=new XMLHttpRequest;function P(){k.abort()}k.onload=function(){var O={status:k.status,statusText:k.statusText,headers:z(k.getAllResponseHeaders()||"")};O.url="responseURL"in k?k.responseURL:O.headers.get("X-Request-URL");var _="response"in k?k.response:k.responseText;A(new W(_,O))},k.onerror=function(){T(new TypeError("Network request failed"))},k.ontimeout=function(){T(new TypeError("Network request failed"))},k.onabort=function(){T(new i.DOMException("Aborted","AbortError"))},k.open(I.method,I.url,!0),I.credentials==="include"?k.withCredentials=!0:I.credentials==="omit"&&(k.withCredentials=!1),"responseType"in k&&a.blob&&(k.responseType="blob"),I.headers.forEach(function(O,_){k.setRequestHeader(_,O)}),I.signal&&(I.signal.addEventListener("abort",P),k.onreadystatechange=function(){k.readyState===4&&I.signal.removeEventListener("abort",P)}),k.send(typeof I._bodyInit>"u"?null:I._bodyInit)})}return w.polyfill=!0,s.fetch||(s.fetch=w,s.Headers=g,s.Request=V,s.Response=W),i.Headers=g,i.Request=V,i.Response=W,i.fetch=w,Object.defineProperty(i,"__esModule",{value:!0}),i})({})})(r),r.fetch.ponyfill=!0,delete r.fetch.polyfill;var o=r;t=o.fetch,t.default=o.fetch,t.fetch=o.fetch,t.Headers=o.Headers,t.Request=o.Request,t.Response=o.Response,e.exports=t})(Dv,Dv.exports);var yCe=bce(Dv.exports);var bCe=ft.rustEnum([ft.struct([],"uninitialized"),ft.struct([ft.option(ft.publicKey(),"authorityAddress")],"buffer"),ft.struct([ft.publicKey("programdataAddress")],"program"),ft.struct([ft.u64("slot"),ft.option(ft.publicKey(),"upgradeAuthorityAddress")],"programData")],void 0,ft.u32());var xce="Program log: ",wce="Program data: ",gCe=xce.length,_Ce=wce.length;function xv(e){return new lA(Oy(8),t=>Pv.fromBuffer(t),t=>t.toBuffer(),e)}function rA(e){return new lA(Oy(32),t=>new Ci.PublicKey(t),t=>t.toBuffer(),e)}function wv(e,t){return new Bv(e,t)}var lA=class extends fA{constructor(t,n,r,o){super(t.span,o),this.layout=t,this.decoder=n,this.encoder=r}decode(t,n){return this.decoder(this.layout.decode(t,n))}encode(t,n,r){return this.layout.encode(this.encoder(t),n,r)}getSpan(t,n){return this.layout.getSpan(t,n)}},Bv=class extends fA{constructor(t,n){super(-1,n),this.layout=t,this.discriminator=bc()}encode(t,n,r=0){return t==null?this.layout.span+this.discriminator.encode(0,n,r):(this.discriminator.encode(1,n,r),this.layout.encode(t,n,r+4)+4)}decode(t,n=0){let r=this.discriminator.decode(t,n);if(r===0)return null;if(r===1)return this.layout.decode(t,n+4);throw new Error("Invalid coption "+this.layout.property)}getSpan(t,n=0){return this.layout.getSpan(t,n+4)+4}},Pv=class e extends Lv.default{toBuffer(){let t=super.toArray().reverse(),n=Buffer.from(t);if(n.length===8)return n;if(n.length>=8)throw new Error("u64 too large");let r=Buffer.alloc(8);return n.copy(r),r}static fromBuffer(t){if(t.length!==8)throw new Error(`Invalid buffer length: ${t.length}`);return new e([...t].reverse().map(n=>`00${n.toString(16)}`.slice(-2)).join(""),16)}},ACe=Er([rA("mint"),rA("owner"),xv("amount"),wv(rA(),"delegate"),(e=>{let t=nH(Ace("discriminator"),null,e);return t.addVariant(0,Er([]),"uninitialized"),t.addVariant(1,Er([]),"initialized"),t.addVariant(2,Er([]),"frozen"),t})("state"),wv(xv(),"isNative"),xv("delegatedAmount"),wv(rA(),"closeAuthority")]);new Ci.PublicKey("11111111111111111111111111111111");var rH="units/5.8.0";var Sce=new Me(rH),oH=["wei","kwei","mwei","gwei","szabo","finney","ether"];function sH(e,t){if(typeof t=="string"){let n=oH.indexOf(t);n!==-1&&(t=3*n)}return pp(e,t??18)}function iH(e,t){if(typeof e!="string"&&Sce.throwArgumentError("value must be a string","value",e),typeof t=="string"){let n=oH.indexOf(t);n!==-1&&(t=3*n)}return Us(e,t??18)}var aH="properties/5.8.0";var cH=new Me(aH);function Xn(e,t,n){Object.defineProperty(e,t,{enumerable:!0,value:n,writable:!1})}function ky(e,t){for(let n=0;n<32;n++){if(e[t])return e[t];if(!e.prototype||typeof e.prototype!="object")break;e=Object.getPrototypeOf(e.prototype).constructor}return null}var Rce={bigint:!0,boolean:!0,function:!0,number:!0,string:!0};function uH(e){if(e==null||Rce[typeof e])return!0;if(Array.isArray(e)||typeof e=="object"){if(!Object.isFrozen(e))return!1;let t=Object.keys(e);for(let n=0;nUv(t)));if(typeof e=="object"){let t={};for(let n in e){let r=e[n];r!==void 0&&Xn(t,n,Uv(r))}return t}return cH.throwArgumentError(`Cannot deepCopy ${typeof e}`,"object",e)}function Uv(e){return vce(e)}var ql=class{constructor(t){for(let n in t)this[n]=Uv(t[n])}};var Ta="abi/5.8.0";var At=new Me(Ta),Kl={},dH={calldata:!0,memory:!0,storage:!0},Ice={calldata:!0,memory:!0};function mA(e,t){if(e==="bytes"||e==="string"){if(dH[t])return!0}else if(e==="address"){if(t==="payable")return!0}else if((e.indexOf("[")>=0||e==="tuple")&&Ice[t])return!0;return(dH[t]||t==="payable")&&At.throwArgumentError("invalid modifier","name",t),!1}function Cce(e,t){let n=e;function r(a){At.throwArgumentError(`unexpected character at position ${a}`,"param",e)}e=e.replace(/\s/g," ");function o(a){let c={type:"",name:"",parent:a,state:{allowType:!0}};return t&&(c.indexed=!1),c}let s={type:"",name:"",state:{allowType:!0}},i=s;for(let a=0;aJSON.parse(o.format(t)))),JSON.stringify(r)}let n="";return this.baseType==="array"?(n+=this.arrayChildren.format(t),n+="["+(this.arrayLength<0?"":String(this.arrayLength))+"]"):this.baseType==="tuple"?(t!==Rt.sighash&&(n+=this.type),n+="("+this.components.map(r=>r.format(t)).join(t===Rt.full?", ":",")+")"):n+=this.type,t!==Rt.sighash&&(this.indexed===!0&&(n+=" indexed"),t===Rt.full&&this.name&&(n+=" "+this.name)),n}static from(t,n){return typeof t=="string"?e.fromString(t,n):e.fromObject(t)}static fromObject(t){return e.isParamType(t)?t:new e(Kl,{name:t.name||null,type:em(t.type),indexed:t.indexed==null?null:!!t.indexed,components:t.components?t.components.map(e.fromObject):null})}static fromString(t,n){function r(o){return e.fromObject({name:o.name,type:o.type,indexed:o.indexed,components:o.components})}return r(Cce(t,!!n))}static isParamType(t){return!!(t!=null&&t._isParamType)}};function Dy(e,t){return kce(e).map(n=>Jo.fromString(n,t))}var Yl=class e{constructor(t,n){t!==Kl&&At.throwError("use a static from method",Me.errors.UNSUPPORTED_OPERATION,{operation:"new Fragment()"}),hA(this,n),this._isFragment=!0,Object.freeze(this)}static from(t){return e.isFragment(t)?t:typeof t=="string"?e.fromString(t):e.fromObject(t)}static fromObject(t){if(e.isFragment(t))return t;switch(t.type){case"function":return Xl.fromObject(t);case"event":return tm.fromObject(t);case"constructor":return Zl.fromObject(t);case"error":return yA.fromObject(t);case"fallback":case"receive":return null}return At.throwArgumentError("invalid fragment object","value",t)}static fromString(t){return t=t.replace(/\s/g," "),t=t.replace(/\(/g," (").replace(/\)/g,") ").replace(/\s+/g," "),t=t.trim(),t.split(" ")[0]==="event"?tm.fromString(t.substring(5).trim()):t.split(" ")[0]==="function"?Xl.fromString(t.substring(8).trim()):t.split("(")[0].trim()==="constructor"?Zl.fromString(t.trim()):t.split(" ")[0]==="error"?yA.fromString(t.substring(5).trim()):At.throwArgumentError("unsupported fragment","value",t)}static isFragment(t){return!!(t&&t._isFragment)}},tm=class e extends Yl{format(t){if(t||(t=Rt.sighash),Rt[t]||At.throwArgumentError("invalid format type","format",t),t===Rt.json)return JSON.stringify({type:"event",anonymous:this.anonymous,name:this.name,inputs:this.inputs.map(r=>JSON.parse(r.format(t)))});let n="";return t!==Rt.sighash&&(n+="event "),n+=this.name+"("+this.inputs.map(r=>r.format(t)).join(t===Rt.full?", ":",")+") ",t!==Rt.sighash&&this.anonymous&&(n+="anonymous "),n.trim()}static from(t){return typeof t=="string"?e.fromString(t):e.fromObject(t)}static fromObject(t){if(e.isEventFragment(t))return t;t.type!=="event"&&At.throwArgumentError("invalid event object","value",t);let n={name:By(t.name),anonymous:t.anonymous,inputs:t.inputs?t.inputs.map(Jo.fromObject):[],type:"event"};return new e(Kl,n)}static fromString(t){let n=t.match(Py);n||At.throwArgumentError("invalid event string","value",t);let r=!1;return n[3].split(" ").forEach(o=>{switch(o.trim()){case"anonymous":r=!0;break;case"":break;default:At.warn("unknown modifier: "+o)}}),e.fromObject({name:n[1].trim(),anonymous:r,inputs:Dy(n[2],!0),type:"event"})}static isEventFragment(t){return t&&t._isFragment&&t.type==="event"}};function fH(e,t){t.gas=null;let n=e.split("@");return n.length!==1?(n.length>2&&At.throwArgumentError("invalid human-readable ABI signature","value",e),n[1].match(/^[0-9]+$/)||At.throwArgumentError("invalid human-readable ABI signature gas","value",e),t.gas=St.from(n[1]),n[0]):e}function pH(e,t){t.constant=!1,t.payable=!1,t.stateMutability="nonpayable",e.split(" ").forEach(n=>{switch(n.trim()){case"constant":t.constant=!0;break;case"payable":t.payable=!0,t.stateMutability="payable";break;case"nonpayable":t.payable=!1,t.stateMutability="nonpayable";break;case"pure":t.constant=!0,t.stateMutability="pure";break;case"view":t.constant=!0,t.stateMutability="view";break;case"external":case"public":case"":break;default:console.log("unknown modifier: "+n)}})}function mH(e){let t={constant:!1,payable:!0,stateMutability:"payable"};return e.stateMutability!=null?(t.stateMutability=e.stateMutability,t.constant=t.stateMutability==="view"||t.stateMutability==="pure",e.constant!=null&&!!e.constant!==t.constant&&At.throwArgumentError("cannot have constant function with mutability "+t.stateMutability,"value",e),t.payable=t.stateMutability==="payable",e.payable!=null&&!!e.payable!==t.payable&&At.throwArgumentError("cannot have payable function with mutability "+t.stateMutability,"value",e)):e.payable!=null?(t.payable=!!e.payable,e.constant==null&&!t.payable&&e.type!=="constructor"&&At.throwArgumentError("unable to determine stateMutability","value",e),t.constant=!!e.constant,t.constant?t.stateMutability="view":t.stateMutability=t.payable?"payable":"nonpayable",t.payable&&t.constant&&At.throwArgumentError("cannot have constant payable function","value",e)):e.constant!=null?(t.constant=!!e.constant,t.payable=!t.constant,t.stateMutability=t.constant?"view":"payable"):e.type!=="constructor"&&At.throwArgumentError("unable to determine stateMutability","value",e),t}var Zl=class e extends Yl{format(t){if(t||(t=Rt.sighash),Rt[t]||At.throwArgumentError("invalid format type","format",t),t===Rt.json)return JSON.stringify({type:"constructor",stateMutability:this.stateMutability!=="nonpayable"?this.stateMutability:void 0,payable:this.payable,gas:this.gas?this.gas.toNumber():void 0,inputs:this.inputs.map(r=>JSON.parse(r.format(t)))});t===Rt.sighash&&At.throwError("cannot format a constructor for sighash",Me.errors.UNSUPPORTED_OPERATION,{operation:"format(sighash)"});let n="constructor("+this.inputs.map(r=>r.format(t)).join(t===Rt.full?", ":",")+") ";return this.stateMutability&&this.stateMutability!=="nonpayable"&&(n+=this.stateMutability+" "),n.trim()}static from(t){return typeof t=="string"?e.fromString(t):e.fromObject(t)}static fromObject(t){if(e.isConstructorFragment(t))return t;t.type!=="constructor"&&At.throwArgumentError("invalid constructor object","value",t);let n=mH(t);n.constant&&At.throwArgumentError("constructor cannot be constant","value",t);let r={name:null,type:t.type,inputs:t.inputs?t.inputs.map(Jo.fromObject):[],payable:n.payable,stateMutability:n.stateMutability,gas:t.gas?St.from(t.gas):null};return new e(Kl,r)}static fromString(t){let n={type:"constructor"};t=fH(t,n);let r=t.match(Py);return(!r||r[1].trim()!=="constructor")&&At.throwArgumentError("invalid constructor string","value",t),n.inputs=Dy(r[2].trim(),!1),pH(r[3].trim(),n),e.fromObject(n)}static isConstructorFragment(t){return t&&t._isFragment&&t.type==="constructor"}},Xl=class e extends Zl{format(t){if(t||(t=Rt.sighash),Rt[t]||At.throwArgumentError("invalid format type","format",t),t===Rt.json)return JSON.stringify({type:"function",name:this.name,constant:this.constant,stateMutability:this.stateMutability!=="nonpayable"?this.stateMutability:void 0,payable:this.payable,gas:this.gas?this.gas.toNumber():void 0,inputs:this.inputs.map(r=>JSON.parse(r.format(t))),outputs:this.outputs.map(r=>JSON.parse(r.format(t)))});let n="";return t!==Rt.sighash&&(n+="function "),n+=this.name+"("+this.inputs.map(r=>r.format(t)).join(t===Rt.full?", ":",")+") ",t!==Rt.sighash&&(this.stateMutability?this.stateMutability!=="nonpayable"&&(n+=this.stateMutability+" "):this.constant&&(n+="view "),this.outputs&&this.outputs.length&&(n+="returns ("+this.outputs.map(r=>r.format(t)).join(", ")+") "),this.gas!=null&&(n+="@"+this.gas.toString()+" ")),n.trim()}static from(t){return typeof t=="string"?e.fromString(t):e.fromObject(t)}static fromObject(t){if(e.isFunctionFragment(t))return t;t.type!=="function"&&At.throwArgumentError("invalid function object","value",t);let n=mH(t),r={type:t.type,name:By(t.name),constant:n.constant,inputs:t.inputs?t.inputs.map(Jo.fromObject):[],outputs:t.outputs?t.outputs.map(Jo.fromObject):[],payable:n.payable,stateMutability:n.stateMutability,gas:t.gas?St.from(t.gas):null};return new e(Kl,r)}static fromString(t){let n={type:"function"};t=fH(t,n);let r=t.split(" returns ");r.length>2&&At.throwArgumentError("invalid function string","value",t);let o=r[0].match(Py);if(o||At.throwArgumentError("invalid function signature","value",t),n.name=o[1].trim(),n.name&&By(n.name),n.inputs=Dy(o[2],!1),pH(o[3].trim(),n),r.length>1){let s=r[1].match(Py);(s[1].trim()!=""||s[3].trim()!="")&&At.throwArgumentError("unexpected tokens","value",t),n.outputs=Dy(s[2],!1)}else n.outputs=[];return e.fromObject(n)}static isFunctionFragment(t){return t&&t._isFragment&&t.type==="function"}};function lH(e){let t=e.format();return(t==="Error(string)"||t==="Panic(uint256)")&&At.throwArgumentError(`cannot specify user defined ${t} error`,"fragment",e),e}var yA=class e extends Yl{format(t){if(t||(t=Rt.sighash),Rt[t]||At.throwArgumentError("invalid format type","format",t),t===Rt.json)return JSON.stringify({type:"error",name:this.name,inputs:this.inputs.map(r=>JSON.parse(r.format(t)))});let n="";return t!==Rt.sighash&&(n+="error "),n+=this.name+"("+this.inputs.map(r=>r.format(t)).join(t===Rt.full?", ":",")+") ",n.trim()}static from(t){return typeof t=="string"?e.fromString(t):e.fromObject(t)}static fromObject(t){if(e.isErrorFragment(t))return t;t.type!=="error"&&At.throwArgumentError("invalid error object","value",t);let n={type:t.type,name:By(t.name),inputs:t.inputs?t.inputs.map(Jo.fromObject):[]};return lH(new e(Kl,n))}static fromString(t){let n={type:"error"},r=t.match(Py);return r||At.throwArgumentError("invalid error signature","value",t),n.name=r[1].trim(),n.name&&By(n.name),n.inputs=Dy(r[2],!1),lH(e.fromObject(n))}static isErrorFragment(t){return t&&t._isFragment&&t.type==="error"}};function em(e){return e.match(/^uint($|[^1-9])/)?e="uint256"+e.substring(4):e.match(/^int($|[^1-9])/)&&(e="int256"+e.substring(3)),e}var Oce=new RegExp("^[a-zA-Z$_][a-zA-Z0-9$_]*$");function By(e){return(!e||!e.match(Oce))&&At.throwArgumentError(`invalid identifier "${e}"`,"value",e),e}var Py=new RegExp("^([^)(]*)\\((.*)\\)([^)(]*)$");function kce(e){e=e.trim();let t=[],n="",r=0;for(let o=0;othis.wordSize&&Hv.throwError("value out-of-bounds",Me.errors.BUFFER_OVERRUN,{length:this.wordSize,offset:n.length}),n.length%this.wordSize&&(n=ys([this._padding.slice(n.length%this.wordSize),n])),n}writeValue(t){return this._writeData(this._getValue(t))}writeUpdatableValue(){let t=this._data.length;return this._data.push(this._padding),this._dataLength+=this.wordSize,n=>{this._data[t]=this._getValue(n)}}},bA=class e{constructor(t,n,r,o){Xn(this,"_data",Bn(t)),Xn(this,"wordSize",n||32),Xn(this,"_coerceFunc",r),Xn(this,"allowLoose",o),this._offset=0}get data(){return Bt(this._data)}get consumed(){return this._offset}static coerce(t,n){let r=t.match("^u?int([0-9]+)$");return r&&parseInt(r[1])<=48&&(n=n.toNumber()),n}coerce(t,n){return this._coerceFunc?this._coerceFunc(t,n):e.coerce(t,n)}_peekBytes(t,n,r){let o=Math.ceil(n/this.wordSize)*this.wordSize;return this._offset+o>this._data.length&&(this.allowLoose&&r&&this._offset+n<=this._data.length?o=n:Hv.throwError("data out-of-bounds",Me.errors.BUFFER_OVERRUN,{length:this._data.length,offset:this._offset+o})),this._data.slice(this._offset,this._offset+o)}subReader(t){return new e(this._data.slice(this._offset+t),this.wordSize,this._coerceFunc,this.allowLoose)}readBytes(t,n){let r=this._peekBytes(0,t,!!n);return this._offset+=r.length,r.slice(0,t)}readValue(){return St.from(this.readBytes(this.wordSize))}};var gA=class extends lr{constructor(t){super("address","address",t,!1)}defaultValue(){return"0x0000000000000000000000000000000000000000"}encode(t,n){try{n=bs(n)}catch(r){this._throwError(r.message,n)}return t.writeValue(n)}decode(t){return bs(Ms(t.readValue().toHexString(),20))}};var _A=class extends lr{constructor(t){super(t.name,t.type,void 0,t.dynamic),this.coder=t}defaultValue(){return this.coder.defaultValue()}encode(t,n){return this.coder.encode(t,n)}decode(t){return this.coder.decode(t)}};var nm=new Me(Ta);function $v(e,t,n){let r=null;if(Array.isArray(n))r=n;else if(n&&typeof n=="object"){let c={};r=t.map(u=>{let d=u.localName;return d||nm.throwError("cannot encode object for signature with missing names",Me.errors.INVALID_ARGUMENT,{argument:"values",coder:u,value:n}),c[d]&&nm.throwError("cannot encode object for signature with duplicate names",Me.errors.INVALID_ARGUMENT,{argument:"values",coder:u,value:n}),c[d]=!0,n[d]})}else nm.throwArgumentError("invalid tuple value","tuple",n);t.length!==r.length&&nm.throwArgumentError("types/value length mismatch","tuple",n);let o=new Jl(e.wordSize),s=new Jl(e.wordSize),i=[];t.forEach((c,u)=>{let d=r[u];if(c.dynamic){let l=s.length;c.encode(s,d);let m=o.writeUpdatableValue();i.push(p=>{m(p+l)})}else c.encode(o,d)}),i.forEach(c=>{c(o.length)});let a=e.appendWriter(o);return a+=e.appendWriter(s),a}function zv(e,t){let n=[],r=e.subReader(0);t.forEach(s=>{let i=null;if(s.dynamic){let a=e.readValue(),c=r.subReader(a.toNumber());try{i=s.decode(c)}catch(u){if(u.code===Me.errors.BUFFER_OVERRUN)throw u;i=u,i.baseType=s.name,i.name=s.localName,i.type=s.type}}else try{i=s.decode(e)}catch(a){if(a.code===Me.errors.BUFFER_OVERRUN)throw a;i=a,i.baseType=s.name,i.name=s.localName,i.type=s.type}i!=null&&n.push(i)});let o=t.reduce((s,i)=>{let a=i.localName;return a&&(s[a]||(s[a]=0),s[a]++),s},{});t.forEach((s,i)=>{let a=s.localName;if(!a||o[a]!==1||(a==="length"&&(a="_length"),n[a]!=null))return;let c=n[i];c instanceof Error?Object.defineProperty(n,a,{enumerable:!0,get:()=>{throw c}}):n[a]=c});for(let s=0;s{throw i}})}return Object.freeze(n)}var AA=class extends lr{constructor(t,n,r){let o=t.type+"["+(n>=0?n:"")+"]",s=n===-1||t.dynamic;super("array",o,r,s),this.coder=t,this.length=n}defaultValue(){let t=this.coder.defaultValue(),n=[];for(let r=0;rt._data.length&&nm.throwError("insufficient data length",Me.errors.BUFFER_OVERRUN,{length:t._data.length,count:n}));let r=[];for(let o=0;o>6===2;i++)s++;return s}return e===Qo.OVERRUN?n.length-t-1:0}function Bce(e,t,n,r,o){return e===Qo.OVERLONG?(r.push(o),0):(r.push(65533),bH(e,t,n,r,o))}var gH=Object.freeze({error:Dce,ignore:bH,replace:Bce});function Pce(e,t){t==null&&(t=gH.error),e=Bn(e);let n=[],r=0;for(;r>7===0){n.push(o);continue}let s=null,i=null;if((o&224)===192)s=1,i=127;else if((o&240)===224)s=2,i=2047;else if((o&248)===240)s=3,i=65535;else{(o&192)===128?r+=t(Qo.UNEXPECTED_CONTINUE,r-1,e,n):r+=t(Qo.BAD_PREFIX,r-1,e,n);continue}if(r-1+s>=e.length){r+=t(Qo.OVERRUN,r-1,e,n);continue}let a=o&(1<<8-s-1)-1;for(let c=0;c1114111){r+=t(Qo.OUT_OF_RANGE,r-1-s,e,n,a);continue}if(a>=55296&&a<=57343){r+=t(Qo.UTF16_SURROGATE,r-1-s,e,n,a);continue}if(a<=i){r+=t(Qo.OVERLONG,r-1-s,e,n,a);continue}n.push(a)}}return n}function Fy(e,t=My.current){t!=My.current&&(yH.checkNormalize(),e=e.normalize(t));let n=[];for(let r=0;r>6|192),n.push(o&63|128);else if((o&64512)==55296){r++;let s=e.charCodeAt(r);if(r>=e.length||(s&64512)!==56320)throw new Error("invalid utf-8 string");let i=65536+((o&1023)<<10)+(s&1023);n.push(i>>18|240),n.push(i>>12&63|128),n.push(i>>6&63|128),n.push(i&63|128)}else n.push(o>>12|224),n.push(o>>6&63|128),n.push(o&63|128)}return Bn(n)}function Lce(e){return e.map(t=>t<=65535?String.fromCharCode(t):(t-=65536,String.fromCharCode((t>>10&1023)+55296,(t&1023)+56320))).join("")}function qv(e,t){return Lce(Pce(e,t))}var RA=class extends Ly{constructor(t){super("string",t)}defaultValue(){return""}encode(t,n){return super.encode(t,Fy(n))}decode(t){return qv(super.decode(t))}};var Ql=class extends lr{constructor(t,n){let r=!1,o=[];t.forEach(i=>{i.dynamic&&(r=!0),o.push(i.type)});let s="tuple("+o.join(",")+")";super("tuple",s,n,r),this.coders=t}defaultValue(){let t=[];this.coders.forEach(r=>{t.push(r.defaultValue())});let n=this.coders.reduce((r,o)=>{let s=o.localName;return s&&(r[s]||(r[s]=0),r[s]++),r},{});return this.coders.forEach((r,o)=>{let s=r.localName;!s||n[s]!==1||(s==="length"&&(s="_length"),t[s]==null&&(t[s]=t[o]))}),Object.freeze(t)}encode(t,n){return $v(t,this.coders,n)}decode(t){return t.coerce(this.name,zv(t,this.coders))}};var vA=new Me(Ta),Mce=new RegExp(/^bytes([0-9]*)$/),Fce=new RegExp(/^(u?int)([0-9]*)$/),IA=class{constructor(t){Xn(this,"coerceFunc",t||null)}_getCoder(t){switch(t.baseType){case"address":return new gA(t.name);case"bool":return new EA(t.name);case"string":return new RA(t.name);case"bytes":return new xA(t.name);case"array":return new AA(this._getCoder(t.arrayChildren),t.arrayLength,t.name);case"tuple":return new Ql((t.components||[]).map(r=>this._getCoder(r)),t.name);case"":return new TA(t.name)}let n=t.type.match(Fce);if(n){let r=parseInt(n[2]||"256");return(r===0||r>256||r%8!==0)&&vA.throwArgumentError("invalid "+n[1]+" bit length","param",t),new SA(r/8,n[1]==="int",t.name)}if(n=t.type.match(Mce),n){let r=parseInt(n[1]);return(r===0||r>32)&&vA.throwArgumentError("invalid bytes length","param",t),new wA(r,t.name)}return vA.throwArgumentError("invalid type","type",t.type)}_getWordSize(){return 32}_getReader(t,n){return new bA(t,this._getWordSize(),this.coerceFunc,n)}_getWriter(){return new Jl(this._getWordSize())}getDefaultValue(t){let n=t.map(o=>this._getCoder(Jo.from(o)));return new Ql(n,"_").defaultValue()}encode(t,n){t.length!==n.length&&vA.throwError("types/values length mismatch",Me.errors.INVALID_ARGUMENT,{count:{types:t.length,values:n.length},value:{types:t,values:n}});let r=t.map(i=>this._getCoder(Jo.from(i))),o=new Ql(r,"_"),s=this._getWriter();return o.encode(s,n),s.data}decode(t,n,r){let o=t.map(i=>this._getCoder(Jo.from(i)));return new Ql(o,"_").decode(this._getReader(Bn(n),r))}},rm=new IA;function om(e){return fl(Fy(e))}var zn=new Me(Ta);var CA=class extends ql{},NA=class extends ql{},Kv=class extends ql{},Uy=class extends ql{static isIndexed(t){return!!(t&&t._isIndexed)}},Uce={"0x08c379a0":{signature:"Error(string)",name:"Error",inputs:["string"],reason:!0},"0x4e487b71":{signature:"Panic(uint256)",name:"Panic",inputs:["uint256"]}};function _H(e,t){let n=new Error(`deferred error during ABI decoding triggered accessing ${e}`);return n.error=t,n}var Hy=class{constructor(t){let n=[];typeof t=="string"?n=JSON.parse(t):n=t,Xn(this,"fragments",n.map(r=>Yl.from(r)).filter(r=>r!=null)),Xn(this,"_abiCoder",ky(new.target,"getAbiCoder")()),Xn(this,"functions",{}),Xn(this,"errors",{}),Xn(this,"events",{}),Xn(this,"structs",{}),this.fragments.forEach(r=>{let o=null;switch(r.type){case"constructor":if(this.deploy){zn.warn("duplicate definition - constructor");return}Xn(this,"deploy",r);return;case"function":o=this.functions;break;case"event":o=this.events;break;case"error":o=this.errors;break;default:return}let s=r.format();if(o[s]){zn.warn("duplicate definition - "+s);return}o[s]=r}),this.deploy||Xn(this,"deploy",Zl.from({payable:!1,type:"constructor"})),Xn(this,"_isInterface",!0)}format(t){t||(t=Rt.full),t===Rt.sighash&&zn.throwArgumentError("interface does not support formatting sighash","format",t);let n=this.fragments.map(r=>r.format(t));return t===Rt.json?JSON.stringify(n.map(r=>JSON.parse(r))):n}static getAbiCoder(){return rm}static getAddress(t){return bs(t)}static getSighash(t){return nT(om(t.format()),0,4)}static getEventTopic(t){return om(t.format())}getFunction(t){if(Cr(t)){for(let r in this.functions)if(t===this.getSighash(r))return this.functions[r];zn.throwArgumentError("no matching function","sighash",t)}if(t.indexOf("(")===-1){let r=t.trim(),o=Object.keys(this.functions).filter(s=>s.split("(")[0]===r);return o.length===0?zn.throwArgumentError("no matching function","name",r):o.length>1&&zn.throwArgumentError("multiple matching functions","name",r),this.functions[o[0]]}let n=this.functions[Xl.fromString(t).format()];return n||zn.throwArgumentError("no matching function","signature",t),n}getEvent(t){if(Cr(t)){let r=t.toLowerCase();for(let o in this.events)if(r===this.getEventTopic(o))return this.events[o];zn.throwArgumentError("no matching event","topichash",r)}if(t.indexOf("(")===-1){let r=t.trim(),o=Object.keys(this.events).filter(s=>s.split("(")[0]===r);return o.length===0?zn.throwArgumentError("no matching event","name",r):o.length>1&&zn.throwArgumentError("multiple matching events","name",r),this.events[o[0]]}let n=this.events[tm.fromString(t).format()];return n||zn.throwArgumentError("no matching event","signature",t),n}getError(t){if(Cr(t)){let r=ky(this.constructor,"getSighash");for(let o in this.errors){let s=this.errors[o];if(t===r(s))return this.errors[o]}zn.throwArgumentError("no matching error","sighash",t)}if(t.indexOf("(")===-1){let r=t.trim(),o=Object.keys(this.errors).filter(s=>s.split("(")[0]===r);return o.length===0?zn.throwArgumentError("no matching error","name",r):o.length>1&&zn.throwArgumentError("multiple matching errors","name",r),this.errors[o[0]]}let n=this.errors[Xl.fromString(t).format()];return n||zn.throwArgumentError("no matching error","signature",t),n}getSighash(t){if(typeof t=="string")try{t=this.getFunction(t)}catch(n){try{t=this.getError(t)}catch{throw n}}return ky(this.constructor,"getSighash")(t)}getEventTopic(t){return typeof t=="string"&&(t=this.getEvent(t)),ky(this.constructor,"getEventTopic")(t)}_decodeParams(t,n){return this._abiCoder.decode(t,n)}_encodeParams(t,n){return this._abiCoder.encode(t,n)}encodeDeploy(t){return this._encodeParams(this.deploy.inputs,t||[])}decodeErrorResult(t,n){typeof t=="string"&&(t=this.getError(t));let r=Bn(n);return Bt(r.slice(0,4))!==this.getSighash(t)&&zn.throwArgumentError(`data signature does not match error ${t.name}.`,"data",Bt(r)),this._decodeParams(t.inputs,r.slice(4))}encodeErrorResult(t,n){return typeof t=="string"&&(t=this.getError(t)),Bt(ys([this.getSighash(t),this._encodeParams(t.inputs,n||[])]))}decodeFunctionData(t,n){typeof t=="string"&&(t=this.getFunction(t));let r=Bn(n);return Bt(r.slice(0,4))!==this.getSighash(t)&&zn.throwArgumentError(`data signature does not match function ${t.name}.`,"data",Bt(r)),this._decodeParams(t.inputs,r.slice(4))}encodeFunctionData(t,n){return typeof t=="string"&&(t=this.getFunction(t)),Bt(ys([this.getSighash(t),this._encodeParams(t.inputs,n||[])]))}decodeFunctionResult(t,n){typeof t=="string"&&(t=this.getFunction(t));let r=Bn(n),o=null,s="",i=null,a=null,c=null;switch(r.length%this._abiCoder._getWordSize()){case 0:try{return this._abiCoder.decode(t.outputs,r)}catch{}break;case 4:{let u=Bt(r.slice(0,4)),d=Uce[u];if(d)i=this._abiCoder.decode(d.inputs,r.slice(4)),a=d.name,c=d.signature,d.reason&&(o=i[0]),a==="Error"?s=`; VM Exception while processing transaction: reverted with reason string ${JSON.stringify(i[0])}`:a==="Panic"&&(s=`; VM Exception while processing transaction: reverted with panic code ${i[0]}`);else try{let l=this.getError(u);i=this._abiCoder.decode(l.inputs,r.slice(4)),a=l.name,c=l.format()}catch{}break}}return zn.throwError("call revert exception"+s,Me.errors.CALL_EXCEPTION,{method:t.format(),data:Bt(n),errorArgs:i,errorName:a,errorSignature:c,reason:o})}encodeFunctionResult(t,n){return typeof t=="string"&&(t=this.getFunction(t)),Bt(this._abiCoder.encode(t.outputs,n||[]))}encodeFilterTopics(t,n){typeof t=="string"&&(t=this.getEvent(t)),n.length>t.inputs.length&&zn.throwError("too many arguments for "+t.format(),Me.errors.UNEXPECTED_ARGUMENT,{argument:"values",value:n});let r=[];t.anonymous||r.push(this.getEventTopic(t));let o=(s,i)=>s.type==="string"?om(i):s.type==="bytes"?fl(Bt(i)):(s.type==="bool"&&typeof i=="boolean"&&(i=i?"0x01":"0x00"),s.type.match(/^u?int/)&&(i=St.from(i).toHexString()),s.type==="address"&&this._abiCoder.encode(["address"],[i]),Ms(Bt(i),32));for(n.forEach((s,i)=>{let a=t.inputs[i];if(!a.indexed){s!=null&&zn.throwArgumentError("cannot filter non-indexed parameters; must be null","contract."+a.name,s);return}s==null?r.push(null):a.baseType==="array"||a.baseType==="tuple"?zn.throwArgumentError("filtering with tuples or arrays not supported","contract."+a.name,s):Array.isArray(s)?r.push(s.map(c=>o(a,c))):r.push(o(a,s))});r.length&&r[r.length-1]===null;)r.pop();return r}encodeEventLog(t,n){typeof t=="string"&&(t=this.getEvent(t));let r=[],o=[],s=[];return t.anonymous||r.push(this.getEventTopic(t)),n.length!==t.inputs.length&&zn.throwArgumentError("event arguments/values mismatch","values",n),t.inputs.forEach((i,a)=>{let c=n[a];if(i.indexed)if(i.type==="string")r.push(om(c));else if(i.type==="bytes")r.push(fl(c));else{if(i.baseType==="tuple"||i.baseType==="array")throw new Error("not implemented");r.push(this._abiCoder.encode([i.type],[c]))}else o.push(i),s.push(c)}),{data:this._abiCoder.encode(o,s),topics:r}}decodeEventLog(t,n,r){if(typeof t=="string"&&(t=this.getEvent(t)),r!=null&&!t.anonymous){let m=this.getEventTopic(t);(!Cr(r[0],32)||r[0].toLowerCase()!==m)&&zn.throwError("fragment/topic mismatch",Me.errors.INVALID_ARGUMENT,{argument:"topics[0]",expected:m,value:r[0]}),r=r.slice(1)}let o=[],s=[],i=[];t.inputs.forEach((m,p)=>{m.indexed?m.type==="string"||m.type==="bytes"||m.baseType==="tuple"||m.baseType==="array"?(o.push(Jo.fromObject({type:"bytes32",name:m.name})),i.push(!0)):(o.push(m),i.push(!1)):(s.push(m),i.push(!1))});let a=r!=null?this._abiCoder.decode(o,ys(r)):null,c=this._abiCoder.decode(s,n,!0),u=[],d=0,l=0;t.inputs.forEach((m,p)=>{if(m.indexed)if(a==null)u[p]=new Uy({_isIndexed:!0,hash:null});else if(i[p])u[p]=new Uy({_isIndexed:!0,hash:a[l++]});else try{u[p]=a[l++]}catch(g){u[p]=g}else try{u[p]=c[d++]}catch(g){u[p]=g}if(m.name&&u[m.name]==null){let g=u[p];g instanceof Error?Object.defineProperty(u,m.name,{enumerable:!0,get:()=>{throw _H(`property ${JSON.stringify(m.name)}`,g)}}):u[m.name]=g}});for(let m=0;m{throw _H(`index ${m}`,p)}})}return Object.freeze(u)}parseTransaction(t){let n=this.getFunction(t.data.substring(0,10).toLowerCase());return n?new NA({args:this._abiCoder.decode(n.inputs,"0x"+t.data.substring(10)),functionFragment:n,name:n.name,signature:n.format(),sighash:this.getSighash(n),value:St.from(t.value||"0")}):null}parseLog(t){let n=this.getEvent(t.topics[0]);return!n||n.anonymous?null:new CA({eventFragment:n,name:n.name,signature:n.format(),topic:this.getEventTopic(n),args:this.decodeEventLog(n,t.data,t.topics)})}parseError(t){let n=Bt(t),r=this.getError(n.substring(0,10).toLowerCase());return r?new Kv({args:this._abiCoder.decode(r.inputs,"0x"+n.substring(10)),errorFragment:r,name:r.name,signature:r.format(),sighash:this.getSighash(r)}):null}static isInterface(t){return!!(t&&t._isInterface)}};var AH=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/i;function Hce(e){return typeof e=="string"&&AH.test(e)}var EH=Hce;function $ce(e){if(!EH(e))throw TypeError("Invalid UUID");let t;return Uint8Array.of((t=parseInt(e.slice(0,8),16))>>>24,t>>>16&255,t>>>8&255,t&255,(t=parseInt(e.slice(9,13),16))>>>8,t&255,(t=parseInt(e.slice(14,18),16))>>>8,t&255,(t=parseInt(e.slice(19,23),16))>>>8,t&255,(t=parseInt(e.slice(24,36),16))/1099511627776&255,t/4294967296&255,t>>>24&255,t>>>16&255,t>>>8&255,t&255)}var Yv=$ce;var Kr=[];for(let e=0;e<256;++e)Kr.push((e+256).toString(16).slice(1));function xH(e,t=0){return(Kr[e[t+0]]+Kr[e[t+1]]+Kr[e[t+2]]+Kr[e[t+3]]+"-"+Kr[e[t+4]]+Kr[e[t+5]]+"-"+Kr[e[t+6]]+Kr[e[t+7]]+"-"+Kr[e[t+8]]+Kr[e[t+9]]+"-"+Kr[e[t+10]]+Kr[e[t+11]]+Kr[e[t+12]]+Kr[e[t+13]]+Kr[e[t+14]]+Kr[e[t+15]]).toLowerCase()}function zce(e){e=unescape(encodeURIComponent(e));let t=new Uint8Array(e.length);for(let n=0;no.length)throw new RangeError(`UUID byte range ${s}:${s+15} is out of buffer bounds`);for(let u=0;u<16;++u)o[s+u]=c[u];return o}return xH(c)}function Vce(e,t,n,r){switch(e){case 0:return t&n^~t&r;case 1:return t^n^r;case 2:return t&n^t&r^n&r;case 3:return t^n^r}}function Xv(e,t){return e<>>32-t}function jce(e){let t=[1518500249,1859775393,2400959708,3395469782],n=[1732584193,4023233417,2562383102,271733878,3285377520],r=new Uint8Array(e.length+1);r.set(e),r[e.length]=128,e=r;let o=e.length/4+2,s=Math.ceil(o/16),i=new Array(s);for(let a=0;a>>0;p=m,m=l,l=Xv(d,30)>>>0,d=u,u=x}n[0]=n[0]+u>>>0,n[1]=n[1]+d>>>0,n[2]=n[2]+l>>>0,n[3]=n[3]+m>>>0,n[4]=n[4]+p>>>0}return Uint8Array.of(n[0]>>24,n[0]>>16,n[0]>>8,n[0],n[1]>>24,n[1]>>16,n[1]>>8,n[1],n[2]>>24,n[2]>>16,n[2]>>8,n[2],n[3]>>24,n[3]>>16,n[3]>>8,n[3],n[4]>>24,n[4]>>16,n[4]>>8,n[4])}var SH=jce;function Jv(e,t,n,r){return Zv(80,SH,e,t,n,r)}Jv.DNS=wH;Jv.URL=TH;var Qv=Jv;var ZA=()=>typeof process<"u"&&typeof process.versions=="object"&&typeof process.versions.node=="string",F$=()=>ZA()?{"User-Agent":qce()}:{},U$=()=>{if(ZA())return`node/${process.versions.node.split(".")[0]??"unknown"}`;if(typeof window<"u"&&typeof navigator<"u"){let e=navigator.userAgent,t={Edge:n=>n.includes("Edg"),Chrome:n=>n.includes("Chrome")&&!n.includes("Edg"),Firefox:n=>n.includes("Firefox"),Safari:n=>n.includes("Safari")&&!n.includes("Chrome"),Opera:n=>n.includes("Opera")||n.includes("OPR")};for(let[n,r]of Object.entries(t))if(r(e))return`browser/${n}`;return"browser/unknown"}return"unknown"},e6=e=>e.replace("@circle-fin/",""),RH=e=>{let t=e.lastIndexOf("/");if(t===-1)return e6(e);let n=e.substring(0,t),r=e.substring(t+1);return n===""?"":r===""?e6(n):`${e6(n)}/${r}`};var Gce=e=>{typeof globalThis<"u"&&(globalThis.__APP_KITS_CURRENT_KIT__=e)},Wce=()=>{let e={};return typeof globalThis<"u"&&(globalThis.__APP_KITS_EXTERNAL_PREFIX__!==void 0&&(e.externalPrefix=globalThis.__APP_KITS_EXTERNAL_PREFIX__),globalThis.__APP_KITS_CURRENT_KIT__!==void 0&&(e.kit=globalThis.__APP_KITS_CURRENT_KIT__)),e},qce=e=>{let t=Wce(),n=U$(),r=[];if(t.externalPrefix!==void 0){let o=RH(t.externalPrefix);o&&r.push(o)}if(t.kit!==void 0){let o=RH(t.kit);o&&r.push(o)}return r.push(`(${n})`),r.join(" ")},Kce=["RETRYABLE","RESUMABLE","FATAL"],Yce={INPUT:"INPUT",BALANCE:"BALANCE",ONCHAIN:"ONCHAIN",RPC:"RPC",NETWORK:"NETWORK",RATE_LIMIT:"RATE_LIMIT",SERVICE:"SERVICE",LIQUIDITY:"LIQUIDITY",UNKNOWN:"UNKNOWN"},Zce=Object.values(Yce),Xce=[...Kce],Jce=[...Zce],Qce=[{min:1e3,max:1999,type:"INPUT"},{min:3e3,max:3999,type:"NETWORK"},{min:4e3,max:4999,type:"RPC"},{min:5e3,max:5999,type:"ONCHAIN"},{min:6e3,max:6999,type:"LIQUIDITY"},{min:7e3,max:7999,type:"RATE_LIMIT"},{min:8e3,max:8999,type:"SERVICE"},{min:9e3,max:9999,type:"BALANCE"}],eue=0,tue=h.object({code:h.number().int("Error code must be an integer").refine(e=>e===eue||Qce.some(t=>e>=t.min&&e<=t.max),{message:"Error code must be 0 (UNKNOWN) or in valid ranges: 1000-1999 (INPUT), 3000-3999 (NETWORK), 4000-4999 (RPC), 5000-5999 (ONCHAIN), 6000-6999 (LIQUIDITY), 7000-7999 (RATE_LIMIT), 8000-8999 (SERVICE), 9000-9999 (BALANCE)"}),name:h.string().min(1,"Error name must be a non-empty string").regex(/^[A-Z_][A-Z0-9_]*$/,"Error name must match pattern: ^[A-Z_][A-Z0-9_]*$"),type:h.enum(Jce,{errorMap:()=>({message:"Error type must be one of: INPUT, BALANCE, ONCHAIN, RPC, NETWORK, RATE_LIMIT, SERVICE, LIQUIDITY, UNKNOWN"})}),recoverability:h.enum(Xce,{errorMap:()=>({message:"Recoverability must be one of: RETRYABLE, RESUMABLE, FATAL"})}),message:h.string().min(1,"Error message must be a non-empty string").max(1e3,"Error message must be 1000 characters or less"),cause:h.object({trace:h.unknown().optional()}).optional()});function nue(e){let t=tue.safeParse(e);if(!t.success){let n=t.error.issues.map(r=>`${r.path.join(".")}: ${r.message}`).join(", ");throw new TypeError(`Invalid ErrorDetails: ${n}`)}return t.data}var vH=950,Ks='Amount must be a numeric string with dot (.) as decimal separator (e.g., "10.5", "100"), with no thousand separators or comma decimals',F6="Amount must be greater than 0",rue="Maximum supported decimal places: 6",oue="Amount must be non-negative",sue='maxFee must be a numeric string with dot (.) as decimal separator (e.g., "1", "0.5", ".5", "1.5"), with no thousand separators or comma decimals',H$=Symbol.for("circle.KitError"),ne=class extends Error{code;name;type;recoverability;cause;constructor(t){let n=t.message;n.length>vH&&(n=`${n.slice(0,vH-3)}...`);let r={...t,message:n},o=nue(r);super(o.message),Object.defineProperties(this,{[H$]:{value:!0,writable:!1,enumerable:!1,configurable:!1},name:{value:o.name,writable:!1,enumerable:!0,configurable:!1},code:{value:o.code,writable:!1,enumerable:!0,configurable:!1},type:{value:o.type,writable:!1,enumerable:!0,configurable:!1},recoverability:{value:o.recoverability,writable:!1,enumerable:!0,configurable:!1},...o.cause&&{cause:{value:o.cause,writable:!1,enumerable:!0,configurable:!1}}})}},ye={NETWORK_MISMATCH:{code:1001,name:"INPUT_NETWORK_MISMATCH",type:"INPUT"},INVALID_AMOUNT:{code:1002,name:"INPUT_INVALID_AMOUNT",type:"INPUT"},UNSUPPORTED_ROUTE:{code:1003,name:"INPUT_UNSUPPORTED_ROUTE",type:"INPUT"},INVALID_ADDRESS:{code:1004,name:"INPUT_INVALID_ADDRESS",type:"INPUT"},INVALID_CHAIN:{code:1005,name:"INPUT_INVALID_CHAIN",type:"INPUT"},UNSUPPORTED_TOKEN:{code:1006,name:"INPUT_UNSUPPORTED_TOKEN",type:"INPUT"},INSUFFICIENT_SWAP_AMOUNT:{code:1007,name:"INPUT_INSUFFICIENT_SWAP_AMOUNT",type:"INPUT"},UNSUPPORTED_ACTION:{code:1008,name:"INPUT_UNSUPPORTED_ACTION",type:"INPUT"},SLIPPAGE_CONSTRAINT_NOT_MET:{code:1009,name:"INPUT_SLIPPAGE_CONSTRAINT_NOT_MET",type:"INPUT"},CHAIN_MISMATCH:{code:1010,name:"INPUT_CHAIN_MISMATCH",type:"INPUT"},CHAIN_SWITCH_REJECTED:{code:1011,name:"INPUT_CHAIN_SWITCH_REJECTED",type:"INPUT"},UNRECOGNIZED_CHAIN:{code:1012,name:"INPUT_UNRECOGNIZED_CHAIN",type:"INPUT"},AMOUNT_OUT_OF_RANGE:{code:1013,name:"INPUT_AMOUNT_OUT_OF_RANGE",type:"INPUT"},UNSUPPORTED_FEE_TOKEN:{code:1014,name:"INPUT_UNSUPPORTED_FEE_TOKEN",type:"INPUT"},RETRY_NOT_SUPPORTED:{code:1015,name:"INPUT_RETRY_NOT_SUPPORTED",type:"INPUT"},STEP_ANALYSIS_NOT_SUPPORTED:{code:1016,name:"INPUT_STEP_ANALYSIS_NOT_SUPPORTED",type:"INPUT"},RESERVED_OPERATION_NAME:{code:1e3,name:"INPUT_RESERVED_OPERATION_NAME",type:"INPUT"},MISSING_OPERATION:{code:1017,name:"INPUT_MISSING_OPERATION",type:"INPUT"},VALIDATION_FAILED:{code:1098,name:"INPUT_VALIDATION_FAILED",type:"INPUT"},USER_CANCELLED:{code:1099,name:"INPUT_USER_CANCELLED",type:"INPUT"}},xc={INSUFFICIENT_TOKEN:{code:9001,name:"BALANCE_INSUFFICIENT_TOKEN",type:"BALANCE"},INSUFFICIENT_GAS:{code:9002,name:"BALANCE_INSUFFICIENT_GAS",type:"BALANCE"},INSUFFICIENT_ALLOWANCE:{code:9003,name:"BALANCE_INSUFFICIENT_ALLOWANCE",type:"BALANCE"}},Oi={TRANSACTION_REVERTED:{code:5001,name:"ONCHAIN_TRANSACTION_REVERTED",type:"ONCHAIN"},SIMULATION_FAILED:{code:5002,name:"ONCHAIN_SIMULATION_FAILED",type:"ONCHAIN"},OUT_OF_GAS:{code:5003,name:"ONCHAIN_OUT_OF_GAS",type:"ONCHAIN"},GAS_LIMIT_EXCEEDED:{code:5004,name:"ONCHAIN_GAS_LIMIT_EXCEEDED",type:"ONCHAIN"},TRANSACTION_TOO_LARGE:{code:5005,name:"ONCHAIN_TRANSACTION_TOO_LARGE",type:"ONCHAIN"},UNKNOWN_BLOCKCHAIN_ERROR:{code:5099,name:"ONCHAIN_UNKNOWN_BLOCKCHAIN_ERROR",type:"ONCHAIN"}},iue={INSUFFICIENT_LIQUIDITY:{code:6001,name:"LIQUIDITY_INSUFFICIENT",type:"LIQUIDITY"}},$$={ENDPOINT_ERROR:{code:4001,name:"RPC_ENDPOINT_ERROR",type:"RPC"},INVALID_RESPONSE:{code:4002,name:"RPC_INVALID_RESPONSE",type:"RPC"},NONCE_ERROR:{code:4003,name:"RPC_NONCE_ERROR",type:"RPC"}},pr={CONNECTION_FAILED:{code:3001,name:"NETWORK_CONNECTION_FAILED",type:"NETWORK"},TIMEOUT:{code:3002,name:"NETWORK_TIMEOUT",type:"NETWORK"},RELAYER_FORWARD_FAILED:{code:3003,name:"NETWORK_RELAYER_FORWARD_FAILED",type:"NETWORK"},RELAYER_PENDING:{code:3004,name:"NETWORK_RELAYER_PENDING",type:"NETWORK"},LIFI_STATUS_PENDING:{code:3005,name:"NETWORK_LIFI_STATUS_PENDING",type:"NETWORK"},LIFI_STATUS_FAILED:{code:3006,name:"NETWORK_LIFI_STATUS_FAILED",type:"NETWORK"},GATEWAY_API_ERROR:{code:3007,name:"NETWORK_GATEWAY_API_ERROR",type:"NETWORK"},ABORTED:{code:3008,name:"NETWORK_ABORTED",type:"NETWORK"}},z$={RATE_LIMIT_EXCEEDED:{code:7001,name:"RATE_LIMIT_EXCEEDED",type:"RATE_LIMIT"}},Xy={INTERNAL_ERROR:{code:8001,name:"SERVICE_INTERNAL_ERROR",type:"SERVICE"},UNKNOWN_ERROR:{code:8002,name:"SERVICE_UNKNOWN_ERROR",type:"SERVICE"}},aue=Object.freeze([".g.alchemy.com",".infura.io",".quiknode.pro",".ankr.com",".p2pify.com",".gateway.tenderly.co",".blockpi.network",".getblock.io",".moralis-nodes.com",".helius-rpc.com",".helius.xyz",".rpcpool.com"]),cue=Object.freeze([/[?&](?:(?:api|access|auth|app)[-_]?)?(?:key|token|secret)=[^&\s"'<>`]{1,256}/gi,/(?`]{1,2048}/g;function V$(e){let t=e?.hostSuffixes??aue,n=e?.patterns??cue;return r=>{let o=r.replaceAll(uue,s=>{let i=".,;)]>",a=s.length,c=Math.max(a-16,0);for(;a>c&&i.includes(s.charAt(a-1));)a--;let u=a===s.length?s:s.slice(0,a),d;try{d=new URL(u)}catch{return s}if(d.username!==""||d.password!=="")return"[REDACTED]";let l=d.hostname.toLowerCase();return t.some(m=>l.endsWith(m))?"[REDACTED]":s});for(let s of n)o=o.replaceAll(s,"[REDACTED]");return o}}var due=V$(),OA=due;function IH(e){return OA===void 0?e:typeof OA=="function"?OA(e):V$({patterns:OA,hostSuffixes:[]})(e)}function lue(e){return e instanceof Error?{name:e.name,message:IH(e.message)}:IH(String(e))}function fue(e){try{return JSON.stringify(e,(t,n)=>typeof n=="bigint"?n.toString():n)}catch{return"[unserializable object]"}}function U6(e,t){let n=e.isTestnet?"testnet":"mainnet",r=t.isTestnet?"testnet":"mainnet",o={...ye.NETWORK_MISMATCH,recoverability:"FATAL",message:`Cannot bridge between ${e.name} (${n}) and ${t.name} (${r}). Source and destination networks must both be testnet or both be mainnet.`,cause:{trace:{sourceChain:e.name,destChain:t.name}}};return new ne(o)}function ts(e,t,n,r){let s=[].map(u=>({provider:u.provider,error:lue(u.error)})),i=s.length===0?"":` Providers errored during route check: ${s.map(u=>`${u.provider} (${pue(u.error)})`).join(", ")}.`,c={...ye.UNSUPPORTED_ROUTE,recoverability:"FATAL",message:`Route from ${e} to ${t} is not supported.${i}`,cause:{trace:{source:e,destination:t,providerErrors:s}}};return new ne(c)}function pue(e){return typeof e=="string"?e:e.message}function Ss(e,t){let n={...ye.INVALID_AMOUNT,recoverability:"FATAL",message:`Invalid amount '${e}': ${t}.`,cause:{trace:{amount:e,reason:t}}};return new ne(n)}function Ca(e,t,n){let r={...ye.INVALID_ADDRESS,recoverability:"FATAL",message:`Invalid address '${e}' for ${t}. Expected ${n}.`,cause:{trace:{address:e,chain:t,expectedFormat:n}}};return new ne(r)}function qu(e,t){let n={...ye.INVALID_CHAIN,recoverability:"FATAL",message:`Invalid chain '${e}': ${t}.`,cause:{trace:{chain:e,reason:t}}};return new ne(n)}function se(e,t,n){let r;typeof t=="string"?r=`'${t}'`:typeof t=="object"&&t!==null?r=fue(t):r=String(t);let o={...ye.VALIDATION_FAILED,recoverability:"FATAL",message:`Validation failed for '${e}': ${r} - ${n}.`,cause:{trace:{field:e,value:t,reason:n}}};return new ne(o)}function XA(e,t){let n=e.issues.map(a=>`${a.path.length>0?`${a.path.join(".")}: `:""}${a.message}`),o=n.join("; ")||"Invalid Input",s=`Invalid ${t}: ${o}`,i={...ye.VALIDATION_FAILED,recoverability:"FATAL",message:s,cause:{trace:{validationErrors:n,zodError:e.message,zodIssues:e.issues}}};return new ne(i)}function H6(e,t,n){return new ne({...xc.INSUFFICIENT_TOKEN,recoverability:"FATAL",message:`Insufficient ${t} balance on ${e}`,cause:{trace:{...n,chain:e,token:t}}})}function mue(e,t="native token",n){return new ne({...xc.INSUFFICIENT_GAS,recoverability:"FATAL",message:`Insufficient ${t} on ${e} to cover gas fees`,cause:{trace:{...n,chain:e}}})}function $6(e,t,n){return new ne({...Oi.SIMULATION_FAILED,recoverability:"FATAL",message:`Simulation failed on ${e}: ${t}`,cause:{trace:{...n,chain:e,reason:t}}})}function MA(e,t,n,r,o){return new ne({...Oi.TRANSACTION_REVERTED,recoverability:"FATAL",message:`Transaction reverted on ${e}: ${t}`,cause:{trace:{...n,chain:e,reason:t,...r!==void 0&&r!==""&&{txHash:r},...o!==void 0&&o!==""&&{explorerUrl:o}}}})}function hue(e,t,n,r){return new ne({...Oi.OUT_OF_GAS,recoverability:"FATAL",message:`Transaction ran out of gas on ${e}`,cause:{trace:{...t,chain:e,...n!==void 0&&n!==""&&{txHash:n},...r!==void 0&&r!==""&&{explorerUrl:r}}}})}function yue(e,t){return new ne({...Oi.TRANSACTION_TOO_LARGE,recoverability:"FATAL",message:`Transaction size exceeds limit on ${e}`,cause:{trace:{chain:e,rawError:t}}})}function bue(e,t,n){let r=t?"Unknown blockchain error on "+e+": "+t:"Unknown blockchain error on "+e;return new ne({...Oi.UNKNOWN_BLOCKCHAIN_ERROR,recoverability:"FATAL",message:r,cause:{trace:{chain:e,rawError:n}}})}function Gu(e,t){return new ne({...$$.ENDPOINT_ERROR,recoverability:"RETRYABLE",message:`RPC endpoint error on ${e}`,cause:{trace:{...t,chain:e}}})}function gue(e,t){return new ne({...pr.CONNECTION_FAILED,recoverability:"RETRYABLE",message:`Network connection failed for ${e}`,cause:{trace:{...t,chain:e}}})}function j$(e,t){let n={};return e!==void 0&&e!==""&&(n.txHash=e),t!==void 0&&t!==""&&(n.explorerUrl=t),n}var _ue=/slippage|lower than the minimum required|less than the initial balance|minimum.?output|price.?impact|stop.?limit|InsufficientOutput|InsufficientFinalBalance/i;function Aue(e,t,n){let r=Sue(e,t)??"Transaction reverted";if(_ue.test(r))return new ne({...ye.SLIPPAGE_CONSTRAINT_NOT_MET,recoverability:"RETRYABLE",message:`Transaction on ${n.chain} reverted: "${r}". Try increasing slippageBps or adjusting stopLimit.`,cause:{trace:{rawError:t,chain:n.chain,reason:r}}});if(/simulation failed/i.test(e)||n.operation==="simulation")return $6(n.chain,r,{rawError:t});let{txHash:o,explorerUrl:s}=j$(n.txHash,n.explorerUrl);return MA(n.chain,r,{rawError:t},o,s)}function Jy(e,t){let n=xue(e),r=t.token??"token";if(/insufficient funds for (gas|intrinsic transaction cost)|sender doesn't have enough funds to send tx/i.test(n))return mue(t.chain,void 0,{rawError:e});if(/transfer amount exceeds balance|insufficient (balance|funds)|burn amount exceeded/i.test(n))return H6(t.chain,r,{rawError:e});let o=Rue(n,t,e);if(o!==null)return o;if(/execution reverted|simulation failed|transaction reverted|transaction failed/i.test(n))return Aue(n,e,t);if(/gas estimation failed|cannot estimate gas/i.test(n))return Gu(t.chain,{rawError:e});if(/out of gas|gas limit exceeded|exceeds block gas limit/i.test(n)){let{txHash:i,explorerUrl:a}=j$(t.txHash,t.explorerUrl);return hue(t.chain,{rawError:e},i,a)}return/connection (refused|failed)|network|timeout|ENOTFOUND|ECONNREFUSED/i.test(n)?gue(t.chain,{rawError:e}):/rpc|invalid response|rate limit|too many requests|could not coalesce|no response|server error|json-rpc\s+internal|internal json-rpc|-32603|-32000/i.test(n)?Gu(t.chain,{rawError:e}):/transaction (?:too large|exceeds size limit|size exceeds)|encoded\/raw\s+\d+\/\d+|max transaction size/i.test(n)||/(?:tx|transaction) size is too big:\s*\d+,\s*max:\s*\d+/i.test(n)?yue(t.chain,e):t.operation==="estimateGas"||t.operation==="getGasPrice"?Gu(t.chain,{rawError:e}):t.operation==="simulation"?$6(t.chain,n.length>0?n:"Simulation failed",{rawError:e}):bue(t.chain,n.length>0?n:"Unknown error",{rawError:e})}function Eue(e){return e!==null&&typeof e=="object"&&"context"in e&&e.context!==null&&typeof e.context=="object"&&"logs"in e.context&&Array.isArray(e.context.logs)}function xue(e){if(Eue(e)){let t=e.context.logs.find(n=>n.includes("AnchorError")||n.includes("Error Message"));if(t!==void 0)return t}return e instanceof Error?e.message:typeof e=="string"?e:typeof e=="object"&&e!==null&&"message"in e?String(e.message):String(e)}var wue={"0xd93c0665":"This contract is currently paused","0x3ee5aeb5":"Security check failed due to a reentrancy attempt","0x8baa579f":"The provided signature is invalid or could not be verified","0x1ab7da6b":"This request has expired","0x64eee62e":"No instructions provided","0x3c46992e":"Too many execution steps were provided","0xe066e60e":"Exceeds maximum token inputs limit","0x5566df5c":"The beneficiary address is invalid","0xf41d7bc6":"Execution ID already used","0x948726e2":"The account balance does not meet the required minimum","0x01aa0452":"The permit type provided is not supported","0x13be252b":"Token approval failed and the allowance is insufficient","0x5274afe7":"Token transfer or approval failed","0x00bc1dcb":"One of the execution targets is invalid","0x5d693841":"Cannot approve a zero address or a native token","0x3ec5cfe1":"Cannot validate output for a zero address token","0x492fd70e":"Instruction call failed without revert data","0xba235e1a":"The received token amount is lower than the minimum required","0x9147d463":"Final balance is less than the initial balance","0xf4b3b1bc":"Native token transfer to the beneficiary failed"};function Tue(e,t){if(t!==null&&typeof t=="object"&&"data"in t&&typeof t.data=="string"&&/^0x[0-9a-f]{8}$/i.test(t.data))return t.data.toLowerCase();let r=/custom error (0x[0-9a-f]{8})\b/i.exec(e)?.[1];if(r!==void 0&&r.length>0)return r.toLowerCase()}function Sue(e,t){let n=Tue(e,t);if(n!==void 0){let o=wue[n];if(o!==void 0)return`${o} (${n})`}let r=[/(?:execution reverted|reverted):\s*([^\n.]+)/i,/reason:\s*([^\n.]+)/i,/with reason:\s*([^\n.]+)/i];for(let o of r){let i=o.exec(e)?.at(1);if(i!==void 0&&i.length>0)return i.trim()}return n!==void 0?`Transaction reverted with error (${n})`:null}function Rue(e,t,n){let r=t.token??"token";return/WithdrawalValueExceedsAvailableBalance|InsufficientDepositBalance/i.test(e)?H6(t.chain,r,{rawError:n}):/WithdrawalNotYetAvailable|WithdrawalDelayNotElapsed/i.test(e)?MA(t.chain,"Withdrawal is not yet available \u2014 the withdrawal delay has not elapsed",{rawError:n}):/NoWithdrawingBalance/i.test(e)?MA(t.chain,"No pending withdrawal balance \u2014 call initiateWithdrawal() first",{rawError:n}):null}function FA(e){return e instanceof ne?!0:e!==null&&typeof e=="object"&&e[H$]===!0}function vue(e){return FA(e)&&e.recoverability==="FATAL"}var Iue=[3001,3002,4001,4002];function z6(e){return FA(e)?e.recoverability==="RETRYABLE"||e.recoverability==="RESUMABLE"?!0:Iue.includes(e.code):!1}function ns(e){return e instanceof Error?e.message:typeof e=="string"?e:typeof e=="object"&&e!==null&&"message"in e?String(e.message):"An unknown error occurred"}function m6(e){if(e===null||typeof e!="object")return{name:"UnknownError",message:String(e)};let t=e,n=FA(e)?ns(e):"An error occurred. See error name and code for details.",r={name:t.name??"UnknownError",message:n};return typeof t.code=="number"&&(r.code=t.code),FA(e)&&(r.type=e.type),r}function ki(e,t){let n=typeof t=="object"?t.type:void 0,r=typeof t=="string"?t:t.name;return(n!==void 0?n==="solana":r.toLowerCase().includes("solana"))?/^[1-9A-HJ-NP-Za-km-z]{32,44}$/.test(e):/^0x[a-fA-F0-9]{40}$/.test(e)}function CH(e){return typeof e=="object"&&e!==null}function Cue(e){return e.context?.chain??e.chain}function NH(e){if(CH(e)){let t=e.chain;if(typeof t=="string")return t;if(CH(t)&&"name"in t)return t.name}return null}function G$(e){return e.from??e.source}function W$(e){return e.to??e.destination}function Nue(e,t){let n=t.split("."),r=e;for(let o of n)if(r!=null&&typeof r=="object"&&o in r)r=r[o];else return"unknown";return typeof r=="string"?r:"unknown"}function Oue(e){return W$(e)?.chain??e.chain}function kue(e){let t=[/HTTP (\d{3})/i,/Status:\s*(\d{3})/i,/^(\d{3}) -/];for(let n of t){let o=n.exec(e)?.at(1);if(o!==void 0){let s=Number.parseInt(o,10);if(s>=100&&s<600)return s}}return null}function Due(e){return typeof e=="object"&&e!==null&&"responseBody"in e&&typeof e.responseBody=="object"&&e.responseBody!==null}function OH(e){return typeof e=="object"&&e!==null}function Bue(e){if(!Due(e))return;let t=e.responseBody,n=t.response;if(OH(n)){let r=n.status;if(OH(r))return r}return t}var q$={INVALID_SWAP_AMOUNT:331017,LOW_LIQUIDITY:331018};function K$(e,t){if(e instanceof ne)return e;let n=ns(e),r=kue(n),o=t.service??"Stablecoin Service",s=t.operation??"API",i=zue(e);return r===429||/too many requests|rate limit exceeded/i.test(n)?Hue(o,s,e):r!==null&&r>=400&&r<500?Pue(r,o,s,e,n,i):r!==null&&r>=500&&r<600?Fue(r,o,s,e,i):/timeout|timed out/i.test(n)?$ue(o,s,e):/connection (refused|failed)|network|ENOTFOUND|ECONNREFUSED|ETIMEDOUT/i.test(n)?Uue(o,s,e):new ne({...Xy.UNKNOWN_ERROR,recoverability:"FATAL",message:`${o} ${s} failed: ${n.length>0?n:"Unknown error"}`,cause:{trace:e}})}function Pue(e,t,n,r,o,s){let i=V6(s)??o;switch(e){case 401:case 403:return new ne({...ye.VALIDATION_FAILED,recoverability:"FATAL",message:`${t} ${n} failed: Invalid or missing API key or authorization`,cause:{trace:r}});case 404:return Mue(s)?new ne({...ye.SLIPPAGE_CONSTRAINT_NOT_MET,recoverability:"RETRYABLE",message:`${t} ${n} failed: ${i}. Try increasing slippageBps or adjusting stopLimit.`,cause:{trace:r}}):new ne({...ye.UNSUPPORTED_ROUTE,recoverability:"FATAL",message:`${t} ${n} failed: Route or resource not found. Details: ${i}`,cause:{trace:r}});case 422:return new ne({...ye.INSUFFICIENT_SWAP_AMOUNT,recoverability:"FATAL",message:`${t} ${n} failed: ${i}`,cause:{trace:r}});case 400:if(s?.code===q$.INVALID_SWAP_AMOUNT){let a=Y$(s);return new ne({...ye.AMOUNT_OUT_OF_RANGE,recoverability:"FATAL",message:`${t} ${n} failed: ${i}`,cause:{trace:{rawError:r,minAmount:a?.minAmount,maxAmount:a?.maxAmount,token:a?.token}}})}return new ne({...ye.VALIDATION_FAILED,recoverability:"FATAL",message:`${t} ${n} failed: ${i}`,cause:{trace:r}});default:return new ne({...ye.VALIDATION_FAILED,recoverability:"FATAL",message:`${t} ${n} failed: ${i}`,cause:{trace:r}})}}var Lue=/slippage|stop.?limit|price.?impact|minimum.?output|SLIPPAGE_CONSTRAINT_NOT_MET/i;function Mue(e){return e===void 0?!1:[e.externalMessage,e.message,V6(e)].some(n=>typeof n=="string"&&Lue.test(n))}function Fue(e,t,n,r,o){if(e===503&&o?.code===q$.LOW_LIQUIDITY){let s=Y$(o),i=V6(o)??ns(r);return new ne({...iue.INSUFFICIENT_LIQUIDITY,recoverability:"RETRYABLE",message:`${t} ${n} failed: ${i}`,cause:{trace:{rawError:r,minAmount:s?.minAmount,maxAmount:s?.maxAmount,token:s?.token}}})}return new ne({...Xy.INTERNAL_ERROR,recoverability:"RETRYABLE",message:`${t} ${n} failed: Server error (${e.toString()})`,cause:{trace:r}})}function Uue(e,t,n){return new ne({...pr.CONNECTION_FAILED,recoverability:"RETRYABLE",message:`${e} ${t} failed: Network connection error`,cause:{trace:n}})}function Hue(e,t,n){return new ne({...z$.RATE_LIMIT_EXCEEDED,recoverability:"RETRYABLE",message:`${e} ${t} failed: Too many requests, please retry later`,cause:{trace:n}})}function $ue(e,t,n){return new ne({...pr.TIMEOUT,recoverability:"RETRYABLE",message:`${e} ${t} failed: Request timeout`,cause:{trace:n}})}function zue(e){return Bue(e)}function Vue(e){if(typeof e.field=="string"&&e.field.length>0)return e.field;if(Array.isArray(e.path)&&e.path.length>0){let t=e.path[0];if(typeof t=="string"&&t.length>0)return t}}function jue(e){let t=e.map(n=>{if(!Gue(n))return;let r=typeof n.message=="string"&&n.message.length>0?n.message:void 0;if(r===void 0)return;let o=Vue(n);return o===void 0?r:`${o}: ${r}`}).filter(n=>n!==void 0);return t.length>0?t.join("; "):void 0}function Gue(e){return"message"in e||"field"in e||"path"in e}function Wue(e){return"minAmount"in e||"maxAmount"in e||"token"in e}function Y$(e){if(!(e===void 0||!Array.isArray(e.errors)))return e.errors.find(Wue)}function V6(e){if(e===void 0)return;let t=typeof e.externalMessage=="string"&&e.externalMessage.length>0?e.externalMessage:void 0;if(t!==void 0)return t;let n=typeof e.message=="string"&&e.message.length>0?e.message:void 0,r=Array.isArray(e.errors)&&e.errors.length>0?jue(e.errors):void 0;return n!==void 0&&r!==void 0?`${n}: ${r}`:n??r}var bt={LOAN_NOT_FOUND:{code:1200,name:"BORROW_LOAN_NOT_FOUND",type:"INPUT"},INVALID_OWNER_SIGNATURE:{code:1201,name:"BORROW_INVALID_OWNER_SIGNATURE",type:"INPUT"},OWNER_MISMATCH:{code:1202,name:"BORROW_OWNER_MISMATCH",type:"INPUT"},INVALID_WEBHOOK_URL:{code:1203,name:"BORROW_INVALID_WEBHOOK_URL",type:"INPUT"},INVALID_INPUT:{code:1204,name:"BORROW_INVALID_INPUT",type:"INPUT"},UNSUPPORTED_CHAIN:{code:1205,name:"BORROW_UNSUPPORTED_CHAIN",type:"INPUT"},CONFIG_NOT_FOUND:{code:1206,name:"BORROW_CONFIG_NOT_FOUND",type:"INPUT"},MARKET_NOT_FOUND:{code:1207,name:"BORROW_MARKET_NOT_FOUND",type:"INPUT"},UNKNOWN_MARKET:{code:1209,name:"BORROW_UNKNOWN_MARKET",type:"INPUT"},IDEMPOTENCY_MISMATCH:{code:1210,name:"BORROW_IDEMPOTENCY_MISMATCH",type:"INPUT"},WOULD_BE_UNHEALTHY:{code:1211,name:"BORROW_WOULD_BE_UNHEALTHY",type:"INPUT"},ALREADY_UNHEALTHY:{code:1212,name:"BORROW_ALREADY_UNHEALTHY",type:"INPUT"},SIGNED_BUNDLE_EXPIRED:{code:1213,name:"BORROW_SIGNED_BUNDLE_EXPIRED",type:"INPUT"},LOAN_ALREADY_EXISTS:{code:1214,name:"BORROW_LOAN_ALREADY_EXISTS",type:"INPUT"},IDEMPOTENCY_ALREADY_EXECUTED:{code:1215,name:"BORROW_IDEMPOTENCY_ALREADY_EXECUTED",type:"INPUT"},WITHDRAWAL_EXCEEDS_COLLATERAL:{code:1216,name:"BORROW_WITHDRAWAL_EXCEEDS_COLLATERAL",type:"INPUT"},REPAY_EXCEEDS_DEBT:{code:1217,name:"BORROW_REPAY_EXCEEDS_DEBT",type:"INPUT"},INVALID_PAGE_CURSOR:{code:1218,name:"BORROW_INVALID_PAGE_CURSOR",type:"INPUT"},MAX_LOANS_EXCEEDED:{code:1219,name:"BORROW_MAX_LOANS_EXCEEDED",type:"INPUT"},INVALID_MARKET_SNAPSHOT:{code:1220,name:"BORROW_INVALID_MARKET_SNAPSHOT",type:"INPUT"},INVALID_INTEGRATOR_FEE:{code:1221,name:"BORROW_INVALID_INTEGRATOR_FEE",type:"INPUT"},UNSUPPORTED_EXISTING_LOAN:{code:1222,name:"BORROW_UNSUPPORTED_EXISTING_LOAN",type:"INPUT"},LOAN_NOT_OPEN:{code:1223,name:"BORROW_LOAN_NOT_OPEN",type:"INPUT"},INSUFFICIENT_COLLATERAL:{code:1224,name:"BORROW_INSUFFICIENT_COLLATERAL",type:"INPUT"},WEBHOOK_DEADLINE_OUT_OF_RANGE:{code:1225,name:"BORROW_WEBHOOK_DEADLINE_OUT_OF_RANGE",type:"INPUT"},INTERNAL_ERROR:{code:8200,name:"BORROW_INTERNAL_ERROR",type:"SERVICE"},REWARDS_FETCH_FAILED:{code:8202,name:"BORROW_REWARDS_FETCH_FAILED",type:"SERVICE"},LOAN_DATA_PENDING:{code:8203,name:"BORROW_LOAN_DATA_PENDING",type:"SERVICE"},UPSTREAM_UNAVAILABLE:{code:8204,name:"BORROW_UPSTREAM_UNAVAILABLE",type:"SERVICE"}};bt.INVALID_OWNER_SIGNATURE,bt.LOAN_NOT_FOUND,bt.OWNER_MISMATCH,bt.INVALID_WEBHOOK_URL,bt.INTERNAL_ERROR,bt.INVALID_INPUT,bt.LOAN_NOT_FOUND,bt.INVALID_OWNER_SIGNATURE,bt.INVALID_WEBHOOK_URL,bt.INTERNAL_ERROR,bt.IDEMPOTENCY_MISMATCH,bt.WOULD_BE_UNHEALTHY,bt.ALREADY_UNHEALTHY,bt.UNKNOWN_MARKET,bt.SIGNED_BUNDLE_EXPIRED,bt.MARKET_NOT_FOUND,bt.CONFIG_NOT_FOUND,bt.WEBHOOK_DEADLINE_OUT_OF_RANGE,bt.UNSUPPORTED_CHAIN,bt.UNSUPPORTED_CHAIN,bt.LOAN_ALREADY_EXISTS,bt.INSUFFICIENT_COLLATERAL,xc.INSUFFICIENT_TOKEN,bt.WITHDRAWAL_EXCEEDS_COLLATERAL,bt.INVALID_INPUT,bt.REPAY_EXCEEDS_DEBT,bt.INVALID_PAGE_CURSOR,bt.MAX_LOANS_EXCEEDED,bt.INVALID_MARKET_SNAPSHOT,bt.INVALID_INTEGRATOR_FEE,bt.LOAN_DATA_PENDING,bt.UNSUPPORTED_EXISTING_LOAN,bt.IDEMPOTENCY_ALREADY_EXECUTED,bt.UPSTREAM_UNAVAILABLE,bt.LOAN_NOT_OPEN,bt.INVALID_INPUT,z$.RATE_LIMIT_EXCEEDED,bt.REWARDS_FETCH_FAILED;var M;(function(e){e.Algorand="Algorand",e.Algorand_Testnet="Algorand_Testnet",e.Aptos="Aptos",e.Aptos_Testnet="Aptos_Testnet",e.Arbitrum="Arbitrum",e.Arbitrum_Sepolia="Arbitrum_Sepolia",e.Arc="Arc",e.Arc_Testnet="Arc_Testnet",e.Avalanche="Avalanche",e.Avalanche_Fuji="Avalanche_Fuji",e.Base="Base",e.Base_Sepolia="Base_Sepolia",e.Celo="Celo",e.Celo_Alfajores_Testnet="Celo_Alfajores_Testnet",e.Codex="Codex",e.Codex_Testnet="Codex_Testnet",e.Cronos="Cronos",e.Cronos_Testnet="Cronos_Testnet",e.Edge="Edge",e.Edge_Testnet="Edge_Testnet",e.Ethereum="Ethereum",e.Ethereum_Sepolia="Ethereum_Sepolia",e.Hedera="Hedera",e.Hedera_Testnet="Hedera_Testnet",e.HyperEVM="HyperEVM",e.HyperEVM_Testnet="HyperEVM_Testnet",e.Injective="Injective",e.Injective_Testnet="Injective_Testnet",e.Ink="Ink",e.Ink_Testnet="Ink_Testnet",e.Linea="Linea",e.Linea_Sepolia="Linea_Sepolia",e.Monad="Monad",e.Monad_Testnet="Monad_Testnet",e.Morph="Morph",e.Morph_Testnet="Morph_Testnet",e.NEAR="NEAR",e.NEAR_Testnet="NEAR_Testnet",e.Noble="Noble",e.Noble_Testnet="Noble_Testnet",e.Optimism="Optimism",e.Optimism_Sepolia="Optimism_Sepolia",e.Pharos="Pharos",e.Pharos_Testnet="Pharos_Testnet",e.Plasma="Plasma",e.Plasma_Testnet="Plasma_Testnet",e.Polkadot_Asset_Hub="Polkadot_Asset_Hub",e.Polkadot_Westmint="Polkadot_Westmint",e.Plume="Plume",e.Plume_Testnet="Plume_Testnet",e.Polygon="Polygon",e.Polygon_Amoy_Testnet="Polygon_Amoy_Testnet",e.Sei="Sei",e.Sei_Testnet="Sei_Testnet",e.Solana="Solana",e.Solana_Devnet="Solana_Devnet",e.Sonic="Sonic",e.Sonic_Testnet="Sonic_Testnet",e.Stellar="Stellar",e.Stellar_Testnet="Stellar_Testnet",e.Sui="Sui",e.Sui_Testnet="Sui_Testnet",e.Unichain="Unichain",e.Unichain_Sepolia="Unichain_Sepolia",e.World_Chain="World_Chain",e.World_Chain_Sepolia="World_Chain_Sepolia",e.XDC="XDC",e.XDC_Apothem="XDC_Apothem",e.X_Layer="X_Layer",e.X_Layer_Testnet="X_Layer_Testnet",e.ZKSync_Era="ZKSync_Era",e.ZKSync_Sepolia="ZKSync_Sepolia"})(M||(M={}));var nf;(function(e){e.Ethereum="Ethereum",e.Base="Base",e.Polygon="Polygon",e.Solana="Solana",e.Arbitrum="Arbitrum",e.Optimism="Optimism",e.Avalanche="Avalanche",e.Linea="Linea",e.Ink="Ink",e.World_Chain="World_Chain",e.Unichain="Unichain",e.Plume="Plume",e.Sei="Sei",e.Sonic="Sonic",e.XDC="XDC",e.HyperEVM="HyperEVM",e.Monad="Monad",e.Arc="Arc",e.Arc_Testnet="Arc_Testnet"})(nf||(nf={}));var UA;(function(e){e.Arbitrum="Arbitrum",e.Arc="Arc",e.Avalanche="Avalanche",e.Base="Base",e.Codex="Codex",e.Cronos="Cronos",e.Edge="Edge",e.Ethereum="Ethereum",e.HyperEVM="HyperEVM",e.Injective="Injective",e.Ink="Ink",e.Linea="Linea",e.Monad="Monad",e.Morph="Morph",e.Optimism="Optimism",e.Pharos="Pharos",e.Plasma="Plasma",e.Plume="Plume",e.Polygon="Polygon",e.Sei="Sei",e.Solana="Solana",e.Sonic="Sonic",e.Unichain="Unichain",e.World_Chain="World_Chain",e.XDC="XDC",e.X_Layer="X_Layer",e.Arc_Testnet="Arc_Testnet",e.Arbitrum_Sepolia="Arbitrum_Sepolia",e.Avalanche_Fuji="Avalanche_Fuji",e.Base_Sepolia="Base_Sepolia",e.Codex_Testnet="Codex_Testnet",e.Cronos_Testnet="Cronos_Testnet",e.Edge_Testnet="Edge_Testnet",e.Ethereum_Sepolia="Ethereum_Sepolia",e.HyperEVM_Testnet="HyperEVM_Testnet",e.Injective_Testnet="Injective_Testnet",e.Ink_Testnet="Ink_Testnet",e.Linea_Sepolia="Linea_Sepolia",e.Monad_Testnet="Monad_Testnet",e.Morph_Testnet="Morph_Testnet",e.Optimism_Sepolia="Optimism_Sepolia",e.Pharos_Testnet="Pharos_Testnet",e.Plasma_Testnet="Plasma_Testnet",e.Plume_Testnet="Plume_Testnet",e.Polygon_Amoy_Testnet="Polygon_Amoy_Testnet",e.Sei_Testnet="Sei_Testnet",e.Solana_Devnet="Solana_Devnet",e.Sonic_Testnet="Sonic_Testnet",e.Unichain_Sepolia="Unichain_Sepolia",e.World_Chain_Sepolia="World_Chain_Sepolia",e.XDC_Apothem="XDC_Apothem",e.X_Layer_Testnet="X_Layer_Testnet"})(UA||(UA={}));var Wy;(function(e){e.Arc="Arc",e.Arbitrum="Arbitrum",e.Avalanche="Avalanche",e.Base="Base",e.Ethereum="Ethereum",e.HyperEVM="HyperEVM",e.Optimism="Optimism",e.Polygon="Polygon",e.Sei="Sei",e.Solana="Solana",e.Sonic="Sonic",e.Unichain="Unichain",e.World_Chain="World_Chain",e.Arbitrum_Sepolia="Arbitrum_Sepolia",e.Arc_Testnet="Arc_Testnet",e.Avalanche_Fuji="Avalanche_Fuji",e.Base_Sepolia="Base_Sepolia",e.Ethereum_Sepolia="Ethereum_Sepolia",e.HyperEVM_Testnet="HyperEVM_Testnet",e.Optimism_Sepolia="Optimism_Sepolia",e.Polygon_Amoy_Testnet="Polygon_Amoy_Testnet",e.Sei_Testnet="Sei_Testnet",e.Solana_Devnet="Solana_Devnet",e.Sonic_Testnet="Sonic_Testnet",e.Unichain_Sepolia="Unichain_Sepolia",e.World_Chain_Sepolia="World_Chain_Sepolia"})(Wy||(Wy={}));var rf;(function(e){e.Arc="Arc",e.Arc_Testnet="Arc_Testnet"})(rf||(rf={}));var h6=["Arbitrum","Arbitrum_Sepolia","Base","Base_Sepolia","Ethereum","Ethereum_Sepolia"],y6=["Arc","Arc_Testnet"],of;(function(e){e.Arc="Arc",e.Arc_Testnet="Arc_Testnet"})(of||(of={}));var que={type:"algorand",chain:M.Algorand,name:"Algorand",title:"Algorand Mainnet",nativeCurrency:{name:"Algo",symbol:"ALGO",decimals:6},isTestnet:!1,explorerUrl:"https://explorer.perawallet.app/tx/{hash}",rpcEndpoints:["https://mainnet-api.algonode.cloud"],eurcAddress:null,usdcAddress:"31566704",usdtAddress:null,cctp:null},Kue={type:"algorand",chain:M.Algorand_Testnet,name:"Algorand Testnet",title:"Algorand Test Network",nativeCurrency:{name:"Algo",symbol:"ALGO",decimals:6},isTestnet:!0,explorerUrl:"https://testnet.explorer.perawallet.app/tx/{hash}",rpcEndpoints:["https://testnet-api.algonode.cloud"],eurcAddress:null,usdcAddress:"10458941",usdtAddress:null,cctp:null},Yue={type:"aptos",chain:M.Aptos,name:"Aptos",title:"Aptos Mainnet",nativeCurrency:{name:"Aptos",symbol:"APT",decimals:8},isTestnet:!1,explorerUrl:"https://explorer.aptoslabs.com/txn/{hash}?network=mainnet",rpcEndpoints:["https://fullnode.mainnet.aptoslabs.com/v1"],eurcAddress:null,usdcAddress:"0xbae207659db88bea0cbead6da0ed00aac12edcdda169e591cd41c94180b46f3b",usdtAddress:"0x357b0b74bc833e95a115ad22604854d6b0fca151cecd94111770e5d6ffc9dc2b",cctp:{domain:9,contracts:{v1:{type:"split",tokenMessenger:"0x9bce6734f7b63e835108e3bd8c36743d4709fe435f44791918801d0989640a9d",messageTransmitter:"0x177e17751820e4b4371873ca8c30279be63bdea63b88ed0f2239c2eea10f1772",confirmations:1}},forwarderSupported:{source:!1,destination:!1}}},Zue={type:"aptos",chain:M.Aptos_Testnet,name:"Aptos Testnet",title:"Aptos Test Network",nativeCurrency:{name:"Aptos",symbol:"APT",decimals:8},isTestnet:!0,explorerUrl:"https://explorer.aptoslabs.com/txn/{hash}?network=testnet",rpcEndpoints:["https://fullnode.testnet.aptoslabs.com/v1"],eurcAddress:null,usdcAddress:"0x69091fbab5f7d635ee7ac5098cf0c1efbe31d68fec0f2cd565e8d168daf52832",usdtAddress:null,cctp:{domain:9,contracts:{v1:{type:"split",tokenMessenger:"0x5f9b937419dda90aa06c1836b7847f65bbbe3f1217567758dc2488be31a477b9",messageTransmitter:"0x081e86cebf457a0c6004f35bd648a2794698f52e0dde09a48619dcd3d4cc23d9",confirmations:1}},forwarderSupported:{source:!1,destination:!1}}},Z$={USDC:{symbol:"USDC",decimals:6,category:"stablecoin",description:"USD Coin"},EURC:{symbol:"EURC",decimals:6,category:"stablecoin",description:"Euro Coin"},USDT:{symbol:"USDT",decimals:6,category:"stablecoin",description:"Tether USD"},PYUSD:{symbol:"PYUSD",decimals:6,category:"stablecoin",description:"PayPal USD"},DAI:{symbol:"DAI",decimals:18,category:"stablecoin",description:"MakerDAO stablecoin"},USDE:{symbol:"USDE",decimals:18,category:"stablecoin",description:"Ethena USD (synthetic dollar)"},WBTC:{symbol:"WBTC",decimals:8,category:"wrapped",description:"Wrapped Bitcoin"},WETH:{symbol:"WETH",decimals:18,category:"wrapped",description:"Wrapped Ethereum"},WSOL:{symbol:"WSOL",decimals:9,category:"wrapped",description:"Wrapped Solana"},WAVAX:{symbol:"WAVAX",decimals:18,category:"wrapped",description:"Wrapped Avalanche"},WPOL:{symbol:"WPOL",decimals:18,category:"wrapped",description:"Wrapped Polygon"},CIRBTC:{symbol:"CIRBTC",decimals:8,category:"wrapped",description:"Circle Bitcoin"}},X$="NATIVE";[...Object.keys(Z$)];var On="0xC5567a5E3370d4DBfB0540025078e283e36A363d",df="0x63753E722bd2C2A5DF6EE19C5106662208B81077",lf="0x431871229103b780868f8C6BB820cd16ECf942BC",Mn="0xB3FA262d0fB521cc93bE83d87b322b8A23DAf3F0",Yr="0x7FB8c7260b63934d8da38aF902f87ae6e284a845",JA="0xBBD70b01a1CAbc96d5b7b129Ae1AAabdf50dd40b",Xue="0x522fAf9A91c41c443c66765030741e4AaCe147D0",Jue="0x522fAf9A91c41c443c66765030741e4AaCe147D0",Xs="0x77777777Dcc4d5A8B6E418Fd04D8997ef11000eE",Js="0x2222222d7164433c4C09B0b0D809a9b52C04C205",Qs="0x0077777d7EBA4688BDeF3E311b846F25870A19B9",ei="0x0022222ABE238Cc2C7Bb1f21003F0a260052475B",Que="GATEwy4YxeiEbRJLwB6dXgg7q61e6zBPrMzYj5h1pRXQ",ede="GATEm5SoBJiSw1v2Pz1iPBgUYkXzCUJ27XSXhDfSyzVZ",tde="GATEwdfmYNELfp5wDmmR6noSr2vHnAfBPMm2PvCzX5vu",nde="GATEmKK2ECL1brEngQZWCgMWPbvrEYqsV6u29dAaHavr",Jn="0x71f54F818671cD0D7ea140Da213e5C8b5C92a408",Vn="0x8745D906D67C346E5eb1aEEED38Eb87F34DF0C0A",j6="0x16529813203f77E036576666336554a1210dce4D",G6="0xD05E7D2E7d30b92c5F17d7d0fC575fce231F1A48",W6="0xFa7be2f04F3Ad4ca969260729c6d45B5625984A7",q6="0xEdC81040756AcCfF070c21D37b265b9D0b5Ba45e",rde="0x19ddF81aAA91dB506f7769b3f285Bd16d77e4DAe",ode="HGMjULXsaMcbXgRhRECkSG3LyiKJgqiNAnLv1zZd8Kpn",sde={type:"evm",chain:M.Arc,name:"Arc",title:"Arc Mainnet",nativeCurrency:{name:"USDC",symbol:"USDC",decimals:18},chainId:5042,isTestnet:!1,explorerUrl:"https://explorer.arc.io/tx/{hash}",rpcEndpoints:["https://rpc.mainnet.arc.io/"],eurcAddress:"0xbEf5f6d51CB62b58e6A8f77868681825C6fe21c1",usdcAddress:"0x3600000000000000000000000000000000000000",usdtAddress:null,cctp:{domain:26,contracts:{v2:{type:"split",tokenMessenger:"0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d",messageTransmitter:"0x81D40F21F12A8F0E3252Bccb954D722d4c464B64",confirmations:1,fastConfirmations:1}},forwarderSupported:{source:!1,destination:!0}},cctpx:{serviceAddress:lf},kitContracts:{bridge:Mn,adapter:Yr,senderPreservingBatcher:Jue},gateway:{domain:26,contracts:{v1:{wallet:Xs,minter:Js,depositForHandler:j6,genericExecutor:W6}},forwarderSupported:{source:!0,destination:!0}}},ide={type:"evm",chain:M.Arc_Testnet,name:"Arc Testnet",title:"ArcTestnet",nativeCurrency:{name:"USDC",symbol:"USDC",decimals:18},chainId:5042002,isTestnet:!0,explorerUrl:"https://testnet.arcscan.app/tx/{hash}",rpcEndpoints:["https://rpc.testnet.arc.network/"],eurcAddress:"0x89B50855Aa3bE2F677cD6303Cec089B5F319D72a",usdcAddress:"0x3600000000000000000000000000000000000000",usdtAddress:null,cctp:{domain:26,contracts:{v2:{type:"split",tokenMessenger:"0x8FE6B999Dc680CcFDD5Bf7EB0974218be2542DAA",tokenMessengerWithFees:Vn,messageTransmitter:"0xE737e5cEBEEBa77EFE34D4aa090756590b1CE275",confirmations:1,fastConfirmations:1}},forwarderSupported:{source:!1,destination:!0}},cctpx:{serviceAddress:df},kitContracts:{bridge:On,adapter:JA,senderPreservingBatcher:Xue},gateway:{domain:26,contracts:{v1:{wallet:Qs,minter:ei,depositForHandler:G6,genericExecutor:q6}},forwarderSupported:{source:!0,destination:!0}}},ade={type:"evm",chain:M.Arbitrum,name:"Arbitrum",title:"Arbitrum Mainnet",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},chainId:42161,isTestnet:!1,explorerUrl:"https://arbiscan.io/tx/{hash}",rpcEndpoints:["https://arb1.arbitrum.io/rpc"],eurcAddress:null,usdcAddress:"0xaf88d065e77c8cc2239327c5edb3a432268e5831",usdtAddress:null,cctp:{domain:3,contracts:{v1:{type:"split",tokenMessenger:"0x19330d10D9Cc8751218eaf51E8885D058642E08A",messageTransmitter:"0xC30362313FBBA5cf9163F0bb16a0e01f01A896ca",confirmations:65},v2:{type:"split",tokenMessenger:"0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d",tokenMessengerWithFees:Jn,messageTransmitter:"0x81D40F21F12A8F0E3252Bccb954D722d4c464B64",confirmations:65,fastConfirmations:1}},forwarderSupported:{source:!1,destination:!0}},cctpx:{serviceAddress:lf},kitContracts:{bridge:Mn,adapter:Yr},gateway:{domain:3,contracts:{v1:{wallet:Xs,minter:Js}},forwarderSupported:{source:!0,destination:!0}}},cde={type:"evm",chain:M.Arbitrum_Sepolia,name:"Arbitrum Sepolia",title:"Arbitrum Sepolia Testnet",nativeCurrency:{name:"Sepolia Ether",symbol:"ETH",decimals:18},chainId:421614,isTestnet:!0,explorerUrl:"https://sepolia.arbiscan.io/tx/{hash}",rpcEndpoints:["https://sepolia-rollup.arbitrum.io/rpc"],eurcAddress:null,usdcAddress:"0x75faf114eafb1BDbe2F0316DF893fd58CE46AA4d",usdtAddress:null,cctp:{domain:3,contracts:{v1:{type:"split",tokenMessenger:"0x9f3B8679c73C2Fef8b59B4f3444d4e156fb70AA5",messageTransmitter:"0xaCF1ceeF35caAc005e15888dDb8A3515C41B4872",confirmations:65},v2:{type:"split",tokenMessenger:"0x8FE6B999Dc680CcFDD5Bf7EB0974218be2542DAA",tokenMessengerWithFees:Vn,messageTransmitter:"0xE737e5cEBEEBa77EFE34D4aa090756590b1CE275",confirmations:65,fastConfirmations:1}},forwarderSupported:{source:!1,destination:!0}},cctpx:{serviceAddress:df},kitContracts:{bridge:On,adapter:JA},gateway:{domain:3,contracts:{v1:{wallet:Qs,minter:ei}},forwarderSupported:{source:!0,destination:!0}}},ude={type:"evm",chain:M.Avalanche,name:"Avalanche",title:"Avalanche Mainnet",nativeCurrency:{name:"Avalanche",symbol:"AVAX",decimals:18},chainId:43114,isTestnet:!1,explorerUrl:"https://subnets.avax.network/c-chain/tx/{hash}",rpcEndpoints:["https://api.avax.network/ext/bc/C/rpc"],eurcAddress:"0xc891eb4cbdeff6e073e859e987815ed1505c2acd",usdcAddress:"0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E",usdtAddress:"0x9702230a8ea53601f5cd2dc00fdbc13d4df4a8c7",cctp:{domain:1,contracts:{v1:{type:"split",tokenMessenger:"0x6b25532e1060ce10cc3b0a99e5683b91bfde6982",messageTransmitter:"0x8186359af5f57fbb40c6b14a588d2a59c0c29880",confirmations:1},v2:{type:"split",tokenMessenger:"0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d",tokenMessengerWithFees:Jn,messageTransmitter:"0x81D40F21F12A8F0E3252Bccb954D722d4c464B64",confirmations:1,fastConfirmations:1}},forwarderSupported:{source:!1,destination:!0}},cctpx:{serviceAddress:lf},kitContracts:{bridge:Mn,adapter:Yr},gateway:{domain:1,contracts:{v1:{wallet:Xs,minter:Js,depositForHandler:j6,genericExecutor:W6}},forwarderSupported:{source:!0,destination:!0}}},dde={type:"evm",chain:M.Avalanche_Fuji,name:"Avalanche Fuji",title:"Avalanche Fuji Testnet",nativeCurrency:{name:"Avalanche",symbol:"AVAX",decimals:18},chainId:43113,isTestnet:!0,explorerUrl:"https://subnets-test.avax.network/c-chain/tx/{hash}",eurcAddress:"0x5e44db7996c682e92a960b65ac713a54ad815c6b",usdcAddress:"0x5425890298aed601595a70ab815c96711a31bc65",usdtAddress:null,cctp:{domain:1,contracts:{v1:{type:"split",tokenMessenger:"0xeb08f243e5d3fcff26a9e38ae5520a669f4019d0",messageTransmitter:"0xa9fb1b3009dcb79e2fe346c16a604b8fa8ae0a79",confirmations:1},v2:{type:"split",tokenMessenger:"0x8fe6b999dc680ccfdd5bf7eb0974218be2542daa",tokenMessengerWithFees:Vn,messageTransmitter:"0xe737e5cebeeba77efe34d4aa090756590b1ce275",confirmations:1,fastConfirmations:1}},forwarderSupported:{source:!1,destination:!0}},rpcEndpoints:["https://api.avax-test.network/ext/bc/C/rpc"],cctpx:{serviceAddress:df},kitContracts:{bridge:On},gateway:{domain:1,contracts:{v1:{wallet:Qs,minter:ei,depositForHandler:G6,genericExecutor:q6}},forwarderSupported:{source:!0,destination:!0}}},lde={type:"evm",chain:M.Base,name:"Base",title:"Base Mainnet",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},chainId:8453,isTestnet:!1,explorerUrl:"https://basescan.org/tx/{hash}",rpcEndpoints:["https://mainnet.base.org","https://base.publicnode.com"],eurcAddress:"0x60a3e35cc302bfa44cb288bc5a4f316fdb1adb42",usdcAddress:"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",usdtAddress:null,cctp:{domain:6,contracts:{v1:{type:"split",tokenMessenger:"0x1682Ae6375C4E4A97e4B583BC394c861A46D8962",messageTransmitter:"0xAD09780d193884d503182aD4588450C416D6F9D4",confirmations:65},v2:{type:"split",tokenMessenger:"0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d",tokenMessengerWithFees:Jn,messageTransmitter:"0x81D40F21F12A8F0E3252Bccb954D722d4c464B64",confirmations:65,fastConfirmations:1}},forwarderSupported:{source:!1,destination:!0}},cctpx:{serviceAddress:lf},kitContracts:{bridge:Mn,adapter:Yr},gateway:{domain:6,contracts:{v1:{wallet:Xs,minter:Js}},forwarderSupported:{source:!0,destination:!0}}},fde={type:"evm",chain:M.Base_Sepolia,name:"Base Sepolia",title:"Base Sepolia Testnet",nativeCurrency:{name:"Sepolia Ether",symbol:"ETH",decimals:18},chainId:84532,isTestnet:!0,explorerUrl:"https://sepolia.basescan.org/tx/{hash}",rpcEndpoints:["https://sepolia.base.org"],eurcAddress:"0x808456652fdb597867f38412077A9182bf77359F",usdcAddress:"0x036CbD53842c5426634e7929541eC2318f3dCF7e",usdtAddress:null,cctp:{domain:6,contracts:{v1:{type:"split",tokenMessenger:"0x9f3B8679c73C2Fef8b59B4f3444d4e156fb70AA5",messageTransmitter:"0x7865fAfC2db2093669d92c0F33AeEF291086BEFD",confirmations:65},v2:{type:"split",tokenMessenger:"0x8fe6b999dc680ccfdd5bf7eb0974218be2542daa",tokenMessengerWithFees:Vn,messageTransmitter:"0xe737e5cebeeba77efe34d4aa090756590b1ce275",confirmations:65,fastConfirmations:1}},forwarderSupported:{source:!1,destination:!0}},cctpx:{serviceAddress:df},kitContracts:{bridge:On,adapter:JA},gateway:{domain:6,contracts:{v1:{wallet:Qs,minter:ei}},forwarderSupported:{source:!0,destination:!0}}},pde={type:"evm",chain:M.Celo,name:"Celo",title:"Celo Mainnet",nativeCurrency:{name:"Celo",symbol:"CELO",decimals:18},chainId:42220,isTestnet:!1,explorerUrl:"https://celoscan.io/tx/{hash}",rpcEndpoints:["https://forno.celo.org"],eurcAddress:null,usdcAddress:"0xcebA9300f2b948710d2653dD7B07f33A8B32118C",usdtAddress:"0x48065fbBE25f71C9282ddf5e1cD6D6A887483D5e",cctp:null},mde={type:"evm",chain:M.Celo_Alfajores_Testnet,name:"Celo Alfajores",title:"Celo Alfajores Testnet",nativeCurrency:{name:"Celo",symbol:"CELO",decimals:18},chainId:44787,isTestnet:!0,explorerUrl:"https://alfajores.celoscan.io/tx/{hash}",rpcEndpoints:["https://alfajores-forno.celo-testnet.org"],eurcAddress:null,usdcAddress:"0x2F25deB3848C207fc8E0c34035B3Ba7fC157602B",usdtAddress:null,cctp:null},hde={type:"evm",chain:M.Codex,name:"Codex Mainnet",title:"Codex Mainnet",nativeCurrency:{name:"ETH",symbol:"ETH",decimals:18},chainId:81224,isTestnet:!1,explorerUrl:"https://explorer.codex.xyz/tx/{hash}",rpcEndpoints:["https://rpc.codex.xyz"],eurcAddress:null,usdcAddress:"0xd996633a415985DBd7D6D12f4A4343E31f5037cf",usdtAddress:null,cctp:{domain:12,contracts:{v2:{type:"split",tokenMessenger:"0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d",tokenMessengerWithFees:Jn,messageTransmitter:"0x81D40F21F12A8F0E3252Bccb954D722d4c464B64",confirmations:65,fastConfirmations:1}},forwarderSupported:{source:!1,destination:!0}},kitContracts:{bridge:Mn}},yde={type:"evm",chain:M.Codex_Testnet,name:"Codex Testnet",title:"Codex Testnet",nativeCurrency:{name:"ETH",symbol:"ETH",decimals:18},chainId:812242,isTestnet:!0,explorerUrl:"https://explorer.codex-stg.xyz/tx/{hash}",rpcEndpoints:["https://rpc.codex-stg.xyz"],eurcAddress:null,usdcAddress:"0x6d7f141b6819C2c9CC2f818e6ad549E7Ca090F8f",usdtAddress:null,cctp:{domain:12,contracts:{v2:{type:"split",tokenMessenger:"0x8fe6b999dc680ccfdd5bf7eb0974218be2542daa",tokenMessengerWithFees:Vn,messageTransmitter:"0xe737e5cebeeba77efe34d4aa090756590b1ce275",confirmations:65,fastConfirmations:1}},forwarderSupported:{source:!1,destination:!0}},kitContracts:{bridge:On}},bde={type:"evm",chain:M.Cronos,name:"Cronos",title:"Cronos Mainnet",nativeCurrency:{name:"Cronos",symbol:"CRO",decimals:18},chainId:25,isTestnet:!1,explorerUrl:"https://cronoscan.com/tx/{hash}",rpcEndpoints:["https://evm.cronos.org"],eurcAddress:"0xA6dE01a2d62C6B5f3525d768f34d276652C554c8",usdcAddress:"0x3D7F2C478aAfdB65542BCB44bCeeC05849999d2D",usdtAddress:null,cctp:{domain:32,contracts:{v2:{type:"split",tokenMessenger:"0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d",tokenMessengerWithFees:Jn,messageTransmitter:"0x81D40F21F12A8F0E3252Bccb954D722d4c464B64",confirmations:1,fastConfirmations:1}},forwarderSupported:{source:!1,destination:!1}},kitContracts:{bridge:Mn}},gde={type:"evm",chain:M.Cronos_Testnet,name:"Cronos Testnet",title:"Cronos Testnet",nativeCurrency:{name:"CRO",symbol:"tCRO",decimals:18},chainId:338,isTestnet:!0,explorerUrl:"https://explorer.cronos.org/testnet/tx/{hash}",rpcEndpoints:["https://evm-t3.cronos.org"],eurcAddress:"0x31f7538adb53cF16350e6B0c89d03D91b7D12c46",usdcAddress:"0xEb33dc5fac03833e132593659e1dE7256aB59794",usdtAddress:null,cctp:{domain:32,contracts:{v2:{type:"split",tokenMessenger:"0x8FE6B999Dc680CcFDD5Bf7EB0974218be2542DAA",tokenMessengerWithFees:Vn,messageTransmitter:"0xE737e5cEBEEBa77EFE34D4aa090756590b1CE275",confirmations:1,fastConfirmations:1}},forwarderSupported:{source:!1,destination:!1}},kitContracts:{bridge:On}},_de={type:"evm",chain:M.Edge,name:"Edge",title:"Edge Mainnet",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},chainId:3343,isTestnet:!1,explorerUrl:"https://pro.edgex.exchange/en-US/explorer/tx/{hash}",rpcEndpoints:["https://edge-mainnet.g.alchemy.com/public"],eurcAddress:null,usdcAddress:"0x98d2919b9A214E6Fa5384AC81E6864bA686Ad74c",usdtAddress:null,cctp:{domain:28,contracts:{v2:{type:"split",tokenMessenger:"0x98706A006bc632Df31CAdFCBD43F38887ce2ca5c",tokenMessengerWithFees:"0x3Ac96675F9a3E6922713e041645D82f3561d3686",messageTransmitter:"0x5b61381Fc9e58E70EfC13a4A97516997019198ee",confirmations:65,fastConfirmations:1}},forwarderSupported:{source:!1,destination:!0}},kitContracts:{bridge:"0x6D1AaE1c34Aeb582022916a67f2A655C6f4eDFF2"}},Ade={type:"evm",chain:M.Edge_Testnet,name:"Edge Testnet",title:"Edge Testnet",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},chainId:33431,isTestnet:!0,explorerUrl:"https://edge-testnet.explorer.alchemy.com/tx/{hash}",rpcEndpoints:["https://edge-testnet.g.alchemy.com/public"],eurcAddress:null,usdcAddress:"0x2d9F7CAD728051AA35Ecdc472a14cf8cDF5CFD6B",usdtAddress:null,cctp:{domain:28,contracts:{v2:{type:"split",tokenMessenger:"0x8FE6B999Dc680CcFDD5Bf7EB0974218be2542DAA",tokenMessengerWithFees:Vn,messageTransmitter:"0xE737e5cEBEEBa77EFE34D4aa090756590b1CE275",confirmations:65,fastConfirmations:1}},forwarderSupported:{source:!1,destination:!0}},kitContracts:{bridge:On}},Ede={type:"evm",chain:M.Ethereum,name:"Ethereum",title:"Ethereum Mainnet",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},chainId:1,isTestnet:!1,explorerUrl:"https://etherscan.io/tx/{hash}",rpcEndpoints:["https://ethereum-rpc.publicnode.com","https://ethereum.publicnode.com"],eurcAddress:"0x1aBaEA1f7C830bD89Acc67eC4af516284b1bC33c",usdcAddress:"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",usdtAddress:"0xdac17f958d2ee523a2206206994597c13d831ec7",cctp:{domain:0,contracts:{v1:{type:"split",tokenMessenger:"0xbd3fa81b58ba92a82136038b25adec7066af3155",messageTransmitter:"0x0a992d191deec32afe36203ad87d7d289a738f81",confirmations:65},v2:{type:"split",tokenMessenger:"0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d",tokenMessengerWithFees:Jn,messageTransmitter:"0x81D40F21F12A8F0E3252Bccb954D722d4c464B64",confirmations:65,fastConfirmations:2}},forwarderSupported:{source:!1,destination:!0}},cctpx:{serviceAddress:lf},kitContracts:{bridge:Mn,adapter:Yr},gateway:{domain:0,contracts:{v1:{wallet:Xs,minter:Js}},forwarderSupported:{source:!0,destination:!0}}},xde={type:"evm",chain:M.Ethereum_Sepolia,name:"Ethereum Sepolia",title:"Ethereum Sepolia Testnet",nativeCurrency:{name:"Sepolia Ether",symbol:"ETH",decimals:18},chainId:11155111,isTestnet:!0,explorerUrl:"https://sepolia.etherscan.io/tx/{hash}",rpcEndpoints:["https://ethereum-sepolia-rpc.publicnode.com"],eurcAddress:"0x08210F9170F89Ab7658F0B5E3fF39b0E03C594D4",usdcAddress:"0x1c7D4B196Cb0C7B01d743Fbc6116a902379C7238",usdtAddress:null,cctp:{domain:0,contracts:{v1:{type:"split",tokenMessenger:"0x9f3B8679c73C2Fef8b59B4f3444d4e156fb70AA5",messageTransmitter:"0x7865fAfC2db2093669d92c0F33AeEF291086BEFD",confirmations:65},v2:{type:"split",tokenMessenger:"0x8fe6b999dc680ccfdd5bf7eb0974218be2542daa",tokenMessengerWithFees:Vn,messageTransmitter:"0xe737e5cebeeba77efe34d4aa090756590b1ce275",confirmations:65,fastConfirmations:2}},forwarderSupported:{source:!1,destination:!0}},cctpx:{serviceAddress:df},kitContracts:{bridge:On,adapter:JA},gateway:{domain:0,contracts:{v1:{wallet:Qs,minter:ei}},forwarderSupported:{source:!0,destination:!0}}},wde={type:"hedera",chain:M.Hedera,name:"Hedera",title:"Hedera Mainnet",nativeCurrency:{name:"HBAR",symbol:"HBAR",decimals:18},isTestnet:!1,explorerUrl:"https://hashscan.io/mainnet/transaction/{hash}",rpcEndpoints:["https://mainnet.hashio.io/api"],eurcAddress:null,usdcAddress:"0.0.456858",usdtAddress:null,cctp:null},Tde={type:"hedera",chain:M.Hedera_Testnet,name:"Hedera Testnet",title:"Hedera Test Network",nativeCurrency:{name:"HBAR",symbol:"HBAR",decimals:18},isTestnet:!0,explorerUrl:"https://hashscan.io/testnet/transaction/{hash}",rpcEndpoints:["https://testnet.hashio.io/api"],eurcAddress:null,usdcAddress:"0.0.429274",usdtAddress:null,cctp:null},Sde={type:"evm",chain:M.HyperEVM,name:"HyperEVM",title:"HyperEVM Mainnet",nativeCurrency:{name:"Hype",symbol:"HYPE",decimals:18},chainId:999,isTestnet:!1,explorerUrl:"https://hyperevmscan.io/tx/{hash}",rpcEndpoints:["https://rpc.hyperliquid.xyz/evm"],eurcAddress:null,usdcAddress:"0xb88339CB7199b77E23DB6E890353E22632Ba630f",usdtAddress:null,cctp:{domain:19,contracts:{v2:{type:"split",tokenMessenger:"0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d",tokenMessengerWithFees:Jn,messageTransmitter:"0x81D40F21F12A8F0E3252Bccb954D722d4c464B64",confirmations:1,fastConfirmations:1}},forwarderSupported:{source:!1,destination:!0}},kitContracts:{bridge:Mn,adapter:Yr},gateway:{domain:19,contracts:{v1:{wallet:Xs,minter:Js}},forwarderSupported:{source:!0,destination:!0}}},Rde={type:"evm",chain:M.HyperEVM_Testnet,name:"HyperEVM Testnet",title:"HyperEVM Test Network",nativeCurrency:{name:"Hype",symbol:"HYPE",decimals:18},chainId:998,isTestnet:!0,explorerUrl:"https://app.hyperliquid-testnet.xyz/explorer/tx/{hash}",rpcEndpoints:["https://rpc.hyperliquid-testnet.xyz/evm"],eurcAddress:null,usdcAddress:"0x2B3370eE501B4a559b57D449569354196457D8Ab",usdtAddress:null,cctp:{domain:19,contracts:{v2:{type:"split",tokenMessenger:"0x8FE6B999Dc680CcFDD5Bf7EB0974218be2542DAA",tokenMessengerWithFees:Vn,messageTransmitter:"0xE737e5cEBEEBa77EFE34D4aa090756590b1CE275",confirmations:1,fastConfirmations:1}},forwarderSupported:{source:!1,destination:!0}},kitContracts:{bridge:On},gateway:{domain:19,contracts:{v1:{wallet:Qs,minter:ei}},forwarderSupported:{source:!0,destination:!0}}},vde={type:"evm",chain:M.Injective,name:"Injective",title:"Injective Mainnet",nativeCurrency:{name:"Injective",symbol:"INJ",decimals:18},chainId:1776,isTestnet:!1,explorerUrl:"https://injscan.com/transaction/{hash}",rpcEndpoints:["https://sentry.evm-rpc.injective.network"],eurcAddress:null,usdcAddress:"0xa00C59fF5a080D2b954d0c75e46E22a0c371235a",usdtAddress:null,cctp:{domain:29,contracts:{v2:{type:"split",tokenMessenger:"0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d",tokenMessengerWithFees:Jn,messageTransmitter:"0x81D40F21F12A8F0E3252Bccb954D722d4c464B64",confirmations:1,fastConfirmations:1}},forwarderSupported:{source:!1,destination:!1}},kitContracts:{bridge:Mn}},Ide={type:"evm",chain:M.Injective_Testnet,name:"Injective Testnet",title:"Injective Testnet",nativeCurrency:{name:"Injective",symbol:"INJ",decimals:18},chainId:1439,isTestnet:!0,explorerUrl:"https://testnet.explorer.injective.network/transaction/{hash}",rpcEndpoints:["https://k8s.testnet.json-rpc.injective.network"],eurcAddress:null,usdcAddress:"0x0C382e685bbeeFE5d3d9C29e29E341fEE8E84C5d",usdtAddress:null,cctp:{domain:29,contracts:{v2:{type:"split",tokenMessenger:"0x8FE6B999Dc680CcFDD5Bf7EB0974218be2542DAA",tokenMessengerWithFees:Vn,messageTransmitter:"0xE737e5cEBEEBa77EFE34D4aa090756590b1CE275",confirmations:1,fastConfirmations:1}},forwarderSupported:{source:!1,destination:!1}},kitContracts:{bridge:On}},Cde={type:"evm",chain:M.Ink,name:"Ink",title:"Ink Mainnet",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},chainId:57073,isTestnet:!1,explorerUrl:"https://explorer.inkonchain.com/tx/{hash}",rpcEndpoints:["https://rpc-gel.inkonchain.com","https://rpc-qnd.inkonchain.com"],eurcAddress:null,usdcAddress:"0x2D270e6886d130D724215A266106e6832161EAEd",usdtAddress:null,cctp:{domain:21,contracts:{v2:{type:"split",tokenMessenger:"0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d",tokenMessengerWithFees:Jn,messageTransmitter:"0x81D40F21F12A8F0E3252Bccb954D722d4c464B64",confirmations:65,fastConfirmations:1}},forwarderSupported:{source:!1,destination:!0}},kitContracts:{bridge:Mn,adapter:Yr}},Nde={type:"evm",chain:M.Ink_Testnet,name:"Ink Sepolia",title:"Ink Sepolia Testnet",nativeCurrency:{name:"Sepolia Ether",symbol:"ETH",decimals:18},chainId:763373,isTestnet:!0,explorerUrl:"https://explorer-sepolia.inkonchain.com/tx/{hash}",rpcEndpoints:["https://rpc-gel-sepolia.inkonchain.com","https://rpc-qnd-sepolia.inkonchain.com"],eurcAddress:null,usdcAddress:"0xFabab97dCE620294D2B0b0e46C68964e326300Ac",usdtAddress:null,cctp:{domain:21,contracts:{v2:{type:"split",tokenMessenger:"0x8FE6B999Dc680CcFDD5Bf7EB0974218be2542DAA",tokenMessengerWithFees:Vn,messageTransmitter:"0xE737e5cEBEEBa77EFE34D4aa090756590b1CE275",confirmations:65,fastConfirmations:1}},forwarderSupported:{source:!1,destination:!0}},kitContracts:{bridge:On}},Ode={type:"evm",chain:M.Linea,name:"Linea",title:"Linea Mainnet",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},chainId:59144,isTestnet:!1,explorerUrl:"https://lineascan.build/tx/{hash}",rpcEndpoints:["https://rpc.linea.build"],eurcAddress:null,usdcAddress:"0x176211869ca2b568f2a7d4ee941e073a821ee1ff",usdtAddress:null,cctp:{domain:11,contracts:{v2:{type:"split",tokenMessenger:"0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d",tokenMessengerWithFees:Jn,messageTransmitter:"0x81D40F21F12A8F0E3252Bccb954D722d4c464B64",confirmations:1,fastConfirmations:1}},forwarderSupported:{source:!1,destination:!0}},kitContracts:{bridge:Mn,adapter:Yr}},kde={type:"evm",chain:M.Linea_Sepolia,name:"Linea Sepolia",title:"Linea Sepolia Testnet",nativeCurrency:{name:"Sepolia Ether",symbol:"ETH",decimals:18},chainId:59141,isTestnet:!0,explorerUrl:"https://sepolia.lineascan.build/tx/{hash}",rpcEndpoints:["https://rpc.sepolia.linea.build"],eurcAddress:null,usdcAddress:"0xfece4462d57bd51a6a552365a011b95f0e16d9b7",usdtAddress:null,cctp:{domain:11,contracts:{v2:{type:"split",tokenMessenger:"0x8fe6b999dc680ccfdd5bf7eb0974218be2542daa",tokenMessengerWithFees:Vn,messageTransmitter:"0xe737e5cebeeba77efe34d4aa090756590b1ce275",confirmations:1,fastConfirmations:1}},forwarderSupported:{source:!1,destination:!0}},kitContracts:{bridge:On}},Dde={type:"evm",chain:M.Monad,name:"Monad",title:"Monad Mainnet",nativeCurrency:{name:"Monad",symbol:"MON",decimals:18},chainId:143,isTestnet:!1,explorerUrl:"https://monadscan.com/tx/{hash}",rpcEndpoints:["https://rpc.monad.xyz"],eurcAddress:null,usdcAddress:"0x754704Bc059F8C67012fEd69BC8A327a5aafb603",usdtAddress:null,cctp:{domain:15,contracts:{v2:{type:"split",tokenMessenger:"0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d",tokenMessengerWithFees:Jn,messageTransmitter:"0x81D40F21F12A8F0E3252Bccb954D722d4c464B64",confirmations:1,fastConfirmations:1}},forwarderSupported:{source:!1,destination:!0}},kitContracts:{bridge:Mn,adapter:Yr}},Bde={type:"evm",chain:M.Monad_Testnet,name:"Monad Testnet",title:"Monad Testnet",nativeCurrency:{name:"Monad",symbol:"MON",decimals:18},chainId:10143,isTestnet:!0,explorerUrl:"https://testnet.monadscan.com/tx/{hash}",rpcEndpoints:["https://testnet-rpc.monad.xyz"],eurcAddress:null,usdcAddress:"0x534b2f3A21130d7a60830c2Df862319e593943A3",usdtAddress:null,cctp:{domain:15,contracts:{v2:{type:"split",tokenMessenger:"0x8FE6B999Dc680CcFDD5Bf7EB0974218be2542DAA",tokenMessengerWithFees:Vn,messageTransmitter:"0xE737e5cEBEEBa77EFE34D4aa090756590b1CE275",confirmations:1,fastConfirmations:1}},forwarderSupported:{source:!1,destination:!0}},kitContracts:{bridge:On}},Pde={type:"evm",chain:M.Morph,name:"Morph",title:"Morph Mainnet",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},chainId:2818,isTestnet:!1,explorerUrl:"https://explorer.morph.network/tx/{hash}",rpcEndpoints:["https://rpc.morphl2.io"],eurcAddress:null,usdcAddress:"0xCfb1186F4e93D60E60a8bDd997427D1F33bc372B",usdtAddress:null,cctp:{domain:30,contracts:{v2:{type:"split",tokenMessenger:"0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d",tokenMessengerWithFees:Jn,messageTransmitter:"0x81D40F21F12A8F0E3252Bccb954D722d4c464B64",confirmations:64,fastConfirmations:1}},forwarderSupported:{source:!1,destination:!1}},kitContracts:{bridge:Mn}},Lde={type:"evm",chain:M.Morph_Testnet,name:"Morph Hoodi",title:"Morph Hoodi Testnet",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},chainId:2910,isTestnet:!0,explorerUrl:"https://explorer-hoodi.morphl2.io/tx/{hash}",rpcEndpoints:["https://rpc-hoodi.morphl2.io"],eurcAddress:null,usdcAddress:"0x7433b41C6c5e1d58D4Da99483609520255ab661B",usdtAddress:null,cctp:{domain:30,contracts:{v2:{type:"split",tokenMessenger:"0x8FE6B999Dc680CcFDD5Bf7EB0974218be2542DAA",tokenMessengerWithFees:Vn,messageTransmitter:"0xE737e5cEBEEBa77EFE34D4aa090756590b1CE275",confirmations:64,fastConfirmations:1}},forwarderSupported:{source:!1,destination:!1}},kitContracts:{bridge:On}},Mde={type:"near",chain:M.NEAR,name:"NEAR Protocol",title:"NEAR Mainnet",nativeCurrency:{name:"NEAR",symbol:"NEAR",decimals:24},isTestnet:!1,explorerUrl:"https://nearblocks.io/txns/{hash}",rpcEndpoints:["https://eth-rpc.mainnet.near.org"],eurcAddress:null,usdcAddress:"17208628f84f5d6ad33f0da3bbbeb27ffcb398eac501a31bd6ad2011e36133a1",usdtAddress:"usdt.tether-token.near",cctp:null},Fde={type:"near",chain:M.NEAR_Testnet,name:"NEAR Protocol Testnet",title:"NEAR Test Network",nativeCurrency:{name:"NEAR",symbol:"NEAR",decimals:24},isTestnet:!0,explorerUrl:"https://testnet.nearblocks.io/txns/{hash}",rpcEndpoints:["https://eth-rpc.testnet.near.org"],eurcAddress:null,usdcAddress:"3e2210e1184b45b64c8a434c0a7e7b23cc04ea7eb7a6c3c32520d03d4afcb8af",usdtAddress:null,cctp:null},Ude={type:"noble",chain:M.Noble,name:"Noble",title:"Noble Mainnet",nativeCurrency:{name:"Noble USDC",symbol:"USDC",decimals:6},isTestnet:!1,explorerUrl:"https://www.mintscan.io/noble/tx/{hash}",rpcEndpoints:["https://noble-rpc.polkachu.com"],eurcAddress:null,usdcAddress:"uusdc",usdtAddress:null,cctp:{domain:4,contracts:{v1:{type:"merged",contract:"noble12l2w4ugfz4m6dd73yysz477jszqnfughxvkss5",confirmations:1}},forwarderSupported:{source:!1,destination:!1}}},Hde={type:"noble",chain:M.Noble_Testnet,name:"Noble Testnet",title:"Noble Test Network",nativeCurrency:{name:"Noble USDC",symbol:"USDC",decimals:6},isTestnet:!0,explorerUrl:"https://www.mintscan.io/noble-testnet/tx/{hash}",rpcEndpoints:["https://noble-testnet-rpc.polkachu.com"],eurcAddress:null,usdcAddress:"uusdc",usdtAddress:null,cctp:{domain:4,contracts:{v1:{type:"merged",contract:"noble12l2w4ugfz4m6dd73yysz477jszqnfughxvkss5",confirmations:1}},forwarderSupported:{source:!1,destination:!1}}},$de={type:"evm",chain:M.Optimism,name:"Optimism",title:"Optimism Mainnet",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},chainId:10,isTestnet:!1,explorerUrl:"https://optimistic.etherscan.io/tx/{hash}",rpcEndpoints:["https://mainnet.optimism.io"],eurcAddress:null,usdcAddress:"0x0b2c639c533813f4aa9d7837caf62653d097ff85",usdtAddress:null,cctp:{domain:2,contracts:{v1:{type:"split",tokenMessenger:"0x2B4069517957735bE00ceE0fadAE88a26365528f",messageTransmitter:"0x0a992d191deec32afe36203ad87d7d289a738f81",confirmations:65},v2:{type:"split",tokenMessenger:"0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d",tokenMessengerWithFees:Jn,messageTransmitter:"0x81D40F21F12A8F0E3252Bccb954D722d4c464B64",confirmations:65,fastConfirmations:1}},forwarderSupported:{source:!1,destination:!0}},cctpx:{serviceAddress:lf},kitContracts:{bridge:Mn,adapter:Yr},gateway:{domain:2,contracts:{v1:{wallet:Xs,minter:Js}},forwarderSupported:{source:!0,destination:!0}}},zde={type:"evm",chain:M.Optimism_Sepolia,name:"Optimism Sepolia",title:"Optimism Sepolia Testnet",nativeCurrency:{name:"Sepolia Ether",symbol:"ETH",decimals:18},chainId:11155420,isTestnet:!0,explorerUrl:"https://sepolia-optimistic.etherscan.io/tx/{hash}",rpcEndpoints:["https://sepolia.optimism.io"],eurcAddress:null,usdcAddress:"0x5fd84259d66Cd46123540766Be93DFE6D43130D7",usdtAddress:null,cctp:{domain:2,contracts:{v1:{type:"split",tokenMessenger:"0x9f3B8679c73C2Fef8b59B4f3444d4e156fb70AA5",messageTransmitter:"0x7865fAfC2db2093669d92c0F33AeEF291086BEFD",confirmations:65},v2:{type:"split",tokenMessenger:"0x8fe6b999dc680ccfdd5bf7eb0974218be2542daa",tokenMessengerWithFees:Vn,messageTransmitter:"0xe737e5cebeeba77efe34d4aa090756590b1ce275",confirmations:65,fastConfirmations:1}},forwarderSupported:{source:!1,destination:!0}},cctpx:{serviceAddress:df},kitContracts:{bridge:On},gateway:{domain:2,contracts:{v1:{wallet:Qs,minter:ei}},forwarderSupported:{source:!0,destination:!0}}},Vde={type:"evm",chain:M.Pharos,name:"Pharos",title:"Pharos Mainnet",nativeCurrency:{name:"Pharos",symbol:"PHAROS",decimals:18},chainId:1672,isTestnet:!1,explorerUrl:"https://pharos.socialscan.io/tx/{hash}",rpcEndpoints:["https://rpc.pharos.xyz"],eurcAddress:null,usdcAddress:"0xC879C018dB60520F4355C26eD1a6D572cdAC1815",usdtAddress:null,cctp:{domain:31,contracts:{v2:{type:"split",tokenMessenger:"0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d",tokenMessengerWithFees:Jn,messageTransmitter:"0x81D40F21F12A8F0E3252Bccb954D722d4c464B64",confirmations:1,fastConfirmations:1}},forwarderSupported:{source:!1,destination:!1}},kitContracts:{bridge:Mn}},jde={type:"evm",chain:M.Pharos_Testnet,name:"Pharos Atlantic",title:"Pharos Atlantic Testnet",nativeCurrency:{name:"Pharos",symbol:"PHAROS",decimals:18},chainId:688689,isTestnet:!0,explorerUrl:"https://atlantic.pharosscan.xyz/tx/{hash}",rpcEndpoints:["https://atlantic.dplabs-internal.com"],eurcAddress:null,usdcAddress:"0xcfC8330f4BCAB529c625D12781b1C19466A9Fc8B",usdtAddress:null,cctp:{domain:31,contracts:{v2:{type:"split",tokenMessenger:"0x8FE6B999Dc680CcFDD5Bf7EB0974218be2542DAA",tokenMessengerWithFees:Vn,messageTransmitter:"0xE737e5cEBEEBa77EFE34D4aa090756590b1CE275",confirmations:1,fastConfirmations:1}},forwarderSupported:{source:!1,destination:!1}},kitContracts:{bridge:On}},Gde={type:"evm",chain:M.Plasma,name:"Plasma",title:"Plasma Mainnet",nativeCurrency:{name:"Plasma",symbol:"XPL",decimals:18},chainId:9745,isTestnet:!1,explorerUrl:"https://plasmascan.to/tx/{hash}",rpcEndpoints:["https://rpc.plasma.to"],eurcAddress:"0x3EE196E78d4d4248b849B8E1C7F44C5457FAFD2C",usdcAddress:"0x2d661C89D812261039AF9764eceaAee884f5F67F",usdtAddress:null,cctp:{domain:33,contracts:{v2:{type:"split",tokenMessenger:"0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d",messageTransmitter:"0x81D40F21F12A8F0E3252Bccb954D722d4c464B64",confirmations:3,fastConfirmations:1}},forwarderSupported:{source:!1,destination:!1}},kitContracts:{bridge:Mn}},Wde={type:"evm",chain:M.Plasma_Testnet,name:"Plasma Testnet",title:"Plasma Testnet",nativeCurrency:{name:"Plasma",symbol:"XPL",decimals:18},chainId:9746,isTestnet:!0,explorerUrl:"https://testnet.plasmascan.to/tx/{hash}",rpcEndpoints:["https://testnet-rpc.plasma.to"],eurcAddress:"0x98AfA0F93Dd993B736399f9074eDcEBD1985A330",usdcAddress:"0xE67Fb267022cBA8064Dd388CC2FED724F3120D9D",usdtAddress:null,cctp:{domain:33,contracts:{v2:{type:"split",tokenMessenger:"0x8FE6B999Dc680CcFDD5Bf7EB0974218be2542DAA",messageTransmitter:"0xE737e5cEBEEBa77EFE34D4aa090756590b1CE275",confirmations:3,fastConfirmations:1}},forwarderSupported:{source:!1,destination:!1}},kitContracts:{bridge:On}},qde={type:"evm",chain:M.Plume,name:"Plume",title:"Plume Mainnet",nativeCurrency:{name:"Plume",symbol:"PLUME",decimals:18},chainId:98866,isTestnet:!1,explorerUrl:"https://explorer.plume.org/tx/{hash}",rpcEndpoints:["https://rpc.plume.org"],eurcAddress:null,usdcAddress:"0x222365EF19F7947e5484218551B56bb3965Aa7aF",usdtAddress:null,cctp:{domain:22,contracts:{v2:{type:"split",tokenMessenger:"0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d",tokenMessengerWithFees:Jn,messageTransmitter:"0x81D40F21F12A8F0E3252Bccb954D722d4c464B64",confirmations:65,fastConfirmations:1}},forwarderSupported:{source:!1,destination:!0}},kitContracts:{bridge:Mn,adapter:Yr}},Kde={type:"evm",chain:M.Plume_Testnet,name:"Plume Testnet",title:"Plume Test Network",nativeCurrency:{name:"Plume",symbol:"PLUME",decimals:18},chainId:98867,isTestnet:!0,explorerUrl:"https://testnet-explorer.plume.org/tx/{hash}",rpcEndpoints:["https://testnet-rpc.plume.org"],eurcAddress:null,usdcAddress:"0xcB5f30e335672893c7eb944B374c196392C19D18",usdtAddress:null,cctp:{domain:22,contracts:{v2:{type:"split",tokenMessenger:"0x8FE6B999Dc680CcFDD5Bf7EB0974218be2542DAA",tokenMessengerWithFees:Vn,messageTransmitter:"0xE737e5cEBEEBa77EFE34D4aa090756590b1CE275",confirmations:65,fastConfirmations:1}},forwarderSupported:{source:!1,destination:!0}},kitContracts:{bridge:On}},Yde={type:"polkadot",chain:M.Polkadot_Asset_Hub,name:"Polkadot Asset Hub",title:"Polkadot Asset Hub",nativeCurrency:{name:"Polkadot",symbol:"DOT",decimals:10},isTestnet:!1,explorerUrl:"https://polkadot.subscan.io/extrinsic/{hash}",rpcEndpoints:["https://asset-hub-polkadot-rpc.n.dwellir.com"],eurcAddress:null,usdcAddress:"1337",usdtAddress:"1984",cctp:null},Zde={type:"polkadot",chain:M.Polkadot_Westmint,name:"Polkadot Westmint",title:"Polkadot Westmint",nativeCurrency:{name:"Polkadot",symbol:"DOT",decimals:10},isTestnet:!1,explorerUrl:"https://assethub-polkadot.subscan.io/extrinsic/{hash}",rpcEndpoints:["https://westmint-rpc.polkadot.io"],eurcAddress:null,usdcAddress:"Asset ID 31337",usdtAddress:null,cctp:null},Xde={type:"evm",chain:M.Polygon,name:"Polygon",title:"Polygon Mainnet",nativeCurrency:{name:"POL",symbol:"POL",decimals:18},chainId:137,isTestnet:!1,explorerUrl:"https://polygonscan.com/tx/{hash}",rpcEndpoints:["https://polygon.publicnode.com","https://polygon.drpc.org"],eurcAddress:null,usdcAddress:"0x3c499c542cef5e3811e1192ce70d8cc03d5c3359",usdtAddress:null,cctp:{domain:7,contracts:{v1:{type:"split",tokenMessenger:"0x9daF8c91AEFAE50b9c0E69629D3F6Ca40cA3B3FE",messageTransmitter:"0xF3be9355363857F3e001be68856A2f96b4C39Ba9",confirmations:200},v2:{type:"split",tokenMessenger:"0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d",tokenMessengerWithFees:Jn,messageTransmitter:"0x81D40F21F12A8F0E3252Bccb954D722d4c464B64",confirmations:33,fastConfirmations:13}},forwarderSupported:{source:!1,destination:!0}},cctpx:{serviceAddress:lf},kitContracts:{bridge:Mn,adapter:Yr},gateway:{domain:7,contracts:{v1:{wallet:Xs,minter:Js,depositForHandler:j6,genericExecutor:W6}},forwarderSupported:{source:!0,destination:!0}}},Jde={type:"evm",chain:M.Polygon_Amoy_Testnet,name:"Polygon Amoy",title:"Polygon Amoy Testnet",nativeCurrency:{name:"POL",symbol:"POL",decimals:18},chainId:80002,isTestnet:!0,explorerUrl:"https://amoy.polygonscan.com/tx/{hash}",rpcEndpoints:["https://polygon-amoy-bor-rpc.publicnode.com","https://polygon-amoy.drpc.org"],eurcAddress:null,usdcAddress:"0x41e94eb019c0762f9bfcf9fb1e58725bfb0e7582",usdtAddress:null,cctp:{domain:7,contracts:{v1:{type:"split",tokenMessenger:"0x9f3B8679c73C2Fef8b59B4f3444d4e156fb70AA5",messageTransmitter:"0x7865fAfC2db2093669d92c0F33AeEF291086BEFD",confirmations:200},v2:{type:"split",tokenMessenger:"0x8FE6B999Dc680CcFDD5Bf7EB0974218be2542DAA",tokenMessengerWithFees:Vn,messageTransmitter:"0xE737e5cEBEEBa77EFE34D4aa090756590b1CE275",confirmations:33,fastConfirmations:13}},forwarderSupported:{source:!1,destination:!0}},cctpx:{serviceAddress:df},kitContracts:{bridge:On},gateway:{domain:7,contracts:{v1:{wallet:Qs,minter:ei,depositForHandler:G6,genericExecutor:q6}},forwarderSupported:{source:!0,destination:!0}}},Qde={type:"evm",chain:M.Sei,name:"Sei",title:"Sei Mainnet",nativeCurrency:{name:"Sei",symbol:"SEI",decimals:18},chainId:1329,isTestnet:!1,explorerUrl:"https://seiscan.io/tx/{hash}",rpcEndpoints:["https://evm-rpc.sei-apis.com"],eurcAddress:null,usdcAddress:"0xe15fC38F6D8c56aF07bbCBe3BAf5708A2Bf42392",usdtAddress:null,cctp:{domain:16,contracts:{v2:{type:"split",tokenMessenger:"0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d",tokenMessengerWithFees:Jn,messageTransmitter:"0x81D40F21F12A8F0E3252Bccb954D722d4c464B64",confirmations:1,fastConfirmations:1}},forwarderSupported:{source:!1,destination:!0}},kitContracts:{bridge:Mn,adapter:Yr},gateway:{domain:16,contracts:{v1:{wallet:Xs,minter:Js}},forwarderSupported:{source:!0,destination:!0}}},ele={type:"evm",chain:M.Sei_Testnet,name:"Sei Testnet",title:"Sei Test Network",nativeCurrency:{name:"Sei",symbol:"SEI",decimals:18},chainId:1328,isTestnet:!0,explorerUrl:"https://testnet.seiscan.io/tx/{hash}",rpcEndpoints:["https://evm-rpc-testnet.sei-apis.com"],eurcAddress:null,usdcAddress:"0x4fCF1784B31630811181f670Aea7A7bEF803eaED",usdtAddress:null,cctp:{domain:16,contracts:{v2:{type:"split",tokenMessenger:"0x8FE6B999Dc680CcFDD5Bf7EB0974218be2542DAA",tokenMessengerWithFees:Vn,messageTransmitter:"0xE737e5cEBEEBa77EFE34D4aa090756590b1CE275",confirmations:1,fastConfirmations:1}},forwarderSupported:{source:!1,destination:!0}},kitContracts:{bridge:On},gateway:{domain:16,contracts:{v1:{wallet:Qs,minter:ei}},forwarderSupported:{source:!0,destination:!0}}},tle={type:"evm",chain:M.Sonic,name:"Sonic",title:"Sonic Mainnet",nativeCurrency:{name:"Sonic",symbol:"S",decimals:18},chainId:146,isTestnet:!1,explorerUrl:"https://sonicscan.org/tx/{hash}",rpcEndpoints:["https://rpc.soniclabs.com"],eurcAddress:null,usdcAddress:"0x29219dd400f2Bf60E5a23d13Be72B486D4038894",usdtAddress:null,cctp:{domain:13,contracts:{v2:{type:"split",tokenMessenger:"0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d",tokenMessengerWithFees:Jn,messageTransmitter:"0x81D40F21F12A8F0E3252Bccb954D722d4c464B64",confirmations:1,fastConfirmations:1}},forwarderSupported:{source:!1,destination:!0}},kitContracts:{bridge:Mn,adapter:Yr},gateway:{domain:13,contracts:{v1:{wallet:Xs,minter:Js}},forwarderSupported:{source:!0,destination:!0}}},nle={type:"evm",chain:M.Sonic_Testnet,name:"Sonic Testnet",title:"Sonic Testnet",nativeCurrency:{name:"Sonic",symbol:"S",decimals:18},chainId:14601,isTestnet:!0,explorerUrl:"https://testnet.sonicscan.org/tx/{hash}",rpcEndpoints:["https://rpc.testnet.soniclabs.com"],eurcAddress:null,usdcAddress:"0x0BA304580ee7c9a980CF72e55f5Ed2E9fd30Bc51",usdtAddress:null,cctp:{domain:13,contracts:{v2:{type:"split",tokenMessenger:"0x8FE6B999Dc680CcFDD5Bf7EB0974218be2542DAA",tokenMessengerWithFees:Vn,messageTransmitter:"0xE737e5cEBEEBa77EFE34D4aa090756590b1CE275",confirmations:1,fastConfirmations:1}},forwarderSupported:{source:!1,destination:!0}},kitContracts:{bridge:On},gateway:{domain:13,contracts:{v1:{wallet:Qs,minter:ei}},forwarderSupported:{source:!0,destination:!0}}},rle={type:"solana",chain:M.Solana,name:"Solana",title:"Solana Mainnet",nativeCurrency:{name:"Solana",symbol:"SOL",decimals:9},isTestnet:!1,explorerUrl:"https://solscan.io/tx/{hash}",rpcEndpoints:["https://api.mainnet-beta.solana.com"],eurcAddress:"HzwqbKZw8HxMN6bF2yFZNrht3c2iXXzpKcFu7uBEDKtr",usdcAddress:"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",usdtAddress:"Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB",cctp:{domain:5,contracts:{v1:{type:"split",tokenMessenger:"CCTPiPYPc6AsJuwueEnWgSgucamXDZwBd53dQ11YiKX3",messageTransmitter:"CCTPmbSD7gX1bxKPAmg77w8oFzNFpaQiQUWD43TKaecd",confirmations:32},v2:{type:"split",tokenMessenger:"CCTPV2vPZJS2u2BBsUoscuikbYjnpFmbFsvVuJdgUMQe",messageTransmitter:"CCTPV2Sm4AdWt5296sk4P66VBZ7bEhcARwFaaS9YPbeC",confirmations:32,fastConfirmations:3}},forwarderSupported:{source:!1,destination:!0}},kitContracts:{bridge:"DFaauJEjmiHkPs1JG89A4p95hDWi9m9SAEERY1LQJiC3"},gateway:{domain:5,contracts:{v1:{wallet:Que,minter:ede}},forwarderSupported:{source:!0,destination:!0}}},ole={type:"solana",chain:M.Solana_Devnet,name:"Solana Devnet",title:"Solana Development Network",nativeCurrency:{name:"Solana",symbol:"SOL",decimals:9},isTestnet:!0,explorerUrl:"https://solscan.io/tx/{hash}?cluster=devnet",eurcAddress:"HzwqbKZw8HxMN6bF2yFZNrht3c2iXXzpKcFu7uBEDKtr",usdcAddress:"4zMMC9srt5Ri5X14GAgXhaHii3GnPAEERYPJgZJDncDU",usdtAddress:null,cctp:{domain:5,contracts:{v1:{type:"split",tokenMessenger:"CCTPiPYPc6AsJuwueEnWgSgucamXDZwBd53dQ11YiKX3",messageTransmitter:"CCTPmbSD7gX1bxKPAmg77w8oFzNFpaQiQUWD43TKaecd",confirmations:32},v2:{type:"split",tokenMessenger:"CCTPV2vPZJS2u2BBsUoscuikbYjnpFmbFsvVuJdgUMQe",messageTransmitter:"CCTPV2Sm4AdWt5296sk4P66VBZ7bEhcARwFaaS9YPbeC",confirmations:32,fastConfirmations:3}},forwarderSupported:{source:!1,destination:!0}},kitContracts:{bridge:"DFaauJEjmiHkPs1JG89A4p95hDWi9m9SAEERY1LQJiC3"},rpcEndpoints:["https://api.devnet.solana.com"],gateway:{domain:5,contracts:{v1:{wallet:tde,minter:nde}},forwarderSupported:{source:!0,destination:!0}}},sle={type:"stellar",chain:M.Stellar,name:"Stellar",title:"Stellar Mainnet",nativeCurrency:{name:"Stellar Lumens",symbol:"XLM",decimals:7},isTestnet:!1,explorerUrl:"https://stellar.expert/explorer/public/tx/{hash}",rpcEndpoints:["https://horizon.stellar.org"],eurcAddress:"EURC-GDHU6WRG4IEQXM5NZ4BMPKOXHW76MZM4Y2IEMFDVXBSDP6SJY4ITNPP2",usdcAddress:"USDC-GA5ZSEJYB37JRC5AVCIA5MOP4RHTM335X2KGX3IHOJAPP5RE34K4KZVN",usdtAddress:null,cctp:null},ile={type:"stellar",chain:M.Stellar_Testnet,name:"Stellar Testnet",title:"Stellar Test Network",nativeCurrency:{name:"Stellar Lumens",symbol:"XLM",decimals:7},isTestnet:!0,explorerUrl:"https://stellar.expert/explorer/testnet/tx/{hash}",rpcEndpoints:["https://horizon-testnet.stellar.org"],eurcAddress:"EURC-GB3Q6QDZYTHWT7E5PVS3W7FUT5GVAFC5KSZFFLPU25GO7VTC3NM2ZTVO",usdcAddress:"USDC-GBBD47IF6LWK7P7MDEVSCWR7DPUWV3NY3DTQEVFL4NAT4AQH3ZLLFLA5",usdtAddress:null,cctp:null},ale={type:"sui",chain:M.Sui,name:"Sui",title:"Sui Mainnet",nativeCurrency:{name:"Sui",symbol:"SUI",decimals:9},isTestnet:!1,explorerUrl:"https://suiscan.xyz/mainnet/tx/{hash}",rpcEndpoints:["https://fullnode.mainnet.sui.io"],eurcAddress:null,usdcAddress:"0xdba34672e30cb065b1f93e3ab55318768fd6fef66c15942c9f7cb846e2f900e7::usdc::USDC",usdtAddress:null,cctp:{domain:8,contracts:{v1:{type:"split",tokenMessenger:"0x2aa6c5d56376c371f88a6cc42e852824994993cb9bab8d3e6450cbe3cb32b94e",messageTransmitter:"0x08d87d37ba49e785dde270a83f8e979605b03dc552b5548f26fdf2f49bf7ed1b",confirmations:1}},forwarderSupported:{source:!1,destination:!1}}},cle={type:"sui",chain:M.Sui_Testnet,name:"Sui Testnet",title:"Sui Test Network",nativeCurrency:{name:"Sui",symbol:"SUI",decimals:9},isTestnet:!0,explorerUrl:"https://suiscan.xyz/testnet/tx/{hash}",rpcEndpoints:["https://fullnode.testnet.sui.io"],eurcAddress:null,usdcAddress:"0xa1ec7fc00a6f40db9693ad1415d0c193ad3906494428cf252621037bd7117e29::usdc::USDC",usdtAddress:null,cctp:{domain:8,contracts:{v1:{type:"split",tokenMessenger:"0x31cc14d80c175ae39777c0238f20594c6d4869cfab199f40b69f3319956b8beb",messageTransmitter:"0x4931e06dce648b3931f890035bd196920770e913e43e45990b383f6486fdd0a5",confirmations:1}},forwarderSupported:{source:!1,destination:!1}}},ule={type:"evm",chain:M.Unichain,name:"Unichain",title:"Unichain Mainnet",nativeCurrency:{name:"Uni",symbol:"UNI",decimals:18},chainId:130,isTestnet:!1,explorerUrl:"https://unichain.blockscout.com/tx/{hash}",rpcEndpoints:["https://mainnet.unichain.org"],eurcAddress:null,usdcAddress:"0x078D782b760474a361dDA0AF3839290b0EF57AD6",usdtAddress:null,cctp:{domain:10,contracts:{v1:{type:"split",tokenMessenger:"0x4e744b28E787c3aD0e810eD65A24461D4ac5a762",messageTransmitter:"0x353bE9E2E38AB1D19104534e4edC21c643Df86f4",confirmations:65},v2:{type:"split",tokenMessenger:"0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d",tokenMessengerWithFees:Jn,messageTransmitter:"0x81D40F21F12A8F0E3252Bccb954D722d4c464B64",confirmations:65,fastConfirmations:1}},forwarderSupported:{source:!1,destination:!0}},kitContracts:{bridge:Mn,adapter:Yr},gateway:{domain:10,contracts:{v1:{wallet:Xs,minter:Js}},forwarderSupported:{source:!0,destination:!0}}},dle={type:"evm",chain:M.Unichain_Sepolia,name:"Unichain Sepolia",title:"Unichain Sepolia Testnet",nativeCurrency:{name:"Sepolia Uni",symbol:"UNI",decimals:18},chainId:1301,isTestnet:!0,explorerUrl:"https://unichain-sepolia.blockscout.com/tx/{hash}",rpcEndpoints:["https://sepolia.unichain.org"],eurcAddress:null,usdcAddress:"0x31d0220469e10c4E71834a79b1f276d740d3768F",usdtAddress:null,cctp:{domain:10,contracts:{v1:{type:"split",tokenMessenger:"0x8ed94B8dAd2Dc5453862ea5e316A8e71AAed9782",messageTransmitter:"0xbc498c326533d675cf571B90A2Ced265ACb7d086",confirmations:65},v2:{type:"split",tokenMessenger:"0x8FE6B999Dc680CcFDD5Bf7EB0974218be2542DAA",tokenMessengerWithFees:Vn,messageTransmitter:"0xE737e5cEBEEBa77EFE34D4aa090756590b1CE275",confirmations:65,fastConfirmations:1}},forwarderSupported:{source:!1,destination:!0}},kitContracts:{bridge:On},gateway:{domain:10,contracts:{v1:{wallet:Qs,minter:ei}},forwarderSupported:{source:!0,destination:!0}}},lle={type:"evm",chain:M.World_Chain,name:"World Chain",title:"World Chain",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},chainId:480,isTestnet:!1,explorerUrl:"https://worldscan.org/tx/{hash}",rpcEndpoints:["https://worldchain-mainnet.g.alchemy.com/public"],eurcAddress:null,usdcAddress:"0x79A02482A880bCE3F13e09Da970dC34db4CD24d1",usdtAddress:null,cctp:{domain:14,contracts:{v2:{type:"split",tokenMessenger:"0x28b5a0e9C621a5BadaA536219b3a228C8168cF5d",tokenMessengerWithFees:Jn,messageTransmitter:"0x81D40F21F12A8F0E3252Bccb954D722d4c464B64",confirmations:65,fastConfirmations:1}},forwarderSupported:{source:!1,destination:!0}},kitContracts:{bridge:Mn,adapter:Yr},gateway:{domain:14,contracts:{v1:{wallet:Xs,minter:Js}},forwarderSupported:{source:!0,destination:!0}}},fle={type:"evm",chain:M.World_Chain_Sepolia,name:"World Chain Sepolia",title:"World Chain Sepolia",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},chainId:4801,isTestnet:!0,explorerUrl:"https://sepolia.worldscan.org/tx/{hash}",rpcEndpoints:["https://worldchain-sepolia.drpc.org","https://worldchain-sepolia.g.alchemy.com/public"],eurcAddress:null,usdcAddress:"0x66145f38cBAC35Ca6F1Dfb4914dF98F1614aeA88",usdtAddress:null,cctp:{domain:14,contracts:{v2:{type:"split",tokenMessenger:"0x8fe6b999dc680ccfdd5bf7eb0974218be2542daa",tokenMessengerWithFees:Vn,messageTransmitter:"0xe737e5cebeeba77efe34d4aa090756590b1ce275",confirmations:65,fastConfirmations:1}},forwarderSupported:{source:!1,destination:!0}},kitContracts:{bridge:On},gateway:{domain:14,contracts:{v1:{wallet:Qs,minter:ei}},forwarderSupported:{source:!0,destination:!0}}},ple={type:"evm",chain:M.XDC,name:"XDC",title:"XDC Mainnet",nativeCurrency:{name:"XDC",symbol:"XDC",decimals:18},chainId:50,isTestnet:!1,explorerUrl:"https://xdcscan.io/tx/{hash}",rpcEndpoints:["https://erpc.xdcrpc.com","https://erpc.xinfin.network"],eurcAddress:null,usdcAddress:"0xfA2958CB79b0491CC627c1557F441eF849Ca8eb1",usdtAddress:null,cctp:{domain:18,contracts:{v2:{type:"split",tokenMessenger:"0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d",tokenMessengerWithFees:Jn,messageTransmitter:"0x81D40F21F12A8F0E3252Bccb954D722d4c464B64",confirmations:3,fastConfirmations:3}},forwarderSupported:{source:!1,destination:!0}},kitContracts:{bridge:Mn,adapter:Yr}},mle={type:"evm",chain:M.XDC_Apothem,name:"Apothem Network",title:"Apothem Network",nativeCurrency:{name:"TXDC",symbol:"TXDC",decimals:18},chainId:51,isTestnet:!0,explorerUrl:"https://testnet.xdcscan.com/tx/{hash}",rpcEndpoints:["https://erpc.apothem.network"],eurcAddress:null,usdcAddress:"0xb5AB69F7bBada22B28e79C8FFAECe55eF1c771D4",usdtAddress:null,cctp:{domain:18,contracts:{v2:{type:"split",tokenMessenger:"0x8FE6B999Dc680CcFDD5Bf7EB0974218be2542DAA",tokenMessengerWithFees:Vn,messageTransmitter:"0xE737e5cEBEEBa77EFE34D4aa090756590b1CE275",confirmations:3,fastConfirmations:1}},forwarderSupported:{source:!1,destination:!0}},kitContracts:{bridge:On}},hle={type:"evm",chain:M.X_Layer,name:"X Layer",title:"X Layer Mainnet",nativeCurrency:{name:"OKB",symbol:"OKB",decimals:18},chainId:196,isTestnet:!1,explorerUrl:"https://www.oklink.com/xlayer/tx/{hash}",rpcEndpoints:["https://xlayerrpc.okx.com"],eurcAddress:null,usdcAddress:"0xB6CEceAB302E2E4948951eE7843FC24E92933061",usdtAddress:null,cctp:{domain:37,contracts:{v2:{type:"split",tokenMessenger:"0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d",messageTransmitter:"0x81D40F21F12A8F0E3252Bccb954D722d4c464B64",confirmations:65,fastConfirmations:1}},forwarderSupported:{source:!1,destination:!1}},kitContracts:{bridge:Mn}},yle={type:"evm",chain:M.X_Layer_Testnet,name:"X Layer Testnet",title:"X Layer Testnet",nativeCurrency:{name:"OKB",symbol:"OKB",decimals:18},chainId:1952,isTestnet:!0,explorerUrl:"https://web3.okx.com/explorer/x-layer-testnet/tx/{hash}",rpcEndpoints:["https://testrpc.xlayer.tech"],eurcAddress:null,usdcAddress:"0xDec90b78111Ba2fc6FC6d84d8B9ec159A2d4b9B3",usdtAddress:null,cctp:{domain:37,contracts:{v2:{type:"split",tokenMessenger:"0x8FE6B999Dc680CcFDD5Bf7EB0974218be2542DAA",messageTransmitter:"0xE737e5cEBEEBa77EFE34D4aa090756590b1CE275",confirmations:65,fastConfirmations:1}},forwarderSupported:{source:!1,destination:!1}},kitContracts:{bridge:On}},ble={type:"evm",chain:M.ZKSync_Era,name:"ZKSync Era",title:"ZKSync Era Mainnet",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},chainId:324,isTestnet:!1,explorerUrl:"https://explorer.zksync.io/tx/{hash}",rpcEndpoints:["https://mainnet.era.zksync.io"],eurcAddress:null,usdcAddress:"0x1d17CBcF0D6D143135aE902365D2E5e2A16538D4",usdtAddress:null,cctp:null},gle={type:"evm",chain:M.ZKSync_Sepolia,name:"ZKSync Era Sepolia",title:"ZKSync Era Sepolia Testnet",nativeCurrency:{name:"Sepolia Ether",symbol:"ETH",decimals:18},chainId:300,isTestnet:!0,explorerUrl:"https://sepolia.explorer.zksync.io/tx/{hash}",rpcEndpoints:["https://sepolia.era.zksync.dev"],eurcAddress:null,usdcAddress:"0xAe045DE5638162fa134807Cb558E15A3F5A7F853",usdtAddress:null,cctp:null},Qy=Object.freeze({__proto__:null,Algorand:que,AlgorandTestnet:Kue,Aptos:Yue,AptosTestnet:Zue,Arbitrum:ade,ArbitrumSepolia:cde,Arc:sde,ArcTestnet:ide,Avalanche:ude,AvalancheFuji:dde,Base:lde,BaseSepolia:fde,Celo:pde,CeloAlfajoresTestnet:mde,Codex:hde,CodexTestnet:yde,Cronos:bde,CronosTestnet:gde,Edge:_de,EdgeTestnet:Ade,Ethereum:Ede,EthereumSepolia:xde,Hedera:wde,HederaTestnet:Tde,HyperEVM:Sde,HyperEVMTestnet:Rde,Injective:vde,InjectiveTestnet:Ide,Ink:Cde,InkTestnet:Nde,Linea:Ode,LineaSepolia:kde,Monad:Dde,MonadTestnet:Bde,Morph:Pde,MorphTestnet:Lde,NEAR:Mde,NEARTestnet:Fde,Noble:Ude,NobleTestnet:Hde,Optimism:$de,OptimismSepolia:zde,Pharos:Vde,PharosTestnet:jde,Plasma:Gde,PlasmaTestnet:Wde,Plume:qde,PlumeTestnet:Kde,PolkadotAssetHub:Yde,PolkadotWestmint:Zde,Polygon:Xde,PolygonAmoy:Jde,Sei:Qde,SeiTestnet:ele,Solana:rle,SolanaDevnet:ole,Sonic:tle,SonicTestnet:nle,Stellar:sle,StellarTestnet:ile,Sui:ale,SuiTestnet:cle,Unichain:ule,UnichainSepolia:dle,WorldChain:lle,WorldChainSepolia:fle,XDC:ple,XDCApothem:mle,XLayer:hle,XLayerTestnet:yle,ZKSyncEra:ble,ZKSyncEraSepolia:gle});function Ys(e){return e.cctp?.contracts.v2!==void 0}M.Ethereum,M.Base,M.Arbitrum,M.Unichain,M.Optimism,M.Codex,M.Ink,M.Plume,M.Linea,M.World_Chain,M.Ethereum_Sepolia,M.Base_Sepolia,M.Arbitrum_Sepolia,M.Unichain_Sepolia,M.Optimism_Sepolia,M.Codex_Testnet,M.Ink_Testnet,M.Plume_Testnet,M.Linea_Sepolia,M.World_Chain_Sepolia;function HA(e,t){let n=e.kitContracts?.[t];return typeof n=="string"&&n.trim().length>0}function Na(e){return e.gateway?.contracts?.v1!==void 0}function $A(e){return e===null||typeof e!="object"?!1:Na(e)&&e.gateway.contracts.v1.genericExecutor!==void 0&&e.gateway.contracts.v1.depositForHandler!==void 0}var _le=new Set([M.Ethereum,M.Base,M.Arbitrum,M.Unichain,M.Optimism,M.Codex,M.Ink,M.Plume,M.Linea,M.World_Chain,M.Ethereum_Sepolia,M.Base_Sepolia,M.Arbitrum_Sepolia,M.Unichain_Sepolia,M.Optimism_Sepolia,M.Codex_Testnet,M.Ink_Testnet,M.Plume_Testnet,M.Linea_Sepolia,M.World_Chain_Sepolia]);function Ale(e){return e===null||typeof e!="object"||!Ys(e)?!1:_le.has(e.chain)}var Ele=h.object({wallet:h.string({required_error:"Gateway wallet address is required. Please provide a valid contract address.",invalid_type_error:"Gateway wallet address must be a string."}).min(1,"Gateway wallet address cannot be empty."),minter:h.string({required_error:"Gateway minter address is required. Please provide a valid contract address.",invalid_type_error:"Gateway minter address must be a string."}).min(1,"Gateway minter address cannot be empty."),depositForHandler:h.string({invalid_type_error:"Gateway depositForHandler address must be a string."}).min(1,"Gateway depositForHandler address cannot be empty.").optional(),genericExecutor:h.string({invalid_type_error:"Gateway genericExecutor address must be a string."}).min(1,"Gateway genericExecutor address cannot be empty.").optional()}).strict(),xle=h.object({v1:Ele.optional()}).strict(),wle=h.object({domain:h.number({required_error:"Gateway domain is required. Please provide a valid domain number.",invalid_type_error:"Gateway domain must be a number."}),contracts:xle,forwarderSupported:h.object({source:h.boolean(),destination:h.boolean()})}).strict(),J$=h.object({chain:h.nativeEnum(M,{required_error:"Chain enum is required. Please provide a valid Blockchain enum value.",invalid_type_error:"Chain must be a valid Blockchain enum value."}),name:h.string({required_error:"Chain name is required. Please provide a valid chain name.",invalid_type_error:"Chain name must be a string."}),title:h.string().optional(),nativeCurrency:h.object({name:h.string(),symbol:h.string(),decimals:h.number()}),isTestnet:h.boolean({required_error:"isTestnet is required. Please specify whether this is a testnet.",invalid_type_error:"isTestnet must be a boolean."}),explorerUrl:h.string({required_error:"Explorer URL is required. Please provide a valid explorer URL.",invalid_type_error:"Explorer URL must be a string."}),rpcEndpoints:h.array(h.string()),eurcAddress:h.string().nullable(),usdcAddress:h.string().nullable(),usdtAddress:h.string().nullable(),cctp:h.any().nullable(),cctpx:h.any().optional(),kitContracts:h.object({bridge:h.string().optional(),adapter:h.string().optional(),senderPreservingBatcher:h.string().optional()}).optional(),gateway:wle.optional()}),Tle=J$.extend({type:h.literal("evm"),chainId:h.number({required_error:"EVM chains must have a chainId. Please provide a valid EVM chain ID.",invalid_type_error:"EVM chain ID must be a number."})}).strict(),Sle=J$.extend({type:h.enum(["algorand","avalanche","solana","aptos","near","stellar","sui","hedera","noble","polkadot"])}).strict(),Zu=h.discriminatedUnion("type",[Tle,Sle]);h.union([h.string().refine(e=>e in M,"Must be a valid Blockchain enum value as string"),h.nativeEnum(M),Zu]);h.union([h.string().refine(e=>e in nf,e=>({message:`"${e}" is not a supported swap chain. Supported chains: ${Object.values(nf).join(", ")}`})),h.nativeEnum(nf),Zu.refine(e=>e.chain in nf,e=>({message:`"${e.chain}" is not a supported swap chain. Supported chains: ${Object.values(nf).join(", ")}`}))]);var Rle=h.union([h.string().refine(e=>e in UA,e=>({message:`Chain "${e}" is not supported for bridging. Only chains in the BridgeChain enum support CCTPv2 bridging.`})),Zu.refine(e=>e.chain in UA,e=>({message:`Chain "${e.name}" (${e.chain}) is not supported for bridging. Only chains in the BridgeChain enum support CCTPv2 bridging.`}))]);h.union([h.string().refine(e=>e in rf,e=>({message:`"${e}" is not a supported earn chain. Supported chains: ${Object.values(rf).join(", ")}`})),h.nativeEnum(rf),Zu.refine(e=>e.chain in rf,e=>({message:`"${e.chain}" is not a supported earn chain. Supported chains: ${Object.values(rf).join(", ")}`}))]);h.union([h.string().refine(e=>e in of,e=>({message:`"${e}" is not a supported borrow chain. Supported chains: ${Object.values(of).join(", ")}`})),h.nativeEnum(of),Zu.refine(e=>e.chain in of,e=>({message:`"${e.chain}" is not a supported borrow chain. Supported chains: ${Object.values(of).join(", ")}`}))]);var kH=h6,DH=y6;h.union([h.string().refine(e=>kH.includes(e),e=>({message:`"${e}" is not a supported cross-chain Earn source chain. Supported chains: ${h6.join(", ")}`})),Zu.refine(e=>kH.includes(e.chain),e=>({message:`"${e.chain}" is not a supported cross-chain Earn source chain. Supported chains: ${h6.join(", ")}`}))]);h.union([h.string().refine(e=>DH.includes(e),e=>({message:`"${e}" is not a supported cross-chain Earn destination chain. Supported chains: ${y6.join(", ")}`})),Zu.refine(e=>DH.includes(e.chain),e=>({message:`"${e.chain}" is not a supported cross-chain Earn destination chain. Supported chains: ${y6.join(", ")}`}))]);var BH=Object.keys(Wy).join(", "),wc=h.union([h.string().refine(e=>e in Wy,e=>({message:`Chain "${e}" is not supported for unified balance operations. Supported chains: ${BH}.`})),Zu.refine(e=>e.chain in Wy,e=>({message:`Chain "${e.name}" (${e.chain}) is not supported for unified balance operations. Supported chains: ${BH}.`}))]),vle=h.enum([...Object.keys(Z$),X$]);h.string().transform(e=>e.toUpperCase()).pipe(vle);function Ile(){return Object.values(Qy).filter(e=>e.type==="evm")}var Cle=e=>{let t=Object.values(Qy).find(n=>n.chain===e);if(!t)throw new Error(`No chain definition found for blockchain: ${e}`);return t};function gt(e){if(e===null)throw new Error("Invalid chain identifier type: null. Expected ChainDefinition object, Blockchain enum, or string literal.");if(typeof e=="object")return e;if(typeof e=="string")return Cle(e);throw new Error(`Invalid chain identifier type: ${typeof e}. Expected ChainDefinition object, Blockchain enum, or string literal.`)}function Br(e){if(e!=null){if(typeof e=="string")return e;try{if(typeof e=="object"&&"chain"in e){let t=e.chain;if(typeof t=="string")return t}}catch{return}}}var zA=(e,t)=>{if(t==="tokenMessenger"&&HA(e,"bridge")&&e.kitContracts?.bridge!==void 0)return e.kitContracts.bridge;let r=e.cctp.contracts.v2;if(t==="tokenMessengerWithFees"){let o=r.tokenMessengerWithFees;if(o===void 0||o==="")throw new Error(`TokenMessengerWithFees is not configured on chain ${e.name}. The prepaid FORWARD path is unavailable on this chain.`);return o}switch(r.type){case"split":return t==="tokenMessenger"?r.tokenMessenger:r.messageTransmitter;case"merged":return r.contract;default:{let o=r;throw new Error(`Unsupported CCTP v2 contract type on chain ${e.name}. Expected "split" or "merged", but received '${o.type??"unknown"}'.`)}}};function mo(e){let t=typeof e=="string"?e:e?.name??"unknown",n=typeof e=="object"&&e!==null?e.type:void 0,r=n===void 0?t.toLowerCase().includes("solana"):n==="solana",o=n===void 0?!r:n==="evm",s;return r?s="44-character base58 encoded string":o?s="42-character hex address starting with 0x":s=`valid ${n??"blockchain"} address`,{name:t,displayName:t.replaceAll("_"," "),expectedAddressFormat:s}}function Xu(e,t){if(t==null)return PH(e);let n=t,r=W$(n),o=G$(n);for(let s of e.issues){let i=s.path.join("."),a=s.code,c=Nle(i,a,s.message,n);if(c)return c;let u=Fle(i,a,s.message,o,r);if(u)return u;let d=Ule(i,a,s.message,n);if(d)return d}return PH(e)}function PH(e){return XA(e,"parameters")}function Nle(e,t,n,r){if(!e.includes("amount")||e.includes("customFee")&&e.includes("amount")||e==="stopLimit")return null;let o=typeof r.amount=="string"?r.amount:"unknown",s=Ole(t,n,o);if(s)return s;let i=kle(t,n,o);if(i)return i;let a=Dle(t,n,o);if(a)return a;let c=Ble(t,o);return c||null}function Ole(e,t,n){return e==="too_small"||t.includes("greater than")?Ss(n,F6):null}function kle(e,t,n){return e!=="custom"?null:t.includes("non-negative")?Ss(n,oue):t.includes("greater than 0")?Ss(n,F6):t.includes("decimal places")?Ss(n,t):t.includes("numeric string")?Ss(n,Ks):null}function Dle(e,t,n){return e!=="invalid_string"?null:Ple(t)?Ss(n,rue):t.includes("integer string")?Mle(n)?Ss(n,F6):Ss(n,Ks):Lle(t)||!t.includes("valid number format")?Ss(n,Ks):null}function Ble(e,t){return e==="invalid_type"?Ss(t,Ks):null}function Ple(e){return(e.includes("maximum")||e.includes("at most"))&&e.includes("decimal places")}function Lle(e){return e.includes("numeric")&&!e.includes("valid number format")&&!e.includes("numeric string")}function Mle(e){return e.includes(".")&&!e.startsWith("-")&&Number.isFinite(Number(e))}function Fle(e,t,n,r,o){if(!e.includes("chain"))return null;let s=NH(r)??NH(o);return qu(s??"unknown",n)}function Ule(e,t,n,r){if(!e.toLowerCase().includes("address")||t==="custom")return null;let o=Nue(r,e),s=Oue(r),i=mo(s);return Ca(o,i.displayName,i.expectedAddressFormat)}var VA={timeout:2e3,maxRetries:10,retryDelay:200,headers:{"Content-Type":"application/json"}},Hle=2e3,$le=async e=>new Promise(t=>setTimeout(t,e)),zle=(e,t,n)=>{let r=t*2**(e-1),o=Math.min(r,n);return Math.random()*o},Vle=async(e,t,n,r,o)=>{let s=new AbortController,i=setTimeout(()=>{s.abort("Request timed out")},r.timeout);try{let a={method:t,headers:r.headers??{},signal:s.signal};o!==void 0&&["POST","PUT","PATCH"].includes(t)&&(a.body=JSON.stringify(o));let c=await fetch(e,a);if(clearTimeout(i),!c.ok){let d;try{d=await c.json()}catch{}let l=new Error(`HTTP ${String(c.status)} - ${c.statusText}`);throw l.responseBody=d,l}let u=await c.json();if(!n(u))throw new Error("Invalid response format: response data failed validation");return u}finally{clearTimeout(i)}},jle=e=>!(e instanceof ne&&e.recoverability!=="RETRYABLE"||/HTTP 4(?!(04|29))/.test(e.message)||e.message.includes("Invalid response format")),Q$=async(e,t,n,r={},o)=>{let s={...VA,...r,headers:{...VA.headers,...r.headers??{},...F$()}},i;for(let c=1;c<=s.maxRetries;c++)try{return await Vle(e,t,n,s,o)}catch(u){let d=u instanceof Error?u:new Error(String(u));if(s.isTerminalError?.(d)===!0||!jle(d))throw d;if(i=d,cQ$(e,"GET",t,n),Ku=async(e,t,n,r)=>Q$(e,"POST",n,r,t);function ez(e,t,n){let r;try{r=t.safeParse(e)}catch(o){throw new ne({...ye.VALIDATION_FAILED,recoverability:"FATAL",message:`Invalid ${n}: reading a property threw`,cause:{trace:{validationErrors:["Reading a property of the value threw"],originalError:o}}})}if(!r.success)throw XA(r.error,n)}var LH=new WeakMap;function eb(e,t,n,r){if(e===null)throw new ne({...ye.VALIDATION_FAILED,recoverability:"FATAL",message:`Invalid ${n}: Value is null`,cause:{trace:{validationErrors:["Value is null"]}}});if(e===void 0)throw new ne({...ye.VALIDATION_FAILED,recoverability:"FATAL",message:`Invalid ${n}: Value is undefined`,cause:{trace:{validationErrors:["Value is undefined"]}}});if(typeof e!="object")throw new ne({...ye.VALIDATION_FAILED,recoverability:"FATAL",message:`Invalid ${n}: Value must be an object`,cause:{trace:{validationErrors:[`Value must be an object, got ${typeof e}`]}}});let o=LH.get(e)??{validatedSchemasByValidator:new Map},s=o.validatedSchemasByValidator.get(r)??new WeakSet;if(!(s instanceof WeakSet))throw new ne({...ye.VALIDATION_FAILED,recoverability:"FATAL",message:"Invalid validation state: expected WeakSet"});s.has(t)||(ez(e,t,n),s.add(t),o.validatedSchemasByValidator.set(r,s),LH.set(e,o))}var Gle=h.object({name:h.string({required_error:"Chain name is required",invalid_type_error:"Chain name must be a string"}).min(1,"Chain name cannot be empty"),explorerUrl:h.string({required_error:"Explorer URL template is required",invalid_type_error:"Explorer URL template must be a string"}).min(1,"Explorer URL template cannot be empty").refine(e=>e.includes("{hash}"),"Explorer URL template must contain a {hash} placeholder")}),Wle=h.string({required_error:"Transaction hash is required",invalid_type_error:"Transaction hash must be a string"}).transform(e=>e.trim()).refine(e=>e.length>0,"Transaction hash cannot be empty"),MH=h.object({chainDef:Gle,txHash:Wle}),qle=h.string().url("Generated explorer URL is invalid");function Kle(e,t,n){let r=t.safeParse(e);if(!r.success)throw XA(r.error,n)}function tz(e,t,n){let r=t.safeParse(e);if(!r.success)throw XA(r.error,n);return r.data}var b6=class{handlers={};wildcard=[];on(t,n){t==="*"?this.wildcard.push(n):(this.handlers[t]||(this.handlers[t]=[]),this.handlers[t].push(n))}off(t,n){if(t==="*"){let r=this.wildcard.indexOf(n);r!==-1&&this.wildcard.splice(r,1)}else if(this.handlers[t]){let r=this.handlers[t].indexOf(n);r!==-1&&this.handlers[t].splice(r,1)}}dispatch(t,n){for(let r of this.handlers[t]??[])r(n);for(let r of this.wildcard)r(n)}},K6=e=>{if(/^0x[0-9a-fA-F]{40}$/.test(e))return"evm";if(/^0x[0-9a-fA-F]{64}$/.test(e))return"bytes32";if(fu.decode(e).length===32)return"solana";throw new Error(`Unsupported address format: ${e}`)},Yle=e=>{switch(K6(e)){case"evm":return Ms(e,32);case"bytes32":return e;case"solana":return Bt(fu.decode(e))}throw new Error(`Unsupported address format: ${e}`)},Zle=e=>{let n="0x"+(e.startsWith("0x")?e.slice(2):e).slice(-40);return bs(n)};function Xle(e){let t=e.startsWith("0x")?e.slice(2):e,n=Buffer.from(t,"hex");return fu.encode(new Uint8Array(n))}var Rs=(e,t)=>{if(K6(e)===t)return e;let r=Yle(e);switch(t){case"bytes32":return r;case"evm":return Zle(r);case"solana":return Xle(r)}throw new Error(`Unsupported address format: ${e}`)},Cn=(e,t)=>sH(e,t),je=(e,t)=>iH(e,t).toBigInt();function Ts(e,t,n,r){let o={selector:t,...n===void 0?{}:{chainId:n}};return new ne({...ye.UNSUPPORTED_TOKEN,recoverability:"FATAL",message:e,cause:{trace:o}})}var Wu={symbol:"USDC",decimals:6,locators:{[M.Arbitrum]:"0xaf88d065e77c8cC2239327C5EDb3A432268e5831",[M.Arc]:"0x3600000000000000000000000000000000000000",[M.Avalanche]:"0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E",[M.Base]:"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",[M.Celo]:"0xcebA9300f2b948710d2653dD7B07f33A8B32118C",[M.Codex]:"0xd996633a415985DBd7D6D12f4A4343E31f5037cf",[M.Cronos]:"0x3D7F2C478aAfdB65542BCB44bCeeC05849999d2D",[M.Edge]:"0x98d2919b9A214E6Fa5384AC81E6864bA686Ad74c",[M.Ethereum]:"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",[M.Hedera]:"0.0.456858",[M.HyperEVM]:"0xb88339CB7199b77E23DB6E890353E22632Ba630f",[M.Injective]:"0xa00C59fF5a080D2b954d0c75e46E22a0c371235a",[M.Ink]:"0x2D270e6886d130D724215A266106e6832161EAEd",[M.Linea]:"0x176211869ca2b568f2a7d4ee941e073a821ee1ff",[M.Monad]:"0x754704Bc059F8C67012fEd69BC8A327a5aafb603",[M.Morph]:"0xCfb1186F4e93D60E60a8bDd997427D1F33bc372B",[M.NEAR]:"17208628f84f5d6ad33f0da3bbbeb27ffcb398eac501a31bd6ad2011e36133a1",[M.Noble]:"uusdc",[M.Optimism]:"0x0b2c639c533813f4aa9d7837caf62653d097ff85",[M.Pharos]:"0xC879C018dB60520F4355C26eD1a6D572cdAC1815",[M.Plasma]:"0x2d661C89D812261039AF9764eceaAee884f5F67F",[M.Plume]:"0x222365EF19F7947e5484218551B56bb3965Aa7aF",[M.Polkadot_Asset_Hub]:"1337",[M.Polygon]:"0x3c499c542cef5e3811e1192ce70d8cc03d5c3359",[M.Sei]:"0xe15fC38F6D8c56aF07bbCBe3BAf5708A2Bf42392",[M.Solana]:"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",[M.Sonic]:"0x29219dd400f2Bf60E5a23d13Be72B486D4038894",[M.Stellar]:"USDC-GA5ZSEJYB37JRC5AVCIA5MOP4RHTM335X2KGX3IHOJAPP5RE34K4KZVN",[M.Sui]:"0xdba34672e30cb065b1f93e3ab55318768fd6fef66c15942c9f7cb846e2f900e7::usdc::USDC",[M.Unichain]:"0x078D782b760474a361dDA0AF3839290b0EF57AD6",[M.World_Chain]:"0x79A02482A880bCE3F13e09Da970dC34db4CD24d1",[M.XDC]:"0xfA2958CB79b0491CC627c1557F441eF849Ca8eb1",[M.X_Layer]:"0xB6CEceAB302E2E4948951eE7843FC24E92933061",[M.ZKSync_Era]:"0x1d17CBcF0D6D143135aE902365D2E5e2A16538D4",[M.Arc_Testnet]:"0x3600000000000000000000000000000000000000",[M.Arbitrum_Sepolia]:"0x75faf114eafb1BDbe2F0316DF893fd58CE46AA4d",[M.Avalanche_Fuji]:"0x5425890298aed601595a70AB815c96711a31Bc65",[M.Base_Sepolia]:"0x036CbD53842c5426634e7929541eC2318f3dCF7e",[M.Celo_Alfajores_Testnet]:"0x2F25deB3848C207fc8E0c34035B3Ba7fC157602B",[M.Codex_Testnet]:"0x6d7f141b6819C2c9CC2f818e6ad549E7Ca090F8f",[M.Cronos_Testnet]:"0xEb33dc5fac03833e132593659e1dE7256aB59794",[M.Edge_Testnet]:"0x2d9F7CAD728051AA35Ecdc472a14cf8cDF5CFD6B",[M.Ethereum_Sepolia]:"0x1c7D4B196Cb0C7B01d743Fbc6116a902379C7238",[M.Hedera_Testnet]:"0.0.429274",[M.HyperEVM_Testnet]:"0x2B3370eE501B4a559b57D449569354196457D8Ab",[M.Injective_Testnet]:"0x0C382e685bbeeFE5d3d9C29e29E341fEE8E84C5d",[M.Ink_Testnet]:"0xFabab97dCE620294D2B0b0e46C68964e326300Ac",[M.Linea_Sepolia]:"0xfece4462d57bd51a6a552365a011b95f0e16d9b7",[M.Monad_Testnet]:"0x534b2f3A21130d7a60830c2Df862319e593943A3",[M.Morph_Testnet]:"0x7433b41C6c5e1d58D4Da99483609520255ab661B",[M.NEAR_Testnet]:"3e2210e1184b45b64c8a434c0a7e7b23cc04ea7eb7a6c3c32520d03d4afcb8af",[M.Noble_Testnet]:"uusdc",[M.Optimism_Sepolia]:"0x5fd84259d66Cd46123540766Be93DFE6D43130D7",[M.Pharos_Testnet]:"0xcfC8330f4BCAB529c625D12781b1C19466A9Fc8B",[M.Plasma_Testnet]:"0xE67Fb267022cBA8064Dd388CC2FED724F3120D9D",[M.Plume_Testnet]:"0xcB5f30e335672893c7eb944B374c196392C19D18",[M.Polkadot_Westmint]:"31337",[M.Polygon_Amoy_Testnet]:"0x41e94eb019c0762f9bfcf9fb1e58725bfb0e7582",[M.Sei_Testnet]:"0x4fCF1784B31630811181f670Aea7A7bEF803eaED",[M.Solana_Devnet]:"4zMMC9srt5Ri5X14GAgXhaHii3GnPAEERYPJgZJDncDU",[M.Sonic_Testnet]:"0x0BA304580ee7c9a980CF72e55f5Ed2E9fd30Bc51",[M.Stellar_Testnet]:"USDC-GBBD47IF6LWK7P7MDEVSCWR7DPUWV3NY3DTQEVFL4NAT4AQH3ZLLFLA5",[M.Sui_Testnet]:"0xa1ec7fc00a6f40db9693ad1415d0c193ad3906494428cf252621037bd7117e29::usdc::USDC",[M.Unichain_Sepolia]:"0x31d0220469e10c4E71834a79b1f276d740d3768F",[M.World_Chain_Sepolia]:"0x66145f38cBAC35Ca6F1Dfb4914dF98F1614aeA88",[M.XDC_Apothem]:"0xb5AB69F7bBada22B28e79C8FFAECe55eF1c771D4",[M.X_Layer_Testnet]:"0xDec90b78111Ba2fc6FC6d84d8B9ec159A2d4b9B3",[M.ZKSync_Sepolia]:"0xAe045DE5638162fa134807Cb558E15A3F5A7F853"}},Jle={symbol:"USDT",decimals:6,locators:{[M.Aptos]:"0x357b0b74bc833e95a115ad22604854d6b0fca151cecd94111770e5d6ffc9dc2b",[M.Arbitrum]:"0xFd086bC7CD5C481DCC9C85ebE478A1C0b69FCbb9",[M.Avalanche]:"0x9702230A8Ea53601f5cD2dc00fDBc13d4dF4A8c7",[M.Celo]:"0x48065fbBE25f71C9282ddf5e1cD6D6A887483D5e",[M.Ethereum]:"0xdAC17F958D2ee523a2206206994597C13D831ec7",[M.HyperEVM]:"0xb8ce59fc3717ada4c02eadf9682a9e934f625ebb",[M.Ink]:"0x0200C29006150606B650577BBE7B6248F58470c1",[M.Linea]:"0xA219439258ca9da29E9Cc4cE5596924745e12B93",[M.Monad]:"0xe7cd86e13AC4309349F30B3435a9d337750fC82D",[M.NEAR]:"usdt.tether-token.near",[M.Optimism]:"0x94b008aA00579c1307B0EF2c499aD98a8ce58e58",[M.Polkadot_Asset_Hub]:"1984",[M.Polygon]:"0xc2132D05D31c914a87C6611C10748AEb04B58e8F",[M.Sei]:"0x9151434b16b9763660705744891fA906F660EcC5",[M.Solana]:"Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB",[M.Unichain]:"0x9151434b16b9763660705744891fA906F660EcC5"}},Qle={symbol:"EURC",decimals:6,locators:{[M.Arc]:"0xbEf5f6d51CB62b58e6A8f77868681825C6fe21c1",[M.Avalanche]:"0xc891EB4cbdEFf6e073e859e987815Ed1505c2ACD",[M.Base]:"0x60a3E35Cc302bFA44Cb288Bc5a4F316Fdb1adb42",[M.Cronos]:"0xA6dE01a2d62C6B5f3525d768f34d276652C554c8",[M.Ethereum]:"0x1aBaEA1f7C830bD89Acc67eC4af516284b1bC33c",[M.Plasma]:"0x3EE196E78d4d4248b849B8E1C7F44C5457FAFD2C",[M.Solana]:"HzwqbKZw8HxMN6bF2yFZNrht3c2iXXzpKcFu7uBEDKtr",[M.World_Chain]:"0x1C60ba0A0eD1019e8Eb035E6daF4155A5cE2380B",[M.Arc_Testnet]:"0x89B50855Aa3bE2F677cD6303Cec089B5F319D72a",[M.Base_Sepolia]:"0x808456652fdb597867f38412077A9182bf77359F",[M.Cronos_Testnet]:"0x31f7538adb53cF16350e6B0c89d03D91b7D12c46",[M.Ethereum_Sepolia]:"0x08210F9170F89Ab7658F0B5E3fF39b0E03C594D4",[M.Plasma_Testnet]:"0x98AfA0F93Dd993B736399f9074eDcEBD1985A330"}},efe={symbol:"DAI",decimals:18,chainDecimals:{[M.Solana]:8},locators:{[M.Arbitrum]:"0xDA10009cBd5D07dd0CeCc66161FC93D7c9000da1",[M.Avalanche]:"0xd586E7F844cEa2F87f50152665BCbc2C279D8d70",[M.Base]:"0x50c5725949A6F0c72E6C4a641F24049A917DB0Cb",[M.Ethereum]:"0x6B175474E89094C44Da98b954EedeAC495271d0F",[M.Linea]:"0x4AF15ec2A0BD43Db75dd04E62FAA3B8EF36b00d5",[M.Optimism]:"0xDA10009cBd5D07dd0CeCc66161FC93D7c9000da1",[M.Polygon]:"0x8f3Cf7ad23Cd3CaDbD9735AFf958023239c6A063",[M.Solana]:"EjmyN6qEC1Tf1JxiG1ae7UTJhUxSwk1TCWNWqxWV4J6o"}},tfe={symbol:"USDe",decimals:18,chainDecimals:{[M.Solana]:9},locators:{[M.Arbitrum]:"0x5d3a1Ff2b6BAb83b63cd9AD0787074081a52ef34",[M.Base]:"0x5d3a1Ff2b6BAb83b63cd9AD0787074081a52ef34",[M.Ethereum]:"0x4c9EDD5852cd905f086C759E8383e09bff1E68B3",[M.Linea]:"0x5d3a1Ff2b6BAb83b63cd9AD0787074081a52ef34",[M.Optimism]:"0x5d3a1Ff2b6BAb83b63cd9AD0787074081a52ef34",[M.Solana]:"DEkqHyPN7GMRJ5cArtQFAWefqbZb33Hyf6s5iCwjEonT"}},nfe={symbol:"PYUSD",decimals:6,locators:{[M.Arbitrum]:"0x46850aD61C2B7d64d08c9C754F45254596696984",[M.Ethereum]:"0x6c3ea9036406852006290770BEdFcAbA0e23A0e8",[M.Solana]:"2b1kV6DkPAnxd5ixfnxCpjxmKwqjjaYmCZfHsFu24GXo"}},rfe={symbol:"WETH",decimals:18,chainDecimals:{[M.Solana]:9},locators:{[M.Arbitrum]:"0x82aF49447D8a07e3bd95BD0d56f35241523fBab1",[M.Avalanche]:"0x49D5c2BdFfac6CE2BFdB6640F4F80f226bc10bAB",[M.Base]:"0x4200000000000000000000000000000000000006",[M.Ethereum]:"0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",[M.Optimism]:"0x4200000000000000000000000000000000000006",[M.Polygon]:"0x7ceB23fD6bC0adD59E62ac25578270cFf1b9f619",[M.Solana]:"7vfCXTUXx5WJV5JADk17DUJ4ksgau7utNKj4b963voxs"}},ofe={symbol:"WBTC",decimals:8,locators:{[M.Ethereum]:"0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599",[M.Arbitrum]:"0x2f2a2543B76A4166549F7aaB2e75Bef0aefC5B0f",[M.Avalanche]:"0x50b7545627a5162F82A992c33b87aDc75187B218"}},sfe={symbol:"WSOL",decimals:9,locators:{[M.Solana]:"So11111111111111111111111111111111111111112"}},ife={symbol:"WAVAX",decimals:18,locators:{[M.Avalanche]:"0xB31f66AA3C1e785363F0875A1B74E27b85FD66c7"}},afe={symbol:"WPOL",decimals:18,locators:{[M.Polygon]:"0x0d500B1d8E8eF31E21C99d1Db9A6444d3ADf1270"}},cfe={symbol:"ETH",decimals:18,locators:{}},ufe={symbol:"POL",decimals:18,locators:{[M.Ethereum]:"0x455e53CBB86018Ac2B8092FdCd39d8444aFFC3F6"}},dfe={symbol:"PLUME",decimals:18,locators:{[M.Ethereum]:"0x4C1746A800D224393fE2470C70A35717eD4eA5F1"}},lfe={symbol:"MON",decimals:18,chainDecimals:{[M.Solana]:8},locators:{[M.Solana]:"CrAr4RRJMBVwRsZtT62pEhfA9H5utymC2mVx8e7FreP2"}},ffe={symbol:"cirBTC",decimals:8,locators:{[M.Arc]:"0x171A4217b86A807A64eB94757Db6849fb4bDbAA0",[M.Ethereum]:"0x72DFB2E44f59C5AD2bAFE84314E5b99a7cd5075E",[M.Arc_Testnet]:"0xf0C4a4CE82A5746AbAAd9425360Ab04fbBA432BF",[M.Ethereum_Sepolia]:"0x3a3fe695F684Bf9b9e43CF43C2b895Ea5e392bB3"}},nz=[Wu,Jle,Qle,efe,tfe,nfe,rfe,ofe,sfe,ife,afe,cfe,ufe,dfe,lfe,ffe];new Set(nz.map(e=>e.symbol.toUpperCase()));function t6(e,t){return t===void 0?e.decimals:e.chainDecimals?.[t]??e.decimals}function pfe(e){return typeof e=="object"&&e!==null&&"locator"in e}function $y(e){return e.toUpperCase()}function Vy(e){return e.startsWith("0x")||e.startsWith("0X")?e.toLowerCase():e}function n6(e,t){return`${e}::${Vy(t)}`}function rz(e={}){let{tokens:t=[],requireDecimals:n=!1}=e,r=new Map;for(let a of nz)r.set($y(a.symbol),a);for(let a of t)r.set($y(a.symbol),a);let o=new Map;for(let a of r.values())for(let[c,u]of Object.entries(a.locators))typeof u!="string"||u.trim()===""||o.set(n6(c,u),a);function s(a,c){let u=$y(a),d=r.get(u);if(d!==void 0){let m=d.locators[c];if(m===void 0||m.trim()==="")throw Ts(`Token ${a} has no locator for chain ${c}`,a,c);let p=t6(d,c);return{symbol:d.symbol,decimals:p,locator:Vy(m)}}let l=o.get(n6(c,a));if(l!==void 0){let m=l.locators[c];if(m!==void 0&&m.trim()!=="")return{symbol:l.symbol,decimals:t6(l,c),locator:Vy(m)}}throw Ts(`Unknown token or address: ${a}. Register it via createTokenRegistry({ tokens: [...] }) or use a raw selector.`,a,c)}function i(a,c){let{locator:u,decimals:d}=a;if(!u||typeof u!="string")throw Ts("Raw selector must have a valid locator string",a,c);if(d===void 0)throw Ts(n?"Decimals required for raw token selector (requireDecimals: true)":"Decimals required for raw token selector. Provide { locator, decimals }.",a,c);if(typeof d!="number"||d<0||!Number.isInteger(d))throw Ts(`Invalid decimals: ${String(d)}. Must be a non-negative integer.`,a,c);return{decimals:d,locator:Vy(u)}}return{resolve(a,c){if(a==null)throw Ts("Token selector cannot be null or undefined",a,c);if(c===""||typeof c!="string")throw Ts("Chain ID is required for token resolution",a,c);if(pfe(a))return i(a,c);if(typeof a=="string")return s(a,c);throw Ts(`Invalid selector type: ${typeof a}. Expected a token symbol or a raw selector (with locator).`,a,c)},resolveByAddress(a,c){if(!a||typeof a!="string")throw Ts("Token address is required for address resolution",{locator:a},c);if(c===""||typeof c!="string")throw Ts("Chain ID is required for token resolution",{locator:a},c);let u=o.get(n6(c,a));if(u===void 0)throw Ts(`Unknown token address: ${a} for chain ${c}`,{locator:a},c);let d=u.locators[c];if(d===void 0||d.trim()==="")throw Ts(`Token ${u.symbol} has no locator for chain ${c}`,u.symbol,c);let l=t6(u,c);return{symbol:u.symbol,decimals:l,locator:Vy(d)}},get(a){if(!(!a||typeof a!="string"))return r.get($y(a))},has(a){return!a||typeof a!="string"?!1:r.has($y(a))},symbols(){return Array.from(r.values()).map(a=>a.symbol)},entries(){return Array.from(r.values())}}}h.custom(e=>{if(e===null||typeof e!="object")return!1;let t=e;return typeof t.resolve=="function"&&typeof t.get=="function"&&typeof t.has=="function"&&typeof t.symbols=="function"&&typeof t.entries=="function"},{message:"Invalid token registry"});function Zs(e,t){Kle({chainDef:e,txHash:t},MH,"Invalid buildExplorerUrl parameters");let{chainDef:n,txHash:r}=MH.parse({chainDef:e,txHash:t}),o=n.explorerUrl.replace(/{hash}/g,r);return ez(o,qle,"explorer URL"),o}var QA="cctp-forward",mfe=4294967295,oz=0,sz=0,g6=32,FH=1+g6,kA=null;function hfe(){if(kA!==null)return kA;let e=new Uint8Array(32),n=new TextEncoder().encode(QA);e.set(n,0);let r=new DataView(e.buffer);return r.setUint32(24,oz,!1),r.setUint32(28,sz,!1),kA="0x"+Array.from(e).map(o=>o.toString(16).padStart(2,"0")).join(""),kA}function _6(e,t){if(!Number.isInteger(e)||e<0||e>mfe)throw se("version",e,"Expected an integer in the uint32 range [0, 4294967295]");if(!Cr(t))throw se("payload",t,"Expected a 0x-prefixed hex string");if(t.length%2!==0)throw se("payload",t,"Expected an even-length (whole-byte) hex string");let n=new Uint8Array(32);n.set(new TextEncoder().encode(QA),0);let r=new DataView(n.buffer);return r.setUint32(24,e,!1),r.setUint32(28,sz,!1),Bt(ys([n,t]))}function yfe(e){if(!(e instanceof Uint8Array)||e.length!==g6)throw se("ataOwner",e,`Expected a ${String(g6)}-byte Solana owner public key`);if(e.every(o=>o===0))throw se("ataOwner",e,'Expected a non-zero Solana owner public key; the all-zero key is reserved as "absent owner"');let t=new Uint8Array(FH);t[0]=1,t.set(e,1);let n=new Uint8Array(32);n.set(new TextEncoder().encode(QA),0);let r=new DataView(n.buffer);return r.setUint32(24,oz,!1),r.setUint32(28,FH,!1),Bt(ys([n,t]))}var qy=1,bfe="circle-generic-executor";function gfe(e){let t=new Uint8Array(32);t.set(new TextEncoder().encode(bfe),0);let n=(e.length-2)/2,r=new DataView(t.buffer);return r.setUint32(24,qy,!1),r.setUint32(28,n,!1),Bt(ys([t,e]))}function Ky(e){if(!jg(e))throw se("address",e,"Expected a valid 20-byte EVM address");return Ms(bs(e),32).toLowerCase()}function A6(e){if(e===null||typeof e!="object")throw se("options",e,"Expected an options object");let{dappId:t,params:n}=e,r=e.config??jA,o=r[t];if(o===void 0)throw se("dappId",t,`Unknown dApp. Known dApps: ${Object.keys(r).join(", ")}`);if(!Array.isArray(o.deployments))throw se("deployments",o.deployments,`Expected an array of deployments for dApp '${t}'`);let s=o.deployments,i=_fe(e),a=s.find(D=>D.domainId===i);if(a===void 0)throw se("domainId",i,`No '${t}' deployment for domain ${String(i)}`);if(!Array.isArray(n))throw se("params",n,"Expected an array of ABI-ordered parameters");if(!Cr(e.recoveryAddress,32))throw se("recoveryAddress",e.recoveryAddress,"Expected a 0x-prefixed 32-byte (bytes32) hex string");let c=Afe(a,e,t),u=Efe(e,i);if(!jg(u))throw se("handler",u,"Expected a valid EVM address");let d=UH(c,"depositContract"),l=UH(a.approvalTarget??c,"approvalTarget"),m;try{m=new Hy([`function ${o.function}`])}catch{throw se("function",o.function,"Expected a valid Solidity function signature")}let p=m.fragments[0];if(p===void 0||p.type!=="function")throw se("function",o.function,"Expected a valid Solidity function signature");let g=p;if(n.length!==g.inputs.length)throw se("params",n,`'${o.function}' expects ${String(g.inputs.length)} params, got ${String(n.length)}`);let E;try{E=m.encodeFunctionData(g,n)}catch{throw se("params",n,"ABI encoding failed \u2014 check that each param matches the expected Solidity type")}if(!Array.isArray(o.dynamicAmountIndices))throw se("dynamicAmountIndices",o.dynamicAmountIndices,`Expected an array of amount indices for dApp '${t}'`);let S=o.dynamicAmountIndices.map(D=>{if(!Number.isInteger(D)||D<0||D>=g.inputs.length)throw se("dynamicAmountIndices",D,`Index out of range for '${o.function}' (${String(g.inputs.length)} params)`);return BigInt(4+D*32)}),N=rm.encode(["address","address","bytes","uint256[]"],[d,l,E,S]),C=rm.encode(["uint8","bytes32","address","bytes"],[qy,e.recoveryAddress,bs(u),N]);return{hookData:gfe(C),handlerCalldata:N,depositCalldata:E,amountIndices:S,depositContract:d,approvalTarget:l}}var LA="gateway_deposit",jA={[LA]:{function:"depositFor(address,address,uint256)",dynamicAmountIndices:[2],deployments:[{domainId:26}]}};function _fe(e){let t=e.destinationChain;if(t!==void 0){let n=t.cctp?.domain;if(n!==void 0){if(e.domainId!==void 0&&e.domainId!==n)throw se("domainId",e.domainId,`does not match destinationChain '${t.name}' CCTP domain `+String(n));return n}}if(e.domainId!==void 0)return e.domainId;throw se("domainId",e.domainId,"Provide 'domainId', or a 'destinationChain' with a CCTP domain")}function Afe(e,t,n){if(e.depositContract!==void 0)return e.depositContract;if(n!==LA)throw se("depositContract",n,`dApp '${n}' must declare a 'depositContract'; only the built-in '${LA}' resolves its address from the destination chain's GatewayWallet`);let r=t.destinationChain;if(r===void 0||!Na(r))throw se("depositContract",n,`'${LA}' needs a 'destinationChain' with Gateway v1 support to resolve its GatewayWallet, or an explicit deployment address`);return r.gateway.contracts.v1.wallet}function Efe(e,t){if(e.handler!==void 0)return e.handler;let n=e.destinationChain;if(n===void 0)throw se("handler",t,"No 'handler' supplied; pass 'handler' explicitly, or a 'destinationChain' whose Gateway config registers a DepositForHandler");let r=Na(n)?n.gateway.contracts.v1.depositForHandler:void 0;if(r===void 0)throw se("handler",t,`No DepositForHandler registered for domain ${String(t)} on chain '${n.name}'; pass 'handler' explicitly`);return r}function UH(e,t){if(!jg(e))throw se(t,e,"Expected a valid EVM address");return bs(e)}var ef={maxRetries:3,baseDelayMs:1e3,maxDelayMs:15e3,deadlineMs:void 0,jitter:!0,isRetryable:()=>!0};function xfe(e){return e===void 0?ef:{maxRetries:e.maxRetries??ef.maxRetries,baseDelayMs:e.baseDelayMs??ef.baseDelayMs,maxDelayMs:e.maxDelayMs??ef.maxDelayMs,deadlineMs:e.deadlineMs??ef.deadlineMs,jitter:e.jitter??ef.jitter,isRetryable:e.isRetryable??ef.isRetryable}}function wfe(e,t){let n=t.baseDelayMs*Math.pow(2,e-1);if(n=Math.min(n,t.maxDelayMs),t.jitter){let r=.75+Math.random()*.5;n=Math.round(n*r)}return n}async function Y6(e,t){let n=xfe(t);for(let r=0;r<=n.maxRetries;r++)try{return await e()}catch(o){let s=n.deadlineMs!==void 0&&Date.now()>=n.deadlineMs;if(r>=n.maxRetries||s||!n.isRetryable(o))throw o;let a=wfe(r+1,n);await new Promise(c=>setTimeout(c,a))}throw new Error("retryAsync: unreachable")}function Tfe(e){let t={platform:e.clientContext.platform,os:e.clientContext.os,runtimeName:e.clientContext.runtimeName},n={sdkName:e.sdkName,sdkVersion:e.sdkVersion,eventType:e.eventType,timestamp:e.timestamp,clientContext:t};if(e.sourceChain!==void 0&&(n.sourceChain=e.sourceChain),e.destinationChain!==void 0&&(n.destinationChain=e.destinationChain),e.tokenIn!==void 0&&(n.tokenIn=e.tokenIn),e.tokenOut!==void 0&&(n.tokenOut=e.tokenOut),e.amountIn!==void 0&&(n.amountIn=e.amountIn),e.durationMs!==void 0&&(n.durationMs=e.durationMs),e.sourceAddress!==void 0&&(n.sourceAddress=e.sourceAddress),e.txHash!==void 0&&(n.txHash=e.txHash),e.correlationId!==void 0&&(n.correlationId=e.correlationId),e.errorDetails!==void 0){let r={...e.errorDetails.errorCode!==void 0&&{errorCode:e.errorDetails.errorCode},...e.errorDetails.errorType!==void 0&&{errorType:e.errorDetails.errorType}};n.errorDetails=r}return n}var Sfe="https://api.circle.com/v1/stablecoinKits/logs";function Rfe(){return ZA()&&typeof process.env.STABLECOIN_KITS_TELEMETRY_URL=="string"&&process.env.STABLECOIN_KITS_TELEMETRY_URL.length>0?process.env.STABLECOIN_KITS_TELEMETRY_URL:Sfe}async function eE(e){let t=new AbortController,n=setTimeout(()=>{t.abort(new DOMException("Telemetry request timed out","TimeoutError"))},5e3);typeof n.unref=="function"&&n.unref();try{await fetch(Rfe(),{method:"POST",headers:{"Content-Type":"application/json",...F$()},body:JSON.stringify(Tfe(e)),signal:t.signal})}catch{}finally{clearTimeout(n)}}function tE(){let e=U$();return e.startsWith("browser/")?{platform:"browser",os:null,runtimeName:e.slice(8).toLowerCase()}:e.startsWith("node/")?{platform:"node",os:ZA()?process.platform:null,runtimeName:null}:{platform:"node",os:null,runtimeName:null}}function vfe(e){return e instanceof ne?{errorCode:String(e.code),errorType:e.name}:e instanceof Error?{errorType:e.name}:{}}function Ife(e,t,n,r,o){for(let s of Object.keys(r))e.on(s,i=>{try{let a=o(s,i,t,n);a&&eE(a)}catch{}})}function Cfe(e){return e.replace("@circle-fin/","")}function Nfe(e,t){try{t()}catch(n){try{console.warn(`[stablecoin-kits ${e}] callback threw and was swallowed:`,n)}catch{}}}function Z6(e,t){try{console.warn(`[stablecoin-kits telemetry] dropped event '${e}':`,t)}catch{}}function Ofe(e,t,n,r){return{sdkName:e.sdkName,sdkVersion:e.sdkVersion,eventType:t,timestamp:new Date().toISOString(),...n!==void 0&&{errorDetails:n},clientContext:tE(),...r?.sourceChain!=null&&{sourceChain:r.sourceChain},...r?.destinationChain!=null&&{destinationChain:r.destinationChain},...r?.tokenIn!=null&&{tokenIn:r.tokenIn},...r?.tokenOut!=null&&{tokenOut:r.tokenOut},...r?.amountIn!=null&&{amountIn:r.amountIn},...r?.txHash!=null&&{txHash:r.txHash},...r?.correlationId!=null&&{correlationId:r.correlationId}}}async function es(e,t,n,r){try{return await e()}catch(o){if(!n.disabled)try{let s=typeof r=="function"?r():r;eE(Ofe(n,t,vfe(o),s))}catch(s){Z6(t,s)}throw o}}var kfe="@circle-fin/unified-balance-kit",Dfe="1.8.0",sm={name:kfe,version:Dfe},un={DEPOSIT:"unified_balance_deposit",FAST_DEPOSIT:"unified_balance_fast_deposit",DEPOSIT_FOR:"unified_balance_deposit_for",ESTIMATE_DEPOSIT:"unified_balance_estimate_deposit",ESTIMATE_FAST_DEPOSIT:"unified_balance_estimate_fast_deposit",SPEND:"unified_balance_spend",SPEND_FORWARDER:"unified_balance_spend_forwarder",ESTIMATE_SPEND:"unified_balance_estimate_spend",GET_BALANCES:"unified_balance_get_balances",ADD_DELEGATE:"unified_balance_add_delegate",REMOVE_DELEGATE:"unified_balance_remove_delegate",GET_DELEGATE_STATUS:"unified_balance_get_delegate_status",INITIATE_REMOVE_FUND:"unified_balance_initiate_remove_fund",REMOVE_FUND:"unified_balance_remove_fund"},iz={"gateway.deposit.succeeded":un.DEPOSIT,"gateway.depositFor.succeeded":un.DEPOSIT_FOR,"gateway.spend.succeeded":un.SPEND,"gateway.initiateRemoveFund.succeeded":un.INITIATE_REMOVE_FUND,"gateway.removeFund.succeeded":un.REMOVE_FUND};function Bfe(e){return{sourceChain:e.chain,tokenIn:e.token,txHash:e.txHash}}function Pfe(e){let t=e.allocations??[],n=[];for(let o of t){let s=Br(o.chain);s!=null&&n.push(s)}let r=n.length>0?n.join(","):void 0;return{...r!=null&&{sourceChain:r},destinationChain:e.destinationChain,...t.length>0&&{tokenIn:"USDC"},txHash:e.txHash}}function Lfe(e){return e.fees?.some(t=>t.type==="forwarder")===!0}function Mfe(e){return e!=null&&typeof e=="object"&&"data"in e}function Ffe(e,t,n,r){let o=iz[e];if(o===void 0||!Mfe(t))return null;let{data:s}=t,i;switch(e){case"gateway.deposit.succeeded":case"gateway.depositFor.succeeded":case"gateway.initiateRemoveFund.succeeded":case"gateway.removeFund.succeeded":i=Bfe(s);break;case"gateway.spend.succeeded":{let a=s;i=Pfe(a),Lfe(a)&&(o=un.SPEND_FORWARDER);break}default:return null}return{sdkName:n,sdkVersion:r,eventType:o,timestamp:new Date().toISOString(),...i,clientContext:tE()}}function Ufe(e,t,n){Ife(e,t,n,iz,Ffe)}var Hfe=0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffn,$fe=0xffffffffffffffffn,zfe="0x0000000000000000000000000000000000000000000000000000000000000000",Vfe=2010000n,az=["USDC"],jfe="GATEWAY_V1",Gfe="https://gateway-api.circle.com",Wfe="https://gateway-api-testnet.circle.com",qfe=5n,E6=5,Nn=6,Kfe=["token.allowance","token.balanceOf","token.name","native.balanceOf","usdc.allowance","usdc.balanceOf","usdc.name","gateway.v1.isDelegate","gateway.v1.withdrawingBalance","gateway.v1.withdrawalBlock","gateway.v1.signBurnIntents"],Yfe=new Set(Kfe);function Zfe(e){return typeof e=="string"&&Yfe.has(e)}async function jy(e,t){if(e.capabilities===void 0)throw new Error("Adapter capabilities must be defined. Please ensure the adapter implements the capabilities property.");if(t===void 0)throw new Error("Operation context is required. Please provide a context with the required chain and address information.");let n=gt(t.chain),r;if(e.capabilities.addressContext==="developer-controlled"){if(!t.address)throw new Error("Address is required for developer-controlled adapters. Please provide an address in the operation context.");r=t.address}else try{r=await e.getAddress(n)}catch(o){let s=o instanceof Error?o.message:String(o);throw new Error(`Failed to resolve address from user-controlled adapter: ${s}`)}return{chain:n,address:r}}function HH(e){return new ne({...ye.UNSUPPORTED_ACTION,recoverability:"FATAL",message:`Read action "${String(e)}" is not registered in this adapter.`})}async function sf(e,t,n,r){if(!Zfe(t))throw HH(t);let o=e;if(typeof o.readAction=="function")return o.readAction(t,n,r);let s;try{s=await e.prepareAction(t,n,r)}catch(i){throw i instanceof Error&&i.message===`Action ${t} is not supported`?HH(t):i}return s.execute()}var Yy=h.string().min(1,"Hex string is required").refine(e=>e.trim().length>0,"Hex string cannot be empty").refine(e=>e.startsWith("0x"),"Hex string must start with 0x prefix").refine(e=>/^0x[0-9a-fA-F]+$/.test(e),"Hex string contains invalid characters. Only hexadecimal characters (0-9, a-f, A-F) are allowed after 0x"),Ni=Yy.refine(e=>e.length===42,"EVM address must be exactly 42 characters long (0x + 40 hex characters)").transform(e=>e);Yy.refine(e=>e.length===66,"Transaction hash must be exactly 66 characters long (0x + 64 hex characters)");var cz=Yy.refine(e=>e.length===132,"EVM signature must be exactly 132 characters long (0x + 130 hex characters)").transform(e=>e),uz=h.string().min(1,"Base58 string is required").refine(e=>e.trim().length>0,"Base58 string cannot be empty").refine(e=>/^[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]+$/.test(e),"Base58 string contains invalid characters. Only base58 characters (1-9, A-H, J-N, P-Z, a-k, m-z) are allowed");uz.refine(e=>e.length>=32&&e.length<=44,"Solana address must be between 32-44 characters long (base58-encoded 32-byte address)");uz.refine(e=>e.length>=86&&e.length<=88,"Solana transaction hash must be between 86-88 characters long (base58-encoded 64-byte signature)");var ff=h.object({prepare:h.function(),waitForTransaction:h.function(),getAddress:h.function()}),dz=async e=>{let{amount:t,adapter:n,token:r,tokenAddress:o,operationContext:s}=e,i=await sf(n,"usdc.balanceOf",{walletAddress:s.address},s);if(BigInt(String(i))Date.now(),since:e=>Date.now()-e};function Jfe(){return typeof crypto<"u"&&typeof crypto.getRandomValues=="function"}function Qfe(){let e=new Uint8Array(16);if(Jfe())crypto.getRandomValues(e);else for(let t=0;t<16;t++)e[t]=Math.floor(Math.random()*256);return Array.from(e,t=>t.toString(16).padStart(2,"0")).join("")}function $H(e){return e==null?{}:Object.fromEntries(Object.entries(e).filter(([,t])=>t!==void 0))}function zH(e){if(e==="")return!0;let t=e.split(".");if(t.includes(""))return!1;let n=t.indexOf("**");return!(n!==-1&&n!==t.length-1)}function epe(e){let t=e.split(".");if(t.at(-1)==="**"){let o=t.slice(0,-1).map(s=>s==="*"?"[^.]+":s.replaceAll(/[.*+?^${}()|[\]\\]/g,String.raw`\$&`)).join(String.raw`\.`);return o===""?/^.*$/:new RegExp(String.raw`^${o}(?:\..*)?$`)}let r=t.map(o=>o==="*"?"[^.]+":o.replaceAll(/[.*+?^${}()|[\]\\]/g,String.raw`\$&`)).join(String.raw`\.`);return new RegExp(String.raw`^${r}$`)}function VH(e,t,n){try{let r=e(t);r instanceof Promise&&r.catch(o=>{n?.error("Event handler promise rejected",{event:t.name,error:m6(o)})})}catch(r){n?.error("Event handler threw",{event:t.name,error:m6(r)})}}function tpe(e){let t=e?.logger,n=new Set;function r(o){return{emit(s){if(!zH(s.name))return;let i=Object.keys(o).length>0||s.tags?{...o,...$H(s.tags)}:void 0,a=i===void 0?s:{...s,tags:i};for(let c of n){if(c.pattern===null){VH(c.handler,a,t);continue}c.regex!==null&&c.regex.test(s.name)&&VH(c.handler,a,t)}},child(s){let i={...o,...$H(s)};return r(i)},on(s,i){let a;if(typeof s=="function")a={pattern:null,handler:s,regex:null};else{if(typeof i!="function")throw new TypeError(`EventBus.on("${s}") expected a function handler`);let u=zH(s)?epe(s):null;a={pattern:s,handler:i,regex:u}}n.add(a);let c=!1;return()=>{c||(n.delete(a),c=!0)}}}}return r({})}var npe={inc:()=>{}},rpe={observe:()=>{}},ope={start:()=>()=>{}};function spe(){let e={counter:()=>npe,histogram:()=>rpe,timer:()=>ope,child:()=>e};return e}var ipe=spe(),ape=h.custom(e=>{if(e===null||typeof e!="object")return!1;let t=e;return typeof t.debug=="function"&&typeof t.info=="function"&&typeof t.warn=="function"&&typeof t.error=="function"&&typeof t.child=="function"},{message:"Invalid logger"}),cpe=h.custom(e=>{if(e===null||typeof e!="object")return!1;let t=e;return typeof t.counter=="function"&&typeof t.histogram=="function"&&typeof t.timer=="function"&&typeof t.child=="function"},{message:"Invalid metrics"});function lz(e){let t={};for(let[n,r]of Object.entries(e))r!==void 0&&(t[n]=r);return t}var upe=["context.password","context.passphrase","context.secret","context.token","context.*.password","context.*.passphrase","context.*.secret","context.*.token","context.apiKey","context.apiSecret","context.accessToken","context.refreshToken","context.jwt","context.bearerToken","context.sessionId","context.authorization","context.cookie","context.*.apiKey","context.*.apiSecret","context.*.accessToken","context.*.refreshToken","context.*.jwt","context.*.bearerToken","context.*.sessionId","context.*.authorization","context.*.cookie","context.privateKey","context.secretKey","context.signingKey","context.encryptionKey","context.*.privateKey","context.*.secretKey","context.*.signingKey","context.*.encryptionKey","context.mnemonic","context.seed","context.seedPhrase","context.*.mnemonic","context.*.seed","context.*.seedPhrase","context.otp","context.verificationCode","context.*.otp","context.*.verificationCode","context.cardNumber","context.cvv","context.accountNumber","context.*.cardNumber","context.*.cvv","context.*.accountNumber"];function DA(e){if(!e)return;let t=lz(e);if(Object.keys(t).length!==0)return{context:t}}function fz(e){return{debug(t,n){let r=DA(n);r?e.debug(r,t):e.debug(t)},info(t,n){let r=DA(n);r?e.info(r,t):e.info(t)},warn(t,n){let r=DA(n);r?e.warn(r,t):e.warn(t)},error(t,n){let r=DA(n);r?e.error(r,t):e.error(t)},child(t){let n=lz(t);return fz(e.child(n))}}}function dpe(e){if(e!==!1)return Array.isArray(e)?e.length>0?{paths:e,censor:"[REDACTED]"}:void 0:{paths:[...upe],censor:"[REDACTED]"}}function X6(e,t){let{redact:n,...r}=e??{},o=dpe(n),s=o?{...r,redact:o}:r,i=(0,M$.default)(s);return fz(i)}h.object({logger:ape.optional(),metrics:cpe.optional()}).passthrough();function pz(e){let t=X6(),n=tpe({logger:t});return Object.freeze({logger:t,events:n,metrics:ipe,clock:Xfe})}var lpe=h.object({type:h.string(),name:h.string(),version:h.string().optional()}),fpe=h.object({traceId:h.string().optional(),runtime:h.object({}).passthrough().optional(),tokens:h.object({}).passthrough().optional(),callers:h.array(lpe).optional(),signal:h.instanceof(AbortSignal).optional()}).strict();function mz(e,t){if(e!==void 0){let i=fpe.safeParse(e);if(!i.success)throw se("invocationMeta",e,i.error.errors.map(a=>a.message).join(", "))}let n=e?.traceId??Qfe(),r=e?.runtime??t.runtime,o=e?.tokens??t.tokens,s=e?.callers??[];return Object.freeze({traceId:n,runtime:r,tokens:o,callers:s,...e?.signal===void 0?{}:{signal:e.signal}})}function hz(e,t){return Object.freeze({traceId:e.traceId,runtime:e.runtime,tokens:e.tokens,callers:[...e.callers,t]})}h.custom(e=>e!==null&&typeof e=="object"&&"now"in e&&typeof e.now=="function");h.custom(e=>e!==null&&typeof e=="object"&&"emit"in e&&typeof e.emit=="function");h.object({logger:h.any().optional(),events:h.any().optional(),metrics:h.any().optional(),clock:h.any().optional()}).passthrough();function pf(e){return{chain:e.chain,..."address"in e&&e.address!==void 0?{address:e.address}:{}}}async function Sc(e,t){if("address"in e&&e.address)return e.address;if(e.adapter.capabilities?.addressContext==="developer-controlled")throw se("address",void 0,"Developer-controlled adapter reached the provider layer without a resolved address. Ensure the kit layer calls resolveAddress() or provide { address } in the adapter context.");return await e.adapter.getAddress(t)}function Oa(e){if(!Na(e))throw qu(e.name,"does not support Gateway v1 contracts.")}function Zy(e,t,n){if(!ki(e,t))throw Ca(e,t.name,`valid ${n} for this chain`)}function Ra(e,t){if(t==="USDC"){if(!e.usdcAddress)throw qu(e.name,`USDC address not configured for chain "${e.name}".`);return e.usdcAddress}let n=t;throw Ts(`Unsupported token '${n}' on chain '${e.name}'`,n,e.name)}async function nE(e,t,n){if(t.type==="noop")throw se("request",t,"Unexpected noop request during Gateway operation");let r=await t.execute();return await e.waitForTransaction(r,{confirmations:1},n),r}function cf(e,t){if(!/^\d+$/.test(e))throw se(t,e,"must be a non-empty string of digits");return BigInt(e)}var ppe=[{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"spender",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"authorizer",type:"address"},{indexed:!0,internalType:"bytes32",name:"nonce",type:"bytes32"}],name:"AuthorizationCanceled",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"authorizer",type:"address"},{indexed:!0,internalType:"bytes32",name:"nonce",type:"bytes32"}],name:"AuthorizationUsed",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"_account",type:"address"}],name:"Blacklisted",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"newBlacklister",type:"address"}],name:"BlacklisterChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"burner",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"Burn",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"newMasterMinter",type:"address"}],name:"MasterMinterChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"minter",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"Mint",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"minter",type:"address"},{indexed:!1,internalType:"uint256",name:"minterAllowedAmount",type:"uint256"}],name:"MinterConfigured",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"oldMinter",type:"address"}],name:"MinterRemoved",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"previousOwner",type:"address"},{indexed:!1,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[],name:"Pause",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"newAddress",type:"address"}],name:"PauserChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"newRescuer",type:"address"}],name:"RescuerChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Transfer",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"_account",type:"address"}],name:"UnBlacklisted",type:"event"},{anonymous:!1,inputs:[],name:"Unpause",type:"event"},{inputs:[],name:"CANCEL_AUTHORIZATION_TYPEHASH",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"DOMAIN_SEPARATOR",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"PERMIT_TYPEHASH",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"RECEIVE_WITH_AUTHORIZATION_TYPEHASH",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"TRANSFER_WITH_AUTHORIZATION_TYPEHASH",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"spender",type:"address"}],name:"allowance",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"value",type:"uint256"}],name:"approve",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"authorizer",type:"address"},{internalType:"bytes32",name:"nonce",type:"bytes32"}],name:"authorizationState",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_account",type:"address"}],name:"blacklist",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"blacklister",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_amount",type:"uint256"}],name:"burn",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"authorizer",type:"address"},{internalType:"bytes32",name:"nonce",type:"bytes32"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"cancelAuthorization",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"minter",type:"address"},{internalType:"uint256",name:"minterAllowedAmount",type:"uint256"}],name:"configureMinter",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"currency",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[],name:"decimals",outputs:[{internalType:"uint8",name:"",type:"uint8"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"decrement",type:"uint256"}],name:"decreaseAllowance",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"increment",type:"uint256"}],name:"increaseAllowance",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"string",name:"tokenName",type:"string"},{internalType:"string",name:"tokenSymbol",type:"string"},{internalType:"string",name:"tokenCurrency",type:"string"},{internalType:"uint8",name:"tokenDecimals",type:"uint8"},{internalType:"address",name:"newMasterMinter",type:"address"},{internalType:"address",name:"newPauser",type:"address"},{internalType:"address",name:"newBlacklister",type:"address"},{internalType:"address",name:"newOwner",type:"address"}],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"string",name:"newName",type:"string"}],name:"initializeV2",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"lostAndFound",type:"address"}],name:"initializeV2_1",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_account",type:"address"}],name:"isBlacklisted",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"isMinter",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"masterMinter",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_to",type:"address"},{internalType:"uint256",name:"_amount",type:"uint256"}],name:"mint",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"minter",type:"address"}],name:"minterAllowance",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"}],name:"nonces",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"pause",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"paused",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"pauser",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"permit",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"uint256",name:"validAfter",type:"uint256"},{internalType:"uint256",name:"validBefore",type:"uint256"},{internalType:"bytes32",name:"nonce",type:"bytes32"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"receiveWithAuthorization",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"minter",type:"address"}],name:"removeMinter",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract IERC20",name:"tokenContract",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"rescueERC20",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"rescuer",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"symbol",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[],name:"totalSupply",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"value",type:"uint256"}],name:"transfer",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"value",type:"uint256"}],name:"transferFrom",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"uint256",name:"validAfter",type:"uint256"},{internalType:"uint256",name:"validBefore",type:"uint256"},{internalType:"bytes32",name:"nonce",type:"bytes32"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"transferWithAuthorization",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_account",type:"address"}],name:"unBlacklist",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"unpause",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_newBlacklister",type:"address"}],name:"updateBlacklister",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_newMasterMinter",type:"address"}],name:"updateMasterMinter",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_newPauser",type:"address"}],name:"updatePauser",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newRescuer",type:"address"}],name:"updateRescuer",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"version",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"}],mpe=[{inputs:[],stateMutability:"nonpayable",type:"constructor"},{inputs:[{internalType:"address",name:"addr",type:"address"}],name:"AccountDenylisted",type:"error"},{inputs:[{internalType:"address",name:"target",type:"address"}],name:"AddressEmptyCode",type:"error"},{inputs:[{internalType:"uint32",name:"index",type:"uint32"},{internalType:"uint256",name:"maxFee",type:"uint256"},{internalType:"uint256",name:"actualFee",type:"uint256"}],name:"BurnFeeTooHighAtIndex",type:"error"},{inputs:[],name:"CannotDelegateToSelf",type:"error"},{inputs:[],name:"CursorOutOfBounds",type:"error"},{inputs:[],name:"DepositValueMustBePositive",type:"error"},{inputs:[{internalType:"address",name:"depositor",type:"address"}],name:"DepositorIsBlacklisted",type:"error"},{inputs:[],name:"ECDSAInvalidSignature",type:"error"},{inputs:[{internalType:"uint256",name:"length",type:"uint256"}],name:"ECDSAInvalidSignatureLength",type:"error"},{inputs:[{internalType:"bytes32",name:"s",type:"bytes32"}],name:"ECDSAInvalidSignatureS",type:"error"},{inputs:[{internalType:"address",name:"implementation",type:"address"}],name:"ERC1967InvalidImplementation",type:"error"},{inputs:[],name:"ERC1967NonPayable",type:"error"},{inputs:[],name:"EnforcedPause",type:"error"},{inputs:[],name:"ExpectedPause",type:"error"},{inputs:[],name:"FailedCall",type:"error"},{inputs:[],name:"InputArrayLengthMismatch",type:"error"},{inputs:[{internalType:"uint32",name:"index",type:"uint32"},{internalType:"uint256",name:"maxBlockHeight",type:"uint256"},{internalType:"uint256",name:"currentBlock",type:"uint256"}],name:"IntentExpiredAtIndex",type:"error"},{inputs:[{internalType:"uint32",name:"index",type:"uint32"}],name:"IntentValueMustBePositiveAtIndex",type:"error"},{inputs:[],name:"InvalidAddress",type:"error"},{inputs:[],name:"InvalidBurnSigner",type:"error"},{inputs:[],name:"InvalidInitialization",type:"error"},{inputs:[{internalType:"uint32",name:"index",type:"uint32"},{internalType:"address",name:"intentContract",type:"address"},{internalType:"address",name:"expectedContract",type:"address"}],name:"InvalidIntentSourceContractAtIndex",type:"error"},{inputs:[{internalType:"uint32",name:"index",type:"uint32"},{internalType:"address",name:"intentSigner",type:"address"},{internalType:"address",name:"actualSigner",type:"address"}],name:"InvalidIntentSourceSignerAtIndex",type:"error"},{inputs:[{internalType:"bytes4",name:"actualMagic",type:"bytes4"}],name:"InvalidTransferPayloadMagic",type:"error"},{inputs:[{internalType:"bytes4",name:"actualMagic",type:"bytes4"}],name:"InvalidTransferSpecMagic",type:"error"},{inputs:[{internalType:"uint32",name:"actualVersion",type:"uint32"}],name:"InvalidTransferSpecVersion",type:"error"},{inputs:[],name:"MismatchedBurn",type:"error"},{inputs:[],name:"MustHaveAtLeastOneBurnIntent",type:"error"},{inputs:[],name:"NoRelevantBurnIntents",type:"error"},{inputs:[],name:"NoWithdrawingBalance",type:"error"},{inputs:[],name:"NotAllSameToken",type:"error"},{inputs:[],name:"NotAuthorized",type:"error"},{inputs:[],name:"NotInitializing",type:"error"},{inputs:[{internalType:"address",name:"owner",type:"address"}],name:"OwnableInvalidOwner",type:"error"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"OwnableUnauthorizedAccount",type:"error"},{inputs:[{internalType:"address",name:"token",type:"address"}],name:"SafeERC20FailedOperation",type:"error"},{inputs:[{internalType:"uint256",name:"expectedMinimumLength",type:"uint256"},{internalType:"uint256",name:"actualLength",type:"uint256"}],name:"TransferPayloadDataTooShort",type:"error"},{inputs:[{internalType:"uint256",name:"expectedMinimumLength",type:"uint256"},{internalType:"uint256",name:"actualLength",type:"uint256"}],name:"TransferPayloadHeaderTooShort",type:"error"},{inputs:[{internalType:"uint256",name:"expectedTotalLength",type:"uint256"},{internalType:"uint256",name:"actualTotalLength",type:"uint256"}],name:"TransferPayloadOverallLengthMismatch",type:"error"},{inputs:[{internalType:"uint32",name:"index",type:"uint32"},{internalType:"uint256",name:"actualSetLength",type:"uint256"},{internalType:"uint256",name:"requiredOffset",type:"uint256"}],name:"TransferPayloadSetElementHeaderTooShort",type:"error"},{inputs:[{internalType:"uint32",name:"index",type:"uint32"},{internalType:"uint256",name:"actualSetLength",type:"uint256"},{internalType:"uint256",name:"requiredOffset",type:"uint256"}],name:"TransferPayloadSetElementTooShort",type:"error"},{inputs:[{internalType:"uint256",name:"expectedMinimumLength",type:"uint256"},{internalType:"uint256",name:"actualLength",type:"uint256"}],name:"TransferPayloadSetHeaderTooShort",type:"error"},{inputs:[{internalType:"uint32",name:"index",type:"uint32"},{internalType:"bytes4",name:"actualMagic",type:"bytes4"}],name:"TransferPayloadSetInvalidElementMagic",type:"error"},{inputs:[{internalType:"uint256",name:"expectedTotalLength",type:"uint256"},{internalType:"uint256",name:"actualTotalLength",type:"uint256"}],name:"TransferPayloadSetOverallLengthMismatch",type:"error"},{inputs:[{internalType:"bytes32",name:"transferSpecHash",type:"bytes32"}],name:"TransferSpecHashUsed",type:"error"},{inputs:[{internalType:"uint256",name:"expectedMinimumLength",type:"uint256"},{internalType:"uint256",name:"actualLength",type:"uint256"}],name:"TransferSpecHeaderTooShort",type:"error"},{inputs:[{internalType:"uint256",name:"expectedHookDataLength",type:"uint256"},{internalType:"uint256",name:"transferSpecLength",type:"uint256"}],name:"TransferSpecInvalidHookData",type:"error"},{inputs:[{internalType:"uint256",name:"expectedTotalLength",type:"uint256"},{internalType:"uint256",name:"actualTotalLength",type:"uint256"}],name:"TransferSpecOverallLengthMismatch",type:"error"},{inputs:[],name:"UUPSUnauthorizedCallContext",type:"error"},{inputs:[{internalType:"bytes32",name:"slot",type:"bytes32"}],name:"UUPSUnsupportedProxiableUUID",type:"error"},{inputs:[{internalType:"address",name:"addr",type:"address"}],name:"UnauthorizedDenylister",type:"error"},{inputs:[{internalType:"address",name:"caller",type:"address"}],name:"UnauthorizedPauser",type:"error"},{inputs:[{internalType:"address",name:"token",type:"address"}],name:"UnsupportedToken",type:"error"},{inputs:[{internalType:"uint32",name:"index",type:"uint32"},{internalType:"address",name:"sourceToken",type:"address"}],name:"UnsupportedTokenAtIndex",type:"error"},{inputs:[],name:"WithdrawalNotYetAvailable",type:"error"},{inputs:[],name:"WithdrawalValueExceedsAvailableBalance",type:"error"},{inputs:[],name:"WithdrawalValueMustBePositive",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"signer",type:"address"}],name:"BurnSignerAdded",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"signer",type:"address"}],name:"BurnSignerRemoved",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"token",type:"address"},{indexed:!0,internalType:"address",name:"depositor",type:"address"},{indexed:!1,internalType:"address",name:"delegate",type:"address"}],name:"DelegateAdded",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"token",type:"address"},{indexed:!0,internalType:"address",name:"depositor",type:"address"},{indexed:!1,internalType:"address",name:"delegate",type:"address"}],name:"DelegateRemoved",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"addr",type:"address"}],name:"Denylisted",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"oldDenylister",type:"address"},{indexed:!0,internalType:"address",name:"newDenylister",type:"address"}],name:"DenylisterChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"token",type:"address"},{indexed:!0,internalType:"address",name:"depositor",type:"address"},{indexed:!0,internalType:"address",name:"sender",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Deposited",type:"event"},{anonymous:!1,inputs:[],name:"EIP712DomainChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"oldFeeRecipient",type:"address"},{indexed:!0,internalType:"address",name:"newFeeRecipient",type:"address"}],name:"FeeRecipientChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"token",type:"address"},{indexed:!0,internalType:"address",name:"depositor",type:"address"},{indexed:!0,internalType:"bytes32",name:"transferSpecHash",type:"bytes32"},{indexed:!1,internalType:"uint32",name:"destinationDomain",type:"uint32"},{indexed:!1,internalType:"bytes32",name:"destinationRecipient",type:"bytes32"},{indexed:!1,internalType:"address",name:"signer",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"},{indexed:!1,internalType:"uint256",name:"fee",type:"uint256"},{indexed:!1,internalType:"uint256",name:"fromAvailable",type:"uint256"},{indexed:!1,internalType:"uint256",name:"fromWithdrawing",type:"uint256"}],name:"GatewayBurned",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint64",name:"version",type:"uint64"}],name:"Initialized",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"token",type:"address"},{indexed:!0,internalType:"address",name:"depositor",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"},{indexed:!1,internalType:"uint256",name:"availableBalance",type:"uint256"},{indexed:!1,internalType:"uint256",name:"withdrawingBalance",type:"uint256"}],name:"InsufficientBalance",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferStarted",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"account",type:"address"}],name:"Paused",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"oldPauser",type:"address"},{indexed:!0,internalType:"address",name:"newPauser",type:"address"}],name:"PauserChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"token",type:"address"}],name:"TokenSupported",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"addr",type:"address"}],name:"UnDenylisted",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"account",type:"address"}],name:"Unpaused",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"implementation",type:"address"}],name:"Upgraded",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"token",type:"address"},{indexed:!0,internalType:"address",name:"depositor",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"WithdrawalCompleted",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"uint256",name:"oldDelay",type:"uint256"},{indexed:!0,internalType:"uint256",name:"newDelay",type:"uint256"}],name:"WithdrawalDelayChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"token",type:"address"},{indexed:!0,internalType:"address",name:"depositor",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"},{indexed:!1,internalType:"uint256",name:"remainingAvailable",type:"uint256"},{indexed:!1,internalType:"uint256",name:"totalWithdrawing",type:"uint256"},{indexed:!1,internalType:"uint256",name:"withdrawalBlock",type:"uint256"}],name:"WithdrawalInitiated",type:"event"},{inputs:[],name:"EIP712_DOMAIN_TYPE_HASH",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"UPGRADE_INTERFACE_VERSION",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[],name:"acceptOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"signer",type:"address"}],name:"addBurnSigner",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"address",name:"delegate",type:"address"}],name:"addDelegate",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"}],name:"addSupportedToken",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"address",name:"depositor",type:"address"}],name:"availableBalance",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"depositor",type:"address"},{internalType:"uint256",name:"id",type:"uint256"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"balance",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address[]",name:"depositors",type:"address[]"},{internalType:"uint256[]",name:"ids",type:"uint256[]"}],name:"balanceOfBatch",outputs:[{internalType:"uint256[]",name:"balances",type:"uint256[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"addr",type:"address"}],name:"denylist",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"denylister",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"value",type:"uint256"}],name:"deposit",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"address",name:"depositor",type:"address"},{internalType:"uint256",name:"value",type:"uint256"}],name:"depositFor",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"address",name:"from",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"uint256",name:"validAfter",type:"uint256"},{internalType:"uint256",name:"validBefore",type:"uint256"},{internalType:"bytes32",name:"nonce",type:"bytes32"},{internalType:"bytes",name:"signature",type:"bytes"}],name:"depositWithAuthorization",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"address",name:"from",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"uint256",name:"validAfter",type:"uint256"},{internalType:"uint256",name:"validBefore",type:"uint256"},{internalType:"bytes32",name:"nonce",type:"bytes32"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"depositWithAuthorization",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"address",name:"owner",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"bytes",name:"signature",type:"bytes"}],name:"depositWithPermit",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"address",name:"owner",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"depositWithPermit",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"domain",outputs:[{internalType:"uint32",name:"",type:"uint32"}],stateMutability:"view",type:"function"},{inputs:[],name:"domainSeparator",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"pure",type:"function"},{inputs:[],name:"eip712Domain",outputs:[{internalType:"bytes1",name:"fields",type:"bytes1"},{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"version",type:"string"},{internalType:"uint256",name:"chainId",type:"uint256"},{internalType:"address",name:"verifyingContract",type:"address"},{internalType:"bytes32",name:"salt",type:"bytes32"},{internalType:"uint256[]",name:"extensions",type:"uint256[]"}],stateMutability:"view",type:"function"},{inputs:[],name:"feeRecipient",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"calldataBytes",type:"bytes"},{internalType:"bytes",name:"signature",type:"bytes"}],name:"gatewayBurn",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes",name:"intent",type:"bytes"}],name:"getTypedDataHash",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"pauser_",type:"address"},{internalType:"address",name:"denylister_",type:"address"},{internalType:"address[]",name:"supportedTokens_",type:"address[]"},{internalType:"uint32",name:"domain_",type:"uint32"},{internalType:"uint256",name:"withdrawalDelay_",type:"uint256"},{internalType:"address",name:"burnSigner_",type:"address"},{internalType:"address",name:"feeRecipient_",type:"address"}],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"value",type:"uint256"}],name:"initiateWithdrawal",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"address",name:"depositor",type:"address"},{internalType:"address",name:"addr",type:"address"}],name:"isAuthorizedForBalance",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"signer",type:"address"}],name:"isBurnSigner",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"addr",type:"address"}],name:"isDenylisted",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"}],name:"isTokenSupported",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"transferSpecHash",type:"bytes32"}],name:"isTransferSpecHashUsed",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"pause",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"paused",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"pauser",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"pendingOwner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"proxiableUUID",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"signer",type:"address"}],name:"removeBurnSigner",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"address",name:"delegate",type:"address"}],name:"removeDelegate",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"address",name:"depositor",type:"address"}],name:"totalBalance",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"addr",type:"address"}],name:"unDenylist",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"unpause",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newDenylister",type:"address"}],name:"updateDenylister",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newFeeRecipient",type:"address"}],name:"updateFeeRecipient",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newPauser",type:"address"}],name:"updatePauser",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"newDelay",type:"uint256"}],name:"updateWithdrawalDelay",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newImplementation",type:"address"},{internalType:"bytes",name:"data",type:"bytes"}],name:"upgradeToAndCall",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"}],name:"withdraw",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"address",name:"depositor",type:"address"}],name:"withdrawableBalance",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"address",name:"depositor",type:"address"}],name:"withdrawalBlock",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"withdrawalDelay",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"address",name:"depositor",type:"address"}],name:"withdrawingBalance",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"}];h.object({addressContext:h.enum(["user-controlled","developer-controlled"],{errorMap:()=>({message:"addressContext must be either 'user-controlled' or 'developer-controlled'. Use 'user-controlled' for browser wallets, private keys, or hardware wallets. Use 'developer-controlled' for enterprise custody solutions or multi-entity adapters."})}),supportedChains:h.array(h.object({type:h.literal("evm"),chainId:h.number()}).passthrough(),{errorMap:()=>({message:"supportedChains must be an array. Provide an array of EVM ChainDefinition objects."})}).min(1,{message:"supportedChains cannot be empty. Please specify at least one supported chain."})}).strict();var hpe=h.object({name:h.string({required_error:"Domain name is required. Please provide the domain name.",invalid_type_error:"Domain name must be a string."}).min(1,"Domain name cannot be empty."),version:h.string({required_error:"Domain version is required. Please provide the domain version.",invalid_type_error:"Domain version must be a string."}).min(1,"Domain version cannot be empty."),chainId:h.number({invalid_type_error:"Chain ID must be a number."}).int("Chain ID must be an integer.").positive("Chain ID must be positive.").optional(),verifyingContract:h.string({invalid_type_error:"Verifying contract address must be a string."}).regex(/^0x[a-fA-F0-9]{40}$/,"Verifying contract must be a valid Ethereum address.").optional(),salt:h.string().regex(/^0x[a-fA-F0-9]+$/,"Salt must be a valid hex string.").optional()}),ype=h.object({name:h.string({required_error:"Domain name is required. Please provide the domain name.",invalid_type_error:"Domain name must be a string."}).min(1,"Domain name cannot be empty."),version:h.string({required_error:"Domain version is required. Please provide the domain version.",invalid_type_error:"Domain version must be a string."}).min(1,"Domain version cannot be empty.")}),yz=h.object({name:h.string({required_error:"Field name is required. Please provide the field name.",invalid_type_error:"Field name must be a string."}).min(1,"Field name cannot be empty"),type:h.string({required_error:"Field type is required. Please provide the Solidity type.",invalid_type_error:"Field type must be a string."}).min(1,"Field type cannot be empty")});h.object({domain:hpe,types:h.record(h.string().min(1,"Type name cannot be empty."),h.array(yz,{required_error:"Type definition is required. Please provide an array of field definitions.",invalid_type_error:"Type definition must be an array of TypedDataField objects."}).min(1,"Type definition cannot be empty. Please provide at least one field.")).refine(e=>Object.keys(e).length>0,"Types object cannot be empty. Please provide at least one type definition."),primaryType:h.string({required_error:"Primary type is required. Please provide the primary type name.",invalid_type_error:"Primary type must be a string."}).min(1,"Primary type cannot be empty."),message:h.record(h.unknown(),{required_error:"Message is required. Please provide the message object.",invalid_type_error:"Message must be an object."})}).refine(e=>e.primaryType in e.types,e=>({message:`Primary type "${e.primaryType}" must exist in the types definition. Available types: ${Object.keys(e.types).join(", ")}.`,path:["primaryType"]}));h.object({domain:ype,types:h.record(h.string().min(1,"Type name cannot be empty."),h.array(yz,{required_error:"Type definition is required. Please provide an array of field definitions.",invalid_type_error:"Type definition must be an array of TypedDataField objects."}).min(1,"Type definition cannot be empty. Please provide at least one field.")).refine(e=>Object.keys(e).length>0,"Types object cannot be empty. Please provide at least one type definition."),primaryType:h.string({required_error:"Primary type is required. Please provide the primary type name.",invalid_type_error:"Primary type must be a string."}).min(1,"Primary type cannot be empty."),message:h.record(h.unknown(),{required_error:"Message is required. Please provide the message object.",invalid_type_error:"Message must be an object."})}).refine(e=>e.primaryType in e.types,e=>({message:`Primary type "${e.primaryType}" must exist in the types definition. Available types: ${Object.keys(e.types).join(", ")}.`,path:["primaryType"]}));var T6=h.object({name:h.string(),type:h.string().min(1,"Parameter type cannot be empty"),internalType:h.string().optional(),components:h.lazy(()=>h.array(T6)).optional()}),bpe=h.object({type:h.enum(["function","constructor","event","fallback","receive","error"]),name:h.string().optional(),inputs:h.array(T6).default([]),outputs:h.array(T6).optional(),stateMutability:h.enum(["pure","view","nonpayable","payable"]).optional(),constant:h.boolean().optional(),payable:h.boolean().optional(),anonymous:h.boolean().optional()}),gpe=h.array(bpe).min(1,"ABI must contain at least one entry"),_pe=ff.extend({chainType:h.union([h.literal("evm"),h.literal("hybrid")]),actionRegistry:h.object({registerHandlers:h.function().returns(h.any()),actionHandlers:h.map(h.string(),h.function().returns(h.any()))})});h.object({type:h.literal("evm").optional(),abi:gpe,address:Ni,functionName:h.string({required_error:"Function name is required",invalid_type_error:"Function name must be a string"}).min(1,"Function name cannot be empty").refine(e=>/^[a-zA-Z_$][a-zA-Z0-9_$]*$/.test(e),"Function name must be a valid identifier (letters, numbers, underscore, dollar sign, cannot start with number)"),args:h.array(h.unknown(),{required_error:"Arguments array is required",invalid_type_error:"Arguments must be an array"})});h.object({address:Ni,value:h.bigint({required_error:"Value is required for native transfers",invalid_type_error:"Value must be a bigint"}).refine(e=>e>BigInt(0),{message:"Value must be greater than 0"})});h.string({required_error:"Transaction hash is required and must be a string. Please provide a valid transaction hash.",invalid_type_error:"Transaction hash is required and must be a string. Please provide a valid transaction hash."}).min(1,{message:"Transaction hash cannot be empty. Please provide a valid transaction hash."}).refine(e=>e.startsWith("0x")&&e.length===66,e=>({message:`Transaction hash "${e}" is not a valid format. Expected a 32-byte hex string prefixed with '0x' (66 characters total).`})).refine(e=>/^0x[0-9a-fA-F]{64}$/.test(e),e=>({message:`Transaction hash "${e}" contains invalid characters. Only hexadecimal characters (0-9, a-f, A-F) are allowed after '0x'.`}));h.string({required_error:"Private key is required. Please provide a valid private key.",invalid_type_error:"Private key must be a string. Please provide a valid private key."}).transform(e=>e.startsWith("0x")?e:`0x${e}`).pipe(h.string().regex(/^0x[0-9a-fA-F]{64}$/,{message:'Private key must be a valid 64-character hex string. Please provide a valid private key with or without "0x" prefix.'}));var Ape=65,J6=2,jH=Ape*J6,BA=32*J6,GH=32*J6,WH=new Set([0,1,27,28]),qH=35;function bz(e){let t=e.startsWith("0x")?e.slice(2):e;if(!/^[0-9a-fA-F]+$/.test(t))throw new Error("Signature must be a valid hex string (0-9, a-f, A-F).");if(t.length!==jH)throw new Error(`Invalid length: expected ${jH.toString()} hex chars (65 bytes), got ${t.length.toString()}`);let r=`0x${t.slice(0,BA)}`,o=`0x${t.slice(BA,BA+GH)}`,s=parseInt(t.slice(BA+GH),16),i=WH.has(s),a=s>=qH;if(!i&&!a)throw new Error(`Unsupported v value: ${s.toString()}. Must be one of [${[...WH].join(", ")}] or >=${qH.toString()}`);return{r,s:o,v:s}}function gz(e,t,n,r){return{domain:e,types:t,primaryType:n,message:r}}function _z(){return BigInt(Math.floor(Date.now()/1e3)+3600)}var Epe={Permit:[{name:"owner",type:"address"},{name:"spender",type:"address"},{name:"value",type:"uint256"},{name:"nonce",type:"uint256"},{name:"deadline",type:"uint256"}]};async function xpe(e,t,n,r){let o=Rs(n.owner,"evm"),s=Rs(n.spender,"evm"),i=Rs(e.verifyingContract,"evm"),a=n.nonce??await t.fetchEIP2612Nonce(i,o,r),c=BigInt(Math.floor(Date.now()/1e3)),u=n.deadline!==void 0?BigInt(n.deadline):_z();if(u<=c)throw new Error(`EIP-2612 deadline must be in the future (got ${u.toString()}, now ${c.toString()})`);let d={owner:o,spender:s,value:n.value,nonce:a,deadline:u};return gz({...e,verifyingContract:i},Epe,"Permit",d)}function wpe(e){let{validAfter:t,validBefore:n,nowSeconds:r,maxValidAfterSkewSeconds:o,maxRemainingSeconds:s}=e;return t>=n?{ok:!1,reason:"inverted"}:o!==void 0&&t>r+o?{ok:!1,reason:"future-valid-after"}:n<=r?{ok:!1,reason:"expired"}:s!==void 0&&n>r+s?{ok:!1,reason:"too-long"}:{ok:!0}}var Tpe={ReceiveWithAuthorization:[{name:"from",type:"address"},{name:"to",type:"address"},{name:"value",type:"uint256"},{name:"validAfter",type:"uint256"},{name:"validBefore",type:"uint256"},{name:"nonce",type:"bytes32"}]};function Spe(){let e=new Uint8Array(32);return crypto.getRandomValues(e),`0x${Array.from(e).map(n=>n.toString(16).padStart(2,"0")).join("")}`}function Rpe(e,t){if(e.chainId==null)throw new ne({...ye.VALIDATION_FAILED,recoverability:"FATAL",message:"ERC-3009 authorization requires chainId in the EIP-712 domain for replay protection."});if(e.verifyingContract==null)throw new ne({...ye.VALIDATION_FAILED,recoverability:"FATAL",message:"ERC-3009 authorization requires verifyingContract in the EIP-712 domain."});let n=Rs(t.from,"evm"),r=Rs(t.to,"evm"),o=Rs(e.verifyingContract,"evm"),s=t.validAfter??0n,i=t.validBefore??_z(),a=t.nonce??Spe(),c=BigInt(Math.floor(Date.now()/1e3)),u=wpe({validAfter:s,validBefore:i,nowSeconds:c});if(!u.ok&&u.reason==="expired")throw new ne({...ye.VALIDATION_FAILED,recoverability:"FATAL",message:`ERC-3009 validBefore must be in the future (got ${i.toString()}, now ${c.toString()})`,cause:{trace:{validBefore:i.toString(),now:c.toString()}}});if(!u.ok)throw new ne({...ye.VALIDATION_FAILED,recoverability:"FATAL",message:`ERC-3009 validAfter must be less than validBefore (got validAfter=${s.toString()}, validBefore=${i.toString()})`,cause:{trace:{validAfter:s.toString(),validBefore:i.toString()}}});let d={from:n,to:r,value:t.value,validAfter:s,validBefore:i,nonce:a};return gz({...e,verifyingContract:o},Tpe,"ReceiveWithAuthorization",d)}var vpe=Symbol("assertEvmAdapter");function Az(e){eb(e,_pe,"EVM adapter",vpe)}var Ipe="2";function Cpe(e,t){let n=e instanceof ne?{code:e.code,name:e.name,type:e.type,recoverability:e.recoverability}:{...Oi.TRANSACTION_REVERTED,recoverability:"FATAL"};return new ne({...n,message:`Deposit failed: ${ns(e)}. Allowance revocation also failed: ${t.message}`,cause:{trace:{depositError:e,revokeError:t}}})}async function Npe(e,t){let r=await(await e.prepareAction("usdc.name",{},t)).execute();if(typeof r!="string"||r.length===0)throw new ne({...$$.INVALID_RESPONSE,recoverability:"RETRYABLE",message:`Failed to fetch USDC domain name: expected non-empty string, got ${typeof r}`,cause:{trace:{resultType:typeof r}}});return r}async function Ez(e,t,n){return{name:await Npe(e,n),version:Ipe,chainId:t.chainId,verifyingContract:t.usdcAddress}}async function GA(e,t,n){if(t.type==="noop")throw se("request",t,"Unexpected noop request during Gateway operation");let r=await t.execute();return await e.waitForTransaction(r,{confirmations:1},n),r}async function Ope(e,t,n,r,o){try{let i=await(await e.prepare({type:"evm",abi:ppe,address:r,functionName:"approve",args:[n,0n]},o)).execute();await e.waitForTransaction(i,{confirmations:1},t);return}catch(s){return s instanceof Error?s:new Error(ns(s))}}async function kpe(e){let{adapter:t,chain:n,amount:r,token:o,depositAccount:s,operationContext:i}=e,a=n.gateway.contracts.v1.wallet,c=await t.prepareAction("usdc.increaseAllowance",{amount:r,delegate:a,chain:n},i);await GA(t,c,n);let u=s!==void 0;try{let d=await t.prepareAction(u?"gateway.v1.depositFor":"gateway.v1.deposit",{token:o,value:r,...u?{depositor:s}:{},chain:n},i);return await GA(t,d,n)}catch(d){let l=await Ope(t,n,a,o,i);throw l?Cpe(d,l):d}}async function Dpe(e){let{adapter:t,chain:n,amount:r,token:o,operationContext:s,signerAddress:i}=e,a=n;Az(t);let c=n.gateway.contracts.v1.wallet,u=await Ez(t,a,s),d=await xpe(u,t,{owner:i,spender:c,value:r},s),l=await t.signTypedData(d,s),{v:m,r:p,s:g}=bz(l),E=await t.prepareAction("gateway.v1.depositWithPermit",{token:o,owner:i,value:r,deadline:d.message.deadline,v:m,r:p,s:g,chain:n},s);return GA(t,E,n)}async function Bpe(e){let{adapter:t,chain:n,amount:r,token:o,operationContext:s,signerAddress:i}=e,a=n;Az(t);let c=n.gateway.contracts.v1.wallet,u=await Ez(t,a,s),d=Rpe(u,{from:i,to:c,value:r}),l=await t.signTypedData(d,s),{v:m,r:p,s:g}=bz(l),E=await t.prepareAction("gateway.v1.depositWithAuthorization",{token:o,from:i,value:r,validAfter:d.message.validAfter,validBefore:d.message.validBefore,nonce:d.message.nonce,v:m,r:p,s:g,chain:n},s);return GA(t,E,n)}async function xz(e){let{allowanceStrategy:t,depositAccount:n}=e;if(n!==void 0&&(n===""||n==="0x0000000000000000000000000000000000000000"))throw se("depositAccount",n,"must be a non-empty, non-zero address when provided");switch(t){case"approve":return kpe(e);case"permit":return Dpe(e);case"authorize":return Bpe(e);default:throw se("allowanceStrategy",t,`unsupported strategy: ${String(t)}`)}}var KH=[{name:"version",type:"uint32"},{name:"sourceDomain",type:"uint32"},{name:"destinationDomain",type:"uint32"},{name:"sourceContract",type:"bytes32"},{name:"destinationContract",type:"bytes32"},{name:"sourceToken",type:"bytes32"},{name:"destinationToken",type:"bytes32"},{name:"sourceDepositor",type:"bytes32"},{name:"destinationRecipient",type:"bytes32"},{name:"sourceSigner",type:"bytes32"},{name:"destinationCaller",type:"bytes32"},{name:"value",type:"uint256"},{name:"salt",type:"bytes32"},{name:"hookData",type:"bytes"}],YH=[{name:"maxBlockHeight",type:"uint256"},{name:"maxFee",type:"uint256"},{name:"spec",type:"TransferSpec"}],Ppe=[{name:"intents",type:"BurnIntent[]"}],ZH=[{name:"name",type:"string"},{name:"version",type:"string"}],XH={name:"GatewayWallet",version:"1"};function JH(e,t){let n=e;if(n==null||typeof n!="object"||!("spec"in n)||n.spec===void 0||n.spec===null||typeof n.spec!="object")throw se(t,e,"must be a valid BurnIntent with a spec object")}function S6(e){if(Array.isArray(e)){if(e.length===0)throw se("burnIntent",[],"array must not be empty");for(let t=0;t0,s=await Promise.all([...t].map(async([i,a])=>{let c=o&&a.type==="evm"&&Fpe(n)?await Mpe(n,r,a):!1;return[i,c]}));return new Map(s)}function Vpe(e,t){let n=new Map,r;for(let[s,i]of e.intents.entries()){let a=i.spec.sourceDomain;if(t.get(a)??!1){let u=n.get(a);u===void 0?n.set(a,{intents:[i],chain:R6(e,i),contractSigner:!0,firstIntentIndex:s}):u.intents.push(i)}else r??={intents:[],chain:R6(e,i),contractSigner:!1,firstIntentIndex:s},r.intents.push(i)}let o=[...n.values()];return r!==void 0&&o.push(r),o.sort((s,i)=>s.firstIntentIndex-i.firstIntentIndex),o}async function jpe(e,t){let{adapter:n,address:r}=e,o=t.intents[0],s=t.intents.length===1&&o!==void 0?S6(o):S6(t.intents),i=r===void 0?{chain:t.chain}:{chain:t.chain,address:r},a=await n.prepareAction("gateway.v1.signBurnIntents",{typedData:s,chain:t.chain},i),c=Upe(await a.execute());return{intents:t.intents,signature:c.signature,contractSigner:c.contractSigner||t.contractSigner}}async function Gpe(e,t){let n=[];for(let r of t)n.push(await jpe(e,r));return n}function Wpe(e){if(e.address==null||e.address==="")return;let t=Rs(e.address,"bytes32").toLowerCase();for(let n of e.intents)if(n.spec.sourceSigner.toLowerCase()!==t)throw se("group.address",e.address,`Signing group for ${e.address} carries an intent whose sourceSigner is ${n.spec.sourceSigner}; a group must be signed by the wallet that owns every intent it carries. This indicates distinct spend sources collapsed into a single signing group.`)}async function qpe(e){Hpe(e.intents),Wpe(e);let t=$pe(e),n=await zpe(e,t),r=Vpe(e,n);return await Gpe(e,r)}var QH=new WeakMap,Kpe=0;function Ype(e){let t=QH.get(e.adapter);return t===void 0&&(t=Kpe++,QH.set(e.adapter,t)),`${String(t)}:${e.sourceSigner.toLowerCase()}`}function Zpe(e,t,n){let r=Ype(t),o=n.get(r);o?(o.intents.push(e),o.chainsByDomain.set(t.chain.gateway.domain,t.chain)):n.set(r,{adapter:t.adapter,chain:t.chain,intents:[e],chainsByDomain:new Map([[t.chain.gateway.domain,t.chain]]),address:t.sourceSigner})}var Xpe=h.string().regex(/^0x([0-9a-fA-F]{2})*$/,{message:"value must be a 0x-prefixed even-length hex string"}).transform(e=>e);h.object({executeParams:h.object({}).passthrough(),signature:cz,tokenInputs:h.array(h.object({permitType:h.nativeEnum(x6),token:Ni,amount:h.bigint().refine(e=>e>=0n,{message:"amount must be a non-negative bigint"}),permitCalldata:Xpe}))}).passthrough();var v6=h.string().regex(/^0x([0-9a-fA-F]{2})*$/,{message:"value must be a 0x-prefixed even-length hex string"}).transform(e=>e);function Jpe(e){try{return BigInt(e)>=0n}catch{return!1}}var zy=h.union([h.string(),h.bigint()]).refine(Jpe,{message:"value must be a non-negative bigint-compatible string or bigint"}),Qpe=h.object({instructions:h.array(h.object({target:Ni,data:v6,value:zy,tokenIn:Ni,amountToApprove:zy,tokenOut:Ni,minTokenOut:zy}).passthrough()).min(1),tokens:h.array(h.object({token:Ni,beneficiary:Ni}).passthrough()),execId:zy,deadline:zy,metadata:v6}).passthrough();h.object({executeParams:Qpe,signature:cz,tokenInputs:h.array(h.object({permitType:h.nativeEnum(w6),token:Ni,amount:h.bigint().refine(e=>e>=0n,{message:"amount must be a non-negative bigint"}),permitCalldata:v6}))}).passthrough();var wz=new af.PublicKey("TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"),eme=new af.PublicKey("ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"),tme=(e,t,n=!1,r=wz,o=eme)=>{if(!n&&!af.PublicKey.isOnCurve(t.toBuffer()))throw new ne({...ye.INVALID_ADDRESS,recoverability:"FATAL",message:`Owner ${t.toBase58()} is off the ed25519 curve`,cause:{trace:{reason:"Owner is off the ed25519 curve",owner:t.toBase58()}}});let[s]=af.PublicKey.findProgramAddressSync([t.toBuffer(),r.toBuffer(),e.toBuffer()],o);return s};new af.PublicKey("TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb");function e$(e,t){try{return new af.PublicKey(e)}catch(n){throw Ca(e,"Solana",`valid base58-encoded public key for ${t} (${ns(n)})`)}}function nme(e,t,n=wz){let r=e$(t,"tokenMintAddress"),o=e$(e,"walletAddress");return tme(r,o,!1,n).toBase58()}function rme(){return ode}var Q6=new TextEncoder;Q6.encode("gateway_minter");Q6.encode("gateway_minter_custody");Q6.encode("used_transfer_spec_hash");async function ome(e,t,n){if(t.type==="noop")throw se("request",t,"Unexpected noop request during Gateway operation");let r=await t.execute();return await e.waitForTransaction(r,{confirmations:1},n),r}async function Tz(e){let{adapter:t,chain:n,amount:r,token:o,depositAccount:s,operationContext:i}=e;if(s!==void 0&&s==="")throw se("depositAccount",s,"must be a non-empty address when provided");let a=s!==void 0,c=await t.prepareAction(a?"gateway.v1.depositFor":"gateway.v1.deposit",{token:o,value:r,...a?{depositor:s}:{},chain:n},i);return ome(t,c,n)}var sme=118160322,ime=3397770999,r6=new Uint8Array([255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]);function o6(e,t,n){let r=Buffer.alloc(32),o=0xffffffffffffffffn;return r.writeBigUInt64BE(t>>192n&o,0),r.writeBigUInt64BE(t>>128n&o,8),r.writeBigUInt64BE(t>>64n&o,16),r.writeBigUInt64BE(t&o,24),r.copy(e,n),32}function Ac(e,t,n){let r=Buffer.from(t.slice(2),"hex");if(r.length!==32)throw se("bytes32",t,`Expected 32 bytes (66-char hex), got ${String(r.length)} bytes`);return r.copy(e,n),32}function ame(e){let t=e;if(t==null||typeof t!="object"||!("spec"in t)||t.spec===void 0||t.spec===null||typeof t.spec!="object")throw se("burnIntent",e,"must be a valid BurnIntent with a spec object");let{spec:n}=e,r=Buffer.from((n.hookData||"0x").slice(2),"hex"),o=340+r.length,s=72+o,i=r6.length+s,a=Buffer.alloc(i),c=0;return Buffer.from(r6).copy(a,c),c+=r6.length,c=a.writeUInt32BE(sme,c),c+=o6(a,e.maxBlockHeight,c),c+=o6(a,e.maxFee,c),c=a.writeUInt32BE(o,c),c=a.writeUInt32BE(ime,c),c=a.writeUInt32BE(n.version,c),c=a.writeUInt32BE(n.sourceDomain,c),c=a.writeUInt32BE(n.destinationDomain,c),c+=Ac(a,n.sourceContract,c),c+=Ac(a,n.destinationContract,c),c+=Ac(a,n.sourceToken,c),c+=Ac(a,n.destinationToken,c),c+=Ac(a,n.sourceDepositor,c),c+=Ac(a,n.destinationRecipient,c),c+=Ac(a,n.sourceSigner,c),c+=Ac(a,n.destinationCaller,c),c+=o6(a,n.value,c),c+=Ac(a,n.salt,c),c=a.writeUInt32BE(r.length,c),r.length>0&&r.copy(a,c),a}async function cme(e){let{adapter:t,intents:n,chain:r,address:o}=e,s=o===void 0?{chain:r}:{chain:r,address:o};return Promise.all(n.map(async i=>{let a=ame(i),u=await(await t.prepareAction("gateway.v1.signBurnIntents",{typedData:a,chain:r},s)).execute();return{intents:[i],signature:u}}))}function ume(e,t){return{adapter:t.adapter,chain:t.chain,intents:[e],address:t.sourceSigner}}h.object({amount:h.bigint({required_error:"amount is required for customBurn"}).refine(e=>e>0n,"amount must be greater than zero"),maxFee:h.bigint({required_error:"maxFee is required for customBurn"}).refine(e=>e>=0n,"maxFee cannot be negative"),minFinalityThreshold:h.number({required_error:"minFinalityThreshold is required for customBurn",invalid_type_error:"minFinalityThreshold is required for customBurn"}).refine(e=>Number.isFinite(e),"minFinalityThreshold is required for customBurn").refine(e=>e>=0,"minFinalityThreshold cannot be negative"),protocolFee:h.bigint().optional().refine(e=>e===void 0||e>=0n,"protocolFee cannot be negative")});h.object({mintRecipient:h.string({required_error:"mintRecipient is required for customBurn"}).min(1,"mintRecipient is required for customBurn"),feeRecipient:h.string().optional(),destinationCaller:h.string().optional()});var Sz=h.string({required_error:"Private key is required. Please provide a valid private key (Base58, Base64, or JSON array format).",invalid_type_error:"Private key must be a string. Please provide a valid private key (Base58, Base64, or JSON array format)."}).min(10,{message:"Private key is too short. Please provide a valid private key."}).max(1e3,{message:"Private key is too long. Please provide a valid private key."}),e5=h.union([h.literal("Solana"),h.literal("Solana_Devnet"),h.nativeEnum(M).refine(e=>e===M.Solana||e===M.Solana_Devnet,"Must be a Solana blockchain enum value (Blockchain.Solana or Blockchain.Solana_Devnet)"),h.object({type:h.literal("solana"),chain:h.nativeEnum(M),name:h.string()}).passthrough()]),Rz=h.object({connect:h.function().returns(h.promise(h.object({publicKey:h.object({toString:h.function().returns(h.string())})}))),disconnect:h.function().returns(h.promise(h.void())),isConnected:h.boolean(),publicKey:h.union([h.object({toString:h.function().returns(h.string())}),h.null()]),signTransaction:h.function().returns(h.promise(h.unknown())),signAllTransactions:h.function().returns(h.promise(h.array(h.unknown()))).optional(),signMessage:h.function().returns(h.promise(h.object({signature:h.instanceof(Uint8Array)}))).optional()}).passthrough();h.string({invalid_type_error:"RPC URL must be a string"}).url({message:"RPC URL must be a valid URL"});h.record(h.unknown()).optional();h.object({privateKey:Sz.optional(),chain:e5,provider:Rz.optional()});h.object({privateKey:Sz,chain:e5});h.object({provider:Rz,chain:e5});var t$=80063n,dme=28908n,lme=X6({name:"provider-gateway-v1"});function vz(e){try{return je(e,Nn)}catch(t){throw Ss(e,ns(t))}}async function Iz(e,t,n,r,o="USDC"){let s=Ra(t,o);await dz({adapter:e,amount:n.toString(),token:o,tokenAddress:s,operationContext:r})}function Cz(e,t,n,r){let o="depositAccount"in e?e.depositAccount:r;return{amount:e.amount,token:e.token,depositedTo:o,depositedBy:r,chain:n.chain,txHash:t,explorerUrl:Zs(n,t)}}async function fme(e){let{adapter:t,srcChain:n,amountMinorUnits:r,resolvedContext:o}=e;if(n.type==="solana")return t.calculateTransactionFee(dme,void 0,n);if(n.type!=="evm")throw ts(n.name,n.name);if(!Na(n)||n.usdcAddress===null)return t.calculateTransactionFee(t$,void 0,n);try{return await(await t.prepare({type:"evm",abi:mpe,address:n.gateway.contracts.v1.wallet,functionName:"deposit",args:[n.usdcAddress,r]},o)).estimate(void 0)}catch(s){lme.debug("estimateDepositGas: live eth_estimateGas failed, using static fallback",{err:s,chain:n.name});try{return await t.calculateTransactionFee(t$,void 0,n)}catch(i){throw Gu(n.name,{rawError:i})}}}async function pme(e){let t=gt(e.from.chain);Oa(t);let n=vz(e.amount),r=pf(e.from),o=await Sc(e.from,t),s={...r,address:o};await Iz(e.from.adapter,t,n,s,e.token);let i=Ra(t,e.token),a=e.allowanceStrategy??"authorize",c;return t.type==="solana"?c=await Tz({adapter:e.from.adapter,chain:t,amount:n,token:i,operationContext:s}):c=await xz({adapter:e.from.adapter,chain:t,amount:n,token:i,allowanceStrategy:a,operationContext:s,signerAddress:o}),Cz(e,c,t,o)}async function mme(e){let t=gt(e.from.chain);Oa(t),Zy(e.depositAccount,t,"depositAccount");let n=vz(e.amount),r=pf(e.from),o=await Sc(e.from,t),s={...r,address:o};await Iz(e.from.adapter,t,n,s,e.token);let i=Ra(t,e.token),a;return t.type==="solana"?a=await Tz({adapter:e.from.adapter,chain:t,amount:n,token:i,depositAccount:e.depositAccount,operationContext:s}):a=await xz({adapter:e.from.adapter,chain:t,amount:n,token:i,allowanceStrategy:"approve",depositAccount:e.depositAccount,operationContext:s,signerAddress:o}),Cz(e,a,t,o)}function hme(e,t){if(typeof e!="string")throw se(t,e,"must be a string");if(!/^0x[0-9a-fA-F]+$/.test(e))throw se(t,e,"must be a valid hex string (0x-prefixed)")}function Nz(e){return/^0x[0-9a-fA-F]{40}$/.test(e)}function yme(e){if(Nz(e)||e.startsWith("0x"))return!1;try{return Rs(e,"bytes32"),!0}catch{return!1}}function zu(e,t){if(typeof e!="string")throw se(t,e,"must be a string");if(!Nz(e)&&!yme(e))throw se(t,e,"must be a valid address (EVM 0x-prefixed 40 hex chars, or Solana base58)")}function n$(e,t){if(typeof e!="number"||!Number.isInteger(e)||e<0)throw se(t,e,"must be a non-negative integer")}function bme(e,t){if(typeof e!="bigint")throw se(t,e,"must be a bigint");if(e<=0n)throw se(t,e,"must be positive")}function r$(e,t){if(typeof e!="bigint"||e<0n)throw se(t,e,"must be a non-negative bigint")}function gme(){let e=new Uint8Array(32);if(typeof globalThis.crypto?.getRandomValues!="function")throw se("crypto.getRandomValues",void 0,"A secure random source is required for salt generation but crypto.getRandomValues is not available");return globalThis.crypto.getRandomValues(e),`0x${Buffer.from(e).toString("hex")}`}function Oz(e,t){return Object.values(Qy).find(n=>n.gateway?.domain===e&&n.isTestnet===t)}function kz(e){if(e)return Array.isArray(e)?e:[e]}function _me(e,t){if(e&&e.length>0&&e[0])return gt(e[0]);if(t.capabilities?.supportedChains?.[0])return t.capabilities.supportedChains[0]}async function Ame(e){let t=kz(e.chains),n=_me(t,e.adapter);if(!n)throw se("source",e,"no chains specified and adapter has no supported chains");let r=e.adapter.capabilities?.addressContext==="developer-controlled",o;if(r){if(!e.address)throw se("address",void 0,'Address is required for developer-controlled adapters. Please provide: { adapter, chains, address: "0x..." }');o=e.address}else{if(e.address!=null)throw se("address",e.address,"Address should not be provided for user-controlled adapters. The address is automatically resolved from the connected wallet");o=await e.adapter.getAddress(n)}return t?{account:o,chains:t}:{account:o}}function Eme(e,t){return t?{account:e,chains:t}:{account:e}}async function xme(e){if(e.adapter!=null)return Ame(e);if(e.address!=null)return Eme(e.address,kz(e.chains));throw se("source",e,"must have either adapter or address")}async function wme(e){let t=Array.isArray(e)?e:[e];return Promise.all(t.map(xme))}function hm(e){return e?Wfe:Gfe}var Tme=h.object({chain:h.string(),network:h.string(),domain:h.number(),processedHeight:h.string().regex(/^\d+$/,"processedHeight must be numeric"),burnIntentExpirationHeight:h.string().regex(/^\d+$/,"burnIntentExpirationHeight must be numeric"),walletContract:h.object({address:h.string(),supportedTokens:h.array(h.string())}).optional(),minterContract:h.object({address:h.string(),supportedTokens:h.array(h.string())}).optional()}),Sme=h.object({version:h.number(),domains:h.array(Tme)});function Rme(e){if(typeof e=="object"&&e!==null&&"success"in e&&e.success===!1){let n="message"in e&&typeof e.message=="string"?e.message:"Unknown Gateway API failure";throw new ne({...pr.GATEWAY_API_ERROR,recoverability:"FATAL",message:`Gateway API error: ${n}`})}let t=Sme.safeParse(e);if(!t.success)throw new ne({...pr.GATEWAY_API_ERROR,message:`Invalid Gateway info response: ${t.error.message}`,recoverability:"FATAL"});return!0}async function vme(e,t){let r=`${hm(e)}/v1/info`;try{return await Ju(r,Rme,t)}catch(o){throw o instanceof ne?o:new ne({...pr.GATEWAY_API_ERROR,recoverability:"RETRYABLE",message:"Failed to fetch Gateway info",cause:{trace:{rawError:o}}})}}async function Ime(e,t,n){let r=await vme(e,n),o=r.domains.find(s=>s.domain===t);if(!o)throw new ne({...pr.GATEWAY_API_ERROR,recoverability:"FATAL",message:`Gateway domain ${String(t)} not found in /v1/info response`,cause:{trace:{domain:t,availableDomains:r.domains.map(s=>s.domain)}}});return BigInt(o.processedHeight)}function Cme(e){if(typeof e=="object"&&e!==null)return e.responseBody}function Nme(e){if(typeof e=="object"&&e!==null&&"message"in e&&typeof e.message=="string")return e.message}var Ome=/Insufficient balance for depositor (\S+): available ([\d.]+), required ([\d.]+)/;function kme(e,t){return!e||!t||t.length===0?"Gateway":t.find(r=>r.sourceDepositor.toLowerCase()===e.toLowerCase())?.chain.name??"Gateway"}function Yu(e,t){if(e instanceof ne)throw e;let n=e instanceof Error?e.message:"Unknown Gateway API failure",r=Cme(e),o=Nme(r);if(o){let a=[...o.matchAll(new RegExp(Ome.source,"g"))];if(a.length>0){let c=a.map(l=>({depositor:l[1]??"",available:l[2]??"",required:l[3]??"",chain:kme(l[1],t)}));if(c.length===1){let[l]=c;if(l)throw new ne({...xc.INSUFFICIENT_TOKEN,recoverability:"FATAL",message:`Insufficient USDC balance on ${l.chain}. Available: ${l.available} USDC, required: ${l.required} USDC`,cause:{trace:{depositor:l.depositor,available:l.available,required:l.required,rawMessage:o,chain:l.chain,token:"USDC"}}})}let u=c.map(l=>l.chain).join(", "),d=c.map(l=>`${l.chain}: available ${l.available} USDC, required ${l.required} USDC`).join("; ");throw new ne({...xc.INSUFFICIENT_TOKEN,recoverability:"FATAL",message:`Insufficient USDC balance on ${u}. ${d}`,cause:{trace:{shortfalls:c,rawMessage:o,chain:u,token:"USDC"}}})}}let s=o??(r==null?void 0:JSON.stringify(r)),i=s?`Gateway API error: ${n} \u2014 ${s}`:`Gateway API error: ${n}`;throw new ne({...pr.GATEWAY_API_ERROR,recoverability:"FATAL",message:i,cause:{trace:{originalError:n,responseBody:r}}})}var I6=h.string().regex(/^\d+$/,"Expected a non-negative integer string"),o$=h.object({maxBlockHeight:I6,maxFee:I6,spec:h.object({version:h.number(),sourceDomain:h.number(),destinationDomain:h.number(),sourceContract:h.string(),destinationContract:h.string(),sourceToken:h.string(),destinationToken:h.string(),sourceDepositor:h.string(),destinationRecipient:h.string(),sourceSigner:h.string(),destinationCaller:h.string(),value:h.string(),salt:h.string(),hookData:h.string().optional()})}),t5=h.object({total:h.string(),token:h.string(),perIntent:h.array(h.record(h.unknown())),forwardingFee:h.string().optional()}),Dz=h.object({burnIntentSet:h.object({intents:h.array(o$)}).optional(),burnIntent:o$.optional()}),Dme=h.array(Dz),Bme=h.object({body:h.array(Dz),fees:t5}),Pme=h.object({attestation:h.string().optional(),signature:h.string().optional(),transferId:h.string().optional(),fees:t5.optional(),expirationBlock:I6.optional()}),Lme=h.object({transferSpecHash:h.string(),maxBlockHeight:h.string(),maxFee:h.string()}),Mme=h.object({destinationDomain:h.number().optional(),status:h.enum(["pending","confirmed","finalized","failed","expired"]),burnIntents:h.array(Lme).optional(),transactionHash:h.string().optional(),forwardingDetails:h.object({forwardingEnabled:h.boolean(),failureReason:h.string().optional()}).optional(),fees:t5.optional(),attestation:h.object({payload:h.string(),signature:h.string(),expirationBlock:h.string()}).optional()}),Fme=/rate limit|too many requests|timeout|timed out|server error|service unavailable|internal error/i;function Ume(e){return Fme.test(e)?{errorBase:pr.GATEWAY_API_ERROR,recoverability:"RETRYABLE"}:{errorBase:ye.VALIDATION_FAILED,recoverability:"FATAL"}}function rE(e){let t=e;if(t.success===!1&&t.message){let{errorBase:n,recoverability:r}=Ume(t.message);throw new ne({...n,message:`Gateway API error: ${t.message}`,recoverability:r})}}function Hme(e){rE(e);let t=Dme.safeParse(e);if(!t.success)throw new ne({...pr.GATEWAY_API_ERROR,message:`Invalid Gateway estimate response: ${t.error.message}`,recoverability:"RETRYABLE"});return!0}function $me(e){rE(e);let t=Bme.safeParse(e);if(!t.success)throw new ne({...pr.GATEWAY_API_ERROR,message:`Invalid Gateway forwarder estimate response: ${t.error.message}`,recoverability:"RETRYABLE"});return!0}function zme(e){rE(e);let t=Pme.safeParse(e);if(!t.success)throw new ne({...pr.GATEWAY_API_ERROR,message:`Invalid Gateway transfer response: ${t.error.message}`,recoverability:"RETRYABLE"});return!0}function Vme(e){rE(e);let t=Mme.safeParse(e);if(!t.success)throw new ne({...pr.GATEWAY_API_ERROR,message:`Invalid Gateway transfer details response: ${t.error.message}`,recoverability:"RETRYABLE"});return!0}function jme(e){return Array.isArray(e)?e:e?[e]:[]}function Gme(e){return(Array.isArray(e.allocations)?e.allocations[0]:e.allocations)?.chain}function Wme(e,t,n,r){let o=Array.isArray(e.allocations)?e.allocations:[e.allocations];for(let s of o){if(!s)continue;let i=gt(s.chain);Oa(i),r.push({adapter:e.adapter,chain:i,amount:je(s.amount,Nn),sourceDepositor:t,sourceSigner:n})}}function s$(e,t){throw U6(e,t)}function qme(e,t){let n=e[0];if(!n||e.length===0)return;let r=n.chain.isTestnet;for(let o=1;o{if(!r)return[];let o=Gme(r);if(!o)return[];let s=gt(o),i={adapter:r.adapter,chain:s,..."address"in r&&r.address?{address:r.address}:{}},a=await Sc(i,s),c=r.sourceAccount??a,u=[];return Wme(r,c,a,u),u}))).flat()}async function Yme(e,t){let n=new Map;async function r(c,u){let d=n.get(c);if(d)return d;let l=(async()=>{let m=t[c];if(!m)throw se("sourceIndex",c,`Source not found at index ${String(c)}`);let p={adapter:m.adapter,chain:u,..."address"in m&&m.address?{address:m.address}:{}},g=await Sc(p,u),E=m.sourceAccount??g;return{signerAddress:g,depositor:E}})();return n.set(c,l),l}async function o(c){return await Promise.all(c.map(async d=>{let l=gt(d.chain);Oa(l);let m=t[d.sourceIndex];if(!m)throw se("sourceIndex",d.sourceIndex,`Source not found at index ${String(d.sourceIndex)}`);let{signerAddress:p,depositor:g}=await r(d.sourceIndex,l);return{adapter:m.adapter,chain:l,amount:je(d.amount,Nn),sourceDepositor:g,sourceSigner:p}}))}let[s,i,a]=await Promise.all([o(e.allocations),o(e.developerFeeAllocations),o(e.circleFeeAllocations)]);return{user:s,devFee:i,circleFee:a}}function Zme(e,t){let n=new Map,r=[];for(let o of e){let s=o.spec.sourceSigner.toLowerCase(),i=t.find(a=>a.chain.gateway.domain===o.spec.sourceDomain&&Rs(a.sourceSigner,"bytes32").toLowerCase()===s);if(!i)throw se("intent.spec.sourceDomain",o.spec.sourceDomain,`No allocation found for sourceDomain ${String(o.spec.sourceDomain)} and sourceSigner ${String(o.spec.sourceSigner)}; estimate response contains an intent that does not match any allocation`);i.chain.type==="solana"?r.push(ume(o,i)):Zpe(o,i,n)}return[...n.values(),...r]}function Vu(e){return Rs(e,"bytes32")}function Xme(e){n$(e.sourceDomain,"sourceDomain"),n$(e.destinationDomain,"destinationDomain"),zu(e.sourceContract,"sourceContract"),zu(e.destinationContract,"destinationContract"),zu(e.sourceToken,"sourceToken"),zu(e.destinationToken,"destinationToken"),zu(e.sourceDepositor,"sourceDepositor"),bme(e.value,"value"),e.destinationRecipient!==void 0&&zu(e.destinationRecipient,"destinationRecipient"),e.sourceSigner!==void 0&&zu(e.sourceSigner,"sourceSigner"),e.destinationCaller!==void 0&&zu(e.destinationCaller,"destinationCaller"),e.hookData!==void 0&&hme(e.hookData,"hookData"),e.maxFee!==void 0&&r$(e.maxFee,"maxFee"),e.maxBlockHeight!==void 0&&r$(e.maxBlockHeight,"maxBlockHeight");let n=K6(e.sourceContract)==="solana"?$fe:Hfe,r=e.destinationCaller?Vu(e.destinationCaller):zfe;return{maxBlockHeight:e.maxBlockHeight??n,maxFee:e.maxFee??Vfe,spec:{version:1,sourceDomain:e.sourceDomain,destinationDomain:e.destinationDomain,sourceContract:Vu(e.sourceContract),destinationContract:Vu(e.destinationContract),sourceToken:Vu(e.sourceToken),destinationToken:Vu(e.destinationToken),sourceDepositor:Vu(e.sourceDepositor),destinationRecipient:Vu(e.destinationRecipient??e.sourceDepositor),sourceSigner:Vu(e.sourceSigner??e.sourceDepositor),destinationCaller:r,value:e.value,salt:gme(),hookData:e.hookData??"0x"}}}var i$=new Set([M.Ethereum,M.Ethereum_Sepolia]);function Jme(e,t){return ee.amount?1:t.amount({...c,idx:u})),r=n.filter(c=>!i$.has(c.chain)),o=n.filter(c=>i$.has(c.chain));r.sort(a$),o.sort(a$);let s=[...r,...o],i=t,a=new Map;for(let c of s){if(i<=0n)break;let u=Jme(i,c.amount);a.set(c.idx,{userValue:c.amount-u,feeValue:u}),i-=u}for(let c of n)a.has(c.idx)||a.set(c.idx,{userValue:c.amount,feeValue:0n});return a}function e0e(e,t,n){return n===0n?0n:e*t/n}function t0e(e,t){if(!Number.isInteger(t)||t<0||t>1e4)throw se("circleBps",t,`circleBps must be an integer between 0 and 10000, got ${String(t)}`);let n=e>0n?e*BigInt(t)/10000n:0n,r=e>0n?e-n:0n;return{circleShare:n,devShare:r}}function im(e,t,n){if(t.type!=="solana")return e;let r=Ra(t,n);return nme(e,r)}function am(e,t,n,r,o){return Xme({sourceDomain:e.chain.gateway.domain,destinationDomain:t.gateway.domain,sourceContract:e.chain.gateway.contracts.v1.wallet,destinationContract:t.gateway.contracts.v1.minter,sourceToken:Ra(e.chain,n),destinationToken:Ra(t,n),sourceDepositor:e.sourceDepositor,sourceSigner:e.sourceSigner,destinationRecipient:r,value:o})}function n0e(e,t){return t<=0n?new Map:Qme(e,t)}function r0e(e,t,n,r,o,s){o<=0n||s.push(am(e,t,n,r,o))}function Bz(e){return e.gateway.domain===E6?rme():rde}function o0e(e,t,n,r){if(!t||t.feeValue<=0n||!n.resolvedFeeRecipient)return;let o=e0e(n.devShare,t.feeValue,n.feeTotal),s=t.feeValue-o;if(o>0n&&r.push(am(e,n.destChain,n.token,n.resolvedFeeRecipient,o)),s>0n){let i=Bz(n.destChain),a=im(i,n.destChain,n.token);r.push(am(e,n.destChain,n.token,a,s))}}function s0e(e,t,n,r,o,s=1e3){let i=[],a=im(n,t,r),c=o?im(o.recipientAddress,t,r):void 0,u=o?je(o.value,Nn):0n,d=e.map(p=>({chain:p.chain.name,amount:p.amount})),l=n0e(d,u),{devShare:m}=t0e(u,s);for(let[p,g]of e.entries()){let E=l.get(p),x=E?E.userValue:g.amount;r0e(g,t,r,a,x,i),o0e(g,E,{destChain:t,token:r,feeTotal:u,devShare:m,resolvedFeeRecipient:c},i)}return i}function i0e(e,t,n,r,o){let s=[],i=im(n,t,r),a=o?im(o.recipientAddress,t,r):void 0,c=Bz(t),u=im(c,t,r);for(let d of e.user)d.amount<=0n||s.push(am(d,t,r,i,d.amount));if(a)for(let d of e.devFee)d.amount<=0n||s.push(am(d,t,r,a,d.amount));for(let d of e.circleFee)d.amount<=0n||s.push(am(d,t,r,u,d.amount));return s}function Oo(e,t,n,r){let o={reason:e};return n!==void 0&&(o.context=n),new ne({...ye.INVALID_AMOUNT,recoverability:"FATAL",message:t,cause:{trace:o}})}var WA=77,c$=new Map;function C6(e){if(e<0||e>WA)throw Oo("INVALID_DECIMALS",`Decimals must be between 0 and ${String(WA)}, got ${String(e)}`,{decimals:e});let t=c$.get(e);return t===void 0&&(t=10n**BigInt(e),c$.set(e,t)),t}function n5(e,t){if(!Number.isInteger(e)||e<0||e>WA)throw Oo("INVALID_DECIMALS",`${t}: decimals must be an integer between 0 and ${String(WA)}, got ${String(e)}`,{decimals:e,context:t})}function r5(e,t,n){if(e.decimals!==t.decimals)throw Oo("DECIMAL_MISMATCH",`${n}: cannot operate on amounts with different decimals (${String(e.decimals)} vs ${String(t.decimals)})`,{aDecimals:e.decimals,bDecimals:t.decimals,operation:n})}function u$(e,t,n){if(t!==void 0&&t!==e)throw Oo("DECIMAL_MISMATCH",`${n}: Amount has ${String(e)} decimals but config specifies ${String(t)}`,{inputDecimals:e,configDecimals:t})}function a0e(e,t,n){n5(t.decimals,n);let{decimals:r,allowNegative:o=!1}=t,s=typeof e=="number"?e.toString():e;if(typeof s!="string"||s.trim()==="")throw Oo("PARSE_ERROR",`${n}: input must be a non-empty string or number`,{input:e});let i=s.trim(),a=i.startsWith("-");if(a){if(!o)throw Oo("NEGATIVE_NOT_ALLOWED",`${n}: negative values not allowed`,{input:e});i=i.slice(1)}i.length>1&&i.startsWith("0")&&i[1]!=="."&&(i=i.replace(/^0+/,"")||"0");let c=i.split(".");if(c.length>2)throw Oo("PARSE_ERROR",`${n}: invalid number format (multiple decimal points)`,{input:e});let u=c[0]??"",d=c[1]??"";if(u===""&&d!==""&&(u="0"),!/^\d+$/.test(u)||d&&!/^\d+$/.test(d))throw Oo("PARSE_ERROR",`${n}: input contains non-numeric characters`,{input:e});let l=d.slice(0,r).padEnd(r,"0"),m=u+l,p=BigInt(m);return a&&(p=-p),{raw:p,decimals:r}}function ym(e,t,n){return r5(e,t,n),e.rawt.raw?1:0}function c0e(e,t,n){return ym(e,t,n)===0}function u0e(e,t,n){return ym(e,t,n)===-1}function d0e(e,t,n){return ym(e,t,n)<=0}function l0e(e,t,n){return ym(e,t,n)===1}function f0e(e,t,n){return ym(e,t,n)>=0}var qA=10n**18n;function p0e(e,t,n){return r5(e,t,n),{raw:e.raw+t.raw,decimals:e.decimals}}function m0e(e,t,n){return r5(e,t,n),{raw:e.raw-t.raw,decimals:e.decimals}}function h0e(e,t){let n;if(typeof t=="bigint")n=e.raw*t;else{let r=BigInt(Math.round(t*Number(qA)));n=e.raw*r/qA}return{raw:n,decimals:e.decimals}}function y0e(e,t,n){let r;if(typeof t=="bigint"){if(t===0n)throw Oo("INVALID_INPUT",`${n}: division by zero`);r=e.raw/t}else{if(t===0)throw Oo("INVALID_INPUT",`${n}: division by zero`);let o=BigInt(Math.round(t*Number(qA)));r=e.raw*qA/o}return{raw:r,decimals:e.decimals}}function b0e(e){return{raw:e.raw<0n?-e.raw:e.raw,decimals:e.decimals}}function g0e(e){return{raw:-e.raw,decimals:e.decimals}}function _0e(e,t){let n=e.length;for(;n>t&&e[n-1]==="0";)n--;return e.slice(0,n)}function o5(e,t={}){let{locale:n="en-US",minimumFractionDigits:r=0,maximumFractionDigits:o=e.decimals,useGrouping:s=!0}=t;if(r>o)throw new RangeError(`minimumFractionDigits (${String(r)}) cannot be greater than maximumFractionDigits (${String(o)})`);let i=C6(e.decimals),a=e.raw<0n,c=a?-e.raw:e.raw,u=c/i,d=c%i,l=s?u.toLocaleString(n):u.toString(),m="";if(o>0){let g=d.toString().padStart(e.decimals,"0").slice(0,o);r0&&(m="."+g)}return(a?"-":"")+l+m}function A0e(e){return o5(e)}function E0e(e){return{raw:e.raw.toString(),decimals:e.decimals,formatted:o5(e)}}function x0e(e,t,n){if(n5(t,n),e.decimals===t)return{raw:e.raw,decimals:e.decimals};let r;if(t>e.decimals){let o=C6(t-e.decimals);r=e.raw*o}else{let o=C6(e.decimals-t);r=e.raw/o}return{raw:r,decimals:t}}var lm=class e{raw;decimals;constructor(t,n){this.raw=t,this.decimals=n,Object.freeze(this)}static of(t,n){if(n5(n.decimals,"Amount.of"),typeof t!="bigint")throw Oo("INVALID_INPUT",`Amount.of: expected bigint, got ${typeof t}`,{input:t});return new e(t,n.decimals)}static parse(t,n){let r=a0e(t,n,"Amount.parse");return new e(r.raw,r.decimals)}static from(t,n){if(t instanceof e)return u$(t.decimals,n?.decimals,"Amount.from"),t;if(e.isAmount(t))return u$(t.decimals,n?.decimals,"Amount.from"),new e(t.raw,t.decimals);if(n===void 0)throw Oo("INVALID_INPUT","Amount.from: config with decimals is required for non-Amount inputs",{input:t});return typeof t=="bigint"?e.of(t,n):e.parse(t,n)}static zero(t){return e.of(0n,t)}static isAmount(t){return typeof t=="object"&&t!==null&&"raw"in t&&typeof t.raw=="bigint"&&"decimals"in t&&typeof t.decimals=="number"}static sum(t){let n=t[0];if(n===void 0)throw Oo("INVALID_INPUT","Amount.sum: cannot sum an empty array");if(t.length===1)return n;let r=t.slice(1).reduce((o,s,i)=>{if(s.decimals!==n.decimals)throw Oo("DECIMAL_MISMATCH",`Amount.sum: all amounts must have the same decimals (expected ${String(n.decimals)}, got ${String(s.decimals)} at index ${String(i+1)})`,{expectedDecimals:n.decimals,actualDecimals:s.decimals});return o+s.raw},n.raw);return new e(r,n.decimals)}static fromJSON(t){if(typeof t!="object"||t===null||!("raw"in t)||typeof t.raw!="string"||!("decimals"in t)||typeof t.decimals!="number")throw Oo("INVALID_INPUT","Amount.fromJSON: invalid JSON structure",{json:t});let{raw:n,decimals:r}=t;return e.of(BigInt(n),{decimals:r})}compare(t){return ym(this,t,"Amount.compare")}eq(t){return c0e(this,t,"Amount.eq")}lt(t){return u0e(this,t,"Amount.lt")}lte(t){return d0e(this,t,"Amount.lte")}gt(t){return l0e(this,t,"Amount.gt")}gte(t){return f0e(this,t,"Amount.gte")}min(t){return this.lt(t)?this:t}max(t){return this.gt(t)?this:t}add(t){let n=p0e(this,t,"Amount.add");return new e(n.raw,n.decimals)}sub(t){let n=m0e(this,t,"Amount.sub");return new e(n.raw,n.decimals)}mul(t){let n=h0e(this,t);return new e(n.raw,n.decimals)}div(t){let n=y0e(this,t,"Amount.div");return new e(n.raw,n.decimals)}abs(){let t=b0e(this);return new e(t.raw,t.decimals)}neg(){let t=g0e(this);return new e(t.raw,t.decimals)}isZero(){return this.raw===0n}isPositive(){return this.raw>0n}isNegative(){return this.raw<0n}toDecimals(t){if(this.decimals===t)return this;let n=x0e(this,t,"Amount.toDecimals");return new e(n.raw,n.decimals)}formatted(t={}){return o5(this,t)}toString(){return A0e(this)}toJSON(){return E0e(this)}},N6=class{actionDispatcher=null;actions;getSupportedDestinationsFor(t){return this.supportedChains.filter(n=>n.isTestnet===t.isTestnet&&n.chain!==t.chain)}async getTokenDecimals(t,n){}registerDispatcher(t){this.actionDispatcher=t}supportsRetry(){return!1}async retry(){return Promise.reject(new Error("Retry not supported by this provider"))}analyzeStepsForRetry(){throw new Error("Step analysis not supported by this provider")}},Sa;(function(e){e.FAST="FAST",e.SLOW="SLOW"})(Sa||(Sa={}));var va=e=>t=>{let n=e.attributeName.charAt(0).toUpperCase()+e.attributeName.slice(1);return t.regex(/^-?(?:\d+(?:\.\d+)?|\.\d+)$/,e.regexMessage).superRefine((r,o)=>{let s=Number.parseFloat(r);if(Number.isNaN(s)){o.addIssue({code:h.ZodIssueCode.custom,message:e.regexMessage});return}if(e.maxDecimals!==void 0){let i=r.split(".")[1];if(i&&i.length>e.maxDecimals){o.addIssue({code:h.ZodIssueCode.custom,message:`Maximum supported decimal places: ${e.maxDecimals.toString()}`});return}}e.allowZero&&s<0?o.addIssue({code:h.ZodIssueCode.custom,message:`${n} must be non-negative`}):!e.allowZero&&s<=0&&o.addIssue({code:h.ZodIssueCode.custom,message:`${n} must be greater than 0`})})},w0e=h.object({name:h.string().min(1,"Chain name is required"),type:h.string().min(1,"Chain type is required")}),s5=h.object({adapter:h.object({prepare:h.function().returns(h.any()),waitForTransaction:h.function().returns(h.any())}),address:h.string().min(1),chain:h.object({name:h.string(),type:h.string(),isTestnet:h.boolean()})}),T0e=s5.extend({useForwarder:h.boolean().optional(),recipientAddress:h.string().optional()}),S0e=h.object({chain:w0e.extend({isTestnet:h.boolean()}),recipientAddress:h.string().min(1,"Recipient address is required for forwarder-only destination"),useForwarder:h.literal(!0)}).superRefine((e,t)=>{ki(e.recipientAddress,e.chain.name)||t.addIssue({code:h.ZodIssueCode.custom,message:`Invalid recipient address format for chain ${e.chain.name}`,path:["recipientAddress"]})}),R0e=h.union([T0e,S0e]),v0e=h.object({value:va({allowZero:!0,regexMessage:"Value must be a non-negative numeric string with dot (.) as decimal separator, with no thousand separators or comma decimals.",attributeName:"value"})(h.string()).optional(),recipientAddress:h.string().trim().min(1,"Fee recipient must be a non-empty string").optional()}).strict();function I0e(e,t){let{maxDecimals:n}=t;return h.object({amount:h.string().min(1,"Required").pipe(va({allowZero:!1,regexMessage:Ks,attributeName:"amount",maxDecimals:n})(h.string())),source:s5,destination:R0e,token:e,config:h.object({transferSpeed:h.nativeEnum(Sa).optional(),maxFee:h.string().pipe(va({allowZero:!0,regexMessage:sue,attributeName:"maxFee",maxDecimals:n})(h.string())).optional(),customFee:v0e.optional()})})}var C0e=I0e(h.literal("USDC"),{maxDecimals:6}),Pz=h.object({success:h.literal(!1),message:h.string()}),N0e=h.object({domain:h.number(),depositor:h.string(),balance:h.string()}),O0e=h.object({token:h.enum(az),balances:h.array(N0e)}),k0e=h.object({depositor:h.string(),domain:h.number(),transactionHash:h.string(),amount:h.string().pipe(va({allowZero:!0,regexMessage:"amount must be a non-negative integer string",attributeName:"amount",maxDecimals:0})(h.string())),status:h.string(),blockHeight:h.string(),blockHash:h.string(),blockTimestamp:h.string()}),D0e=h.object({token:h.string(),deposits:h.array(k0e)}),B0e=h.union([Pz,O0e]),P0e=h.union([Pz,D0e]),L0e=e=>{let t=tz(e,B0e,"Gateway balances response");return"success"in t&&!t.success&&Yu(new Error(t.message)),!0},M0e=e=>{let t=tz(e,P0e,"Gateway pending deposits response");return"success"in t&&!t.success&&Yu(new Error(t.message)),!0};function F0e(e){return e.flatMap(t=>!t.chains||t.chains.length===0?[{depositor:t.account}]:t.chains.map(n=>{let r=gt(n),o=r.gateway?.domain;if(o===void 0)throw qu(r.name,"does not support Gateway (no Gateway domain configured)");return{depositor:t.account,domain:o}}))}function U0e(e,t){let n=[];for(let r of e.balances){let o=Oz(r.domain,t);o&&n.push({chain:o.chain,depositor:r.depositor,balance:r.balance})}return{token:e.token,balances:n}}function H0e(e,t){let n=[];for(let r of e.deposits){let o=Oz(r.domain,t);o&&n.push({depositor:r.depositor,chain:o.chain,transactionHash:r.transactionHash,amount:lm.of(cf(String(r.amount),"deposit.amount"),{decimals:Nn}).formatted({minimumFractionDigits:Nn,maximumFractionDigits:Nn,useGrouping:!1}),status:r.status,blockHeight:r.blockHeight,blockHash:r.blockHash,blockTimestamp:r.blockTimestamp})}return{token:e.token,deposits:n}}var Lz={timeout:2e3,maxRetries:10,retryDelay:200,headers:{"Content-Type":"application/json"}};async function $0e(e,t,n){let r=hm(t),o={...Lz,...n},s=`${r}/v1/balances`,i;try{i=await Ku(s,e,L0e,o)}catch(a){Yu(a)}return U0e(i,t)}async function z0e(e,t=!1,n){let r=hm(t),o={...Lz,...n},s=`${r}/v1/deposits`,i;try{i=await Ku(s,e,M0e,o)}catch(a){Yu(a)}return H0e(i,t)}var uf=lm.of(0n,{decimals:Nn});async function Mz(e,t){let n=await wme(e.sources),r=n[0]?.chains?.[0],o=r?gt(r).isTestnet:e.networkType==="testnet",s={token:e.token,sources:F0e(n)},[i,a]=await Promise.all([$0e(s,o,t),e.includePending?z0e(s,o,t).then(c=>c.deposits):[]]);return j0e(i.token,i.balances,a,e.includePending??!1)}function V0e(){return{confirmed:uf,pending:uf,pendingTxs:[]}}function d$(e,t){let n=e.get(t);return n||(n=new Map,e.set(t,n)),n}function j0e(e,t,n,r){let o=G0e(t,n),s=uf,i=uf,a=[];for(let[u,d]of o){let{confirmed:l,pending:m}=W0e(d);s=s.add(l),i=i.add(m),a.push(q0e(u,l,m,d,r))}let c={token:e,totalConfirmedBalance:fm(s),breakdown:a};return r&&(c.totalPendingBalance=fm(i)),c}function G0e(e,t){let n=new Map;for(let r of e){let o=d$(n,r.depositor),s=lm.parse(r.balance,{decimals:Nn}),i=o.get(r.chain);i?i.confirmed=i.confirmed.add(s):o.set(r.chain,{confirmed:s,pending:uf,pendingTxs:[]})}for(let r of t){let o=d$(n,r.depositor),s=o.get(r.chain)??V0e();s.pending=s.pending.add(lm.parse(r.amount,{decimals:Nn})),s.pendingTxs.push(r),o.set(r.chain,s)}return n}function W0e(e){let t=uf,n=uf;for(let r of e.values())t=t.add(r.confirmed),n=n.add(r.pending);return{confirmed:t,pending:n}}function q0e(e,t,n,r,o){let s=Array.from(r.entries()).map(([a,c])=>K0e(a,c,o)),i={depositor:e,totalConfirmed:fm(t),breakdown:s};return o&&(i.totalPending=fm(n)),i}function K0e(e,t,n){let r={chain:e,confirmedBalance:fm(t.confirmed)};return n&&(r.pendingBalance=fm(t.pending),r.pendingTransactions=t.pendingTxs.map(o=>({transactionHash:o.transactionHash,amount:o.amount,blockTimestamp:o.blockTimestamp}))),r}function fm(e){return e.formatted({minimumFractionDigits:Nn,maximumFractionDigits:Nn,useGrouping:!1})}var Y0e=new Set([M.Ethereum,M.Ethereum_Sepolia]),Et=6,Z0e=new Map([[M.Arc,je("0.001",Et)],[M.Arc_Testnet,je("0.001",Et)],[M.Arbitrum,je("0.01",Et)],[M.Arbitrum_Sepolia,je("0.01",Et)],[M.Avalanche,je("0.02",Et)],[M.Avalanche_Fuji,je("0.02",Et)],[M.Base,je("0.01",Et)],[M.Base_Sepolia,je("0.01",Et)],[M.Ethereum,je("2",Et)],[M.Ethereum_Sepolia,je("2",Et)],[M.HyperEVM,je("0.05",Et)],[M.HyperEVM_Testnet,je("0.05",Et)],[M.Optimism,je("0.0015",Et)],[M.Optimism_Sepolia,je("0.0015",Et)],[M.Polygon,je("0.0015",Et)],[M.Polygon_Amoy_Testnet,je("0.0015",Et)],[M.Sei,je("0.001",Et)],[M.Sei_Testnet,je("0.001",Et)],[M.Solana,je("0.15",Et)],[M.Solana_Devnet,je("0.15",Et)],[M.Sonic,je("0.01",Et)],[M.Sonic_Testnet,je("0.01",Et)],[M.Unichain,je("0.001",Et)],[M.Unichain_Sepolia,je("0.001",Et)],[M.World_Chain,je("0.01",Et)],[M.World_Chain_Sepolia,je("0.01",Et)]]),X0e=je("0.2",Et),O6=100000n,Fz=5n,J0e=10000n;function Q0e(e,t){let n=[],r=[],o=[];for(let{chain:i,confirmedBalance:a,sourceIndex:c}of e){let u={chain:i,remaining:je(a,Et),isSameChain:i===t,isEthereum:Y0e.has(i),sourceIndex:c};u.isSameChain?n.push(u):u.isEthereum?o.push(u):r.push(u)}let s=(i,a)=>i.remaining>a.remaining?-1:i.remaining0n&&(o+=t,s=t),e.remaining<=o)return{drawable:0n,gasFee:r,forwarderFeeUsed:0n};let i=e.remaining-o;return{drawable:e.isSameChain?i:i*O6/(O6+Fz),gasFee:r,forwarderFeeUsed:s}}function s6(e,t,n,r,o){let s=[],i=t,a=r?the(n,o):0n;if(i<=0n)return s;for(let c of e){if(i<=0n)break;let{drawable:u,gasFee:d,forwarderFeeUsed:l}=nhe(c,a,o);if(u<=0n)continue;let m=io+je(s.amount,Et),0n);if(rt)throw se("amount",n,`over-allocation detected: allocated more than the requested ${n} USDC`)}function rhe(e){let t=Q0e(e.chainBalances,e.destinationChain),n=BigInt(e.circleBps??1e3),r=0n,o=0n;if(e.customFee){let u=je(e.customFee.value,Et);o=u*n/J0e,r=u-o}let s=je(e.amountIn,Et),i=s6(t,s,e.destinationChain,e.useForwarder,e.gasFeeOverrides);i6(i,s,e.amountIn);let a=s6(t,r,e.destinationChain,!1,e.gasFeeOverrides);r>0n&&i6(a,r,Cn(r.toString(),Et));let c=s6(t,o,e.destinationChain,!1,e.gasFeeOverrides);return o>0n&&i6(c,o,Cn(o.toString(),Et)),{allocations:i,developerFeeAllocations:a,circleFeeAllocations:c}}function k6(e){let t={version:e.version,sourceDomain:e.sourceDomain,destinationDomain:e.destinationDomain,sourceContract:e.sourceContract,destinationContract:e.destinationContract,sourceToken:e.sourceToken,destinationToken:e.destinationToken,sourceDepositor:e.sourceDepositor,destinationRecipient:e.destinationRecipient,sourceSigner:e.sourceSigner,destinationCaller:e.destinationCaller,value:e.value.toString(),salt:e.salt};return e.hookData&&e.hookData!=="0x"&&(t.hookData=e.hookData),t}function ohe(e){let t=e.filter(o=>o.spec.sourceDomain!==E6),n=e.filter(o=>o.spec.sourceDomain===E6),r=[];t.length>0&&r.push({intents:t.map(o=>({spec:k6(o.spec)}))});for(let o of n)r.push({spec:k6(o.spec)});return r}function l$(e){return{maxBlockHeight:e.maxBlockHeight.toString(),maxFee:e.maxFee.toString(),spec:k6(e.spec)}}function she(e){return e.map(t=>{let n=t.intents[0],r=t.contractSigner===!0?{contractSigner:!0}:{};return t.intents.length===1&&n?{burnIntent:l$(n),signature:t.signature,...r}:{burnIntentSet:{intents:t.intents.map(l$)},signature:t.signature,...r}})}var ihe=100000n;function i5(e,t){return t.find(r=>r.chain.gateway.domain===e)?.chain.chain}function fr(e){if(/^0x[0-9a-fA-F]+$/.test(e)){let t=e.slice(2);if(t.length>64)throw se("address",e,`Value exceeds 32 bytes (${String(t.length/2)} bytes)`);return("0x"+t.padStart(64,"0")).toLowerCase()}return Rs(e,"bytes32").toLowerCase()}function ahe(e,t,n){let r=t.spec,o=[];if(e.version!==r.version&&o.push(`version: expected ${String(r.version)}, got ${String(e.version)}`),e.sourceDomain!==r.sourceDomain&&o.push(`sourceDomain: expected ${String(r.sourceDomain)}, got ${String(e.sourceDomain)}`),e.destinationDomain!==r.destinationDomain&&o.push(`destinationDomain: expected ${String(r.destinationDomain)}, got ${String(e.destinationDomain)}`),e.value!==r.value.toString()&&o.push(`value: expected ${r.value.toString()}, got ${e.value}`),fr(e.salt)!==fr(r.salt)&&o.push(`salt: expected ${r.salt}, got ${e.salt}`),fr(e.sourceContract)!==fr(r.sourceContract)&&o.push(`sourceContract: expected ${r.sourceContract}, got ${e.sourceContract}`),fr(e.destinationContract)!==fr(r.destinationContract)&&o.push(`destinationContract: expected ${r.destinationContract}, got ${e.destinationContract}`),fr(e.sourceToken)!==fr(r.sourceToken)&&o.push(`sourceToken: expected ${r.sourceToken}, got ${e.sourceToken}`),fr(e.destinationToken)!==fr(r.destinationToken)&&o.push(`destinationToken: expected ${r.destinationToken}, got ${e.destinationToken}`),fr(e.sourceDepositor)!==fr(r.sourceDepositor)&&o.push(`sourceDepositor: expected ${r.sourceDepositor}, got ${e.sourceDepositor}`),fr(e.destinationRecipient)!==fr(r.destinationRecipient)&&o.push(`destinationRecipient: expected ${r.destinationRecipient}, got ${e.destinationRecipient}`),fr(e.sourceSigner)!==fr(r.sourceSigner)&&o.push(`sourceSigner: expected ${r.sourceSigner}, got ${e.sourceSigner}`),fr(e.destinationCaller)!==fr(r.destinationCaller)&&o.push(`destinationCaller: expected ${r.destinationCaller}, got ${e.destinationCaller}`),o.length>0)throw se(`estimateResponse.intents[${n.toString()}]`,{index:n,mismatches:o},`intent does not match original: ${o.join("; ")}`)}function che(e,t){let n=[];for(let s of e)if(s.burnIntentSet)for(let i of s.burnIntentSet.intents)n.push(i);else s.burnIntent&&n.push(s.burnIntent);if(n.length!==t.length)throw se("estimateResponse",{expected:t.length,received:n.length},"intent count does not match submitted intents");let r=new Map;for(let s of n){let i=`${String(s.spec.sourceDomain)}:${fr(s.spec.salt)}`,a=r.get(i)??[];a.push(s),r.set(i,a)}let o=new Map;return t.map((s,i)=>{let a=`${String(s.spec.sourceDomain)}:${fr(s.spec.salt)}`,c=r.get(a),u=o.get(a)??0,d=c?.[u];if(d===void 0)throw se(`estimateResponse[${i.toString()}]`,{sourceDomain:s.spec.sourceDomain,salt:s.spec.salt},"no matching intent for domain+salt");return o.set(a,u+1),ahe(d.spec,s,i),{...s,maxBlockHeight:cf(String(d.maxBlockHeight),"maxBlockHeight"),maxFee:cf(String(d.maxFee),"maxFee")}})}function Hz(e){let{value:t}=e.spec;return typeof t=="bigint"?t:cf(String(t),"spec.value")}function $z(e){let{maxFee:t,spec:n}=e,o=n.sourceDomain===n.destinationDomain?0n:Hz(e)*qfe/ihe,s=t>o?t-o:0n;return{transferFee:o,gasFee:s}}function uhe(e,t){let n=new Map,r=new Map,o=0n,s=0n;for(let i of e){let{maxFee:a,spec:c}=i;if(a===0n)continue;let{transferFee:u,gasFee:d}=$z(i);o+=u,s+=d;let l=i5(c.sourceDomain,t);l!==void 0&&(u>0n&&n.set(l,(n.get(l)??0n)+u),d>0n&&r.set(l,(r.get(l)??0n)+d))}return{transferFeeByChain:n,gasFeeByChain:r,totalTransferFee:o,totalGasFee:s}}function f$(e){return[...e.entries()].map(([t,n])=>({chain:t,amount:Cn(n.toString(),Nn)}))}function zz(e,t,n){let r=[],{transferFeeByChain:o,gasFeeByChain:s,totalTransferFee:i,totalGasFee:a}=uhe(e,t);if(i>0n&&r.push({type:"provider",token:"USDC",amount:Cn(i.toString(),Nn),allocations:f$(o)}),a>0n&&r.push({type:"gasFee",token:"USDC",amount:Cn(a.toString(),Nn),allocations:f$(s)}),n){let c=t[0]?.chain;r.push({type:"kit",token:"USDC",amount:n.value,allocations:c?[{chain:c.chain,amount:n.value}]:[],recipientAddress:n.recipientAddress})}return r}function p$(e,t){let n=new Map;for(let r of e){if(r.maxFee===0n)continue;let o=i5(r.spec.sourceDomain,t);if(o===void 0)continue;let{gasFee:s}=$z(r),i=n.get(o)??0n;s>i&&n.set(o,s)}return n}function dhe(e,t){let n=new Map;for(let r of e){let o=i5(r.spec.sourceDomain,t);if(o===void 0)continue;let s=Hz(r)+r.maxFee;n.set(o,(n.get(o)??0n)+s)}return n}function lhe(e){if(e.chainsByDomain!==void 0)return e.chainsByDomain;throw se("adapterGroup.chainsByDomain",e.chainsByDomain,"must be provided for an EVM adapter group")}async function fhe(e){return(await Promise.all(e.map(async n=>n.chain.type==="solana"?cme(n):await qpe({...n,chainsByDomain:lhe(n)})))).flat()}function phe(e,t,n,r){e&&e.dispatch(t,{protocol:"gateway",version:"v1",tags:{opName:"spend",chain:n},data:r})}function mhe(e,t,n){let r=e instanceof Error?e.message:String(e);return new ne({...Oi.TRANSACTION_REVERTED,recoverability:"RESUMABLE",message:`Mint failure: Use the attestation and signature in 'error.cause.trace' to reattempt via 'config.retry'. Cause: ${r}`,cause:{trace:{attestation:t,signature:n,cause:e}}})}function Vz(e){return e.useForwarder===!0&&!("adapter"in e)&&"recipientAddress"in e}function jz(e){return e.useForwarder===!0}function Gz(e,t){if(!e.gateway.forwarderSupported.destination)throw se("to.chain",e.name,"does not support the Forwarding Service as a destination");if(t){for(let n of t)if(!n.chain.gateway.forwarderSupported.source)throw se("from.chain",n.chain.name,"does not support the Forwarding Service as a source")}}var hhe=5e3,yhe=3e5;async function bhe(e,t,n){let r=Date.now();for(;Date.now()-rsetTimeout(s,hhe))}throw new ne({...pr.TIMEOUT,recoverability:"RETRYABLE",message:"Forwarder polling timed out waiting for transfer completion.",cause:{trace:{transferId:t}}})}function Wz(e,t){e.to.recipientAddress&&Zy(e.to.recipientAddress,t,"recipientAddress");let n=e.config?.customFee?.recipientAddress;n&&Zy(n,t,"customFee.recipientAddress")}async function ghe(e,t,n){let o=(Array.isArray(e.from)?e.from:[e.from]).filter(c=>c!=null),s=t.isTestnet?"testnet":"mainnet",i=await Promise.all(o.map(async c=>{let u;return c.sourceAccount?u={address:c.sourceAccount}:(u={adapter:c.adapter},"address"in c&&c.address&&(u.address=c.address)),Mz({token:e.token,sources:u,networkType:s},n)})),a=[];for(let c=0;cg!=null),u=e.config?.customFee,d=rhe({amountIn:o,destinationChain:t.chain,chainBalances:s,useForwarder:r,...u?{customFee:u}:{},...i?{gasFeeOverrides:i}:{}}),l=await Yme(d,c),m=i0e(l,t,n,e.token,e.config?.customFee);return{allocations:[...l.user,...l.devFee,...l.circleFee],intents:m}}async function _he(e,t,n,r,o){if(e.amountIn){let a=await ghe(e,t,o),{allocations:c,intents:u}=await qz(e,t,n,r,e.amountIn,a);return{allocations:c,intents:u,chainBalances:a}}let s=await Kme(e),i=s0e(s,t,n,e.token,e.config?.customFee);return{allocations:s,intents:i}}async function Ahe(e,t,n,r,o){if(n){let i;try{i=await Ku(`${e}/v1/estimate?enableForwarder=true`,t,$me,o)}catch(a){Yu(a,r)}return{entries:i.body,forwardingFee:i.fees.forwardingFee}}let s;try{s=await Ku(`${e}/v1/estimate`,t,Hme,o)}catch(i){Yu(i,r)}return{entries:s,forwardingFee:void 0}}function Ehe(e){let t=new Map;for(let n of e){let r=je(n.confirmedBalance,Nn);t.set(n.chain,(t.get(n.chain)??0n)+r)}return t}function Kz(e,t,n){let r=dhe(e,t),o=Ehe(n),s=[];for(let[i,a]of r){let c=o.get(i)??0n;a>c&&s.push({chain:i,required:a,available:c})}return s}function m$(e,t){let n=e.map(r=>`${String(r.chain)} needs ${Cn(r.required.toString(),Nn)} USDC (transfer + gas) but only ${Cn(r.available.toString(),Nn)} USDC is available`).join("; ");return new ne({...xc.INSUFFICIENT_GAS,recoverability:"FATAL",message:`Insufficient USDC to cover the transfer amount plus Gateway gas fees: ${n}. Reduce the amount or add USDC on the affected chain(s).`,...t===void 0?{}:{cause:{trace:{cause:t}}}})}async function Yz(e,t,n,r,o){qme(e,n),r&&Gz(n,e);let s=hm(n.isTestnet),i=ohe(t),{entries:a,forwardingFee:c}=await Ahe(s,i,r,e,o);return{estimatedIntents:che(a,t),forwardingFee:c}}function xhe(e,t){let n=new Map(e);for(let[r,o]of t){let s=n.get(r);(s===void 0||o>s)&&n.set(r,o)}return n}var whe=3;async function The(e){let t=p$(e.estimatedIntents,e.allocations),n=e.overdrawn;for(let r=0;r0)return The({params:e,destChain:t,recipientAddress:n,useForwarder:r,amountIn:e.amountIn,chainBalances:a,estimatedIntents:c,allocations:s,overdrawn:d,...o?{requestConfig:o}:{}})}return{allocations:s,estimatedIntents:c,forwardingFee:u}}function Gy(e,t,n,r,o){e.push(o),phe(t,n,r,o)}function She(e,t){if(t)return{attestation:e.attestation??"",attestationSignature:e.signature??""};if(!e.attestation||!e.signature)throw new ne({...pr.GATEWAY_API_ERROR,recoverability:"FATAL",message:"Gateway transfer response missing attestation or signature."});return{attestation:e.attestation,attestationSignature:e.signature}}async function Rhe(e,t,n,r,o,s){let i=t.name,a=await a5(e.to),{allocations:c,estimatedIntents:u,forwardingFee:d}=await Zz(e,t,a,n,s);Gy(o,r,"gateway.spend.step.buildBurnIntents",i,{name:"buildBurnIntents",state:"success",data:{intentCount:u.length,allocations:c.map(F=>({chain:F.chain.name,amount:Cn(F.amount.toString(),Nn)})),intents:u.map(F=>({sourceDomain:F.spec.sourceDomain,destinationDomain:F.spec.destinationDomain,value:Cn(F.spec.value.toString(),Nn),maxFee:Cn(F.maxFee.toString(),Nn)}))}});let l=Zme(u,c),m=await fhe(l);Gy(o,r,"gateway.spend.step.signBurnIntents",i,{name:"signBurnIntents",state:"success",data:{signedSetCount:m.length,signatures:m.map(F=>({intentCount:F.intents.length,signature:F.signature,contractSigner:F.contractSigner===!0}))}});let p=she(m),g=hm(t.isTestnet),E=n?"?enableForwarder=true":"",x;try{x=await Ku(`${g}/v1/transfer${E}`,p,zme,s)}catch(F){Yu(F,c)}let S=d??x.fees?.forwardingFee;Gy(o,r,"gateway.spend.step.fetchAttestation",i,{name:"fetchAttestation",state:"success",data:{forwardingEnabled:n,...!n&&{attestation:x.attestation,signature:x.signature},...x.transferId&&{transferId:x.transferId}}});let N=c.map(F=>({amount:Cn(F.amount.toString(),Nn),chain:F.chain.chain,sourceAccount:F.sourceDepositor})),C=zz(u,c,e.config?.customFee),{attestation:v,attestationSignature:D}=She(x,n);return{recipientAddress:a,attestation:v,attestationSignature:D,transferId:x.transferId,expirationBlock:x.expirationBlock,allocationResults:N,fees:C,forwardingFee:S}}var h$=/^0x[0-9a-fA-F]+$/;async function a5(e){if(Vz(e)||e.recipientAddress)return e.recipientAddress;let t="address"in e&&e.address!==void 0?{adapter:e.adapter,chain:e.chain,address:e.address}:{adapter:e.adapter,chain:e.chain};return Sc(t,e.chain)}function vhe(e){if(!e||!h$.test(e.attestation)||!h$.test(e.signature))throw se("config.retry",e,"attestation and signature must be non-empty hex strings (0x-prefixed)")}function Ihe(e,t){if(!t)return e;let n={type:"forwarder",token:"USDC",amount:t};return[...e??[],n]}function Che(e,t){let n=t.fees?.forwardingFee;return!n||!e?e:e.map(r=>r.type==="forwarder"?{...r,amount:n}:r)}async function Nhe(e){let{params:t,destChain:n,forwarder:r,transferId:o,attestation:s,attestationSignature:i,fees:a,requestConfig:c}=e;if(r&&o){let p=hm(n.isTestnet),g=await bhe(p,o,c);if(!g.transactionHash)throw new ne({...Oi.TRANSACTION_REVERTED,recoverability:"RESUMABLE",message:"Forwarder completed but did not return a transaction hash."});return{txHash:g.transactionHash,fees:Che(a,g)}}if(r)throw se("to",t.to,"Forwarder was enabled but the transfer API did not return a transferId");if(Vz(t.to))throw se("to",t.to,"Destination has no adapter; cannot perform user-signed mint");let u=t.to,d="address"in u&&u.address!==void 0?{adapter:u.adapter,chain:n,address:u.address}:{adapter:u.adapter,chain:n},l=pf(d),m=await u.adapter.prepareAction("gateway.v1.gatewayMint",{attestation:s,signature:i,chain:n},l);try{return{txHash:await nE(u.adapter,m,n),fees:a}}catch(p){throw mhe(p,s,i)}}function Ohe(e,t,n,r,o,s,i){let a={recipientAddress:e,destinationChain:t.chain,txHash:n,explorerUrl:Zs(t,n)};return r!==void 0&&r.length>0&&(a.allocations=r),o!==void 0&&(a.fees=o),s&&(a.transferId=s),i&&(a.expirationBlock=i),a}async function khe(e){let t=e.config?.retry;return vhe(t),{recipientAddress:await a5(e.to),attestation:t.attestation,attestationSignature:t.signature,transferId:void 0,expirationBlock:void 0,allocationResults:void 0,fees:void 0,forwardingFee:void 0}}async function Dhe(e){let{params:t,destChain:n,forwarder:r,transferId:o,attestation:s,attestationSignature:i,fees:a,steps:c,dispatcher:u,requestConfig:d}=e;try{let l=await Nhe({params:t,destChain:n,forwarder:r,transferId:o,attestation:s,attestationSignature:i,fees:a,...d?{requestConfig:d}:{}});return Gy(c,u,"gateway.spend.step.mint",n.name,{name:"mint",state:"success",txHash:l.txHash,explorerUrl:Zs(n,l.txHash)}),l}catch(l){throw Gy(c,u,"gateway.spend.step.mint",n.name,{name:"mint",state:"error",errorMessage:l instanceof Error?l.message:String(l),error:l}),l}}async function Bhe(e,t,n){let r=gt(e.to.chain);Oa(r),Wz(e,r);let o=jz(e.to),s=[],i=n?.requestConfig,a=e.config?.retry?await khe(e):await Phe(e,r,o,t,s,i),c=Ihe(a.fees,a.forwardingFee),u=await Dhe({params:e,destChain:r,forwarder:o,transferId:a.transferId,attestation:a.attestation,attestationSignature:a.attestationSignature,fees:c,steps:s,dispatcher:t,...i?{requestConfig:i}:{}});Nfe("provider-gateway-v1",()=>{n?.onBroadcast?.(u.txHash)});let d=Ohe(a.recipientAddress,r,u.txHash,a.allocationResults,u.fees,a.transferId,a.expirationBlock);return d.steps=s,d}async function Phe(e,t,n,r,o,s){if(!e.from)throw se("from",e.from,"Source (from) is required when config.retry is not provided.");return Rhe({...e,from:e.from},t,n,r,o,s)}async function Lhe(e,t){let n=gt(e.to.chain);Oa(n),Wz(e,n);let r=jz(e.to),o=await a5(e.to),{allocations:s,estimatedIntents:i,forwardingFee:a}=await Zz(e,n,o,r,t),c=zz(i,s,e.config?.customFee);return a&&c.push({type:"forwarder",token:"USDC",amount:a}),{fees:c}}function y$(e){if(!(e instanceof Error))return!1;let t=e.message.toLowerCase();return t.includes("block not found")||t.includes("header not found")||t.includes("unknown block")||t.includes("requested block number")||t.includes("minimum context slot has not been reached")}async function Xz(e,t,n){let{from:r,delegateAddress:o}=e,{adapter:s}=r,i=gt(r.chain);Oa(i);let a=pf(r),c=await Sc(r,i),u=Ra(i,e.token);Zy(o,i,"delegate"),Mhe(i,c,o,t);let d=await s.prepareAction(t,{token:u,delegate:o,chain:i},a),l=await nE(s,d,i);return{account:c,delegateAddress:o,chain:i.chain,state:n,txHash:l,explorerUrl:Zs(i,l)}}function Mhe(e,t,n,r){let o=e.type==="evm"?t.toLowerCase():t,s=e.type==="evm"?n.toLowerCase():n;if(o===s)throw se("delegate",n,r==="gateway.v1.removeDelegate"?"cannot remove self as delegate: address must differ from signer":"cannot add self as delegate: address must differ from signer")}async function Fhe(e){return Xz(e,"gateway.v1.addDelegate","added")}async function Uhe(e){return Xz(e,"gateway.v1.removeDelegate","removed")}async function Hhe(e,t){let{from:n,delegateAddress:r}=e,{adapter:o}=n,s=gt(n.chain);Oa(s),Zy(r,s,"delegateAddress");let i=pf(n),a=await Sc(n,s),u={token:Ra(s,e.token),depositor:a,delegate:r,chain:s},d=await sf(o,"gateway.v1.isDelegate",u,i);if(String(d).toLowerCase()!=="true")return"none";if(s.type==="solana"){let p;try{p=await sf(o,"gateway.v1.isDelegate",{...u,commitment:"finalized"},i)}catch(g){if(y$(g))return"pending";throw g}return String(p).toLowerCase()==="true"?"ready":"pending"}let l=await Ime(s.isTestnet,s.gateway.domain,t),m;try{m=await sf(o,"gateway.v1.isDelegate",{...u,blockNumber:l},i)}catch(p){if(y$(p))return"pending";throw p}return String(m).toLowerCase()==="true"?"ready":"pending"}function $he(e){try{return je(e,Nn)}catch(t){throw Ss(e,ns(t))}}async function zhe(e){let{from:t,amount:n}=e,{adapter:r}=t,o=gt(t.chain);Oa(o);let s=pf(t),i=await Sc(t,o),a=Ra(o,e.token),c=$he(n),u=await r.prepareAction("gateway.v1.initiateWithdrawal",{token:a,value:c,chain:o},s),d;try{d=await nE(r,u,o)}catch(x){throw Jy(x,{chain:o.chain,token:e.token})}let l={token:a,depositor:i,chain:o},[m,p]=await Promise.all([sf(r,"gateway.v1.withdrawingBalance",l,s),sf(r,"gateway.v1.withdrawalBlock",l,s)]),g=cf(String(m),"withdrawingBalance"),E=cf(String(p),"withdrawalBlock");return{amount:n,token:e.token,account:i,chain:o.chain,withdrawingBalance:Cn(g.toString(),Nn),withdrawalBlock:Number(E),txHash:d,explorerUrl:Zs(o,d)}}async function Vhe(e){let{from:t}=e,{adapter:n}=t,r=gt(t.chain);Oa(r);let o=pf(t),s=await Sc(t,r),i=Ra(r,e.token),a=await sf(n,"gateway.v1.withdrawingBalance",{token:i,depositor:s,chain:r},o),c=cf(String(a),"withdrawingBalance");if(c===0n)throw new ne({...xc.INSUFFICIENT_TOKEN,recoverability:"FATAL",message:"No pending withdrawal to complete. Call initiateRemoveFund first to start a fund removal."});let u=Cn(c.toString(),Nn),d=await n.prepareAction("gateway.v1.withdraw",{token:i,chain:r},o),l;try{l=await nE(n,d,r)}catch(m){throw Jy(m,{chain:r.chain,token:e.token})}return{amount:u,token:e.token,account:s,chain:r.chain,txHash:l,explorerUrl:Zs(r,l)}}var jhe=Object.values(Qy).filter(e=>Na(e));function Ghe(e){return e!==void 0&&!az.includes(e)?[]:jhe}function Whe(e,t,n){return{protocol:"gateway",version:"v1",tags:{opName:e,chain:t},data:n}}function c5(e,t,n,r,o){if(!e)return;let s=`gateway.${t}.${n}`;e.dispatch(s,Whe(t,r,o))}function qhe(e,t,n,r){c5(e,t,"started",n,r)}function Khe(e,t,n,r){c5(e,t,"succeeded",n,r)}function Yhe(e,t,n,r){c5(e,t,"failed",n,m6(r))}function Jz(e){if(typeof e!="object"||e===null||Array.isArray(e))return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null}function Zhe(e){if(e!==void 0){if(!Jz(e))throw se("config.headers",e,"config.headers must be a plain object with string header values when provided");for(let[t,n]of Object.entries(e))if(typeof n!="string")throw se(`config.headers.${t}`,n,"header values must be strings")}}function Xhe(e){if(!Jz(e))throw se("config",e,"config must be a plain object when provided");Zhe(e.headers)}function Jhe(e={}){Xhe(e);let t=e.headers?{headers:e.headers}:void 0;async function n(o,s,i,a,c){qhe(r.actionDispatcher,o,s,i);try{let u=await c(a);return Khe(r.actionDispatcher,o,s,u),u}catch(u){throw Yhe(r.actionDispatcher,o,s,u),u}}let r={name:jfe,actionDispatcher:null,registerDispatcher(o){r.actionDispatcher=o},deposit:async o=>n("deposit",mo(o.from.chain).name,{amount:o.amount,token:o.token??"USDC"},o,pme),depositFor:async o=>n("depositFor",mo(o.from.chain).name,{amount:o.amount,token:o.token??"USDC",depositAccount:o.depositAccount},o,mme),spend:async(o,s)=>{let i=mo(o.to.chain).name,a=t?{...s,requestConfig:t}:s;return n("spend",i,{destinationChain:i,token:o.token??"USDC"},o,async c=>Bhe(c,r.actionDispatcher,a))},estimateSpend:async o=>{let s=mo(o.to.chain).name;return n("estimateSpend",s,{destinationChain:s,token:o.token??"USDC"},o,async i=>Lhe(i,t))},getBalances:async o=>n("getBalances","aggregate",{token:o.token??"USDC"},o,async s=>Mz(s,t)),addDelegate:async o=>n("addDelegate",mo(o.from.chain).name,{delegateAddress:o.delegateAddress},o,Fhe),removeDelegate:async o=>n("removeDelegate",mo(o.from.chain).name,{delegateAddress:o.delegateAddress},o,Uhe),initiateRemoveFund:async o=>n("initiateRemoveFund",mo(o.from.chain).name,{amount:o.amount,token:o.token??"USDC"},o,zhe),removeFund:async o=>n("removeFund",mo(o.from.chain).name,{token:o.token??"USDC"},o,Vhe),getDelegateStatus:async o=>Hhe(o,t),getSupportedChains:Ghe};return r}var Qhe=(e={})=>[Jhe(e.headers?{headers:e.headers}:{})];function eye(e={}){if(e.excludeDefaultProviders===!0&&(e.providers===void 0||e.providers.length===0))throw se("config.providers",e.providers,"When 'excludeDefaultProviders' is true, 'providers' must contain at least one provider.");let t=e.headers?{headers:e.headers}:{};return{providers:[...e.excludeDefaultProviders===!0?[]:Qhe(t),...e.providers??[]]}}var tye=Symbol("assertCustomFeePolicy"),nye=h.object({computeFee:h.function().returns(h.string().or(h.promise(h.string()))),resolveFeeRecipientAddress:h.function().returns(h.string().or(h.promise(h.string()))).optional()}).strict();function rye(e){eb(e,nye,"UnifiedBalanceKit custom fee policy",tye)}var oye=Symbol("assertFeeRecipientsConfig"),sye=h.object({evm:h.string().min(1,"Fee recipient address is required.").optional(),solana:h.string().min(1,"Fee recipient address is required.").optional()}).strict().refine(e=>Object.keys(e).length>0,{message:"At least one fee recipient (evm or solana) is required."}).superRefine((e,t)=>{for(let n of Object.keys(e)){let r=e[n];if(r!=null&&!ki(r,{name:n,type:n})){let{expectedAddressFormat:o}=mo({name:n,type:n});t.addIssue({code:h.ZodIssueCode.custom,path:[n],message:`Invalid ${n} address "${r}". Expected ${o}.`})}}});function iye(e){eb(e,sye,"UnifiedBalanceKit fee recipients config",oye)}var Qz="https://iris-api.circle.com",eV="https://iris-api-sandbox.circle.com",tV="0x0000000000000000000000000000000000000000",aye="/v2/quote/burn/usdc",cye="/v2/quote/validate/usdc",nV={timeout:15e3,maxRetries:1,retryDelay:200},uye=h.string().regex(/^\d+$/,"must be a non-negative integer string").refine(e=>/^\d+$/.test(e)&&BigInt(e)>0n,"must be greater than zero"),oE=h.string().regex(/^0x[a-fA-F0-9]{40}$/,"must be a 20-byte 0x address"),dye=h.string().regex(/^0x([a-fA-F0-9]{2})*$/,"must be even-length 0x hex"),rV=h.string().regex(/^0x([a-fA-F0-9]{2})+$/,"must be non-empty 0x hex"),D6=h.string().regex(/^0x[a-fA-F0-9]{64}$/,"must be a 32-byte 0x hash"),pm=h.string().regex(/^\d+$/,"must be a non-negative integer string"),oV=h.string().refine(e=>{try{return new URL(e).protocol==="https:"}catch{return!1}},"must be an https URL"),lye=h.object({hookData:dye.optional(),destinationCaller:oE.optional()}).strict(),fye=h.object({type:h.literal("FORWARD"),params:lye.optional()}).strict(),pye=h.object({type:h.literal("PRE_FINALITY")}).strict(),mye=h.discriminatedUnion("type",[fye,pye]),hye=h.array(mye).min(1,"at least one request item is required").refine(e=>new Set(e.map(t=>t.type)).size===e.length,"request item types must be unique"),sV=h.object({timeout:h.number().int().positive().optional(),maxRetries:h.number().int().nonnegative().optional(),retryDelay:h.number().int().nonnegative().optional(),backoff:h.enum(["fixed","exponential"]).optional(),maxRetryDelayMs:h.number().int().positive().optional(),headers:h.record(h.string()).optional()}).passthrough(),yye=h.object({sourceDomain:h.number().int().nonnegative(),destinationDomain:h.number().int().nonnegative(),amount:uye,feeToken:oE.optional(),requests:hye,isTestnet:h.boolean(),baseUrl:oV.optional(),config:sV.optional()}).strict(),bye=h.object({type:h.string().min(1),amount:pm,args:h.array(h.string()),argsHash:D6}).passthrough(),gye=h.object({feeTokenUsd:h.string(),destinationTokenUsd:h.string()}).passthrough(),_ye=h.object({destinationGasPrice:h.string().optional(),exchangeRates:gye.optional()}).passthrough(),Aye=h.discriminatedUnion("mode",[h.object({mode:h.literal("TIMESTAMP"),expiresAt:h.number().int().nonnegative()}).passthrough(),h.object({mode:h.literal("BLOCK_NUMBER"),expiresAtBlock:h.number().int().nonnegative(),blockEstimatedAt:h.number().int().nonnegative().optional()}).passthrough()]),Eye=h.object({signedQuote:rV,issuedAt:h.number().int().nonnegative(),expiry:Aye,feeTotalAmount:pm,feeToken:oE,nonce:pm,items:h.array(bye),metadata:_ye.optional()}).passthrough();function xye(e){return Eye.safeParse(e).success}var wye=h.object({sourceDomain:h.number().int().nonnegative(),abiSignature:h.string().min(1),args:h.array(h.union([h.string(),h.array(h.string())])),isTestnet:h.boolean(),baseUrl:oV.optional(),config:sV.optional()}).strict(),Tye=h.discriminatedUnion("mode",[h.object({mode:h.literal("TIMESTAMP"),expired:h.boolean(),secondsRemaining:h.number().int().nonnegative(),expiresAt:h.number().int().nonnegative()}).passthrough(),h.object({mode:h.literal("BLOCK_NUMBER"),expired:h.boolean(),secondsRemaining:h.number().int().nonnegative(),expiresAtBlock:h.number().int().nonnegative(),blockEstimatedAt:h.number().int().nonnegative().optional()}).passthrough()]),Sye=h.object({type:h.string().min(1),argsMatch:h.boolean(),amount:pm.optional(),args:h.array(h.string()).optional(),argsHash:D6.optional(),computedArgsHash:D6.optional()}).passthrough(),Rye=h.object({signedQuote:rV,expiry:Tye,feeTotalAmount:pm,feeToken:oE,nonce:pm,claimable:h.boolean(),failedChecks:h.array(h.string().min(1)),items:h.array(Sye)}).passthrough();function vye(e){return Rye.safeParse(e).success}function b$(e,t){if(!Number.isInteger(e)||e<0)throw new ne({...ye.VALIDATION_FAILED,recoverability:"FATAL",message:`Quote API getFeeQuote failed: ${t} must be a non-negative integer, received ${String(e)}`,cause:{trace:{[t]:e}}})}function g$(e){let{sourceDomain:t,destinationDomain:n,isTestnet:r,baseUrl:o}=e;b$(t,"sourceDomain"),b$(n,"destinationDomain");let s=o??(r?eV:Qz);return new URL(`${aye}/${String(t)}/${String(n)}`,s).toString()}function Iye(e){let t=e.items.reduce((r,o)=>r+BigInt(o.amount),0n),n=BigInt(e.feeTotalAmount);if(t!==n)throw new ne({...ye.VALIDATION_FAILED,recoverability:"FATAL",message:`Quote API getFeeQuote failed: fee items sum (${t.toString()}) does not equal feeTotalAmount (${n.toString()})`,cause:{trace:{itemsTotal:t.toString(),feeTotalAmount:e.feeTotalAmount}}})}function iV(e){let t=typeof e=="object"&&e!==null&&"responseBody"in e?e.responseBody:void 0;if(typeof t=="object"&&t!==null){let n=t;if([n.errorCode,n.code,n.message,n.externalMessage,n.error].some(o=>typeof o=="string"&&o.toUpperCase().includes("SERVICE_NOT_ENABLED")))return!0}return ns(e).toUpperCase().includes("SERVICE_NOT_ENABLED")}var a6="Quote API",c6="getFeeQuote";function Cye(e){return e.map(t=>{if(t.type==="PRE_FINALITY")return{type:"PRE_FINALITY"};let n=t.params;if(n===void 0)return{type:"FORWARD"};let r={};return n.hookData!==void 0&&(r.hookData=n.hookData),n.destinationCaller!==void 0&&(r.destinationCaller=n.destinationCaller),{type:"FORWARD",params:r}})}async function Nye(e){let{sourceDomain:t,destinationDomain:n,amount:r,requests:o,feeToken:s,isTestnet:i,baseUrl:a,config:c}=e,u=yye.safeParse({sourceDomain:t,destinationDomain:n,amount:r,feeToken:s,requests:o,isTestnet:i,baseUrl:a,config:c});if(!u.success){let g=u.error.issues.map(E=>`${E.path.join(".")}: ${E.message}`).join("; ");throw new ne({...ye.VALIDATION_FAILED,recoverability:"FATAL",message:`${a6} ${c6} failed: ${g}`,cause:{trace:u.error.issues}})}let d=g$(a===void 0?{sourceDomain:t,destinationDomain:n,isTestnet:i}:{sourceDomain:t,destinationDomain:n,isTestnet:i,baseUrl:a}),l={amount:r,feeToken:s??tV,requests:Cye(o)},m={...nV,...c},p;try{p=await Ku(d,l,xye,m)}catch(g){throw iV(g)?new ne({...ye.UNSUPPORTED_ROUTE,recoverability:"FATAL",message:`${a6} ${c6} failed: source chain not enabled for fee quotes (SERVICE_NOT_ENABLED)`,cause:{trace:g}}):K$(g,{service:a6,operation:c6})}return Iye(p),p}var u6="Quote API",d6="validateQuote";async function Oye(e){let t=wye.safeParse(e);if(!t.success){let d=t.error.issues.map(l=>`${l.path.join(".")}: ${l.message}`).join("; ");throw new ne({...ye.VALIDATION_FAILED,recoverability:"FATAL",message:`${u6} ${d6} failed: ${d}`,cause:{trace:t.error.issues}})}let{sourceDomain:n,abiSignature:r,args:o,isTestnet:s,baseUrl:i}=t.data,a={...nV,...e.config},c=i??(s?eV:Qz),u=new URL(`${cye}/${String(n)}`,c).toString();try{return await Ku(u,{abiSignature:r,args:o},vye,a)}catch(d){throw iV(d)?new ne({...ye.UNSUPPORTED_ROUTE,recoverability:"FATAL",message:`${u6} ${d6} failed: source chain not enabled for quote validation (SERVICE_NOT_ENABLED)`,cause:{trace:d}}):K$(d,{service:u6,operation:d6})}}function kye(e,t){let n=Cn(e.feeTotalAmount,t.decimals);return[{type:"forwarder",token:t.symbol,amount:n}]}function Tc(e,t,n,r){if(!n.actionDispatcher)return;let o=r?.traceId,s={protocol:"cctp",version:"v2",...o!==void 0&&{traceId:o},values:t};switch(e){case"approve":case"burn":case"mint":n.actionDispatcher.dispatch(e,{...s,method:e});break;case"fetchAttestation":case"reAttest":n.actionDispatcher.dispatch(e,{...s,method:e,values:t});break}}var sE="https://iris-api.circle.com",iE="https://iris-api-sandbox.circle.com",Dye=e=>typeof e=="object"&&e!==null&&"finalityThreshold"in e&&"minimumFee"in e&&typeof e.finalityThreshold=="number"&&(typeof e.minimumFee=="string"||typeof e.minimumFee=="number"),Bye=e=>Array.isArray(e)?e.every(Dye):!1;function Pye(e,t,n){return`${n?iE:sE}/v2/burn/USDC/fees/${e.toString()}/${t.toString()}`}var _$=1e3;async function Lye(e,t,n){if(!Number.isInteger(e)||e<0)throw new ne({...ye.VALIDATION_FAILED,recoverability:"FATAL",message:"Invalid source domain: must be a non-negative integer",cause:{trace:{sourceDomain:e}}});if(!Number.isInteger(t)||t<0)throw new ne({...ye.VALIDATION_FAILED,recoverability:"FATAL",message:"Invalid destination domain: must be a non-negative integer",cause:{trace:{destinationDomain:t}}});let r=Pye(e,t,n),o=await Ju(r,Bye,VA);if(o.length===0)throw new ne({...ye.VALIDATION_FAILED,recoverability:"FATAL",message:"No fee tiers available in API response",cause:{trace:{sourceDomain:e,destinationDomain:t}}});let s=o,i=s.find(u=>u.finalityThreshold===_$);if(!i)throw new ne({...ye.VALIDATION_FAILED,recoverability:"FATAL",message:`No fast tier (finalityThreshold: ${_$.toString()}) available in API response`,cause:{trace:{availableTiers:s.map(u=>u.finalityThreshold)}}});let a=Number.parseFloat(String(i.minimumFee));if(Number.isNaN(a)||!Number.isFinite(a))throw new ne({...ye.VALIDATION_FAILED,recoverability:"FATAL",message:`Invalid minimumFee: cannot parse "${String(i.minimumFee)}" as a number`,cause:{trace:{value:i.minimumFee}}});let c=BigInt(Math.round(a*100));if(c<0n)throw new ne({...ye.VALIDATION_FAILED,recoverability:"FATAL",message:"Invalid minimumFee: value must be non-negative",cause:{trace:{value:c.toString()}}});return c}var Mye="TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA",Fye="ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL",aV=async(e,t,n)=>{if(e==="evm")return t;{let{PublicKey:r}=await Promise.resolve().then(()=>Ur(kl(),1)).catch(()=>{throw new ne({...ye.VALIDATION_FAILED,recoverability:"FATAL",message:"Failed to load @solana/web3.js. Please ensure it is installed: npm install @solana/web3.js"})});try{let o=new r(t),s=new r(n),i=new r(Mye),a=new r(Fye),[c]=r.findProgramAddressSync([o.toBuffer(),i.toBuffer(),s.toBuffer()],a);return c.toBase58()}catch(o){throw new ne({...ye.INVALID_ADDRESS,recoverability:"FATAL",message:`Failed to derive Solana Associated Token Account for recipient "${t}": ${o instanceof Error?o.message:String(o)}`})}}},Uye=async(e,t)=>{if(e==="evm")return hfe();if(e!=="solana")throw new ne({...ye.VALIDATION_FAILED,recoverability:"FATAL",message:`Forwarded burns are not supported for destination chain type "${e}"`});let{PublicKey:n}=await Promise.resolve().then(()=>Ur(kl(),1)).catch(()=>{throw new ne({...ye.VALIDATION_FAILED,recoverability:"FATAL",message:"Failed to load @solana/web3.js. Please ensure it is installed: npm install @solana/web3.js"})});try{let r=new n(t);return yfe(r.toBytes())}catch(r){throw new ne({...ye.INVALID_ADDRESS,recoverability:"FATAL",message:`Failed to build Solana forwarder hookData for recipient "${t}": ${r instanceof Error?r.message:String(r)}`})}};function Hye(e,t){let n;try{n=BigInt(e)}catch{throw new ne({...ye.VALIDATION_FAILED,recoverability:"FATAL",message:`Invalid ${t}: value must be a valid integer (received "${String(e)}")`,cause:{trace:{value:e,fieldName:t}}})}if(n<0n)throw new ne({...ye.VALIDATION_FAILED,recoverability:"FATAL",message:`Invalid ${t}: value must be non-negative`,cause:{trace:{value:n.toString(),fieldName:t}}});return n}var cV=e=>{if(e==null)return!1;let t=ns(e).toLowerCase();return!!(t.includes("messageexpired")||t.includes("message")&&t.includes("expired"))},$ye="0x0000000000000000000000000000000000000000",zye=e=>{let{feeToken:t,burnToken:n,amount:r,feeTotalAmount:o}=e;if(typeof r!="bigint"||r<0n)throw se("amount",r,"Must be a non-negative bigint");if(typeof o!="bigint"||o<0n)throw se("feeTotalAmount",o,"Must be a non-negative bigint");let s=t.toLowerCase()===$ye,i=!s&&t.toLowerCase()===n.toLowerCase();return s?{isNativeFee:!0,isBurnTokenFee:!1,nativeValue:o,approvals:[{token:n,amount:r}]}:i?{isNativeFee:!1,isBurnTokenFee:!0,nativeValue:0n,approvals:[{token:n,amount:r+o}]}:{isNativeFee:!1,isBurnTokenFee:!1,nativeValue:0n,approvals:[{token:n,amount:r},{token:t,amount:o}]}},Vye=Array.from(new TextEncoder().encode(QA)).map(e=>e.toString(16).padStart(2,"0")).join(""),jye=e=>typeof e!="string"?!1:(e.startsWith("0x")?e.slice(2):e).toLowerCase().startsWith(Vye),l6=e=>{if(!jye(e))throw se("hookData",e,"Prepaid FORWARD burns require a cctp-forward-wrapped hookData; without it the TokenMessengerWithFees wrapper reverts ForwardFeeWithoutHook")},Gye=e=>typeof e=="object"&&e!==null&&"low"in e&&"med"in e&&"high"in e&&(typeof e.low=="string"||typeof e.low=="number")&&(typeof e.med=="string"||typeof e.med=="number")&&(typeof e.high=="string"||typeof e.high=="number"),Wye=e=>typeof e=="object"&&e!==null&&"finalityThreshold"in e&&"minimumFee"in e&&"forwardFee"in e&&typeof e.finalityThreshold=="number"&&(typeof e.minimumFee=="string"||typeof e.minimumFee=="number")&&Gye(e.forwardFee),qye=e=>Array.isArray(e)?e.every(Wye):!1;function Kye(e,t,n){return`${n?iE:sE}/v2/burn/USDC/fees/${e.toString()}/${t.toString()}?forward=true`}async function A$(e,t,n,r){if(!Number.isInteger(e)||e<0)throw new ne({...ye.VALIDATION_FAILED,recoverability:"FATAL",message:"Invalid source domain: must be a non-negative integer",cause:{trace:{sourceDomain:e}}});if(!Number.isInteger(t)||t<0)throw new ne({...ye.VALIDATION_FAILED,recoverability:"FATAL",message:"Invalid destination domain: must be a non-negative integer",cause:{trace:{destinationDomain:t}}});let o=Kye(e,t,n),s=await Ju(o,qye,VA);if(s.length===0)throw new ne({...ye.VALIDATION_FAILED,recoverability:"FATAL",message:"No fee tiers available in API response",cause:{trace:{sourceDomain:e,destinationDomain:t}}});let i=s,a=i.find(u=>u.finalityThreshold===r);if(!a)throw new ne({...ye.VALIDATION_FAILED,recoverability:"FATAL",message:`No tier with finalityThreshold: ${r.toString()} available in API response`,cause:{trace:{finalityThreshold:r,availableTiers:i.map(u=>u.finalityThreshold)}}});let c=a.forwardFee.high;return Hye(c,"forwarding fee")}var Yye=169914n,Zye=201525n,Xye=237401n,Jye=626584n,Qye=150000n,ebe=500000n,tbe=400000n,cm={approve:Qye,burn:ebe,mint:tbe},B6={[Sa.FAST]:1e3,[Sa.SLOW]:2e3},nn={approve:"approve",burn:"burn",fetchAttestation:"fetchAttestation",mint:"mint",reAttest:"reAttest"},E$={"":[{condition:()=>!0,nextStep:nn.approve,reason:"Start with approval step",isActionable:!0}],[nn.approve]:[{condition:e=>e.lastStep?.state==="success",nextStep:nn.burn,reason:"Approval successful, proceed to burn",isActionable:!0},{condition:e=>e.lastStep?.state==="error",nextStep:nn.approve,reason:"Retry failed approval",isActionable:!0},{condition:e=>e.lastStep?.state==="noop",nextStep:nn.burn,reason:"No approval needed, proceed to burn",isActionable:!0},{condition:e=>e.lastStep?.state==="pending",nextStep:nn.approve,reason:"Continue pending approval",isActionable:!1}],[nn.burn]:[{condition:e=>e.lastStep?.state==="success",nextStep:nn.fetchAttestation,reason:"Burn successful, fetch attestation",isActionable:!0},{condition:e=>e.lastStep?.state==="error",nextStep:nn.burn,reason:"Retry failed burn",isActionable:!0},{condition:e=>e.lastStep?.state==="pending",nextStep:nn.burn,reason:"Continue pending burn",isActionable:!1}],[nn.fetchAttestation]:[{condition:e=>e.lastStep?.state==="success",nextStep:nn.mint,reason:"Attestation fetched, proceed to mint",isActionable:!0},{condition:e=>e.lastStep?.state==="error",nextStep:nn.fetchAttestation,reason:"Retry fetching attestation",isActionable:!0},{condition:e=>e.lastStep?.state==="pending",nextStep:nn.fetchAttestation,reason:"Continue pending attestation fetch",isActionable:!1}],[nn.mint]:[{condition:e=>e.lastStep?.state==="success",nextStep:null,reason:"Bridge completed successfully",isActionable:!1},{condition:e=>e.lastStep?.state==="error",nextStep:nn.mint,reason:"Retry failed mint",isActionable:!0},{condition:e=>e.lastStep?.state==="pending",nextStep:nn.mint,reason:"Continue pending mint",isActionable:!1}],[nn.reAttest]:[{condition:e=>e.lastStep?.state==="success",nextStep:nn.mint,reason:"Re-attestation successful, proceed to mint",isActionable:!0},{condition:e=>e.lastStep?.state==="error",nextStep:nn.mint,reason:"Re-attestation failed, retry mint to re-initiate recovery",isActionable:!0},{condition:e=>e.lastStep?.state==="pending",nextStep:nn.mint,reason:"Re-attestation pending, retry mint to re-initiate recovery",isActionable:!0}]},nbe=e=>{if(!e||!Array.isArray(e.steps))throw new Error("Invalid bridgeResult: must contain a steps array");let{steps:t}=e,n=rbe(t),r=obe(n);return{continuationStep:r.nextStep,isActionable:r.isActionable,completedSteps:Array.from(n.completedSteps),failedSteps:Array.from(n.failedSteps),reason:r.reason}};function rbe(e){let t=new Set,n=new Set,r;for(let o of e)o.state==="success"||o.state==="noop"?t.add(o.name):o.state==="error"&&n.add(o.name),r={name:o.name,state:o.state};return{completedSteps:t,failedSteps:n,...r&&{lastStep:r}}}function obe(e){let t=e.lastStep?.name;if(t===void 0){let s=E$[""]?.find(i=>i.condition(e));return s?{nextStep:s.nextStep,isActionable:s.isActionable,reason:s.reason}:{nextStep:null,isActionable:!1,reason:"No initial state rule found"}}if(t==="")return{nextStep:null,isActionable:!1,reason:"No transition rules defined for step with empty name"};let n=E$[t];if(!n)return{nextStep:null,isActionable:!1,reason:`No transition rules defined for step: ${t}`};let r=n.find(o=>o.condition(e));return r?{nextStep:r.nextStep,isActionable:r.isActionable,reason:r.reason}:{nextStep:null,isActionable:!1,reason:"No matching transition rule for current context"}}function P6(e,t){return e.steps.find(n=>n.name===t)}function sbe(e,t){let n=e.steps.findIndex(o=>o.name===t&&o.state==="pending");if(n===-1)throw new ne({...ye.VALIDATION_FAILED,recoverability:"FATAL",message:`Pending step "${t}" not found in result`});let r=e.steps[n];if(!r)throw new ne({...ye.VALIDATION_FAILED,recoverability:"FATAL",message:"Pending step is undefined"});return{step:r,index:n}}function u5(e){return P6(e,nn.burn)?.txHash}function ibe(e){let t=P6(e,nn.reAttest);return t?.state==="success"&&t.data?t.data:P6(e,nn.fetchAttestation)?.data}function d5(e,t){return e.status==="success"&&e.blockNumber?{state:"success"}:{state:"error",errorMessage:e.status==="reverted"?`Transaction ${t} was reverted`:"Transaction was not confirmed on-chain"}}function abe(e,t){return e.continuationStep===null||e.isActionable?!1:t.steps.find(r=>r.name===e.continuationStep&&r.state==="pending")!==void 0}function cbe(e,t){let n=t.indexOf(e.name);return n===-1||n>=t.length-1}async function ube(e,t,n){if(!e.txHash)throw new ne({...ye.VALIDATION_FAILED,recoverability:"FATAL",message:`Cannot wait for pending ${e.name}: no transaction hash available`});let r=e.txHash,o=await Y6(async()=>t.waitForTransaction(r,void 0,n),{isRetryable:i=>z6(Jy(i,{chain:n.name,txHash:r}))}),s=d5(o,r);return{...e,state:s.state,data:o,explorerUrl:Zs(n,r),...s.errorMessage?{errorMessage:s.errorMessage}:{}}}async function dbe(e,t,n,r,o,s){if(e.name===nn.fetchAttestation){let i=u5(o);if(!i)throw new ne({...ye.VALIDATION_FAILED,recoverability:"FATAL",message:"Cannot fetch attestation: burn transaction hash not found"});let a=o.source.address,c=await s.fetchAttestation({chain:o.source.chain,adapter:r.from,address:a},i);return{...e,state:"success",data:c}}return ube(e,t,n)}var lbe=125n,uV=async(e,t)=>{try{let r=(await e.estimate()).gas*lbe/100n;return Math.max(Number(r),t)}catch{return t}};async function l5({name:e,request:t,adapter:n,chain:r,confirmations:o=1,timeout:s,gasFloor:i}){let a={name:e,state:"pending"};try{if(t.type==="noop")return a.state="noop",a;let c=t.type==="evm"&&i!==void 0?await t.execute({gasLimit:await uV(t,i)}):await t.execute();a.txHash=c;let u={isRetryable:m=>z6(Jy(m,{chain:r.name,txHash:c}))};s!==void 0&&(u.deadlineMs=Date.now()+s);let d=await Y6(async()=>n.waitForTransaction(c,{confirmations:o,timeout:s},r),u),l=d5(d,c);a.state=l.state,a.data=d,a.explorerUrl=Zs(r,c),l.errorMessage&&(a.errorMessage=l.errorMessage,a.errorCategory="chain_revert")}catch(c){a.state="error",a.error=c,a.errorCategory="unknown",c instanceof Error?a.errorMessage=c.message:typeof c=="object"&&c!=null&&"message"in c?a.errorMessage=String(c.message):a.errorMessage=`Unknown error occurred during ${e} step.`}return a}var x$={timeout:2e3,maxRetries:600,retryDelay:2e3,headers:{"Content-Type":"application/json"}},tb=(e,t={})=>({...x$,...t,...e,headers:{...x$.headers,...t.headers,...e.headers}}),fbe=e=>typeof e=="object"&&e!==null&&"message"in e&&"eventNonce"in e&&"attestation"in e&&"decodedMessage"in e&&"cctpVersion"in e&&"status"in e&&typeof e.status=="string",pbe=e=>e.status==="complete",f5=e=>typeof e!="object"||e===null||!("messages"in e)||!Array.isArray(e.messages)?!1:e.messages.every(fbe),dV=e=>{if(!f5(e))throw new Error("Invalid attestation response structure");if(!e.messages.some(pbe))throw new Error("Attestation not ready");return!0},aE=(e,t,n)=>{let r=n?iE:sE,o=new URL(`${r}/v2/messages/${String(e)}`);return o.searchParams.set("transactionHash",t),o.toString()},mbe=async(e,t,n,r={})=>{let o=aE(e,t,n),s=tb(r);return await Ju(o,dV,s)},hbe=e=>{if(!f5(e))throw new Error("Invalid attestation response structure");return!0},ybe=async(e,t,n,r={})=>{let o=aE(e,t,n),s=tb(r,{maxRetries:3});return await Ju(o,hbe,s)},bbe=e=>{if(dV(e),e.messages[0]?.decodedMessage?.decodedMessageBody?.expirationBlock!=="0")throw new Error("Re-attestation not yet complete: waiting for expirationBlock to become 0");return!0},gbe=async(e,t,n,r={})=>{let o=aE(e,t,n),s=tb(r);return await Ju(o,bbe,s)},_be=(e,t)=>{let n=t?iE:sE;return new URL(`${n}/v2/reattest/${e}`).toString()},Abe=e=>{if(typeof e!="object"||e===null||!("message"in e)||!("nonce"in e)||typeof e.message!="string"||typeof e.nonce!="string")throw new Error("Invalid re-attestation response structure");return!0},Ebe=async(e,t,n={})=>{let r=_be(e,t),o=tb(n,{maxRetries:3});return await Ku(r,{},Abe,o)},xbe=e=>{if(!f5(e))throw new ne({...ye.VALIDATION_FAILED,recoverability:"FATAL",message:"Invalid attestation response structure from IRIS API."});let t=e.messages[0];if(!t)throw new ne({...ye.VALIDATION_FAILED,recoverability:"FATAL",message:"No attestation messages found in IRIS API response."});if(t.forwardState==="FAILED")throw new ne({...pr.RELAYER_FORWARD_FAILED,recoverability:"RESUMABLE",message:"Circle relayer failed to forward the mint transaction. The mint may still have succeeded if another party submitted it. Check the recipient wallet balance before retrying. If the mint did not occur, you can manually submit it using the attestation data in the error cause.",cause:{trace:{eventNonce:t.eventNonce,attestation:t.attestation,message:t.message}}});if((t.forwardState==="CONFIRMED"||t.forwardState==="COMPLETE")&&typeof t.forwardTxHash=="string"&&t.forwardTxHash.trim().length>0)return!0;throw new ne({...pr.RELAYER_PENDING,recoverability:"RETRYABLE",message:"Relayer mint not ready. Waiting for confirmation."})},wbe=async(e,t,n,r={})=>{let o=aE(e,t,n),s=tb(r),i;try{i=await Ju(o,xbe,s)}catch(c){throw c instanceof ne&&c.name==="NETWORK_RELAYER_FORWARD_FAILED"?new ne({...pr.RELAYER_FORWARD_FAILED,recoverability:c.recoverability,message:c.message,cause:{...c.cause,trace:{...c.cause?.trace,burnTxHash:t}}}):c}let a=i.messages[0];if(!a)throw new ne({...ye.VALIDATION_FAILED,recoverability:"FATAL",message:"No attestation messages found in response after polling."});return a},Tbe=Symbol("assertCCTPv2WalletContext");function Ec(e){eb(e,s5,"CCTPv2 wallet context",Tbe);let t=e;if(t.chain.usdcAddress===null)throw qu(t.chain.name,"Does not have USDC configured");if(!Ys(t.chain))throw qu(t.chain.name,"Does not support CCTPv2")}var Sbe=Symbol("assertCCTPv2BridgeParams");function PA(e){eb(e,C0e,"CCTPv2 bridge parameters",Sbe);let t=e;if(t.source.chain.isTestnet!==t.destination.chain.isTestnet)throw U6(t.source.chain,t.destination.chain);if(Rbe(t.source.chain,t.destination.chain),vbe(t.source.chain,t.destination.chain,t.destination.useForwarder),t.config?.customFee?.value!==void 0&&t.config?.customFee?.recipientAddress===void 0)throw se("recipientAddress",t.config.customFee.value,"Custom fee is defined but fee recipient is not. Please provide a fee recipient.");let n=t.destination.useForwarder===!0&&!("adapter"in t.destination&&t.destination.adapter);if(n&&!t.destination.recipientAddress?.trim())throw se("recipientAddress",t.destination.recipientAddress,"recipientAddress is required when using forwarder without a destination adapter.");Ec(t.source),t.source.adapter.validateChainSupport(t.source.chain),n||(Ec(t.destination),t.destination.adapter.validateChainSupport(t.destination.chain))}function Rbe(e,t){if(!Ys(e)||!Ys(t))throw ts(e.name,t.name)}function vbe(e,t,n){if(n===!0&&!t.cctp?.forwarderSupported.destination)throw new ne({...ye.UNSUPPORTED_ROUTE,recoverability:"FATAL",message:`Route from ${e.name} to ${t.name} with forwarder is not supported (destination chain does not support forwarding).`,cause:{trace:{source:e.name,destination:t.name}}})}function tf(e,t,n,r){t!==n&&r.push(`${e} mismatch: decoded=${String(t)}, params=${String(n)}`)}async function Ibe(e,t){let n=[],r=e.decodedMessage,o=r.decodedMessageBody,s=t.destination.recipientAddress??t.destination.address,i=await aV(t.destination.chain.type,s,t.destination.chain.usdcAddress),a;if(HA(t.source.chain,"bridge")?t.source.chain.type==="solana"?a=t.source.address:a=t.source.chain.kitContracts?.bridge:a=t.source.address,tf("sourceDomain",r.sourceDomain,t.source.chain.cctp.domain.toString(),n),tf("destinationDomain",r.destinationDomain,t.destination.chain.cctp.domain.toString(),n),tf("minFinalityThreshold",r.minFinalityThreshold,B6[t.config.transferSpeed??"FAST"].toString(),n),tf("sender",t.source.chain.type==="evm"?o.messageSender.toLowerCase():o.messageSender,t.source.chain.type==="evm"?a?.toLowerCase():a,n),tf("recipient",t.destination.chain.type==="evm"?o.mintRecipient.toLowerCase():o.mintRecipient,t.destination.chain.type==="evm"?i.toLowerCase():i,n),tf("amount",o.amount,t.amount.toString(),n),tf("burnToken",o.burnToken.toLowerCase(),t.source.chain.usdcAddress.toLowerCase(),n),n.length>0){let c="Attestation validation failed: received attestation does not match expected transfer parameters",u=n[0]??"";throw new ne({...ye.VALIDATION_FAILED,recoverability:"FATAL",message:`${c}: ${u}`,cause:{trace:{validationErrors:n}}})}}function Cbe(e){if(e===null||typeof e!="object"||Array.isArray(e))throw se("params",e,"Must be a non-null plain object");let t=e;Ec(t.source);let n=t.source,r=t.destinationChain;if(r==null||typeof r!="object")throw se("destinationChain",r,"Must be a chain definition object");if(!Ys(r))throw se("destinationChain",r,"destinationChain must support CCTP v2");let o=r;if(n.chain.isTestnet!==o.isTestnet)throw U6(n.chain,o);if(n.chain.name===o.name)throw ts(n.chain.name,o.name);let s=t.executor,i=t.mintRecipient,a=t.destinationCaller,c=typeof s=="string"&&s!=="",u=typeof i=="string"&&i!==""&&typeof a=="string"&&a!=="";if(!c&&!u)throw se("destination",void 0,"Provide executor, or both mintRecipient and destinationCaller");if(c&&u)throw se("destination",void 0,"Provide executor or direct destination fields, not both");let d=t.amount;if(typeof d!="bigint"&&typeof d!="string"||d==="")throw se("amount",d,"Must be a bigint or a numeric string");try{BigInt(d)}catch{throw se("amount",d,"Must be a valid integer value coercible to bigint")}let l=t.feeTotalAmount;if(typeof l!="bigint"&&typeof l!="string"||l==="")throw se("feeTotalAmount",l,"Must be a bigint or a numeric string");try{BigInt(l)}catch{throw se("feeTotalAmount",l,"Must be a valid integer value coercible to bigint")}if(!Ni.safeParse(t.feeToken).success)throw se("feeToken",t.feeToken,"Must be a valid EVM address (use the zero address for a native fee)");let m=t.claim;if(m===null||typeof m!="object"||Array.isArray(m))throw se("claim",m,"Must be an object with signedQuote and refundAddress");let p=m;if(!Yy.safeParse(p.signedQuote).success)throw se("claim.signedQuote",p.signedQuote,"Must be a valid hex string starting with 0x");if(!Ni.safeParse(p.refundAddress).success)throw se("claim.refundAddress",p.refundAddress,"Must be a valid EVM address");let g=t.hookData;if(g!==void 0&&g!==""&&!Yy.safeParse(g).success)throw se("hookData",g,"Must be a valid hex string starting with 0x")}async function Nbe({params:e,provider:t}){let n=BigInt(e.config?.customFee?.value??"0"),o=(BigInt(e.amount)+n).toString();return await l5({name:"approve",adapter:e.source.adapter,chain:e.source.chain,request:await t.approve(e.source,o),gasFloor:Number(cm.approve)})}async function Obe({params:e,provider:t}){return await l5({name:"burn",adapter:e.source.adapter,chain:e.source.chain,request:await t.burn(e),gasFloor:Number(cm.burn)})}async function kbe({params:e,provider:t},n){let r={name:"fetchAttestation",state:"pending"};try{let o=e.config?.transferSpeed===Sa.SLOW&&e.source.chain.cctp.contracts.v2.confirmations>20?{retryDelay:3e4}:void 0,s=await t.fetchAttestation(e.source,n,o);r={...r,state:"success",data:s}}catch(o){let s="Unknown attestation error";o instanceof Error?s=o.message:typeof o=="string"&&(s=o),r={...r,state:"error",error:o,errorMessage:s,data:void 0}}return r}async function Dbe({params:e,provider:t},n){await Ibe(n,e);let r=await t.mint(e.source,e.destination,n);return{...await l5({name:"mint",adapter:e.destination.adapter,chain:e.destination.chain,request:r,gasFloor:Number(cm.mint)}),forwarded:!1}}var Bbe={attestation:"0x8bd9b9e63eb05128eb2896b63e3e1df39bfd6bbfb893b69dc53c39252aeb85df1ded70263b07da17abf88e6e1b77f16ebcdb4eb1c6b4ea4c625215e5cb9dddb81bffe0b9d75e2094f05e48f18f70d0b254999bde90bab26f5c0da29b2d7e00feca1cfed119cba0d2a0e887648a40e803e0ca34aa8fd94ce068515eeaef72b520aa1b",message:"0x000000010000000000000006f446cb82eb486fef485c14c301eaab73aa35f87e3feda3547acf0f33cd4b40f30000000000000000000000008fe6b999dc680ccfdd5bf7eb0974218be2542daa0000000000000000000000008fe6b999dc680ccfdd5bf7eb0974218be2542daa0000000000000000000000000000000000000000000000000000000000000000000003e8000003e8000000010000000000000000000000001c7d4b196cb0c7b01d743fbc6116a902379c723800000000000000000000000023f9a5bea7b92a0638520607407bc7f0310aeed400000000000000000000000000000000000000000000000000000000000186a0000000000000000000000000c5567a5e3370d4dbfb0540025078e283e36a363d000000000000000000000000000000000000000000000000000000000000000b000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000001f6b158",eventNonce:"0xf446cb82eb486fef485c14c301eaab73aa35f87e3feda3547acf0f33cd4b40f3",cctpVersion:2,status:"complete",decodedMessage:{sourceDomain:"0",destinationDomain:"6",nonce:"0xf446cb82eb486fef485c14c301eaab73aa35f87e3feda3547acf0f33cd4b40f3",sender:"0x8fe6b999dc680ccfdd5bf7eb0974218be2542daa",recipient:"0x8fe6b999dc680ccfdd5bf7eb0974218be2542daa",destinationCaller:"0x0000000000000000000000000000000000000000000000000000000000000000",minFinalityThreshold:"1000",finalityThresholdExecuted:"1000",messageBody:"0x000000010000000000000000000000001c7d4b196cb0c7b01d743fbc6116a902379c723800000000000000000000000023f9a5bea7b92a0638520607407bc7f0310aeed400000000000000000000000000000000000000000000000000000000000186a0000000000000000000000000c5567a5e3370d4dbfb0540025078e283e36a363d000000000000000000000000000000000000000000000000000000000000000b000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000001f6b158",decodedMessageBody:{burnToken:"0x1c7d4b196cb0c7b01d743fbc6116a902379c7238",mintRecipient:"0x23f9a5bea7b92a0638520607407bc7f0310aeed4",amount:"100000",messageSender:"0xc5567a5e3370d4dbfb0540025078e283e36a363d",maxFee:"11",feeExecuted:"10",expirationBlock:"32944472",hookData:null}},delayReason:null};async function Pbe({params:e,provider:t},n){let r={name:"mint",state:"pending",forwarded:!0};if(!n?.burnTxHash)throw new ne({...ye.VALIDATION_FAILED,recoverability:"FATAL",message:"Burn transaction hash not available for relayer mint. Ensure the burn step completed successfully."});try{let s=(await t.fetchRelayerMint(e.source,n.burnTxHash)).forwardTxHash;if(!s)throw new ne({...ye.VALIDATION_FAILED,recoverability:"FATAL",message:"Relayer mint transaction hash not found in attestation response."});r.txHash=s,r.explorerUrl=Zs(e.destination.chain,s),r.state="success"}catch(o){r.state="error",r.error=o,r.errorMessage=ns(o)}return r}function p5(e=!1){return[{name:"approve",executor:async(t,n)=>Nbe({params:t,provider:n})},{name:"burn",executor:async(t,n)=>Obe({params:t,provider:n}),updateContext:t=>{if(!t.txHash)throw new ne({...ye.VALIDATION_FAILED,recoverability:"FATAL",message:"Burn step completed but no transaction hash was returned"});return{burnTxHash:t.txHash}}},{name:"fetchAttestation",executor:async(t,n,r)=>{if(!r?.burnTxHash)throw new ne({...ye.VALIDATION_FAILED,recoverability:"FATAL",message:"Burn transaction hash not available for attestation"});return kbe({params:t,provider:n},r.burnTxHash)},updateContext:t=>{if(!t.data)throw new ne({...ye.VALIDATION_FAILED,recoverability:"FATAL",message:"Attestation step completed but no data was returned"});return{attestationData:t.data}}},{name:"mint",executor:e?async(t,n,r)=>{if(!r)throw new ne({...ye.VALIDATION_FAILED,recoverability:"FATAL",message:"Step context is required for relayer mint"});return Pbe({params:t,provider:n},r)}:async(t,n,r)=>{if(!r?.attestationData)throw new ne({...ye.VALIDATION_FAILED,recoverability:"FATAL",message:"Attestation data not available for minting"});return Dbe({params:t,provider:n},r.attestationData)}}]}function mm(e,t,n){n.state="error",n.steps.push({name:e,state:"error",error:t,errorMessage:ns(t)})}async function Lbe(e){if(e.config?.batchTransactions===!1)return!1;let{chain:t}=e.source;if(t.type!=="evm")return!1;let n=e.source.adapter;if(typeof n.supportsAtomicBatch!="function"||typeof n.batchExecute!="function")return!1;try{return await n.supportsAtomicBatch(t)}catch{return!1}}async function Mbe(e,t){let n=e.source.adapter,r=e.source.chain;if(r.type!=="evm")throw new ne({...ye.INVALID_CHAIN,recoverability:"FATAL",message:"Batched execution is only supported on EVM chains."});let o=r,s=BigInt(e.config?.customFee?.value??"0"),a=(BigInt(e.amount)+s).toString(),[c,u]=await Promise.all([t.approve(e.source,a),t.burn(e)]);if(c.type!=="evm"||u.type!=="evm"||!c.getCallData||!u.getCallData)throw new ne({...ye.UNSUPPORTED_ACTION,recoverability:"FATAL",message:"Batched execution requires EVM prepared requests with getCallData() support."});let d=c.getCallData(),l=u.getCallData(),m=await n.batchExecute([d,l],o,{fromAddress:e.source.address}),p=m.receipts[0],g=m.receipts[1],E=await w$("approve",p,m.batchId,n,o,m.statusCode,m.error),x=await w$("burn",g,m.batchId,n,o,m.statusCode,m.error);x.state!=="error"&&!x.txHash&&(x.state="error",x.errorMessage="Batched burn step completed but no transaction hash was returned.",x.errorCategory="unknown");let S={burnTxHash:x.txHash??""};return{approveStep:E,burnStep:x,context:S}}function Fbe(e,t){return e===400?"failed_offchain":e===500?"reverted_onchain":e===600?"partial_reverted":t instanceof ne&&t.code===pr.TIMEOUT.code?"polling_timeout":"unknown"}function Ube(e){return e===400?"failed_offchain":e===600?"partial_reverted":e===500?"reverted_onchain":"chain_revert"}async function w$(e,t,n,r,o,s,i){let a={name:e,state:"pending",batched:!0,batchId:n};if(!t)return a.state="error",a.errorMessage=`No receipt returned for ${e} in batch ${n}.`,a.errorCategory=Fbe(s,i),i!==void 0&&(a.error=i),a;if(a.txHash=t.txHash,t.txHash&&(a.explorerUrl=Zs(o,t.txHash)),t.status!=="success")return a.state="error",a.errorMessage=`${e} call failed within batch ${n}.`,a.errorCategory=Ube(s),a;if(!t.txHash)return a.state="error",a.errorMessage=`${e} succeeded in batch but returned an empty transaction hash.`,a.errorCategory="unknown",a;try{let c=await Y6(async()=>r.waitForTransaction(t.txHash,{confirmations:1},o),{isRetryable:d=>z6(Jy(d,{chain:o.name,txHash:t.txHash}))}),u=d5(c,t.txHash);a.state=u.state,a.data=c,u.errorMessage&&(a.errorMessage=u.errorMessage,a.errorCategory="chain_revert")}catch(c){a.state="error",a.error=c,a.errorMessage=c instanceof Error?c.message:"Unknown error during confirmation.",a.errorCategory="unknown"}return a}var Hbe="1.14.1",lV={version:Hbe},$be={type:"provider",name:"CCTPV2BridgingProvider.bridge",version:lV.version};function zbe(e){let t={runtime:pz(),tokens:rz()};return hz(mz(e,t),$be)}async function Vbe(e,t,n,r){try{let{approveStep:o,burnStep:s,context:i}=await Mbe(e,t);for(let a of[o,s]){let c=a.name;if(a.state==="error"){fV(a.name,a),n.steps.push(a),n.state="error",Tc(c,a,t,r);return}Tc(c,a,t,r),n.steps.push(a)}return i}catch(o){n.state="error",n.steps.push({name:"batch",state:"error",batched:!0,error:o,errorMessage:o instanceof Error?o.message:"Batched approve + burn failed.",errorCategory:Gbe(o)});return}}function fV(e,t){!t.errorMessage&&t.error&&(t.errorMessage=`${e} step failed: ${ns(t.error)}`)}function jbe(e){if(typeof e=="number")return e;if(typeof e=="string")return Number.parseInt(e,10)}function Gbe(e){if(typeof e!="object"||e===null||!("message"in e))return"unknown";let t=jbe(e.code),n=String(e.message);return t===4001?"user_rejected":t===5700||t===5710||t===5750?"atomic_unsupported":t===5720?"duplicate_batch_id":t===5730?"unknown_bundle":t===5740?"batch_too_large":/EIP-7702 not supported/i.test(n)||/does not support the requested chain/i.test(n)||/rejected the upgrade/i.test(n)?"atomic_unsupported":/user rejected/i.test(n)?"user_rejected":"unknown"}async function Wbe(e,t){let n=e.destination.useForwarder===!0,r=zbe(e.invocationMeta),o={state:"pending",amount:e.amount,token:e.token,source:{address:e.source.address,chain:e.source.chain},destination:{address:e.destination.address,chain:e.destination.chain,...e.destination.recipientAddress&&{recipientAddress:e.destination.recipientAddress},...n&&{useForwarder:!0}},steps:[],config:e.config,provider:t.name},s,i=!1;try{i=await Lbe(e)}catch{}let a=p5(n);if(i){let u=await Vbe(e,t,o,r);if(o.state==="error")return o;s=u}let c=i?a.filter(({name:u})=>u!=="approve"&&u!=="burn"):a;for(let{name:u,executor:d,updateContext:l}of c)try{let m=await d(e,t,s);if(m.state==="error")return fV(u,m),o.steps.push(m),o.state="error",Tc(u,m,t,r),o;let p=l?.(m);p&&(s={...s,...p}),Tc(u,m,t,r),o.steps.push(m)}catch(m){return mm(u,m,o),o}return o.state="success",o}function qbe(e){return e===nn.approve||e===nn.burn}function Kbe(e,t,n){let r=qbe(e.name);return{adapter:r?t.from:t.to,chain:r?n.source.chain:n.destination.chain}}async function Ybe({params:e,provider:t},n){let r={name:"reAttest",state:"pending"};try{let o=await t.fetchAttestation(e.source,n);if(o.decodedMessage.decodedMessageBody.expirationBlock==="0")return{...r,state:"success",data:o};let i=await t.reAttest(e.source,n);return{...r,state:"success",data:i}}catch(o){let s="Unknown re-attestation error";return o instanceof Error?s=o.message:typeof o=="string"&&(s=o),{...r,state:"error",error:o,errorMessage:s,data:void 0}}}var Zbe={type:"provider",name:"CCTPV2BridgingProvider.retry",version:lV.version};function Xbe(e){let t={runtime:pz(),tokens:rz()};return hz(mz(e,t),Zbe)}function Jbe(e){return{burnTxHash:u5(e),attestationData:ibe(e)}}async function Qbe(e,t,n,r,o,s,i){let a=o?.burnTxHash??u5(s);if(a===void 0||a==="")return mm("mint",new Error("Cannot attempt re-attestation: Burn transaction hash not found in previous steps."),s),{success:!1};let c=await Ybe({params:e,provider:t},a);if(Tc("reAttest",c,t,i),s.steps.push(c),c.state==="error")return s.state="error",{success:!1};let u={...o,burnTxHash:a,attestationData:c.data};return tge(e,t,n,u,r,s,i)}async function ege(e,t,n,r){let{params:o,provider:s,executor:i,updateContext:a,stepContext:c,result:u,invocation:d}=n;if(!(e==="mint"&&!r&&cV(t)))return mm(e,t,u),{shouldContinue:!1};let m=await Qbe(o,s,i,a,c,u,d);return m.success?{shouldContinue:!0,stepContext:m.stepContext}:{shouldContinue:!1}}async function tge(e,t,n,r,o,s,i){try{let a=await n(e,t,r);if(a.state==="error")throw new Error(a.errorMessage??"mint step returned error state");return Tc("mint",a,t,i),s.steps.push(a),{success:!0,stepContext:o?.(a)}}catch(a){if(cV(a)){let c=$6(s.destination.chain.name,ns(a),{error:a});mm("mint",c,s)}else mm("mint",a,s);return{success:!1}}}async function nge(e,t,n,r,o,s,i){let a=Jbe(n);for(let{name:c,executor:u,updateContext:d}of o.slice(r))try{let l=await u(e,t,a);if(l.state==="error"){let p=l.errorMessage??`${c} step returned error state`;throw new Error(p)}let m=d?.(l);m&&(a={...a,...m}),Tc(c,l,t,i),n.steps.push(l)}catch(l){let m=await ege(c,l,{params:e,provider:t,executor:u,updateContext:d,stepContext:a,result:n,invocation:i},s);if(!m.shouldContinue)return!1;a=m.stepContext}return!0}async function pV(e,t,n,r){let o=nbe(e),s=Xbe(r);if(!o.isActionable){if(o.continuationStep===null&&e.state==="success")return e;if(abe(o,e))return rge(e,t,n,o,s);throw new Error("Retry not supported for this result, requires user action")}if(!Ys(e.source.chain))throw new Error(`Source chain ${e.source.chain.name} does not support CCTP v2`);if(!Ys(e.destination.chain))throw new Error(`Destination chain ${e.destination.chain.name} does not support CCTP v2`);let i={...e,source:{...e.source,adapter:t.from,chain:e.source.chain},destination:{...e.destination,adapter:t.to,chain:e.destination.chain},config:e.config??{},invocationMeta:s},a=e.destination.useForwarder===!0,c=p5(a),u=c.findIndex(l=>l.name===o.continuationStep);if(u===-1)throw new Error(`Continuation step ${o.continuationStep??""} not found`);return await nge(i,n,e,u,c,a,s)&&(e.state="success"),e}async function rge(e,t,n,r,o){if(r.continuationStep===null||r.continuationStep==="")throw new ne({...ye.VALIDATION_FAILED,recoverability:"FATAL",message:"No continuation step provided for pending state handling."});let{step:s,index:i}=sbe(e,r.continuationStep),{adapter:a,chain:c}=Kbe(s,t,e);try{let u=await dbe(s,a,c,t,e,n);if(e.steps[i]=u,Tc(s.name,u,n,o),u.state==="error")return e.state="error",e;let d=e.destination.useForwarder===!0,m=p5(d).map(p=>p.name);return cbe(s,m)?(e.state="success",e):await pV(e,t,n)}catch(u){if(vue(u))throw u;return mm(s.name,u,e),e}}var oge=X6({name:"provider-cctp-v2"});function L6(e){if(typeof e!="object"||e===null||Array.isArray(e))return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null}function T$(e,t){if(e!==void 0){if(!L6(e))throw se(t,e,`${t} must be a plain object with string header values when provided`);for(let[n,r]of Object.entries(e))if(typeof r!="string")throw se(`${t}.${n}`,r,"header values must be strings")}}function sge(e){if(!L6(e))throw se("config",e,"config must be a plain object when provided");T$(e.headers,"config.headers");let t=e.attestation;if(t!==void 0){if(!L6(t))throw se("config.attestation",t,"config.attestation must be a plain object when provided");T$(t.headers,"config.attestation.headers")}}var ige=Object.values(Qy).filter(e=>Ys(e)),um=class extends N6{name="CCTPV2BridgingProvider";supportedChains=ige;config;constructor(t={}){super(),sge(t),this.config=t}emitBridgeStep(t,n,r){Tc(t,n,this,r)}resolveAttestationConfig(t){let n={...this.config?.attestation?.headers,...this.config?.headers,...t?.headers};return{...this.config?.attestation,...t,...Object.keys(n).length>0?{headers:n}:{}}}async bridge(t){PA(t);let{source:n,amount:r,token:o}=t,s=this.extractOperationContext(n);return await dz({adapter:n.adapter,amount:r,token:o,tokenAddress:n.chain.usdcAddress,operationContext:s}),Wbe(t,this)}async retry(t,n,r){return pV(t,n,this,r)}async estimate(t){PA(t);let{source:n,destination:r,amount:o}=t,s=async(N,C,v,D)=>N.type!=="evm"?D===void 0?await N.estimate():await N.estimate(void 0,await v(D())):await v(BigInt(await uV(N,Number(C)))),i=N=>async C=>await N.adapter.calculateTransactionFee(C,void 0,N.chain),a=i(n),c=i(r),u=async()=>await s(await this.approve(n,o),cm.approve,a),d=async()=>await s(await this.burn(t),cm.burn,a,()=>HA(n.chain,"bridge")?Zye:Yye),l=r.useForwarder===!0,m=async()=>l?null:await s(await this.mint(n,r,Bbe),cm.mint,c,()=>Xye),[p,g,E,x]=await Promise.allSettled([u(),d(),m(),this.getMaxFee(t)]),S={token:t.token,amount:t.amount,source:{address:n.address,chain:n.chain.chain},destination:{address:r.address,chain:r.chain.chain,...r.recipientAddress&&{recipientAddress:r.recipientAddress}},gasFees:[],fees:[]};return this.addGasFeeEstimate(S,p,"Approve",n),this.addGasFeeEstimate(S,g,"Burn",n),l||this.addGasFeeEstimate(S,E,"Mint",r),this.addProviderFeeEstimate(S,x,l),this.addKitFeeEstimate(S,t.config?.customFee?.value),S}static async estimateDepositBurn(t){let{adapter:n,srcChain:r,dstChain:o,amountMinorUnits:s,refundAddress:i,signedQuote:a,feeToken:c,feeTotalAmount:u,resolvedContext:d,contracts:l}=t,{executor:m,depositForHandler:p}=l;if(o.usdcAddress===null)throw new ne({...Xy.INTERNAL_ERROR,recoverability:"FATAL",message:`Destination chain ${o.name} has no USDC address configured`});let{hookData:g}=A6({dappId:"gateway_deposit",destinationChain:o,handler:p,params:[o.usdcAddress,i,0n],recoveryAddress:Ky(i),config:{gateway_deposit:{...jA.gateway_deposit,deployments:[{domainId:o.cctp.domain}]}}}),E=_6(qy,g);l6(E);try{return await(await n.prepareAction("cctp.v2.depositForBurnWithFees",{fromChain:r,toChain:o,amount:s,mintRecipient:m,destinationCaller:m,claim:{signedQuote:a,refundAddress:i},feeToken:c,feeTotalAmount:u,hookData:E},d)).estimate(void 0)}catch(x){oge.debug("estimateDepositBurn: live eth_estimateGas failed, using static fallback",{err:x,chain:r.name});try{return await n.calculateTransactionFee(Jye,void 0,r)}catch(S){throw Gu(r.name,{rawError:S})}}}extractOperationContext(t){return{chain:t.chain,address:t.address}}addGasFeeEstimate(t,n,r,o){try{if(n.status==="fulfilled"){let s=Cn(n.value.fee,o.chain.nativeCurrency.decimals);t.gasFees.push({name:r,token:o.chain.nativeCurrency.symbol,blockchain:o.chain.chain,fees:{gas:n.value.gas,gasPrice:n.value.gasPrice,fee:s}})}else throw new Error(n.reason)}catch(s){t.gasFees.push({name:r,token:o.chain.nativeCurrency.symbol,blockchain:o.chain.chain,fees:null,error:s})}}addProviderFeeEstimate(t,n,r){try{if(n.status==="fulfilled"){let{providerFee:o,forwarderFee:s}=n.value;if(o>0n){let i=Cn(String(o),6);t.fees.push({type:"provider",token:"USDC",amount:i})}if(r&&s>0n){let i=Cn(String(s),6);t.fees.push({type:"forwarder",token:"USDC",amount:i})}}else throw new Error(n.reason)}catch(o){t.fees.push({type:"provider",token:"USDC",amount:null,error:o})}}addKitFeeEstimate(t,n){try{if(n&&BigInt(n)>0n){let r=Cn(n,6);t.fees.push({type:"kit",token:"USDC",amount:r})}}catch(r){t.fees.push({type:"kit",token:"USDC",amount:null,error:r})}}async approve(t,n){Ec(t);let{chain:r,adapter:o}=t,s=this.extractOperationContext(t),i;try{i=await jy(o,s)}catch(u){throw new Error(`Failed to resolve operation context: ${u instanceof Error?u.message:String(u)}`)}let a=zA(r,"tokenMessenger"),c={amount:BigInt(n),delegate:a,chain:i?.chain??r};return await o.prepareAction("usdc.increaseAllowance",c,i)}async mint(t,n,r){Ec(t),Ec(n);let o=this.extractOperationContext(n),s=n.recipientAddress??n.address,i={fromChain:t.chain,toChain:n.chain,message:r.message,attestation:r.attestation,eventNonce:r.eventNonce,destinationAddress:s};return await n.adapter.prepareAction("cctp.v2.receiveMessage",i,o)}async fetchAttestation(t,n,r){Ec(t);try{let o=this.resolveAttestationConfig(r),i=(await mbe(t.chain.cctp.domain,n,t.chain.isTestnet,o)).messages[0];if(!i)throw new Error("Failed to fetch attestation: No attestation found for the given transaction");return i}catch(o){let s=o instanceof Error?o:new Error(String(o));throw s.message.startsWith("Failed to fetch attestation")?s:new Error(`Failed to fetch attestation: ${s.message}`)}}async fetchRelayerMint(t,n,r){if(Ec(t),typeof n!="string"||n.trim()==="")throw se("transactionHash",n,"transactionHash must be a non-empty string");let o=this.resolveAttestationConfig(r);return await wbe(t.chain.cctp.domain,n,t.chain.isTestnet,o)}async reAttest(t,n,r){if(Ec(t),!n||typeof n!="string"||n.trim()==="")throw new Error("Failed to re-attest: Invalid transaction hash");try{let o=this.resolveAttestationConfig(r),i=(await ybe(t.chain.cctp.domain,n,t.chain.isTestnet,o)).messages[0]?.eventNonce;if(!i||typeof i!="string")throw new Error("Failed to re-attest: No nonce found for transaction");await Ebe(i,t.chain.isTestnet,o);let c=(await gbe(t.chain.cctp.domain,n,t.chain.isTestnet,o)).messages[0];if(!c)throw new Error("Failed to re-attest: No attestation found after re-attestation request");return c}catch(o){let s=o instanceof Error?o:new Error(String(o));throw s.message.startsWith("Failed to re-attest")?s:new Error(`Failed to re-attest: ${s.message}`)}}supportsRoute(t,n,r,o){return t.chain===n.chain||t.isTestnet!==n.isTestnet?!1:r==="USDC"&&Ys(t)&&Ys(n)?o?n.cctp.forwarderSupported.destination:!0:!1}async getMaxFee(t){PA(t);let{source:n,destination:r,amount:o,config:s}=t,i=s?.transferSpeed??Sa.FAST,a=r.useForwarder===!0;if(s?.maxFee!==void 0)return{providerFee:BigInt(s.maxFee),forwarderFee:0n};let c=B6[i];if(i===Sa.SLOW&&!a)return{providerFee:0n,forwarderFee:0n};if(i===Sa.SLOW&&a)return{providerFee:0n,forwarderFee:await A$(n.chain.cctp.domain,r.chain.cctp.domain,n.chain.isTestnet,c)};let[u,d]=await Promise.all([Lye(n.chain.cctp.domain,r.chain.cctp.domain,n.chain.isTestnet),a?A$(n.chain.cctp.domain,r.chain.cctp.domain,n.chain.isTestnet,c):Promise.resolve(0n)]),l=BigInt(o),m=(u*l+999999n)/1000000n;return{providerFee:m+m/10n,forwarderFee:d}}async burn(t){PA(t);let{source:n,destination:r,amount:o,config:s}=t,i=s?.transferSpeed??Sa.FAST,a=B6[i],c=r.recipientAddress??r.address,[u,d]=await Promise.all([this.getMaxFee(t),aV(r.chain.type,c,r.chain.usdcAddress)]),l=u.providerFee+u.forwarderFee,m={fromChain:n.chain,toChain:r.chain,amount:BigInt(o),mintRecipient:Rs(d,"bytes32"),maxFee:l,minFinalityThreshold:a},{recipientAddress:p,value:g}=t.config.customFee??{},E=g?BigInt(g):void 0,x=this.extractOperationContext(n),S;try{S=await jy(n.adapter,x)}catch(D){throw new Error(`Failed to resolve operation context: ${D instanceof Error?D.message:String(D)}`)}let N=HA(n.chain,"bridge"),v=r.useForwarder===!0?await Uye(r.chain.type,c):void 0;if(N){let D={...m,feeRecipient:p,protocolFee:E};return v?await n.adapter.prepareAction("cctp.v2.customBurnWithHook",{...D,hookData:v},S):await n.adapter.prepareAction("cctp.v2.customBurn",D,S)}return v?await n.adapter.prepareAction("cctp.v2.depositForBurnWithHook",{...m,hookData:v},S):await n.adapter.prepareAction("cctp.v2.depositForBurn",m,S)}static async prepareDepositForBurn(t){let{adapter:n,srcChain:r,dstChain:o,deposit:s,amountMinorUnits:i,refundAddress:a,signedQuote:c,feeToken:u,feeTotalAmount:d,resolvedContext:l}=t,m=o.gateway?.contracts?.v1?.genericExecutor,p=o.gateway?.contracts?.v1?.depositForHandler;if(!m||!p)throw ts(r.name,o.name);let g=jA[s.dappId];if(g===void 0)throw ts(r.name,o.name);let{hookData:E}=A6({dappId:s.dappId,destinationChain:o,handler:p,params:s.params,recoveryAddress:Ky(a),config:{[s.dappId]:{...g,deployments:[{domainId:o.cctp.domain}]}}}),x=_6(qy,E);return l6(x),n.prepareAction("cctp.v2.depositForBurnWithFees",{fromChain:r,toChain:o,amount:i,mintRecipient:m,destinationCaller:m,hookData:x,claim:{signedQuote:c,refundAddress:a},feeToken:u,feeTotalAmount:d},l)}async burnWithFees(t){Cbe(t);let{source:n,destinationChain:r,hookData:o,claim:s,feeToken:i}=t,a="executor"in t&&t.executor!==void 0,c=a?t.executor:t.mintRecipient,u=a?t.executor:t.destinationCaller,d=BigInt(t.amount),l=BigInt(t.feeTotalAmount);l6(o);let m=n.chain.usdcAddress,p=zye({feeToken:i,burnToken:m,amount:d,feeTotalAmount:l}),g=this.extractOperationContext(n),E;try{E=await jy(n.adapter,g)}catch(v){throw se("source.adapter",void 0,`Failed to resolve operation context: ${v instanceof Error?v.message:String(v)}`)}let x=E,S=zA(n.chain,"tokenMessengerWithFees"),N=await Promise.all(p.approvals.map(async v=>n.adapter.prepareAction("token.approve",{tokenAddress:v.token,delegate:S,amount:v.amount},x))),C=await n.adapter.prepareAction("cctp.v2.depositForBurnWithFees",{fromChain:n.chain,toChain:r,amount:d,mintRecipient:c,destinationCaller:u,hookData:o,claim:s,feeToken:i,feeTotalAmount:l},x);return{approvals:N,burn:C,feePayment:p}}async waitForTransaction(t,n,r,o){return t.waitForTransaction(n,o,r)}};function mV(e,t){return e.chain!==void 0&&e.chain===t.chain}function Ia(e,t,n){let r=e.providers.find(o=>o.getSupportedChains(t).some(i=>mV(i,n)));if(!r)throw qu(n.name,"No provider configured for chain");return r}function m5(e,t,n){if(n.length===0){let o=e.providers[0];if(!o)throw new ne({...ye.VALIDATION_FAILED,recoverability:"FATAL",message:"No providers configured. Add at least one provider to the UnifiedBalanceKit context."});return o}let r=e.providers.find(o=>{let s=o.getSupportedChains(t);return n.every(i=>s.some(a=>mV(a,i)))});if(!r){let o=n.map(s=>s.name).join(", ");throw qu(o,"No single provider covers all requested chains")}return r}function hV(e){let t=e[0];if(!t)return;let n=t.isTestnet?"testnet":"mainnet";for(let r=1;re.trim().toUpperCase()).pipe(h.enum(yV));function age(e){let{usdc:t}=e,n=je(e.amount,t.decimals),r=je(e.feeAmount,t.decimals),o=n+r,s=o>t.balance?{required:o,balance:t.balance,deficit:o-t.balance}:void 0;return{balanceOk:s===void 0,usdcRequired:o,balanceShortfall:s,allowanceOk:t.allowance>=o}}var bV=h.object({adapter:ff,chain:Rle,address:h.string().optional()}),gV=h.enum(["approve","permit","authorize"]),_V=h.object({from:bV.strict(),amount:h.string().min(1,"Required").pipe(va({allowZero:!1,regexMessage:Ks,attributeName:"amount",maxDecimals:6})(h.string())),token:mf.optional(),allowanceStrategy:gV.optional(),to:h.object({chain:wc}).strict().optional(),config:h.object({transferSpeed:h.enum(["FAST","STANDARD"]).optional()}).strict().optional(),quote:h.string().regex(/^0x([a-fA-F0-9]{2})+$/,"must be non-empty 0x hex").optional()}),cge=h.object({from:bV.strict(),amount:h.string().min(1,"Required").pipe(va({allowZero:!1,regexMessage:Ks,attributeName:"amount",maxDecimals:6})(h.string())),token:mf.optional(),to:h.object({chain:wc}).strict().optional(),config:h.object({transferSpeed:h.enum(["FAST","STANDARD"]).optional()}).strict().optional(),depositAccount:h.string().optional(),allowanceStrategy:gV.optional()}).strict(),uge=_V.omit({allowanceStrategy:!0}).extend({depositAccount:h.string().min(1,"Deposit account address is required")}).superRefine((e,t)=>{let n=G$(e),r=n?Cue(n):null;r==null&&t.addIssue({code:h.ZodIssueCode.custom,path:["from","chain"],message:"Chain could not be resolved from from context."})}),dge=Ile().filter($A),lge=dge.map(e=>e.name).join(", ");function h5(e){let{from:t,to:n,config:r,quote:o,allowanceStrategy:s}=e,i=r?.transferSpeed??"STANDARD";if(i==="FAST"&&s!==void 0)throw se("allowanceStrategy",s,"cannot be set for FAST cross-chain deposits");if(i==="FAST"){if(n===void 0)throw se("to",void 0,"required when transferSpeed is FAST and no default destination can be derived from from.chain");let a=gt(n.chain);if(!$A(a))throw se("to.chain",a.name,`must be a supported FAST-finality destination (${lge})`);let c=gt(t.chain);if(c.type!=="evm")throw se("from.chain",c.name,"FAST deposits require an EVM source chain");if($A(c))throw se("from.chain",c.name,"is a FAST-finality chain and cannot initiate FAST deposits");if(c.isTestnet!==a.isTestnet)throw se("to.chain",a.name,"must be on the same network (testnet or mainnet) as from.chain")}else{if(n!==void 0){let a=gt(n.chain).name;throw se("to",a,"must not be set when transferSpeed is STANDARD")}if(o!==void 0)throw se("quote",o,"must not be set when transferSpeed is STANDARD")}}function fge(e){let t=_V.safeParse(e);if(!t.success)throw Xu(t.error,e);let n=t.data;(n.to!==void 0||n.config?.transferSpeed==="FAST"||n.quote!==void 0)&&h5(n)}function pge(e){let t=cge.safeParse(e);if(!t.success)throw Xu(t.error,e);let n=t.data;if(h5(n),n.depositAccount!==void 0){let r=n.to?n.to.chain:n.from.chain;if(!ki(n.depositAccount,r)){let o=mo(r);throw Ca(n.depositAccount,String(o.name),o.expectedAddressFormat)}}}function mge(e){let t=uge.safeParse(e);if(!t.success)throw Xu(t.error,e);let n=t.data;(n.to!==void 0||n.config?.transferSpeed==="FAST"||n.quote!==void 0)&&h5(n);let r=n.to?n.to.chain:n.from.chain;if(!ki(n.depositAccount,r)){let o=mo(r);throw Ca(n.depositAccount,String(o.name),o.expectedAddressFormat)}}var S$={mainnet:M.Arc,testnet:M.Arc_Testnet};function hge(e){let{from:t,to:n,config:r}=e;return n!==void 0||r?.transferSpeed!=="FAST"?n:{chain:gt(t.chain).isTestnet?S$.testnet:S$.mainnet}}function dm(e){let t;try{t=hge(e)}catch{return e}return t===void 0||t===e.to?e:{...e,to:t}}async function AV(e){let t=gt(e.from.chain);e.from.adapter.validateChainSupport(t);let n=vs(e.token),o="depositAccount"in e&&e.depositAccount!==void 0?"approve":e.allowanceStrategy??"authorize",s=await nb(e.from,t);return{...e,token:n,allowanceStrategy:o,from:{...e.from,chain:t,address:s}}}var yge="07401252-f099-454b-a9c1-b2dd34ca668d";function KA(e){return Qv(e,yge)}var ju=6,bge="RelayFailed",gge="RelayPending";function YA(e,t){return{type:"gasFee",token:t.nativeCurrency.symbol,amount:Cn(e.fee,t.nativeCurrency.decimals)}}function EV(e,t){if(!Ale(e)||!$A(t)||!Na(t))throw ts(e.name,t.name);let{genericExecutor:n,depositForHandler:r}=t.gateway.contracts.v1;if(!n||!r)throw ts(e.name,t.name);return{executor:n,depositForHandler:r}}function xV(e,t,n,r){let{executor:o,depositForHandler:s}=r,i=jA.gateway_deposit;if(i===void 0)throw new ne({...Xy.INTERNAL_ERROR,message:"An internal error occurred",recoverability:"FATAL"});let{hookData:a}=A6({dappId:"gateway_deposit",destinationChain:e,handler:s,params:[e.usdcAddress.toLowerCase(),t.toLowerCase(),0n],recoveryAddress:Ky(n),config:{gateway_deposit:{...i,deployments:[{domainId:e.cctp.domain}]}}});return{hookData:_6(qy,a),destinationCaller:o}}async function wV(e,t,n,r,o,s){let i=xV(t,n,r,s);return Nye({sourceDomain:e.cctp.domain,destinationDomain:t.cctp.domain,amount:o.toString(),feeToken:e.usdcAddress,requests:[{type:"FORWARD",params:{hookData:i.hookData,destinationCaller:i.destinationCaller}},{type:"PRE_FINALITY"}],isTestnet:e.isTestnet})}async function _ge({quote:e,srcChain:t,dstChain:n,creditAccount:r,signerAddress:o,amountMinorUnits:s,contracts:i}){if(e!==void 0){let c=xV(n,r,o,i),u=Ky(i.executor),d=Ky(c.destinationCaller),l=await Oye({sourceDomain:t.cctp.domain,abiSignature:"depositForBurnWithHookAndFees(uint256,uint32,bytes32,address,bytes32,bytes,(bytes,address))",args:[s.toString(),n.cctp.domain.toString(),u,t.usdcAddress,d,c.hookData,[e,o]],isTestnet:t.isTestnet});if(!l.claimable){let{failedChecks:m}=l,p=m.find(g=>g==="EMPTY_HOOK_DATA"||g==="FORWARD_FEE_WITHOUT_HOOK"||g==="FORWARD_HOOK_WITHOUT_FEE");throw p!==void 0?new ne({...Xy.INTERNAL_ERROR,recoverability:"FATAL",message:`Fee quote rejected due to a hookData construction defect (${p}); this is an internal error \u2014 please contact support`}):m.includes("QUOTE_EXPIRED")?se("quote",{signedQuoteLength:e.length},"The fee quote has expired; call estimateDeposit again to obtain a fresh quote"):m.includes("NON_ZERO_NONCE")?se("quote",{signedQuoteLength:e.length},"The fee quote has already been used; call estimateDeposit again to obtain a valid quote"):m.includes("SOURCE_DOMAIN_MISMATCH")?se("quote",{signedQuoteLength:e.length},"The fee quote was issued for a different source chain; call estimateDeposit again to obtain a valid quote"):m.includes("SIGNATURE_INVALID")?se("quote",{signedQuoteLength:e.length},"The fee quote has an invalid signature; call estimateDeposit again to obtain a valid quote"):m.includes("QUOTE_ARGS_MISMATCH")?se("quote",{signedQuoteLength:e.length},"The fee quote arguments do not match the deposit parameters; call estimateDeposit again to obtain a valid quote"):se("quote",{signedQuoteLength:e.length},"The fee quote failed validation; call estimateDeposit again to obtain a valid quote")}if(l.feeToken.toLowerCase()!==t.usdcAddress.toLowerCase())throw se("quote",{signedQuoteLength:e.length},"The fee quote was issued with an unexpected fee token; call estimateDeposit again to obtain a valid quote");return{signedQuote:e,feeToken:l.feeToken,feeTotalAmount:l.feeTotalAmount}}let a=await wV(t,n,r,o,s,i);return{signedQuote:a.signedQuote,feeToken:a.feeToken,feeTotalAmount:a.feeTotalAmount}}async function TV(e,t,n){if(t.to===void 0)throw se("to",void 0,"to is required for fast cross-chain deposit");let r=Date.now(),o=gt(t.from.chain),s=gt(t.to.chain),i=EV(o,s),a=vs(t.token),c=je(t.amount,ju),u=await jy(t.from.adapter,{chain:o,...t.from.address!==void 0&&{address:t.from.address}}).catch(w=>{throw se("from",void 0,w instanceof Error?w.message:String(w))}),d=u.address,l=n??d,m=await _ge({quote:t.quote,srcChain:o,dstChain:s,creditAccount:l,signerAddress:d,amountMinorUnits:c,contracts:i}),p=await um.estimateDepositBurn({adapter:t.from.adapter,srcChain:o,dstChain:s,amountMinorUnits:c,refundAddress:d,signedQuote:m.signedQuote,feeToken:m.feeToken,feeTotalAmount:BigInt(m.feeTotalAmount),resolvedContext:u,contracts:i}),g=[YA(p,o),{type:"forwarder",token:"USDC",amount:Cn(m.feeTotalAmount,ju)}],E=zA(o,"tokenMessengerWithFees"),[x,S]=await Promise.all([t.from.adapter.prepareAction("usdc.balanceOf",{walletAddress:d},u),t.from.adapter.prepareAction("usdc.allowance",{walletAddress:d,delegate:E},u)]),[N,C]=await Promise.all([x.execute(),S.execute()]),v=age({amount:t.amount,feeAmount:Cn(m.feeTotalAmount,ju),usdc:{decimals:ju,balance:BigInt(String(N)),allowance:BigInt(String(C))}});if(!v.balanceOk){let{balanceShortfall:w}=v;throw se("preflight",void 0,w?`Insufficient USDC balance: need ${Cn(String(w.required),ju)} USDC, have ${Cn(String(w.balance),ju)} USDC`:"Preflight check failed")}let D={adapter:t.from.adapter,chain:o,address:d},F=await um.prepareDepositForBurn({adapter:t.from.adapter,srcChain:o,dstChain:s,deposit:{dappId:"gateway_deposit",params:[s.usdcAddress.toLowerCase(),l.toLowerCase(),0n]},amountMinorUnits:c,refundAddress:d,signedQuote:m.signedQuote,feeToken:m.feeToken,feeTotalAmount:BigInt(m.feeTotalAmount),resolvedContext:u});if(F.type!=="evm")throw se("adapter",void 0,"FAST deposits require an EVM adapter");if(!v.allowanceOk){let f=await(await t.from.adapter.prepareAction("usdc.approve",{amount:v.usdcRequired,delegate:E},u)).execute(),y=await t.from.adapter.waitForTransaction(f,{timeout:6e4},o);if(y.status==="reverted")throw MA(o.name,"USDC approve reverted",void 0,f);let{gasUsed:A,effectiveGasPrice:T}=y;A!==void 0&&T!==void 0&&(g[0]=YA({...p,fee:(BigInt(p.fee)+A*T).toString()},o))}let U=await F.execute(),V;try{V=Zs(o,U)}catch{}let $={amount:t.amount,token:a,depositedTo:l,depositedBy:d,chain:s.chain,txHash:U,...V!==void 0&&{explorerUrl:V},sourceChain:o.chain,destinationChain:s.chain,fees:g},z,W;try{let f=await new um().fetchRelayerMint(D,U,{maxRetries:30,retryDelay:2e3}),y=typeof f.forwardTxHash=="string"&&f.forwardTxHash.trim().length>0?f.forwardTxHash:void 0,A;if(y!==void 0)try{A=Zs(s,y)}catch{}z={...$,...y!==void 0&&{txHash:y},...A!==void 0&&{explorerUrl:A},progress:{status:"DONE"}}}catch(w){w instanceof ne&&w.code===pr.RELAYER_FORWARD_FAILED.code?(z={...$,progress:{status:"FAILED"}},W=bge):(z={...$,progress:{status:"PENDING"}},W=gge)}let X=e.analyticsConfig;if(X&&!X.disabled)try{eE({sdkName:X.sdkName,sdkVersion:X.sdkVersion,eventType:un.FAST_DEPOSIT,timestamp:new Date().toISOString(),sourceChain:o.chain,destinationChain:s.chain,tokenIn:a,amountIn:Number.parseFloat(t.amount),sourceAddress:d,...t.quote!==void 0&&{correlationId:KA(m.signedQuote)},txHash:z.txHash,durationMs:Date.now()-r,...W!==void 0&&{errorDetails:{errorType:W}},clientContext:tE()})}catch(w){Z6(un.FAST_DEPOSIT,w)}return z}async function R$(e,t){let n=dm(t);if(fge(n),n.to!==void 0)return TV(e,n);let r=await AV(n),o=r.from.chain;if(!Na(o))throw ts(o.name,o.name);return Ia(e,r.token,o).deposit(r)}async function v$(e,t){let n=dm(t);if(mge(n),n.to!==void 0)return TV(e,n,n.depositAccount);let r=await AV(n),o=r.from.chain;if(!Na(o))throw ts(o.name,o.name);return Ia(e,r.token,o).depositFor(r)}async function Age(e,t){let n=gt(t.from.chain),r=vs(t.token),o=t.config?.transferSpeed??"STANDARD",s=je(t.amount,ju),i=await jy(t.from.adapter,{chain:n,...t.from.address!==void 0&&{address:t.from.address}}).catch(p=>{throw se("from",void 0,p instanceof Error?p.message:String(p))}),a=[],c,u,d;if(o==="STANDARD"){if(!Na(n))throw ts(n.name,n.name);let p=await fme({adapter:t.from.adapter,srcChain:n,amountMinorUnits:s,resolvedContext:i}),g=p.fee;if((t.depositAccount!==void 0||t.allowanceStrategy==="approve")&&n.type==="evm")try{let x=await(await t.from.adapter.prepareAction("usdc.increaseAllowance",{amount:s,delegate:n.gateway.contracts.v1.wallet,chain:n},i)).estimate(void 0);g=(BigInt(x.fee)+BigInt(p.fee)).toString()}catch(E){throw Gu(n.name,{rawError:E})}a.push(YA({...p,fee:g},n))}else{let{to:p}=t;if(p===void 0)throw se("to",void 0,"required for FAST transfers");let g=gt(p.chain);if(!Ys(n)||!Ys(g))throw ts(n.name,g.name);let E=EV(n,g),x=t.depositAccount??i.address,S=await wV(n,g,x,i.address,s,E),N=zA(n,"tokenMessengerWithFees"),C=s+BigInt(S.feeTotalAmount),[v,D]=await Promise.all([um.estimateDepositBurn({adapter:t.from.adapter,srcChain:n,dstChain:g,amountMinorUnits:s,refundAddress:i.address,signedQuote:S.signedQuote,feeToken:S.feeToken,feeTotalAmount:BigInt(S.feeTotalAmount),resolvedContext:i,contracts:E}),(async()=>{try{let V=await t.from.adapter.prepareAction("usdc.allowance",{walletAddress:i.address,delegate:N},i);return BigInt(String(await V.execute()))}catch(V){throw Gu(n.name,{rawError:V})}})()]),F=v.fee;if(D{let n=!!e.config?.retry,r=e.to.useForwarder===!0&&!("adapter"in e.to);if(!n&&!r&&!e.from){t.addIssue({code:h.ZodIssueCode.custom,path:["from"],message:"Source (from) is required unless config.retry is provided or destination is forwarder-only (useForwarder: true with no adapter)."});return}let o=Cge(e.from);if(o.length>0){let i=o.filter(O$),a=i.length>0,c=i.length===o.length;if(a&&!c){t.addIssue({code:h.ZodIssueCode.custom,path:["from"],message:"All sources must include allocations or none. Mixing sources with and without allocations is not allowed."});return}}if(o.length>0&&o.every(O$)){let i=Nge(o),a=je(e.amount,Wu.decimals);i!==a&&t.addIssue({code:h.ZodIssueCode.custom,path:["amount"],message:`Sum of allocations does not match amount. allocations total = ${i.toString()}, amount = ${a.toString()} (in atomic units).`})}});function k$(e){if(typeof e=="string")try{return Rs(e,"bytes32").toLowerCase()}catch{return e}}function kge(e){if(e==null||typeof e!="object")return;let t=e.from;if(!Array.isArray(t)||t.length<2)return;let n=new Map;for(let r of t){if(r==null||typeof r!="object")continue;let o=r,s=o.adapter;if(s==null)continue;let i=k$(o.sourceAccount)??k$(o.address),a=n.get(s);if(a==null&&(a=new Set,n.set(s,a)),a.has(i))throw new ne({...ye.VALIDATION_FAILED,recoverability:"FATAL",message:"Duplicate spend source detected in from array. The same adapter and Gateway source account are reused more than once."});a.add(i)}}function Dge(e){let t=Array.isArray(e)?e:[e];for(let n of t){if(n==null||typeof n!="object")continue;let r=n,o=r.adapter?.capabilities?.addressContext;if(o==="developer-controlled"&&(typeof r.address!="string"||r.address===""))throw se("address",r.address,"Address is required for developer-controlled adapters.");if(o==="user-controlled"&&r.address!==void 0)throw se("address",r.address,"Address should not be provided for user-controlled adapters. The address is automatically resolved from the connected wallet.")}}function SV(e){kge(e),e!=null&&typeof e=="object"&&"from"in e&&Dge(e.from);let t=Oge.safeParse(e);if(!t.success)throw Xu(t.error,e);let n=t.data;if(n.to.recipientAddress!==void 0&&n.to.recipientAddress!==""){let r=n.to.chain;if(!ki(n.to.recipientAddress,r)){let o=mo(r);throw Ca(n.to.recipientAddress,String(o.name),o.expectedAddressFormat)}}n.from!==void 0&&Pge(n.from)}function Bge(e){if(e==null)return;let t=e;return(Array.isArray(t)?t[0]:t)?.chain}function Pge(e){let t=Array.isArray(e)?e:[e];for(let n of t){if(n===null||typeof n!="object"||!("sourceAccount"in n))continue;let r=n;if(r.sourceAccount===void 0||r.sourceAccount==="")continue;let o=Bge(r.allocations);if(o!==void 0&&!ki(r.sourceAccount,o)){let s=mo(o);throw Ca(r.sourceAccount,String(s.name),s.expectedAddressFormat)}}}function RV(e){let t=e.from.flatMap(n=>n.allocations.map(r=>r.chain));t.push(e.to.chain),hV(t)}function vV(e){let t=e.config?.customFee?.value;if(t==null)return;let n;try{n=je(t,Wu.decimals)}catch(o){throw new ne({...ye.VALIDATION_FAILED,recoverability:"FATAL",message:`Invalid developer fee value: "${t}"`,cause:{trace:{rawError:o,feeValue:t}}})}let r=0n;for(let o of e.from)for(let s of o.allocations)try{r+=je(s.amount,Wu.decimals)}catch(i){throw new ne({...ye.VALIDATION_FAILED,recoverability:"FATAL",message:`Invalid allocation amount: "${s.amount}"`,cause:{trace:{rawError:i,amount:s.amount}}})}if(n>=r)throw new ne({...ye.VALIDATION_FAILED,recoverability:"FATAL",message:`Developer fee (${t}) must be less than the total spend amount. The fee is deducted from the source allocations.`,cause:{trace:{developerFee:t,totalAllocation:Cn(r.toString(),Wu.decimals)}}})}function y5(e){return e.useForwarder===!0&&!("adapter"in e)&&"recipientAddress"in e}function IV(e,t,n){return n===void 0?{adapter:e,chain:t}:{adapter:e,chain:t,address:n}}function CV(e,t,n){if(e?.addressContext==="developer-controlled"&&(t==null||t===""))throw se("address",t??void 0,"Address is required for developer-controlled adapters. "+n)}function Lge(e){return Array.isArray(e)?e:e?[e]:[]}async function Mge(e){if(e.allocations==null){let c={adapter:e.adapter,allocations:[]};return e.sourceAccount!==void 0&&(c.sourceAccount=e.sourceAccount),c}let n=(Array.isArray(e.allocations)?e.allocations:[e.allocations]).map(c=>{let u=gt(c.chain);return e.adapter.validateChainSupport(u),{amount:c.amount,chain:u}}),r="address"in e?e.address:void 0;CV(e.adapter.capabilities,r,'Please provide: { adapter, allocations, address: "0x..." }');let o=n[0]?.chain,s;if(o){let c=IV(e.adapter,o,r);s=await nb(c,o)}let i={adapter:e.adapter,allocations:n},a=e.adapter.capabilities?.addressContext==="developer-controlled";return s!==void 0&&a&&(i.address=s),e.sourceAccount!==void 0&&(i.sourceAccount=e.sourceAccount),i}async function Fge(e,t){let n={chain:t};if(e.to.recipientAddress!=null&&(n.recipientAddress=e.to.recipientAddress),e.to.useForwarder===!0&&(n.useForwarder=!0),y5(e.to))return n;n.adapter=e.to.adapter;let r="address"in e.to?e.to.address:void 0;CV(e.to.adapter.capabilities,r,'Please provide: { adapter, chain, address: "0x..." }');let o=IV(e.to.adapter,t,r),s=await nb(o,t),i=e.to.adapter.capabilities?.addressContext==="developer-controlled";return s!==void 0&&i&&(n.address=s),n}async function NV(e){let t=vs(e.token),n=gt(e.to.chain);y5(e.to)||e.to.adapter.validateChainSupport(n);let r=Lge(e.from),o=[];for(let a of r)o.push(await Mge(a));let s=await Fge(e,n),i={from:o,to:s,token:t};return e.config!=null&&(i.config=e.config),i}function OV(e){if(!e)return!1;let t=Array.isArray(e)?e:[e];return t.length===0?!1:t.every(n=>n.allocations!=null)}function Uge(e,t){let n;return y5(e.to)?n={chain:t,recipientAddress:e.to.recipientAddress,useForwarder:!0}:n={adapter:e.to.adapter,chain:t,...e.to.recipientAddress!=null&&{recipientAddress:e.to.recipientAddress},...e.to.useForwarder===!0&&{useForwarder:!0}},{to:n,token:vs(e.token),config:e.config}}function b5(e){let t=[];for(let n of e.from)for(let r of n.allocations)t.push(r.chain);return t}function kV(e){return{from:e.from,to:e.to,token:vs(e.token),amountIn:e.amount,config:e.config}}var D$=new WeakMap;async function B$(e,t,n){let r=await e(t,n);if(!ki(r,t))throw new ne({...ye.VALIDATION_FAILED,recoverability:"FATAL",message:`resolveFeeRecipientAddress returned an invalid address "${r}" for chain type "${t.type}" (resolved destination: ${t.name}).`});return r}async function DV(e,t,n,r){if(n){let o=e.type,s=n[o];if(s)return s;if(t.resolveFeeRecipientAddress){let i=D$.get(t);return i?.has(o)||(D$.set(t,(i??new Set).add(o)),console.warn(`setFeeRecipients() is configured but has no entry for chain type "${o}" \u2014 falling back to customFeePolicy.resolveFeeRecipientAddress for this chain type. Add a "${o}" entry to setFeeRecipients() to avoid this fallback.`)),B$(t.resolveFeeRecipientAddress,e,r)}throw new ne({...ye.VALIDATION_FAILED,recoverability:"FATAL",message:`No fee recipient configured for chain type "${o}" (resolved destination: ${e.name}). Call setFeeRecipients() with an entry for "${o}", or provide resolveFeeRecipientAddress on the custom fee policy.`})}if(!t.resolveFeeRecipientAddress)throw new ne({...ye.VALIDATION_FAILED,recoverability:"FATAL",message:"No fee recipient configured \u2014 call setFeeRecipients() or provide resolveFeeRecipientAddress on the custom fee policy."});return B$(t.resolveFeeRecipientAddress,e,r)}function BV(e){if(e)throw new ne({...ye.VALIDATION_FAILED,recoverability:"FATAL",message:"setFeeRecipients() is configured but no developer fee will be charged: setCustomFeePolicy() must also be set to provide computeFee, which determines the fee amount. Call setCustomFeePolicy(), or remove setFeeRecipients() if no developer fee is intended."})}async function PV(e,t,n){if(e.config?.customFee)return e;if(!t)return BV(n),e;let r=gt(e.to.chain),o=await DV(r,t,n,e),s=await t.computeFee(e);return{...e,config:{...e.config,customFee:{value:s,recipientAddress:o}}}}function LV(e){let t=e.config?.customFee?.value;if(t==null)return;let n=je(t,Wu.decimals),r=je(e.amount,Wu.decimals);if(n>=r)throw new ne({...ye.VALIDATION_FAILED,recoverability:"FATAL",message:`Developer fee (${t}) must be less than the total spend amount (${e.amount}). The fee is deducted from the source allocations.`})}async function MV(e,t,n){if(e.config?.customFee)return e;if(!t)return BV(n),e;if(b5(e).length===0)return e;let r=await DV(e.to.chain,t,n,e),o=await t.computeFee(e);return{...e,config:{...e.config,customFee:{value:o,recipientAddress:r}}}}async function Hge(e,t,n){SV(t);let r=async(d,l)=>n?d.spend(l,{onBroadcast:n}):d.spend(l);if(!!t.config?.retry){let d=gt(t.to.chain),l=Ia(e,vs(t.token),d);return r(l,Uge(t,d))}let s=gt(t.to.chain);if(!OV(t.from)){let d=await PV(t,e.customFeePolicy,e.feeRecipients);LV(d);let l=Ia(e,vs(d.token),s);return r(l,kV(d))}let i=await NV(t);RV(i);let a=await MV(i,e.customFeePolicy,e.feeRecipients);vV(a);let c=b5(a);if(c.length===0)throw new ne({...ye.VALIDATION_FAILED,recoverability:"FATAL",message:"No source chain found in spend parameters."});let u=m5(e,a.token,[...c,a.to.chain]);return r(u,a)}async function $ge(e,t){SV(t);let n=gt(t.to.chain);if(!OV(t.from)){let a=await PV(t,e.customFeePolicy,e.feeRecipients);return LV(a),Ia(e,vs(a.token),n).estimateSpend(kV(a))}let r=await NV(t);RV(r);let o=await MV(r,e.customFeePolicy,e.feeRecipients);vV(o);let s=b5(o);if(s.length===0)throw new ne({...ye.VALIDATION_FAILED,recoverability:"FATAL",message:"No source chain found in spend parameters."});return m5(e,o.token,[...s,o.to.chain]).estimateSpend(o)}var zge=h.union([wc,h.array(wc).min(1)]),P$=h.object({adapter:ff.optional(),address:h.string().min(1,"Address cannot be empty.").optional(),chains:zge.optional()}).strict().superRefine((e,t)=>{e.adapter==null&&e.address==null&&t.addIssue({code:h.ZodIssueCode.custom,message:"At least one of `adapter` or `address` must be provided in a balance source."})}),Vge=h.union([P$,h.array(P$).min(1)]),jge=h.object({token:mf.optional(),sources:Vge,includePending:h.boolean().optional(),networkType:h.enum(["mainnet","testnet"]).optional()}).strict();function Gge(e){let t=jge.safeParse(e);if(!t.success)throw Xu(t.error,e)}function Wge(e){let t=e.chains,n=Array.isArray(t)?t[0]:t;if(n)return gt(n);if(e.adapter?.capabilities?.supportedChains?.[0])return e.adapter.capabilities.supportedChains[0]}function L$(e){let t=e.adapter?.capabilities?.addressContext==="developer-controlled",n=e.address;if(t&&(n==null||n===""))throw se("address",n??void 0,'Address is required for developer-controlled adapters. Please provide: { adapter, chains, address: "0x..." }');if(!t&&n!=null)throw se("address",n,"Address should not be provided for user-controlled adapters. The address is automatically resolved from the connected wallet");if(t&&n!=null){let r=Wge(e);if(r&&!ki(n,r))throw Ca(n,r.name,"valid address for this chain");return{...e,address:n}}return e}function qge(e){return{sources:Kge(e.sources),token:vs(e.token),includePending:e.includePending??!1,networkType:e.networkType??"mainnet"}}function Kge(e){return Array.isArray(e)?e.map(t=>t.adapter!=null?L$(t):t):e.adapter!=null?L$(e):e}function Yge(e){let t=Array.isArray(e)?e:[e],n=new Set,r=[];for(let o of t){if(!o.chains)continue;let s=Array.isArray(o.chains)?o.chains:[o.chains];for(let i of s){let a=gt(i);n.has(a.chain)||(n.add(a.chain),r.push(a))}}return r}async function Zge(e,t){Gge(t);let n=qge(t),r=Yge(n.sources);return hV(r),m5(e,n.token,r).getBalances(n)}function g5(e,t){let n=t.safeParse(e);if(!n.success)throw Xu(n.error,e);Xge(n.data)}function Xge(e){if(!e||typeof e!="object")return;let t=e;if(!(!t.delegateAddress||!t.from?.chain)&&!ki(t.delegateAddress,t.from.chain)){let n=mo(t.from.chain);throw Ca(t.delegateAddress,String(n.name),n.expectedAddressFormat)}}var Jge=h.object({adapter:ff,chain:wc,address:h.string().optional()}),Qge=h.object({from:Jge.strict(),delegateAddress:h.string({required_error:"Delegate address is required.",invalid_type_error:"Delegate address must be a string."}).min(1,"Delegate address cannot be empty."),token:mf.optional()}).strict(),FV=Qge,UV=FV,e_e=FV;async function _5(e){let t=gt(e.from.chain);e.from.adapter.validateChainSupport(t);let n=t.type==="evm"?e.delegateAddress.toLowerCase():e.delegateAddress,r=await nb(e.from,t);return{from:{...e.from,chain:t,address:r},delegateAddress:n,token:vs(e.token)}}async function t_e(e,t){g5(t,UV);let n=await _5(t);return Ia(e,n.token,n.from.chain).addDelegate(n)}async function n_e(e,t){g5(t,UV);let n=await _5(t);return Ia(e,n.token,n.from.chain).removeDelegate(n)}async function r_e(e,t){g5(t,e_e);let n=await _5(t);return Ia(e,n.token,n.from.chain).getDelegateStatus(n)}async function HV(e){let t=vs(e.token),n=gt(e.from.chain);e.from.adapter.validateChainSupport(n);let r=await nb(e.from,n),o={from:{...e.from,chain:n,address:r},token:t};return"amount"in e?{...o,amount:e.amount}:o}var $V=h.object({adapter:ff,chain:wc,address:h.string().optional()}),o_e=h.object({from:$V.strict(),token:mf.optional()}).strict(),s_e=h.object({from:$V.strict(),amount:h.string().pipe(va({allowZero:!1,regexMessage:Ks,attributeName:"amount",maxDecimals:6})(h.string())),token:mf.optional()}).strict();function i_e(e){let t=s_e.safeParse(e);if(!t.success)throw Xu(t.error,e)}function a_e(e){let t=o_e.safeParse(e);if(!t.success)throw Xu(t.error,e)}async function c_e(e,t){i_e(t);let n=await HV(t);return Ia(e,n.token,n.from.chain).initiateRemoveFund(n)}async function u_e(e,t){a_e(t);let n=await HV(t),r=n.from.chain;return Ia(e,n.token,r).removeFund(n)}function d_e(e,t,n){let r=t===void 0?void 0:vs(t);if(e.providers.length===0||r!==void 0&&!yV.includes(r))return[];let o=e.providers.flatMap(i=>i.getSupportedChains(r)),s=o;if(n?.forwarderSupported){let i=n.forwarderSupported;s=o.filter(a=>a.gateway?.forwarderSupported[i]===!0)}return Object.values(Object.fromEntries(s.map(i=>[i.chain,i])))}var f6=Cfe(sm.name);function p6(e){return e.to!==void 0&&e.config?.transferSpeed==="FAST"}var M6=class e{context;actionDispatcher;disableErrorReporting;telemetryConfig;constructor(t={}){this.context=eye(t),this.actionDispatcher=new b6,this.disableErrorReporting=t.disableErrorReporting===!0,this.telemetryConfig={sdkName:f6,sdkVersion:sm.version,disabled:this.disableErrorReporting};for(let n of this.context.providers)n.registerDispatcher(this.actionDispatcher);this.context.analyticsConfig={sdkName:f6,sdkVersion:sm.version,disabled:t.disableAnalytics===!0},t.disableAnalytics||Ufe(this.actionDispatcher,f6,sm.version)}static extractSpendSourceChains(t){if(t==null||typeof t!="object"||!("from"in t))return;let n=t.from,r=Array.isArray(n)?n:[n],o=[];for(let s of r){let i=s?.allocations,a;i==null?a=[]:a=Array.isArray(i)?i:[i];for(let c of a){let u=Br(c.chain);u!=null&&o.push(u)}}return o.length>0?o.join(","):void 0}on(t,n){this.actionDispatcher.on(t,n)}off(t,n){this.actionDispatcher.off(t,n)}async deposit(t){let n=dm(t);return p6(n)?es(async()=>R$(this.context,n),un.FAST_DEPOSIT,this.telemetryConfig,{sourceChain:Br(n.from?.chain),destinationChain:Br(n.to?.chain),tokenIn:n.token??"USDC",amountIn:Number.parseFloat(n.amount),...n.quote!==void 0&&{correlationId:KA(n.quote)}}):es(async()=>R$(this.context,n),un.DEPOSIT,this.telemetryConfig,{sourceChain:Br(n.from?.chain),tokenIn:n.token??"USDC",amountIn:Number.parseFloat(n.amount)})}async depositFor(t){let n=dm(t);return p6(n)?es(async()=>v$(this.context,n),un.FAST_DEPOSIT,this.telemetryConfig,{sourceChain:Br(n.from?.chain),destinationChain:Br(n.to?.chain),tokenIn:n.token??"USDC",amountIn:Number.parseFloat(n.amount),...n.quote!==void 0&&{correlationId:KA(n.quote)}}):es(async()=>v$(this.context,n),un.DEPOSIT_FOR,this.telemetryConfig,{sourceChain:Br(n.from?.chain),tokenIn:n.token??"USDC",amountIn:Number.parseFloat(n.amount)})}async estimateDeposit(t){let n=dm(t);return p6(n)?es(async()=>I$(this.context,n),un.ESTIMATE_FAST_DEPOSIT,this.telemetryConfig,{sourceChain:Br(n.from?.chain),destinationChain:Br(n.to?.chain),tokenIn:n.token??"USDC",amountIn:Number.parseFloat(n.amount)}):es(async()=>I$(this.context,n),un.ESTIMATE_DEPOSIT,this.telemetryConfig,{sourceChain:Br(n.from?.chain),tokenIn:n.token??"USDC",amountIn:Number.parseFloat(n.amount)})}async spend(t){let n="to"in t?Br(t.to.chain):void 0,r="token"in t?t.token??"USDC":"USDC",o;return es(async()=>Hge(this.context,t,s=>{o=s}),un.SPEND,this.telemetryConfig,()=>({sourceChain:e.extractSpendSourceChains(t),...n!=null&&{destinationChain:n},tokenIn:r,...o!=null&&{txHash:o}}))}async estimateSpend(t){let n="to"in t?Br(t.to.chain):void 0,r=e.extractSpendSourceChains(t);return es(async()=>$ge(this.context,t),un.ESTIMATE_SPEND,this.telemetryConfig,{...r!=null&&{sourceChain:r},...n!=null&&{destinationChain:n},tokenIn:"token"in t?t.token??"USDC":"USDC"})}async getBalances(t){return es(async()=>Zge(this.context,t),un.GET_BALANCES,this.telemetryConfig)}async addDelegate(t){return es(async()=>t_e(this.context,t),un.ADD_DELEGATE,this.telemetryConfig,{sourceChain:Br(t.from?.chain)})}async removeDelegate(t){return es(async()=>n_e(this.context,t),un.REMOVE_DELEGATE,this.telemetryConfig,{sourceChain:Br(t.from?.chain)})}async initiateRemoveFund(t){return es(async()=>c_e(this.context,t),un.INITIATE_REMOVE_FUND,this.telemetryConfig,{sourceChain:Br(t.from?.chain),tokenIn:t.token??"USDC"})}async removeFund(t){return es(async()=>u_e(this.context,t),un.REMOVE_FUND,this.telemetryConfig,{sourceChain:Br(t.from?.chain),tokenIn:t.token??"USDC"})}async getDelegateStatus(t){return es(async()=>r_e(this.context,t),un.GET_DELEGATE_STATUS,this.telemetryConfig,{sourceChain:Br(t.from?.chain)})}getSupportedChains(t,n){return d_e(this.context,t,n)}setCustomFeePolicy(t){rye(t),this.context.customFeePolicy=t}removeCustomFeePolicy(){delete this.context.customFeePolicy}setFeeRecipients(t){iye(t),this.context.feeRecipients=t}removeFeeRecipients(){delete this.context.feeRecipients}};Gce(`${sm.name}/${sm.version}`);Em();function de(e,t,n){let r=e[t.name];if(typeof r=="function")return r;let o=e[n];return typeof o=="function"?o:s=>t(e,s)}er();Ge();var CE=class extends Y{constructor(t){super(`Filter type "${t}" is not supported.`,{name:"FilterTypeNotSupportedError"})}};wr();Fi();Ib();Dc();vc();od();var Hj="/docs/contract/encodeEventTopics";function Ba(e){let{abi:t,eventName:n,args:r}=e,o=t[0];if(n){let c=cs({abi:t,name:n});if(!c)throw new xb(n,{docsPath:Hj});o=c}if(o.type!=="event")throw new xb(void 0,{docsPath:Hj});let s=[];if(r&&"inputs"in o){let c=o.inputs?.filter(d=>"indexed"in d&&d.indexed),u=Array.isArray(r)?r:Object.values(r).length>0?c?.map(d=>r[d.name])??[]:[];u.length>0&&(s=c?.map((d,l)=>Array.isArray(u[l])?u[l].map((m,p)=>$j({param:d,value:u[l][p]})):typeof u[l]<"u"&&u[l]!==null?$j({param:d,value:u[l]}):null)??[])}if(o.anonymous)return s;let i=xr(o);return[rd(i),...s]}function $j({param:e,value:t}){if(e.type==="string"||e.type==="bytes")return on(ho(t));if(e.type==="tuple"||e.type.match(/^(.*)\[(\d+)?\]$/))throw new CE(e.type);return Do([e],[t])}Ue();function sd(e,{method:t}){let n={};return e.transport.type==="fallback"&&e.transport.onResponse?.(({method:r,response:o,status:s,transport:i})=>{s==="success"&&t===r&&(n[o]=i.request)}),(r=>n[r]||e.request)}async function FE(e,t){let{address:n,abi:r,args:o,eventName:s,fromBlock:i,strict:a,toBlock:c}=t,u=sd(e,{method:"eth_newFilter"}),d=s?Ba({abi:r,args:o,eventName:s}):void 0,l=await e.request({method:"eth_newFilter",params:[{address:n,fromBlock:typeof i=="bigint"?ue(i):i,toBlock:typeof c=="bigint"?ue(c):c,topics:d}]});return{abi:r,args:o,eventName:s,id:l,request:u(l),strict:!!a,type:"event"}}kn();Bo();er();Ge();Pc();Tf();Rf();var a1e=3;function Cs(e,{abi:t,address:n,args:r,docsPath:o,functionName:s,sender:i}){let a=e instanceof La?e:e instanceof Y?e.walk(g=>"data"in g)||e.walk():{},{code:c,data:u,details:d,message:l,shortMessage:m}=a,p=e instanceof ti?new nx({functionName:s,cause:e}):[a1e,Lc.code].includes(c)&&(u||d||l||m)||c===si.code&&d==="execution reverted"&&u?new xf({abi:t,data:typeof u=="object"?u.data:u,functionName:s,message:a instanceof cd?d:m??l,cause:e}):e;return new Lm(p,{abi:t,args:r,contractAddress:n,docsPath:o,functionName:s,sender:i})}kn();Ge();ka();Fi();function sG(e){let t=on(`0x${e.substring(4)}`).substring(26);return Oc(`0x${t}`)}Pi();os();Yn();Ue();async function jG({hash:e,signature:t}){let n=tr(e)?e:ze(e),{secp256k1:r}=await Promise.resolve().then(()=>(fx(),zG));return`0x${(()=>{if(typeof t=="object"&&"r"in t&&"s"in t){let{r:u,s:d,v:l,yParity:m}=t,p=Number(m??l),g=VG(p);return new r.Signature(Ye(u),Ye(d)).addRecoveryBit(g)}let i=tr(t)?t:ze(t);if(pt(i)!==65)throw new Error("invalid signature length");let a=rn(`0x${i.slice(130)}`),c=VG(a);return r.Signature.fromCompact(i.substring(2,130)).addRecoveryBit(c)})().recoverPublicKey(n.substring(2)).toHex(!1)}`}function VG(e){if(e===0||e===1)return e;if(e===27)return 0;if(e===28)return 1;throw new Error("Invalid yParityOrV value")}async function jb({hash:e,signature:t}){return sG(await jG({hash:e,signature:t}))}Sr();wr();Ue();Ge();zE();wr();Ue();function Fo(e,t="hex"){let n=GG(e),r=Nm(new Uint8Array(n.length));return n.encode(r),t==="hex"?vt(r.bytes):r.bytes}function GG(e){return Array.isArray(e)?P1e(e.map(t=>GG(t))):L1e(e)}function P1e(e){let t=e.reduce((o,s)=>o+s.length,0),n=WG(t);return{length:t<=55?1+t:1+n+t,encode(o){t<=55?o.pushByte(192+t):(o.pushByte(247+n),n===1?o.pushUint8(t):n===2?o.pushUint16(t):n===3?o.pushUint24(t):o.pushUint32(t));for(let{encode:s}of e)s(o)}}}function L1e(e){let t=typeof e=="string"?nr(e):e,n=WG(t.length);return{length:t.length===1&&t[0]<128?1:t.length<=55?1+t.length:1+n+t.length,encode(o){t.length===1&&t[0]<128?o.pushBytes(t):t.length<=55?(o.pushByte(128+t.length),o.pushBytes(t)):(o.pushByte(183+n),n===1?o.pushUint8(t.length):n===2?o.pushUint16(t.length):n===3?o.pushUint24(t.length):o.pushUint32(t.length),o.pushBytes(t))}}}function WG(e){if(e<2**8)return 1;if(e<2**16)return 2;if(e<2**24)return 3;if(e<2**32)return 4;throw new Y("Length is too large.")}Fi();function qG(e){let{chainId:t,nonce:n,to:r}=e,o=e.contractAddress??e.address,s=on(jt(["0x05",Fo([t?ue(t):"0x",o,n?ue(n):"0x"])]));return r==="bytes"?nr(s):s}async function bd(e){let{authorization:t,signature:n}=e;return jb({hash:qG(t),signature:n??t})}Ue();KE();Dm();Ge();Po();var px=class extends Y{constructor(t,{account:n,docsPath:r,chain:o,data:s,gas:i,gasPrice:a,maxFeePerGas:c,maxPriorityFeePerGas:u,nonce:d,to:l,value:m}){let p=Af({from:n?.address,to:l,value:typeof m<"u"&&`${km(m)} ${o?.nativeCurrency?.symbol||"ETH"}`,data:s,gas:i,gasPrice:typeof a<"u"&&`${Rr(a)} gwei`,maxFeePerGas:typeof c<"u"&&`${Rr(c)} gwei`,maxPriorityFeePerGas:typeof u<"u"&&`${Rr(u)} gwei`,nonce:d});super(t.shortMessage,{cause:t,docsPath:r,metaMessages:[...t.metaMessages?[...t.metaMessages," "]:[],"Estimate Gas Arguments:",p].filter(Boolean),name:"EstimateGasExecutionError"}),Object.defineProperty(this,"cause",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.cause=t}};zi();Gb();function KG(e,{docsPath:t,...n}){let r=(()=>{let o=gd(e,n);return o instanceof ai?e:o})();return new px(r,{docsPath:t,...n})}_d();ci();qb();Vi();kn();Dm();Ge();var m0=class extends Y{constructor(){super("`baseFeeMultiplier` must be greater than 1.",{name:"BaseFeeScalarError"})}},wd=class extends Y{constructor(){super("Chain does not support EIP-1559 fees.",{name:"Eip1559FeesNotSupportedError"})}},hx=class extends Y{constructor({maxPriorityFeePerGas:t}){super(`\`maxFeePerGas\` cannot be less than the \`maxPriorityFeePerGas\` (${Rr(t)} gwei).`,{name:"MaxFeePerGasTooLowError"})}};Yn();Ge();var Td=class extends Y{constructor({blockHash:t,blockNumber:n}){let r="Block";t&&(r=`Block at hash "${t}"`),n&&(r=`Block at number "${n}"`),super(`${r} could not be found.`,{name:"BlockNotFoundError"})}};Ue();Wb();Yn();Wb();var _I={"0x0":"legacy","0x1":"eip2930","0x2":"eip1559","0x3":"eip4844","0x4":"eip7702"};function ji(e,t){let n={...e,blockHash:e.blockHash?e.blockHash:null,blockNumber:e.blockNumber?BigInt(e.blockNumber):null,...e.blockTimestamp!=null&&{blockTimestamp:BigInt(e.blockTimestamp)},chainId:e.chainId?rn(e.chainId):void 0,gas:e.gas?BigInt(e.gas):void 0,gasPrice:e.gasPrice?BigInt(e.gasPrice):void 0,maxFeePerBlobGas:e.maxFeePerBlobGas?BigInt(e.maxFeePerBlobGas):void 0,maxFeePerGas:e.maxFeePerGas?BigInt(e.maxFeePerGas):void 0,maxPriorityFeePerGas:e.maxPriorityFeePerGas?BigInt(e.maxPriorityFeePerGas):void 0,nonce:e.nonce?rn(e.nonce):void 0,to:e.to?e.to:null,transactionIndex:e.transactionIndex?Number(e.transactionIndex):null,type:e.type?_I[e.type]:void 0,typeHex:e.type?e.type:void 0,value:e.value?BigInt(e.value):void 0,v:e.v?BigInt(e.v):void 0};return e.authorizationList&&(n.authorizationList=H1e(e.authorizationList)),n.yParity=(()=>{if(e.yParity)return Number(e.yParity);if(typeof n.v=="bigint"){if(n.v===0n||n.v===27n)return 0;if(n.v===1n||n.v===28n)return 1;if(n.v>=35n)return n.v%2n===0n?1:0}})(),n.type==="legacy"&&(delete n.accessList,delete n.maxFeePerBlobGas,delete n.maxFeePerGas,delete n.maxPriorityFeePerGas,delete n.yParity),n.type==="eip2930"&&(delete n.maxFeePerBlobGas,delete n.maxFeePerGas,delete n.maxPriorityFeePerGas),n.type==="eip1559"&&delete n.maxFeePerBlobGas,n}var h0=Ad("transaction",ji);function H1e(e){return e.map(t=>({address:t.address,chainId:Number(t.chainId),nonce:Number(t.nonce),r:t.r,s:t.s,yParity:Number(t.yParity)}))}function Nf(e,t){let n=(e.transactions??[]).map(r=>typeof r=="string"?r:ji(r));return{...e,baseFeePerGas:e.baseFeePerGas?BigInt(e.baseFeePerGas):null,blobGasUsed:e.blobGasUsed?BigInt(e.blobGasUsed):void 0,difficulty:e.difficulty?BigInt(e.difficulty):void 0,excessBlobGas:e.excessBlobGas?BigInt(e.excessBlobGas):void 0,gasLimit:e.gasLimit?BigInt(e.gasLimit):void 0,gasUsed:e.gasUsed?BigInt(e.gasUsed):void 0,hash:e.hash?e.hash:null,logsBloom:e.logsBloom?e.logsBloom:null,nonce:e.nonce?e.nonce:null,number:e.number?BigInt(e.number):null,size:e.size?BigInt(e.size):void 0,timestamp:e.timestamp?BigInt(e.timestamp):void 0,transactions:n,totalDifficulty:e.totalDifficulty?BigInt(e.totalDifficulty):null}}var y0=Ad("block",Nf);async function br(e,{blockHash:t,blockNumber:n,blockTag:r=e.experimental_blockTag??"latest",includeTransactions:o}={}){let s=o??!1,i=n!==void 0?ue(n):void 0,a=null;if(t?a=await e.request({method:"eth_getBlockByHash",params:[t,s]},{dedupe:!0}):a=await e.request({method:"eth_getBlockByNumber",params:[i||r,s]},{dedupe:!!i}),!a)throw new Td({blockHash:t,blockNumber:n});return(e.chain?.formatters?.block?.format||Nf)(a,"getBlock")}async function b0(e){let t=await e.request({method:"eth_gasPrice"});return BigInt(t)}async function XG(e,t){return AI(e,t)}async function AI(e,t){let{block:n,chain:r=e.chain,request:o}=t||{};try{let s=r?.fees?.maxPriorityFeePerGas??r?.fees?.defaultPriorityFee;if(typeof s=="function"){let a=n||await de(e,br,"getBlock")({}),c=await s({block:a,client:e,request:o});if(c===null)throw new Error;return c}if(typeof s<"u")return s;let i=await e.request({method:"eth_maxPriorityFeePerGas"});return Ye(i)}catch{let[s,i]=await Promise.all([n?Promise.resolve(n):de(e,br,"getBlock")({}),de(e,b0,"getGasPrice")({})]);if(typeof s.baseFeePerGas!="bigint")throw new wd;let a=i-s.baseFeePerGas;return a<0n?0n:a}}async function JG(e,t){return yx(e,t)}async function yx(e,t){let{block:n,chain:r=e.chain,request:o,type:s="eip1559"}=t||{},i=await(async()=>typeof r?.fees?.baseFeeMultiplier=="function"?r.fees.baseFeeMultiplier({block:n,client:e,request:o}):r?.fees?.baseFeeMultiplier??1.2)();if(i<1)throw new m0;let c=10**(i.toString().split(".")[1]?.length??0),u=m=>m*BigInt(Math.round(i*c))/BigInt(c),d=n||await de(e,br,"getBlock")({});if(typeof r?.fees?.estimateFeesPerGas=="function"){let m=await r.fees.estimateFeesPerGas({block:n,client:e,multiply:u,request:o,type:s});if(m!==null)return m}if(s==="eip1559"){if(typeof d.baseFeePerGas!="bigint")throw new wd;let m=typeof o?.maxPriorityFeePerGas=="bigint"?o.maxPriorityFeePerGas:await AI(e,{block:d,chain:r,request:o}),p=u(d.baseFeePerGas);return{maxFeePerGas:o?.maxFeePerGas??p+m,maxPriorityFeePerGas:m}}return{gasPrice:o?.gasPrice??u(await de(e,b0,"getGasPrice")({}))}}Sd();Yn();async function g0(e,{address:t,blockHash:n,blockNumber:r,blockTag:o="latest",requireCanonical:s}){let i=Uo({blockHash:n,blockNumber:r,blockTag:o,requireCanonical:s}),a=await e.request({method:"eth_getTransactionCount",params:[t,i]},{dedupe:typeof r=="bigint"||n!==void 0});return rn(a)}Po();wr();Ue();function _0(e){let{kzg:t}=e,n=e.to??(typeof e.blobs[0]=="string"?"hex":"bytes"),r=typeof e.blobs[0]=="string"?e.blobs.map(s=>nr(s)):e.blobs,o=[];for(let s of r)o.push(Uint8Array.from(t.blobToKzgCommitment(s)));return n==="bytes"?o:o.map(s=>vt(s))}wr();Ue();function A0(e){let{kzg:t}=e,n=e.to??(typeof e.blobs[0]=="string"?"hex":"bytes"),r=typeof e.blobs[0]=="string"?e.blobs.map(i=>nr(i)):e.blobs,o=typeof e.commitments[0]=="string"?e.commitments.map(i=>nr(i)):e.commitments,s=[];for(let i=0;ivt(i))}Ue();Pi();wr();Ue();function bx(e,t){let n=t||"hex",r=eF(tr(e,{strict:!1})?ho(e):e);return n==="bytes"?r:ze(r)}function QG(e){let{commitment:t,version:n=1}=e,r=e.to??(typeof t=="string"?"hex":"bytes"),o=bx(t,"bytes");return o.set([n],0),r==="bytes"?o:vt(o)}function gx(e){let{commitments:t,version:n}=e,r=e.to??(typeof t[0]=="string"?"hex":"bytes"),o=[];for(let s of t)o.push(QG({commitment:s,to:r,version:n}));return o}Ge();var _x=class extends Y{constructor({maxSize:t,size:n}){super("Blob size is too large.",{metaMessages:[`Max: ${t} bytes`,`Given: ${n} bytes`],name:"BlobSizeTooLargeError"})}},E0=class extends Y{constructor(){super("Blob data must not be empty.",{name:"EmptyBlobError"})}},Ax=class extends Y{constructor({hash:t,size:n}){super(`Versioned hash "${t}" size is invalid.`,{metaMessages:["Expected: 32",`Received: ${n}`],name:"InvalidVersionedHashSizeError"})}},Ex=class extends Y{constructor({hash:t,version:n}){super(`Versioned hash "${t}" version is invalid.`,{metaMessages:[`Expected: ${1}`,`Received: ${n}`],name:"InvalidVersionedHashVersionError"})}};zE();os();wr();Ue();function eW(e){let t=e.to??(typeof e.data=="string"?"hex":"bytes"),n=typeof e.data=="string"?nr(e.data):e.data,r=pt(n);if(!r)throw new E0;if(r>761855)throw new _x({maxSize:761855,size:r});let o=[],s=!0,i=0;for(;s;){let a=Nm(new Uint8Array(131072)),c=0;for(;c<4096;){let u=n.slice(i,i+31);if(a.pushByte(0),a.pushBytes(u),u.length<31){a.pushByte(128),s=!1;break}c++,i+=31}o.push(a)}return t==="bytes"?o.map(a=>a.bytes):o.map(a=>vt(a.bytes))}function xx(e){let{data:t,kzg:n,to:r}=e,o=e.blobs??eW({data:t,to:r}),s=e.commitments??_0({blobs:o,kzg:n,to:r}),i=e.proofs??A0({blobs:o,commitments:s,kzg:n,to:r}),a=[];for(let c=0;c{let o=gd(e,n);return o instanceof ai?e:o})();return new ex(r,{docsPath:t,...n})}_d();ci();Vi();Yn();async function _o(e){let t=await e.request({method:"eth_chainId"},{dedupe:!0});return rn(t)}async function x0(e,t){let{account:n=e.account,accessList:r,authorizationList:o,chain:s=e.chain,blobVersionedHashes:i,blobs:a,data:c,gas:u,gasPrice:d,maxFeePerBlobGas:l,maxFeePerGas:m,maxPriorityFeePerGas:p,nonce:g,nonceManager:E,to:x,type:S,value:N,...C}=t,v=await(async()=>{if(!n||!E||typeof g<"u")return g;let V=Pe(n),$=s?s.id:await de(e,_o,"getChainId")({});return await E.consume({address:V.address,chainId:$,client:e})})();yr(t);let D=s?.formatters?.transactionRequest?.format,U=(D||vr)({...fs(C,{format:D}),account:n?Pe(n):void 0,accessList:r,authorizationList:o,blobs:a,blobVersionedHashes:i,data:c,gas:u,gasPrice:d,maxFeePerBlobGas:l,maxFeePerGas:m,maxPriorityFeePerGas:p,nonce:v,to:x,type:S,value:N},"fillTransaction");try{let V=await e.request({method:"eth_fillTransaction",params:[U]}),z=(s?.formatters?.transaction?.format||ji)(V.tx);delete z.blockHash,delete z.blockNumber,delete z.r,delete z.s,delete z.transactionIndex,delete z.v,delete z.yParity,z.data=z.input;let W=typeof z.feePayerSignature<"u"&&z.feePayerSignature!==null;if(W&&typeof v<"u"&&z.nonce!==v)throw new Bm({filledNonce:z.nonce,requestedNonce:v});if(!W){z.gas&&(z.gas=t.gas??z.gas),z.gasPrice&&(z.gasPrice=t.gasPrice??z.gasPrice),z.maxFeePerBlobGas&&(z.maxFeePerBlobGas=t.maxFeePerBlobGas??z.maxFeePerBlobGas),z.maxFeePerGas&&(z.maxFeePerGas=t.maxFeePerGas??z.maxFeePerGas),z.maxPriorityFeePerGas&&(z.maxPriorityFeePerGas=t.maxPriorityFeePerGas??z.maxPriorityFeePerGas),typeof z.nonce<"u"&&(z.nonce=t.nonce??z.nonce);let X=await(async()=>{if(typeof s?.fees?.baseFeeMultiplier=="function"){let A=await de(e,br,"getBlock")({});return s.fees.baseFeeMultiplier({block:A,client:e,request:t})}return s?.fees?.baseFeeMultiplier??1.2})();if(X<1)throw new m0;let f=10**(X.toString().split(".")[1]?.length??0),y=A=>A*BigInt(Math.round(X*f))/BigInt(f);z.maxFeePerGas&&!t.maxFeePerGas&&(z.maxFeePerGas=y(z.maxFeePerGas)),z.gasPrice&&!t.gasPrice&&(z.gasPrice=y(z.gasPrice))}return{raw:V.raw,transaction:{from:U.from,...z},...V.capabilities?{capabilities:V.capabilities}:{}}}catch(V){throw Rd(V,{...t,chain:e.chain})}}var Yb=["blobVersionedHashes","chainId","fees","gas","nonce","type"],tW=new Map,EI=new is(128);async function Fa(e,t){let n=t;n.account??=e.account,n.parameters??=Yb;let{account:r,chain:o=e.chain,nonceManager:s,parameters:i}=n,a=(()=>{if(typeof o?.prepareTransactionRequest=="function")return{fn:o.prepareTransactionRequest,runAt:["beforeFillTransaction"]};if(Array.isArray(o?.prepareTransactionRequest))return{fn:o.prepareTransactionRequest[0],runAt:o.prepareTransactionRequest[1].runAt}})(),c;async function u(){return c||(typeof n.chainId<"u"?n.chainId:o?o.id:(c=await de(e,_o,"getChainId")({}),c))}let d=r&&Pe(r),l=n.nonce;if(a?.fn&&a.runAt?.includes("beforeFillTransaction")){n=await a.fn({...n,chain:o},{client:e,phase:"beforeFillTransaction"}),l??=n.nonce;let v=n.account??n.from;d=v?Pe(v):void 0}if(i.includes("nonce")&&typeof l>"u"&&d&&s){let v=await u();l=await s.consume({address:d.address,chainId:v,client:e})}let p=((i.includes("blobVersionedHashes")||i.includes("sidecars"))&&n.kzg&&n.blobs?!1:i.length>0&&"feePayer"in n&&n.feePayer&&!("feePayerSignature"in n&&n.feePayerSignature)?!0:EI.get(e.uid)===!1||!["fees","gas"].some(D=>i.includes(D))?!1:!!(i.includes("chainId")&&typeof n.chainId!="number"||i.includes("nonce")&&typeof l!="number"||i.includes("fees")&&typeof n.gasPrice!="bigint"&&(typeof n.maxFeePerGas!="bigint"||typeof n.maxPriorityFeePerGas!="bigint")||i.includes("gas")&&typeof n.gas!="bigint"))?await de(e,x0,"fillTransaction")({...n,nonce:l}).then(v=>{let{chainId:D,from:F,gas:U,gasPrice:V,nonce:$,maxFeePerBlobGas:z,maxFeePerGas:W,maxPriorityFeePerGas:X,type:w,...f}=v.transaction,y="feeToken"in f?f.feeToken:void 0,A="feePayerSignature"in f&&f.feePayerSignature!==null&&typeof f.feePayerSignature<"u",T=typeof y<"u"&&y!==null&&(!("feeToken"in n)||A);return EI.set(e.uid,!0),{...n,...F?{from:F}:{},...w&&!n.type?{type:w}:{},...typeof D<"u"?{chainId:D}:{},...typeof U<"u"?{gas:U}:{},...typeof V<"u"?{gasPrice:V}:{},...typeof $<"u"?{nonce:$}:{},...typeof z<"u"&&n.type!=="legacy"&&n.type!=="eip2930"?{maxFeePerBlobGas:z}:{},...typeof W<"u"&&n.type!=="legacy"&&n.type!=="eip2930"?{maxFeePerGas:W}:{},...typeof X<"u"&&n.type!=="legacy"&&n.type!=="eip2930"?{maxPriorityFeePerGas:X}:{},..."nonceKey"in f&&typeof f.nonceKey<"u"?{nonceKey:f.nonceKey}:{},..."keyAuthorization"in f&&typeof f.keyAuthorization<"u"&&f.keyAuthorization!==null&&!("keyAuthorization"in n)?{keyAuthorization:f.keyAuthorization}:{},..."feePayerSignature"in f&&typeof f.feePayerSignature<"u"&&f.feePayerSignature!==null?{feePayerSignature:f.feePayerSignature}:{},...T?{feeToken:y}:{},...v.capabilities?{_capabilities:v.capabilities}:{}}}).catch(v=>{let D=v;if(D.name!=="TransactionExecutionError")return n;if(D.walk?.($=>$ instanceof Bm)||D.walk?.($=>$.name==="ExecutionRevertedError"))throw v;return D.walk?.($=>{let z=$;return z.name==="MethodNotFoundRpcError"||z.name==="MethodNotSupportedRpcError"||z.message?.includes("eth_fillTransaction is not available")})&&EI.set(e.uid,!1),n}):n;l??=p.nonce,n={...p,...d?{from:d?.address}:{},...typeof l<"u"?{nonce:l}:{}};let{blobs:g,gas:E,kzg:x,type:S}=n;a?.fn&&a.runAt?.includes("beforeFillParameters")&&(n=await a.fn({...n,chain:o},{client:e,phase:"beforeFillParameters"}));let N;async function C(){return N||(N=await de(e,br,"getBlock")({blockTag:"latest"}),N)}if(i.includes("nonce")&&typeof l>"u"&&d&&!s&&(n.nonce=await de(e,g0,"getTransactionCount")({address:d.address,blockTag:"pending"})),(i.includes("blobVersionedHashes")||i.includes("sidecars"))&&g&&x){let v=_0({blobs:g,kzg:x});if(i.includes("blobVersionedHashes")){let D=gx({commitments:v,to:"hex"});n.blobVersionedHashes=D}if(i.includes("sidecars")){let D=A0({blobs:g,commitments:v,kzg:x}),F=xx({blobs:g,commitments:v,proofs:D,to:"hex"});n.sidecars=F}}if(i.includes("chainId")&&(n.chainId=await u()),(i.includes("fees")||i.includes("type"))&&typeof S>"u")try{n.type=wx(n)}catch{let v=tW.get(e.uid);typeof v>"u"&&(v=typeof(await C())?.baseFeePerGas=="bigint",tW.set(e.uid,v)),n.type=v?"eip1559":"legacy"}if(i.includes("fees"))if(n.type!=="legacy"&&n.type!=="eip2930"){if(typeof n.maxFeePerGas>"u"||typeof n.maxPriorityFeePerGas>"u"){let v=await C(),{maxFeePerGas:D,maxPriorityFeePerGas:F}=await yx(e,{block:v,chain:o,request:n});if(typeof n.maxPriorityFeePerGas>"u"&&n.maxFeePerGas&&n.maxFeePerGas"u"){let v=await C(),{gasPrice:D}=await yx(e,{block:v,chain:o,request:n,type:"legacy"});n.gasPrice=D}}return i.includes("gas")&&typeof E>"u"&&(n.gas=await de(e,w0,"estimateGas")({...n,account:d,prepare:d?.type==="local"?[]:["blobVersionedHashes"]})),a?.fn&&a.runAt?.includes("afterFillParameters")&&(n=await a.fn({...n,chain:o},{client:e,phase:"afterFillParameters"})),yr(n),delete n.parameters,n}async function w0(e,t){let{account:n=e.account,prepare:r=!0}=t,o=n?Pe(n):void 0,s=(()=>{if(Array.isArray(r))return r;if(o?.type!=="local")return["blobVersionedHashes"]})();try{let i=await(async()=>{if(t.to)return t.to;if(t.authorizationList&&t.authorizationList.length>0)return await bd({authorization:t.authorizationList[0]}).catch(()=>{throw new Y("`to` is required. Could not infer from `authorizationList`")})})(),{accessList:a,authorizationList:c,blobs:u,blobVersionedHashes:d,blockNumber:l,blockTag:m,data:p,gas:g,gasPrice:E,maxFeePerBlobGas:x,maxFeePerGas:S,maxPriorityFeePerGas:N,nonce:C,value:v,stateOverride:D,...F}=r?await Fa(e,{...t,parameters:s,to:i}):t;if(g&&t.gas!==g)return g;let V=(typeof l=="bigint"?ue(l):void 0)||m,$=Ed(D);yr(t);let z=e.chain?.formatters?.transactionRequest?.format,X=(z||vr)({...fs(F,{format:z}),account:o,accessList:a,authorizationList:c,blobs:u,blobVersionedHashes:d,data:p,gasPrice:E,maxFeePerBlobGas:x,maxFeePerGas:S,maxPriorityFeePerGas:N,nonce:C,to:i,value:v},"estimateGas");return BigInt(await e.request({method:"eth_estimateGas",params:$?[X,V??e.experimental_blockTag??"latest",$]:V?[X,V]:[X]}))}catch(i){throw KG(i,{...t,account:o,chain:e.chain})}}async function T0(e,t){let{abi:n,address:r,args:o,functionName:s,dataSuffix:i=typeof e.dataSuffix=="string"?e.dataSuffix:e.dataSuffix?.value,...a}=t,c=Ft({abi:n,args:o,functionName:s});try{return await de(e,w0,"estimateGas")({data:`${c}${i?i.replace("0x",""):""}`,to:r,...a})}catch(u){let d=a.account?Pe(a.account):void 0;throw Cs(u,{abi:n,address:r,args:o,docsPath:"/docs/contract/estimateContractGas",functionName:s,sender:d?.address})}}od();jc();wr();function gr(e,{args:t,eventName:n}={}){return{...e,blockHash:e.blockHash?e.blockHash:null,blockNumber:e.blockNumber?BigInt(e.blockNumber):null,blockTimestamp:e.blockTimestamp?BigInt(e.blockTimestamp):e.blockTimestamp===null?null:void 0,logIndex:e.logIndex?Number(e.logIndex):null,transactionHash:e.transactionHash?e.transactionHash:null,transactionIndex:e.transactionIndex?Number(e.transactionIndex):null,...n?{args:t,eventName:n}:{}}}Fi();Ib();er();H5();os();Ib();kb();vc();var nW="/docs/contract/decodeEventLog";function Of(e){let{abi:t,data:n,strict:r,topics:o}=e,s=r??!0,[i,...a]=o;if(!i)throw new xE({docsPath:nW});let c=t.find(S=>S.type==="event"&&i===rd(xr(S)));if(!(c&&"name"in c)||c.type!=="event")throw new wE(i,{docsPath:nW});let{name:u,inputs:d}=c,l=d?.some(S=>!("name"in S&&S.name)),m=l?[]:{},p=d.map((S,N)=>[S,N]).filter(([S])=>"indexed"in S&&S.indexed),g=[];for(let S=0;S!("indexed"in S&&S.indexed)),x=s?E:[...g.map(([S])=>S),...E];if(x.length>0){if(n&&n!=="0x")try{let S=Bc(x,n);if(S){let N=0;if(!s)for(let[C,v]of g)m[l?v:C.name||v]=S[N++];if(l)for(let C=0;C0?m:void 0}}function V1e({param:e,value:t}){return e.type==="string"||e.type==="bytes"||e.type==="tuple"||e.type.match(/^(.*)\[(\d+)?\]$/)?t:(Bc([e],t)||[])[0]}function Ua(e){let{abi:t,args:n,logs:r,strict:o=!0}=e,s=(()=>{if(e.eventName)return Array.isArray(e.eventName)?e.eventName:[e.eventName]})(),i=t.filter(a=>a.type==="event").map(a=>({abi:a,selector:rd(a)}));return r.map(a=>{let c=typeof a.blockNumber=="string"?gr(a):a,u=i.filter(m=>c.topics[0]===m.selector);if(u.length===0)return null;let d,l;for(let m of u)try{d=Of({...c,abi:[m.abi],strict:!0}),l=m;break}catch{}if(!d&&!o){l=u[0];try{d=Of({data:c.data,topics:c.topics,abi:[l.abi],strict:!1})}catch{let m=l.abi.inputs?.some(p=>!("name"in p&&p.name));return{...c,args:m?[]:{},eventName:l.abi.name}}}return!d||!l||s&&!s.includes(d.eventName)||!j1e({args:d.args,inputs:l.abi.inputs,matchArgs:n})?null:{...d,...c}}).filter(Boolean)}function j1e(e){let{args:t,inputs:n,matchArgs:r}=e;if(!r)return!0;if(!t)return!1;function o(s,i,a){try{return s.type==="address"?Lr(i,a):s.type==="string"||s.type==="bytes"?on(ho(i))===a:i===a}catch{return!1}}return Array.isArray(t)&&Array.isArray(r)?r.every((s,i)=>{if(s==null)return!0;let a=n[i];return a?(Array.isArray(s)?s:[s]).some(u=>o(a,u,t[i])):!1}):typeof t=="object"&&!Array.isArray(t)&&typeof r=="object"&&!Array.isArray(r)?Object.entries(r).every(([s,i])=>{if(i==null)return!0;let a=n.find(u=>u.name===s);return a?(Array.isArray(i)?i:[i]).some(u=>o(a,u,t[s])):!1}):!1}Ue();async function S0(e,{address:t,blockHash:n,fromBlock:r,toBlock:o,event:s,events:i,args:a,strict:c}={}){let u=c??!1,d=i??(s?[s]:void 0),l=[];d&&(l=[d.flatMap(E=>Ba({abi:[E],eventName:E.name,args:i?void 0:a}))],s&&(l=l[0]));let m;n?m=await e.request({method:"eth_getLogs",params:[{address:t,topics:l,blockHash:n}]}):m=await e.request({method:"eth_getLogs",params:[{address:t,topics:l,fromBlock:typeof r=="bigint"?ue(r):r,toBlock:typeof o=="bigint"?ue(o):o}]});let p=m.map(g=>gr(g));return d?Ua({abi:d,args:a,logs:p,strict:u}):p}async function Tx(e,t){let{abi:n,address:r,args:o,blockHash:s,eventName:i,fromBlock:a,toBlock:c,strict:u}=t,d=i?cs({abi:n,name:i}):void 0,l=d?void 0:n.filter(m=>m.type==="event");return de(e,S0,"getLogs")({address:r,args:o,blockHash:s,event:d,events:l,fromBlock:a,toBlock:c,strict:u})}Gc();Bo();Cd();async function It(e,t){let{abi:n,address:r,args:o,functionName:s,...i}=t,a=Ft({abi:n,args:o,functionName:s});try{let{data:c}=await de(e,ms,"call")({...i,data:a,to:r});return Ao({abi:n,args:o,functionName:s,data:c||"0x"})}catch(c){throw Cs(c,{abi:n,address:r,args:o,docsPath:"/docs/contract/readContract",functionName:s})}}kn();Gc();Bo();Cd();async function P0(e,t){let{abi:n,address:r,args:o,functionName:s,dataSuffix:i=typeof e.dataSuffix=="string"?e.dataSuffix:e.dataSuffix?.value,...a}=t,c=a.account?Pe(a.account):e.account,u=Ft({abi:n,args:o,functionName:s});try{let{data:d}=await de(e,ms,"call")({batch:!1,data:`${u}${i?i.replace("0x",""):""}`,to:r,...a,account:c}),l=Ao({abi:n,args:o,functionName:s,data:d||"0x"}),m=n.filter(p=>"name"in p&&p.name===t.functionName);return{result:l,request:{abi:m,address:r,args:o,dataSuffix:i,functionName:s,...a,account:c}}}catch(d){throw Cs(d,{abi:n,address:r,args:o,docsPath:"/docs/contract/simulateContract",functionName:s,sender:c?.address})}}er();Rf();var Kx=new Map,VI=new Map,pAe=0;function Fr(e,t,n){let r=++pAe,o=()=>Kx.get(e)||[],s=()=>{let l=o().filter(m=>m.id!==r);if(l.length===0){Kx.delete(e),VI.delete(e);return}Kx.set(e,l)},i=()=>{let d=o();if(!d.some(m=>m.id===r))return;let l=VI.get(e);if(d.length===1&&l){let m=l();m instanceof Promise&&m.catch(()=>{})}s()},a=o();if(Kx.set(e,[...a,{id:r,fns:t}]),a&&a.length>0)return i;let c={};for(let d in t)c[d]=((...l)=>{let m=o();if(m.length!==0)for(let p of m)p.fns[d]?.(...l)});let u=n(c);return typeof u=="function"&&VI.set(e,u),i}Hi();async function Mf(e,{signal:t}={}){return new Promise((n,r)=>{if(t?.aborted){r(Zr(t));return}let o=()=>t?.removeEventListener("abort",i),s=setTimeout(()=>{o(),n()},e),i=()=>{clearTimeout(s),o(),r(Zr(t))};t?.addEventListener("abort",i,{once:!0})})}function li(e,{emitOnBegin:t,initialWaitTime:n,interval:r}){let o=!0,s=()=>o=!1;return(async()=>{let a;t&&(a=await e({unpoll:s}));let c=await n?.(a)??r;await Mf(c);let u=async()=>{o&&(await e({unpoll:s}),await Mf(r),u())};u()})(),s}Pr();var mAe=new Map,hAe=new Map;function VW(e){let t=(o,s)=>({clear:()=>s.delete(o),get:()=>s.get(o),set:i=>s.set(o,i)}),n=t(e,mAe),r=t(e,hAe);return{clear:()=>{n.clear(),r.clear()},promise:n,response:r}}async function jW(e,{cacheKey:t,cacheTime:n=Number.POSITIVE_INFINITY}){let r=VW(t),o=r.response.get();if(o&&n>0&&Date.now()-o.created.getTime()`blockNumber.${e}`;async function fi(e,{cacheTime:t=e.cacheTime}={}){let n=await jW(()=>e.request({method:"eth_blockNumber"}),{cacheKey:yAe(e.uid),cacheTime:t});return BigInt(n)}async function Nd(e,{filter:t}){let n="strict"in t&&t.strict,r=await t.request({method:"eth_getFilterChanges",params:[t.id]});if(typeof r[0]=="string")return r;let o=r.map(s=>gr(s));return!("abi"in t)||!t.abi?o:Ua({abi:t.abi,logs:o,strict:n})}async function Od(e,{filter:t}){return t.request({method:"eth_uninstallFilter",params:[t.id]})}function GW(e,t){let{abi:n,address:r,args:o,batch:s=!0,eventName:i,fromBlock:a,onError:c,onLogs:u,poll:d,pollingInterval:l=e.pollingInterval,strict:m}=t;return(typeof d<"u"?d:typeof a=="bigint"?!0:!(e.transport.type==="webSocket"||e.transport.type==="ipc"||e.transport.type==="fallback"&&(e.transport.transports[0].config.type==="webSocket"||e.transport.transports[0].config.type==="ipc")))?(()=>{let x=m??!1,S=at(["watchContractEvent",r,o,s,e.uid,i,l,x,a]);return Fr(S,{onLogs:u,onError:c},N=>{let C;a!==void 0&&(C=a-1n);let v,D=!1,F=li(async()=>{if(!D){try{v=await de(e,FE,"createContractEventFilter")({abi:n,address:r,args:o,eventName:i,strict:x,fromBlock:a})}catch{}D=!0;return}try{let U;if(v)U=await de(e,Nd,"getFilterChanges")({filter:v});else{let V=await de(e,fi,"getBlockNumber")({});C&&C{v&&await de(e,Od,"uninstallFilter")({filter:v}),F()}})})():(()=>{let x=m??!1,S=at(["watchContractEvent",r,o,s,e.uid,i,l,x]),N=!0,C=()=>N=!1;return Fr(S,{onLogs:u,onError:c},v=>((async()=>{try{let D=(()=>{if(e.transport.type==="fallback"){let V=e.transport.transports.find($=>$.config.type==="webSocket"||$.config.type==="ipc");return V?V.value:e.transport}return e.transport})(),F=i?Ba({abi:n,eventName:i,args:o}):[],{unsubscribe:U}=await D.subscribe({params:["logs",{address:r,topics:F}],onData(V){if(!N)return;let $=V.result;try{let{eventName:z,args:W}=Of({abi:n,data:$.data,topics:$.topics,strict:m}),X=gr($,{args:W,eventName:z});v.onLogs([X])}catch(z){let W,X;if(z instanceof Ic||z instanceof ed){if(m)return;W=z.abiItem.name,X=z.abiItem.inputs?.some(f=>!("name"in f&&f.name))}let w=gr($,{args:X?[]:{},eventName:W});v.onLogs([w])}},onError(V){v.onError?.(V)}});C=U,N||C()}catch(D){c?.(D)}})(),()=>C()))})()}kn();Ge();var Wn=class extends Y{constructor({docsPath:t}={}){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(` +`),{docsPath:t,docsSlug:"account",name:"AccountNotFoundError"})}},pi=class extends Y{constructor({docsPath:t,metaMessages:n,type:r}){super(`Account type "${r}" is not supported.`,{docsPath:t,metaMessages:n,name:"AccountTypeNotSupportedError"})}};Bo();kn();Ge();Bf();function L0({chain:e,currentChainId:t}){if(!e)throw new Hx;if(t!==e.id)throw new Ux({chain:e,currentChainId:t})}Sr();_d();ci();gf();Vi();async function M0(e,{serializedTransaction:t}){return e.request({method:"eth_sendRawTransaction",params:[t]},{retryCount:0})}var jI=new is(128);async function kd(e,t){let{account:n=e.account,assertChainId:r=!0,chain:o=e.chain,accessList:s,authorizationList:i,blobs:a,data:c,dataSuffix:u=typeof e.dataSuffix=="string"?e.dataSuffix:e.dataSuffix?.value,gas:d,gasPrice:l,maxFeePerBlobGas:m,maxFeePerGas:p,maxPriorityFeePerGas:g,nonce:E,type:x,value:S,...N}=t;if(typeof n>"u")throw new Wn({docsPath:"/docs/actions/wallet/sendTransaction"});let C=n?Pe(n):null,v;try{yr(t);let D=await(async()=>{if(t.to)return t.to;if(t.to!==null&&i&&i.length>0)return await bd({authorization:i[0]}).catch(()=>{throw new Y("`to` is required. Could not infer from `authorizationList`.")})})();if(C?.type==="json-rpc"||C===null){let F;o!==null&&(F=await de(e,_o,"getChainId")({}),r&&L0({currentChainId:F,chain:o}));let U=e.chain?.formatters?.transactionRequest?.format,$=(U||vr)({...fs(N,{format:U}),accessList:s,account:C,authorizationList:i,blobs:a,chainId:F,data:u?Tr([c??"0x",u]):c,gas:d,gasPrice:l,maxFeePerBlobGas:m,maxFeePerGas:p,maxPriorityFeePerGas:g,nonce:E,to:D,type:x,value:S},"sendTransaction"),z=jI.get(e.uid),W=z?"wallet_sendTransaction":"eth_sendTransaction";try{return await e.request({method:W,params:[$]},{retryCount:0})}catch(X){if(z===!1)throw X;let w=X;if(w.name==="InvalidInputRpcError"||w.name==="InvalidParamsRpcError"||w.name==="MethodNotFoundRpcError"||w.name==="MethodNotSupportedRpcError")return await e.request({method:"wallet_sendTransaction",params:[$]},{retryCount:0}).then(f=>(jI.set(e.uid,!0),f)).catch(f=>{let y=f;throw y.name==="MethodNotFoundRpcError"||y.name==="MethodNotSupportedRpcError"?(jI.set(e.uid,!1),w):y});throw w}}if(C?.type==="local"){let F=(()=>{if(!C.nonceManager||typeof E<"u")return C.nonceManager;let X=C.nonceManager;return{consume(w){return v={address:w.address,chainId:w.chainId},X.consume(w)},get(w){return X.get(w)},increment(w){return X.increment(w)},reset(w){return X.reset(w)}}})(),U=await de(e,Fa,"prepareTransactionRequest")({account:C,accessList:s,authorizationList:i,blobs:a,chain:o,data:u?Tr([c??"0x",u]):c,gas:d,gasPrice:l,maxFeePerBlobGas:m,maxFeePerGas:p,maxPriorityFeePerGas:g,nonce:E,nonceManager:F,parameters:[...Yb,"sidecars"],type:x,value:S,...N,to:D}),V=o?.serializers?.transaction,$=await C.signTransaction(U,{serializer:V}),z=(o??e.chain)?.serializers?.transactionEnvelope,W=z?await z({serializedTransaction:$,transaction:U}):$;return await de(e,M0,"sendRawTransaction")({serializedTransaction:W})}throw C?.type==="smart"?new pi({metaMessages:["Consider using the `sendUserOperation` Action instead."],docsPath:"/docs/actions/bundler/sendUserOperation",type:"smart"}):new pi({docsPath:"/docs/actions/wallet/sendTransaction",type:C?.type})}catch(D){throw D instanceof pi?D:(v&&C?.nonceManager?.reset(v),Rd(D,{...t,account:C,chain:t.chain||void 0}))}}async function qi(e,t){return qi.internal(e,kd,"sendTransaction",t)}(function(e){async function t(n,r,o,s){let{abi:i,account:a=n.account,address:c,args:u,functionName:d,...l}=s;if(typeof a>"u")throw new Wn({docsPath:"/docs/contract/writeContract"});let m=a?Pe(a):null,p=Ft({abi:i,args:u,functionName:d});try{return await de(n,r,o)({data:p,to:c,account:m,...l})}catch(g){throw Cs(g,{abi:i,address:c,args:u,docsPath:"/docs/contract/writeContract",functionName:d,sender:m?.address})}}e.internal=t})(qi||(qi={}));Ge();Ge();var Yx=class extends Y{constructor(t){super(`Call bundle failed with status: ${t.statusCode}`,{name:"BundleFailedError"}),Object.defineProperty(this,"result",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.result=t}};Vx();Hi();function Ff(e,{delay:t=100,retryCount:n=2,shouldRetry:r=()=>!0,signal:o}={}){return new Promise((s,i)=>{let a=async({count:c=0}={})=>{if(o?.aborted){i(Zr(o));return}let u=async({error:d})=>{let l=typeof t=="function"?t({count:c,error:d}):t;if(l)try{await Mf(l,{signal:o})}catch(m){i(m);return}return a({count:c+1})};try{let d=await e();s(d)}catch(d){if(o?.aborted){i(Zr(o));return}if(us(d)){i(d);return}if(cgr(r)):null,to:e.to?e.to:null,transactionIndex:e.transactionIndex?rn(e.transactionIndex):null,status:e.status?GI[e.status]:null,type:e.type?_I[e.type]||e.type:null};return e.blobGasPrice&&(n.blobGasPrice=BigInt(e.blobGasPrice)),e.blobGasUsed&&(n.blobGasUsed=BigInt(e.blobGasUsed)),n}var Zx=Ad("transactionReceipt",Uf);kn();Ge();Rf();Bo();Sr();Yn();Ue();var WI="0x5792579257925792579257925792579257925792579257925792579257925792",qI=ue(0,{size:32});async function Xx(e,t){let{account:n=e.account,chain:r=e.chain,experimental_fallback:o,experimental_fallbackDelay:s=32,forceAtomic:i=!1,id:a,version:c="2.0.0"}=t,u=n?Pe(n):null,d=t.capabilities;e.dataSuffix&&!t.capabilities?.dataSuffix&&(typeof e.dataSuffix=="string"?d={...t.capabilities,dataSuffix:{value:e.dataSuffix,optional:!0}}:d={...t.capabilities,dataSuffix:{value:e.dataSuffix.value,...e.dataSuffix.required?{}:{optional:!0}}});let l=t.calls.map(m=>{let p=m,g=p.abi?Ft({abi:p.abi,functionName:p.functionName,args:p.args}):p.data;return{data:p.dataSuffix&&g?Tr([g,p.dataSuffix]):g,to:p.to,value:p.value?ue(p.value):void 0}});try{let m=await e.request({method:"wallet_sendCalls",params:[{atomicRequired:i,calls:l,capabilities:d,chainId:ue(r.id),from:u?.address,id:a,version:c}]},{retryCount:0});return typeof m=="string"?{id:m}:m}catch(m){let p=m;if(o&&(p.name==="MethodNotFoundRpcError"||p.name==="MethodNotSupportedRpcError"||p.name==="UnknownRpcError"||p.details.toLowerCase().includes("does not exist / is not available")||p.details.toLowerCase().includes("missing or invalid. request()")||p.details.toLowerCase().includes("did not match any variant of untagged enum")||p.details.toLowerCase().includes("account upgraded to unsupported contract")||p.details.toLowerCase().includes("eip-7702 not supported")||p.details.toLowerCase().includes("unsupported wc_ method")||p.details.toLowerCase().includes("feature toggled misconfigured")||p.details.toLowerCase().includes("jsonrpcengine: response has no error or result for request"))){if(d&&Object.values(d).some(S=>!S.optional)){let S="non-optional `capabilities` are not supported on fallback to `eth_sendTransaction`.";throw new ld(new Y(S,{details:S}))}if(i&&l.length>1){let x="`forceAtomic` is not supported on fallback to `eth_sendTransaction`.";throw new fd(new Y(x,{details:x}))}let g=[];for(let x of l){try{let S=await kd(e,{account:u,chain:r,data:x.data,to:x.to,value:x.value?Ye(x.value):void 0});g.push({status:"fulfilled",value:S})}catch(S){g.push({reason:S,status:"rejected"})}s>0&&await new Promise(S=>setTimeout(S,s))}if(g.every(x=>x.status==="rejected"))throw g[0].reason;let E=g.map(x=>x.status==="fulfilled"?x.value:qI);return{id:Tr([...E,ue(r.id,{size:32}),WI])}}throw Rd(m,{...t,account:u,chain:t.chain})}}async function Jx(e,t){async function n(d){if(d.endsWith(WI.slice(2))){let m=mr(LE(d,-64,-32)),p=LE(d,0,-64).slice(2).match(/.{1,64}/g),g=await Promise.all(p.map(x=>qI.slice(2)!==x?e.request({method:"eth_getTransactionReceipt",params:[`0x${x}`]},{dedupe:!0}):void 0)),E=g.some(x=>x===null)?100:g.every(x=>x?.status==="0x1")?200:g.every(x=>x?.status==="0x0")?500:600;return{atomic:!1,chainId:rn(m),receipts:g.filter(Boolean),status:E,version:"2.0.0"}}return e.request({method:"wallet_getCallsStatus",params:[d]})}let{atomic:r=!1,chainId:o,receipts:s,version:i="2.0.0",...a}=await n(t.id),[c,u]=(()=>{let d=a.status;return d>=100&&d<200?["pending",d]:d>=200&&d<300?["success",d]:d>=300&&d<700?["failure",d]:d==="CONFIRMED"?["success",200]:d==="PENDING"?["pending",100]:[void 0,d]})();return{...a,atomic:r,chainId:o?rn(o):void 0,receipts:s?.map(d=>({...d,blockNumber:Ye(d.blockNumber),gasUsed:Ye(d.gasUsed),status:GI[d.status]}))??[],statusCode:u,status:c,version:i}}async function Qx(e,t){let{id:n,pollingInterval:r=e.pollingInterval,status:o=({statusCode:E})=>E===200||E>=300,retryCount:s=4,retryDelay:i=({count:E})=>~~(1<{let x=li(async()=>{let S=N=>{clearTimeout(p),x(),N(),g()};try{let N=await Ff(async()=>{let C=await de(e,Jx,"getCallsStatus")({id:n});if(c&&C.status==="failure")throw new Yx(C);return C},{retryCount:s,delay:i});if(!o(N))return;S(()=>E.resolve(N))}catch(N){S(()=>E.reject(N))}},{interval:r,emitOnBegin:!0});return x});return p=a?setTimeout(()=>{g(),clearTimeout(p),m(new KI({id:n}))},a):void 0,await d}var KI=class extends Y{constructor({id:t}){super(`Timed out while waiting for call bundle with id "${t}" to be confirmed.`,{name:"WaitForCallsStatusTimeoutError"})}};kn();var ew=256,tw;function nw(e=11){if(!tw||ew+e>256*2){tw="",ew=0;for(let t=0;t<256;t++)tw+=(256+Math.random()*256|0).toString(16).substring(1)}return tw.substring(ew,ew+++e)}function rw(e){let{batch:t,chain:n,ccipRead:r,dataSuffix:o,key:s="base",name:i="Base Client",tokens:a,type:c="base"}=e,u=e.experimental_blockTag??(typeof n?.experimental_preconfirmationTime=="number"?"pending":void 0),d=n?.blockTime??12e3,l=Math.min(Math.max(Math.floor(d/2),500),4e3),m=e.pollingInterval??l,p=e.cacheTime??m,g=e.account?Pe(e.account):void 0,{config:E,request:x,value:S}=e.transport({account:g,chain:n,pollingInterval:m}),N={...E,...S},C={account:g,batch:t,cacheTime:p,ccipRead:r,chain:n,dataSuffix:o,key:s,name:i,pollingInterval:m,request:x,tokens:a,transport:N,type:c,uid:nw(),...u?{experimental_blockTag:u}:{}};function v(D){return F=>{let U=F(D);for(let $ in C)delete U[$];let V={...D,...U};for(let $ in U){let z=D[$],W=U[$];WW(z)&&WW(W)&&(V[$]={...z,...W})}return Object.assign(V,{extend:v(V)})}}return Object.assign(C,{extend:v(C)})}function WW(e){if(typeof e!="object"||e===null)return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null}function za(e,t){let n=(r={})=>t(e,r);for(let r of["call","calls","callWithPeriod","estimateGas","prepare","prepareRecipient","predict","simulate"])if(Object.hasOwn(t,r)){let o=t[r];n[r]=(s={})=>o.length===1?o(s):o(e,s)}for(let r of["extractEvent","extractEvents"])Object.hasOwn(t,r)&&(n[r]=t[r]);return n}Eo();Gc();Bo();ka();Lf();os();bf();Ue();Ge();Pc();function F0(e){if(!(e instanceof Y))return!1;let t=e.walk(n=>n instanceof xf);return t instanceof xf?t.data?.errorName==="HttpError"||t.data?.errorName==="ResolverError"||t.data?.errorName==="ResolverNotContract"||t.data?.errorName==="ResolverNotFound"||t.data?.errorName==="ReverseAddressMismatch"||t.data?.errorName==="UnsupportedResolverProfile":!1}rg();Sr();wr();Ue();Fi();Pi();function ow(e){if(e.length!==66||e.indexOf("[")!==0||e.indexOf("]")!==65)return null;let t=`0x${e.slice(1,65)}`;return tr(t)?t:null}function og(e){let t=new Uint8Array(32).fill(0);if(!e)return vt(t);let n=e.split(".");for(let r=n.length-1;r>=0;r-=1){let o=ow(n[r]),s=o?ho(o):on(Mi(n[r]),"bytes");t=on(Tr([t,s]),"bytes")}return vt(t)}wr();function qW(e){return`[${e.slice(2)}]`}wr();Ue();Fi();function KW(e){let t=new Uint8Array(32).fill(0);return e?ow(e)||on(Mi(e)):vt(t)}function U0(e){let t=e.replace(/^\.|\.$/gm,"");if(t.length===0)return new Uint8Array(1);let n=new Uint8Array(Mi(t).byteLength+2),r=0,o=t.split(".");for(let s=0;s255&&(i=Mi(qW(KW(o[s])))),n[r]=i.length,n.set(i,r+1),r+=i.length+1}return n.byteLength!==r+1?n.slice(0,r+1):n}async function YW(e,t){let{blockNumber:n,blockTag:r,coinType:o,name:s,gatewayUrls:i,strict:a}=t,{chain:c}=e,u=(()=>{if(t.universalResolverAddress)return t.universalResolverAddress;if(!c)throw new Error("client chain not configured. universalResolverAddress is required.");return di({blockNumber:n,chain:c,contract:"ensUniversalResolver"})})(),d=c?.ensTlds;if(d&&!d.some(m=>s.endsWith(m)))return null;let l=o!=null?[og(s),BigInt(o)]:[og(s)];try{let m=Ft({abi:BI,functionName:"addr",args:l}),p={address:u,abi:Mx,functionName:"resolveWithGateways",args:[ze(U0(s)),m,i??[Yc]],blockNumber:n,blockTag:r},E=await de(e,It,"readContract")(p);if(E[0]==="0x")return null;let x=bAe({coinType:o,data:E[0],args:l});return x==="0x"||mr(x)==="0x00"?null:x}catch(m){if(a)throw m;if(F0(m))return null;throw m}}function bAe({coinType:e,data:t,args:n}){try{return Ao({abi:BI,args:n,functionName:"addr",data:t})}catch(r){if(e==null)throw r;let o=mr(t);if(pt(o)===20)return Ui(o);throw r}}Ge();var sw=class extends Y{constructor({data:t}){super("Unable to extract image from metadata. The metadata may be malformed or invalid.",{metaMessages:["- Metadata must be a JSON object with at least an `image`, `image_url` or `image_data` property.","",`Provided data: ${JSON.stringify(t)}`],name:"EnsAvatarInvalidMetadataError"})}},Dd=class extends Y{constructor({reason:t}){super(`ENS NFT avatar URI is invalid. ${t}`,{name:"EnsAvatarInvalidNftUriError"})}},H0=class extends Y{constructor({uri:t}){super(`Unable to resolve ENS avatar URI "${t}". The URI may be malformed, invalid, or does not respond with a valid image.`,{name:"EnsAvatarUriResolutionError"})}},iw=class extends Y{constructor({namespace:t}){super(`ENS NFT avatar namespace "${t}" is not supported. Must be "erc721" or "erc1155".`,{name:"EnsAvatarUnsupportedNamespaceError"})}};var gAe=/(?https?:\/\/[^/]*|ipfs:\/|ipns:\/|ar:\/)?(?\/)?(?ipfs\/|ipns\/)?(?[\w\-.]+)(?\/.*)?/,_Ae=/^(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,})(\/(?[\w\-.]+))?(?\/.*)?$/,AAe=/^data:([a-zA-Z\-/+]*);base64,([^"].*)/,EAe=/^data:([a-zA-Z\-/+]*)?(;[a-zA-Z0-9].*?)?(,)/;async function xAe(e){try{let t=await fetch(e,{method:"HEAD"});return t.status===200?t.headers.get("content-type")?.startsWith("image/"):!1}catch(t){return typeof t=="object"&&typeof t.response<"u"||!Object.hasOwn(globalThis,"Image")?!1:new Promise(n=>{let r=new Image;r.onload=()=>{n(!0)},r.onerror=()=>{n(!1)},r.src=e})}}function ZW(e,t){return e?e.endsWith("/")?e.slice(0,-1):e:t}function YI({uri:e,gatewayUrls:t}){let n=AAe.test(e);if(n)return{uri:e,isOnChain:!0,isEncoded:n};let r=ZW(t?.ipfs,"https://ipfs.io"),o=ZW(t?.arweave,"https://arweave.net"),s=e.match(gAe),{protocol:i,subpath:a,target:c,subtarget:u=""}=s?.groups||{},d=i==="ipns:/"||a==="ipns/",l=i==="ipfs:/"||a==="ipfs/"||_Ae.test(e);if(e.startsWith("http")&&!d&&!l){let p=e;return t?.arweave&&(p=e.replace(/https:\/\/arweave.net/g,t?.arweave)),{uri:p,isOnChain:!1,isEncoded:!1}}if((d||l)&&c)return{uri:`${r}/${d?"ipns":"ipfs"}/${c}${u}`,isOnChain:!1,isEncoded:!1};if(i==="ar:/"&&c)return{uri:`${o}/${c}${u||""}`,isOnChain:!1,isEncoded:!1};let m=e.replace(EAe,"");if(m.startsWith("o.json());return await aw({gatewayUrls:e,uri:ZI(n)})}catch{throw new H0({uri:t})}}async function aw({gatewayUrls:e,uri:t}){let{uri:n,isOnChain:r}=YI({uri:t,gatewayUrls:e});if(r||await xAe(n))return n;throw new H0({uri:t})}function JW(e){let t=e;t.startsWith("did:nft:")&&(t=t.replace("did:nft:","").replace(/_/g,"/"));let[n,r,o]=t.split("/"),[s,i]=n.split(":"),[a,c]=r.split(":");if(!s||s.toLowerCase()!=="eip155")throw new Dd({reason:"Only EIP-155 supported"});if(!i)throw new Dd({reason:"Chain ID not found"});if(!c)throw new Dd({reason:"Contract address not found"});if(!o)throw new Dd({reason:"Token ID not found"});if(!a)throw new Dd({reason:"ERC namespace not found"});return{chainID:Number.parseInt(i,10),namespace:a.toLowerCase(),contractAddress:c,tokenID:o}}async function QW(e,{nft:t}){if(t.namespace==="erc721")return It(e,{address:t.contractAddress,abi:[{name:"tokenURI",type:"function",stateMutability:"view",inputs:[{name:"tokenId",type:"uint256"}],outputs:[{name:"",type:"string"}]}],functionName:"tokenURI",args:[BigInt(t.tokenID)]});if(t.namespace==="erc1155")return It(e,{address:t.contractAddress,abi:[{name:"uri",type:"function",stateMutability:"view",inputs:[{name:"_id",type:"uint256"}],outputs:[{name:"",type:"string"}]}],functionName:"uri",args:[BigInt(t.tokenID)]});throw new iw({namespace:t.namespace})}async function eq(e,{gatewayUrls:t,record:n}){return/eip155:/i.test(n)?wAe(e,{gatewayUrls:t,record:n}):aw({uri:n,gatewayUrls:t})}async function wAe(e,{gatewayUrls:t,record:n}){let r=JW(n),o=await QW(e,{nft:r}),{uri:s,isOnChain:i,isEncoded:a}=YI({uri:o,gatewayUrls:t});if(i&&(s.includes("data:application/json;base64,")||s.startsWith("{"))){let u=a?atob(s.replace("data:application/json;base64,","")):s,d=JSON.parse(u);return aw({uri:ZI(d),gatewayUrls:t})}let c=r.tokenID;return r.namespace==="erc1155"&&(c=c.replace("0x","").padStart(64,"0")),XW({gatewayUrls:t,uri:s.replace(/(?:0x)?{id}/,c)})}Eo();Gc();Bo();Lf();Ue();rg();async function cw(e,t){let{blockNumber:n,blockTag:r,key:o,name:s,gatewayUrls:i,strict:a}=t,{chain:c}=e,u=(()=>{if(t.universalResolverAddress)return t.universalResolverAddress;if(!c)throw new Error("client chain not configured. universalResolverAddress is required.");return di({blockNumber:n,chain:c,contract:"ensUniversalResolver"})})(),d=c?.ensTlds;if(d&&!d.some(l=>s.endsWith(l)))return null;try{let l={address:u,abi:Mx,args:[ze(U0(s)),Ft({abi:DI,functionName:"text",args:[og(s),o]}),i??[Yc]],functionName:"resolveWithGateways",blockNumber:n,blockTag:r},p=await de(e,It,"readContract")(l);if(p[0]==="0x")return null;let g=Ao({abi:DI,functionName:"text",data:p[0]});return g===""?null:g}catch(l){if(a)throw l;if(F0(l))return null;throw l}}async function tq(e,{blockNumber:t,blockTag:n,assetGatewayUrls:r,name:o,gatewayUrls:s,strict:i,universalResolverAddress:a}){let c=await de(e,cw,"getEnsText")({blockNumber:t,blockTag:n,key:"avatar",name:o,universalResolverAddress:a,gatewayUrls:s,strict:i});if(!c)return null;try{return await eq(e,{record:c,gatewayUrls:r})}catch{return null}}Eo();Lf();rg();async function nq(e,t){let{address:n,blockNumber:r,blockTag:o,coinType:s=60n,gatewayUrls:i,strict:a}=t,{chain:c}=e,u=(()=>{if(t.universalResolverAddress)return t.universalResolverAddress;if(!c)throw new Error("client chain not configured. universalResolverAddress is required.");return di({blockNumber:r,chain:c,contract:"ensUniversalResolver"})})();try{let d={address:u,abi:SW,args:[n,s,i??[Yc]],functionName:"reverseWithGateways",blockNumber:r,blockTag:o},l=de(e,It,"readContract"),[m]=await l(d);return m||null}catch(d){if(a)throw d;if(F0(d))return null;throw d}}Lf();Ue();async function rq(e,t){let{blockNumber:n,blockTag:r,name:o}=t,{chain:s}=e,i=(()=>{if(t.universalResolverAddress)return t.universalResolverAddress;if(!s)throw new Error("client chain not configured. universalResolverAddress is required.");return di({blockNumber:n,chain:s,contract:"ensUniversalResolver"})})(),a=s?.ensTlds;if(a&&!a.some(u=>o.endsWith(u)))throw new Error(`${o} is not a valid ENS TLD (${a?.join(", ")}) for chain "${s.name}" (id: ${s.id}).`);let[c]=await de(e,It,"readContract")({address:i,abi:[{inputs:[{type:"bytes"}],name:"findResolver",outputs:[{type:"address"},{type:"bytes32"},{type:"uint256"}],stateMutability:"view",type:"function"}],functionName:"findResolver",args:[ze(U0(o))],blockNumber:n,blockTag:r});return c}Cd();kn();Ge();Ue();zx();_d();ci();Vi();async function oq(e,t){let{account:n=e.account,blockNumber:r,blockTag:o="latest",blobs:s,data:i,gas:a,gasPrice:c,maxFeePerBlobGas:u,maxFeePerGas:d,maxPriorityFeePerGas:l,to:m,value:p,...g}=t,E=n?Pe(n):void 0;try{yr(t);let S=(typeof r=="bigint"?ue(r):void 0)||o,N=e.chain?.formatters?.transactionRequest?.format,v=(N||vr)({...fs(g,{format:N}),account:E,blobs:s,data:i,gas:a,gasPrice:c,maxFeePerBlobGas:u,maxFeePerGas:d,maxPriorityFeePerGas:l,to:m,value:p},"createAccessList"),D=await e.request({method:"eth_createAccessList",params:[v,S]});if(D.error)throw new Y(D.error,{details:D.error});return{accessList:D.accessList,gasUsed:BigInt(D.gasUsed)}}catch(x){throw k0(x,{...t,account:E,chain:e.chain})}}async function sq(e){let t=sd(e,{method:"eth_newBlockFilter"}),n=await e.request({method:"eth_newBlockFilter"});return{id:n,request:t(n),type:"block"}}Ue();async function uw(e,{address:t,args:n,event:r,events:o,fromBlock:s,strict:i,toBlock:a}={}){let c=o??(r?[r]:void 0),u=sd(e,{method:"eth_newFilter"}),d=[];c&&(d=[c.flatMap(p=>Ba({abi:[p],eventName:p.name,args:n}))],r&&(d=d[0]));let l=await e.request({method:"eth_newFilter",params:[{address:t,fromBlock:typeof s=="bigint"?ue(s):s,toBlock:typeof a=="bigint"?ue(a):a,...d.length?{topics:d}:{}}]});return{abi:c,args:n,eventName:r?r.name:void 0,fromBlock:s,id:l,request:u(l),strict:!!i,toBlock:a,type:"event"}}async function dw(e){let t=sd(e,{method:"eth_newPendingTransactionFilter"}),n=await e.request({method:"eth_newPendingTransactionFilter"});return{id:n,request:t(n),type:"transaction"}}Eo();Gc();Bo();Sd();Cd();async function iq(e,{address:t,blockHash:n,blockNumber:r,blockTag:o=e.experimental_blockTag??"latest",requireCanonical:s}){let i=Uo({blockHash:n,blockNumber:r,blockTag:o,requireCanonical:s});if(e.batch?.multicall&&e.chain?.contracts?.multicall3){let c=e.chain.contracts.multicall3.address,u=Ft({abi:Gi,functionName:"getEthBalance",args:[t]}),{data:d}=await de(e,ms,"call")({to:c,data:u,blockHash:n,blockNumber:r,blockTag:o,requireCanonical:s});return Ao({abi:Gi,functionName:"getEthBalance",args:[t],data:d||"0x"})}let a=await e.request({method:"eth_getBalance",params:[t,i]});return BigInt(a)}async function aq(e){let t=await e.request({method:"eth_blobBaseFee"});return BigInt(t)}Ue();async function cq(e,{blockHash:t,blockNumber:n,blockTag:r=e.experimental_blockTag??"latest"}={}){let o=n!==void 0?ue(n):void 0,s=await e.request({method:"eth_getBlockReceipts",params:[t||o||r]},{dedupe:!!(t||o)});if(!s)throw new Td({blockHash:t,blockNumber:n});let i=e.chain?.formatters?.transactionReceipt?.format||Uf;return s.map(a=>i(a,"getBlockReceipts"))}Yn();Ue();async function uq(e,{blockHash:t,blockNumber:n,blockTag:r="latest"}={}){let o=n!==void 0?ue(n):void 0,s;return t?s=await e.request({method:"eth_getBlockTransactionCountByHash",params:[t]},{dedupe:!0}):s=await e.request({method:"eth_getBlockTransactionCountByNumber",params:[o||r]},{dedupe:!!o}),rn(s)}Sd();async function Hf(e,{address:t,blockHash:n,blockNumber:r,blockTag:o="latest",requireCanonical:s}){let i=Uo({blockHash:n,blockNumber:r,blockTag:o,requireCanonical:s}),a=await e.request({method:"eth_getCode",params:[t,i]},{dedupe:typeof r=="bigint"||n!==void 0});if(a!=="0x")return a}ka();os();kc();async function dq(e,{address:t,blockNumber:n,blockTag:r="latest"}){let o=await Hf(e,{address:t,...n!==void 0?{blockNumber:n}:{blockTag:r}});if(o&&pt(o)===23&&o.startsWith("0xef0100"))return Ui(as(o,3,23))}Ge();var lw=class extends Y{constructor({address:t}){super(`No EIP-712 domain found on contract "${t}".`,{metaMessages:["Ensure that:",`- The contract is deployed at the address "${t}".`,"- `eip712Domain()` function exists on the contract.","- `eip712Domain()` function matches signature to ERC-5267 specification."],name:"Eip712DomainNotFoundError"})}};async function lq(e,t){let{address:n,factory:r,factoryData:o}=t;try{let[s,i,a,c,u,d,l]=await de(e,It,"readContract")({abi:TAe,address:n,functionName:"eip712Domain",factory:r,factoryData:o});return{domain:{name:i,version:a,chainId:Number(c),verifyingContract:u,salt:d},extensions:l,fields:s}}catch(s){let i=s;throw i.name==="ContractFunctionExecutionError"&&i.cause.name==="ContractFunctionZeroDataError"?new lw({address:n}):i}}var TAe=[{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"}];Ue();function fq(e){return{baseFeePerGas:e.baseFeePerGas.map(t=>BigInt(t)),gasUsedRatio:e.gasUsedRatio,oldestBlock:BigInt(e.oldestBlock),reward:e.reward?.map(t=>t.map(n=>BigInt(n)))}}async function pq(e,{blockCount:t,blockNumber:n,blockTag:r="latest",rewardPercentiles:o}){let s=typeof n=="bigint"?ue(n):void 0,i=await e.request({method:"eth_feeHistory",params:[ue(t),s||r,o]},{dedupe:!!s});return fq(i)}async function mq(e,{filter:t}){let n=t.strict??!1,o=(await t.request({method:"eth_getFilterLogs",params:[t.id]})).map(s=>gr(s));return t.abi?Ua({abi:t.abi,logs:o,strict:n}):o}Sd();Bo();Ue();Po();Sr();bf();Ue();Kb();ri();Ge();Bf();zi();ko();os();kc();Yn();function hq(e){let{authorizationList:t}=e;if(t)for(let n of t){let{chainId:r}=n,o=n.address;if(!it(o))throw new kt({address:o});if(r<0)throw new Wi({chainId:r})}fw(e)}function yq(e){let{blobVersionedHashes:t}=e;if(t){if(t.length===0)throw new E0;for(let n of t){let r=pt(n),o=rn(as(n,0,1));if(r!==32)throw new Ax({hash:n,size:r});if(o!==1)throw new Ex({hash:n,version:o})}}fw(e)}function fw(e){let{chainId:t,maxPriorityFeePerGas:n,maxFeePerGas:r,to:o}=e;if(t<=0)throw new Wi({chainId:t});if(o&&!it(o))throw new kt({address:o});if(r&&r>xd)throw new ls({maxFeePerGas:r});if(n&&r&&n>r)throw new ii({maxFeePerGas:r,maxPriorityFeePerGas:n})}function bq(e){let{chainId:t,maxPriorityFeePerGas:n,gasPrice:r,maxFeePerGas:o,to:s}=e;if(t<=0)throw new Wi({chainId:t});if(s&&!it(s))throw new kt({address:s});if(n||o)throw new Y("`maxFeePerGas`/`maxPriorityFeePerGas` is not a valid EIP-2930 Transaction attribute.");if(r&&r>xd)throw new ls({maxFeePerGas:r})}function gq(e){let{chainId:t,maxPriorityFeePerGas:n,gasPrice:r,maxFeePerGas:o,to:s}=e;if(s&&!it(s))throw new kt({address:s});if(typeof t<"u"&&t<=0)throw new Wi({chainId:t});if(n||o)throw new Y("`maxFeePerGas`/`maxPriorityFeePerGas` is not a valid Legacy Transaction attribute.");if(r&&r>xd)throw new ls({maxFeePerGas:r})}ri();Po();ko();function $f(e){if(!e||e.length===0)return[];let t=[];for(let n=0;n"u"||typeof p>"u")){let C=typeof e.blobs[0]=="string"?e.blobs:e.blobs.map(F=>vt(F)),v=e.kzg,D=_0({blobs:C,kzg:v});if(typeof m>"u"&&(m=gx({commitments:D})),typeof p>"u"){let F=A0({blobs:C,commitments:D,kzg:v});p=xx({blobs:C,commitments:D,proofs:F})}}let g=$f(d),E=[ue(n),o?ue(o):"0x",u?ue(u):"0x",c?ue(c):"0x",r?ue(r):"0x",s??"0x",i?ue(i):"0x",l??"0x",g,a?ue(a):"0x",m??[],...Bd(e,t)],x=[],S=[],N=[];if(p)for(let C=0;C{if(t.v>=35n)return(t.v-35n)/2n>0?t.v:27n+(t.v===35n?0n:1n);if(n>0)return BigInt(n*2)+BigInt(35n+t.v-27n);let p=27n+(t.v===27n?0n:1n);if(t.v!==p)throw new XE({v:t.v});return p})(),l=mr(t.r),m=mr(t.s);u=[...u,ue(d),l==="0x00"?"0x":l,m==="0x00"?"0x":m]}else n>0&&(u=[...u,ue(n),"0x","0x"]);return Fo(u)}function Bd(e,t){let n=t??e,{v:r,yParity:o}=n;if(typeof n.r>"u")return[];if(typeof n.s>"u")return[];if(typeof r>"u"&&typeof o>"u")return[];let s=mr(n.r),i=mr(n.s);return[typeof o=="number"?o?ue(1):"0x":r===0n?"0x":r===1n?ue(1):r===27n?"0x":ue(1),s==="0x00"?"0x":s,i==="0x00"?"0x":i]}function _q(e){if(!e||e.length===0)return[];let t=[];for(let n of e){let{chainId:r,nonce:o,...s}=n,i=n.address;t.push([r?ze(r):"0x",i,o?ze(o):"0x",...Bd({},s)])}return t}ka();jc();async function Aq({address:e,authorization:t,signature:n}){return Lr(Ui(e),await bd({authorization:t,signature:n}))}Ge();Tf();Rf();Hi();gf();var mw=new is(8192);function Eq(e,{enabled:t=!0,id:n}){if(!t||!n)return e();if(mw.get(n))return mw.get(n);let r=e().finally(()=>mw.delete(n));return mw.set(n,r),r}Pr();function xq(e,t={}){return async(n,r={})=>{let{dedupe:o=!1,methods:s,retryDelay:i=150,retryCount:a=3,signal:c,uid:u}={...t,...r},{method:d}=n;if(s?.exclude?.includes(d))throw new dd(new Error("method not supported"),{method:d});if(s?.include&&!s.include.includes(d))throw new dd(new Error("method not supported"),{method:d});if(c?.aborted)throw Zr(c);let l=o?OAe(`${u}.${at(n)}`):void 0;return Eq(()=>Ff(async()=>{try{return await e(n,c?{signal:c}:void 0)}catch(m){if(c?.aborted)throw Zr(c);if(us(m))throw m;let p=m;switch(p.code){case Mm.code:throw new Mm(p);case Fm.code:throw new Fm(p);case Um.code:throw new Um(p,{method:n.method});case Hm.code:throw new Hm(p);case Lc.code:throw new Lc(p);case si.code:throw new si(p);case $m.code:throw new $m(p);case zm.code:throw new zm(p);case ud.code:throw new ud(p);case dd.code:throw new dd(p,{method:n.method});case Sf.code:throw new Sf(p);case Vm.code:throw new Vm(p);case Mc.code:throw new Mc(p);case jm.code:throw new jm(p);case Gm.code:throw new Gm(p);case Wm.code:throw new Wm(p);case qm.code:throw new qm(p);case Km.code:throw new Km(p);case ld.code:throw new ld(p);case Ym.code:throw new Ym(p);case Zm.code:throw new Zm(p);case Xm.code:throw new Xm(p);case Jm.code:throw new Jm(p);case Qm.code:throw new Qm(p);case fd.code:throw new fd(p);case 5e3:throw new Mc(p);case pd.code:throw new pd(p);default:throw m instanceof Y?m:new ox(p)}}},{delay:({count:m,error:p})=>{if(p&&p instanceof oi){let g=p?.headers?.get("Retry-After");if(g?.match(/\d/))return Number.parseInt(g,10)*1e3}return~~(1<NAe(m)}),{enabled:o,id:l})}}function NAe(e){return us(e)?!1:"code"in e&&typeof e.code=="number"?e.code===-1||e.code===Sf.code||e.code===Lc.code||e.code===429||e.code===-32007:e instanceof oi&&e.status?e.status===403||e.status===408||e.status===413||e.status===429||e.status===500||e.status===502||e.status===503||e.status===504:!0}function OAe(e,t=0){let n=3735928559^t,r=1103547991^t;for(let o=0;o>>16,2246822507),n^=Math.imul(r^r>>>16,3266489909),r=Math.imul(r^r>>>16,2246822507),r^=Math.imul(n^n>>>16,3266489909),(4294967296*(2097151&r)+(n>>>0)).toString(36)}function Ie(e){let t={formatters:void 0,fees:void 0,serializers:void 0,...e};function n(r){return o=>{let s=typeof o=="function"?o(r):o,i={...r,...s};return Object.assign(i,{extend:n(i)})}}return Object.assign(t,{extend:n(t)})}Yn();Tf();Hi();Hi();function wq(e,{errorInstance:t=new Error("timed out"),timeout:n,signal:r}){return new Promise((o,s)=>{(async()=>{let i,a=new AbortController;try{n>0&&(i=setTimeout(()=>{r?a.abort():s(t)},n)),o(await e({signal:a?.signal||null}))}catch(c){if(a?.signal.aborted&&us(c)){s(t);return}s(c)}finally{clearTimeout(i)}})()})}Pr();function kAe(){return{current:0,take(){return this.current++},reset(){this.current=0}}}var XI=kAe();var DAe=10485760;function Tq(e,t={}){let{url:n,headers:r}=PAe(e);return{async request(o){let{body:s,fetchFn:i=t.fetchFn??fetch,maxResponseBodySize:a=t.maxResponseBodySize??DAe,onRequest:c=t.onRequest,onResponse:u=t.onResponse,timeout:d=t.timeout??1e4}=o,l={...t.fetchOptions??{},...o.fetchOptions??{}},{headers:m,method:p,signal:g}=l;try{let E=await wq(async({signal:N})=>{let C={...l,body:Array.isArray(s)?at(s.map(U=>({jsonrpc:"2.0",id:U.id??XI.take(),...U}))):at({jsonrpc:"2.0",id:s.id??XI.take(),...s}),headers:{...r,"Content-Type":"application/json",...m},method:p||"POST",signal:g||(d>0?N:null)},v=new Request(n,C),D=await c?.(v,C)??{...C,url:n};return await i(D.url??n,D)},{errorInstance:new Bb({body:s,url:n}),timeout:d,signal:!0});u&&await u(E);let x,S=await BAe(E,{maxResponseBodySize:a});if(E.headers.get("Content-Type")?.startsWith("application/json"))x=JSON.parse(S);else{x=S;try{x=JSON.parse(x||"{}")}catch(N){if(E.ok)throw N;x={error:x}}}if(!E.ok){if(typeof x.error?.code=="number"&&typeof x.error?.message=="string")return x;throw new oi({body:s,details:at(x.error)||E.statusText,headers:E.headers,status:E.status,url:n})}return x}catch(E){throw g?.aborted?Zr(g):us(E)||E instanceof oi||E instanceof wf||E instanceof Bb?E:new oi({body:s,cause:E,url:n})}}}}async function BAe(e,{maxResponseBodySize:t}){if(t===!1)return e.text();let n=e.headers.get("Content-Length");if(n){let a=Number(n);if(a>t)throw new wf({maxSize:t,size:a})}if(!e.body){let a=await e.text(),c=new TextEncoder().encode(a).length;if(c>t)throw new wf({maxSize:t,size:c});return a}let r=e.body.getReader(),o=new TextDecoder,s="",i=0;try{for(;;){let{done:a,value:c}=await r.read();if(a)break;if(i+=c.byteLength,i>t)throw await r.cancel(),new wf({maxSize:t,size:i});s+=o.decode(c,{stream:!0})}return s+=o.decode(),s}finally{r.releaseLock()}}function PAe(e){try{let t=new URL(e),n=(()=>{if(t.username){let r=`${decodeURIComponent(t.username)}:${decodeURIComponent(t.password)}`;return t.username="",t.password="",{url:t.toString(),headers:{Authorization:`Basic ${btoa(r)}`}}}})();return{url:t.toString(),...n}}catch{return{url:e}}}Fi();var Sq=`Ethereum Signed Message: +`;Sr();os();Ue();function Rq(e){let t=typeof e=="string"?nd(e):typeof e.raw=="string"?e.raw:vt(e.raw),n=nd(`${Sq}${pt(t)}`);return Tr([n,t])}function hw(e,t){return on(Rq(e),t)}Dc();Sr();Ue();Fi();er();ri();Pr();Ge();var yw=class extends Y{constructor({domain:t}){super(`Invalid domain "${at(t)}".`,{metaMessages:["Must be a valid EIP-712 domain."]})}},bw=class extends Y{constructor({primaryType:t,types:n}){super(`Invalid primary type \`${t}\` must be one of \`${JSON.stringify(Object.keys(n))}\`.`,{docsPath:"/api/glossary/Errors#typeddatainvalidprimarytypeerror",metaMessages:["Check that the primary type is a key in `types`."]})}},gw=class extends Y{constructor({type:t}){super(`Struct type "${t}" is invalid.`,{metaMessages:["Struct type must not be a Solidity type."],name:"InvalidStructTypeError"})}},_w=class extends Y{constructor({type:t}){let n=t.replace(/^(u?int)/,"$&256");super(`Type "${t}" is not a valid EIP-712 type.`,{metaMessages:[`Use "${n}" instead.`],name:"InvalidTypedDataTypeError"})}};ko();os();Ue();P5();Pr();function vq(e){let{domain:t,message:n,primaryType:r,types:o}=e,s=(c,u)=>{let d={...u};for(let l of c){let{name:m,type:p}=l;p==="address"&&(d[m]=d[m].toLowerCase())}return d},i=o.EIP712Domain?t?s(o.EIP712Domain,t):{}:{},a=(()=>{if(r!=="EIP712Domain")return s(o[r],n)})();return at({domain:i,message:a,primaryType:r,types:o})}function Aw(e){let{domain:t,message:n,primaryType:r,types:o}=e,s=(i,a)=>{for(let c of i){let{name:u,type:d}=c,l=a[u],m=d.replace(/(\[[0-9]*\])+$/,"");if(m==="int"||m==="uint")throw new _w({type:d});let p=d.match(ME);if(p&&(typeof l=="number"||typeof l=="bigint")){let[x,S,N]=p;ue(l,{signed:S==="int",size:Number.parseInt(N,10)/8})}if(d==="address"&&typeof l=="string"&&!it(l))throw new kt({address:l});let g=d.match(Fj);if(g){let[x,S]=g;if(S&&pt(l)!==Number.parseInt(S,10))throw new RE({expectedSize:Number.parseInt(S,10),givenSize:pt(l)})}let E=o[d];E&&(LAe(d),s(E,l))}};if(o.EIP712Domain&&t){if(typeof t!="object")throw new yw({domain:t});s(o.EIP712Domain,t)}if(r!=="EIP712Domain")if(o[r])s(o[r],n);else throw new bw({primaryType:r,types:o})}function Ew({domain:e}){return[typeof e?.name=="string"&&{name:"name",type:"string"},e?.version&&{name:"version",type:"string"},(typeof e?.chainId=="number"||typeof e?.chainId=="bigint")&&{name:"chainId",type:"uint256"},e?.verifyingContract&&{name:"verifyingContract",type:"address"},e?.salt&&{name:"salt",type:"bytes32"}].filter(Boolean)}function LAe(e){if(e==="address"||e==="bool"||e==="string"||e.startsWith("bytes")||e.startsWith("uint")||e.startsWith("int"))throw new gw({type:e})}function Iq(e){let{domain:t={},message:n,primaryType:r}=e,o={EIP712Domain:Ew({domain:t}),...e.types};Aw({domain:t,message:n,primaryType:r,types:o});let s=["0x1901"];return t&&s.push(MAe({domain:t,types:o})),r!=="EIP712Domain"&&s.push(Cq({data:n,primaryType:r,types:o})),on(Tr(s))}function MAe({domain:e,types:t}){return Cq({data:e,primaryType:"EIP712Domain",types:t})}function Cq({data:e,primaryType:t,types:n}){let r=Nq({data:e,primaryType:t,types:n});return on(r)}function Nq({data:e,primaryType:t,types:n}){let r=[{type:"bytes32"}],o=[FAe({primaryType:t,types:n})];for(let s of n[t]){let[i,a]=kq({types:n,name:s.name,type:s.type,value:e[s.name]});r.push(i),o.push(a)}return Do(r,o)}function FAe({primaryType:e,types:t}){let n=ze(UAe({primaryType:e,types:t}));return on(n)}function UAe({primaryType:e,types:t}){let n="",r=Oq({primaryType:e,types:t});r.delete(e);let o=[e,...Array.from(r).sort()];for(let s of o)n+=`${s}(${t[s].map(({name:i,type:a})=>`${a} ${i}`).join(",")})`;return n}function Oq({primaryType:e,types:t},n=new Set){let o=e.match(/^\w*/u)?.[0];if(n.has(o)||t[o]===void 0)return n;n.add(o);for(let s of t[o])Oq({primaryType:s.type,types:t},n);return n}function kq({types:e,name:t,type:n,value:r}){if(e[n]!==void 0)return[{type:"bytes32"},on(Nq({data:r,primaryType:n,types:e}))];if(n==="bytes")return[{type:"bytes32"},on(r)];if(n==="string")return[{type:"bytes32"},on(ze(r))];if(n.lastIndexOf("]")===n.length-1){let o=n.slice(0,n.lastIndexOf("[")),s=r.map(i=>kq({name:t,type:o,types:e,value:i}));return[{type:"bytes32"},on(Do(s.map(([i])=>i),s.map(([,i])=>i)))]}return[{type:n},r]}var dg={};rp(dg,{InvalidWrappedSignatureError:()=>Lw,assert:()=>Mw,from:()=>AEe,magicBytes:()=>wC,suffixParameters:()=>TC,unwrap:()=>Qq,validate:()=>xEe,wrap:()=>EEe});Em();qc();var xw=class extends Map{constructor(t){super(),Object.defineProperty(this,"maxSize",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.maxSize=t}get(t){let n=super.get(t);return super.has(t)&&n!==void 0&&(this.delete(t),super.set(t,n)),n}set(t,n){if(super.set(t,n),this.maxSize&&this.size>this.maxSize){let r=this.keys().next().value;r&&this.delete(r)}return this}};var HAe={checksum:new xw(8192)},ww=HAe.checksum;ps();BE();qc();Mr();function zf(e,t={}){let{as:n=typeof e=="string"?"Hex":"Bytes"}=t,r=vm(II(e));return n==="Bytes"?r:or(r)}qc();ps();Mr();Jb();function Dq(e,t={}){let{compressed:n}=t,{prefix:r,x:o,y:s}=e;if(n===!1||typeof o=="bigint"&&typeof s=="bigint"){if(r!==4)throw new Tw({prefix:r,cause:new tC});return}if(n===!0||typeof o=="bigint"&&typeof s>"u"){if(r!==3&&r!==2)throw new Tw({prefix:r,cause:new eC});return}throw new QI({publicKey:e})}function Bq(e){let t=(()=>{if(eg(e))return Pq(e);if(AW(e))return zAe(e);let{prefix:n,x:r,y:o}=e;return typeof r=="bigint"&&typeof o=="bigint"?{prefix:n??4,x:r,y:o}:{prefix:n,x:r}})();return Dq(t),t}function zAe(e){return Pq(or(e))}function Pq(e){if(e.length!==132&&e.length!==130&&e.length!==68)throw new nC({publicKey:e});if(e.length===130){let r=BigInt(Fn(e,0,32)),o=BigInt(Fn(e,32,64));return{prefix:4,x:r,y:o}}if(e.length===132){let r=Number(Fn(e,0,1)),o=BigInt(Fn(e,1,33)),s=BigInt(Fn(e,33,65));return{prefix:r,x:o,y:s}}let t=Number(Fn(e,0,1)),n=BigInt(Fn(e,1,33));return{prefix:t,x:n}}function rC(e,t={}){Dq(e);let{prefix:n,x:r,y:o}=e,{includePrefix:s=!0}=t;return Gn(s?Dt(n,{size:1}):"0x",Dt(r,{size:32}),typeof o=="bigint"?Dt(o,{size:32}):"0x")}var QI=class extends ve{constructor({publicKey:t}){super(`Value \`${Id(t)}\` is not a valid public key.`,{metaMessages:["Public key must contain:","- an `x` and `prefix` value (compressed)","- an `x`, `y`, and `prefix` value (uncompressed)"]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"PublicKey.InvalidError"})}},Tw=class extends ve{constructor({prefix:t,cause:n}){super(`Prefix "${t}" is invalid.`,{cause:n}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"PublicKey.InvalidPrefixError"})}},eC=class extends ve{constructor(){super("Prefix must be 2 or 3 for compressed public keys."),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"PublicKey.InvalidCompressedPrefixError"})}},tC=class extends ve{constructor(){super("Prefix must be 4 for uncompressed public keys."),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"PublicKey.InvalidUncompressedPrefixError"})}},nC=class extends ve{constructor({publicKey:t}){super(`Value \`${t}\` is an invalid public key size.`,{metaMessages:["Expected: 33 bytes (compressed + prefix), 64 bytes (uncompressed) or 65 bytes (uncompressed + prefix).",`Received ${jn(N0(t))} bytes.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"PublicKey.InvalidSerializedSizeError"})}};var VAe=/^0x[a-fA-F0-9]{40}$/;function Vf(e,t={}){let{strict:n=!0}=t;if(!VAe.test(e))throw new Sw({address:e,cause:new oC});if(n){if(e.toLowerCase()===e)return;if(Rw(e)!==e)throw new Sw({address:e,cause:new sC})}}function Rw(e){if(ww.has(e))return ww.get(e);Vf(e,{strict:!1});let t=e.substring(2).toLowerCase(),n=zf(Nx(t),{as:"Bytes"}),r=t.split("");for(let s=0;s<40;s+=2)n[s>>1]>>4>=8&&r[s]&&(r[s]=r[s].toUpperCase()),(n[s>>1]&15)>=8&&r[s+1]&&(r[s+1]=r[s+1].toUpperCase());let o=`0x${r.join("")}`;return ww.set(e,o),o}function jAe(e,t={}){let{checksum:n=!1}=t;return Vf(e),n?Rw(e):e}function Mq(e,t={}){let n=zf(`0x${rC(e).slice(4)}`).substring(26);return jAe(`0x${n}`,t)}function vw(e,t={}){let{strict:n=!0}=t??{};try{return Vf(e,{strict:n}),!0}catch{return!1}}var Sw=class extends ve{constructor({address:t,cause:n}){super(`Address "${t}" is invalid.`,{cause:n}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Address.InvalidAddressError"})}},oC=class extends ve{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"})}},sC=class extends ve{constructor(){super("Address does not match its checksum counterpart."),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Address.InvalidChecksumError"})}};qc();ps();Mr();qc();ps();Mr();var Fq=/^(.*)\[([0-9]*)\]$/,Uq=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,Cw=/^(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)?$/,Kje=2n**(8n-1n)-1n,Yje=2n**(16n-1n)-1n,Zje=2n**(24n-1n)-1n,Xje=2n**(32n-1n)-1n,Jje=2n**(40n-1n)-1n,Qje=2n**(48n-1n)-1n,eGe=2n**(56n-1n)-1n,tGe=2n**(64n-1n)-1n,nGe=2n**(72n-1n)-1n,rGe=2n**(80n-1n)-1n,oGe=2n**(88n-1n)-1n,sGe=2n**(96n-1n)-1n,iGe=2n**(104n-1n)-1n,aGe=2n**(112n-1n)-1n,cGe=2n**(120n-1n)-1n,uGe=2n**(128n-1n)-1n,dGe=2n**(136n-1n)-1n,lGe=2n**(144n-1n)-1n,fGe=2n**(152n-1n)-1n,pGe=2n**(160n-1n)-1n,mGe=2n**(168n-1n)-1n,hGe=2n**(176n-1n)-1n,yGe=2n**(184n-1n)-1n,bGe=2n**(192n-1n)-1n,gGe=2n**(200n-1n)-1n,_Ge=2n**(208n-1n)-1n,AGe=2n**(216n-1n)-1n,EGe=2n**(224n-1n)-1n,xGe=2n**(232n-1n)-1n,wGe=2n**(240n-1n)-1n,TGe=2n**(248n-1n)-1n,SGe=2n**(256n-1n)-1n,RGe=-(2n**(8n-1n)),vGe=-(2n**(16n-1n)),IGe=-(2n**(24n-1n)),CGe=-(2n**(32n-1n)),NGe=-(2n**(40n-1n)),OGe=-(2n**(48n-1n)),kGe=-(2n**(56n-1n)),DGe=-(2n**(64n-1n)),BGe=-(2n**(72n-1n)),PGe=-(2n**(80n-1n)),LGe=-(2n**(88n-1n)),MGe=-(2n**(96n-1n)),FGe=-(2n**(104n-1n)),UGe=-(2n**(112n-1n)),HGe=-(2n**(120n-1n)),$Ge=-(2n**(128n-1n)),zGe=-(2n**(136n-1n)),VGe=-(2n**(144n-1n)),jGe=-(2n**(152n-1n)),GGe=-(2n**(160n-1n)),WGe=-(2n**(168n-1n)),qGe=-(2n**(176n-1n)),KGe=-(2n**(184n-1n)),YGe=-(2n**(192n-1n)),ZGe=-(2n**(200n-1n)),XGe=-(2n**(208n-1n)),JGe=-(2n**(216n-1n)),QGe=-(2n**(224n-1n)),eWe=-(2n**(232n-1n)),tWe=-(2n**(240n-1n)),nWe=-(2n**(248n-1n)),rWe=-(2n**(256n-1n)),oWe=2n**8n-1n,sWe=2n**16n-1n,iWe=2n**24n-1n,aWe=2n**32n-1n,cWe=2n**40n-1n,uWe=2n**48n-1n,dWe=2n**56n-1n,lWe=2n**64n-1n,fWe=2n**72n-1n,pWe=2n**80n-1n,mWe=2n**88n-1n,hWe=2n**96n-1n,yWe=2n**104n-1n,bWe=2n**112n-1n,gWe=2n**120n-1n,_We=2n**128n-1n,AWe=2n**136n-1n,EWe=2n**144n-1n,xWe=2n**152n-1n,wWe=2n**160n-1n,TWe=2n**168n-1n,SWe=2n**176n-1n,RWe=2n**184n-1n,vWe=2n**192n-1n,IWe=2n**200n-1n,CWe=2n**208n-1n,NWe=2n**216n-1n,OWe=2n**224n-1n,kWe=2n**232n-1n,DWe=2n**240n-1n,BWe=2n**248n-1n,iC=2n**256n-1n;function jf(e,t,n){let{checksumAddress:r,staticPosition:o}=n,s=uC(t.type);if(s){let[i,a]=s;return WAe(e,{...t,type:a},{checksumAddress:r,length:i,staticPosition:o})}if(t.type==="tuple")return ZAe(e,t,{checksumAddress:r,staticPosition:o});if(t.type==="address")return GAe(e,{checksum:r});if(t.type==="bool")return qAe(e);if(t.type.startsWith("bytes"))return KAe(e,t,{staticPosition:o});if(t.type.startsWith("uint")||t.type.startsWith("int"))return YAe(e,t);if(t.type==="string")return XAe(e,{staticPosition:o});throw new z0(t.type)}var $q=32,aC=32;function GAe(e,t={}){let{checksum:n=!1}=t,r=e.readBytes(32);return[(s=>n?Rw(s):s)(or(yW(r,-20))),32]}function WAe(e,t,n){let{checksumAddress:r,length:o,staticPosition:s}=n;if(o===null){let c=Ha(e.readBytes(aC)),u=s+c,d=u+$q;e.setPosition(u);let l=Ha(e.readBytes($q)),m=$0(t),p=0,g=[];for(let E=0;E48?bW(o,{signed:n}):Ha(o,{signed:n}),32]}function ZAe(e,t,n){let{checksumAddress:r,staticPosition:o}=n,s=t.components.length===0||t.components.some(({name:c})=>!c),i=s?[]:{},a=0;if($0(t)){let c=Ha(e.readBytes(aC)),u=o+c;for(let d=0;d0?Gn(u,c):u}}if(i)return{dynamic:!0,encoded:c}}return{dynamic:!1,encoded:Gn(...a.map(({encoded:c})=>c))}}function eEe(e,{type:t}){let[,n]=t.split("bytes"),r=jn(e);if(!n){let o=e;return r%32!==0&&(o=$a(o,Math.ceil((e.length-2)/2/32)*32)),{dynamic:!0,encoded:Gn(Kc(Dt(r,{size:32})),o)}}if(r!==Number.parseInt(n,10))throw new sg({expectedSize:Number.parseInt(n,10),value:e});return{dynamic:!1,encoded:$a(e)}}function tEe(e){if(typeof e!="boolean")throw new ve(`Invalid boolean value: "${e}" (type: ${typeof e}). Expected: \`true\` or \`false\`.`);return{dynamic:!1,encoded:Kc(Bx(e))}}function nEe(e,{signed:t,size:n}){if(typeof n=="number"){let r=2n**(BigInt(n)-(t?1n:0n))-1n,o=t?-r-1n:0n;if(e>r||ei))}}function uC(e){let t=e.match(/^(.*)\[(\d+)?\]$/);return t?[t[2]?Number(t[2]):null,t[1]]:void 0}function $0(e){let{type:t}=e;if(t==="string"||t==="bytes"||t.endsWith("[]"))return!0;if(t==="tuple")return e.components?.some($0);let n=uC(e.type);return!!(n&&$0({...e,type:n[1]}))}ps();var iEe={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 lC({count:this.recursiveReadCount+1,limit:this.recursiveReadLimit})},assertPosition(e){if(e<0||e>this.bytes.length-1)throw new dC({length:this.bytes.length,position:e})},decrementPosition(e){if(e<0)throw new Dw({offset:e});let t=this.position-e;this.assertPosition(t),this.position=t},getReadCount(e){return this.positionReadCount.get(e||this.position)||0},incrementPosition(e){if(e<0)throw new Dw({offset:e});let t=this.position+e;this.assertPosition(t),this.position=t},inspectByte(e){let t=e??this.position;return this.assertPosition(t),this.bytes[t]},inspectBytes(e,t){let n=t??this.position;return this.assertPosition(n+e-1),this.bytes.subarray(n,n+e)},inspectUint8(e){let t=e??this.position;return this.assertPosition(t),this.bytes[t]},inspectUint16(e){let t=e??this.position;return this.assertPosition(t+1),this.dataView.getUint16(t)},inspectUint24(e){let t=e??this.position;return this.assertPosition(t+2),(this.dataView.getUint16(t)<<8)+this.dataView.getUint8(t+2)},inspectUint32(e){let t=e??this.position;return this.assertPosition(t+3),this.dataView.getUint32(t)},pushByte(e){this.assertPosition(this.position),this.bytes[this.position]=e,this.position++},pushBytes(e){this.assertPosition(this.position+e.length-1),this.bytes.set(e,this.position),this.position+=e.length},pushUint8(e){this.assertPosition(this.position),this.bytes[this.position]=e,this.position++},pushUint16(e){this.assertPosition(this.position+1),this.dataView.setUint16(this.position,e),this.position+=2},pushUint24(e){this.assertPosition(this.position+2),this.dataView.setUint16(this.position,e>>8),this.dataView.setUint8(this.position+2,e&255),this.position+=3},pushUint32(e){this.assertPosition(this.position+3),this.dataView.setUint32(this.position,e),this.position+=4},readByte(){this.assertReadLimit(),this._touch();let e=this.inspectByte();return this.position++,e},readBytes(e,t){this.assertReadLimit(),this._touch();let n=this.inspectBytes(e);return this.position+=t??e,n},readUint8(){this.assertReadLimit(),this._touch();let e=this.inspectUint8();return this.position+=1,e},readUint16(){this.assertReadLimit(),this._touch();let e=this.inspectUint16();return this.position+=2,e},readUint24(){this.assertReadLimit(),this._touch();let e=this.inspectUint24();return this.position+=3,e},readUint32(){this.assertReadLimit(),this._touch();let e=this.inspectUint32();return this.position+=4,e},get remaining(){return this.bytes.length-this.position},setPosition(e){let t=this.position;return this.assertPosition(e),this.position=e,()=>this.position=t},_touch(){if(this.recursiveReadLimit===Number.POSITIVE_INFINITY)return;let e=this.getReadCount();this.positionReadCount.set(this.position,e+1),e>0&&this.recursiveReadCount++}};function Bw(e,{recursiveReadLimit:t=8192}={}){let n=Object.create(iEe);return n.bytes=e,n.dataView=new DataView(e.buffer,e.byteOffset,e.byteLength),n.positionReadCount=new Map,n.recursiveReadLimit=t,n}var Dw=class extends ve{constructor({offset:t}){super(`Offset \`${t}\` cannot be negative.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Cursor.NegativeOffsetError"})}},dC=class extends ve{constructor({length:t,position:n}){super(`Position \`${n}\` is out of bounds (\`0 < position < ${t}\`).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Cursor.PositionOutOfBoundsError"})}},lC=class extends ve{constructor({count:t,limit:n}){super(`Recursive read limit of \`${n}\` exceeded (recursive read count: \`${t}\`).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Cursor.RecursiveReadLimitExceededError"})}};function Gf(e,t,n={}){let{as:r="Array",checksumAddress:o=!1}=n,s=typeof t=="string"?C0(t):t,i=Bw(s);if(ui(s)===0&&e.length>0)throw new mC;if(ui(s)&&ui(s)<32)throw new pC({data:typeof t=="string"?t:or(t),parameters:e,size:ui(s)});let a=0,c=r==="Array"?[]:{};for(let u=0;uGq(t))):uEe(e)}function cEe(e){let t=e.reduce((o,s)=>o+s.length,0),n=Wq(t);return{length:t<=55?1+t:1+n+t,encode(o){t<=55?o.pushByte(192+t):(o.pushByte(247+n),n===1?o.pushUint8(t):n===2?o.pushUint16(t):n===3?o.pushUint24(t):o.pushUint32(t));for(let{encode:s}of e)s(o)}}}function uEe(e){let t=typeof e=="string"?C0(e):e,n=Wq(t.length);return{length:t.length===1&&t[0]<128?1:t.length<=55?1+t.length:1+n+t.length,encode(o){t.length===1&&t[0]<128?o.pushBytes(t):t.length<=55?(o.pushByte(128+t.length),o.pushBytes(t)):(o.pushByte(183+n),n===1?o.pushUint8(t.length):n===2?o.pushUint16(t.length):n===3?o.pushUint24(t.length):o.pushUint32(t.length),o.pushBytes(t))}}}function Wq(e){if(e<=255)return 1;if(e<=65535)return 2;if(e<=16777215)return 3;if(e<=4294967295)return 4;throw new ve("Length is too large.")}ps();Mr();Jb();function _C(e,t={}){let{recovered:n}=t;if(typeof e.r>"u")throw new cg({signature:e});if(typeof e.s>"u")throw new cg({signature:e});if(n&&typeof e.yParity>"u")throw new cg({signature:e});if(e.r<0n||e.r>iC)throw new yC({value:e.r});if(e.s<0n||e.s>iC)throw new bC({value:e.s});if(typeof e.yParity=="number"&&e.yParity!==0&&e.yParity!==1)throw new ug({value:e.yParity})}function lEe(e){return qq(or(e))}function qq(e){if(e.length!==130&&e.length!==132)throw new hC({signature:e});let t=BigInt(Fn(e,0,32)),n=BigInt(Fn(e,32,64)),r=(()=>{let o=+`0x${e.slice(130)}`;if(!Number.isNaN(o))try{return xC(o)}catch{throw new ug({value:o})}})();return typeof r>"u"?{r:t,s:n}:{r:t,s:n,yParity:r}}function AC(e){if(!(typeof e.r>"u")&&!(typeof e.s>"u"))return EC(e)}function EC(e){let t=typeof e=="string"?qq(e):e instanceof Uint8Array?lEe(e):typeof e.r=="string"?pEe(e):e.v?fEe(e):{r:e.r,s:e.s,...typeof e.yParity<"u"?{yParity:e.yParity}:{}};return _C(t),t}function fEe(e){return{r:e.r,s:e.s,yParity:xC(e.v)}}function pEe(e){let t=(()=>{let n=e.v?Number(e.v):void 0,r=e.yParity?Number(e.yParity):void 0;if(typeof n=="number"&&typeof r!="number"&&(r=xC(n)),typeof r!="number")throw new ug({value:e.yParity});return r})();return{r:BigInt(e.r),s:BigInt(e.s),yParity:t}}function Kq(e){let{r:t,s:n,yParity:r}=e;return[r?"0x01":"0x",t===0n?"0x":OI(Dt(t)),n===0n?"0x":OI(Dt(n))]}function xC(e){if(e===0||e===27)return 0;if(e===1||e===28)return 1;if(e>=35)return e%2===0?1:0;throw new gC({value:e})}var hC=class extends ve{constructor({signature:t}){super(`Value \`${t}\` is an invalid signature size.`,{metaMessages:["Expected: 64 bytes or 65 bytes.",`Received ${jn(N0(t))} bytes.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.InvalidSerializedSizeError"})}},cg=class extends ve{constructor({signature:t}){super(`Signature \`${Id(t)}\` is missing either an \`r\`, \`s\`, or \`yParity\` property.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.MissingPropertiesError"})}},yC=class extends ve{constructor({value:t}){super(`Value \`${t}\` is an invalid r value. r must be a positive integer less than 2^256.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.InvalidRError"})}},bC=class extends ve{constructor({value:t}){super(`Value \`${t}\` is an invalid s value. s must be a positive integer less than 2^256.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.InvalidSError"})}},ug=class extends ve{constructor({value:t}){super(`Value \`${t}\` is an invalid y-parity value. Y-parity must be 0 or 1.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.InvalidYParityError"})}},gC=class extends ve{constructor({value:t}){super(`Value \`${t}\` is an invalid v value. v must be 27, 28 or >=35.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.InvalidVError"})}};function Zq(e,t={}){return typeof e.chainId=="string"?mEe(e):{...e,...t.signature}}function mEe(e){let{address:t,chainId:n,nonce:r}=e,o=AC(e);return{address:t,chainId:Number(n),nonce:BigInt(r),...o}}function Xq(e){return hEe(e,{presign:!0})}function hEe(e,t={}){let{presign:n}=t;return zf(Gn("0x05",jq(yEe(n?{address:e.address,chainId:e.chainId,nonce:e.nonce}:e))))}function yEe(e){let{address:t,chainId:n,nonce:r}=e,o=AC(e);return[n?Dt(n):"0x",t,r?Dt(r):"0x",...o?Kq(o):[]]}ps();Mr();fx();qc();Mr();function Jq(e){return Mq(gEe(e))}function gEe(e){let{payload:t,signature:n}=e,{r,s:o,yParity:s}=n,a=new Vc.Signature(BigInt(r),BigInt(o)).addRecoveryBit(s).recoverPublicKey(N0(t).substring(2));return Bq(a)}var zWe=Nx("ox.secp256k1.fromSeed.v1");var wC="0x8010801080108010801080108010801080108010801080108010801080108010",TC=ag("(uint256 chainId, address delegation, uint256 nonce, uint8 yParity, uint256 r, uint256 s), address to, bytes data");function Mw(e){if(typeof e=="string"){if(Fn(e,-32)!==wC)throw new Lw(e)}else _C(e.authorization)}function AEe(e){return typeof e=="string"?Qq(e):e}function Qq(e){Mw(e);let t=Ox(Fn(e,-64,-32)),n=Fn(e,-t-64,-64),r=Fn(e,0,-t-64),[o,s,i]=Gf(TC,n);return{authorization:Zq({address:o.delegation,chainId:Number(o.chainId),nonce:o.nonce,yParity:o.yParity,r:o.r,s:o.s}),signature:r,...i&&i!=="0x"?{data:i,to:s}:{}}}function EEe(e){let{data:t,signature:n}=e;Mw(e);let r=Jq({payload:Xq(e.authorization),signature:EC(e.authorization)}),o=Pd(TC,[{...e.authorization,delegation:e.authorization.address,chainId:BigInt(e.authorization.chainId)},e.to??r,t??"0x"]),s=Dt(jn(o),{size:32});return Gn(n,o,s,wC)}function xEe(e){try{return Mw(e),!0}catch{return!1}}var Lw=class extends ve{constructor(t){super(`Value \`${t}\` is an invalid ERC-8010 wrapped signature.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"SignatureErc8010.InvalidWrappedSignatureError"})}};Db();function V0(e,t){return WE(e,t)}Db();function eK(e,t){return tG(e,t)}function wEe(e){return e.map(t=>({...t,value:BigInt(t.value)}))}function tK(e){return{...e,balance:e.balance?BigInt(e.balance):void 0,nonce:e.nonce?rn(e.nonce):void 0,storageProof:e.storageProof?wEe(e.storageProof):void 0}}async function nK(e,{address:t,blockHash:n,blockNumber:r,blockTag:o="latest",requireCanonical:s,storageKeys:i}){let a=Uo({blockHash:n,blockNumber:r,blockTag:o,requireCanonical:s}),c=await e.request({method:"eth_getProof",params:[t,i,a]});return tK(c)}Po();async function rK(e,{hash:t}){let n=await e.request({method:"eth_getRawTransactionByHash",params:[t]},{dedupe:!0});if(!n)throw new id({hash:t});return n}Sd();async function oK(e,{address:t,blockHash:n,blockNumber:r,blockTag:o="latest",requireCanonical:s,slot:i}){let a=Uo({blockHash:n,blockNumber:r,blockTag:o,requireCanonical:s});return await e.request({method:"eth_getStorageAt",params:[t,i,a]})}Sd();async function sK(e,{blockHash:t,blockNumber:n,blockTag:r="latest",requireCanonical:o,requests:s}){let i=Uo({blockHash:t,blockNumber:n,blockTag:r,requireCanonical:o});return e.request({method:"eth_getStorageValues",params:[s,i]})}Po();Ue();async function j0(e,{blockHash:t,blockNumber:n,blockTag:r,hash:o,index:s,sender:i,nonce:a}){let c=r||"latest",u=n!==void 0?ue(n):void 0,d=null;if(o?d=await e.request({method:"eth_getTransactionByHash",params:[o]},{dedupe:!0}):t?d=await e.request({method:"eth_getTransactionByBlockHashAndIndex",params:[t,ue(s)]},{dedupe:!0}):(u||c)&&typeof s=="number"?d=await e.request({method:"eth_getTransactionByBlockNumberAndIndex",params:[u||c,ue(s)]},{dedupe:!!u}):i&&typeof a=="number"&&(d=await e.request({method:"eth_getTransactionBySenderAndNonce",params:[i,ue(a)]},{dedupe:!0})),!d)throw new id({blockHash:t,blockNumber:n,blockTag:c,hash:o,index:s});return(e.chain?.formatters?.transaction?.format||ji)(d,"getTransaction")}async function iK(e,{hash:t,transactionReceipt:n}){let[r,o]=await Promise.all([de(e,fi,"getBlockNumber")({}),t?de(e,j0,"getTransaction")({hash:t}):void 0]),s=n?.blockNumber||o?.blockNumber;return s?r-s+1n:0n}Po();async function G0(e,{hash:t}){let n=await e.request({method:"eth_getTransactionReceipt",params:[t]},{dedupe:!0});if(!n)throw new Pm({hash:t});return(e.chain?.formatters?.transactionReceipt?.format||Uf)(n,"getTransactionReceipt")}Eo();tg();er();Ge();Pc();Gc();Bo();Lf();jx();Pr();async function aK(e,t){let{account:n,authorizationList:r,allowFailure:o=!0,blockHash:s,blockNumber:i,blockOverrides:a,blockTag:c,requireCanonical:u,stateOverride:d}=t,l=t.contracts,m=typeof e.batch?.multicall=="object"?e.batch.multicall:{},p=t.batchSize??m.batchSize??1024,g=t.deployless??m.deployless??!1,E=(()=>{if(t.multicallAddress)return t.multicallAddress;if(g)return null;if(e.chain)return di({blockNumber:i,chain:e.chain,contract:"multicall3"});throw new Error("client chain not configured. multicallAddress is required.")})(),x=[[]],S=0,N=0;for(let U=0;U0&&N>p&&x[S].length>0&&(S++,N=(X.length-2)/2,x[S]=[]),x[S]=[...x[S],{allowFailure:!0,callData:X,target:$}]}catch(X){let w=Cs(X,{abi:V,address:$,args:z,docsPath:"/docs/contract/multicall",functionName:W,sender:n});if(!o)throw w;x[S]=[...x[S],{allowFailure:!0,callData:"0x",target:$}]}}let C=!!e.batch?.multicall,v=C?x.flatMap(U=>U.map(V=>[V])):x,D=await Promise.allSettled(v.map(U=>C?TEe(e,{account:n,authorizationList:r,batchSize:p,blockHash:s,blockNumber:i,blockOverrides:a,blockTag:c,call:U[0],multicallAddress:E,requireCanonical:u,stateOverride:d}).then(V=>[V]):de(e,It,"readContract")({...E===null?{code:kf}:{address:E},abi:Gi,account:n,args:[U],authorizationList:r,blockHash:s,blockNumber:i,blockOverrides:a,blockTag:c,functionName:"aggregate3",requireCanonical:u,stateOverride:d}))),F=[];for(let U=0;Ul+(m.length-2)/2,0)>n},fn:u=>de(e,It,"readContract")({...o===null?{code:kf}:{address:o},...s,abi:Gi,args:[u],functionName:"aggregate3"})}),[c]=await a(r);return c}kI();kn();er();Pc();zi();Gc();Bo();Sr();Ue();Gb();ci();qb();Vi();async function W0(e,t){let{blockNumber:n,blockTag:r=e.experimental_blockTag??"latest",blocks:o,returnFullTransactions:s,traceTransfers:i,validation:a}=t;try{let c=[];for(let m of o){let p=m.blockOverrides?Px(m.blockOverrides):void 0,g=m.calls.map(x=>{let S=x,N=S.account?Pe(S.account):void 0,C=S.abi?Ft(S):S.data,v={...S,account:N,data:S.dataSuffix?Tr([C||"0x",S.dataSuffix]):C,from:S.from??N?.address};return yr(v),vr(v)}),E=m.stateOverrides?Ed(m.stateOverrides):void 0;c.push({blockOverrides:p,calls:g,stateOverrides:E})}let d=(typeof n=="bigint"?ue(n):void 0)||r;return(await e.request({method:"eth_simulateV1",params:[{blockStateCalls:c,returnFullTransactions:s,traceTransfers:i,validation:a},d]})).map((m,p)=>({...Nf(m),calls:m.calls.map((g,E)=>{let{abi:x,args:S,functionName:N,to:C}=o[p].calls[E],v=g.error?.data??g.returnData,D=BigInt(g.gasUsed),F=g.maxUsedGas===void 0?void 0:BigInt(g.maxUsedGas),U=g.logs?.map(W=>gr(W)),V=g.status==="0x1"?"success":"failure",$=x&&V==="success"&&v!=="0x"?Ao({abi:x,data:v,functionName:N}):null,z=(()=>{if(V==="success")return;let W;if(v==="0x"?W=new ti:v&&(W=new La({data:v})),!!W)return Cs(W,{abi:x??[],address:C??"0x",args:S,functionName:N??""})})();return{data:v,gasUsed:D,logs:U,...F===void 0?{}:{maxUsedGas:F},status:V,...V==="success"?{result:$}:{error:z}}})}))}catch(c){let u=c,d=gd(u,{});throw d instanceof ai?u:d}}Em();ps();Mr();ps();function Uw(e){let t=!0,n="",r=0,o="",s=!1;for(let i=0;iFw(Object.values(e)[s],o)):/^u?int(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/.test(r)?n==="number"||n==="bigint":/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/.test(r)?n==="string"||e instanceof Uint8Array:/[a-z]+[1-9]{0,3}(\[[0-9]{0,}\])+$/.test(r)?Array.isArray(e)&&e.every(o=>Fw(o,{...t,type:r.replace(/(\[[0-9]{0,}\])$/,"")})):!1}}function SC(e,t,n){for(let r in e){let o=e[r],s=t[r];if(o.type==="tuple"&&s.type==="tuple"&&"components"in o&&"components"in s)return SC(o.components,s.components,n[r]);let i=[o.type,s.type];if(i.includes("address")&&i.includes("bytes20")?!0:i.includes("address")&&i.includes("string")?vw(n[r],{strict:!1}):i.includes("address")&&i.includes("bytes")?vw(n[r],{strict:!1}):!1)return i}}function q0(e,t={}){let{prepare:n=!0}=t,r=Array.isArray(e)?bb(e):typeof e=="string"?bb(e):e;return{...r,...n?{hash:Ld(r)}:{}}}function K0(e,t,n){let{args:r=[],prepare:o=!0}=n??{},s=eg(t,{strict:!1}),i=e.filter(u=>s?u.type==="function"||u.type==="error"?vC(u)===Fn(t,0,4):u.type==="event"?Ld(u)===t:!1:"name"in u&&u.name===t);if(i.length===0)throw new Zc({name:t});if(i.length===1)return{...i[0],...o?{hash:Ld(i[0])}:{}};let a;for(let u of i){if(!("inputs"in u))continue;if(!r||r.length===0){if(!u.inputs||u.inputs.length===0)return{...u,...o?{hash:Ld(u)}:{}};continue}if(!u.inputs||u.inputs.length===0||u.inputs.length!==r.length)continue;if(r.every((l,m)=>{let p="inputs"in u&&u.inputs[m];return p?Fw(l,p):!1})){if(a&&"inputs"in a&&a.inputs){let l=SC(u.inputs,a.inputs,r);if(l)throw new RC({abiItem:u,type:l[0]},{abiItem:a,type:l[1]})}a=u}}let c=(()=>{if(a)return a;let[u,...d]=i;return{...u,overloads:d}})();if(!c)throw new Zc({name:t});return{...c,...o?{hash:Ld(c)}:{}}}function vC(...e){let t=(()=>{if(Array.isArray(e[0])){let[n,r]=e;return K0(n,r)}return e[0]})();return Fn(Ld(t),0,4)}function REe(...e){let t=(()=>{if(Array.isArray(e[0])){let[r,o]=e;return K0(r,o)}return e[0]})(),n=typeof t=="string"?t:hf(t);return Uw(n)}function Ld(...e){let t=(()=>{if(Array.isArray(e[0])){let[n,r]=e;return K0(n,r)}return e[0]})();return typeof t!="string"&&"hash"in t&&t.hash?t.hash:zf(O0(REe(t)))}var RC=class extends ve{constructor(t,n){super("Found ambiguous types in overloaded ABI Items.",{metaMessages:[`\`${t.type}\` in \`${Uw(hf(t.abiItem))}\`, and`,`\`${n.type}\` in \`${Uw(hf(n.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"})}},Zc=class extends ve{constructor({name:t,data:n,type:r="item"}){let o=t?` with name "${t}"`:n?` with data "${n}"`:"";super(`ABI ${r}${o} not found.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiItem.NotFoundError"})}};Mr();function cK(...e){let[t,n]=(()=>{if(Array.isArray(e[0])){let[s,i]=e;return[vEe(s),i]}return e})(),{bytecode:r,args:o}=n;return Gn(r,t.inputs?.length&&o?.length?Pd(t.inputs,o):"0x")}function uK(e){return q0(e)}function vEe(e){let t=e.find(n=>n.type==="constructor");if(!t)throw new Zc({name:"constructor"});return t}function dK(e,t={}){return q0(e,t)}function lK(e){return Ld(e)}Mr();function fK(...e){let[t,n,r={}]=(()=>{if(Array.isArray(e[0])){let[s,i,a,c]=e;return[CC(s,i),a,c]}return e})(),o=Gf(t.outputs,n,r);if(!(o&&Object.keys(o).length===0))return o&&Object.keys(o).length===1?Array.isArray(o)?o[0]:Object.values(o)[0]:o}function Md(...e){let[t,n=[]]=(()=>{if(Array.isArray(e[0])){let[u,d,l]=e;return[CC(u,d,{args:l}),l]}let[a,c]=e;return[a,c]})(),{overloads:r}=t,o=r?CC([t,...r],t.name,{args:n}):t,s=NEe(o),i=n.length>0?Pd(o.inputs,n):void 0;return i?Gn(s,i):s}function Wf(e,t={}){return q0(e,t)}function CC(e,t,n){let r=K0(e,t,n);if(r.type!=="function")throw new Zc({name:t,type:"function"});return r}function NEe(e){return vC(e)}kn();var Hw="0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee",$w="0x0000000000000000000000000000000000000000";tg();Ge();Pc();zi();Rm();Yn();Cd();var kEe="0x6080604052348015600e575f80fd5b5061016d8061001c5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c8063f8b2cb4f1461002d575b5f80fd5b610047600480360381019061004291906100db565b61005d565b604051610054919061011e565b60405180910390f35b5f8173ffffffffffffffffffffffffffffffffffffffff16319050919050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6100aa82610081565b9050919050565b6100ba816100a0565b81146100c4575f80fd5b50565b5f813590506100d5816100b1565b92915050565b5f602082840312156100f0576100ef61007d565b5b5f6100fd848285016100c7565b91505092915050565b5f819050919050565b61011881610106565b82525050565b5f6020820190506101315f83018461010f565b9291505056fea26469706673582212203b9fe929fe995c7cf9887f0bdba8a36dd78e8b73f149b17d2d9ad7cd09d2dc6264736f6c634300081a0033",_K="0x608060405234801561000f575f5ffd5b5060043610610029575f3560e01c8063fd00430c1461002d575b5f5ffd5b6100476004803603810190610042919061012b565b610049565b005b80825f375f5f825f865afa610060573d5f5f3e3d5ffd5b3d5f5f3e3d5ff35b5f5ffd5b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61009982610070565b9050919050565b6100a98161008f565b81146100b3575f5ffd5b50565b5f813590506100c4816100a0565b92915050565b5f5ffd5b5f5ffd5b5f5ffd5b5f5f83601f8401126100eb576100ea6100ca565b5b8235905067ffffffffffffffff811115610108576101076100ce565b5b602083019150836001820283011115610124576101236100d2565b5b9250929050565b5f5f5f6040848603121561014257610141610068565b5b5f61014f868287016100b6565b935050602084013567ffffffffffffffff8111156101705761016f61006c565b5b61017c868287016100d6565b9250925050925092509256fea2646970667358221220635ed99185cacf3f2acba6921f23687c969cec2bbaf5f9ad599f507e6e105e6964736f6c63430008230033",lg=1000000n,DEe=0x00000000000000000000000000000000deadbeefn,BEe=lK(dK("event Transfer(address indexed from, address indexed to, uint256 value)")),pK=Wf("function balanceOf(address) returns (uint256)"),mK=Wf("function decimals() returns (uint256)"),hK=Wf("function tokenURI(uint256) returns (string)"),yK=Wf("function symbol() returns (string)"),PEe=Wf("function query(address target, bytes data)");async function AK(e,t){let{blockNumber:n,blockTag:r,calls:o,stateOverrides:s,traceAssetChanges:i,traceTransfers:a,validation:c}=t,u=t.account?Pe(t.account):void 0;if(i&&!u)throw new Y("`account` is required when `traceAssetChanges` is true");let d=u?cK(uK("constructor(bytes, bytes)"),{bytecode:Fx,args:[kEe,Md(Wf("function getBalance(address)"),[u.address])]}):void 0,l=r??e.experimental_blockTag??"latest",m=n;if(i&&typeof m!="bigint"&&l!=="earliest"&&l!=="pending")if(l==="latest")m=await fi(e,{cacheTime:0});else{let _=await br(e,{blockTag:l});if(typeof _.number!="bigint")throw new Y(`Block tag \`${l}\` did not resolve to a number.`);m=_.number}let p=typeof m=="bigint"?{blockNumber:m}:{blockTag:l},g=i?await W0(e,{...p,blocks:[{calls:o.map(_=>({..._,from:u.address})),stateOverrides:s}],traceTransfers:a,validation:c}):void 0,E=g?[...new Set([...LEe(g[0].calls.flatMap(_=>_.logs??[]),u.address),...t.calls.map(_=>_.to?.toLowerCase())])].filter(_=>!!_&&_!==Hw&&_!==$w):[],x=MEe([...u?[u.address]:[],...E,...s?.map(({address:_})=>_)??[]]),S=[{address:x,code:_K}],[N,C]=await Promise.all([i?Promise.all([gK(e,{account:u.address,...p,data:d,stateOverride:s}),...E.map(_=>gK(e,{account:u.address,address:_,...p,data:Md(pK,[u.address]),staticCallAddress:x,stateOverride:s}))]):[],W0(e,{...p,blocks:[{calls:[...o,{to:$w}].map(_=>({..._,from:u?.address})),stateOverrides:s},...i?[{calls:[{data:d}]},{calls:E.map(_=>({to:x,gas:lg,data:fg(_,Md(pK,[u.address]))})),stateOverrides:S},{calls:E.map(_=>({to:x,gas:lg,data:fg(_,Md(mK))})),stateOverrides:S},{calls:E.map(_=>({to:x,gas:lg,data:fg(_,Md(hK,[0n]))})),stateOverrides:S},{calls:E.map(_=>({to:x,gas:lg,data:fg(_,Md(yK))})),stateOverrides:S}]:[]],traceTransfers:a,validation:c})]),v=C[0],[D,F,U,V,$]=i?C.slice(1):[],{calls:z,...W}=v,X=z.slice(0,-1),w=N.map(_=>bK(_)?Ye(_.data):null),f=D?.calls??[],y=F?.calls??[],T=[...f,...y].map(_=>bK(_)?Ye(_.data):null),I=(U?.calls??[]).map(_=>NC(_,mK)),k=($?.calls??[]).map(_=>NC(_,yK)),P=(V?.calls??[]).map(_=>NC(_,hK)),O=[];for(let[_,L]of T.entries()){let ce=w[_],R=N[_],K=typeof ce=="bigint"?ce:_>0&&R?.status==="success"&&R.data==="0x"?0n:null;if(typeof L!="bigint"||typeof K!="bigint")continue;let J=I[_-1],re=k[_-1],ae=P[_-1],me=_===0?{address:Hw,decimals:18,symbol:"ETH"}:{address:E[_-1],decimals:ae||J?Number(J??1):void 0,symbol:re??void 0};O.push({token:me,value:{pre:K,post:L,diff:L-K}})}return{assetChanges:O,block:W,results:X}}function fg(e,t){return Md(PEe,[e,t])}function LEe(e,t){let n=ni(t.toLowerCase(),{size:32});return e.filter(r=>r.topics[0]?.toLowerCase()!==BEe||r.address.toLowerCase()===Hw?!1:r.topics[1]?.toLowerCase()===n||r.topics[2]?.toLowerCase()===n).map(r=>r.address.toLowerCase())}function bK(e){return e.status==="success"&&/^0x[\da-f]{64}$/i.test(e.data)}function NC(e,t){if(e.status==="failure"||e.data==="0x")return null;try{return fK(t,e.data)}catch{return null}}async function gK(e,t){let{account:n,address:r,blockNumber:o,blockTag:s,data:i,staticCallAddress:a,stateOverride:c}=t;try{return{data:(await ms({...e,ccipRead:!1},{account:r?$w:n,data:r?fg(r,i):i,stateOverride:r&&a?[...c??[],{address:a,code:_K}]:c,...r?{gas:lg,to:a}:{},...typeof o=="bigint"?{blockNumber:o}:{blockTag:s}})).data??"0x",status:"success"}}catch(u){if(!(u instanceof ad)||!(u.cause instanceof Os))throw u;return{data:"0x",status:"failure"}}}function MEe(e){let t=new Set(e.map(r=>r.toLowerCase())),n=DEe;for(;t.has(`0x${n.toString(16).padStart(40,"0")}`);)n++;return`0x${n.toString(16).padStart(40,"0")}`}var pg={};rp(pg,{InvalidWrappedSignatureError:()=>zw,assert:()=>kC,from:()=>HEe,magicBytes:()=>OC,universalSignatureValidatorAbi:()=>UEe,universalSignatureValidatorBytecode:()=>FEe,unwrap:()=>EK,validate:()=>zEe,wrap:()=>$Ee});ps();Mr();var OC="0x6492649264926492649264926492649264926492649264926492649264926492",FEe="0x608060405234801561001057600080fd5b5060405161069438038061069483398101604081905261002f9161051e565b600061003c848484610048565b9050806000526001601ff35b60007f64926492649264926492649264926492649264926492649264926492649264926100748361040c565b036101e7576000606080848060200190518101906100929190610577565b60405192955090935091506000906001600160a01b038516906100b69085906105dd565b6000604051808303816000865af19150503d80600081146100f3576040519150601f19603f3d011682016040523d82523d6000602084013e6100f8565b606091505b50509050876001600160a01b03163b60000361016057806101605760405162461bcd60e51b815260206004820152601e60248201527f5369676e617475726556616c696461746f723a206465706c6f796d656e74000060448201526064015b60405180910390fd5b604051630b135d3f60e11b808252906001600160a01b038a1690631626ba7e90610190908b9087906004016105f9565b602060405180830381865afa1580156101ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101d19190610633565b6001600160e01b03191614945050505050610405565b6001600160a01b0384163b1561027a57604051630b135d3f60e11b808252906001600160a01b03861690631626ba7e9061022790879087906004016105f9565b602060405180830381865afa158015610244573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102689190610633565b6001600160e01b031916149050610405565b81516041146102df5760405162461bcd60e51b815260206004820152603a602482015260008051602061067483398151915260448201527f3a20696e76616c6964207369676e6174757265206c656e6774680000000000006064820152608401610157565b6102e7610425565b5060208201516040808401518451859392600091859190811061030c5761030c61065d565b016020015160f81c9050601b811480159061032b57508060ff16601c14155b1561038c5760405162461bcd60e51b815260206004820152603b602482015260008051602061067483398151915260448201527f3a20696e76616c6964207369676e617475726520762076616c756500000000006064820152608401610157565b60408051600081526020810180835289905260ff83169181019190915260608101849052608081018390526001600160a01b0389169060019060a0016020604051602081039080840390855afa1580156103ea573d6000803e3d6000fd5b505050602060405103516001600160a01b0316149450505050505b9392505050565b600060208251101561041d57600080fd5b508051015190565b60405180606001604052806003906020820280368337509192915050565b6001600160a01b038116811461045857600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561048c578181015183820152602001610474565b50506000910152565b600082601f8301126104a657600080fd5b81516001600160401b038111156104bf576104bf61045b565b604051601f8201601f19908116603f011681016001600160401b03811182821017156104ed576104ed61045b565b60405281815283820160200185101561050557600080fd5b610516826020830160208701610471565b949350505050565b60008060006060848603121561053357600080fd5b835161053e81610443565b6020850151604086015191945092506001600160401b0381111561056157600080fd5b61056d86828701610495565b9150509250925092565b60008060006060848603121561058c57600080fd5b835161059781610443565b60208501519093506001600160401b038111156105b357600080fd5b6105bf86828701610495565b604086015190935090506001600160401b0381111561056157600080fd5b600082516105ef818460208701610471565b9190910192915050565b828152604060208201526000825180604084015261061e816060850160208701610471565b601f01601f1916919091016060019392505050565b60006020828403121561064557600080fd5b81516001600160e01b03198116811461040557600080fd5b634e487b7160e01b600052603260045260246000fdfe5369676e617475726556616c696461746f72237265636f7665725369676e6572",UEe=[{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"}];function kC(e){if(Fn(e,-32)!==OC)throw new zw(e)}function HEe(e){return typeof e=="string"?EK(e):e}function EK(e){kC(e);let[t,n,r]=Gf(ag("address, bytes, bytes"),e);return{data:n,signature:r,to:t}}function $Ee(e){let{data:t,signature:n,to:r}=e;return Gn(Pd(ag("address, bytes, bytes"),[r,t,n]),OC)}function zEe(e){try{return kC(e),!0}catch{return!1}}var zw=class extends ve{constructor(t){super(`Value \`${t}\` is an invalid ERC-6492 wrapped signature.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"SignatureErc6492.InvalidWrappedSignatureError"})}};Eo();tg();Pc();$x();Bo();ka();jc();Sr();Pi();Yn();Ue();fx();Yn();wr();function xK({r:e,s:t,to:n="hex",v:r,yParity:o}){let s=(()=>{if(o===0||o===1)return o;if(r&&(r===27n||r===28n||r>=35n))return r%2n===0n?1:0;throw new Error("Invalid `v` or `yParity` value")})(),i=`0x${new Vc.Signature(Ye(e),Ye(t)).toCompactHex()}${s===0?"1b":"1c"}`;return n==="hex"?i:nr(i)}Cd();async function Fd(e,t){let{address:n,chain:r=e.chain,hash:o,erc6492VerifierAddress:s=t.universalSignatureVerifierAddress??r?.contracts?.erc6492Verifier?.address,multicallAddress:i=t.multicallAddress??r?.contracts?.multicall3?.address,mode:a="auto"}=t;if(r?.verifyHash)return await r.verifyHash(e,t);let c=(()=>{let u=t.signature;return tr(u)?u:typeof u=="object"&&"r"in u&&"s"in u?xK(u):vt(u)})();try{if(a==="eoa")try{if(Lr(Ui(n),await jb({hash:o,signature:c})))return!0}catch{}return dg.validate(c)?await VEe(e,{...t,multicallAddress:i,signature:c}):await jEe(e,{...t,verifierAddress:s,signature:c})}catch(u){if(a!=="eoa")try{if(Lr(Ui(n),await jb({hash:o,signature:c})))return!0}catch{}if(u instanceof Xc)return!1;throw u}}async function VEe(e,t){let{address:n,blockHash:r,blockNumber:o,blockTag:s,hash:i,multicallAddress:a,requireCanonical:c}=t,{authorization:u,data:d,signature:l,to:m}=dg.unwrap(t.signature);if(await Hf(e,{address:n,blockHash:r,blockNumber:o,blockTag:s,requireCanonical:c})===jt(["0xef0100",u.address]))return await GEe(e,{...t,signature:l});let g={address:u.address,chainId:Number(u.chainId),nonce:Number(u.nonce),r:ue(u.r,{size:32}),s:ue(u.s,{size:32}),yParity:u.yParity};if(!await Aq({address:n,authorization:g}))throw new Xc;let x=await de(e,It,"readContract")({...a?{address:a}:{code:kf},authorizationList:[g],abi:Gi,blockHash:r,blockNumber:o,blockTag:"pending",functionName:"aggregate3",requireCanonical:c,args:[[...d?[{allowFailure:!0,target:m??n,callData:d}]:[],{allowFailure:!0,target:n,callData:Ft({abi:PI,functionName:"isValidSignature",args:[i,l]})}]]});if(x[x.length-1]?.returnData?.startsWith("0x1626ba7e"))return!0;throw new Xc}async function jEe(e,t){let{address:n,factory:r,factoryData:o,hash:s,signature:i,verifierAddress:a,...c}=t,u=await(async()=>!r&&!o||pg.validate(i)?i:pg.wrap({data:o,signature:i,to:r}))(),d=a?{to:a,data:Ft({abi:LI,functionName:"isValidSig",args:[n,s,u]}),...c}:{data:Pf({abi:LI,args:[n,s,u],bytecode:CW}),...c},{data:l}=await de(e,ms,"call")(d).catch(m=>{throw m instanceof ad?new Xc:m});if(I5(l??"0x0"))return!0;throw new Xc}async function GEe(e,t){let{address:n,blockHash:r,blockNumber:o,blockTag:s,hash:i,requireCanonical:a,signature:c}=t;if((await de(e,It,"readContract")({address:n,abi:PI,args:[i,c],blockHash:r,blockNumber:o,blockTag:s,functionName:"isValidSignature",requireCanonical:a}).catch(d=>{throw d instanceof Lm?new Xc:d})).startsWith("0x1626ba7e"))return!0;throw new Xc}var Xc=class extends Error{};async function wK(e,{address:t,message:n,factory:r,factoryData:o,signature:s,...i}){let a=hw(n);return de(e,Fd,"verifyHash")({address:t,factory:r,factoryData:o,hash:a,signature:s,...i})}async function TK(e,t){let{address:n,factory:r,factoryData:o,signature:s,message:i,primaryType:a,types:c,domain:u,...d}=t,l=Iq({message:i,primaryType:a,types:c,domain:u});return de(e,Fd,"verifyHash")({address:n,factory:r,factoryData:o,hash:l,signature:s,...d})}Po();Vx();Pr();Yn();Pr();function Vw(e,{emitOnBegin:t=!1,emitMissed:n=!1,onBlockNumber:r,onError:o,poll:s,pollingInterval:i=e.pollingInterval}){let a=typeof s<"u"?s:!(e.transport.type==="webSocket"||e.transport.type==="ipc"||e.transport.type==="fallback"&&(e.transport.transports[0].config.type==="webSocket"||e.transport.transports[0].config.type==="ipc")),c;return a?(()=>{let l=at(["watchBlockNumber",e.uid,t,n,i]);return Fr(l,{onBlockNumber:r,onError:o},m=>li(async()=>{try{let p=await de(e,fi,"getBlockNumber")({cacheTime:0});if(c!==void 0){if(p===c)return;if(p-c>1&&n)for(let g=c+1n;gc)&&(m.onBlockNumber(p,c),c=p)}catch(p){m.onError?.(p)}},{emitOnBegin:t,interval:i}))})():(()=>{let l=at(["watchBlockNumber",e.uid,t,n]);return Fr(l,{onBlockNumber:r,onError:o},m=>{let p=!0,g=()=>p=!1;return(async()=>{try{let E=(()=>{if(e.transport.type==="fallback"){let S=e.transport.transports.find(N=>N.config.type==="webSocket"||N.config.type==="ipc");return S?S.value:e.transport}return e.transport})(),{unsubscribe:x}=await E.subscribe({params:["newHeads"],onData(S){if(!p)return;let N=Ye(S.result?.number);m.onBlockNumber(N,c),c=N},onError(S){m.onError?.(S)}});g=x,p||g()}catch(E){o?.(E)}})(),()=>g()})})()}async function jw(e,t){let{checkReplacement:n=e.chain?.supportsTransactionReplacementDetection??!0,confirmations:r=1,hash:o,onReplaced:s,retryCount:i=6,retryDelay:a=({count:D})=>~~(1<{x?.(),E?.(),C(new tx({hash:o}))},c):void 0;return E=Fr(d,{onReplaced:s,resolve:N,reject:C},async D=>{if(p=await de(e,G0,"getTransactionReceipt")({hash:o}).catch(()=>{}),p&&r<=1){clearTimeout(v),D.resolve(p),E?.();return}x=de(e,Vw,"watchBlockNumber")({emitMissed:!0,emitOnBegin:!0,poll:!0,pollingInterval:u,async onBlockNumber(F){let U=$=>{clearTimeout(v),x?.(),$(),E?.()},V=F;if(!g)try{if(p){if(r>1&&(!p.blockNumber||V-p.blockNumber+1nD.resolve(p));return}if(n&&!l&&(g=!0,await Ff(async()=>{l=await de(e,j0,"getTransaction")({hash:o}),l.blockNumber&&(V=l.blockNumber)},{delay:a,retryCount:i}),g=!1),p=await de(e,G0,"getTransactionReceipt")({hash:o}),r>1&&(!p.blockNumber||V-p.blockNumber+1nD.resolve(p))}catch($){if($ instanceof id||$ instanceof Pm){if(!l){g=!1;return}try{m=l,g=!0;let z=await Ff(()=>de(e,br,"getBlock")({blockNumber:V,includeTransactions:!0}),{delay:a,retryCount:i,shouldRetry:({error:w})=>w instanceof Td});g=!1;let W=z.transactions.find(({from:w,nonce:f})=>w===m.from&&f===m.nonce);if(!W||(p=await de(e,G0,"getTransactionReceipt")({hash:W.hash}),r>1&&(!p.blockNumber||V-p.blockNumber+1n{D.onReplaced?.({reason:X,replacedTransaction:m,transaction:W,transactionReceipt:p}),D.resolve(p)})}catch(z){U(()=>D.reject(z))}}else U(()=>D.reject($))}}})}),S}Pr();var WEe=["size","totalDifficulty","transactions","uncles","withdrawals"];function SK(e,{onBlockHeader:t,onError:n}){let r,o=at(["watchBlockHeaders",e.uid]);return Fr(o,{onBlockHeader:t,onError:n},s=>{let i=!0,a=!1,c=()=>i=!1;return(async()=>{try{let u=(()=>{if(e.transport.type==="fallback"){let l=e.transport.transports.find(m=>m.config.type==="webSocket"||m.config.type==="ipc");return l?l.value:e.transport}return e.transport})(),{unsubscribe:d}=await u.subscribe({params:["newHeads"],onData(l){if(!i)return;let m=(e.chain?.formatters?.block?.format||Nf)(l.result,"watchBlockHeaders");for(let p of WEe)delete m[p];s.onBlockHeader(m,r),r=m},onError(l){a&&s.onError?.(l)}});a=!0,c=d,i||c()}catch(u){s.onError?.(u)}})(),()=>c()})}Pr();function RK(e,{blockTag:t=e.experimental_blockTag??"latest",emitMissed:n=!1,emitOnBegin:r=!1,onBlock:o,onError:s,includeTransactions:i,poll:a,pollingInterval:c=e.pollingInterval}){let u=typeof a<"u"?a:!(e.transport.type==="webSocket"||e.transport.type==="ipc"||e.transport.type==="fallback"&&(e.transport.transports[0].config.type==="webSocket"||e.transport.transports[0].config.type==="ipc")),d=i??!1,l;return u?(()=>{let g=at(["watchBlocks",e.uid,t,n,r,d,c]);return Fr(g,{onBlock:o,onError:s},E=>li(async()=>{try{let x=await de(e,br,"getBlock")({blockTag:t,includeTransactions:d});if(x.number!==null&&l?.number!=null){if(x.number===l.number)return;if(x.number-l.number>1&&n)for(let S=l?.number+1n;Sl.number)&&(E.onBlock(x,l),l=x)}catch(x){E.onError?.(x)}},{emitOnBegin:r,interval:c}))})():(()=>{let g=!0,E=!0,x=()=>g=!1;return(async()=>{try{r&&de(e,br,"getBlock")({blockTag:t,includeTransactions:d}).then(C=>{g&&E&&(o(C,void 0),E=!1)}).catch(s);let S=(()=>{if(e.transport.type==="fallback"){let C=e.transport.transports.find(v=>v.config.type==="webSocket"||v.config.type==="ipc");return C?C.value:e.transport}return e.transport})(),{unsubscribe:N}=await S.subscribe({params:["newHeads"],async onData(C){if(!g)return;let v=await de(e,br,"getBlock")({blockNumber:C.result?.number,includeTransactions:d}).catch(()=>{});g&&(o(v,l),E=!1,l=v)},onError(C){s?.(C)}});x=N,g||x()}catch(S){s?.(S)}})(),()=>x()})()}er();Rf();Pr();function vK(e,{address:t,args:n,batch:r=!0,event:o,events:s,fromBlock:i,onError:a,onLogs:c,poll:u,pollingInterval:d=e.pollingInterval,strict:l}){let m=typeof u<"u"?u:typeof i=="bigint"?!0:!(e.transport.type==="webSocket"||e.transport.type==="ipc"||e.transport.type==="fallback"&&(e.transport.transports[0].config.type==="webSocket"||e.transport.transports[0].config.type==="ipc")),p=l??!1;return m?(()=>{let x=at(["watchEvent",t,n,r,e.uid,o,d,i]);return Fr(x,{onLogs:c,onError:a},S=>{let N;i!==void 0&&(N=i-1n);let C,v=!1,D=li(async()=>{if(!v){try{C=await de(e,uw,"createEventFilter")({address:t,args:n,event:o,events:s,strict:p,fromBlock:i})}catch{}v=!0;return}try{let F;if(C)F=await de(e,Nd,"getFilterChanges")({filter:C});else{let U=await de(e,fi,"getBlockNumber")({});N&&N!==U?F=await de(e,S0,"getLogs")({address:t,args:n,event:o,events:s,fromBlock:N+1n,toBlock:U}):F=[],N=U}if(F.length===0)return;if(r)S.onLogs(F);else for(let U of F)S.onLogs([U])}catch(F){C&&F instanceof si&&(v=!1),S.onError?.(F)}},{emitOnBegin:!0,interval:d});return async()=>{C&&await de(e,Od,"uninstallFilter")({filter:C}),D()}})})():(()=>{let x=!0,S=()=>x=!1;return(async()=>{try{let N=(()=>{if(e.transport.type==="fallback"){let F=e.transport.transports.find(U=>U.config.type==="webSocket"||U.config.type==="ipc");return F?F.value:e.transport}return e.transport})(),C=s??(o?[o]:void 0),v=[];C&&(v=[C.flatMap(U=>Ba({abi:[U],eventName:U.name,args:n}))],o&&(v=v[0]));let{unsubscribe:D}=await N.subscribe({params:["logs",{address:t,topics:v}],onData(F){if(!x)return;let U=F.result;try{let{eventName:V,args:$}=Of({abi:C??[],data:U.data,topics:U.topics,strict:p}),z=gr(U,{args:$,eventName:V});c([z])}catch(V){let $,z;if(V instanceof Ic||V instanceof ed){if(l)return;$=V.abiItem.name,z=V.abiItem.inputs?.some(X=>!("name"in X&&X.name))}let W=gr(U,{args:z?[]:{},eventName:$});c([W])}},onError(F){a?.(F)}});S=D,x||S()}catch(N){a?.(N)}})(),()=>S()})()}Pr();function IK(e,{batch:t=!0,onError:n,onTransactions:r,poll:o,pollingInterval:s=e.pollingInterval}){return(typeof o<"u"?o:e.transport.type!=="webSocket"&&e.transport.type!=="ipc")?(()=>{let u=at(["watchPendingTransactions",e.uid,t,s]);return Fr(u,{onTransactions:r,onError:n},d=>{let l,m=li(async()=>{try{if(!l)try{l=await de(e,dw,"createPendingTransactionFilter")({});return}catch(g){throw m(),g}let p=await de(e,Nd,"getFilterChanges")({filter:l});if(p.length===0)return;if(t)d.onTransactions(p);else for(let g of p)d.onTransactions([g])}catch(p){d.onError?.(p)}},{emitOnBegin:!0,interval:s});return async()=>{l&&await de(e,Od,"uninstallFilter")({filter:l}),m()}})})():(()=>{let u=!0,d=()=>u=!1;return(async()=>{try{let{unsubscribe:l}=await e.transport.subscribe({params:["newPendingTransactions"],onData(m){if(!u)return;let p=m.result;r([p])},onError(m){n?.(m)}});d=l,u||d()}catch(l){n?.(l)}})(),()=>d()})()}var qEe=/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?(Z|[+-]\d{2}:\d{2})$/;function KEe(e){return qEe.test(e)?!Number.isNaN(new Date(e).getTime()):!1}function DC(e){return KEe(e)?new Date(e):new Date(Number.NaN)}function CK(e){let{scheme:t,statement:n,...r}=e.match(YEe)?.groups??{},{chainId:o,expirationTime:s,issuedAt:i,notBefore:a,requestId:c,resources:u,...d}=e.match(ZEe)?.groups??{},l=u?.split(` +- `).slice(1);return{...r,...d,...o?{chainId:Number(o)}:{},...s?{expirationTime:DC(s)}:{},...i?{issuedAt:DC(i)}:{},...a?{notBefore:DC(a)}:{},...c?{requestId:c}:{},...l?{resources:l}:{},...t?{scheme:t}:{},...n?{statement:n}:{}}}var YEe=/^(?:(?[a-zA-Z][a-zA-Z0-9+\-.]*):\/\/)?(?[a-zA-Z0-9+-.]*(?::[0-9]{1,5})?) (?:wants you to sign in with your Ethereum account:\n)(?
0x[a-fA-F0-9]{40})\n\n(?:(?.*)\n\n)?/,ZEe=/(?:URI: (?.+))\n(?:Version: (?.+))\n(?:Chain ID: (?\d+))\n(?:Nonce: (?[a-zA-Z0-9]+))\n(?:Issued At: (?.+))(?:\nExpiration Time: (?.+))?(?:\nNot Before: (?.+))?(?:\nRequest ID: (?.*))?(?:\nResources:(?(?:\n- .+)*))?/;ko();jc();function NK(e){let{address:t,domain:n,message:r,nonce:o,scheme:s,time:i=new Date}=e;if(n&&r.domain!==n||o&&r.nonce!==o||s&&r.scheme!==s||Number.isNaN(i.getTime())||r.expirationTime&&(Number.isNaN(r.expirationTime.getTime())||i>=r.expirationTime)||r.notBefore&&(Number.isNaN(r.notBefore.getTime())||i"u")throw new Wn({docsPath:"/docs/actions/wallet/sendTransactionSync"});let F=n?Pe(n):null,U;try{yr(t);let V=await(async()=>{if(t.to)return t.to;if(t.to!==null&&i&&i.length>0)return await bd({authorization:i[0]}).catch(()=>{throw new Y("`to` is required. Could not infer from `authorizationList`.")})})();if(F?.type==="json-rpc"||F===null){let $;o!==null&&($=await de(e,_o,"getChainId")({}),r&&L0({currentChainId:$,chain:o}));let z=e.chain?.formatters?.transactionRequest?.format,X=(z||vr)({...fs(v,{format:z}),accessList:s,account:F,authorizationList:i,blobs:a,chainId:$,data:u?Tr([c??"0x",u]):c,gas:d,gasPrice:l,maxFeePerBlobGas:m,maxFeePerGas:p,maxPriorityFeePerGas:g,nonce:E,to:V,type:N,value:C},"sendTransaction"),w=LC.get(e.uid),f=w?"wallet_sendTransaction":"eth_sendTransaction",y=await(async()=>{try{return await e.request({method:f,params:[X]},{retryCount:0})}catch(T){if(w===!1)throw T;let I=T;if(I.name==="InvalidInputRpcError"||I.name==="InvalidParamsRpcError"||I.name==="MethodNotFoundRpcError"||I.name==="MethodNotSupportedRpcError")return await e.request({method:"wallet_sendTransaction",params:[X]},{retryCount:0}).then(k=>(LC.set(e.uid,!0),k)).catch(k=>{let P=k;throw P.name==="MethodNotFoundRpcError"||P.name==="MethodNotSupportedRpcError"?(LC.set(e.uid,!1),I):P});throw I}})(),A=await de(e,jw,"waitForTransactionReceipt")({checkReplacement:!1,hash:y,pollingInterval:x,timeout:D});if(S&&A.status==="reverted")throw new _f({receipt:A});return A}if(F?.type==="local"){let $=(()=>{if(!F.nonceManager||typeof E<"u")return F.nonceManager;let y=F.nonceManager;return{consume(A){return U={address:A.address,chainId:A.chainId},y.consume(A)},get(A){return y.get(A)},increment(A){return y.increment(A)},reset(A){return y.reset(A)}}})(),z=await de(e,Fa,"prepareTransactionRequest")({account:F,accessList:s,authorizationList:i,blobs:a,chain:o,data:u?Tr([c??"0x",u]):c,gas:d,gasPrice:l,maxFeePerBlobGas:m,maxFeePerGas:p,maxPriorityFeePerGas:g,nonce:E,nonceManager:$,parameters:[...Yb,"sidecars"],type:N,value:C,...v,to:V}),W=o?.serializers?.transaction,X=await F.signTransaction(z,{serializer:W}),w=(o??e.chain)?.serializers?.transactionEnvelope,f=w?await w({serializedTransaction:X,transaction:z}):X;return await de(e,J0,"sendRawTransactionSync")({serializedTransaction:f,throwOnReceiptRevert:S,timeout:t.timeout})}throw F?.type==="smart"?new pi({metaMessages:["Consider using the `sendUserOperation` Action instead."],docsPath:"/docs/actions/bundler/sendUserOperation",type:"smart"}):new pi({docsPath:"/docs/actions/wallet/sendTransactionSync",type:F?.type})}catch(V){throw V instanceof pi?V:(U&&!(V instanceof _f)&&F?.nonceManager?.reset(U),Rd(V,{...t,account:F,chain:t.chain||void 0}))}}async function Q0(e,t){return qi.internal(e,qw,"sendTransactionSync",t)}async function MC(e,t){let{amount:n,token:r,throwOnReceiptRevert:o=!0}=t,{decimals:s}=Jr(e,{token:r}),i=Ww(n,s),a=await Jc.inner(Q0,e,{...t,throwOnReceiptRevert:o}),{args:c}=Jc.extractEvent(a.logs);return{...c,...i===void 0?{}:{decimals:i,formatted:V0(c.value,i)},receipt:a}}Eo();async function eh(e,t){let{account:n,decimals:r,spender:o,token:s,...i}=t,[a,{decimals:c}]=await Promise.all([It(e,{...i,...eh.call(e,{account:n,spender:o,token:s})}),Z0(e,{decimals:r,token:s})]);return Y0(a,c)}(function(e){function t(n,r){return Va({address:Jr(n,r).address,abi:Ir,functionName:"allowance",args:[r.account,r.spender]})}e.call=t})(eh||(eh={}));kn();Eo();async function th(e,t){let{account:n=e.account,decimals:r,token:o,...s}=t;if(!n)throw new Wn;let i=Pe(n).address,[a,{decimals:c}]=await Promise.all([It(e,{...s,...th.call(e,{account:i,token:o})}),Z0(e,{decimals:r,token:o})]);return Y0(a,c)}(function(e){function t(n,r){let o=r.account??n.account;if(!o)throw new Wn;let s=Pe(o).address;return Va({address:Jr(n,r).address,abi:Ir,functionName:"balanceOf",args:[s]})}e.call=t})(th||(th={}));Eo();async function FC(e,t){let{token:n,...r}=t,{address:o}=Jr(e,{token:n}),s=PC(e,n),[i,a,c]=await Promise.all([s?.decimals??It(e,{...r,abi:Ir,address:o,functionName:"decimals"}),s?.name??It(e,{...r,abi:Ir,address:o,functionName:"name"}),s?.symbol??It(e,{...r,abi:Ir,address:o,functionName:"symbol"})]);return{decimals:i,name:a,symbol:c}}Eo();async function nh(e,t){let{decimals:n,token:r,...o}=t,[s,{decimals:i}]=await Promise.all([It(e,{...o,...nh.call(e,{token:r})}),Z0(e,{decimals:n,token:r})]);return Y0(s,i)}(function(e){function t(n,r){return Va({address:Jr(n,r).address,abi:Ir,args:[],functionName:"totalSupply"})}e.call=t})(nh||(nh={}));Eo();async function Qc(e,t){return Qc.inner(qi,e,t)}(function(e){async function t(i,a,c){return await i(a,{...c,...e.call(a,c)})}e.inner=t;function n(i,a){return Va(txe(i,a))}e.call=n;async function r(i,a){return T0(i,{...X0(a),...e.call(i,a)})}e.estimateGas=r;async function o(i,a){return P0(i,{...X0(a),...e.call(i,a)})}e.simulate=o;function s(i){let[a]=Ua({abi:Ir,logs:i,eventName:"Transfer",strict:!0});if(!a)throw new Error("`Transfer` event not found.");return a}e.extractEvent=s})(Qc||(Qc={}));function txe(e,t){let{amount:n,from:r,to:o,token:s}=t,{address:i,decimals:a}=Jr(e,{token:s}),c=Gw(n,a);return r?{abi:Ir,address:i,args:[r,o,c],functionName:"transferFrom"}:{abi:Ir,address:i,args:[o,c],functionName:"transfer"}}async function UC(e,t){let{amount:n,token:r,throwOnReceiptRevert:o=!0}=t,{decimals:s}=Jr(e,{token:r}),i=Ww(n,s),a=await Qc.inner(Q0,e,{...t,throwOnReceiptRevert:o}),{args:c}=Qc.extractEvent(a.logs);return{...c,...i===void 0?{}:{decimals:i,formatted:V0(c.value,i)},receipt:a}}function kK(e){return{call:t=>ms(e,t),createAccessList:t=>oq(e,t),createBlockFilter:()=>sq(e),createContractEventFilter:t=>FE(e,t),createEventFilter:t=>uw(e,t),createPendingTransactionFilter:()=>dw(e),estimateContractGas:t=>T0(e,t),estimateGas:t=>w0(e,t),getBalance:t=>iq(e,t),getBlobBaseFee:()=>aq(e),getBlock:t=>br(e,t),getBlockNumber:t=>fi(e,t),getBlockReceipts:t=>cq(e,t),getBlockTransactionCount:t=>uq(e,t),getBytecode:t=>Hf(e,t),getChainId:()=>_o(e),getCode:t=>Hf(e,t),getContractEvents:t=>Tx(e,t),getDelegation:t=>dq(e,t),getEip712Domain:t=>lq(e,t),getEnsAddress:t=>YW(e,t),getEnsAvatar:t=>tq(e,t),getEnsName:t=>nq(e,t),getEnsResolver:t=>rq(e,t),getEnsText:t=>cw(e,t),getFeeHistory:t=>pq(e,t),estimateFeesPerGas:t=>JG(e,t),getFilterChanges:t=>Nd(e,t),getFilterLogs:t=>mq(e,t),getGasPrice:()=>b0(e),getLogs:t=>S0(e,t),getProof:t=>nK(e,t),estimateMaxPriorityFeePerGas:t=>XG(e,t),fillTransaction:t=>x0(e,t),getRawTransaction:t=>rK(e,t),getStorageAt:t=>oK(e,t),getStorageValues:t=>sK(e,t),getTransaction:t=>j0(e,t),getTransactionConfirmations:t=>iK(e,t),getTransactionCount:t=>g0(e,t),getTransactionReceipt:t=>G0(e,t),multicall:t=>aK(e,t),prepareTransactionRequest:t=>Fa(e,t),readContract:t=>It(e,t),sendRawTransaction:t=>M0(e,t),sendRawTransactionSync:t=>J0(e,t),simulate:t=>W0(e,t),simulateBlocks:t=>W0(e,t),simulateCalls:t=>AK(e,t),simulateContract:t=>P0(e,t),verifyHash:t=>Fd(e,t),verifyMessage:t=>wK(e,t),verifySiweMessage:t=>OK(e,t),verifyTypedData:t=>TK(e,t),uninstallFilter:t=>Od(e,t),waitForTransactionReceipt:t=>jw(e,t),watchBlockHeaders:t=>SK(e,t),watchBlocks:t=>RK(e,t),watchBlockNumber:t=>Vw(e,t),watchContractEvent:t=>GW(e,t),watchEvent:t=>vK(e,t),watchPendingTransactions:t=>IK(e,t),token:nxe(e)}}function nxe(e){return{getAllowance:za(e,eh),getBalance:za(e,th),getMetadata:za(e,FC),getTotalSupply:za(e,nh)}}function HC(e){let{key:t="public",name:n="Public Client"}=e;return rw({...e,key:t,name:n,type:"publicClient"}).extend(kK)}Ue();async function DK(e,{chain:t}){let{id:n,name:r,nativeCurrency:o,rpcUrls:s,blockExplorers:i}=t;await e.request({method:"wallet_addEthereumChain",params:[{chainId:ue(n),chainName:r,nativeCurrency:o,rpcUrls:s.default.http,blockExplorerUrls:i?Object.values(i).map(({url:a})=>a):void 0}]},{dedupe:!0,retryCount:0})}$x();function BK(e,t){let{abi:n,args:r,bytecode:o,...s}=t,i=Pf({abi:n,args:r,bytecode:o});return kd(e,{...s,...s.authorizationList?{to:null}:{},data:i})}ka();async function PK(e){return e.account?.type==="local"?[e.account.address]:(await e.request({method:"eth_accounts"},{dedupe:!0})).map(n=>Oc(n))}kn();Ue();async function LK(e,t={}){let{account:n=e.account,chainId:r}=t,o=n?Pe(n):void 0,s=r?[o?.address,[ue(r)]]:[o?.address],i=await e.request({method:"wallet_getCapabilities",params:s}),a={};for(let[c,u]of Object.entries(i)){a[Number(c)]={};for(let[d,l]of Object.entries(u))d==="addSubAccount"&&(d="unstable_addSubAccount"),a[Number(c)][d]=l}return typeof r=="number"?a[r]:a}async function MK(e){return await e.request({method:"wallet_getPermissions"},{dedupe:!0})}kn();jc();async function Kw(e,t){let{account:n=e.account,chainId:r,nonce:o}=t;if(!n)throw new Wn({docsPath:"/docs/eip7702/prepareAuthorization"});let s=Pe(n),i=(()=>{if(t.executor)return t.executor==="self"?t.executor:Pe(t.executor)})(),a={address:t.contractAddress??t.address,chainId:r,nonce:o};return typeof a.chainId>"u"&&(a.chainId=e.chain?.id??await de(e,_o,"getChainId")({})),typeof a.nonce>"u"&&(a.nonce=await de(e,g0,"getTransactionCount")({address:s.address,blockTag:"pending"}),(i==="self"||i?.address&&Lr(i.address,s.address))&&(a.nonce+=1)),a}ka();async function FK(e){return(await e.request({method:"eth_requestAccounts"},{dedupe:!0,retryCount:0})).map(n=>Ui(n))}async function UK(e,t){return e.request({method:"wallet_requestPermissions",params:[t]},{retryCount:0})}async function HK(e,t){let{chain:n=e.chain}=t,r=t.timeout??Math.max((n?.blockTime??0)*3,5e3),o=await de(e,Xx,"sendCalls")(t);return await de(e,Qx,"waitForCallsStatus")({...t,id:o.id,timeout:r})}async function $K(e,t){let{id:n}=t;await e.request({method:"wallet_showCallsStatus",params:[n]})}kn();async function zK(e,t){let{account:n=e.account}=t;if(!n)throw new Wn({docsPath:"/docs/eip7702/signAuthorization"});let r=Pe(n);if(!r.signAuthorization)throw new pi({docsPath:"/docs/eip7702/signAuthorization",metaMessages:["The `signAuthorization` Action does not support JSON-RPC Accounts."],type:r.type});let o=await Kw(e,t);return r.signAuthorization(o)}kn();Ue();async function VK(e,{account:t=e.account,message:n}){if(!t)throw new Wn({docsPath:"/docs/actions/wallet/signMessage"});let r=Pe(t);if(r.signMessage)return r.signMessage({message:n});let o=typeof n=="string"?nd(n):n.raw instanceof Uint8Array?ze(n.raw):n.raw;return e.request({method:"personal_sign",params:[o,r.address]},{retryCount:0})}kn();Ue();ci();Vi();async function jK(e,t){let{account:n=e.account,chain:r=e.chain,...o}=t;if(!n)throw new Wn({docsPath:"/docs/actions/wallet/signTransaction"});let s=Pe(n);yr({account:s,...t});let i=await de(e,_o,"getChainId")({});r!==null&&L0({currentChainId:i,chain:r});let c=(r?.formatters||e.chain?.formatters)?.transactionRequest?.format||vr;return s.signTransaction?s.signTransaction({...o,account:s,chainId:i},{serializer:e.chain?.serializers?.transaction}):await e.request({method:"eth_signTransaction",params:[{...c({...o,account:s},"signTransaction"),chainId:ue(i),from:s.address}]},{retryCount:0})}kn();async function GK(e,t){let{account:n=e.account,domain:r,message:o,primaryType:s}=t;if(!n)throw new Wn({docsPath:"/docs/actions/wallet/signTypedData"});let i=Pe(n),a={EIP712Domain:Ew({domain:r}),...t.types};if(Aw({domain:r,message:o,primaryType:s,types:a}),i.signTypedData)return i.signTypedData({domain:r,message:o,primaryType:s,types:a});let c=vq({domain:r,message:o,primaryType:s,types:a});return e.request({method:"eth_signTypedData_v4",params:[i.address,c]},{retryCount:0})}Ue();async function WK(e,{id:t}){await e.request({method:"wallet_switchEthereumChain",params:[{chainId:ue(t)}]},{retryCount:0})}async function qK(e,t){return await e.request({method:"wallet_watchAsset",params:t},{retryCount:0})}function KK(e){return{addChain:t=>DK(e,t),deployContract:t=>BK(e,t),fillTransaction:t=>x0(e,t),getAddresses:()=>PK(e),getCallsStatus:t=>Jx(e,t),getCapabilities:t=>LK(e,t),getChainId:()=>_o(e),getPermissions:()=>MK(e),prepareAuthorization:t=>Kw(e,t),prepareTransactionRequest:t=>Fa(e,t),requestAddresses:()=>FK(e),requestPermissions:t=>UK(e,t),sendCalls:t=>Xx(e,t),sendCallsSync:t=>HK(e,t),sendRawTransaction:t=>M0(e,t),sendRawTransactionSync:t=>J0(e,t),sendTransaction:t=>kd(e,t),sendTransactionSync:t=>qw(e,t),showCallsStatus:t=>$K(e,t),signAuthorization:t=>zK(e,t),signMessage:t=>VK(e,t),signTransaction:t=>jK(e,t),signTypedData:t=>GK(e,t),switchChain:t=>WK(e,t),waitForCallsStatus:t=>Qx(e,t),watchAsset:t=>qK(e,t),writeContract:t=>qi(e,t),writeContractSync:t=>Q0(e,t),token:{approve:za(e,Jc),approveSync:za(e,MC),transfer:za(e,Qc),transferSync:za(e,UC)}}}function Yw(e){let{key:t="wallet",name:n="Wallet Client",transport:r}=e;return rw({...e,key:t,name:n,transport:r,type:"walletClient"}).extend(KK)}function rh({key:e,methods:t,name:n,request:r,retryCount:o=3,retryDelay:s=150,timeout:i,type:a},c){let u=nw();return{config:{key:e,methods:t,name:n,request:r,retryCount:o,retryDelay:s,timeout:i,type:a},request:xq(r,{methods:t,retryCount:o,retryDelay:s,uid:u}),value:c}}function Zw(e,t={}){let{key:n="custom",methods:r,name:o="Custom Provider",retryDelay:s}=t;return({retryCount:i})=>rh({key:n,methods:r,name:o,request:e.request.bind(e),retryCount:t.retryCount??i,retryDelay:s,type:"custom"})}zi();Rf();function $C(e,t={}){let{key:n="fallback",name:r="Fallback",rank:o=!1,shouldThrow:s=YK,retryCount:i,retryDelay:a}=t;return(({chain:c,pollingInterval:u=4e3,timeout:d,...l})=>{let m=e,p=()=>{},g=rh({key:n,name:r,async request({method:E,params:x}){let S,N=async(C=0)=>{let v=m[C]({...l,chain:c,retryCount:0,timeout:d});try{let D=await v.request({method:E,params:x});return p({method:E,params:x,response:D,transport:v,status:"success"}),D}catch(D){if(p({error:D,method:E,params:x,transport:v,status:"error"}),s(D)||C===m.length-1||(S??=m.slice(C+1).some(F=>{let{include:U,exclude:V}=F({chain:c}).config.methods||{};return U?U.includes(E):V?!V.includes(E):!0}),!S))throw D;return N(C+1)}};return N()},retryCount:i,retryDelay:a,type:"fallback"},{onResponse:E=>p=E,transports:m.map(E=>E({chain:c,retryCount:0}))});if(o){let E=typeof o=="object"?o:{};rxe({chain:c,interval:E.interval??u,onTransports:x=>m=x,ping:E.ping,sampleCount:E.sampleCount,timeout:E.timeout,transports:m,weights:E.weights})}return g})}function YK(e){return!!("code"in e&&typeof e.code=="number"&&(e.code===ud.code||e.code===Mc.code||e.code===pd.code||Os.nodeMessage.test(e.message)||e.code===5e3))}function rxe({chain:e,interval:t=4e3,onTransports:n,ping:r,sampleCount:o=10,timeout:s=1e3,transports:i,weights:a={}}){let{stability:c=.7,latency:u=.3}=a,d=[],l=async()=>{let m=await Promise.all(i.map(async E=>{let x=E({chain:e,retryCount:0,timeout:s}),S=Date.now(),N,C;try{await(r?r({transport:x}):x.request({method:"net_listening"})),C=1}catch{C=0}finally{N=Date.now()}return{latency:N-S,success:C}}));d.push(m),d.length>o&&d.shift();let p=Math.max(...d.map(E=>Math.max(...E.map(({latency:x})=>x)))),g=i.map((E,x)=>{let S=d.map(F=>F[x].latency),C=1-S.reduce((F,U)=>F+U,0)/S.length/p,v=d.map(F=>F[x].success),D=v.reduce((F,U)=>F+U,0)/v.length;return D===0?[0,x]:[u*C+c*D,x]}).sort((E,x)=>x[0]-E[0]);n(g.map(([,E])=>i[E])),await Mf(t),l()};l()}Tf();Ge();var Xw=class extends Y{constructor(){super("No URL was provided to the Transport. Please provide a valid RPC URL to the Transport.",{docsPath:"/docs/clients/intro",name:"UrlRequiredError"})}};jx();var oxe=0,ZK=new WeakMap;function sxe(e){if(!e)return"default";let t=ZK.get(e);if(t!==void 0)return t;let n=oxe++;return ZK.set(e,n),n}function mg(e,t={}){let{batch:n,fetchFn:r,fetchOptions:o,key:s="http",maxResponseBodySize:i,methods:a,name:c="HTTP JSON-RPC",onFetchRequest:u,onFetchResponse:d,retryDelay:l,raw:m}=t;return({chain:p,retryCount:g,timeout:E})=>{let{batchSize:x=1e3,wait:S=0}=typeof n=="object"?n:{},N=t.retryCount??g,C=E??t.timeout??1e4,v=e||p?.rpcUrls.default.http[0];if(!v)throw new Xw;let D=Tq(v,{fetchFn:r,fetchOptions:o,maxResponseBodySize:i,onRequest:u,onResponse:d,timeout:C});return rh({key:s,methods:a,name:c,async request({method:F,params:U},V){let $={method:F,params:U},z=V?.signal?{signal:V.signal}:void 0,{schedule:W}=B0({id:`${v}.${sxe(V?.signal)}`,wait:S,shouldSplitBatch(y){return y.length>x},fn:y=>D.request({body:y,fetchOptions:z}),sort:(y,A)=>y.id-A.id}),X=async y=>n?W(y):[await D.request({body:y,fetchOptions:z})],[{error:w,result:f}]=await X($);if(m)return{error:w,result:f};if(w)throw new cd({body:$,error:w,url:v});return f},retryCount:N,retryDelay:l,timeout:C,type:"http"},{fetchOptions:o,url:v})}}Bo();var Fot=Ur(J2(),1);BE();Yn();wr();Ue();ci();Kb();var oh=50000n,zC=ZG*32n;var VC={block:y0({format(e){let t=e.transactions?.map(n=>{if(typeof n=="string")return n;let r=VC.transaction?.format(n);return r.typeHex==="0x71"?r.type="eip712":r.typeHex==="0xff"&&(r.type="priority"),r});return{l1BatchNumber:e.l1BatchNumber?Ye(e.l1BatchNumber):null,l1BatchTimestamp:e.l1BatchTimestamp?Ye(e.l1BatchTimestamp):null,transactions:t}}}),transaction:h0({format(e){let t={};return e.type==="0x71"?t.type="eip712":e.type==="0xff"&&(t.type="priority"),{...t,l1BatchNumber:e.l1BatchNumber?Ye(e.l1BatchNumber):null,l1BatchTxIndex:e.l1BatchTxIndex?Ye(e.l1BatchTxIndex):null}}}),transactionReceipt:Zx({format(e){return{l1BatchNumber:e.l1BatchNumber?Ye(e.l1BatchNumber):null,l1BatchTxIndex:e.l1BatchTxIndex?Ye(e.l1BatchTxIndex):null,logs:e.logs.map(t=>({...gr(t),l1BatchNumber:t.l1BatchNumber?Ye(t.l1BatchNumber):null,transactionLogIndex:rn(t.transactionLogIndex),logType:t.logType})),l2ToL1Logs:e.l2ToL1Logs.map(t=>({blockNumber:Ye(t.blockHash),blockHash:t.blockHash,l1BatchNumber:t.l1BatchNumber?Ye(t.l1BatchNumber):null,transactionIndex:Ye(t.transactionIndex),shardId:Ye(t.shardId),isService:t.isService,sender:t.sender,key:t.key,value:t.value,transactionHash:t.transactionHash,logIndex:Ye(t.logIndex)}))}}}),transactionRequest:mx({exclude:["customSignature","factoryDeps","gasPerPubdata","paymaster","paymasterInput"],format(e){return e.gasPerPubdata||e.paymaster&&e.paymasterInput||e.factoryDeps||e.customSignature?{eip712Meta:{...e.gasPerPubdata?{gasPerPubdata:ze(e.gasPerPubdata)}:{gasPerPubdata:ze(oh)},...e.paymaster&&e.paymasterInput?{paymasterParams:{paymaster:e.paymaster,paymasterInput:Array.from(nr(e.paymasterInput))}}:{},...e.factoryDeps?{factoryDeps:e.factoryDeps.map(t=>Array.from(nr(t)))}:{},...e.customSignature?{customSignature:Array.from(nr(e.customSignature))}:{}},type:"0x71"}:{}}})};Sr();Ue();ri();Ge();Bf();ko();Ge();var Jw=class extends Y{constructor(){super(["Transaction is not an EIP712 transaction.","","Transaction must:",' - include `type: "eip712"`'," - include one of the following: `customSignature`, `paymaster`, `paymasterInput`, `gasPerPubdata`, `factoryDeps`"].join(` +`),{name:"InvalidEip712TransactionError"})}};function Qw(e){return!!(e.type==="eip712"||"customSignature"in e&&e.customSignature||"paymaster"in e&&e.paymaster||"paymasterInput"in e&&e.paymasterInput||"gasPerPubdata"in e&&typeof e.gasPerPubdata=="bigint"||"factoryDeps"in e&&e.factoryDeps)}function e2(e){let{chainId:t,to:n,from:r,paymaster:o,paymasterInput:s}=e;if(!Qw(e))throw new Jw;if(!t||t<=0)throw new Wi({chainId:t});if(n&&!it(n))throw new kt({address:n});if(r&&!it(r))throw new kt({address:r});if(o&&!it(o))throw new kt({address:o});if(o&&!s)throw new Y("`paymasterInput` must be provided when `paymaster` is defined");if(!o&&s)throw new Y("`paymaster` must be provided when `paymasterInput` is defined")}function ixe(e,t){return Qw(e)?axe(e):pw(e,t)}var XK={transaction:ixe};function axe(e){let{chainId:t,gas:n,nonce:r,to:o,from:s,value:i,maxFeePerGas:a,maxPriorityFeePerGas:c,customSignature:u,factoryDeps:d,paymaster:l,paymasterInput:m,gasPerPubdata:p,data:g}=e;e2(e);let E=[r?ze(r):"0x",c?ze(c):"0x",a?ze(a):"0x",n?ze(n):"0x",o??"0x",i?ze(i):"0x",g??"0x",ze(t),ze(""),ze(""),ze(t),s??"0x",p?ze(p):ze(oh),d??[],u??"0x",l&&m?[l,m]:[]];return jt(["0x71",Fo(E)])}Ue();Rm();wr();Ge();var t2=class extends Y{constructor({givenLength:t,maxBytecodeSize:n}){super(`Bytecode cannot be longer than ${n} bytes. Given length: ${t}`,{name:"BytecodeLengthExceedsMaxSizeError"})}},n2=class extends Y{constructor({givenLengthInWords:t}){super(`Bytecode length in 32-byte words must be odd. Given length in words: ${t}`,{name:"BytecodeLengthInWordsMustBeOddError"})}},r2=class extends Y{constructor({givenLength:t}){super(`The bytecode length in bytes must be divisible by 32. Given length: ${t}`,{name:"BytecodeLengthMustBeDivisibleBy32Error"})}};function JK(e){let t=ho(e);if(t.length%32!==0)throw new r2({givenLength:t.length});if(t.length>zC)throw new t2({givenLength:t.length,maxBytecodeSize:zC});let n=bx(t),r=ho(n),o=t.length/32;if(o%2===0)throw new n2({givenLengthInWords:o});let s=ho(o),i=ni(s,{size:2}),a=new Uint8Array([1,0]);return r.set(a,0),r.set(i,2),r}var QK=e=>{e2(e);let t=cxe(e);return{domain:{name:"zkSync",version:"2",chainId:e.chainId},types:{Transaction:[{name:"txType",type:"uint256"},{name:"from",type:"uint256"},{name:"to",type:"uint256"},{name:"gasLimit",type:"uint256"},{name:"gasPerPubdataByteLimit",type:"uint256"},{name:"maxFeePerGas",type:"uint256"},{name:"maxPriorityFeePerGas",type:"uint256"},{name:"paymaster",type:"uint256"},{name:"nonce",type:"uint256"},{name:"value",type:"uint256"},{name:"data",type:"bytes"},{name:"factoryDeps",type:"bytes32[]"},{name:"paymasterInput",type:"bytes"}]},primaryType:"Transaction",message:t}};function cxe(e){let{gas:t,nonce:n,to:r,from:o,value:s,maxFeePerGas:i,maxPriorityFeePerGas:a,factoryDeps:c,paymaster:u,paymasterInput:d,gasPerPubdata:l,data:m}=e;return{txType:113n,from:BigInt(o),to:r?BigInt(r):0n,gasLimit:t??0n,gasPerPubdataByteLimit:l??oh,maxFeePerGas:i??0n,maxPriorityFeePerGas:a??0n,paymaster:u?BigInt(u):0n,nonce:n?BigInt(n):0n,value:s??0n,data:m??"0x",factoryDeps:c?.map(p=>ze(JK(p)))??[],paymasterInput:d||"0x"}}var o2={blockTime:1e3,formatters:VC,serializers:XK,custom:{getEip712Domain:QK}};var s2={gasPriceOracle:{address:"0x420000000000000000000000000000000000000F"},l1Block:{address:"0x4200000000000000000000000000000000000015"},l2CrossDomainMessenger:{address:"0x4200000000000000000000000000000000000007"},l2Erc721Bridge:{address:"0x4200000000000000000000000000000000000014"},l2StandardBridge:{address:"0x4200000000000000000000000000000000000010"},l2ToL1MessagePasser:{address:"0x4200000000000000000000000000000000000016"}};Yn();var eY={block:y0({format(e){return{transactions:e.transactions?.map(n=>{if(typeof n=="string")return n;let r=ji(n);return r.typeHex==="0x7e"&&(r.isSystemTx=n.isSystemTx,r.mint=n.mint?Ye(n.mint):void 0,r.sourceHash=n.sourceHash,r.type="deposit"),r}),stateRoot:e.stateRoot}}}),transaction:h0({format(e){let t={};return e.type==="0x7e"&&(t.isSystemTx=e.isSystemTx,t.mint=e.mint?Ye(e.mint):void 0,t.sourceHash=e.sourceHash,t.type="deposit"),t}}),transactionReceipt:Zx({format(e){return{...e.depositNonce?{depositNonce:Ye(e.depositNonce)}:{},...e.depositReceiptVersion?{depositReceiptVersion:rn(e.depositReceiptVersion)}:{},l1GasPrice:e.l1GasPrice?Ye(e.l1GasPrice):null,l1GasUsed:e.l1GasUsed?Ye(e.l1GasUsed):null,l1Fee:e.l1Fee?Ye(e.l1Fee):null,l1FeeScalar:e.l1FeeScalar?Number(e.l1FeeScalar):null}}})};ri();ko();Sr();Ue();function jC(e,t){return dxe(e)?uxe(e):pw(e,t)}var tY={transaction:jC};function uxe(e){lxe(e);let{sourceHash:t,data:n,from:r,gas:o,isSystemTx:s,mint:i,to:a,value:c}=e,u=[t,r,a??"0x",i?ze(i):"0x",c?ze(c):"0x",o?ze(o):"0x",s?"0x1":"0x",n??"0x"];return jt(["0x7e",Fo(u)])}function dxe(e){return e.type==="deposit"||typeof e.sourceHash<"u"}function lxe(e){let{from:t,to:n}=e;if(t&&!it(t))throw new kt({address:t});if(n&&!it(n))throw new kt({address:n})}var Un={blockTime:2e3,contracts:s2,formatters:eY,serializers:tY};var GC=Ie({id:42161,name:"Arbitrum One",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},blockTime:250,rpcUrls:{default:{http:["https://arb1.arbitrum.io/rpc"]}},blockExplorers:{default:{name:"Arbiscan",url:"https://arbiscan.io",apiUrl:"https://api.arbiscan.io/api"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:7654707}}});var WC=Ie({id:421614,name:"Arbitrum Sepolia",blockTime:250,nativeCurrency:{name:"Arbitrum Sepolia Ether",symbol:"ETH",decimals:18},rpcUrls:{default:{http:["https://sepolia-rollup.arbitrum.io/rpc"]}},blockExplorers:{default:{name:"Arbiscan",url:"https://sepolia.arbiscan.io",apiUrl:"https://api-sepolia.arbiscan.io/api"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:81930}},testnet:!0});var qC=Ie({id:43114,name:"Avalanche",blockTime:1700,nativeCurrency:{decimals:18,name:"Avalanche",symbol:"AVAX"},rpcUrls:{default:{http:["https://api.avax.network/ext/bc/C/rpc"]}},blockExplorers:{default:{name:"SnowTrace",url:"https://snowtrace.io",apiUrl:"https://api.snowtrace.io"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:11907934}}});var KC=Ie({id:43113,name:"Avalanche Fuji",nativeCurrency:{decimals:18,name:"Avalanche Fuji",symbol:"AVAX"},rpcUrls:{default:{http:["https://api.avax-test.network/ext/bc/C/rpc"]}},blockExplorers:{default:{name:"SnowTrace",url:"https://testnet.snowtrace.io",apiUrl:"https://api-testnet.snowtrace.io"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:7096959}},testnet:!0});var hg=1,i2=Ie({...Un,id:8453,name:"Base",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},rpcUrls:{default:{http:["https://mainnet.base.org"]}},blockExplorers:{default:{name:"Basescan",url:"https://basescan.org",apiUrl:"https://api.basescan.org/api"}},contracts:{...Un.contracts,disputeGameFactory:{[hg]:{address:"0x43edB88C4B80fDD2AdFF2412A7BebF9dF42cB40e"}},l2OutputOracle:{[hg]:{address:"0x56315b90c40730925ec5485cf004d835058518A0"}},multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:5022},portal:{[hg]:{address:"0x49048044D57e1C92A77f79988d21Fa8fAF74E97e",blockCreated:17482143}},l1StandardBridge:{[hg]:{address:"0x3154Cf16ccdb4C6d922629664174b904d80F2C35",blockCreated:17482143}}},sourceId:hg}),fxe=Ie({...i2,experimental_preconfirmationTime:200,rpcUrls:{default:{http:["https://mainnet-preconf.base.org"]}}});var yg=11155111,a2=Ie({...Un,id:84532,network:"base-sepolia",name:"Base Sepolia",nativeCurrency:{name:"Sepolia Ether",symbol:"ETH",decimals:18},rpcUrls:{default:{http:["https://sepolia.base.org"]}},blockExplorers:{default:{name:"Basescan",url:"https://sepolia.basescan.org",apiUrl:"https://api-sepolia.basescan.org/api"}},contracts:{...Un.contracts,disputeGameFactory:{[yg]:{address:"0xd6E6dBf4F7EA0ac412fD8b65ED297e64BB7a06E1"}},l2OutputOracle:{[yg]:{address:"0x84457ca9D0163FbC4bbfe4Dfbb20ba46e48DF254"}},portal:{[yg]:{address:"0x49f53e41452c74589e85ca1677426ba426459e85",blockCreated:4446677}},l1StandardBridge:{[yg]:{address:"0xfd0Bf71F60660E2f608ed56e1659C450eB113120",blockCreated:4446677}},multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:1059647}},testnet:!0,sourceId:yg}),pxe=Ie({...a2,experimental_preconfirmationTime:200,rpcUrls:{default:{http:["https://sepolia-preconf.base.org"]}}});var nY={estimateFeesPerGas:async e=>{if(!e.request?.feeCurrency)return null;let[t,n]=await Promise.all([mxe(e.client,e.request.feeCurrency),hxe(e.client,e.request.feeCurrency)]);return{maxFeePerGas:e.multiply(t-n)+n,maxPriorityFeePerGas:n}}};async function mxe(e,t){let n=await e.request({method:"eth_gasPrice",params:[t]});return BigInt(n)}async function hxe(e,t){let n=await e.request({method:"eth_maxPriorityFeePerGas",params:[t]});return BigInt(n)}Yn();ci();bf();function YC(e){return e===0||e===0n||e===void 0||e===null||e==="0"||e===""||typeof e=="string"&&(mr(e).toLowerCase()==="0x"||mr(e).toLowerCase()==="0x00")}function sh(e){return!YC(e)}function yxe(e){return typeof e.maxFeePerGas<"u"&&typeof e.maxPriorityFeePerGas<"u"}function c2(e){return e.type==="cip64"?!0:yxe(e)&&sh(e.feeCurrency)}var rY={block:y0({format(e){return{transactions:e.transactions?.map(n=>typeof n=="string"?n:{...ji(n),...n.gatewayFee?{gatewayFee:Ye(n.gatewayFee),gatewayFeeRecipient:n.gatewayFeeRecipient}:{},feeCurrency:n.feeCurrency})}}}),transaction:h0({format(e){if(e.type==="0x7e")return{isSystemTx:e.isSystemTx,mint:e.mint?Ye(e.mint):void 0,sourceHash:e.sourceHash,type:"deposit"};let t={feeCurrency:e.feeCurrency};return e.type==="0x7b"?t.type="cip64":(e.type==="0x7c"&&(t.type="cip42"),t.gatewayFee=e.gatewayFee?Ye(e.gatewayFee):null,t.gatewayFeeRecipient=e.gatewayFeeRecipient),t}}),transactionRequest:mx({format(e){let t={};return e.feeCurrency&&(t.feeCurrency=e.feeCurrency),c2(e)&&(t.type="0x7b"),t}})};Kb();ri();Ge();Bf();zi();ko();Sr();Ue();function bxe(e,t){return c2(e)?gxe(e,t):jC(e,t)}var oY={transaction:bxe};function gxe(e,t){Axe(e);let{chainId:n,gas:r,nonce:o,to:s,value:i,maxFeePerGas:a,maxPriorityFeePerGas:c,accessList:u,feeCurrency:d,data:l}=e,m=[ze(n),o?ze(o):"0x",c?ze(c):"0x",a?ze(a):"0x",r?ze(r):"0x",s??"0x",i?ze(i):"0x",l??"0x",$f(u),d,...Bd(e,t)];return jt(["0x7b",Fo(m)])}var _xe=xd;function Axe(e){let{chainId:t,maxPriorityFeePerGas:n,gasPrice:r,maxFeePerGas:o,to:s,feeCurrency:i}=e;if(t<=0)throw new Wi({chainId:t});if(s&&!it(s))throw new kt({address:s});if(r)throw new Y("`gasPrice` is not a valid CIP-64 Transaction attribute.");if(sh(o)&&o>_xe)throw new ls({maxFeePerGas:o});if(sh(n)&&sh(o)&&n>o)throw new ii({maxFeePerGas:o,maxPriorityFeePerGas:n});if(sh(i)&&!it(i))throw new Y("`feeCurrency` MUST be a token address for CIP-64 transactions.");if(YC(i))throw new Y("`feeCurrency` must be provided for CIP-64 transactions.")}var bg={blockTime:1e3,contracts:s2,formatters:rY,serializers:oY,fees:nY};var ZC=Ie({...bg,id:42220,name:"Celo",nativeCurrency:{decimals:18,name:"CELO",symbol:"CELO"},rpcUrls:{default:{http:["https://forno.celo.org"]}},blockExplorers:{default:{name:"Celo Explorer",url:"https://celoscan.io",apiUrl:"https://api.celoscan.io/api"}},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:13112599}},testnet:!1});var u2=17e3,XC=Ie({...bg,id:44787,name:"Alfajores",nativeCurrency:{decimals:18,name:"CELO",symbol:"A-CELO"},rpcUrls:{default:{http:["https://alfajores-forno.celo-testnet.org"]}},blockExplorers:{default:{name:"Celo Alfajores Explorer",url:"https://celo-alfajores.blockscout.com",apiUrl:"https://celo-alfajores.blockscout.com/api"}},contracts:{...bg.contracts,multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:14569001},portal:{[u2]:{address:"0x82527353927d8D069b3B452904c942dA149BA381",blockCreated:2411324}},disputeGameFactory:{[u2]:{address:"0xE28AAdcd9883746c0e5068F58f9ea06027b214cb",blockCreated:2411324}},l2OutputOracle:{[u2]:{address:"0x4a2635e9e4f6e45817b1D402ac4904c1d1752438",blockCreated:2411324}},l1StandardBridge:{[u2]:{address:"0xD1B0E0581973c9eB7f886967A606b9441A897037",blockCreated:2411324}}},testnet:!0});var JC=Ie({id:25,name:"Cronos Mainnet",nativeCurrency:{decimals:18,name:"Cronos",symbol:"CRO"},rpcUrls:{default:{http:["https://evm.cronos.org"]}},blockExplorers:{default:{name:"Cronos Explorer",url:"https://explorer.cronos.org",apiUrl:"https://explorer-api.cronos.org/mainnet/api"}},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:1963112}}});var QC=Ie({id:338,name:"Cronos Testnet",nativeCurrency:{decimals:18,name:"CRO",symbol:"tCRO"},rpcUrls:{default:{http:["https://evm-t3.cronos.org"]}},blockExplorers:{default:{name:"Cronos Explorer (Testnet)",url:"https://explorer.cronos.org/testnet"}},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:10191251}},testnet:!0});kn();Ue();zx();_d();ci();qb();Vi();async function sY(e,t){let{account:n=e.account}=t;if(!n)throw new Wn;let r=Pe(n);try{let{accessList:o,blockNumber:s,blockTag:i,data:a,gas:c,gasPrice:u,maxFeePerGas:d,maxPriorityFeePerGas:l,nonce:m,stateOverride:p,to:g,value:E,...x}=t,N=(typeof s=="bigint"?ue(s):void 0)||i;yr(t);let C=e.chain?.formatters?.transactionRequest?.format,D=(C||vr)({...fs(x,{format:C}),account:r,accessList:o,data:a,gas:c,gasPrice:u,maxFeePerGas:d,maxPriorityFeePerGas:l,nonce:m,to:g,value:E},"estimateGas"),F=Ed(p),{baseFeePerGas:U,gasLimit:V,priorityFeePerGas:$}=await e.request({method:"linea_estimateGas",params:F?N?[D,N,F]:[D,F]:N?[D,N]:[D]});return{baseFeePerGas:BigInt(U),gasLimit:BigInt(V),priorityFeePerGas:BigInt($)}}catch(o){throw k0(o,{...t,account:r,chain:e.chain})}}var d2={fees:{estimateFeesPerGas:iY,async maxPriorityFeePerGas({block:e,client:t,request:n}){let r=await iY({block:e,client:t,multiply:o=>o,request:n,type:"eip1559"});return r?.maxPriorityFeePerGas?r.maxPriorityFeePerGas:null}}};async function iY({client:e,multiply:t,request:n,type:r}){try{let o=await sY(e,{...n,account:n?.account}),{priorityFeePerGas:s}=o,a=t(BigInt(o.baseFeePerGas))+s;return r==="legacy"?{gasPrice:a}:{maxFeePerGas:a,maxPriorityFeePerGas:s}}catch{return null}}var eN=Ie({...d2,id:59144,name:"Linea Mainnet",blockTime:2e3,nativeCurrency:{name:"Linea Ether",symbol:"ETH",decimals:18},rpcUrls:{default:{http:["https://rpc.linea.build"],webSocket:["wss://rpc.linea.build"]}},blockExplorers:{default:{name:"Etherscan",url:"https://lineascan.build",apiUrl:"https://api.lineascan.build/api"}},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:42},ensRegistry:{address:"0x50130b669B28C339991d8676FA73CF122a121267",blockCreated:6682888},ensUniversalResolver:{address:"0x4D41762915F83c76EcaF6776d9b08076aA32b492",blockCreated:22222151}},ensTlds:[".linea.eth"],testnet:!1});var tN=Ie({...d2,id:59141,name:"Linea Sepolia Testnet",nativeCurrency:{name:"Linea Ether",symbol:"ETH",decimals:18},rpcUrls:{default:{http:["https://rpc.sepolia.linea.build"],webSocket:["wss://rpc.sepolia.linea.build"]}},blockExplorers:{default:{name:"Etherscan",url:"https://sepolia.lineascan.build",apiUrl:"https://api-sepolia.lineascan.build/api"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:227427},ensRegistry:{address:"0x5B2636F0f2137B4aE722C01dd5122D7d3e9541f7",blockCreated:2395094},ensUniversalResolver:{address:"0x4D41762915F83c76EcaF6776d9b08076aA32b492",blockCreated:17168484}},ensTlds:[".linea.eth"],testnet:!0});var nN=Ie({id:1,name:"Ethereum",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},blockTime:12e3,rpcUrls:{default:{http:["https://ethereum.reth.rs/rpc"]}},blockExplorers:{default:{name:"Etherscan",url:"https://etherscan.io",apiUrl:"https://api.etherscan.io/api"}},contracts:{ensUniversalResolver:{address:"0xeeeeeeee14d718c2b47d9923deab1335e144eeee",blockCreated:23085558},multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:14353601}}});var gg=1,rN=Ie({...Un,id:10,name:"OP Mainnet",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},rpcUrls:{default:{http:["https://mainnet.optimism.io"]}},blockExplorers:{default:{name:"Optimism Explorer",url:"https://optimistic.etherscan.io",apiUrl:"https://api-optimistic.etherscan.io/api"}},contracts:{...Un.contracts,disputeGameFactory:{[gg]:{address:"0xe5965Ab5962eDc7477C8520243A95517CD252fA9"}},l2OutputOracle:{[gg]:{address:"0xdfe97868233d1aa22e815a266982f2cf17685a27"}},multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:4286263},portal:{[gg]:{address:"0xbEb5Fc579115071764c7423A4f12eDde41f106Ed"}},l1StandardBridge:{[gg]:{address:"0x99C9fc46f92E8a1c0deC1b1747d010903E884bE1"}}},sourceId:gg});var _g=11155111,oN=Ie({...Un,id:11155420,name:"OP Sepolia",nativeCurrency:{name:"Sepolia Ether",symbol:"ETH",decimals:18},rpcUrls:{default:{http:["https://sepolia.optimism.io"]}},blockExplorers:{default:{name:"Blockscout",url:"https://optimism-sepolia.blockscout.com",apiUrl:"https://optimism-sepolia.blockscout.com/api"}},contracts:{...Un.contracts,disputeGameFactory:{[_g]:{address:"0x05F9613aDB30026FFd634f38e5C4dFd30a197Fa1"}},l2OutputOracle:{[_g]:{address:"0x90E9c4f8a994a250F6aEfd61CAFb4F2e895D458F"}},multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:1620204},portal:{[_g]:{address:"0x16Fc5058F25648194471939df75CF27A2fdC48BC"}},l1StandardBridge:{[_g]:{address:"0xFBb0621E0B23b5478B630BD55a5f21f67730B0F1"}}},testnet:!0,sourceId:_g});var sN=Ie({id:9745,name:"Plasma",blockTime:1e3,nativeCurrency:{name:"Plasma",symbol:"XPL",decimals:18},rpcUrls:{default:{http:["https://rpc.plasma.to"]}},blockExplorers:{default:{name:"PlasmaScan",url:"https://plasmascan.to"}},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:0}}});var iN=Ie({id:9746,name:"Plasma Testnet",nativeCurrency:{name:"Testnet Plasma",symbol:"XPL",decimals:18},rpcUrls:{default:{http:["https://testnet-rpc.plasma.to"]}},blockExplorers:{default:{name:"RouteScan",url:"https://testnet.plasmascan.to"}},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:0}},testnet:!0});var aN=Ie({id:1329,name:"Sei Network",nativeCurrency:{name:"Sei",symbol:"SEI",decimals:18},rpcUrls:{default:{http:["https://evm-rpc.sei-apis.com/"],webSocket:["wss://evm-ws.sei-apis.com/"]}},blockExplorers:{default:{name:"Seiscan",url:"https://seiscan.io",apiUrl:"https://api.etherscan.io/v2/api"}},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11"}}});var cN=Ie({id:1328,name:"Sei Testnet",nativeCurrency:{name:"Sei",symbol:"SEI",decimals:18},rpcUrls:{default:{http:["https://evm-rpc-testnet.sei-apis.com"],webSocket:["wss://evm-ws-testnet.sei-apis.com"]}},blockExplorers:{default:{name:"Seiscan",url:"https://testnet.seiscan.io",apiUrl:"https://api.etherscan.io/v2/api"}},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:98697651}},testnet:!0});var uN=Ie({id:11155111,name:"Sepolia",nativeCurrency:{name:"Sepolia Ether",symbol:"ETH",decimals:18},rpcUrls:{default:{http:["https://11155111.rpc.thirdweb.com"]}},blockExplorers:{default:{name:"Etherscan",url:"https://sepolia.etherscan.io",apiUrl:"https://api-sepolia.etherscan.io/api"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:751532},ensUniversalResolver:{address:"0xeeeeeeee14d718c2b47d9923deab1335e144eeee",blockCreated:8928790}},testnet:!0});var dN=Ie({id:146,name:"Sonic",blockTime:630,nativeCurrency:{decimals:18,name:"Sonic",symbol:"S"},rpcUrls:{default:{http:["https://rpc.soniclabs.com"]}},blockExplorers:{default:{name:"Sonic Explorer",url:"https://sonicscan.org"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:60}},testnet:!1});var l2=1,lN=Ie({...Un,id:130,name:"Unichain",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},blockTime:1e3,rpcUrls:{default:{http:["https://mainnet.unichain.org/"]}},blockExplorers:{default:{name:"Uniscan",url:"https://uniscan.xyz",apiUrl:"https://api.uniscan.xyz/api"}},contracts:{...Un.contracts,multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:0},disputeGameFactory:{[l2]:{address:"0x2F12d621a16e2d3285929C9996f478508951dFe4"}},portal:{[l2]:{address:"0x0bd48f6B86a26D3a217d0Fa6FfE2B491B956A7a2"}},l1StandardBridge:{[l2]:{address:"0x81014F44b0a345033bB2b3B21C7a1A308B35fEeA"}}},sourceId:l2});var f2=11155111,fN=Ie({...Un,id:1301,name:"Unichain Sepolia",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},blockTime:1e3,rpcUrls:{default:{http:["https://sepolia.unichain.org"]}},blockExplorers:{default:{name:"Uniscan",url:"https://sepolia.uniscan.xyz",apiUrl:"https://api-sepolia.uniscan.xyz/api"}},contracts:{...Un.contracts,multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:0},portal:{[f2]:{address:"0x0d83dab629f0e0F9d36c0Cbc89B69a489f0751bD"}},l1StandardBridge:{[f2]:{address:"0xea58fcA6849d79EAd1f26608855c2D6407d54Ce2"}},disputeGameFactory:{[f2]:{address:"0xeff73e5aa3B9AEC32c659Aa3E00444d20a84394b"}}},testnet:!0,sourceId:f2});var Ag=1,pN=Ie({...Un,id:480,name:"World Chain",network:"worldchain",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},rpcUrls:{default:{http:["https://worldchain-mainnet.g.alchemy.com/public"]}},blockExplorers:{default:{name:"Worldscan",url:"https://worldscan.org",apiUrl:"https://api.worldscan.org/api"},blockscout:{name:"Blockscout",url:"https://worldchain-mainnet.explorer.alchemy.com",apiUrl:"https://worldchain-mainnet.explorer.alchemy.com/api"}},contracts:{...Un.contracts,multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:0},disputeGameFactory:{[Ag]:{address:"0x069c4c579671f8c120b1327a73217D01Ea2EC5ea"}},l2OutputOracle:{[Ag]:{address:"0x19A6d1E9034596196295CF148509796978343c5D"}},portal:{[Ag]:{address:"0xd5ec14a83B7d95BE1E2Ac12523e2dEE12Cbeea6C"}},l1StandardBridge:{[Ag]:{address:"0x470458C91978D2d929704489Ad730DC3E3001113"}}},testnet:!1,sourceId:Ag});var Eg=11155111,mN=Ie({...Un,id:4801,name:"World Chain Sepolia",network:"worldchain-sepolia",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},rpcUrls:{default:{http:["https://worldchain-sepolia.g.alchemy.com/public"]}},blockExplorers:{default:{name:"Worldscan Sepolia",url:"https://sepolia.worldscan.org",apiUrl:"https://api-sepolia.worldscan.org/api"},blockscout:{name:"Blockscout",url:"https://worldchain-sepolia.explorer.alchemy.com",apiUrl:"https://worldchain-sepolia.explorer.alchemy.com/api"}},contracts:{...Un.contracts,multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:0},disputeGameFactory:{[Eg]:{address:"0x8Ec1111f67Dad6b6A93B3F42DfBC92D81c98449A"}},l2OutputOracle:{[Eg]:{address:"0xc8886f8BAb6Eaeb215aDB5f1c686BF699248300e"}},portal:{[Eg]:{address:"0xFf6EBa109271fe6d4237EeeD4bAb1dD9A77dD1A4"}},l1StandardBridge:{[Eg]:{address:"0xd7DF54b3989855eb66497301a4aAEc33Dbb3F8DE"}}},testnet:!0,sourceId:Eg});var hN=Ie({id:50,name:"XDC Network",nativeCurrency:{decimals:18,name:"XDC",symbol:"XDC"},rpcUrls:{default:{http:["https://rpc.xdcrpc.com"]}},blockExplorers:{default:{name:"XDCScan",url:"https://xdcscan.com"}},contracts:{multicall3:{address:"0x0B1795ccA8E4eC4df02346a082df54D437F8D9aF",blockCreated:75884020}}});var yN=Ie({id:51,name:"Apothem Network",nativeCurrency:{decimals:18,name:"TXDC",symbol:"TXDC"},rpcUrls:{default:{http:["https://erpc.apothem.network"]}},blockExplorers:{default:{name:"XDCScan",url:"https://testnet.xdcscan.com"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:59765389}},testnet:!0});var p2=Ie({...o2,blockTime:200,id:324,name:"ZKsync Era",network:"zksync-era",nativeCurrency:{decimals:18,name:"Ether",symbol:"ETH"},rpcUrls:{default:{http:["https://mainnet.era.zksync.io"],webSocket:["wss://mainnet.era.zksync.io/ws"]}},blockExplorers:{default:{name:"ZKsync Explorer",url:"https://explorer.zksync.io/",apiUrl:"https://block-explorer-api.mainnet.zksync.io/api"}},contracts:{multicall3:{address:"0xF9cda624FBC7e059355ce98a31693d299FACd963",blockCreated:3908235},erc6492Verifier:{address:"0xfB688330379976DA81eB64Fe4BF50d7401763B9C",blockCreated:45659388}}});var m2=Ie({...o2,blockTime:200,id:300,name:"ZKsync Sepolia Testnet",network:"zksync-sepolia-testnet",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},rpcUrls:{default:{http:["https://sepolia.era.zksync.dev"],webSocket:["wss://sepolia.era.zksync.dev/ws"]}},blockExplorers:{default:{name:"ZKsync Explorer",url:"https://sepolia.explorer.zksync.io/",blockExplorerApi:"https://block-explorer-api.sepolia.zksync.dev/api"}},contracts:{multicall3:{address:"0xF9cda624FBC7e059355ce98a31693d299FACd963"},erc6492Verifier:{address:"0xfB688330379976DA81eB64Fe4BF50d7401763B9C",blockCreated:3855712}},testnet:!0});var Exe=["RETRYABLE","RESUMABLE","FATAL"],xxe={INPUT:"INPUT",BALANCE:"BALANCE",ONCHAIN:"ONCHAIN",RPC:"RPC",NETWORK:"NETWORK",RATE_LIMIT:"RATE_LIMIT",SERVICE:"SERVICE",LIQUIDITY:"LIQUIDITY",UNKNOWN:"UNKNOWN"},wxe=Object.values(xxe),Txe=[...Exe],Sxe=[...wxe],Rxe=[{min:1e3,max:1999,type:"INPUT"},{min:3e3,max:3999,type:"NETWORK"},{min:4e3,max:4999,type:"RPC"},{min:5e3,max:5999,type:"ONCHAIN"},{min:6e3,max:6999,type:"LIQUIDITY"},{min:7e3,max:7999,type:"RATE_LIMIT"},{min:8e3,max:8999,type:"SERVICE"},{min:9e3,max:9999,type:"BALANCE"}],vxe=0,Ixe=h.object({code:h.number().int("Error code must be an integer").refine(e=>e===vxe||Rxe.some(t=>e>=t.min&&e<=t.max),{message:"Error code must be 0 (UNKNOWN) or in valid ranges: 1000-1999 (INPUT), 3000-3999 (NETWORK), 4000-4999 (RPC), 5000-5999 (ONCHAIN), 6000-6999 (LIQUIDITY), 7000-7999 (RATE_LIMIT), 8000-8999 (SERVICE), 9000-9999 (BALANCE)"}),name:h.string().min(1,"Error name must be a non-empty string").regex(/^[A-Z_][A-Z0-9_]*$/,"Error name must match pattern: ^[A-Z_][A-Z0-9_]*$"),type:h.enum(Sxe,{errorMap:()=>({message:"Error type must be one of: INPUT, BALANCE, ONCHAIN, RPC, NETWORK, RATE_LIMIT, SERVICE, LIQUIDITY, UNKNOWN"})}),recoverability:h.enum(Txe,{errorMap:()=>({message:"Recoverability must be one of: RETRYABLE, RESUMABLE, FATAL"})}),message:h.string().min(1,"Error message must be a non-empty string").max(1e3,"Error message must be 1000 characters or less"),cause:h.object({trace:h.unknown().optional()}).optional()});function Cxe(e){let t=Ixe.safeParse(e);if(!t.success){let n=t.error.issues.map(r=>`${r.path.join(".")}: ${r.message}`).join(", ");throw new TypeError(`Invalid ErrorDetails: ${n}`)}return t.data}var aY=950,AY=Symbol.for("circle.KitError"),De=class extends Error{code;name;type;recoverability;cause;constructor(t){let n=t.message;n.length>aY&&(n=`${n.slice(0,aY-3)}...`);let r={...t,message:n},o=Cxe(r);super(o.message),Object.defineProperties(this,{[AY]:{value:!0,writable:!1,enumerable:!1,configurable:!1},name:{value:o.name,writable:!1,enumerable:!0,configurable:!1},code:{value:o.code,writable:!1,enumerable:!0,configurable:!1},type:{value:o.type,writable:!1,enumerable:!0,configurable:!1},recoverability:{value:o.recoverability,writable:!1,enumerable:!0,configurable:!1},...o.cause&&{cause:{value:o.cause,writable:!1,enumerable:!0,configurable:!1}}})}},_t={INVALID_AMOUNT:{code:1002,name:"INPUT_INVALID_AMOUNT",type:"INPUT"},UNSUPPORTED_ROUTE:{code:1003,name:"INPUT_UNSUPPORTED_ROUTE",type:"INPUT"},INVALID_ADDRESS:{code:1004,name:"INPUT_INVALID_ADDRESS",type:"INPUT"},INVALID_CHAIN:{code:1005,name:"INPUT_INVALID_CHAIN",type:"INPUT"},UNSUPPORTED_TOKEN:{code:1006,name:"INPUT_UNSUPPORTED_TOKEN",type:"INPUT"},UNSUPPORTED_ACTION:{code:1008,name:"INPUT_UNSUPPORTED_ACTION",type:"INPUT"},SLIPPAGE_CONSTRAINT_NOT_MET:{code:1009,name:"INPUT_SLIPPAGE_CONSTRAINT_NOT_MET",type:"INPUT"},VALIDATION_FAILED:{code:1098,name:"INPUT_VALIDATION_FAILED",type:"INPUT"}},EY={INSUFFICIENT_TOKEN:{code:9001,name:"BALANCE_INSUFFICIENT_TOKEN",type:"BALANCE"},INSUFFICIENT_GAS:{code:9002,name:"BALANCE_INSUFFICIENT_GAS",type:"BALANCE"}},Ig={TRANSACTION_REVERTED:{code:5001,name:"ONCHAIN_TRANSACTION_REVERTED",type:"ONCHAIN"},SIMULATION_FAILED:{code:5002,name:"ONCHAIN_SIMULATION_FAILED",type:"ONCHAIN"},OUT_OF_GAS:{code:5003,name:"ONCHAIN_OUT_OF_GAS",type:"ONCHAIN"},TRANSACTION_TOO_LARGE:{code:5005,name:"ONCHAIN_TRANSACTION_TOO_LARGE",type:"ONCHAIN"},UNKNOWN_BLOCKCHAIN_ERROR:{code:5099,name:"ONCHAIN_UNKNOWN_BLOCKCHAIN_ERROR",type:"ONCHAIN"}},y2={ENDPOINT_ERROR:{code:4001,name:"RPC_ENDPOINT_ERROR",type:"RPC"},INVALID_RESPONSE:{code:4002,name:"RPC_INVALID_RESPONSE",type:"RPC"}},xY={CONNECTION_FAILED:{code:3001,name:"NETWORK_CONNECTION_FAILED",type:"NETWORK"},TIMEOUT:{code:3002,name:"NETWORK_TIMEOUT",type:"NETWORK"}},Nxe={UNKNOWN:{code:0,name:"UNKNOWN",type:"UNKNOWN"}},Oxe=Object.freeze([".g.alchemy.com",".infura.io",".quiknode.pro",".ankr.com",".p2pify.com",".gateway.tenderly.co",".blockpi.network",".getblock.io",".moralis-nodes.com",".helius-rpc.com",".helius.xyz",".rpcpool.com"]),kxe=Object.freeze([/[?&](?:(?:api|access|auth|app)[-_]?)?(?:key|token|secret)=[^&\s"'<>`]{1,256}/gi,/(?`]{1,2048}/g;function wY(e){let t=e?.hostSuffixes??Oxe,n=e?.patterns??kxe;return r=>{let o=r.replaceAll(Dxe,s=>{let i=".,;)]>",a=s.length,c=Math.max(a-16,0);for(;a>c&&i.includes(s.charAt(a-1));)a--;let u=a===s.length?s:s.slice(0,a),d;try{d=new URL(u)}catch{return s}if(d.username!==""||d.password!=="")return"[REDACTED]";let l=d.hostname.toLowerCase();return t.some(m=>l.endsWith(m))?"[REDACTED]":s});for(let s of n)o=o.replaceAll(s,"[REDACTED]");return o}}var Bxe=wY(),h2=Bxe;function b2(e){return h2===void 0?e:typeof h2=="function"?h2(e):wY({patterns:h2,hostSuffixes:[]})(e)}function Pxe(e){return e instanceof Error?{name:e.name,message:b2(e.message)}:b2(String(e))}function Lxe(e){try{return JSON.stringify(e,(t,n)=>typeof n=="bigint"?n.toString():n)}catch{return"[unserializable object]"}}function Mxe(e,t){let n={..._t.UNSUPPORTED_ROUTE,recoverability:"FATAL",message:`Earn ${e} on ${t} is not supported by any available provider.`,cause:{trace:{operation:e,chain:t}}};return new De(n)}function TY(e,t){let n={..._t.UNSUPPORTED_TOKEN,recoverability:"FATAL",message:`${e} is not supported on ${t}.`,cause:{trace:{token:e,chain:t}}};return new De(n)}function $N(e,t){let n={..._t.INVALID_AMOUNT,recoverability:"FATAL",message:`Invalid amount '${e}': ${t}.`,cause:{trace:{amount:e,reason:t}}};return new De(n)}function _r(e,t){let n={..._t.INVALID_CHAIN,recoverability:"FATAL",message:`Invalid chain '${e}': ${t}.`,cause:{trace:{chain:e,reason:t}}};return new De(n)}function tt(e,t,n){let r;typeof t=="string"?r=`'${t}'`:typeof t=="object"&&t!==null?r=Lxe(t):r=String(t);let o={..._t.VALIDATION_FAILED,recoverability:"FATAL",message:`Validation failed for '${e}': ${r} - ${n}.`,cause:{trace:{field:e,value:t,reason:n}}};return new De(o)}function v2(e,t){let n=e.issues.map(a=>`${a.path.length>0?`${a.path.join(".")}: `:""}${a.message}`),o=n.join("; ")||"Invalid Input",s=`Invalid ${t}: ${o}`,i={..._t.VALIDATION_FAILED,recoverability:"FATAL",message:s,cause:{trace:{validationErrors:n,zodError:e.message,zodIssues:e.issues}}};return new De(i)}function SY(e,t,n){return new De({...EY.INSUFFICIENT_TOKEN,recoverability:"FATAL",message:`Insufficient ${t} balance on ${e}`,cause:{trace:{...n,chain:e,token:t}}})}function Fxe(e,t="native token",n){return new De({...EY.INSUFFICIENT_GAS,recoverability:"FATAL",message:`Insufficient ${t} on ${e} to cover gas fees`,cause:{trace:{...n,chain:e}}})}function RY(e,t,n){return new De({...Ig.SIMULATION_FAILED,recoverability:"FATAL",message:`Simulation failed on ${e}: ${t}`,cause:{trace:{...n,chain:e,reason:t}}})}function wN(e,t,n,r,o){return new De({...Ig.TRANSACTION_REVERTED,recoverability:"FATAL",message:`Transaction reverted on ${e}: ${t}`,cause:{trace:{...n,chain:e,reason:t,...r!==void 0&&r!==""&&{txHash:r},...o!==void 0&&o!==""&&{explorerUrl:o}}}})}function Uxe(e,t,n,r){return new De({...Ig.OUT_OF_GAS,recoverability:"FATAL",message:`Transaction ran out of gas on ${e}`,cause:{trace:{...t,chain:e,...n!==void 0&&n!==""&&{txHash:n},...r!==void 0&&r!==""&&{explorerUrl:r}}}})}function Hxe(e,t){return new De({...Ig.TRANSACTION_TOO_LARGE,recoverability:"FATAL",message:`Transaction size exceeds limit on ${e}`,cause:{trace:{chain:e,rawError:t}}})}function $xe(e,t,n){let r=t?"Unknown blockchain error on "+e+": "+t:"Unknown blockchain error on "+e;return new De({...Ig.UNKNOWN_BLOCKCHAIN_ERROR,recoverability:"FATAL",message:r,cause:{trace:{chain:e,rawError:n}}})}function bN(e,t){return new De({...y2.ENDPOINT_ERROR,recoverability:"RETRYABLE",message:`RPC endpoint error on ${e}`,cause:{trace:{...t,chain:e}}})}function zxe(e,t){return new De({...xY.CONNECTION_FAILED,recoverability:"RETRYABLE",message:`Network connection failed for ${e}`,cause:{trace:{...t,chain:e}}})}function Vxe(e={}){let{message:t="An unexpected error occurred",recoverability:n="FATAL",cause:r}=e,o=t;return r!=null&&(r instanceof Error?o=`${t}: ${r.message}`:typeof r=="string"&&r.length>0&&(o=`${t}: ${r}`)),new De({...Nxe.UNKNOWN,recoverability:n,message:o,cause:{trace:r}})}function vY(e,t){let n={};return e!==void 0&&e!==""&&(n.txHash=e),t!==void 0&&t!==""&&(n.explorerUrl=t),n}var jxe=/slippage|lower than the minimum required|less than the initial balance|minimum.?output|price.?impact|stop.?limit|InsufficientOutput|InsufficientFinalBalance/i;function Gxe(e,t,n){let r=Zxe(e,t)??"Transaction reverted";if(jxe.test(r))return new De({..._t.SLIPPAGE_CONSTRAINT_NOT_MET,recoverability:"RETRYABLE",message:`Transaction on ${n.chain} reverted: "${r}". Try increasing slippageBps or adjusting stopLimit.`,cause:{trace:{rawError:t,chain:n.chain,reason:r}}});if(/simulation failed/i.test(e)||n.operation==="simulation")return RY(n.chain,r,{rawError:t});let{txHash:o,explorerUrl:s}=vY(n.txHash,n.explorerUrl);return wN(n.chain,r,{rawError:t},o,s)}function qf(e,t){let n=qxe(e),r=t.token??"token";if(/insufficient funds for (gas|intrinsic transaction cost)|sender doesn't have enough funds to send tx/i.test(n))return Fxe(t.chain,void 0,{rawError:e});if(/transfer amount exceeds balance|insufficient (balance|funds)|burn amount exceeded/i.test(n))return SY(t.chain,r,{rawError:e});let o=Xxe(n,t,e);if(o!==null)return o;if(/execution reverted|simulation failed|transaction reverted|transaction failed/i.test(n))return Gxe(n,e,t);if(/gas estimation failed|cannot estimate gas/i.test(n))return bN(t.chain,{rawError:e});if(/out of gas|gas limit exceeded|exceeds block gas limit/i.test(n)){let{txHash:i,explorerUrl:a}=vY(t.txHash,t.explorerUrl);return Uxe(t.chain,{rawError:e},i,a)}return/connection (refused|failed)|network|timeout|ENOTFOUND|ECONNREFUSED/i.test(n)?zxe(t.chain,{rawError:e}):/rpc|invalid response|rate limit|too many requests|could not coalesce|no response|server error|json-rpc\s+internal|internal json-rpc|-32603|-32000/i.test(n)?bN(t.chain,{rawError:e}):/transaction (?:too large|exceeds size limit|size exceeds)|encoded\/raw\s+\d+\/\d+|max transaction size/i.test(n)||/(?:tx|transaction) size is too big:\s*\d+,\s*max:\s*\d+/i.test(n)?Hxe(t.chain,e):t.operation==="estimateGas"||t.operation==="getGasPrice"?bN(t.chain,{rawError:e}):t.operation==="simulation"?RY(t.chain,n.length>0?n:"Simulation failed",{rawError:e}):$xe(t.chain,n.length>0?n:"Unknown error",{rawError:e})}function Wxe(e){return e!==null&&typeof e=="object"&&"context"in e&&e.context!==null&&typeof e.context=="object"&&"logs"in e.context&&Array.isArray(e.context.logs)}function qxe(e){if(Wxe(e)){let t=e.context.logs.find(n=>n.includes("AnchorError")||n.includes("Error Message"));if(t!==void 0)return t}return e instanceof Error?e.message:typeof e=="string"?e:typeof e=="object"&&e!==null&&"message"in e?String(e.message):String(e)}var Kxe={"0xd93c0665":"This contract is currently paused","0x3ee5aeb5":"Security check failed due to a reentrancy attempt","0x8baa579f":"The provided signature is invalid or could not be verified","0x1ab7da6b":"This request has expired","0x64eee62e":"No instructions provided","0x3c46992e":"Too many execution steps were provided","0xe066e60e":"Exceeds maximum token inputs limit","0x5566df5c":"The beneficiary address is invalid","0xf41d7bc6":"Execution ID already used","0x948726e2":"The account balance does not meet the required minimum","0x01aa0452":"The permit type provided is not supported","0x13be252b":"Token approval failed and the allowance is insufficient","0x5274afe7":"Token transfer or approval failed","0x00bc1dcb":"One of the execution targets is invalid","0x5d693841":"Cannot approve a zero address or a native token","0x3ec5cfe1":"Cannot validate output for a zero address token","0x492fd70e":"Instruction call failed without revert data","0xba235e1a":"The received token amount is lower than the minimum required","0x9147d463":"Final balance is less than the initial balance","0xf4b3b1bc":"Native token transfer to the beneficiary failed"};function Yxe(e,t){if(t!==null&&typeof t=="object"&&"data"in t&&typeof t.data=="string"&&/^0x[0-9a-f]{8}$/i.test(t.data))return t.data.toLowerCase();let r=/custom error (0x[0-9a-f]{8})\b/i.exec(e)?.[1];if(r!==void 0&&r.length>0)return r.toLowerCase()}function Zxe(e,t){let n=Yxe(e,t);if(n!==void 0){let o=Kxe[n];if(o!==void 0)return`${o} (${n})`}let r=[/(?:execution reverted|reverted):\s*([^\n.]+)/i,/reason:\s*([^\n.]+)/i,/with reason:\s*([^\n.]+)/i];for(let o of r){let i=o.exec(e)?.at(1);if(i!==void 0&&i.length>0)return i.trim()}return n!==void 0?`Transaction reverted with error (${n})`:null}function Xxe(e,t,n){let r=t.token??"token";return/WithdrawalValueExceedsAvailableBalance|InsufficientDepositBalance/i.test(e)?SY(t.chain,r,{rawError:n}):/WithdrawalNotYetAvailable|WithdrawalDelayNotElapsed/i.test(e)?wN(t.chain,"Withdrawal is not yet available \u2014 the withdrawal delay has not elapsed",{rawError:n}):/NoWithdrawingBalance/i.test(e)?wN(t.chain,"No pending withdrawal balance \u2014 call initiateWithdrawal() first",{rawError:n}):null}function g2(e){return e instanceof De?!0:e!==null&&typeof e=="object"&&e[AY]===!0}var Jxe=[3001,3002,4001,4002];function Qxe(e){return g2(e)?e.recoverability==="RETRYABLE"||e.recoverability==="RESUMABLE"?!0:Jxe.includes(e.code):!1}function zN(e){return e instanceof Error?e.message:typeof e=="string"?e:typeof e=="object"&&e!==null&&"message"in e?String(e.message):"An unknown error occurred"}function ep(e){if(e===null||typeof e!="object")return{name:"UnknownError",message:String(e)};let t=e,n=g2(e)?zN(e):"An error occurred. See error name and code for details.",r={name:t.name??"UnknownError",message:n};return typeof t.code=="number"&&(r.code=t.code),g2(e)&&(r.type=e.type),r}var B;(function(e){e.Algorand="Algorand",e.Algorand_Testnet="Algorand_Testnet",e.Aptos="Aptos",e.Aptos_Testnet="Aptos_Testnet",e.Arbitrum="Arbitrum",e.Arbitrum_Sepolia="Arbitrum_Sepolia",e.Arc="Arc",e.Arc_Testnet="Arc_Testnet",e.Avalanche="Avalanche",e.Avalanche_Fuji="Avalanche_Fuji",e.Base="Base",e.Base_Sepolia="Base_Sepolia",e.Celo="Celo",e.Celo_Alfajores_Testnet="Celo_Alfajores_Testnet",e.Codex="Codex",e.Codex_Testnet="Codex_Testnet",e.Cronos="Cronos",e.Cronos_Testnet="Cronos_Testnet",e.Edge="Edge",e.Edge_Testnet="Edge_Testnet",e.Ethereum="Ethereum",e.Ethereum_Sepolia="Ethereum_Sepolia",e.Hedera="Hedera",e.Hedera_Testnet="Hedera_Testnet",e.HyperEVM="HyperEVM",e.HyperEVM_Testnet="HyperEVM_Testnet",e.Injective="Injective",e.Injective_Testnet="Injective_Testnet",e.Ink="Ink",e.Ink_Testnet="Ink_Testnet",e.Linea="Linea",e.Linea_Sepolia="Linea_Sepolia",e.Monad="Monad",e.Monad_Testnet="Monad_Testnet",e.Morph="Morph",e.Morph_Testnet="Morph_Testnet",e.NEAR="NEAR",e.NEAR_Testnet="NEAR_Testnet",e.Noble="Noble",e.Noble_Testnet="Noble_Testnet",e.Optimism="Optimism",e.Optimism_Sepolia="Optimism_Sepolia",e.Pharos="Pharos",e.Pharos_Testnet="Pharos_Testnet",e.Plasma="Plasma",e.Plasma_Testnet="Plasma_Testnet",e.Polkadot_Asset_Hub="Polkadot_Asset_Hub",e.Polkadot_Westmint="Polkadot_Westmint",e.Plume="Plume",e.Plume_Testnet="Plume_Testnet",e.Polygon="Polygon",e.Polygon_Amoy_Testnet="Polygon_Amoy_Testnet",e.Sei="Sei",e.Sei_Testnet="Sei_Testnet",e.Solana="Solana",e.Solana_Devnet="Solana_Devnet",e.Sonic="Sonic",e.Sonic_Testnet="Sonic_Testnet",e.Stellar="Stellar",e.Stellar_Testnet="Stellar_Testnet",e.Sui="Sui",e.Sui_Testnet="Sui_Testnet",e.Unichain="Unichain",e.Unichain_Sepolia="Unichain_Sepolia",e.World_Chain="World_Chain",e.World_Chain_Sepolia="World_Chain_Sepolia",e.XDC="XDC",e.XDC_Apothem="XDC_Apothem",e.X_Layer="X_Layer",e.X_Layer_Testnet="X_Layer_Testnet",e.ZKSync_Era="ZKSync_Era",e.ZKSync_Sepolia="ZKSync_Sepolia"})(B||(B={}));var Yf;(function(e){e.Ethereum="Ethereum",e.Base="Base",e.Polygon="Polygon",e.Solana="Solana",e.Arbitrum="Arbitrum",e.Optimism="Optimism",e.Avalanche="Avalanche",e.Linea="Linea",e.Ink="Ink",e.World_Chain="World_Chain",e.Unichain="Unichain",e.Plume="Plume",e.Sei="Sei",e.Sonic="Sonic",e.XDC="XDC",e.HyperEVM="HyperEVM",e.Monad="Monad",e.Arc="Arc",e.Arc_Testnet="Arc_Testnet"})(Yf||(Yf={}));var _2;(function(e){e.Arbitrum="Arbitrum",e.Arc="Arc",e.Avalanche="Avalanche",e.Base="Base",e.Codex="Codex",e.Cronos="Cronos",e.Edge="Edge",e.Ethereum="Ethereum",e.HyperEVM="HyperEVM",e.Injective="Injective",e.Ink="Ink",e.Linea="Linea",e.Monad="Monad",e.Morph="Morph",e.Optimism="Optimism",e.Pharos="Pharos",e.Plasma="Plasma",e.Plume="Plume",e.Polygon="Polygon",e.Sei="Sei",e.Solana="Solana",e.Sonic="Sonic",e.Unichain="Unichain",e.World_Chain="World_Chain",e.XDC="XDC",e.X_Layer="X_Layer",e.Arc_Testnet="Arc_Testnet",e.Arbitrum_Sepolia="Arbitrum_Sepolia",e.Avalanche_Fuji="Avalanche_Fuji",e.Base_Sepolia="Base_Sepolia",e.Codex_Testnet="Codex_Testnet",e.Cronos_Testnet="Cronos_Testnet",e.Edge_Testnet="Edge_Testnet",e.Ethereum_Sepolia="Ethereum_Sepolia",e.HyperEVM_Testnet="HyperEVM_Testnet",e.Injective_Testnet="Injective_Testnet",e.Ink_Testnet="Ink_Testnet",e.Linea_Sepolia="Linea_Sepolia",e.Monad_Testnet="Monad_Testnet",e.Morph_Testnet="Morph_Testnet",e.Optimism_Sepolia="Optimism_Sepolia",e.Pharos_Testnet="Pharos_Testnet",e.Plasma_Testnet="Plasma_Testnet",e.Plume_Testnet="Plume_Testnet",e.Polygon_Amoy_Testnet="Polygon_Amoy_Testnet",e.Sei_Testnet="Sei_Testnet",e.Solana_Devnet="Solana_Devnet",e.Sonic_Testnet="Sonic_Testnet",e.Unichain_Sepolia="Unichain_Sepolia",e.World_Chain_Sepolia="World_Chain_Sepolia",e.XDC_Apothem="XDC_Apothem",e.X_Layer_Testnet="X_Layer_Testnet"})(_2||(_2={}));var Sg;(function(e){e.Arc="Arc",e.Arbitrum="Arbitrum",e.Avalanche="Avalanche",e.Base="Base",e.Ethereum="Ethereum",e.HyperEVM="HyperEVM",e.Optimism="Optimism",e.Polygon="Polygon",e.Sei="Sei",e.Solana="Solana",e.Sonic="Sonic",e.Unichain="Unichain",e.World_Chain="World_Chain",e.Arbitrum_Sepolia="Arbitrum_Sepolia",e.Arc_Testnet="Arc_Testnet",e.Avalanche_Fuji="Avalanche_Fuji",e.Base_Sepolia="Base_Sepolia",e.Ethereum_Sepolia="Ethereum_Sepolia",e.HyperEVM_Testnet="HyperEVM_Testnet",e.Optimism_Sepolia="Optimism_Sepolia",e.Polygon_Amoy_Testnet="Polygon_Amoy_Testnet",e.Sei_Testnet="Sei_Testnet",e.Solana_Devnet="Solana_Devnet",e.Sonic_Testnet="Sonic_Testnet",e.Unichain_Sepolia="Unichain_Sepolia",e.World_Chain_Sepolia="World_Chain_Sepolia"})(Sg||(Sg={}));var Zf;(function(e){e.Arc="Arc",e.Arc_Testnet="Arc_Testnet"})(Zf||(Zf={}));var TN=["Arbitrum","Arbitrum_Sepolia","Base","Base_Sepolia","Ethereum","Ethereum_Sepolia"],SN=["Arc","Arc_Testnet"],Xf;(function(e){e.Arc="Arc",e.Arc_Testnet="Arc_Testnet"})(Xf||(Xf={}));var ewe={type:"algorand",chain:B.Algorand,name:"Algorand",title:"Algorand Mainnet",nativeCurrency:{name:"Algo",symbol:"ALGO",decimals:6},isTestnet:!1,explorerUrl:"https://explorer.perawallet.app/tx/{hash}",rpcEndpoints:["https://mainnet-api.algonode.cloud"],eurcAddress:null,usdcAddress:"31566704",usdtAddress:null,cctp:null},twe={type:"algorand",chain:B.Algorand_Testnet,name:"Algorand Testnet",title:"Algorand Test Network",nativeCurrency:{name:"Algo",symbol:"ALGO",decimals:6},isTestnet:!0,explorerUrl:"https://testnet.explorer.perawallet.app/tx/{hash}",rpcEndpoints:["https://testnet-api.algonode.cloud"],eurcAddress:null,usdcAddress:"10458941",usdtAddress:null,cctp:null},nwe={type:"aptos",chain:B.Aptos,name:"Aptos",title:"Aptos Mainnet",nativeCurrency:{name:"Aptos",symbol:"APT",decimals:8},isTestnet:!1,explorerUrl:"https://explorer.aptoslabs.com/txn/{hash}?network=mainnet",rpcEndpoints:["https://fullnode.mainnet.aptoslabs.com/v1"],eurcAddress:null,usdcAddress:"0xbae207659db88bea0cbead6da0ed00aac12edcdda169e591cd41c94180b46f3b",usdtAddress:"0x357b0b74bc833e95a115ad22604854d6b0fca151cecd94111770e5d6ffc9dc2b",cctp:{domain:9,contracts:{v1:{type:"split",tokenMessenger:"0x9bce6734f7b63e835108e3bd8c36743d4709fe435f44791918801d0989640a9d",messageTransmitter:"0x177e17751820e4b4371873ca8c30279be63bdea63b88ed0f2239c2eea10f1772",confirmations:1}},forwarderSupported:{source:!1,destination:!1}}},rwe={type:"aptos",chain:B.Aptos_Testnet,name:"Aptos Testnet",title:"Aptos Test Network",nativeCurrency:{name:"Aptos",symbol:"APT",decimals:8},isTestnet:!0,explorerUrl:"https://explorer.aptoslabs.com/txn/{hash}?network=testnet",rpcEndpoints:["https://fullnode.testnet.aptoslabs.com/v1"],eurcAddress:null,usdcAddress:"0x69091fbab5f7d635ee7ac5098cf0c1efbe31d68fec0f2cd565e8d168daf52832",usdtAddress:null,cctp:{domain:9,contracts:{v1:{type:"split",tokenMessenger:"0x5f9b937419dda90aa06c1836b7847f65bbbe3f1217567758dc2488be31a477b9",messageTransmitter:"0x081e86cebf457a0c6004f35bd648a2794698f52e0dde09a48619dcd3d4cc23d9",confirmations:1}},forwarderSupported:{source:!1,destination:!1}}},IY={USDC:{symbol:"USDC",decimals:6,category:"stablecoin",description:"USD Coin"},EURC:{symbol:"EURC",decimals:6,category:"stablecoin",description:"Euro Coin"},USDT:{symbol:"USDT",decimals:6,category:"stablecoin",description:"Tether USD"},PYUSD:{symbol:"PYUSD",decimals:6,category:"stablecoin",description:"PayPal USD"},DAI:{symbol:"DAI",decimals:18,category:"stablecoin",description:"MakerDAO stablecoin"},USDE:{symbol:"USDE",decimals:18,category:"stablecoin",description:"Ethena USD (synthetic dollar)"},WBTC:{symbol:"WBTC",decimals:8,category:"wrapped",description:"Wrapped Bitcoin"},WETH:{symbol:"WETH",decimals:18,category:"wrapped",description:"Wrapped Ethereum"},WSOL:{symbol:"WSOL",decimals:9,category:"wrapped",description:"Wrapped Solana"},WAVAX:{symbol:"WAVAX",decimals:18,category:"wrapped",description:"Wrapped Avalanche"},WPOL:{symbol:"WPOL",decimals:18,category:"wrapped",description:"Wrapped Polygon"},CIRBTC:{symbol:"CIRBTC",decimals:8,category:"wrapped",description:"Circle Bitcoin"}},CY="NATIVE";[...Object.keys(IY)];var Dn="0xC5567a5E3370d4DBfB0540025078e283e36A363d",tp="0x63753E722bd2C2A5DF6EE19C5106662208B81077",np="0x431871229103b780868f8C6BB820cd16ECf942BC",Hn="0xB3FA262d0fB521cc93bE83d87b322b8A23DAf3F0",Qr="0x7FB8c7260b63934d8da38aF902f87ae6e284a845",I2="0xBBD70b01a1CAbc96d5b7b129Ae1AAabdf50dd40b",owe="0x522fAf9A91c41c443c66765030741e4AaCe147D0",swe="0x522fAf9A91c41c443c66765030741e4AaCe147D0",mi="0x77777777Dcc4d5A8B6E418Fd04D8997ef11000eE",hi="0x2222222d7164433c4C09B0b0D809a9b52C04C205",yi="0x0077777d7EBA4688BDeF3E311b846F25870A19B9",bi="0x0022222ABE238Cc2C7Bb1f21003F0a260052475B",iwe="GATEwy4YxeiEbRJLwB6dXgg7q61e6zBPrMzYj5h1pRXQ",awe="GATEm5SoBJiSw1v2Pz1iPBgUYkXzCUJ27XSXhDfSyzVZ",cwe="GATEwdfmYNELfp5wDmmR6noSr2vHnAfBPMm2PvCzX5vu",uwe="GATEmKK2ECL1brEngQZWCgMWPbvrEYqsV6u29dAaHavr",sr="0x71f54F818671cD0D7ea140Da213e5C8b5C92a408",qn="0x8745D906D67C346E5eb1aEEED38Eb87F34DF0C0A",VN="0x16529813203f77E036576666336554a1210dce4D",jN="0xD05E7D2E7d30b92c5F17d7d0fC575fce231F1A48",GN="0xFa7be2f04F3Ad4ca969260729c6d45B5625984A7",WN="0xEdC81040756AcCfF070c21D37b265b9D0b5Ba45e",dwe={type:"evm",chain:B.Arc,name:"Arc",title:"Arc Mainnet",nativeCurrency:{name:"USDC",symbol:"USDC",decimals:18},chainId:5042,isTestnet:!1,explorerUrl:"https://explorer.arc.io/tx/{hash}",rpcEndpoints:["https://rpc.mainnet.arc.io/"],eurcAddress:"0xbEf5f6d51CB62b58e6A8f77868681825C6fe21c1",usdcAddress:"0x3600000000000000000000000000000000000000",usdtAddress:null,cctp:{domain:26,contracts:{v2:{type:"split",tokenMessenger:"0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d",messageTransmitter:"0x81D40F21F12A8F0E3252Bccb954D722d4c464B64",confirmations:1,fastConfirmations:1}},forwarderSupported:{source:!1,destination:!0}},cctpx:{serviceAddress:np},kitContracts:{bridge:Hn,adapter:Qr,senderPreservingBatcher:swe},gateway:{domain:26,contracts:{v1:{wallet:mi,minter:hi,depositForHandler:VN,genericExecutor:GN}},forwarderSupported:{source:!0,destination:!0}}},lwe={type:"evm",chain:B.Arc_Testnet,name:"Arc Testnet",title:"ArcTestnet",nativeCurrency:{name:"USDC",symbol:"USDC",decimals:18},chainId:5042002,isTestnet:!0,explorerUrl:"https://testnet.arcscan.app/tx/{hash}",rpcEndpoints:["https://rpc.testnet.arc.network/"],eurcAddress:"0x89B50855Aa3bE2F677cD6303Cec089B5F319D72a",usdcAddress:"0x3600000000000000000000000000000000000000",usdtAddress:null,cctp:{domain:26,contracts:{v2:{type:"split",tokenMessenger:"0x8FE6B999Dc680CcFDD5Bf7EB0974218be2542DAA",tokenMessengerWithFees:qn,messageTransmitter:"0xE737e5cEBEEBa77EFE34D4aa090756590b1CE275",confirmations:1,fastConfirmations:1}},forwarderSupported:{source:!1,destination:!0}},cctpx:{serviceAddress:tp},kitContracts:{bridge:Dn,adapter:I2,senderPreservingBatcher:owe},gateway:{domain:26,contracts:{v1:{wallet:yi,minter:bi,depositForHandler:jN,genericExecutor:WN}},forwarderSupported:{source:!0,destination:!0}}},fwe={type:"evm",chain:B.Arbitrum,name:"Arbitrum",title:"Arbitrum Mainnet",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},chainId:42161,isTestnet:!1,explorerUrl:"https://arbiscan.io/tx/{hash}",rpcEndpoints:["https://arb1.arbitrum.io/rpc"],eurcAddress:null,usdcAddress:"0xaf88d065e77c8cc2239327c5edb3a432268e5831",usdtAddress:null,cctp:{domain:3,contracts:{v1:{type:"split",tokenMessenger:"0x19330d10D9Cc8751218eaf51E8885D058642E08A",messageTransmitter:"0xC30362313FBBA5cf9163F0bb16a0e01f01A896ca",confirmations:65},v2:{type:"split",tokenMessenger:"0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d",tokenMessengerWithFees:sr,messageTransmitter:"0x81D40F21F12A8F0E3252Bccb954D722d4c464B64",confirmations:65,fastConfirmations:1}},forwarderSupported:{source:!1,destination:!0}},cctpx:{serviceAddress:np},kitContracts:{bridge:Hn,adapter:Qr},gateway:{domain:3,contracts:{v1:{wallet:mi,minter:hi}},forwarderSupported:{source:!0,destination:!0}}},pwe={type:"evm",chain:B.Arbitrum_Sepolia,name:"Arbitrum Sepolia",title:"Arbitrum Sepolia Testnet",nativeCurrency:{name:"Sepolia Ether",symbol:"ETH",decimals:18},chainId:421614,isTestnet:!0,explorerUrl:"https://sepolia.arbiscan.io/tx/{hash}",rpcEndpoints:["https://sepolia-rollup.arbitrum.io/rpc"],eurcAddress:null,usdcAddress:"0x75faf114eafb1BDbe2F0316DF893fd58CE46AA4d",usdtAddress:null,cctp:{domain:3,contracts:{v1:{type:"split",tokenMessenger:"0x9f3B8679c73C2Fef8b59B4f3444d4e156fb70AA5",messageTransmitter:"0xaCF1ceeF35caAc005e15888dDb8A3515C41B4872",confirmations:65},v2:{type:"split",tokenMessenger:"0x8FE6B999Dc680CcFDD5Bf7EB0974218be2542DAA",tokenMessengerWithFees:qn,messageTransmitter:"0xE737e5cEBEEBa77EFE34D4aa090756590b1CE275",confirmations:65,fastConfirmations:1}},forwarderSupported:{source:!1,destination:!0}},cctpx:{serviceAddress:tp},kitContracts:{bridge:Dn,adapter:I2},gateway:{domain:3,contracts:{v1:{wallet:yi,minter:bi}},forwarderSupported:{source:!0,destination:!0}}},mwe={type:"evm",chain:B.Avalanche,name:"Avalanche",title:"Avalanche Mainnet",nativeCurrency:{name:"Avalanche",symbol:"AVAX",decimals:18},chainId:43114,isTestnet:!1,explorerUrl:"https://subnets.avax.network/c-chain/tx/{hash}",rpcEndpoints:["https://api.avax.network/ext/bc/C/rpc"],eurcAddress:"0xc891eb4cbdeff6e073e859e987815ed1505c2acd",usdcAddress:"0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E",usdtAddress:"0x9702230a8ea53601f5cd2dc00fdbc13d4df4a8c7",cctp:{domain:1,contracts:{v1:{type:"split",tokenMessenger:"0x6b25532e1060ce10cc3b0a99e5683b91bfde6982",messageTransmitter:"0x8186359af5f57fbb40c6b14a588d2a59c0c29880",confirmations:1},v2:{type:"split",tokenMessenger:"0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d",tokenMessengerWithFees:sr,messageTransmitter:"0x81D40F21F12A8F0E3252Bccb954D722d4c464B64",confirmations:1,fastConfirmations:1}},forwarderSupported:{source:!1,destination:!0}},cctpx:{serviceAddress:np},kitContracts:{bridge:Hn,adapter:Qr},gateway:{domain:1,contracts:{v1:{wallet:mi,minter:hi,depositForHandler:VN,genericExecutor:GN}},forwarderSupported:{source:!0,destination:!0}}},hwe={type:"evm",chain:B.Avalanche_Fuji,name:"Avalanche Fuji",title:"Avalanche Fuji Testnet",nativeCurrency:{name:"Avalanche",symbol:"AVAX",decimals:18},chainId:43113,isTestnet:!0,explorerUrl:"https://subnets-test.avax.network/c-chain/tx/{hash}",eurcAddress:"0x5e44db7996c682e92a960b65ac713a54ad815c6b",usdcAddress:"0x5425890298aed601595a70ab815c96711a31bc65",usdtAddress:null,cctp:{domain:1,contracts:{v1:{type:"split",tokenMessenger:"0xeb08f243e5d3fcff26a9e38ae5520a669f4019d0",messageTransmitter:"0xa9fb1b3009dcb79e2fe346c16a604b8fa8ae0a79",confirmations:1},v2:{type:"split",tokenMessenger:"0x8fe6b999dc680ccfdd5bf7eb0974218be2542daa",tokenMessengerWithFees:qn,messageTransmitter:"0xe737e5cebeeba77efe34d4aa090756590b1ce275",confirmations:1,fastConfirmations:1}},forwarderSupported:{source:!1,destination:!0}},rpcEndpoints:["https://api.avax-test.network/ext/bc/C/rpc"],cctpx:{serviceAddress:tp},kitContracts:{bridge:Dn},gateway:{domain:1,contracts:{v1:{wallet:yi,minter:bi,depositForHandler:jN,genericExecutor:WN}},forwarderSupported:{source:!0,destination:!0}}},ywe={type:"evm",chain:B.Base,name:"Base",title:"Base Mainnet",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},chainId:8453,isTestnet:!1,explorerUrl:"https://basescan.org/tx/{hash}",rpcEndpoints:["https://mainnet.base.org","https://base.publicnode.com"],eurcAddress:"0x60a3e35cc302bfa44cb288bc5a4f316fdb1adb42",usdcAddress:"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",usdtAddress:null,cctp:{domain:6,contracts:{v1:{type:"split",tokenMessenger:"0x1682Ae6375C4E4A97e4B583BC394c861A46D8962",messageTransmitter:"0xAD09780d193884d503182aD4588450C416D6F9D4",confirmations:65},v2:{type:"split",tokenMessenger:"0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d",tokenMessengerWithFees:sr,messageTransmitter:"0x81D40F21F12A8F0E3252Bccb954D722d4c464B64",confirmations:65,fastConfirmations:1}},forwarderSupported:{source:!1,destination:!0}},cctpx:{serviceAddress:np},kitContracts:{bridge:Hn,adapter:Qr},gateway:{domain:6,contracts:{v1:{wallet:mi,minter:hi}},forwarderSupported:{source:!0,destination:!0}}},bwe={type:"evm",chain:B.Base_Sepolia,name:"Base Sepolia",title:"Base Sepolia Testnet",nativeCurrency:{name:"Sepolia Ether",symbol:"ETH",decimals:18},chainId:84532,isTestnet:!0,explorerUrl:"https://sepolia.basescan.org/tx/{hash}",rpcEndpoints:["https://sepolia.base.org"],eurcAddress:"0x808456652fdb597867f38412077A9182bf77359F",usdcAddress:"0x036CbD53842c5426634e7929541eC2318f3dCF7e",usdtAddress:null,cctp:{domain:6,contracts:{v1:{type:"split",tokenMessenger:"0x9f3B8679c73C2Fef8b59B4f3444d4e156fb70AA5",messageTransmitter:"0x7865fAfC2db2093669d92c0F33AeEF291086BEFD",confirmations:65},v2:{type:"split",tokenMessenger:"0x8fe6b999dc680ccfdd5bf7eb0974218be2542daa",tokenMessengerWithFees:qn,messageTransmitter:"0xe737e5cebeeba77efe34d4aa090756590b1ce275",confirmations:65,fastConfirmations:1}},forwarderSupported:{source:!1,destination:!0}},cctpx:{serviceAddress:tp},kitContracts:{bridge:Dn,adapter:I2},gateway:{domain:6,contracts:{v1:{wallet:yi,minter:bi}},forwarderSupported:{source:!0,destination:!0}}},gwe={type:"evm",chain:B.Celo,name:"Celo",title:"Celo Mainnet",nativeCurrency:{name:"Celo",symbol:"CELO",decimals:18},chainId:42220,isTestnet:!1,explorerUrl:"https://celoscan.io/tx/{hash}",rpcEndpoints:["https://forno.celo.org"],eurcAddress:null,usdcAddress:"0xcebA9300f2b948710d2653dD7B07f33A8B32118C",usdtAddress:"0x48065fbBE25f71C9282ddf5e1cD6D6A887483D5e",cctp:null},_we={type:"evm",chain:B.Celo_Alfajores_Testnet,name:"Celo Alfajores",title:"Celo Alfajores Testnet",nativeCurrency:{name:"Celo",symbol:"CELO",decimals:18},chainId:44787,isTestnet:!0,explorerUrl:"https://alfajores.celoscan.io/tx/{hash}",rpcEndpoints:["https://alfajores-forno.celo-testnet.org"],eurcAddress:null,usdcAddress:"0x2F25deB3848C207fc8E0c34035B3Ba7fC157602B",usdtAddress:null,cctp:null},Awe={type:"evm",chain:B.Codex,name:"Codex Mainnet",title:"Codex Mainnet",nativeCurrency:{name:"ETH",symbol:"ETH",decimals:18},chainId:81224,isTestnet:!1,explorerUrl:"https://explorer.codex.xyz/tx/{hash}",rpcEndpoints:["https://rpc.codex.xyz"],eurcAddress:null,usdcAddress:"0xd996633a415985DBd7D6D12f4A4343E31f5037cf",usdtAddress:null,cctp:{domain:12,contracts:{v2:{type:"split",tokenMessenger:"0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d",tokenMessengerWithFees:sr,messageTransmitter:"0x81D40F21F12A8F0E3252Bccb954D722d4c464B64",confirmations:65,fastConfirmations:1}},forwarderSupported:{source:!1,destination:!0}},kitContracts:{bridge:Hn}},Ewe={type:"evm",chain:B.Codex_Testnet,name:"Codex Testnet",title:"Codex Testnet",nativeCurrency:{name:"ETH",symbol:"ETH",decimals:18},chainId:812242,isTestnet:!0,explorerUrl:"https://explorer.codex-stg.xyz/tx/{hash}",rpcEndpoints:["https://rpc.codex-stg.xyz"],eurcAddress:null,usdcAddress:"0x6d7f141b6819C2c9CC2f818e6ad549E7Ca090F8f",usdtAddress:null,cctp:{domain:12,contracts:{v2:{type:"split",tokenMessenger:"0x8fe6b999dc680ccfdd5bf7eb0974218be2542daa",tokenMessengerWithFees:qn,messageTransmitter:"0xe737e5cebeeba77efe34d4aa090756590b1ce275",confirmations:65,fastConfirmations:1}},forwarderSupported:{source:!1,destination:!0}},kitContracts:{bridge:Dn}},xwe={type:"evm",chain:B.Cronos,name:"Cronos",title:"Cronos Mainnet",nativeCurrency:{name:"Cronos",symbol:"CRO",decimals:18},chainId:25,isTestnet:!1,explorerUrl:"https://cronoscan.com/tx/{hash}",rpcEndpoints:["https://evm.cronos.org"],eurcAddress:"0xA6dE01a2d62C6B5f3525d768f34d276652C554c8",usdcAddress:"0x3D7F2C478aAfdB65542BCB44bCeeC05849999d2D",usdtAddress:null,cctp:{domain:32,contracts:{v2:{type:"split",tokenMessenger:"0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d",tokenMessengerWithFees:sr,messageTransmitter:"0x81D40F21F12A8F0E3252Bccb954D722d4c464B64",confirmations:1,fastConfirmations:1}},forwarderSupported:{source:!1,destination:!1}},kitContracts:{bridge:Hn}},wwe={type:"evm",chain:B.Cronos_Testnet,name:"Cronos Testnet",title:"Cronos Testnet",nativeCurrency:{name:"CRO",symbol:"tCRO",decimals:18},chainId:338,isTestnet:!0,explorerUrl:"https://explorer.cronos.org/testnet/tx/{hash}",rpcEndpoints:["https://evm-t3.cronos.org"],eurcAddress:"0x31f7538adb53cF16350e6B0c89d03D91b7D12c46",usdcAddress:"0xEb33dc5fac03833e132593659e1dE7256aB59794",usdtAddress:null,cctp:{domain:32,contracts:{v2:{type:"split",tokenMessenger:"0x8FE6B999Dc680CcFDD5Bf7EB0974218be2542DAA",tokenMessengerWithFees:qn,messageTransmitter:"0xE737e5cEBEEBa77EFE34D4aa090756590b1CE275",confirmations:1,fastConfirmations:1}},forwarderSupported:{source:!1,destination:!1}},kitContracts:{bridge:Dn}},Twe={type:"evm",chain:B.Edge,name:"Edge",title:"Edge Mainnet",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},chainId:3343,isTestnet:!1,explorerUrl:"https://pro.edgex.exchange/en-US/explorer/tx/{hash}",rpcEndpoints:["https://edge-mainnet.g.alchemy.com/public"],eurcAddress:null,usdcAddress:"0x98d2919b9A214E6Fa5384AC81E6864bA686Ad74c",usdtAddress:null,cctp:{domain:28,contracts:{v2:{type:"split",tokenMessenger:"0x98706A006bc632Df31CAdFCBD43F38887ce2ca5c",tokenMessengerWithFees:"0x3Ac96675F9a3E6922713e041645D82f3561d3686",messageTransmitter:"0x5b61381Fc9e58E70EfC13a4A97516997019198ee",confirmations:65,fastConfirmations:1}},forwarderSupported:{source:!1,destination:!0}},kitContracts:{bridge:"0x6D1AaE1c34Aeb582022916a67f2A655C6f4eDFF2"}},Swe={type:"evm",chain:B.Edge_Testnet,name:"Edge Testnet",title:"Edge Testnet",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},chainId:33431,isTestnet:!0,explorerUrl:"https://edge-testnet.explorer.alchemy.com/tx/{hash}",rpcEndpoints:["https://edge-testnet.g.alchemy.com/public"],eurcAddress:null,usdcAddress:"0x2d9F7CAD728051AA35Ecdc472a14cf8cDF5CFD6B",usdtAddress:null,cctp:{domain:28,contracts:{v2:{type:"split",tokenMessenger:"0x8FE6B999Dc680CcFDD5Bf7EB0974218be2542DAA",tokenMessengerWithFees:qn,messageTransmitter:"0xE737e5cEBEEBa77EFE34D4aa090756590b1CE275",confirmations:65,fastConfirmations:1}},forwarderSupported:{source:!1,destination:!0}},kitContracts:{bridge:Dn}},Rwe={type:"evm",chain:B.Ethereum,name:"Ethereum",title:"Ethereum Mainnet",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},chainId:1,isTestnet:!1,explorerUrl:"https://etherscan.io/tx/{hash}",rpcEndpoints:["https://ethereum-rpc.publicnode.com","https://ethereum.publicnode.com"],eurcAddress:"0x1aBaEA1f7C830bD89Acc67eC4af516284b1bC33c",usdcAddress:"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",usdtAddress:"0xdac17f958d2ee523a2206206994597c13d831ec7",cctp:{domain:0,contracts:{v1:{type:"split",tokenMessenger:"0xbd3fa81b58ba92a82136038b25adec7066af3155",messageTransmitter:"0x0a992d191deec32afe36203ad87d7d289a738f81",confirmations:65},v2:{type:"split",tokenMessenger:"0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d",tokenMessengerWithFees:sr,messageTransmitter:"0x81D40F21F12A8F0E3252Bccb954D722d4c464B64",confirmations:65,fastConfirmations:2}},forwarderSupported:{source:!1,destination:!0}},cctpx:{serviceAddress:np},kitContracts:{bridge:Hn,adapter:Qr},gateway:{domain:0,contracts:{v1:{wallet:mi,minter:hi}},forwarderSupported:{source:!0,destination:!0}}},vwe={type:"evm",chain:B.Ethereum_Sepolia,name:"Ethereum Sepolia",title:"Ethereum Sepolia Testnet",nativeCurrency:{name:"Sepolia Ether",symbol:"ETH",decimals:18},chainId:11155111,isTestnet:!0,explorerUrl:"https://sepolia.etherscan.io/tx/{hash}",rpcEndpoints:["https://ethereum-sepolia-rpc.publicnode.com"],eurcAddress:"0x08210F9170F89Ab7658F0B5E3fF39b0E03C594D4",usdcAddress:"0x1c7D4B196Cb0C7B01d743Fbc6116a902379C7238",usdtAddress:null,cctp:{domain:0,contracts:{v1:{type:"split",tokenMessenger:"0x9f3B8679c73C2Fef8b59B4f3444d4e156fb70AA5",messageTransmitter:"0x7865fAfC2db2093669d92c0F33AeEF291086BEFD",confirmations:65},v2:{type:"split",tokenMessenger:"0x8fe6b999dc680ccfdd5bf7eb0974218be2542daa",tokenMessengerWithFees:qn,messageTransmitter:"0xe737e5cebeeba77efe34d4aa090756590b1ce275",confirmations:65,fastConfirmations:2}},forwarderSupported:{source:!1,destination:!0}},cctpx:{serviceAddress:tp},kitContracts:{bridge:Dn,adapter:I2},gateway:{domain:0,contracts:{v1:{wallet:yi,minter:bi}},forwarderSupported:{source:!0,destination:!0}}},Iwe={type:"hedera",chain:B.Hedera,name:"Hedera",title:"Hedera Mainnet",nativeCurrency:{name:"HBAR",symbol:"HBAR",decimals:18},isTestnet:!1,explorerUrl:"https://hashscan.io/mainnet/transaction/{hash}",rpcEndpoints:["https://mainnet.hashio.io/api"],eurcAddress:null,usdcAddress:"0.0.456858",usdtAddress:null,cctp:null},Cwe={type:"hedera",chain:B.Hedera_Testnet,name:"Hedera Testnet",title:"Hedera Test Network",nativeCurrency:{name:"HBAR",symbol:"HBAR",decimals:18},isTestnet:!0,explorerUrl:"https://hashscan.io/testnet/transaction/{hash}",rpcEndpoints:["https://testnet.hashio.io/api"],eurcAddress:null,usdcAddress:"0.0.429274",usdtAddress:null,cctp:null},Nwe={type:"evm",chain:B.HyperEVM,name:"HyperEVM",title:"HyperEVM Mainnet",nativeCurrency:{name:"Hype",symbol:"HYPE",decimals:18},chainId:999,isTestnet:!1,explorerUrl:"https://hyperevmscan.io/tx/{hash}",rpcEndpoints:["https://rpc.hyperliquid.xyz/evm"],eurcAddress:null,usdcAddress:"0xb88339CB7199b77E23DB6E890353E22632Ba630f",usdtAddress:null,cctp:{domain:19,contracts:{v2:{type:"split",tokenMessenger:"0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d",tokenMessengerWithFees:sr,messageTransmitter:"0x81D40F21F12A8F0E3252Bccb954D722d4c464B64",confirmations:1,fastConfirmations:1}},forwarderSupported:{source:!1,destination:!0}},kitContracts:{bridge:Hn,adapter:Qr},gateway:{domain:19,contracts:{v1:{wallet:mi,minter:hi}},forwarderSupported:{source:!0,destination:!0}}},Owe={type:"evm",chain:B.HyperEVM_Testnet,name:"HyperEVM Testnet",title:"HyperEVM Test Network",nativeCurrency:{name:"Hype",symbol:"HYPE",decimals:18},chainId:998,isTestnet:!0,explorerUrl:"https://app.hyperliquid-testnet.xyz/explorer/tx/{hash}",rpcEndpoints:["https://rpc.hyperliquid-testnet.xyz/evm"],eurcAddress:null,usdcAddress:"0x2B3370eE501B4a559b57D449569354196457D8Ab",usdtAddress:null,cctp:{domain:19,contracts:{v2:{type:"split",tokenMessenger:"0x8FE6B999Dc680CcFDD5Bf7EB0974218be2542DAA",tokenMessengerWithFees:qn,messageTransmitter:"0xE737e5cEBEEBa77EFE34D4aa090756590b1CE275",confirmations:1,fastConfirmations:1}},forwarderSupported:{source:!1,destination:!0}},kitContracts:{bridge:Dn},gateway:{domain:19,contracts:{v1:{wallet:yi,minter:bi}},forwarderSupported:{source:!0,destination:!0}}},kwe={type:"evm",chain:B.Injective,name:"Injective",title:"Injective Mainnet",nativeCurrency:{name:"Injective",symbol:"INJ",decimals:18},chainId:1776,isTestnet:!1,explorerUrl:"https://injscan.com/transaction/{hash}",rpcEndpoints:["https://sentry.evm-rpc.injective.network"],eurcAddress:null,usdcAddress:"0xa00C59fF5a080D2b954d0c75e46E22a0c371235a",usdtAddress:null,cctp:{domain:29,contracts:{v2:{type:"split",tokenMessenger:"0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d",tokenMessengerWithFees:sr,messageTransmitter:"0x81D40F21F12A8F0E3252Bccb954D722d4c464B64",confirmations:1,fastConfirmations:1}},forwarderSupported:{source:!1,destination:!1}},kitContracts:{bridge:Hn}},Dwe={type:"evm",chain:B.Injective_Testnet,name:"Injective Testnet",title:"Injective Testnet",nativeCurrency:{name:"Injective",symbol:"INJ",decimals:18},chainId:1439,isTestnet:!0,explorerUrl:"https://testnet.explorer.injective.network/transaction/{hash}",rpcEndpoints:["https://k8s.testnet.json-rpc.injective.network"],eurcAddress:null,usdcAddress:"0x0C382e685bbeeFE5d3d9C29e29E341fEE8E84C5d",usdtAddress:null,cctp:{domain:29,contracts:{v2:{type:"split",tokenMessenger:"0x8FE6B999Dc680CcFDD5Bf7EB0974218be2542DAA",tokenMessengerWithFees:qn,messageTransmitter:"0xE737e5cEBEEBa77EFE34D4aa090756590b1CE275",confirmations:1,fastConfirmations:1}},forwarderSupported:{source:!1,destination:!1}},kitContracts:{bridge:Dn}},Bwe={type:"evm",chain:B.Ink,name:"Ink",title:"Ink Mainnet",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},chainId:57073,isTestnet:!1,explorerUrl:"https://explorer.inkonchain.com/tx/{hash}",rpcEndpoints:["https://rpc-gel.inkonchain.com","https://rpc-qnd.inkonchain.com"],eurcAddress:null,usdcAddress:"0x2D270e6886d130D724215A266106e6832161EAEd",usdtAddress:null,cctp:{domain:21,contracts:{v2:{type:"split",tokenMessenger:"0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d",tokenMessengerWithFees:sr,messageTransmitter:"0x81D40F21F12A8F0E3252Bccb954D722d4c464B64",confirmations:65,fastConfirmations:1}},forwarderSupported:{source:!1,destination:!0}},kitContracts:{bridge:Hn,adapter:Qr}},Pwe={type:"evm",chain:B.Ink_Testnet,name:"Ink Sepolia",title:"Ink Sepolia Testnet",nativeCurrency:{name:"Sepolia Ether",symbol:"ETH",decimals:18},chainId:763373,isTestnet:!0,explorerUrl:"https://explorer-sepolia.inkonchain.com/tx/{hash}",rpcEndpoints:["https://rpc-gel-sepolia.inkonchain.com","https://rpc-qnd-sepolia.inkonchain.com"],eurcAddress:null,usdcAddress:"0xFabab97dCE620294D2B0b0e46C68964e326300Ac",usdtAddress:null,cctp:{domain:21,contracts:{v2:{type:"split",tokenMessenger:"0x8FE6B999Dc680CcFDD5Bf7EB0974218be2542DAA",tokenMessengerWithFees:qn,messageTransmitter:"0xE737e5cEBEEBa77EFE34D4aa090756590b1CE275",confirmations:65,fastConfirmations:1}},forwarderSupported:{source:!1,destination:!0}},kitContracts:{bridge:Dn}},Lwe={type:"evm",chain:B.Linea,name:"Linea",title:"Linea Mainnet",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},chainId:59144,isTestnet:!1,explorerUrl:"https://lineascan.build/tx/{hash}",rpcEndpoints:["https://rpc.linea.build"],eurcAddress:null,usdcAddress:"0x176211869ca2b568f2a7d4ee941e073a821ee1ff",usdtAddress:null,cctp:{domain:11,contracts:{v2:{type:"split",tokenMessenger:"0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d",tokenMessengerWithFees:sr,messageTransmitter:"0x81D40F21F12A8F0E3252Bccb954D722d4c464B64",confirmations:1,fastConfirmations:1}},forwarderSupported:{source:!1,destination:!0}},kitContracts:{bridge:Hn,adapter:Qr}},Mwe={type:"evm",chain:B.Linea_Sepolia,name:"Linea Sepolia",title:"Linea Sepolia Testnet",nativeCurrency:{name:"Sepolia Ether",symbol:"ETH",decimals:18},chainId:59141,isTestnet:!0,explorerUrl:"https://sepolia.lineascan.build/tx/{hash}",rpcEndpoints:["https://rpc.sepolia.linea.build"],eurcAddress:null,usdcAddress:"0xfece4462d57bd51a6a552365a011b95f0e16d9b7",usdtAddress:null,cctp:{domain:11,contracts:{v2:{type:"split",tokenMessenger:"0x8fe6b999dc680ccfdd5bf7eb0974218be2542daa",tokenMessengerWithFees:qn,messageTransmitter:"0xe737e5cebeeba77efe34d4aa090756590b1ce275",confirmations:1,fastConfirmations:1}},forwarderSupported:{source:!1,destination:!0}},kitContracts:{bridge:Dn}},Fwe={type:"evm",chain:B.Monad,name:"Monad",title:"Monad Mainnet",nativeCurrency:{name:"Monad",symbol:"MON",decimals:18},chainId:143,isTestnet:!1,explorerUrl:"https://monadscan.com/tx/{hash}",rpcEndpoints:["https://rpc.monad.xyz"],eurcAddress:null,usdcAddress:"0x754704Bc059F8C67012fEd69BC8A327a5aafb603",usdtAddress:null,cctp:{domain:15,contracts:{v2:{type:"split",tokenMessenger:"0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d",tokenMessengerWithFees:sr,messageTransmitter:"0x81D40F21F12A8F0E3252Bccb954D722d4c464B64",confirmations:1,fastConfirmations:1}},forwarderSupported:{source:!1,destination:!0}},kitContracts:{bridge:Hn,adapter:Qr}},Uwe={type:"evm",chain:B.Monad_Testnet,name:"Monad Testnet",title:"Monad Testnet",nativeCurrency:{name:"Monad",symbol:"MON",decimals:18},chainId:10143,isTestnet:!0,explorerUrl:"https://testnet.monadscan.com/tx/{hash}",rpcEndpoints:["https://testnet-rpc.monad.xyz"],eurcAddress:null,usdcAddress:"0x534b2f3A21130d7a60830c2Df862319e593943A3",usdtAddress:null,cctp:{domain:15,contracts:{v2:{type:"split",tokenMessenger:"0x8FE6B999Dc680CcFDD5Bf7EB0974218be2542DAA",tokenMessengerWithFees:qn,messageTransmitter:"0xE737e5cEBEEBa77EFE34D4aa090756590b1CE275",confirmations:1,fastConfirmations:1}},forwarderSupported:{source:!1,destination:!0}},kitContracts:{bridge:Dn}},Hwe={type:"evm",chain:B.Morph,name:"Morph",title:"Morph Mainnet",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},chainId:2818,isTestnet:!1,explorerUrl:"https://explorer.morph.network/tx/{hash}",rpcEndpoints:["https://rpc.morphl2.io"],eurcAddress:null,usdcAddress:"0xCfb1186F4e93D60E60a8bDd997427D1F33bc372B",usdtAddress:null,cctp:{domain:30,contracts:{v2:{type:"split",tokenMessenger:"0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d",tokenMessengerWithFees:sr,messageTransmitter:"0x81D40F21F12A8F0E3252Bccb954D722d4c464B64",confirmations:64,fastConfirmations:1}},forwarderSupported:{source:!1,destination:!1}},kitContracts:{bridge:Hn}},$we={type:"evm",chain:B.Morph_Testnet,name:"Morph Hoodi",title:"Morph Hoodi Testnet",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},chainId:2910,isTestnet:!0,explorerUrl:"https://explorer-hoodi.morphl2.io/tx/{hash}",rpcEndpoints:["https://rpc-hoodi.morphl2.io"],eurcAddress:null,usdcAddress:"0x7433b41C6c5e1d58D4Da99483609520255ab661B",usdtAddress:null,cctp:{domain:30,contracts:{v2:{type:"split",tokenMessenger:"0x8FE6B999Dc680CcFDD5Bf7EB0974218be2542DAA",tokenMessengerWithFees:qn,messageTransmitter:"0xE737e5cEBEEBa77EFE34D4aa090756590b1CE275",confirmations:64,fastConfirmations:1}},forwarderSupported:{source:!1,destination:!1}},kitContracts:{bridge:Dn}},zwe={type:"near",chain:B.NEAR,name:"NEAR Protocol",title:"NEAR Mainnet",nativeCurrency:{name:"NEAR",symbol:"NEAR",decimals:24},isTestnet:!1,explorerUrl:"https://nearblocks.io/txns/{hash}",rpcEndpoints:["https://eth-rpc.mainnet.near.org"],eurcAddress:null,usdcAddress:"17208628f84f5d6ad33f0da3bbbeb27ffcb398eac501a31bd6ad2011e36133a1",usdtAddress:"usdt.tether-token.near",cctp:null},Vwe={type:"near",chain:B.NEAR_Testnet,name:"NEAR Protocol Testnet",title:"NEAR Test Network",nativeCurrency:{name:"NEAR",symbol:"NEAR",decimals:24},isTestnet:!0,explorerUrl:"https://testnet.nearblocks.io/txns/{hash}",rpcEndpoints:["https://eth-rpc.testnet.near.org"],eurcAddress:null,usdcAddress:"3e2210e1184b45b64c8a434c0a7e7b23cc04ea7eb7a6c3c32520d03d4afcb8af",usdtAddress:null,cctp:null},jwe={type:"noble",chain:B.Noble,name:"Noble",title:"Noble Mainnet",nativeCurrency:{name:"Noble USDC",symbol:"USDC",decimals:6},isTestnet:!1,explorerUrl:"https://www.mintscan.io/noble/tx/{hash}",rpcEndpoints:["https://noble-rpc.polkachu.com"],eurcAddress:null,usdcAddress:"uusdc",usdtAddress:null,cctp:{domain:4,contracts:{v1:{type:"merged",contract:"noble12l2w4ugfz4m6dd73yysz477jszqnfughxvkss5",confirmations:1}},forwarderSupported:{source:!1,destination:!1}}},Gwe={type:"noble",chain:B.Noble_Testnet,name:"Noble Testnet",title:"Noble Test Network",nativeCurrency:{name:"Noble USDC",symbol:"USDC",decimals:6},isTestnet:!0,explorerUrl:"https://www.mintscan.io/noble-testnet/tx/{hash}",rpcEndpoints:["https://noble-testnet-rpc.polkachu.com"],eurcAddress:null,usdcAddress:"uusdc",usdtAddress:null,cctp:{domain:4,contracts:{v1:{type:"merged",contract:"noble12l2w4ugfz4m6dd73yysz477jszqnfughxvkss5",confirmations:1}},forwarderSupported:{source:!1,destination:!1}}},Wwe={type:"evm",chain:B.Optimism,name:"Optimism",title:"Optimism Mainnet",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},chainId:10,isTestnet:!1,explorerUrl:"https://optimistic.etherscan.io/tx/{hash}",rpcEndpoints:["https://mainnet.optimism.io"],eurcAddress:null,usdcAddress:"0x0b2c639c533813f4aa9d7837caf62653d097ff85",usdtAddress:null,cctp:{domain:2,contracts:{v1:{type:"split",tokenMessenger:"0x2B4069517957735bE00ceE0fadAE88a26365528f",messageTransmitter:"0x0a992d191deec32afe36203ad87d7d289a738f81",confirmations:65},v2:{type:"split",tokenMessenger:"0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d",tokenMessengerWithFees:sr,messageTransmitter:"0x81D40F21F12A8F0E3252Bccb954D722d4c464B64",confirmations:65,fastConfirmations:1}},forwarderSupported:{source:!1,destination:!0}},cctpx:{serviceAddress:np},kitContracts:{bridge:Hn,adapter:Qr},gateway:{domain:2,contracts:{v1:{wallet:mi,minter:hi}},forwarderSupported:{source:!0,destination:!0}}},qwe={type:"evm",chain:B.Optimism_Sepolia,name:"Optimism Sepolia",title:"Optimism Sepolia Testnet",nativeCurrency:{name:"Sepolia Ether",symbol:"ETH",decimals:18},chainId:11155420,isTestnet:!0,explorerUrl:"https://sepolia-optimistic.etherscan.io/tx/{hash}",rpcEndpoints:["https://sepolia.optimism.io"],eurcAddress:null,usdcAddress:"0x5fd84259d66Cd46123540766Be93DFE6D43130D7",usdtAddress:null,cctp:{domain:2,contracts:{v1:{type:"split",tokenMessenger:"0x9f3B8679c73C2Fef8b59B4f3444d4e156fb70AA5",messageTransmitter:"0x7865fAfC2db2093669d92c0F33AeEF291086BEFD",confirmations:65},v2:{type:"split",tokenMessenger:"0x8fe6b999dc680ccfdd5bf7eb0974218be2542daa",tokenMessengerWithFees:qn,messageTransmitter:"0xe737e5cebeeba77efe34d4aa090756590b1ce275",confirmations:65,fastConfirmations:1}},forwarderSupported:{source:!1,destination:!0}},cctpx:{serviceAddress:tp},kitContracts:{bridge:Dn},gateway:{domain:2,contracts:{v1:{wallet:yi,minter:bi}},forwarderSupported:{source:!0,destination:!0}}},Kwe={type:"evm",chain:B.Pharos,name:"Pharos",title:"Pharos Mainnet",nativeCurrency:{name:"Pharos",symbol:"PHAROS",decimals:18},chainId:1672,isTestnet:!1,explorerUrl:"https://pharos.socialscan.io/tx/{hash}",rpcEndpoints:["https://rpc.pharos.xyz"],eurcAddress:null,usdcAddress:"0xC879C018dB60520F4355C26eD1a6D572cdAC1815",usdtAddress:null,cctp:{domain:31,contracts:{v2:{type:"split",tokenMessenger:"0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d",tokenMessengerWithFees:sr,messageTransmitter:"0x81D40F21F12A8F0E3252Bccb954D722d4c464B64",confirmations:1,fastConfirmations:1}},forwarderSupported:{source:!1,destination:!1}},kitContracts:{bridge:Hn}},Ywe={type:"evm",chain:B.Pharos_Testnet,name:"Pharos Atlantic",title:"Pharos Atlantic Testnet",nativeCurrency:{name:"Pharos",symbol:"PHAROS",decimals:18},chainId:688689,isTestnet:!0,explorerUrl:"https://atlantic.pharosscan.xyz/tx/{hash}",rpcEndpoints:["https://atlantic.dplabs-internal.com"],eurcAddress:null,usdcAddress:"0xcfC8330f4BCAB529c625D12781b1C19466A9Fc8B",usdtAddress:null,cctp:{domain:31,contracts:{v2:{type:"split",tokenMessenger:"0x8FE6B999Dc680CcFDD5Bf7EB0974218be2542DAA",tokenMessengerWithFees:qn,messageTransmitter:"0xE737e5cEBEEBa77EFE34D4aa090756590b1CE275",confirmations:1,fastConfirmations:1}},forwarderSupported:{source:!1,destination:!1}},kitContracts:{bridge:Dn}},Zwe={type:"evm",chain:B.Plasma,name:"Plasma",title:"Plasma Mainnet",nativeCurrency:{name:"Plasma",symbol:"XPL",decimals:18},chainId:9745,isTestnet:!1,explorerUrl:"https://plasmascan.to/tx/{hash}",rpcEndpoints:["https://rpc.plasma.to"],eurcAddress:"0x3EE196E78d4d4248b849B8E1C7F44C5457FAFD2C",usdcAddress:"0x2d661C89D812261039AF9764eceaAee884f5F67F",usdtAddress:null,cctp:{domain:33,contracts:{v2:{type:"split",tokenMessenger:"0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d",messageTransmitter:"0x81D40F21F12A8F0E3252Bccb954D722d4c464B64",confirmations:3,fastConfirmations:1}},forwarderSupported:{source:!1,destination:!1}},kitContracts:{bridge:Hn}},Xwe={type:"evm",chain:B.Plasma_Testnet,name:"Plasma Testnet",title:"Plasma Testnet",nativeCurrency:{name:"Plasma",symbol:"XPL",decimals:18},chainId:9746,isTestnet:!0,explorerUrl:"https://testnet.plasmascan.to/tx/{hash}",rpcEndpoints:["https://testnet-rpc.plasma.to"],eurcAddress:"0x98AfA0F93Dd993B736399f9074eDcEBD1985A330",usdcAddress:"0xE67Fb267022cBA8064Dd388CC2FED724F3120D9D",usdtAddress:null,cctp:{domain:33,contracts:{v2:{type:"split",tokenMessenger:"0x8FE6B999Dc680CcFDD5Bf7EB0974218be2542DAA",messageTransmitter:"0xE737e5cEBEEBa77EFE34D4aa090756590b1CE275",confirmations:3,fastConfirmations:1}},forwarderSupported:{source:!1,destination:!1}},kitContracts:{bridge:Dn}},Jwe={type:"evm",chain:B.Plume,name:"Plume",title:"Plume Mainnet",nativeCurrency:{name:"Plume",symbol:"PLUME",decimals:18},chainId:98866,isTestnet:!1,explorerUrl:"https://explorer.plume.org/tx/{hash}",rpcEndpoints:["https://rpc.plume.org"],eurcAddress:null,usdcAddress:"0x222365EF19F7947e5484218551B56bb3965Aa7aF",usdtAddress:null,cctp:{domain:22,contracts:{v2:{type:"split",tokenMessenger:"0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d",tokenMessengerWithFees:sr,messageTransmitter:"0x81D40F21F12A8F0E3252Bccb954D722d4c464B64",confirmations:65,fastConfirmations:1}},forwarderSupported:{source:!1,destination:!0}},kitContracts:{bridge:Hn,adapter:Qr}},Qwe={type:"evm",chain:B.Plume_Testnet,name:"Plume Testnet",title:"Plume Test Network",nativeCurrency:{name:"Plume",symbol:"PLUME",decimals:18},chainId:98867,isTestnet:!0,explorerUrl:"https://testnet-explorer.plume.org/tx/{hash}",rpcEndpoints:["https://testnet-rpc.plume.org"],eurcAddress:null,usdcAddress:"0xcB5f30e335672893c7eb944B374c196392C19D18",usdtAddress:null,cctp:{domain:22,contracts:{v2:{type:"split",tokenMessenger:"0x8FE6B999Dc680CcFDD5Bf7EB0974218be2542DAA",tokenMessengerWithFees:qn,messageTransmitter:"0xE737e5cEBEEBa77EFE34D4aa090756590b1CE275",confirmations:65,fastConfirmations:1}},forwarderSupported:{source:!1,destination:!0}},kitContracts:{bridge:Dn}},e2e={type:"polkadot",chain:B.Polkadot_Asset_Hub,name:"Polkadot Asset Hub",title:"Polkadot Asset Hub",nativeCurrency:{name:"Polkadot",symbol:"DOT",decimals:10},isTestnet:!1,explorerUrl:"https://polkadot.subscan.io/extrinsic/{hash}",rpcEndpoints:["https://asset-hub-polkadot-rpc.n.dwellir.com"],eurcAddress:null,usdcAddress:"1337",usdtAddress:"1984",cctp:null},t2e={type:"polkadot",chain:B.Polkadot_Westmint,name:"Polkadot Westmint",title:"Polkadot Westmint",nativeCurrency:{name:"Polkadot",symbol:"DOT",decimals:10},isTestnet:!1,explorerUrl:"https://assethub-polkadot.subscan.io/extrinsic/{hash}",rpcEndpoints:["https://westmint-rpc.polkadot.io"],eurcAddress:null,usdcAddress:"Asset ID 31337",usdtAddress:null,cctp:null},n2e={type:"evm",chain:B.Polygon,name:"Polygon",title:"Polygon Mainnet",nativeCurrency:{name:"POL",symbol:"POL",decimals:18},chainId:137,isTestnet:!1,explorerUrl:"https://polygonscan.com/tx/{hash}",rpcEndpoints:["https://polygon.publicnode.com","https://polygon.drpc.org"],eurcAddress:null,usdcAddress:"0x3c499c542cef5e3811e1192ce70d8cc03d5c3359",usdtAddress:null,cctp:{domain:7,contracts:{v1:{type:"split",tokenMessenger:"0x9daF8c91AEFAE50b9c0E69629D3F6Ca40cA3B3FE",messageTransmitter:"0xF3be9355363857F3e001be68856A2f96b4C39Ba9",confirmations:200},v2:{type:"split",tokenMessenger:"0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d",tokenMessengerWithFees:sr,messageTransmitter:"0x81D40F21F12A8F0E3252Bccb954D722d4c464B64",confirmations:33,fastConfirmations:13}},forwarderSupported:{source:!1,destination:!0}},cctpx:{serviceAddress:np},kitContracts:{bridge:Hn,adapter:Qr},gateway:{domain:7,contracts:{v1:{wallet:mi,minter:hi,depositForHandler:VN,genericExecutor:GN}},forwarderSupported:{source:!0,destination:!0}}},r2e={type:"evm",chain:B.Polygon_Amoy_Testnet,name:"Polygon Amoy",title:"Polygon Amoy Testnet",nativeCurrency:{name:"POL",symbol:"POL",decimals:18},chainId:80002,isTestnet:!0,explorerUrl:"https://amoy.polygonscan.com/tx/{hash}",rpcEndpoints:["https://polygon-amoy-bor-rpc.publicnode.com","https://polygon-amoy.drpc.org"],eurcAddress:null,usdcAddress:"0x41e94eb019c0762f9bfcf9fb1e58725bfb0e7582",usdtAddress:null,cctp:{domain:7,contracts:{v1:{type:"split",tokenMessenger:"0x9f3B8679c73C2Fef8b59B4f3444d4e156fb70AA5",messageTransmitter:"0x7865fAfC2db2093669d92c0F33AeEF291086BEFD",confirmations:200},v2:{type:"split",tokenMessenger:"0x8FE6B999Dc680CcFDD5Bf7EB0974218be2542DAA",tokenMessengerWithFees:qn,messageTransmitter:"0xE737e5cEBEEBa77EFE34D4aa090756590b1CE275",confirmations:33,fastConfirmations:13}},forwarderSupported:{source:!1,destination:!0}},cctpx:{serviceAddress:tp},kitContracts:{bridge:Dn},gateway:{domain:7,contracts:{v1:{wallet:yi,minter:bi,depositForHandler:jN,genericExecutor:WN}},forwarderSupported:{source:!0,destination:!0}}},o2e={type:"evm",chain:B.Sei,name:"Sei",title:"Sei Mainnet",nativeCurrency:{name:"Sei",symbol:"SEI",decimals:18},chainId:1329,isTestnet:!1,explorerUrl:"https://seiscan.io/tx/{hash}",rpcEndpoints:["https://evm-rpc.sei-apis.com"],eurcAddress:null,usdcAddress:"0xe15fC38F6D8c56aF07bbCBe3BAf5708A2Bf42392",usdtAddress:null,cctp:{domain:16,contracts:{v2:{type:"split",tokenMessenger:"0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d",tokenMessengerWithFees:sr,messageTransmitter:"0x81D40F21F12A8F0E3252Bccb954D722d4c464B64",confirmations:1,fastConfirmations:1}},forwarderSupported:{source:!1,destination:!0}},kitContracts:{bridge:Hn,adapter:Qr},gateway:{domain:16,contracts:{v1:{wallet:mi,minter:hi}},forwarderSupported:{source:!0,destination:!0}}},s2e={type:"evm",chain:B.Sei_Testnet,name:"Sei Testnet",title:"Sei Test Network",nativeCurrency:{name:"Sei",symbol:"SEI",decimals:18},chainId:1328,isTestnet:!0,explorerUrl:"https://testnet.seiscan.io/tx/{hash}",rpcEndpoints:["https://evm-rpc-testnet.sei-apis.com"],eurcAddress:null,usdcAddress:"0x4fCF1784B31630811181f670Aea7A7bEF803eaED",usdtAddress:null,cctp:{domain:16,contracts:{v2:{type:"split",tokenMessenger:"0x8FE6B999Dc680CcFDD5Bf7EB0974218be2542DAA",tokenMessengerWithFees:qn,messageTransmitter:"0xE737e5cEBEEBa77EFE34D4aa090756590b1CE275",confirmations:1,fastConfirmations:1}},forwarderSupported:{source:!1,destination:!0}},kitContracts:{bridge:Dn},gateway:{domain:16,contracts:{v1:{wallet:yi,minter:bi}},forwarderSupported:{source:!0,destination:!0}}},i2e={type:"evm",chain:B.Sonic,name:"Sonic",title:"Sonic Mainnet",nativeCurrency:{name:"Sonic",symbol:"S",decimals:18},chainId:146,isTestnet:!1,explorerUrl:"https://sonicscan.org/tx/{hash}",rpcEndpoints:["https://rpc.soniclabs.com"],eurcAddress:null,usdcAddress:"0x29219dd400f2Bf60E5a23d13Be72B486D4038894",usdtAddress:null,cctp:{domain:13,contracts:{v2:{type:"split",tokenMessenger:"0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d",tokenMessengerWithFees:sr,messageTransmitter:"0x81D40F21F12A8F0E3252Bccb954D722d4c464B64",confirmations:1,fastConfirmations:1}},forwarderSupported:{source:!1,destination:!0}},kitContracts:{bridge:Hn,adapter:Qr},gateway:{domain:13,contracts:{v1:{wallet:mi,minter:hi}},forwarderSupported:{source:!0,destination:!0}}},a2e={type:"evm",chain:B.Sonic_Testnet,name:"Sonic Testnet",title:"Sonic Testnet",nativeCurrency:{name:"Sonic",symbol:"S",decimals:18},chainId:14601,isTestnet:!0,explorerUrl:"https://testnet.sonicscan.org/tx/{hash}",rpcEndpoints:["https://rpc.testnet.soniclabs.com"],eurcAddress:null,usdcAddress:"0x0BA304580ee7c9a980CF72e55f5Ed2E9fd30Bc51",usdtAddress:null,cctp:{domain:13,contracts:{v2:{type:"split",tokenMessenger:"0x8FE6B999Dc680CcFDD5Bf7EB0974218be2542DAA",tokenMessengerWithFees:qn,messageTransmitter:"0xE737e5cEBEEBa77EFE34D4aa090756590b1CE275",confirmations:1,fastConfirmations:1}},forwarderSupported:{source:!1,destination:!0}},kitContracts:{bridge:Dn},gateway:{domain:13,contracts:{v1:{wallet:yi,minter:bi}},forwarderSupported:{source:!0,destination:!0}}},NY={type:"solana",chain:B.Solana,name:"Solana",title:"Solana Mainnet",nativeCurrency:{name:"Solana",symbol:"SOL",decimals:9},isTestnet:!1,explorerUrl:"https://solscan.io/tx/{hash}",rpcEndpoints:["https://api.mainnet-beta.solana.com"],eurcAddress:"HzwqbKZw8HxMN6bF2yFZNrht3c2iXXzpKcFu7uBEDKtr",usdcAddress:"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",usdtAddress:"Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB",cctp:{domain:5,contracts:{v1:{type:"split",tokenMessenger:"CCTPiPYPc6AsJuwueEnWgSgucamXDZwBd53dQ11YiKX3",messageTransmitter:"CCTPmbSD7gX1bxKPAmg77w8oFzNFpaQiQUWD43TKaecd",confirmations:32},v2:{type:"split",tokenMessenger:"CCTPV2vPZJS2u2BBsUoscuikbYjnpFmbFsvVuJdgUMQe",messageTransmitter:"CCTPV2Sm4AdWt5296sk4P66VBZ7bEhcARwFaaS9YPbeC",confirmations:32,fastConfirmations:3}},forwarderSupported:{source:!1,destination:!0}},kitContracts:{bridge:"DFaauJEjmiHkPs1JG89A4p95hDWi9m9SAEERY1LQJiC3"},gateway:{domain:5,contracts:{v1:{wallet:iwe,minter:awe}},forwarderSupported:{source:!0,destination:!0}}},OY={type:"solana",chain:B.Solana_Devnet,name:"Solana Devnet",title:"Solana Development Network",nativeCurrency:{name:"Solana",symbol:"SOL",decimals:9},isTestnet:!0,explorerUrl:"https://solscan.io/tx/{hash}?cluster=devnet",eurcAddress:"HzwqbKZw8HxMN6bF2yFZNrht3c2iXXzpKcFu7uBEDKtr",usdcAddress:"4zMMC9srt5Ri5X14GAgXhaHii3GnPAEERYPJgZJDncDU",usdtAddress:null,cctp:{domain:5,contracts:{v1:{type:"split",tokenMessenger:"CCTPiPYPc6AsJuwueEnWgSgucamXDZwBd53dQ11YiKX3",messageTransmitter:"CCTPmbSD7gX1bxKPAmg77w8oFzNFpaQiQUWD43TKaecd",confirmations:32},v2:{type:"split",tokenMessenger:"CCTPV2vPZJS2u2BBsUoscuikbYjnpFmbFsvVuJdgUMQe",messageTransmitter:"CCTPV2Sm4AdWt5296sk4P66VBZ7bEhcARwFaaS9YPbeC",confirmations:32,fastConfirmations:3}},forwarderSupported:{source:!1,destination:!0}},kitContracts:{bridge:"DFaauJEjmiHkPs1JG89A4p95hDWi9m9SAEERY1LQJiC3"},rpcEndpoints:["https://api.devnet.solana.com"],gateway:{domain:5,contracts:{v1:{wallet:cwe,minter:uwe}},forwarderSupported:{source:!0,destination:!0}}},c2e={type:"stellar",chain:B.Stellar,name:"Stellar",title:"Stellar Mainnet",nativeCurrency:{name:"Stellar Lumens",symbol:"XLM",decimals:7},isTestnet:!1,explorerUrl:"https://stellar.expert/explorer/public/tx/{hash}",rpcEndpoints:["https://horizon.stellar.org"],eurcAddress:"EURC-GDHU6WRG4IEQXM5NZ4BMPKOXHW76MZM4Y2IEMFDVXBSDP6SJY4ITNPP2",usdcAddress:"USDC-GA5ZSEJYB37JRC5AVCIA5MOP4RHTM335X2KGX3IHOJAPP5RE34K4KZVN",usdtAddress:null,cctp:null},u2e={type:"stellar",chain:B.Stellar_Testnet,name:"Stellar Testnet",title:"Stellar Test Network",nativeCurrency:{name:"Stellar Lumens",symbol:"XLM",decimals:7},isTestnet:!0,explorerUrl:"https://stellar.expert/explorer/testnet/tx/{hash}",rpcEndpoints:["https://horizon-testnet.stellar.org"],eurcAddress:"EURC-GB3Q6QDZYTHWT7E5PVS3W7FUT5GVAFC5KSZFFLPU25GO7VTC3NM2ZTVO",usdcAddress:"USDC-GBBD47IF6LWK7P7MDEVSCWR7DPUWV3NY3DTQEVFL4NAT4AQH3ZLLFLA5",usdtAddress:null,cctp:null},d2e={type:"sui",chain:B.Sui,name:"Sui",title:"Sui Mainnet",nativeCurrency:{name:"Sui",symbol:"SUI",decimals:9},isTestnet:!1,explorerUrl:"https://suiscan.xyz/mainnet/tx/{hash}",rpcEndpoints:["https://fullnode.mainnet.sui.io"],eurcAddress:null,usdcAddress:"0xdba34672e30cb065b1f93e3ab55318768fd6fef66c15942c9f7cb846e2f900e7::usdc::USDC",usdtAddress:null,cctp:{domain:8,contracts:{v1:{type:"split",tokenMessenger:"0x2aa6c5d56376c371f88a6cc42e852824994993cb9bab8d3e6450cbe3cb32b94e",messageTransmitter:"0x08d87d37ba49e785dde270a83f8e979605b03dc552b5548f26fdf2f49bf7ed1b",confirmations:1}},forwarderSupported:{source:!1,destination:!1}}},l2e={type:"sui",chain:B.Sui_Testnet,name:"Sui Testnet",title:"Sui Test Network",nativeCurrency:{name:"Sui",symbol:"SUI",decimals:9},isTestnet:!0,explorerUrl:"https://suiscan.xyz/testnet/tx/{hash}",rpcEndpoints:["https://fullnode.testnet.sui.io"],eurcAddress:null,usdcAddress:"0xa1ec7fc00a6f40db9693ad1415d0c193ad3906494428cf252621037bd7117e29::usdc::USDC",usdtAddress:null,cctp:{domain:8,contracts:{v1:{type:"split",tokenMessenger:"0x31cc14d80c175ae39777c0238f20594c6d4869cfab199f40b69f3319956b8beb",messageTransmitter:"0x4931e06dce648b3931f890035bd196920770e913e43e45990b383f6486fdd0a5",confirmations:1}},forwarderSupported:{source:!1,destination:!1}}},f2e={type:"evm",chain:B.Unichain,name:"Unichain",title:"Unichain Mainnet",nativeCurrency:{name:"Uni",symbol:"UNI",decimals:18},chainId:130,isTestnet:!1,explorerUrl:"https://unichain.blockscout.com/tx/{hash}",rpcEndpoints:["https://mainnet.unichain.org"],eurcAddress:null,usdcAddress:"0x078D782b760474a361dDA0AF3839290b0EF57AD6",usdtAddress:null,cctp:{domain:10,contracts:{v1:{type:"split",tokenMessenger:"0x4e744b28E787c3aD0e810eD65A24461D4ac5a762",messageTransmitter:"0x353bE9E2E38AB1D19104534e4edC21c643Df86f4",confirmations:65},v2:{type:"split",tokenMessenger:"0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d",tokenMessengerWithFees:sr,messageTransmitter:"0x81D40F21F12A8F0E3252Bccb954D722d4c464B64",confirmations:65,fastConfirmations:1}},forwarderSupported:{source:!1,destination:!0}},kitContracts:{bridge:Hn,adapter:Qr},gateway:{domain:10,contracts:{v1:{wallet:mi,minter:hi}},forwarderSupported:{source:!0,destination:!0}}},p2e={type:"evm",chain:B.Unichain_Sepolia,name:"Unichain Sepolia",title:"Unichain Sepolia Testnet",nativeCurrency:{name:"Sepolia Uni",symbol:"UNI",decimals:18},chainId:1301,isTestnet:!0,explorerUrl:"https://unichain-sepolia.blockscout.com/tx/{hash}",rpcEndpoints:["https://sepolia.unichain.org"],eurcAddress:null,usdcAddress:"0x31d0220469e10c4E71834a79b1f276d740d3768F",usdtAddress:null,cctp:{domain:10,contracts:{v1:{type:"split",tokenMessenger:"0x8ed94B8dAd2Dc5453862ea5e316A8e71AAed9782",messageTransmitter:"0xbc498c326533d675cf571B90A2Ced265ACb7d086",confirmations:65},v2:{type:"split",tokenMessenger:"0x8FE6B999Dc680CcFDD5Bf7EB0974218be2542DAA",tokenMessengerWithFees:qn,messageTransmitter:"0xE737e5cEBEEBa77EFE34D4aa090756590b1CE275",confirmations:65,fastConfirmations:1}},forwarderSupported:{source:!1,destination:!0}},kitContracts:{bridge:Dn},gateway:{domain:10,contracts:{v1:{wallet:yi,minter:bi}},forwarderSupported:{source:!0,destination:!0}}},m2e={type:"evm",chain:B.World_Chain,name:"World Chain",title:"World Chain",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},chainId:480,isTestnet:!1,explorerUrl:"https://worldscan.org/tx/{hash}",rpcEndpoints:["https://worldchain-mainnet.g.alchemy.com/public"],eurcAddress:null,usdcAddress:"0x79A02482A880bCE3F13e09Da970dC34db4CD24d1",usdtAddress:null,cctp:{domain:14,contracts:{v2:{type:"split",tokenMessenger:"0x28b5a0e9C621a5BadaA536219b3a228C8168cF5d",tokenMessengerWithFees:sr,messageTransmitter:"0x81D40F21F12A8F0E3252Bccb954D722d4c464B64",confirmations:65,fastConfirmations:1}},forwarderSupported:{source:!1,destination:!0}},kitContracts:{bridge:Hn,adapter:Qr},gateway:{domain:14,contracts:{v1:{wallet:mi,minter:hi}},forwarderSupported:{source:!0,destination:!0}}},h2e={type:"evm",chain:B.World_Chain_Sepolia,name:"World Chain Sepolia",title:"World Chain Sepolia",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},chainId:4801,isTestnet:!0,explorerUrl:"https://sepolia.worldscan.org/tx/{hash}",rpcEndpoints:["https://worldchain-sepolia.drpc.org","https://worldchain-sepolia.g.alchemy.com/public"],eurcAddress:null,usdcAddress:"0x66145f38cBAC35Ca6F1Dfb4914dF98F1614aeA88",usdtAddress:null,cctp:{domain:14,contracts:{v2:{type:"split",tokenMessenger:"0x8fe6b999dc680ccfdd5bf7eb0974218be2542daa",tokenMessengerWithFees:qn,messageTransmitter:"0xe737e5cebeeba77efe34d4aa090756590b1ce275",confirmations:65,fastConfirmations:1}},forwarderSupported:{source:!1,destination:!0}},kitContracts:{bridge:Dn},gateway:{domain:14,contracts:{v1:{wallet:yi,minter:bi}},forwarderSupported:{source:!0,destination:!0}}},y2e={type:"evm",chain:B.XDC,name:"XDC",title:"XDC Mainnet",nativeCurrency:{name:"XDC",symbol:"XDC",decimals:18},chainId:50,isTestnet:!1,explorerUrl:"https://xdcscan.io/tx/{hash}",rpcEndpoints:["https://erpc.xdcrpc.com","https://erpc.xinfin.network"],eurcAddress:null,usdcAddress:"0xfA2958CB79b0491CC627c1557F441eF849Ca8eb1",usdtAddress:null,cctp:{domain:18,contracts:{v2:{type:"split",tokenMessenger:"0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d",tokenMessengerWithFees:sr,messageTransmitter:"0x81D40F21F12A8F0E3252Bccb954D722d4c464B64",confirmations:3,fastConfirmations:3}},forwarderSupported:{source:!1,destination:!0}},kitContracts:{bridge:Hn,adapter:Qr}},b2e={type:"evm",chain:B.XDC_Apothem,name:"Apothem Network",title:"Apothem Network",nativeCurrency:{name:"TXDC",symbol:"TXDC",decimals:18},chainId:51,isTestnet:!0,explorerUrl:"https://testnet.xdcscan.com/tx/{hash}",rpcEndpoints:["https://erpc.apothem.network"],eurcAddress:null,usdcAddress:"0xb5AB69F7bBada22B28e79C8FFAECe55eF1c771D4",usdtAddress:null,cctp:{domain:18,contracts:{v2:{type:"split",tokenMessenger:"0x8FE6B999Dc680CcFDD5Bf7EB0974218be2542DAA",tokenMessengerWithFees:qn,messageTransmitter:"0xE737e5cEBEEBa77EFE34D4aa090756590b1CE275",confirmations:3,fastConfirmations:1}},forwarderSupported:{source:!1,destination:!0}},kitContracts:{bridge:Dn}},g2e={type:"evm",chain:B.X_Layer,name:"X Layer",title:"X Layer Mainnet",nativeCurrency:{name:"OKB",symbol:"OKB",decimals:18},chainId:196,isTestnet:!1,explorerUrl:"https://www.oklink.com/xlayer/tx/{hash}",rpcEndpoints:["https://xlayerrpc.okx.com"],eurcAddress:null,usdcAddress:"0xB6CEceAB302E2E4948951eE7843FC24E92933061",usdtAddress:null,cctp:{domain:37,contracts:{v2:{type:"split",tokenMessenger:"0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d",messageTransmitter:"0x81D40F21F12A8F0E3252Bccb954D722d4c464B64",confirmations:65,fastConfirmations:1}},forwarderSupported:{source:!1,destination:!1}},kitContracts:{bridge:Hn}},_2e={type:"evm",chain:B.X_Layer_Testnet,name:"X Layer Testnet",title:"X Layer Testnet",nativeCurrency:{name:"OKB",symbol:"OKB",decimals:18},chainId:1952,isTestnet:!0,explorerUrl:"https://web3.okx.com/explorer/x-layer-testnet/tx/{hash}",rpcEndpoints:["https://testrpc.xlayer.tech"],eurcAddress:null,usdcAddress:"0xDec90b78111Ba2fc6FC6d84d8B9ec159A2d4b9B3",usdtAddress:null,cctp:{domain:37,contracts:{v2:{type:"split",tokenMessenger:"0x8FE6B999Dc680CcFDD5Bf7EB0974218be2542DAA",messageTransmitter:"0xE737e5cEBEEBa77EFE34D4aa090756590b1CE275",confirmations:65,fastConfirmations:1}},forwarderSupported:{source:!1,destination:!1}},kitContracts:{bridge:Dn}},A2e={type:"evm",chain:B.ZKSync_Era,name:"ZKSync Era",title:"ZKSync Era Mainnet",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},chainId:324,isTestnet:!1,explorerUrl:"https://explorer.zksync.io/tx/{hash}",rpcEndpoints:["https://mainnet.era.zksync.io"],eurcAddress:null,usdcAddress:"0x1d17CBcF0D6D143135aE902365D2E5e2A16538D4",usdtAddress:null,cctp:null},E2e={type:"evm",chain:B.ZKSync_Sepolia,name:"ZKSync Era Sepolia",title:"ZKSync Era Sepolia Testnet",nativeCurrency:{name:"Sepolia Ether",symbol:"ETH",decimals:18},chainId:300,isTestnet:!0,explorerUrl:"https://sepolia.explorer.zksync.io/tx/{hash}",rpcEndpoints:["https://sepolia.era.zksync.dev"],eurcAddress:null,usdcAddress:"0xAe045DE5638162fa134807Cb558E15A3F5A7F853",usdtAddress:null,cctp:null},qN=Object.freeze({__proto__:null,Algorand:ewe,AlgorandTestnet:twe,Aptos:nwe,AptosTestnet:rwe,Arbitrum:fwe,ArbitrumSepolia:pwe,Arc:dwe,ArcTestnet:lwe,Avalanche:mwe,AvalancheFuji:hwe,Base:ywe,BaseSepolia:bwe,Celo:gwe,CeloAlfajoresTestnet:_we,Codex:Awe,CodexTestnet:Ewe,Cronos:xwe,CronosTestnet:wwe,Edge:Twe,EdgeTestnet:Swe,Ethereum:Rwe,EthereumSepolia:vwe,Hedera:Iwe,HederaTestnet:Cwe,HyperEVM:Nwe,HyperEVMTestnet:Owe,Injective:kwe,InjectiveTestnet:Dwe,Ink:Bwe,InkTestnet:Pwe,Linea:Lwe,LineaSepolia:Mwe,Monad:Fwe,MonadTestnet:Uwe,Morph:Hwe,MorphTestnet:$we,NEAR:zwe,NEARTestnet:Vwe,Noble:jwe,NobleTestnet:Gwe,Optimism:Wwe,OptimismSepolia:qwe,Pharos:Kwe,PharosTestnet:Ywe,Plasma:Zwe,PlasmaTestnet:Xwe,Plume:Jwe,PlumeTestnet:Qwe,PolkadotAssetHub:e2e,PolkadotWestmint:t2e,Polygon:n2e,PolygonAmoy:r2e,Sei:o2e,SeiTestnet:s2e,Solana:NY,SolanaDevnet:OY,Sonic:i2e,SonicTestnet:a2e,Stellar:c2e,StellarTestnet:u2e,Sui:d2e,SuiTestnet:l2e,Unichain:f2e,UnichainSepolia:p2e,WorldChain:m2e,WorldChainSepolia:h2e,XDC:y2e,XDCApothem:b2e,XLayer:g2e,XLayerTestnet:_2e,ZKSyncEra:A2e,ZKSyncEraSepolia:E2e});B.Ethereum,B.Base,B.Arbitrum,B.Unichain,B.Optimism,B.Codex,B.Ink,B.Plume,B.Linea,B.World_Chain,B.Ethereum_Sepolia,B.Base_Sepolia,B.Arbitrum_Sepolia,B.Unichain_Sepolia,B.Optimism_Sepolia,B.Codex_Testnet,B.Ink_Testnet,B.Plume_Testnet,B.Linea_Sepolia,B.World_Chain_Sepolia;function A2(e,t){let n=e.kitContracts?.[t];return typeof n=="string"&&n.trim().length>0}function kY(e){return e.gateway?.contracts?.v1!==void 0}B.Ethereum,B.Base,B.Arbitrum,B.Unichain,B.Optimism,B.Codex,B.Ink,B.Plume,B.Linea,B.World_Chain,B.Ethereum_Sepolia,B.Base_Sepolia,B.Arbitrum_Sepolia,B.Unichain_Sepolia,B.Optimism_Sepolia,B.Codex_Testnet,B.Ink_Testnet,B.Plume_Testnet,B.Linea_Sepolia,B.World_Chain_Sepolia;var x2e=h.object({wallet:h.string({required_error:"Gateway wallet address is required. Please provide a valid contract address.",invalid_type_error:"Gateway wallet address must be a string."}).min(1,"Gateway wallet address cannot be empty."),minter:h.string({required_error:"Gateway minter address is required. Please provide a valid contract address.",invalid_type_error:"Gateway minter address must be a string."}).min(1,"Gateway minter address cannot be empty."),depositForHandler:h.string({invalid_type_error:"Gateway depositForHandler address must be a string."}).min(1,"Gateway depositForHandler address cannot be empty.").optional(),genericExecutor:h.string({invalid_type_error:"Gateway genericExecutor address must be a string."}).min(1,"Gateway genericExecutor address cannot be empty.").optional()}).strict(),w2e=h.object({v1:x2e.optional()}).strict(),T2e=h.object({domain:h.number({required_error:"Gateway domain is required. Please provide a valid domain number.",invalid_type_error:"Gateway domain must be a number."}),contracts:w2e,forwarderSupported:h.object({source:h.boolean(),destination:h.boolean()})}).strict(),DY=h.object({chain:h.nativeEnum(B,{required_error:"Chain enum is required. Please provide a valid Blockchain enum value.",invalid_type_error:"Chain must be a valid Blockchain enum value."}),name:h.string({required_error:"Chain name is required. Please provide a valid chain name.",invalid_type_error:"Chain name must be a string."}),title:h.string().optional(),nativeCurrency:h.object({name:h.string(),symbol:h.string(),decimals:h.number()}),isTestnet:h.boolean({required_error:"isTestnet is required. Please specify whether this is a testnet.",invalid_type_error:"isTestnet must be a boolean."}),explorerUrl:h.string({required_error:"Explorer URL is required. Please provide a valid explorer URL.",invalid_type_error:"Explorer URL must be a string."}),rpcEndpoints:h.array(h.string()),eurcAddress:h.string().nullable(),usdcAddress:h.string().nullable(),usdtAddress:h.string().nullable(),cctp:h.any().nullable(),cctpx:h.any().optional(),kitContracts:h.object({bridge:h.string().optional(),adapter:h.string().optional(),senderPreservingBatcher:h.string().optional()}).optional(),gateway:T2e.optional()}),S2e=DY.extend({type:h.literal("evm"),chainId:h.number({required_error:"EVM chains must have a chainId. Please provide a valid EVM chain ID.",invalid_type_error:"EVM chain ID must be a number."})}).strict(),R2e=DY.extend({type:h.enum(["algorand","avalanche","solana","aptos","near","stellar","sui","hedera","noble","polkadot"])}).strict(),Ud=h.discriminatedUnion("type",[S2e,R2e]),v2e=h.union([h.string().refine(e=>e in B,"Must be a valid Blockchain enum value as string"),h.nativeEnum(B),Ud]);h.union([h.string().refine(e=>e in Yf,e=>({message:`"${e}" is not a supported swap chain. Supported chains: ${Object.values(Yf).join(", ")}`})),h.nativeEnum(Yf),Ud.refine(e=>e.chain in Yf,e=>({message:`"${e.chain}" is not a supported swap chain. Supported chains: ${Object.values(Yf).join(", ")}`}))]);h.union([h.string().refine(e=>e in _2,e=>({message:`Chain "${e}" is not supported for bridging. Only chains in the BridgeChain enum support CCTPv2 bridging.`})),Ud.refine(e=>e.chain in _2,e=>({message:`Chain "${e.name}" (${e.chain}) is not supported for bridging. Only chains in the BridgeChain enum support CCTPv2 bridging.`}))]);h.union([h.string().refine(e=>e in Zf,e=>({message:`"${e}" is not a supported earn chain. Supported chains: ${Object.values(Zf).join(", ")}`})),h.nativeEnum(Zf),Ud.refine(e=>e.chain in Zf,e=>({message:`"${e.chain}" is not a supported earn chain. Supported chains: ${Object.values(Zf).join(", ")}`}))]);h.union([h.string().refine(e=>e in Xf,e=>({message:`"${e}" is not a supported borrow chain. Supported chains: ${Object.values(Xf).join(", ")}`})),h.nativeEnum(Xf),Ud.refine(e=>e.chain in Xf,e=>({message:`"${e.chain}" is not a supported borrow chain. Supported chains: ${Object.values(Xf).join(", ")}`}))]);var cY=TN,uY=SN;h.union([h.string().refine(e=>cY.includes(e),e=>({message:`"${e}" is not a supported cross-chain Earn source chain. Supported chains: ${TN.join(", ")}`})),Ud.refine(e=>cY.includes(e.chain),e=>({message:`"${e.chain}" is not a supported cross-chain Earn source chain. Supported chains: ${TN.join(", ")}`}))]);h.union([h.string().refine(e=>uY.includes(e),e=>({message:`"${e}" is not a supported cross-chain Earn destination chain. Supported chains: ${SN.join(", ")}`})),Ud.refine(e=>uY.includes(e.chain),e=>({message:`"${e.chain}" is not a supported cross-chain Earn destination chain. Supported chains: ${SN.join(", ")}`}))]);var dY=Object.keys(Sg).join(", ");h.union([h.string().refine(e=>e in Sg,e=>({message:`Chain "${e}" is not supported for unified balance operations. Supported chains: ${dY}.`})),Ud.refine(e=>e.chain in Sg,e=>({message:`Chain "${e.name}" (${e.chain}) is not supported for unified balance operations. Supported chains: ${dY}.`}))]);var I2e=h.enum([...Object.keys(IY),CY]);h.string().transform(e=>e.toUpperCase()).pipe(I2e);function C2e(){return Object.values(qN).filter(e=>e.type==="evm")}function N2e(e){let t=Object.values(qN).find(n=>n.type==="evm"&&n.chainId===e);if(!t)throw new Error(`Chain with ID ${String(e)} not found`);return t}var BY=e=>{let t=Object.values(qN).find(n=>n.chain===e);if(!t)throw new Error(`No chain definition found for blockchain: ${e}`);return t};function E2(e){if(e===null)throw new Error("Invalid chain identifier type: null. Expected ChainDefinition object, Blockchain enum, or string literal.");if(typeof e=="object")return e;if(typeof e=="string")return BY(e);throw new Error(`Invalid chain identifier type: ${typeof e}. Expected ChainDefinition object, Blockchain enum, or string literal.`)}function O2e(e){let t=e.rpcEndpoints[0];if(t===void 0||t==="")throw new Error(`No RPC endpoints found for chain ${e.name}. Please ensure the chain definition includes default RPC endpoints.`);return t}var KN=(e,t)=>{if(t==="tokenMessenger"&&A2(e,"bridge")&&e.kitContracts?.bridge!==void 0)return e.kitContracts.bridge;let r=e.cctp.contracts.v2;if(t==="tokenMessengerWithFees"){let o=r.tokenMessengerWithFees;if(o===void 0||o==="")throw new Error(`TokenMessengerWithFees is not configured on chain ${e.name}. The prepaid FORWARD path is unavailable on this chain.`);return o}switch(r.type){case"split":return t==="tokenMessenger"?r.tokenMessenger:r.messageTransmitter;case"merged":return r.contract;default:{let o=r;throw new Error(`Unsupported CCTP v2 contract type on chain ${e.name}. Expected "split" or "merged", but received '${o.type??"unknown"}'.`)}}},RN=class{actionHandlers=new Map;registerHandler(t,n){if(typeof t!="string"||t.length===0)throw new TypeError(`Action must be a non-empty string, received: ${typeof t}`);if(typeof n!="function")throw new TypeError(`Handler must be a function, received: ${typeof n}`);this.actionHandlers.set(t,n)}registerHandlers(t){if(typeof t!="object"||t===null)throw new Error(`Handlers must be a non-null object, received: ${typeof t}`);for(let[n,r]of Object.entries(t))this.registerHandler(n,r)}supportsAction(t){if(typeof t!="string"||t.length===0)throw new TypeError(`Action must be a non-empty string, received: ${typeof t}`);return this.actionHandlers.has(t)}async executeAction(t,n,r){if(typeof t!="string"||t.length===0)throw new TypeError(`Action must be a non-empty string, received: ${typeof t}`);let o=this.actionHandlers.get(t);if(!o)throw new Error(`Action ${t} is not supported`);try{return await o(n,r)}catch(s){if(s instanceof De)throw s;let i=s instanceof Error?s.message:String(s);throw new Error(`Failed to execute action ${t}: ${i}`)}}},k2e=["token.allowance","token.balanceOf","token.name","native.balanceOf","usdc.allowance","usdc.balanceOf","usdc.name","gateway.v1.isDelegate","gateway.v1.withdrawingBalance","gateway.v1.withdrawalBlock","gateway.v1.signBurnIntents"],D2e=new Set(k2e);function PY(e){return typeof e=="string"&&D2e.has(e)}async function Tg(e,t){if(e.capabilities===void 0)throw new Error("Adapter capabilities must be defined. Please ensure the adapter implements the capabilities property.");if(t===void 0)throw new Error("Operation context is required. Please provide a context with the required chain and address information.");let n=E2(t.chain),r;if(e.capabilities.addressContext==="developer-controlled"){if(!t.address)throw new Error("Address is required for developer-controlled adapters. Please provide an address in the operation context.");r=t.address}else try{r=await e.getAddress(n)}catch(o){let s=o instanceof Error?o.message:String(o);throw new Error(`Failed to resolve address from user-controlled adapter: ${s}`)}return{chain:n,address:r}}function vN(e){return new De({..._t.UNSUPPORTED_ACTION,recoverability:"FATAL",message:`Read action "${String(e)}" is not registered in this adapter.`})}async function B2e(e,t,n,r){if(!PY(t))throw vN(t);let o=e;if(typeof o.readAction=="function")return o.readAction(t,n,r);let s;try{s=await e.prepareAction(t,n,r)}catch(i){throw i instanceof Error&&i.message===`Action ${t} is not supported`?vN(t):i}return s.execute()}async function P2e(e,t,n){return L2e(await B2e(e,"token.allowance",t,n))}function L2e(e){return M2e("token.allowance",e)}function M2e(e,t){let n=t;if(typeof n=="object"&&n!==null&&"amount"in n){let o=n.amount;typeof o=="object"&&o!==null&&"raw"in o&&(n=o.raw)}if(n==null)return 0n;let r;if(typeof n=="bigint")r=n;else if(typeof n=="string")try{r=BigInt(n)}catch{r=void 0}if(r===void 0||r<0n)throw tt(e,n,`${e} response must be a non-negative bigint-compatible string or bigint`);return r}var IN=class{capabilities;actionRegistry=new RN;async prepareAction(t,n,r){let o=await Tg(this,r);return this.actionRegistry.executeAction(t,n,o)}async readAction(t,n,r){if(!PY(t)||!this.actionRegistry.supportsAction(t))throw vN(t);let o=await Tg(this,r);return(await this.actionRegistry.executeAction(t,n,o)).execute()}async getTokenAllowance(t,n){return P2e(this,t,n)}async ensureChain(t){this.validateChainSupport(t);try{await this.switchToChain(t)}catch(n){throw new Error(`Failed to switch to chain ${t.name}: ${n instanceof Error?n.message:String(n)}`)}}validateChainSupport(t){if(this.capabilities?.supportedChains){if(!this.capabilities.supportedChains.some(r=>r.chain===t.chain)){let r=this.capabilities.supportedChains.length,o=this.capabilities.supportedChains.map(i=>i.name).join(", "),s=`Not supported by this adapter. It supports ${r.toString()} ${r===1?"chain":"chains"}: ${o}`;throw _r(t.name,s)}}else if(this.chainType&&t.type!==this.chainType){let n=`Chain type mismatch: adapter supports ${this.chainType} chains, but received ${t.type??"unknown"} chain`;throw _r(t.name,n)}}};function Cg(e,t,n){let r;try{r=t.safeParse(e)}catch(o){throw new De({..._t.VALIDATION_FAILED,recoverability:"FATAL",message:`Invalid ${n}: reading a property threw`,cause:{trace:{validationErrors:["Reading a property of the value threw"],originalError:o}}})}if(!r.success)throw v2(r.error,n)}var lY=new WeakMap;function LY(e,t,n,r){if(e===null)throw new De({..._t.VALIDATION_FAILED,recoverability:"FATAL",message:`Invalid ${n}: Value is null`,cause:{trace:{validationErrors:["Value is null"]}}});if(e===void 0)throw new De({..._t.VALIDATION_FAILED,recoverability:"FATAL",message:`Invalid ${n}: Value is undefined`,cause:{trace:{validationErrors:["Value is undefined"]}}});if(typeof e!="object")throw new De({..._t.VALIDATION_FAILED,recoverability:"FATAL",message:`Invalid ${n}: Value must be an object`,cause:{trace:{validationErrors:[`Value must be an object, got ${typeof e}`]}}});let o=lY.get(e)??{validatedSchemasByValidator:new Map},s=o.validatedSchemasByValidator.get(r)??new WeakSet;if(!(s instanceof WeakSet))throw new De({..._t.VALIDATION_FAILED,recoverability:"FATAL",message:"Invalid validation state: expected WeakSet"});s.has(t)||(Cg(e,t,n),s.add(t),o.validatedSchemasByValidator.set(r,s),lY.set(e,o))}function YN(e,t,n){let r=t.safeParse(e);if(!r.success)throw v2(r.error,n)}var MY=e=>{if(/^0x[0-9a-fA-F]{40}$/.test(e))return"evm";if(/^0x[0-9a-fA-F]{64}$/.test(e))return"bytes32";if(fu.decode(e).length===32)return"solana";throw new Error(`Unsupported address format: ${e}`)},F2e=e=>{switch(MY(e)){case"evm":return Ms(e,32);case"bytes32":return e;case"solana":return Bt(fu.decode(e))}throw new Error(`Unsupported address format: ${e}`)},U2e=e=>{let n="0x"+(e.startsWith("0x")?e.slice(2):e).slice(-40);return bs(n)};function H2e(e){let t=e.startsWith("0x")?e.slice(2):e,n=Buffer.from(t,"hex");return fu.encode(new Uint8Array(n))}var Rg=(e,t)=>{if(MY(e)===t)return e;let r=F2e(e);switch(t){case"bytes32":return r;case"evm":return U2e(r);case"solana":return H2e(r)}throw new Error(`Unsupported address format: ${e}`)},$2e={symbol:"USDC",decimals:6,locators:{[B.Arbitrum]:"0xaf88d065e77c8cC2239327C5EDb3A432268e5831",[B.Arc]:"0x3600000000000000000000000000000000000000",[B.Avalanche]:"0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E",[B.Base]:"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",[B.Celo]:"0xcebA9300f2b948710d2653dD7B07f33A8B32118C",[B.Codex]:"0xd996633a415985DBd7D6D12f4A4343E31f5037cf",[B.Cronos]:"0x3D7F2C478aAfdB65542BCB44bCeeC05849999d2D",[B.Edge]:"0x98d2919b9A214E6Fa5384AC81E6864bA686Ad74c",[B.Ethereum]:"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",[B.Hedera]:"0.0.456858",[B.HyperEVM]:"0xb88339CB7199b77E23DB6E890353E22632Ba630f",[B.Injective]:"0xa00C59fF5a080D2b954d0c75e46E22a0c371235a",[B.Ink]:"0x2D270e6886d130D724215A266106e6832161EAEd",[B.Linea]:"0x176211869ca2b568f2a7d4ee941e073a821ee1ff",[B.Monad]:"0x754704Bc059F8C67012fEd69BC8A327a5aafb603",[B.Morph]:"0xCfb1186F4e93D60E60a8bDd997427D1F33bc372B",[B.NEAR]:"17208628f84f5d6ad33f0da3bbbeb27ffcb398eac501a31bd6ad2011e36133a1",[B.Noble]:"uusdc",[B.Optimism]:"0x0b2c639c533813f4aa9d7837caf62653d097ff85",[B.Pharos]:"0xC879C018dB60520F4355C26eD1a6D572cdAC1815",[B.Plasma]:"0x2d661C89D812261039AF9764eceaAee884f5F67F",[B.Plume]:"0x222365EF19F7947e5484218551B56bb3965Aa7aF",[B.Polkadot_Asset_Hub]:"1337",[B.Polygon]:"0x3c499c542cef5e3811e1192ce70d8cc03d5c3359",[B.Sei]:"0xe15fC38F6D8c56aF07bbCBe3BAf5708A2Bf42392",[B.Solana]:"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",[B.Sonic]:"0x29219dd400f2Bf60E5a23d13Be72B486D4038894",[B.Stellar]:"USDC-GA5ZSEJYB37JRC5AVCIA5MOP4RHTM335X2KGX3IHOJAPP5RE34K4KZVN",[B.Sui]:"0xdba34672e30cb065b1f93e3ab55318768fd6fef66c15942c9f7cb846e2f900e7::usdc::USDC",[B.Unichain]:"0x078D782b760474a361dDA0AF3839290b0EF57AD6",[B.World_Chain]:"0x79A02482A880bCE3F13e09Da970dC34db4CD24d1",[B.XDC]:"0xfA2958CB79b0491CC627c1557F441eF849Ca8eb1",[B.X_Layer]:"0xB6CEceAB302E2E4948951eE7843FC24E92933061",[B.ZKSync_Era]:"0x1d17CBcF0D6D143135aE902365D2E5e2A16538D4",[B.Arc_Testnet]:"0x3600000000000000000000000000000000000000",[B.Arbitrum_Sepolia]:"0x75faf114eafb1BDbe2F0316DF893fd58CE46AA4d",[B.Avalanche_Fuji]:"0x5425890298aed601595a70AB815c96711a31Bc65",[B.Base_Sepolia]:"0x036CbD53842c5426634e7929541eC2318f3dCF7e",[B.Celo_Alfajores_Testnet]:"0x2F25deB3848C207fc8E0c34035B3Ba7fC157602B",[B.Codex_Testnet]:"0x6d7f141b6819C2c9CC2f818e6ad549E7Ca090F8f",[B.Cronos_Testnet]:"0xEb33dc5fac03833e132593659e1dE7256aB59794",[B.Edge_Testnet]:"0x2d9F7CAD728051AA35Ecdc472a14cf8cDF5CFD6B",[B.Ethereum_Sepolia]:"0x1c7D4B196Cb0C7B01d743Fbc6116a902379C7238",[B.Hedera_Testnet]:"0.0.429274",[B.HyperEVM_Testnet]:"0x2B3370eE501B4a559b57D449569354196457D8Ab",[B.Injective_Testnet]:"0x0C382e685bbeeFE5d3d9C29e29E341fEE8E84C5d",[B.Ink_Testnet]:"0xFabab97dCE620294D2B0b0e46C68964e326300Ac",[B.Linea_Sepolia]:"0xfece4462d57bd51a6a552365a011b95f0e16d9b7",[B.Monad_Testnet]:"0x534b2f3A21130d7a60830c2Df862319e593943A3",[B.Morph_Testnet]:"0x7433b41C6c5e1d58D4Da99483609520255ab661B",[B.NEAR_Testnet]:"3e2210e1184b45b64c8a434c0a7e7b23cc04ea7eb7a6c3c32520d03d4afcb8af",[B.Noble_Testnet]:"uusdc",[B.Optimism_Sepolia]:"0x5fd84259d66Cd46123540766Be93DFE6D43130D7",[B.Pharos_Testnet]:"0xcfC8330f4BCAB529c625D12781b1C19466A9Fc8B",[B.Plasma_Testnet]:"0xE67Fb267022cBA8064Dd388CC2FED724F3120D9D",[B.Plume_Testnet]:"0xcB5f30e335672893c7eb944B374c196392C19D18",[B.Polkadot_Westmint]:"31337",[B.Polygon_Amoy_Testnet]:"0x41e94eb019c0762f9bfcf9fb1e58725bfb0e7582",[B.Sei_Testnet]:"0x4fCF1784B31630811181f670Aea7A7bEF803eaED",[B.Solana_Devnet]:"4zMMC9srt5Ri5X14GAgXhaHii3GnPAEERYPJgZJDncDU",[B.Sonic_Testnet]:"0x0BA304580ee7c9a980CF72e55f5Ed2E9fd30Bc51",[B.Stellar_Testnet]:"USDC-GBBD47IF6LWK7P7MDEVSCWR7DPUWV3NY3DTQEVFL4NAT4AQH3ZLLFLA5",[B.Sui_Testnet]:"0xa1ec7fc00a6f40db9693ad1415d0c193ad3906494428cf252621037bd7117e29::usdc::USDC",[B.Unichain_Sepolia]:"0x31d0220469e10c4E71834a79b1f276d740d3768F",[B.World_Chain_Sepolia]:"0x66145f38cBAC35Ca6F1Dfb4914dF98F1614aeA88",[B.XDC_Apothem]:"0xb5AB69F7bBada22B28e79C8FFAECe55eF1c771D4",[B.X_Layer_Testnet]:"0xDec90b78111Ba2fc6FC6d84d8B9ec159A2d4b9B3",[B.ZKSync_Sepolia]:"0xAe045DE5638162fa134807Cb558E15A3F5A7F853"}},z2e={symbol:"USDT",decimals:6,locators:{[B.Aptos]:"0x357b0b74bc833e95a115ad22604854d6b0fca151cecd94111770e5d6ffc9dc2b",[B.Arbitrum]:"0xFd086bC7CD5C481DCC9C85ebE478A1C0b69FCbb9",[B.Avalanche]:"0x9702230A8Ea53601f5cD2dc00fDBc13d4dF4A8c7",[B.Celo]:"0x48065fbBE25f71C9282ddf5e1cD6D6A887483D5e",[B.Ethereum]:"0xdAC17F958D2ee523a2206206994597C13D831ec7",[B.HyperEVM]:"0xb8ce59fc3717ada4c02eadf9682a9e934f625ebb",[B.Ink]:"0x0200C29006150606B650577BBE7B6248F58470c1",[B.Linea]:"0xA219439258ca9da29E9Cc4cE5596924745e12B93",[B.Monad]:"0xe7cd86e13AC4309349F30B3435a9d337750fC82D",[B.NEAR]:"usdt.tether-token.near",[B.Optimism]:"0x94b008aA00579c1307B0EF2c499aD98a8ce58e58",[B.Polkadot_Asset_Hub]:"1984",[B.Polygon]:"0xc2132D05D31c914a87C6611C10748AEb04B58e8F",[B.Sei]:"0x9151434b16b9763660705744891fA906F660EcC5",[B.Solana]:"Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB",[B.Unichain]:"0x9151434b16b9763660705744891fA906F660EcC5"}},V2e={symbol:"EURC",decimals:6,locators:{[B.Arc]:"0xbEf5f6d51CB62b58e6A8f77868681825C6fe21c1",[B.Avalanche]:"0xc891EB4cbdEFf6e073e859e987815Ed1505c2ACD",[B.Base]:"0x60a3E35Cc302bFA44Cb288Bc5a4F316Fdb1adb42",[B.Cronos]:"0xA6dE01a2d62C6B5f3525d768f34d276652C554c8",[B.Ethereum]:"0x1aBaEA1f7C830bD89Acc67eC4af516284b1bC33c",[B.Plasma]:"0x3EE196E78d4d4248b849B8E1C7F44C5457FAFD2C",[B.Solana]:"HzwqbKZw8HxMN6bF2yFZNrht3c2iXXzpKcFu7uBEDKtr",[B.World_Chain]:"0x1C60ba0A0eD1019e8Eb035E6daF4155A5cE2380B",[B.Arc_Testnet]:"0x89B50855Aa3bE2F677cD6303Cec089B5F319D72a",[B.Base_Sepolia]:"0x808456652fdb597867f38412077A9182bf77359F",[B.Cronos_Testnet]:"0x31f7538adb53cF16350e6B0c89d03D91b7D12c46",[B.Ethereum_Sepolia]:"0x08210F9170F89Ab7658F0B5E3fF39b0E03C594D4",[B.Plasma_Testnet]:"0x98AfA0F93Dd993B736399f9074eDcEBD1985A330"}},j2e={symbol:"DAI",decimals:18,chainDecimals:{[B.Solana]:8},locators:{[B.Arbitrum]:"0xDA10009cBd5D07dd0CeCc66161FC93D7c9000da1",[B.Avalanche]:"0xd586E7F844cEa2F87f50152665BCbc2C279D8d70",[B.Base]:"0x50c5725949A6F0c72E6C4a641F24049A917DB0Cb",[B.Ethereum]:"0x6B175474E89094C44Da98b954EedeAC495271d0F",[B.Linea]:"0x4AF15ec2A0BD43Db75dd04E62FAA3B8EF36b00d5",[B.Optimism]:"0xDA10009cBd5D07dd0CeCc66161FC93D7c9000da1",[B.Polygon]:"0x8f3Cf7ad23Cd3CaDbD9735AFf958023239c6A063",[B.Solana]:"EjmyN6qEC1Tf1JxiG1ae7UTJhUxSwk1TCWNWqxWV4J6o"}},G2e={symbol:"USDe",decimals:18,chainDecimals:{[B.Solana]:9},locators:{[B.Arbitrum]:"0x5d3a1Ff2b6BAb83b63cd9AD0787074081a52ef34",[B.Base]:"0x5d3a1Ff2b6BAb83b63cd9AD0787074081a52ef34",[B.Ethereum]:"0x4c9EDD5852cd905f086C759E8383e09bff1E68B3",[B.Linea]:"0x5d3a1Ff2b6BAb83b63cd9AD0787074081a52ef34",[B.Optimism]:"0x5d3a1Ff2b6BAb83b63cd9AD0787074081a52ef34",[B.Solana]:"DEkqHyPN7GMRJ5cArtQFAWefqbZb33Hyf6s5iCwjEonT"}},W2e={symbol:"PYUSD",decimals:6,locators:{[B.Arbitrum]:"0x46850aD61C2B7d64d08c9C754F45254596696984",[B.Ethereum]:"0x6c3ea9036406852006290770BEdFcAbA0e23A0e8",[B.Solana]:"2b1kV6DkPAnxd5ixfnxCpjxmKwqjjaYmCZfHsFu24GXo"}},q2e={symbol:"WETH",decimals:18,chainDecimals:{[B.Solana]:9},locators:{[B.Arbitrum]:"0x82aF49447D8a07e3bd95BD0d56f35241523fBab1",[B.Avalanche]:"0x49D5c2BdFfac6CE2BFdB6640F4F80f226bc10bAB",[B.Base]:"0x4200000000000000000000000000000000000006",[B.Ethereum]:"0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",[B.Optimism]:"0x4200000000000000000000000000000000000006",[B.Polygon]:"0x7ceB23fD6bC0adD59E62ac25578270cFf1b9f619",[B.Solana]:"7vfCXTUXx5WJV5JADk17DUJ4ksgau7utNKj4b963voxs"}},K2e={symbol:"WBTC",decimals:8,locators:{[B.Ethereum]:"0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599",[B.Arbitrum]:"0x2f2a2543B76A4166549F7aaB2e75Bef0aefC5B0f",[B.Avalanche]:"0x50b7545627a5162F82A992c33b87aDc75187B218"}},Y2e={symbol:"WSOL",decimals:9,locators:{[B.Solana]:"So11111111111111111111111111111111111111112"}},Z2e={symbol:"WAVAX",decimals:18,locators:{[B.Avalanche]:"0xB31f66AA3C1e785363F0875A1B74E27b85FD66c7"}},X2e={symbol:"WPOL",decimals:18,locators:{[B.Polygon]:"0x0d500B1d8E8eF31E21C99d1Db9A6444d3ADf1270"}},J2e={symbol:"ETH",decimals:18,locators:{}},Q2e={symbol:"POL",decimals:18,locators:{[B.Ethereum]:"0x455e53CBB86018Ac2B8092FdCd39d8444aFFC3F6"}},eTe={symbol:"PLUME",decimals:18,locators:{[B.Ethereum]:"0x4C1746A800D224393fE2470C70A35717eD4eA5F1"}},tTe={symbol:"MON",decimals:18,chainDecimals:{[B.Solana]:8},locators:{[B.Solana]:"CrAr4RRJMBVwRsZtT62pEhfA9H5utymC2mVx8e7FreP2"}},nTe={symbol:"cirBTC",decimals:8,locators:{[B.Arc]:"0x171A4217b86A807A64eB94757Db6849fb4bDbAA0",[B.Ethereum]:"0x72DFB2E44f59C5AD2bAFE84314E5b99a7cd5075E",[B.Arc_Testnet]:"0xf0C4a4CE82A5746AbAAd9425360Ab04fbBA432BF",[B.Ethereum_Sepolia]:"0x3a3fe695F684Bf9b9e43CF43C2b895Ea5e392bB3"}},rTe=[$2e,z2e,V2e,j2e,G2e,W2e,q2e,K2e,Y2e,Z2e,X2e,J2e,Q2e,eTe,tTe,nTe];new Set(rTe.map(e=>e.symbol.toUpperCase()));h.custom(e=>{if(e===null||typeof e!="object")return!1;let t=e;return typeof t.resolve=="function"&&typeof t.get=="function"&&typeof t.has=="function"&&typeof t.symbols=="function"&&typeof t.entries=="function"},{message:"Invalid token registry"});var ch=h.string().min(1,"Hex string is required").refine(e=>e.trim().length>0,"Hex string cannot be empty").refine(e=>e.startsWith("0x"),"Hex string must start with 0x prefix").refine(e=>/^0x[0-9a-fA-F]+$/.test(e),"Hex string contains invalid characters. Only hexadecimal characters (0-9, a-f, A-F) are allowed after 0x"),hs=ch.refine(e=>e.length===42,"EVM address must be exactly 42 characters long (0x + 40 hex characters)").transform(e=>e);ch.refine(e=>e.length===66,"Transaction hash must be exactly 66 characters long (0x + 64 hex characters)");var FY=ch.refine(e=>e.length===132,"EVM signature must be exactly 132 characters long (0x + 130 hex characters)").transform(e=>e),UY=h.string().min(1,"Base58 string is required").refine(e=>e.trim().length>0,"Base58 string cannot be empty").refine(e=>/^[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]+$/.test(e),"Base58 string contains invalid characters. Only base58 characters (1-9, A-H, J-N, P-Z, a-k, m-z) are allowed");UY.refine(e=>e.length>=32&&e.length<=44,"Solana address must be between 32-44 characters long (base58-encoded 32-byte address)");UY.refine(e=>e.length>=86&&e.length<=88,"Solana transaction hash must be between 86-88 characters long (base58-encoded 64-byte signature)");var oTe=h.object({prepare:h.function(),waitForTransaction:h.function(),getAddress:h.function()});function $o(e){YN(e,hs,"Invalid EVM address")}var CN;(function(e){e[e.NONE=0]="NONE",e[e.EIP2612=1]="EIP2612"})(CN||(CN={}));var NN;(function(e){e[e.NONE=0]="NONE",e[e.EIP2612=1]="EIP2612"})(NN||(NN={}));var HY=async()=>Promise.resolve({type:"noop",estimate:async()=>Promise.resolve({gas:0n,gasPrice:0n,fee:"0"}),execute:async()=>Promise.resolve("0x0000000000000000000000000000000000000000000000000000000000000000")}),sTe=500n;function iTe(e,t){let n=t?.addressContext??"user-controlled";if(t?.supportedChains&&t.supportedChains.length>0)return{addressContext:n,supportedChains:t.supportedChains,...t};let r=aTe(e);return{addressContext:n,...t,supportedChains:r}}function aTe(e){switch(e){case"evm":return C2e();case"solana":return[NY,OY];default:throw new Error(`Unsupported ecosystem type: ${String(e)}`)}}var ZN=[{type:"function",name:"execute",inputs:[{name:"params",type:"tuple",internalType:"struct IAdapter.ExecutionParams",components:[{name:"instructions",type:"tuple[]",internalType:"struct IAdapter.Instruction[]",components:[{name:"target",type:"address",internalType:"address"},{name:"data",type:"bytes",internalType:"bytes"},{name:"value",type:"uint256",internalType:"uint256"},{name:"tokenIn",type:"address",internalType:"address"},{name:"amountToApprove",type:"uint256",internalType:"uint256"},{name:"tokenOut",type:"address",internalType:"address"},{name:"minTokenOut",type:"uint256",internalType:"uint256"}]},{name:"tokens",type:"tuple[]",internalType:"struct IAdapter.TokenRecipient[]",components:[{name:"token",type:"address",internalType:"address"},{name:"beneficiary",type:"address",internalType:"address"}]},{name:"execId",type:"uint256",internalType:"uint256"},{name:"deadline",type:"uint256",internalType:"uint256"},{name:"metadata",type:"bytes",internalType:"bytes"}]},{name:"tokenInputs",type:"tuple[]",internalType:"struct IAdapter.TokenInput[]",components:[{name:"permitType",type:"uint8",internalType:"enum IAdapter.PermitType"},{name:"token",type:"address",internalType:"address"},{name:"amount",type:"uint256",internalType:"uint256"},{name:"permitCalldata",type:"bytes",internalType:"bytes"}]},{name:"signature",type:"bytes",internalType:"bytes"}],outputs:[],stateMutability:"payable"}],Ng=[{constant:!0,inputs:[],name:"name",outputs:[{name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_spender",type:"address"},{name:"_value",type:"uint256"}],name:"approve",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"totalSupply",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_from",type:"address"},{name:"_to",type:"address"},{name:"_value",type:"uint256"}],name:"transferFrom",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"decimals",outputs:[{name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"_owner",type:"address"}],name:"balanceOf",outputs:[{name:"balance",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"symbol",outputs:[{name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_to",type:"address"},{name:"_value",type:"uint256"}],name:"transfer",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{name:"_owner",type:"address"},{name:"_spender",type:"address"}],name:"allowance",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{payable:!0,stateMutability:"payable",type:"fallback"},{anonymous:!1,inputs:[{indexed:!0,name:"owner",type:"address"},{indexed:!0,name:"spender",type:"address"},{indexed:!1,name:"value",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!0,name:"from",type:"address"},{indexed:!0,name:"to",type:"address"},{indexed:!1,name:"value",type:"uint256"}],name:"Transfer",type:"event"}],$Y=[{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"spender",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"authorizer",type:"address"},{indexed:!0,internalType:"bytes32",name:"nonce",type:"bytes32"}],name:"AuthorizationCanceled",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"authorizer",type:"address"},{indexed:!0,internalType:"bytes32",name:"nonce",type:"bytes32"}],name:"AuthorizationUsed",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"_account",type:"address"}],name:"Blacklisted",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"newBlacklister",type:"address"}],name:"BlacklisterChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"burner",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"Burn",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"newMasterMinter",type:"address"}],name:"MasterMinterChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"minter",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"Mint",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"minter",type:"address"},{indexed:!1,internalType:"uint256",name:"minterAllowedAmount",type:"uint256"}],name:"MinterConfigured",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"oldMinter",type:"address"}],name:"MinterRemoved",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"previousOwner",type:"address"},{indexed:!1,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[],name:"Pause",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"newAddress",type:"address"}],name:"PauserChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"newRescuer",type:"address"}],name:"RescuerChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Transfer",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"_account",type:"address"}],name:"UnBlacklisted",type:"event"},{anonymous:!1,inputs:[],name:"Unpause",type:"event"},{inputs:[],name:"CANCEL_AUTHORIZATION_TYPEHASH",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"DOMAIN_SEPARATOR",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"PERMIT_TYPEHASH",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"RECEIVE_WITH_AUTHORIZATION_TYPEHASH",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"TRANSFER_WITH_AUTHORIZATION_TYPEHASH",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"spender",type:"address"}],name:"allowance",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"value",type:"uint256"}],name:"approve",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"authorizer",type:"address"},{internalType:"bytes32",name:"nonce",type:"bytes32"}],name:"authorizationState",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_account",type:"address"}],name:"blacklist",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"blacklister",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_amount",type:"uint256"}],name:"burn",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"authorizer",type:"address"},{internalType:"bytes32",name:"nonce",type:"bytes32"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"cancelAuthorization",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"minter",type:"address"},{internalType:"uint256",name:"minterAllowedAmount",type:"uint256"}],name:"configureMinter",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"currency",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[],name:"decimals",outputs:[{internalType:"uint8",name:"",type:"uint8"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"decrement",type:"uint256"}],name:"decreaseAllowance",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"increment",type:"uint256"}],name:"increaseAllowance",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"string",name:"tokenName",type:"string"},{internalType:"string",name:"tokenSymbol",type:"string"},{internalType:"string",name:"tokenCurrency",type:"string"},{internalType:"uint8",name:"tokenDecimals",type:"uint8"},{internalType:"address",name:"newMasterMinter",type:"address"},{internalType:"address",name:"newPauser",type:"address"},{internalType:"address",name:"newBlacklister",type:"address"},{internalType:"address",name:"newOwner",type:"address"}],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"string",name:"newName",type:"string"}],name:"initializeV2",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"lostAndFound",type:"address"}],name:"initializeV2_1",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_account",type:"address"}],name:"isBlacklisted",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"isMinter",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"masterMinter",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_to",type:"address"},{internalType:"uint256",name:"_amount",type:"uint256"}],name:"mint",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"minter",type:"address"}],name:"minterAllowance",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"}],name:"nonces",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"pause",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"paused",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"pauser",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"permit",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"uint256",name:"validAfter",type:"uint256"},{internalType:"uint256",name:"validBefore",type:"uint256"},{internalType:"bytes32",name:"nonce",type:"bytes32"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"receiveWithAuthorization",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"minter",type:"address"}],name:"removeMinter",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract IERC20",name:"tokenContract",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"rescueERC20",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"rescuer",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"symbol",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[],name:"totalSupply",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"value",type:"uint256"}],name:"transfer",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"value",type:"uint256"}],name:"transferFrom",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"uint256",name:"validAfter",type:"uint256"},{internalType:"uint256",name:"validBefore",type:"uint256"},{internalType:"bytes32",name:"nonce",type:"bytes32"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"transferWithAuthorization",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_account",type:"address"}],name:"unBlacklist",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"unpause",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_newBlacklister",type:"address"}],name:"updateBlacklister",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_newMasterMinter",type:"address"}],name:"updateMasterMinter",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_newPauser",type:"address"}],name:"updatePauser",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newRescuer",type:"address"}],name:"updateRescuer",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"version",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"}],cTe=[{type:"constructor",inputs:[{name:"_localDomain",type:"uint32",internalType:"uint32"},{name:"_version",type:"uint32",internalType:"uint32"}],stateMutability:"nonpayable"},{type:"function",name:"NONCE_USED",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{type:"function",name:"acceptOwnership",inputs:[],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"attesterManager",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{type:"function",name:"disableAttester",inputs:[{name:"attester",type:"address",internalType:"address"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"enableAttester",inputs:[{name:"newAttester",type:"address",internalType:"address"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"getEnabledAttester",inputs:[{name:"index",type:"uint256",internalType:"uint256"}],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{type:"function",name:"getNumEnabledAttesters",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{type:"function",name:"initialize",inputs:[{name:"owner_",type:"address",internalType:"address"},{name:"pauser_",type:"address",internalType:"address"},{name:"rescuer_",type:"address",internalType:"address"},{name:"attesterManager_",type:"address",internalType:"address"},{name:"attesters_",type:"address[]",internalType:"address[]"},{name:"signatureThreshold_",type:"uint256",internalType:"uint256"},{name:"maxMessageBodySize_",type:"uint256",internalType:"uint256"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"initializedVersion",inputs:[],outputs:[{name:"",type:"uint64",internalType:"uint64"}],stateMutability:"view"},{type:"function",name:"isEnabledAttester",inputs:[{name:"attester",type:"address",internalType:"address"}],outputs:[{name:"",type:"bool",internalType:"bool"}],stateMutability:"view"},{type:"function",name:"localDomain",inputs:[],outputs:[{name:"",type:"uint32",internalType:"uint32"}],stateMutability:"view"},{type:"function",name:"maxMessageBodySize",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{type:"function",name:"owner",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{type:"function",name:"pause",inputs:[],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"paused",inputs:[],outputs:[{name:"",type:"bool",internalType:"bool"}],stateMutability:"view"},{type:"function",name:"pauser",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{type:"function",name:"pendingOwner",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{type:"function",name:"receiveMessage",inputs:[{name:"message",type:"bytes",internalType:"bytes"},{name:"attestation",type:"bytes",internalType:"bytes"}],outputs:[{name:"success",type:"bool",internalType:"bool"}],stateMutability:"nonpayable"},{type:"function",name:"rescueERC20",inputs:[{name:"tokenContract",type:"address",internalType:"contract IERC20"},{name:"to",type:"address",internalType:"address"},{name:"amount",type:"uint256",internalType:"uint256"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"rescuer",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{type:"function",name:"sendMessage",inputs:[{name:"destinationDomain",type:"uint32",internalType:"uint32"},{name:"recipient",type:"bytes32",internalType:"bytes32"},{name:"destinationCaller",type:"bytes32",internalType:"bytes32"},{name:"minFinalityThreshold",type:"uint32",internalType:"uint32"},{name:"messageBody",type:"bytes",internalType:"bytes"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"setMaxMessageBodySize",inputs:[{name:"newMaxMessageBodySize",type:"uint256",internalType:"uint256"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"setSignatureThreshold",inputs:[{name:"newSignatureThreshold",type:"uint256",internalType:"uint256"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"signatureThreshold",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{type:"function",name:"transferOwnership",inputs:[{name:"newOwner",type:"address",internalType:"address"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"unpause",inputs:[],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"updateAttesterManager",inputs:[{name:"newAttesterManager",type:"address",internalType:"address"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"updatePauser",inputs:[{name:"_newPauser",type:"address",internalType:"address"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"updateRescuer",inputs:[{name:"newRescuer",type:"address",internalType:"address"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"usedNonces",inputs:[{name:"",type:"bytes32",internalType:"bytes32"}],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{type:"function",name:"version",inputs:[],outputs:[{name:"",type:"uint32",internalType:"uint32"}],stateMutability:"view"},{type:"event",name:"AttesterDisabled",inputs:[{name:"attester",type:"address",indexed:!0,internalType:"address"}],anonymous:!1},{type:"event",name:"AttesterEnabled",inputs:[{name:"attester",type:"address",indexed:!0,internalType:"address"}],anonymous:!1},{type:"event",name:"AttesterManagerUpdated",inputs:[{name:"previousAttesterManager",type:"address",indexed:!0,internalType:"address"},{name:"newAttesterManager",type:"address",indexed:!0,internalType:"address"}],anonymous:!1},{type:"event",name:"Initialized",inputs:[{name:"version",type:"uint64",indexed:!1,internalType:"uint64"}],anonymous:!1},{type:"event",name:"MaxMessageBodySizeUpdated",inputs:[{name:"newMaxMessageBodySize",type:"uint256",indexed:!1,internalType:"uint256"}],anonymous:!1},{type:"event",name:"MessageReceived",inputs:[{name:"caller",type:"address",indexed:!0,internalType:"address"},{name:"sourceDomain",type:"uint32",indexed:!1,internalType:"uint32"},{name:"nonce",type:"bytes32",indexed:!0,internalType:"bytes32"},{name:"sender",type:"bytes32",indexed:!1,internalType:"bytes32"},{name:"finalityThresholdExecuted",type:"uint32",indexed:!0,internalType:"uint32"},{name:"messageBody",type:"bytes",indexed:!1,internalType:"bytes"}],anonymous:!1},{type:"event",name:"MessageSent",inputs:[{name:"message",type:"bytes",indexed:!1,internalType:"bytes"}],anonymous:!1},{type:"event",name:"OwnershipTransferStarted",inputs:[{name:"previousOwner",type:"address",indexed:!0,internalType:"address"},{name:"newOwner",type:"address",indexed:!0,internalType:"address"}],anonymous:!1},{type:"event",name:"OwnershipTransferred",inputs:[{name:"previousOwner",type:"address",indexed:!0,internalType:"address"},{name:"newOwner",type:"address",indexed:!0,internalType:"address"}],anonymous:!1},{type:"event",name:"Pause",inputs:[],anonymous:!1},{type:"event",name:"PauserChanged",inputs:[{name:"newAddress",type:"address",indexed:!0,internalType:"address"}],anonymous:!1},{type:"event",name:"RescuerChanged",inputs:[{name:"newRescuer",type:"address",indexed:!0,internalType:"address"}],anonymous:!1},{type:"event",name:"SignatureThresholdUpdated",inputs:[{name:"oldSignatureThreshold",type:"uint256",indexed:!1,internalType:"uint256"},{name:"newSignatureThreshold",type:"uint256",indexed:!1,internalType:"uint256"}],anonymous:!1},{type:"event",name:"Unpause",inputs:[],anonymous:!1}],uTe=[{type:"constructor",inputs:[{name:"_messageTransmitter",type:"address",internalType:"address"},{name:"_messageBodyVersion",type:"uint32",internalType:"uint32"}],stateMutability:"nonpayable"},{type:"function",name:"acceptOwnership",inputs:[],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"addLocalMinter",inputs:[{name:"newLocalMinter",type:"address",internalType:"address"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"addRemoteTokenMessenger",inputs:[{name:"domain",type:"uint32",internalType:"uint32"},{name:"tokenMessenger",type:"bytes32",internalType:"bytes32"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"denylist",inputs:[{name:"account",type:"address",internalType:"address"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"denylister",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{type:"function",name:"depositForBurn",inputs:[{name:"amount",type:"uint256",internalType:"uint256"},{name:"destinationDomain",type:"uint32",internalType:"uint32"},{name:"mintRecipient",type:"bytes32",internalType:"bytes32"},{name:"burnToken",type:"address",internalType:"address"},{name:"destinationCaller",type:"bytes32",internalType:"bytes32"},{name:"maxFee",type:"uint256",internalType:"uint256"},{name:"minFinalityThreshold",type:"uint32",internalType:"uint32"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"depositForBurnWithHook",inputs:[{name:"amount",type:"uint256",internalType:"uint256"},{name:"destinationDomain",type:"uint32",internalType:"uint32"},{name:"mintRecipient",type:"bytes32",internalType:"bytes32"},{name:"burnToken",type:"address",internalType:"address"},{name:"destinationCaller",type:"bytes32",internalType:"bytes32"},{name:"maxFee",type:"uint256",internalType:"uint256"},{name:"minFinalityThreshold",type:"uint32",internalType:"uint32"},{name:"hookData",type:"bytes",internalType:"bytes"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"feeRecipient",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{type:"function",name:"handleReceiveFinalizedMessage",inputs:[{name:"remoteDomain",type:"uint32",internalType:"uint32"},{name:"sender",type:"bytes32",internalType:"bytes32"},{name:"",type:"uint32",internalType:"uint32"},{name:"messageBody",type:"bytes",internalType:"bytes"}],outputs:[{name:"",type:"bool",internalType:"bool"}],stateMutability:"nonpayable"},{type:"function",name:"handleReceiveUnfinalizedMessage",inputs:[{name:"remoteDomain",type:"uint32",internalType:"uint32"},{name:"sender",type:"bytes32",internalType:"bytes32"},{name:"finalityThresholdExecuted",type:"uint32",internalType:"uint32"},{name:"messageBody",type:"bytes",internalType:"bytes"}],outputs:[{name:"",type:"bool",internalType:"bool"}],stateMutability:"nonpayable"},{type:"function",name:"initialize",inputs:[{name:"owner_",type:"address",internalType:"address"},{name:"rescuer_",type:"address",internalType:"address"},{name:"feeRecipient_",type:"address",internalType:"address"},{name:"denylister_",type:"address",internalType:"address"},{name:"tokenMinter_",type:"address",internalType:"address"},{name:"remoteDomains_",type:"uint32[]",internalType:"uint32[]"},{name:"remoteTokenMessengers_",type:"bytes32[]",internalType:"bytes32[]"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"initializedVersion",inputs:[],outputs:[{name:"",type:"uint64",internalType:"uint64"}],stateMutability:"view"},{type:"function",name:"isDenylisted",inputs:[{name:"account",type:"address",internalType:"address"}],outputs:[{name:"",type:"bool",internalType:"bool"}],stateMutability:"view"},{type:"function",name:"localMessageTransmitter",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{type:"function",name:"localMinter",inputs:[],outputs:[{name:"",type:"address",internalType:"contract ITokenMinterV2"}],stateMutability:"view"},{type:"function",name:"messageBodyVersion",inputs:[],outputs:[{name:"",type:"uint32",internalType:"uint32"}],stateMutability:"view"},{type:"function",name:"owner",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{type:"function",name:"pendingOwner",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{type:"function",name:"remoteTokenMessengers",inputs:[{name:"",type:"uint32",internalType:"uint32"}],outputs:[{name:"",type:"bytes32",internalType:"bytes32"}],stateMutability:"view"},{type:"function",name:"removeLocalMinter",inputs:[],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"removeRemoteTokenMessenger",inputs:[{name:"domain",type:"uint32",internalType:"uint32"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"rescueERC20",inputs:[{name:"tokenContract",type:"address",internalType:"contract IERC20"},{name:"to",type:"address",internalType:"address"},{name:"amount",type:"uint256",internalType:"uint256"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"rescuer",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{type:"function",name:"setFeeRecipient",inputs:[{name:"_feeRecipient",type:"address",internalType:"address"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"transferOwnership",inputs:[{name:"newOwner",type:"address",internalType:"address"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"unDenylist",inputs:[{name:"account",type:"address",internalType:"address"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"updateDenylister",inputs:[{name:"newDenylister",type:"address",internalType:"address"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"updateRescuer",inputs:[{name:"newRescuer",type:"address",internalType:"address"}],outputs:[],stateMutability:"nonpayable"},{type:"event",name:"Denylisted",inputs:[{name:"account",type:"address",indexed:!0,internalType:"address"}],anonymous:!1},{type:"event",name:"DenylisterChanged",inputs:[{name:"oldDenylister",type:"address",indexed:!0,internalType:"address"},{name:"newDenylister",type:"address",indexed:!0,internalType:"address"}],anonymous:!1},{type:"event",name:"DepositForBurn",inputs:[{name:"burnToken",type:"address",indexed:!0,internalType:"address"},{name:"amount",type:"uint256",indexed:!1,internalType:"uint256"},{name:"depositor",type:"address",indexed:!0,internalType:"address"},{name:"mintRecipient",type:"bytes32",indexed:!1,internalType:"bytes32"},{name:"destinationDomain",type:"uint32",indexed:!1,internalType:"uint32"},{name:"destinationTokenMessenger",type:"bytes32",indexed:!1,internalType:"bytes32"},{name:"destinationCaller",type:"bytes32",indexed:!1,internalType:"bytes32"},{name:"maxFee",type:"uint256",indexed:!1,internalType:"uint256"},{name:"minFinalityThreshold",type:"uint32",indexed:!0,internalType:"uint32"},{name:"hookData",type:"bytes",indexed:!1,internalType:"bytes"}],anonymous:!1},{type:"event",name:"FeeRecipientSet",inputs:[{name:"feeRecipient",type:"address",indexed:!1,internalType:"address"}],anonymous:!1},{type:"event",name:"Initialized",inputs:[{name:"version",type:"uint64",indexed:!1,internalType:"uint64"}],anonymous:!1},{type:"event",name:"LocalMinterAdded",inputs:[{name:"localMinter",type:"address",indexed:!1,internalType:"address"}],anonymous:!1},{type:"event",name:"LocalMinterRemoved",inputs:[{name:"localMinter",type:"address",indexed:!1,internalType:"address"}],anonymous:!1},{type:"event",name:"MintAndWithdraw",inputs:[{name:"mintRecipient",type:"address",indexed:!0,internalType:"address"},{name:"amount",type:"uint256",indexed:!1,internalType:"uint256"},{name:"mintToken",type:"address",indexed:!0,internalType:"address"},{name:"feeCollected",type:"uint256",indexed:!1,internalType:"uint256"}],anonymous:!1},{type:"event",name:"OwnershipTransferStarted",inputs:[{name:"previousOwner",type:"address",indexed:!0,internalType:"address"},{name:"newOwner",type:"address",indexed:!0,internalType:"address"}],anonymous:!1},{type:"event",name:"OwnershipTransferred",inputs:[{name:"previousOwner",type:"address",indexed:!0,internalType:"address"},{name:"newOwner",type:"address",indexed:!0,internalType:"address"}],anonymous:!1},{type:"event",name:"RemoteTokenMessengerAdded",inputs:[{name:"domain",type:"uint32",indexed:!1,internalType:"uint32"},{name:"tokenMessenger",type:"bytes32",indexed:!1,internalType:"bytes32"}],anonymous:!1},{type:"event",name:"RemoteTokenMessengerRemoved",inputs:[{name:"domain",type:"uint32",indexed:!1,internalType:"uint32"},{name:"tokenMessenger",type:"bytes32",indexed:!1,internalType:"bytes32"}],anonymous:!1},{type:"event",name:"RescuerChanged",inputs:[{name:"newRescuer",type:"address",indexed:!0,internalType:"address"}],anonymous:!1},{type:"event",name:"UnDenylisted",inputs:[{name:"account",type:"address",indexed:!0,internalType:"address"}],anonymous:!1}],fY=[{type:"function",name:"depositForBurnWithFees",inputs:[{name:"amount",type:"uint256",internalType:"uint256"},{name:"destinationDomain",type:"uint32",internalType:"uint32"},{name:"mintRecipient",type:"bytes32",internalType:"bytes32"},{name:"burnToken",type:"address",internalType:"address"},{name:"destinationCaller",type:"bytes32",internalType:"bytes32"},{name:"claim",type:"tuple",internalType:"struct IFeeManager.QuoteClaim",components:[{name:"signedQuote",type:"bytes",internalType:"bytes"},{name:"refundAddress",type:"address",internalType:"address"}]}],outputs:[],stateMutability:"payable"},{type:"function",name:"depositForBurnWithHookAndFees",inputs:[{name:"amount",type:"uint256",internalType:"uint256"},{name:"destinationDomain",type:"uint32",internalType:"uint32"},{name:"mintRecipient",type:"bytes32",internalType:"bytes32"},{name:"burnToken",type:"address",internalType:"address"},{name:"destinationCaller",type:"bytes32",internalType:"bytes32"},{name:"hookData",type:"bytes",internalType:"bytes"},{name:"claim",type:"tuple",internalType:"struct IFeeManager.QuoteClaim",components:[{name:"signedQuote",type:"bytes",internalType:"bytes"},{name:"refundAddress",type:"address",internalType:"address"}]}],outputs:[],stateMutability:"payable"},{type:"function",name:"tokenMessenger",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{type:"function",name:"feeManager",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{type:"error",name:"InvalidQuoteSigner",inputs:[{name:"signer",type:"address",internalType:"address"}]},{type:"error",name:"IncorrectNativePayment",inputs:[]},{type:"error",name:"ForwardFeeWithoutHook",inputs:[]},{type:"error",name:"ForwardHookWithoutFee",inputs:[]},{type:"error",name:"QuoteArgsMismatch",inputs:[]}],dTe=[{type:"function",name:"bridgeWithPermit",inputs:[{name:"bridgeParams",type:"tuple",internalType:"struct BridgingKitContract.BridgeParams",components:[{name:"amount",type:"uint256",internalType:"uint256"},{name:"maxFee",type:"uint256",internalType:"uint256"},{name:"fee",type:"uint256",internalType:"uint256"},{name:"mintRecipient",type:"bytes32",internalType:"bytes32"},{name:"destinationCaller",type:"bytes32",internalType:"bytes32"},{name:"burnToken",type:"address",internalType:"address"},{name:"feeRecipient",type:"address",internalType:"address"},{name:"destinationDomain",type:"uint32",internalType:"uint32"},{name:"minFinalityThreshold",type:"uint32",internalType:"uint32"}]},{name:"permitParams",type:"tuple",internalType:"struct BridgingKitContract.PermitParams",components:[{name:"deadline",type:"uint256",internalType:"uint256"},{name:"v",type:"uint8",internalType:"uint8"},{name:"r",type:"bytes32",internalType:"bytes32"},{name:"s",type:"bytes32",internalType:"bytes32"}]}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"bridgeWithPermitAndHook",inputs:[{name:"bridgeParams",type:"tuple",internalType:"struct BridgingKitContract.BridgeParams",components:[{name:"amount",type:"uint256",internalType:"uint256"},{name:"maxFee",type:"uint256",internalType:"uint256"},{name:"fee",type:"uint256",internalType:"uint256"},{name:"mintRecipient",type:"bytes32",internalType:"bytes32"},{name:"destinationCaller",type:"bytes32",internalType:"bytes32"},{name:"burnToken",type:"address",internalType:"address"},{name:"feeRecipient",type:"address",internalType:"address"},{name:"destinationDomain",type:"uint32",internalType:"uint32"},{name:"minFinalityThreshold",type:"uint32",internalType:"uint32"}]},{name:"permitParams",type:"tuple",internalType:"struct BridgingKitContract.PermitParams",components:[{name:"deadline",type:"uint256",internalType:"uint256"},{name:"v",type:"uint8",internalType:"uint8"},{name:"r",type:"bytes32",internalType:"bytes32"},{name:"s",type:"bytes32",internalType:"bytes32"}]},{name:"hookData",type:"bytes",internalType:"bytes"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"bridgeWithPreapproval",inputs:[{name:"bridgeParams",type:"tuple",internalType:"struct BridgingKitContract.BridgeParams",components:[{name:"amount",type:"uint256",internalType:"uint256"},{name:"maxFee",type:"uint256",internalType:"uint256"},{name:"fee",type:"uint256",internalType:"uint256"},{name:"mintRecipient",type:"bytes32",internalType:"bytes32"},{name:"destinationCaller",type:"bytes32",internalType:"bytes32"},{name:"burnToken",type:"address",internalType:"address"},{name:"feeRecipient",type:"address",internalType:"address"},{name:"destinationDomain",type:"uint32",internalType:"uint32"},{name:"minFinalityThreshold",type:"uint32",internalType:"uint32"}]}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"bridgeWithPreapprovalAndHook",inputs:[{name:"bridgeParams",type:"tuple",internalType:"struct BridgingKitContract.BridgeParams",components:[{name:"amount",type:"uint256",internalType:"uint256"},{name:"maxFee",type:"uint256",internalType:"uint256"},{name:"fee",type:"uint256",internalType:"uint256"},{name:"mintRecipient",type:"bytes32",internalType:"bytes32"},{name:"destinationCaller",type:"bytes32",internalType:"bytes32"},{name:"burnToken",type:"address",internalType:"address"},{name:"feeRecipient",type:"address",internalType:"address"},{name:"destinationDomain",type:"uint32",internalType:"uint32"},{name:"minFinalityThreshold",type:"uint32",internalType:"uint32"}]},{name:"hookData",type:"bytes",internalType:"bytes"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"calculateFeeShares",inputs:[{name:"fee",type:"uint256",internalType:"uint256"}],outputs:[{name:"developerShare",type:"uint256",internalType:"uint256"},{name:"protocolShare",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{type:"function",name:"getProtocolFee",inputs:[{name:"fee",type:"uint256",internalType:"uint256"}],outputs:[{name:"protocolFee",type:"uint256",internalType:"uint256"}],stateMutability:"view"}],lTe=[{type:"function",name:"crossChainTransfer",inputs:[{name:"tokenId",type:"bytes32",internalType:"bytes32"},{name:"amount",type:"uint256",internalType:"uint256"},{name:"destinationDomain",type:"uint32",internalType:"uint32"},{name:"destinationAddress",type:"bytes",internalType:"bytes"},{name:"destinationCaller",type:"bytes32",internalType:"bytes32"},{name:"minFinalityThreshold",type:"uint32",internalType:"uint32"},{name:"claim",type:"tuple",internalType:"struct IFeeManager.QuoteClaim",components:[{name:"signedQuote",type:"bytes",internalType:"bytes"},{name:"refundAddress",type:"address",internalType:"address payable"}]},{name:"autoExecuteHookData",type:"bool",internalType:"bool"},{name:"hookData",type:"bytes",internalType:"bytes"}],outputs:[],stateMutability:"payable"},{type:"function",name:"resolveTokenManager",inputs:[{name:"tokenId",type:"bytes32",internalType:"bytes32"}],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{type:"event",name:"CrossChainTransfer",inputs:[{name:"tokenId",type:"bytes32",indexed:!0,internalType:"bytes32"},{name:"sourceAddress",type:"address",indexed:!0,internalType:"address"},{name:"destinationDomain",type:"uint32",indexed:!0,internalType:"uint32"},{name:"destinationAddress",type:"bytes",indexed:!1,internalType:"bytes"},{name:"amount",type:"uint256",indexed:!1,internalType:"uint256"},{name:"autoExecuteHookData",type:"bool",indexed:!1,internalType:"bool"},{name:"hookDataHash",type:"bytes32",indexed:!1,internalType:"bytes32"}],anonymous:!1}],gi=[{inputs:[],stateMutability:"nonpayable",type:"constructor"},{inputs:[{internalType:"address",name:"addr",type:"address"}],name:"AccountDenylisted",type:"error"},{inputs:[{internalType:"address",name:"target",type:"address"}],name:"AddressEmptyCode",type:"error"},{inputs:[{internalType:"uint32",name:"index",type:"uint32"},{internalType:"uint256",name:"maxFee",type:"uint256"},{internalType:"uint256",name:"actualFee",type:"uint256"}],name:"BurnFeeTooHighAtIndex",type:"error"},{inputs:[],name:"CannotDelegateToSelf",type:"error"},{inputs:[],name:"CursorOutOfBounds",type:"error"},{inputs:[],name:"DepositValueMustBePositive",type:"error"},{inputs:[{internalType:"address",name:"depositor",type:"address"}],name:"DepositorIsBlacklisted",type:"error"},{inputs:[],name:"ECDSAInvalidSignature",type:"error"},{inputs:[{internalType:"uint256",name:"length",type:"uint256"}],name:"ECDSAInvalidSignatureLength",type:"error"},{inputs:[{internalType:"bytes32",name:"s",type:"bytes32"}],name:"ECDSAInvalidSignatureS",type:"error"},{inputs:[{internalType:"address",name:"implementation",type:"address"}],name:"ERC1967InvalidImplementation",type:"error"},{inputs:[],name:"ERC1967NonPayable",type:"error"},{inputs:[],name:"EnforcedPause",type:"error"},{inputs:[],name:"ExpectedPause",type:"error"},{inputs:[],name:"FailedCall",type:"error"},{inputs:[],name:"InputArrayLengthMismatch",type:"error"},{inputs:[{internalType:"uint32",name:"index",type:"uint32"},{internalType:"uint256",name:"maxBlockHeight",type:"uint256"},{internalType:"uint256",name:"currentBlock",type:"uint256"}],name:"IntentExpiredAtIndex",type:"error"},{inputs:[{internalType:"uint32",name:"index",type:"uint32"}],name:"IntentValueMustBePositiveAtIndex",type:"error"},{inputs:[],name:"InvalidAddress",type:"error"},{inputs:[],name:"InvalidBurnSigner",type:"error"},{inputs:[],name:"InvalidInitialization",type:"error"},{inputs:[{internalType:"uint32",name:"index",type:"uint32"},{internalType:"address",name:"intentContract",type:"address"},{internalType:"address",name:"expectedContract",type:"address"}],name:"InvalidIntentSourceContractAtIndex",type:"error"},{inputs:[{internalType:"uint32",name:"index",type:"uint32"},{internalType:"address",name:"intentSigner",type:"address"},{internalType:"address",name:"actualSigner",type:"address"}],name:"InvalidIntentSourceSignerAtIndex",type:"error"},{inputs:[{internalType:"bytes4",name:"actualMagic",type:"bytes4"}],name:"InvalidTransferPayloadMagic",type:"error"},{inputs:[{internalType:"bytes4",name:"actualMagic",type:"bytes4"}],name:"InvalidTransferSpecMagic",type:"error"},{inputs:[{internalType:"uint32",name:"actualVersion",type:"uint32"}],name:"InvalidTransferSpecVersion",type:"error"},{inputs:[],name:"MismatchedBurn",type:"error"},{inputs:[],name:"MustHaveAtLeastOneBurnIntent",type:"error"},{inputs:[],name:"NoRelevantBurnIntents",type:"error"},{inputs:[],name:"NoWithdrawingBalance",type:"error"},{inputs:[],name:"NotAllSameToken",type:"error"},{inputs:[],name:"NotAuthorized",type:"error"},{inputs:[],name:"NotInitializing",type:"error"},{inputs:[{internalType:"address",name:"owner",type:"address"}],name:"OwnableInvalidOwner",type:"error"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"OwnableUnauthorizedAccount",type:"error"},{inputs:[{internalType:"address",name:"token",type:"address"}],name:"SafeERC20FailedOperation",type:"error"},{inputs:[{internalType:"uint256",name:"expectedMinimumLength",type:"uint256"},{internalType:"uint256",name:"actualLength",type:"uint256"}],name:"TransferPayloadDataTooShort",type:"error"},{inputs:[{internalType:"uint256",name:"expectedMinimumLength",type:"uint256"},{internalType:"uint256",name:"actualLength",type:"uint256"}],name:"TransferPayloadHeaderTooShort",type:"error"},{inputs:[{internalType:"uint256",name:"expectedTotalLength",type:"uint256"},{internalType:"uint256",name:"actualTotalLength",type:"uint256"}],name:"TransferPayloadOverallLengthMismatch",type:"error"},{inputs:[{internalType:"uint32",name:"index",type:"uint32"},{internalType:"uint256",name:"actualSetLength",type:"uint256"},{internalType:"uint256",name:"requiredOffset",type:"uint256"}],name:"TransferPayloadSetElementHeaderTooShort",type:"error"},{inputs:[{internalType:"uint32",name:"index",type:"uint32"},{internalType:"uint256",name:"actualSetLength",type:"uint256"},{internalType:"uint256",name:"requiredOffset",type:"uint256"}],name:"TransferPayloadSetElementTooShort",type:"error"},{inputs:[{internalType:"uint256",name:"expectedMinimumLength",type:"uint256"},{internalType:"uint256",name:"actualLength",type:"uint256"}],name:"TransferPayloadSetHeaderTooShort",type:"error"},{inputs:[{internalType:"uint32",name:"index",type:"uint32"},{internalType:"bytes4",name:"actualMagic",type:"bytes4"}],name:"TransferPayloadSetInvalidElementMagic",type:"error"},{inputs:[{internalType:"uint256",name:"expectedTotalLength",type:"uint256"},{internalType:"uint256",name:"actualTotalLength",type:"uint256"}],name:"TransferPayloadSetOverallLengthMismatch",type:"error"},{inputs:[{internalType:"bytes32",name:"transferSpecHash",type:"bytes32"}],name:"TransferSpecHashUsed",type:"error"},{inputs:[{internalType:"uint256",name:"expectedMinimumLength",type:"uint256"},{internalType:"uint256",name:"actualLength",type:"uint256"}],name:"TransferSpecHeaderTooShort",type:"error"},{inputs:[{internalType:"uint256",name:"expectedHookDataLength",type:"uint256"},{internalType:"uint256",name:"transferSpecLength",type:"uint256"}],name:"TransferSpecInvalidHookData",type:"error"},{inputs:[{internalType:"uint256",name:"expectedTotalLength",type:"uint256"},{internalType:"uint256",name:"actualTotalLength",type:"uint256"}],name:"TransferSpecOverallLengthMismatch",type:"error"},{inputs:[],name:"UUPSUnauthorizedCallContext",type:"error"},{inputs:[{internalType:"bytes32",name:"slot",type:"bytes32"}],name:"UUPSUnsupportedProxiableUUID",type:"error"},{inputs:[{internalType:"address",name:"addr",type:"address"}],name:"UnauthorizedDenylister",type:"error"},{inputs:[{internalType:"address",name:"caller",type:"address"}],name:"UnauthorizedPauser",type:"error"},{inputs:[{internalType:"address",name:"token",type:"address"}],name:"UnsupportedToken",type:"error"},{inputs:[{internalType:"uint32",name:"index",type:"uint32"},{internalType:"address",name:"sourceToken",type:"address"}],name:"UnsupportedTokenAtIndex",type:"error"},{inputs:[],name:"WithdrawalNotYetAvailable",type:"error"},{inputs:[],name:"WithdrawalValueExceedsAvailableBalance",type:"error"},{inputs:[],name:"WithdrawalValueMustBePositive",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"signer",type:"address"}],name:"BurnSignerAdded",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"signer",type:"address"}],name:"BurnSignerRemoved",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"token",type:"address"},{indexed:!0,internalType:"address",name:"depositor",type:"address"},{indexed:!1,internalType:"address",name:"delegate",type:"address"}],name:"DelegateAdded",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"token",type:"address"},{indexed:!0,internalType:"address",name:"depositor",type:"address"},{indexed:!1,internalType:"address",name:"delegate",type:"address"}],name:"DelegateRemoved",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"addr",type:"address"}],name:"Denylisted",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"oldDenylister",type:"address"},{indexed:!0,internalType:"address",name:"newDenylister",type:"address"}],name:"DenylisterChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"token",type:"address"},{indexed:!0,internalType:"address",name:"depositor",type:"address"},{indexed:!0,internalType:"address",name:"sender",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Deposited",type:"event"},{anonymous:!1,inputs:[],name:"EIP712DomainChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"oldFeeRecipient",type:"address"},{indexed:!0,internalType:"address",name:"newFeeRecipient",type:"address"}],name:"FeeRecipientChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"token",type:"address"},{indexed:!0,internalType:"address",name:"depositor",type:"address"},{indexed:!0,internalType:"bytes32",name:"transferSpecHash",type:"bytes32"},{indexed:!1,internalType:"uint32",name:"destinationDomain",type:"uint32"},{indexed:!1,internalType:"bytes32",name:"destinationRecipient",type:"bytes32"},{indexed:!1,internalType:"address",name:"signer",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"},{indexed:!1,internalType:"uint256",name:"fee",type:"uint256"},{indexed:!1,internalType:"uint256",name:"fromAvailable",type:"uint256"},{indexed:!1,internalType:"uint256",name:"fromWithdrawing",type:"uint256"}],name:"GatewayBurned",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint64",name:"version",type:"uint64"}],name:"Initialized",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"token",type:"address"},{indexed:!0,internalType:"address",name:"depositor",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"},{indexed:!1,internalType:"uint256",name:"availableBalance",type:"uint256"},{indexed:!1,internalType:"uint256",name:"withdrawingBalance",type:"uint256"}],name:"InsufficientBalance",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferStarted",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"account",type:"address"}],name:"Paused",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"oldPauser",type:"address"},{indexed:!0,internalType:"address",name:"newPauser",type:"address"}],name:"PauserChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"token",type:"address"}],name:"TokenSupported",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"addr",type:"address"}],name:"UnDenylisted",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"account",type:"address"}],name:"Unpaused",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"implementation",type:"address"}],name:"Upgraded",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"token",type:"address"},{indexed:!0,internalType:"address",name:"depositor",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"WithdrawalCompleted",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"uint256",name:"oldDelay",type:"uint256"},{indexed:!0,internalType:"uint256",name:"newDelay",type:"uint256"}],name:"WithdrawalDelayChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"token",type:"address"},{indexed:!0,internalType:"address",name:"depositor",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"},{indexed:!1,internalType:"uint256",name:"remainingAvailable",type:"uint256"},{indexed:!1,internalType:"uint256",name:"totalWithdrawing",type:"uint256"},{indexed:!1,internalType:"uint256",name:"withdrawalBlock",type:"uint256"}],name:"WithdrawalInitiated",type:"event"},{inputs:[],name:"EIP712_DOMAIN_TYPE_HASH",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"UPGRADE_INTERFACE_VERSION",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[],name:"acceptOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"signer",type:"address"}],name:"addBurnSigner",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"address",name:"delegate",type:"address"}],name:"addDelegate",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"}],name:"addSupportedToken",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"address",name:"depositor",type:"address"}],name:"availableBalance",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"depositor",type:"address"},{internalType:"uint256",name:"id",type:"uint256"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"balance",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address[]",name:"depositors",type:"address[]"},{internalType:"uint256[]",name:"ids",type:"uint256[]"}],name:"balanceOfBatch",outputs:[{internalType:"uint256[]",name:"balances",type:"uint256[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"addr",type:"address"}],name:"denylist",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"denylister",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"value",type:"uint256"}],name:"deposit",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"address",name:"depositor",type:"address"},{internalType:"uint256",name:"value",type:"uint256"}],name:"depositFor",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"address",name:"from",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"uint256",name:"validAfter",type:"uint256"},{internalType:"uint256",name:"validBefore",type:"uint256"},{internalType:"bytes32",name:"nonce",type:"bytes32"},{internalType:"bytes",name:"signature",type:"bytes"}],name:"depositWithAuthorization",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"address",name:"from",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"uint256",name:"validAfter",type:"uint256"},{internalType:"uint256",name:"validBefore",type:"uint256"},{internalType:"bytes32",name:"nonce",type:"bytes32"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"depositWithAuthorization",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"address",name:"owner",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"bytes",name:"signature",type:"bytes"}],name:"depositWithPermit",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"address",name:"owner",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"depositWithPermit",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"domain",outputs:[{internalType:"uint32",name:"",type:"uint32"}],stateMutability:"view",type:"function"},{inputs:[],name:"domainSeparator",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"pure",type:"function"},{inputs:[],name:"eip712Domain",outputs:[{internalType:"bytes1",name:"fields",type:"bytes1"},{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"version",type:"string"},{internalType:"uint256",name:"chainId",type:"uint256"},{internalType:"address",name:"verifyingContract",type:"address"},{internalType:"bytes32",name:"salt",type:"bytes32"},{internalType:"uint256[]",name:"extensions",type:"uint256[]"}],stateMutability:"view",type:"function"},{inputs:[],name:"feeRecipient",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"calldataBytes",type:"bytes"},{internalType:"bytes",name:"signature",type:"bytes"}],name:"gatewayBurn",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes",name:"intent",type:"bytes"}],name:"getTypedDataHash",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"pauser_",type:"address"},{internalType:"address",name:"denylister_",type:"address"},{internalType:"address[]",name:"supportedTokens_",type:"address[]"},{internalType:"uint32",name:"domain_",type:"uint32"},{internalType:"uint256",name:"withdrawalDelay_",type:"uint256"},{internalType:"address",name:"burnSigner_",type:"address"},{internalType:"address",name:"feeRecipient_",type:"address"}],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"value",type:"uint256"}],name:"initiateWithdrawal",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"address",name:"depositor",type:"address"},{internalType:"address",name:"addr",type:"address"}],name:"isAuthorizedForBalance",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"signer",type:"address"}],name:"isBurnSigner",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"addr",type:"address"}],name:"isDenylisted",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"}],name:"isTokenSupported",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"transferSpecHash",type:"bytes32"}],name:"isTransferSpecHashUsed",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"pause",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"paused",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"pauser",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"pendingOwner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"proxiableUUID",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"signer",type:"address"}],name:"removeBurnSigner",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"address",name:"delegate",type:"address"}],name:"removeDelegate",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"address",name:"depositor",type:"address"}],name:"totalBalance",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"addr",type:"address"}],name:"unDenylist",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"unpause",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newDenylister",type:"address"}],name:"updateDenylister",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newFeeRecipient",type:"address"}],name:"updateFeeRecipient",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newPauser",type:"address"}],name:"updatePauser",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"newDelay",type:"uint256"}],name:"updateWithdrawalDelay",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newImplementation",type:"address"},{internalType:"bytes",name:"data",type:"bytes"}],name:"upgradeToAndCall",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"}],name:"withdraw",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"address",name:"depositor",type:"address"}],name:"withdrawableBalance",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"address",name:"depositor",type:"address"}],name:"withdrawalBlock",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"withdrawalDelay",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"address",name:"depositor",type:"address"}],name:"withdrawingBalance",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"}],fTe=[{inputs:[],stateMutability:"nonpayable",type:"constructor"},{inputs:[{internalType:"address",name:"addr",type:"address"}],name:"AccountDenylisted",type:"error"},{inputs:[{internalType:"address",name:"target",type:"address"}],name:"AddressEmptyCode",type:"error"},{inputs:[{internalType:"uint32",name:"index",type:"uint32"},{internalType:"uint256",name:"maxBlockHeight",type:"uint256"},{internalType:"uint256",name:"currentBlock",type:"uint256"}],name:"AttestationExpiredAtIndex",type:"error"},{inputs:[{internalType:"uint32",name:"index",type:"uint32"}],name:"AttestationValueMustBePositiveAtIndex",type:"error"},{inputs:[],name:"CursorOutOfBounds",type:"error"},{inputs:[],name:"ECDSAInvalidSignature",type:"error"},{inputs:[{internalType:"uint256",name:"length",type:"uint256"}],name:"ECDSAInvalidSignatureLength",type:"error"},{inputs:[{internalType:"bytes32",name:"s",type:"bytes32"}],name:"ECDSAInvalidSignatureS",type:"error"},{inputs:[{internalType:"address",name:"implementation",type:"address"}],name:"ERC1967InvalidImplementation",type:"error"},{inputs:[],name:"ERC1967NonPayable",type:"error"},{inputs:[],name:"EnforcedPause",type:"error"},{inputs:[],name:"ExpectedPause",type:"error"},{inputs:[],name:"FailedCall",type:"error"},{inputs:[],name:"InvalidAddress",type:"error"},{inputs:[{internalType:"uint32",name:"index",type:"uint32"},{internalType:"address",name:"attestationCaller",type:"address"},{internalType:"address",name:"actualCaller",type:"address"}],name:"InvalidAttestationDestinationCallerAtIndex",type:"error"},{inputs:[{internalType:"uint32",name:"index",type:"uint32"},{internalType:"address",name:"attestationContract",type:"address"},{internalType:"address",name:"expectedContract",type:"address"}],name:"InvalidAttestationDestinationContractAtIndex",type:"error"},{inputs:[{internalType:"uint32",name:"index",type:"uint32"},{internalType:"uint32",name:"attestationDomain",type:"uint32"},{internalType:"uint32",name:"expectedDomain",type:"uint32"}],name:"InvalidAttestationDestinationDomainAtIndex",type:"error"},{inputs:[],name:"InvalidAttestationSigner",type:"error"},{inputs:[{internalType:"uint32",name:"index",type:"uint32"},{internalType:"address",name:"sourceToken",type:"address"},{internalType:"address",name:"destinationToken",type:"address"}],name:"InvalidAttestationTokenAtIndex",type:"error"},{inputs:[],name:"InvalidInitialization",type:"error"},{inputs:[{internalType:"bytes4",name:"actualMagic",type:"bytes4"}],name:"InvalidTransferPayloadMagic",type:"error"},{inputs:[{internalType:"bytes4",name:"actualMagic",type:"bytes4"}],name:"InvalidTransferSpecMagic",type:"error"},{inputs:[{internalType:"uint32",name:"actualVersion",type:"uint32"}],name:"InvalidTransferSpecVersion",type:"error"},{inputs:[],name:"MismatchedLengthTokenAndTokenMintAuthorities",type:"error"},{inputs:[],name:"MustHaveAtLeastOneAttestation",type:"error"},{inputs:[],name:"NotInitializing",type:"error"},{inputs:[{internalType:"address",name:"owner",type:"address"}],name:"OwnableInvalidOwner",type:"error"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"OwnableUnauthorizedAccount",type:"error"},{inputs:[{internalType:"uint256",name:"expectedMinimumLength",type:"uint256"},{internalType:"uint256",name:"actualLength",type:"uint256"}],name:"TransferPayloadDataTooShort",type:"error"},{inputs:[{internalType:"uint256",name:"expectedMinimumLength",type:"uint256"},{internalType:"uint256",name:"actualLength",type:"uint256"}],name:"TransferPayloadHeaderTooShort",type:"error"},{inputs:[{internalType:"uint256",name:"expectedTotalLength",type:"uint256"},{internalType:"uint256",name:"actualTotalLength",type:"uint256"}],name:"TransferPayloadOverallLengthMismatch",type:"error"},{inputs:[{internalType:"uint32",name:"index",type:"uint32"},{internalType:"uint256",name:"actualSetLength",type:"uint256"},{internalType:"uint256",name:"requiredOffset",type:"uint256"}],name:"TransferPayloadSetElementHeaderTooShort",type:"error"},{inputs:[{internalType:"uint32",name:"index",type:"uint32"},{internalType:"uint256",name:"actualSetLength",type:"uint256"},{internalType:"uint256",name:"requiredOffset",type:"uint256"}],name:"TransferPayloadSetElementTooShort",type:"error"},{inputs:[{internalType:"uint256",name:"expectedMinimumLength",type:"uint256"},{internalType:"uint256",name:"actualLength",type:"uint256"}],name:"TransferPayloadSetHeaderTooShort",type:"error"},{inputs:[{internalType:"uint32",name:"index",type:"uint32"},{internalType:"bytes4",name:"actualMagic",type:"bytes4"}],name:"TransferPayloadSetInvalidElementMagic",type:"error"},{inputs:[{internalType:"uint256",name:"expectedTotalLength",type:"uint256"},{internalType:"uint256",name:"actualTotalLength",type:"uint256"}],name:"TransferPayloadSetOverallLengthMismatch",type:"error"},{inputs:[{internalType:"bytes32",name:"transferSpecHash",type:"bytes32"}],name:"TransferSpecHashUsed",type:"error"},{inputs:[{internalType:"uint256",name:"expectedMinimumLength",type:"uint256"},{internalType:"uint256",name:"actualLength",type:"uint256"}],name:"TransferSpecHeaderTooShort",type:"error"},{inputs:[{internalType:"uint256",name:"expectedTotalLength",type:"uint256"},{internalType:"uint256",name:"actualTotalLength",type:"uint256"}],name:"TransferSpecOverallLengthMismatch",type:"error"},{inputs:[],name:"UUPSUnauthorizedCallContext",type:"error"},{inputs:[{internalType:"bytes32",name:"slot",type:"bytes32"}],name:"UUPSUnsupportedProxiableUUID",type:"error"},{inputs:[{internalType:"address",name:"addr",type:"address"}],name:"UnauthorizedDenylister",type:"error"},{inputs:[{internalType:"address",name:"caller",type:"address"}],name:"UnauthorizedPauser",type:"error"},{inputs:[{internalType:"address",name:"token",type:"address"}],name:"UnsupportedToken",type:"error"},{inputs:[{internalType:"uint32",name:"index",type:"uint32"},{internalType:"address",name:"destinationToken",type:"address"}],name:"UnsupportedTokenAtIndex",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"signer",type:"address"}],name:"AttestationSignerAdded",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"signer",type:"address"}],name:"AttestationSignerRemoved",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"token",type:"address"},{indexed:!0,internalType:"address",name:"recipient",type:"address"},{indexed:!0,internalType:"bytes32",name:"transferSpecHash",type:"bytes32"},{indexed:!1,internalType:"uint32",name:"sourceDomain",type:"uint32"},{indexed:!1,internalType:"bytes32",name:"sourceDepositor",type:"bytes32"},{indexed:!1,internalType:"bytes32",name:"sourceSigner",type:"bytes32"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"AttestationUsed",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"addr",type:"address"}],name:"Denylisted",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"oldDenylister",type:"address"},{indexed:!0,internalType:"address",name:"newDenylister",type:"address"}],name:"DenylisterChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint64",name:"version",type:"uint64"}],name:"Initialized",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"token",type:"address"},{indexed:!0,internalType:"address",name:"oldMintAuthority",type:"address"},{indexed:!0,internalType:"address",name:"newMintAuthority",type:"address"}],name:"MintAuthorityChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferStarted",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"account",type:"address"}],name:"Paused",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"oldPauser",type:"address"},{indexed:!0,internalType:"address",name:"newPauser",type:"address"}],name:"PauserChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"token",type:"address"}],name:"TokenSupported",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"addr",type:"address"}],name:"UnDenylisted",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"account",type:"address"}],name:"Unpaused",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"implementation",type:"address"}],name:"Upgraded",type:"event"},{inputs:[],name:"UPGRADE_INTERFACE_VERSION",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[],name:"acceptOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"signer",type:"address"}],name:"addAttestationSigner",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"}],name:"addSupportedToken",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"addr",type:"address"}],name:"denylist",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"denylister",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"domain",outputs:[{internalType:"uint32",name:"",type:"uint32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"attestationPayload",type:"bytes"},{internalType:"bytes",name:"signature",type:"bytes"}],name:"gatewayMint",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"pauser_",type:"address"},{internalType:"address",name:"denylister_",type:"address"},{internalType:"address[]",name:"supportedTokens_",type:"address[]"},{internalType:"uint32",name:"domain_",type:"uint32"},{internalType:"address",name:"attestationSigner_",type:"address"},{internalType:"address[]",name:"tokenMintAuthorities_",type:"address[]"}],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"signer",type:"address"}],name:"isAttestationSigner",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"addr",type:"address"}],name:"isDenylisted",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"}],name:"isTokenSupported",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"transferSpecHash",type:"bytes32"}],name:"isTransferSpecHashUsed",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"pause",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"paused",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"pauser",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"pendingOwner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"proxiableUUID",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"signer",type:"address"}],name:"removeAttestationSigner",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"}],name:"tokenMintAuthority",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"addr",type:"address"}],name:"unDenylist",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"unpause",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newDenylister",type:"address"}],name:"updateDenylister",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"address",name:"newMintAuthority",type:"address"}],name:"updateMintAuthority",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newPauser",type:"address"}],name:"updatePauser",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newImplementation",type:"address"},{internalType:"bytes",name:"data",type:"bytes"}],name:"upgradeToAndCall",outputs:[],stateMutability:"payable",type:"function"}];function zo(e,t){let n=e.chain??t.chain;if(n.type!=="evm")throw new De({..._t.INVALID_CHAIN,recoverability:"FATAL",message:`Expected EVM chain definition, but received chain type: ${n.type}`});return n}function pTe(e){if(!kY(e))throw new De({..._t.INVALID_CHAIN,recoverability:"FATAL",message:`Gateway Minter address not found: chain "${e.name}" does not have Gateway v1 contracts configured.`,cause:{trace:{chain:e.name}}});return e.gateway.contracts.v1.minter}function _i(e){if(!kY(e))throw new De({..._t.INVALID_CHAIN,recoverability:"FATAL",message:`Gateway Wallet address not found: chain "${e.name}" does not have Gateway v1 contracts configured.`,cause:{trace:{chain:e.name}}});return e.gateway.contracts.v1.wallet}function zY(e,t,n){if(t.signature!==void 0)return[...e,t.signature];let r=[{name:"v",value:t.v},{name:"r",value:t.r},{name:"s",value:t.s}].filter(s=>s.value===void 0).map(s=>s.name);if(r.length===3)throw new De({..._t.VALIDATION_FAILED,recoverability:"FATAL",message:`${n} requires either signature bytes or v, r, s`});let[o]=r;if(o!==void 0)throw new De({..._t.VALIDATION_FAILED,recoverability:"FATAL",message:`${n}: missing signature component '${o}'`});if(typeof t.v!="number")throw new De({..._t.VALIDATION_FAILED,recoverability:"FATAL",message:`${n}: 'v' must be a number (27 or 28), got ${typeof t.v}`});if(typeof t.r!="string"||!t.r.startsWith("0x"))throw new De({..._t.VALIDATION_FAILED,recoverability:"FATAL",message:`${n}: 'r' must be a 0x-prefixed hex string`});if(typeof t.s!="string"||!t.s.startsWith("0x"))throw new De({..._t.VALIDATION_FAILED,recoverability:"FATAL",message:`${n}: 's' must be a 0x-prefixed hex string`});return[...e,t.v,t.r,t.s]}var mTe=async(e,t,n)=>{let r=zo(e,n),o=_i(r);return t.prepare({type:"evm",abi:gi,address:o,functionName:"deposit",args:[e.token,e.value]},n)},hTe=async(e,t,n)=>{let r=zo(e,n),o=_i(r);return t.prepare({type:"evm",abi:gi,address:o,functionName:"depositFor",args:[e.token,e.depositor,e.value]},n)},yTe=async(e,t,n)=>{let r=zo(e,n),o=_i(r),s=[e.token,e.owner,e.value,e.deadline],i=zY(s,e,"depositWithPermit");return t.prepare({type:"evm",abi:gi,address:o,functionName:"depositWithPermit",args:i},n)},bTe=async(e,t,n)=>{let r=zo(e,n),o=_i(r),s=[e.token,e.from,e.value,e.validAfter,e.validBefore,e.nonce],i=zY(s,e,"depositWithAuthorization");return t.prepare({type:"evm",abi:gi,address:o,functionName:"depositWithAuthorization",args:i},n)},gTe=async(e,t,n)=>{let r=zo(e,n),o=_i(r);return t.prepare({type:"evm",abi:gi,address:o,functionName:"addDelegate",args:[e.token,e.delegate]},n)},_Te=async(e,t,n)=>{let r=zo(e,n),o=_i(r);return t.prepare({type:"evm",abi:gi,address:o,functionName:"removeDelegate",args:[e.token,e.delegate]},n)},ATe=async(e,t,n)=>{let r=zo(e,n),o=_i(r);return t.prepare({type:"evm",abi:gi,address:o,functionName:"isAuthorizedForBalance",args:[e.token,e.depositor,e.delegate],...e.blockNumber!==void 0&&{blockNumber:e.blockNumber}},n)},ETe=async(e,t,n)=>{let r=zo(e,n),o=_i(r);return t.prepare({type:"evm",abi:gi,address:o,functionName:"initiateWithdrawal",args:[e.token,e.value]},n)},xTe=async(e,t,n)=>{let r=zo(e,n),o=_i(r);return t.prepare({type:"evm",abi:gi,address:o,functionName:"withdraw",args:[e.token]},n)},wTe=async(e,t,n)=>{let r=zo(e,n),o=_i(r);return t.prepare({type:"evm",abi:gi,address:o,functionName:"withdrawingBalance",args:[e.token,e.depositor]},n)},TTe=async(e,t,n)=>{let r=zo(e,n),o=_i(r);return t.prepare({type:"evm",abi:gi,address:o,functionName:"withdrawalBlock",args:[e.token,e.depositor]},n)},STe=async(e,t,n)=>{let r=zo(e,n),o=_i(r);return t.prepare({type:"evm",abi:gi,address:o,functionName:"gatewayBurn",args:[e.calldataBytes,e.signature]},n)},RTe=async(e,t,n)=>{let r=zo(e,n),o=pTe(r);return t.prepare({type:"evm",abi:fTe,address:o,functionName:"gatewayMint",args:[e.attestation,e.signature]},n)},XN=h.object({addressContext:h.enum(["user-controlled","developer-controlled"],{errorMap:()=>({message:"addressContext must be either 'user-controlled' or 'developer-controlled'. Use 'user-controlled' for browser wallets, private keys, or hardware wallets. Use 'developer-controlled' for enterprise custody solutions or multi-entity adapters."})}),supportedChains:h.array(h.object({type:h.literal("evm"),chainId:h.number()}).passthrough(),{errorMap:()=>({message:"supportedChains must be an array. Provide an array of EVM ChainDefinition objects."})}).min(1,{message:"supportedChains cannot be empty. Please specify at least one supported chain."})}).strict(),vTe=h.object({name:h.string({required_error:"Domain name is required. Please provide the domain name.",invalid_type_error:"Domain name must be a string."}).min(1,"Domain name cannot be empty."),version:h.string({required_error:"Domain version is required. Please provide the domain version.",invalid_type_error:"Domain version must be a string."}).min(1,"Domain version cannot be empty."),chainId:h.number({invalid_type_error:"Chain ID must be a number."}).int("Chain ID must be an integer.").positive("Chain ID must be positive.").optional(),verifyingContract:h.string({invalid_type_error:"Verifying contract address must be a string."}).regex(/^0x[a-fA-F0-9]{40}$/,"Verifying contract must be a valid Ethereum address.").optional(),salt:h.string().regex(/^0x[a-fA-F0-9]+$/,"Salt must be a valid hex string.").optional()}),ITe=h.object({name:h.string({required_error:"Domain name is required. Please provide the domain name.",invalid_type_error:"Domain name must be a string."}).min(1,"Domain name cannot be empty."),version:h.string({required_error:"Domain version is required. Please provide the domain version.",invalid_type_error:"Domain version must be a string."}).min(1,"Domain version cannot be empty.")}),VY=h.object({name:h.string({required_error:"Field name is required. Please provide the field name.",invalid_type_error:"Field name must be a string."}).min(1,"Field name cannot be empty"),type:h.string({required_error:"Field type is required. Please provide the Solidity type.",invalid_type_error:"Field type must be a string."}).min(1,"Field type cannot be empty")}),CTe=h.object({domain:vTe,types:h.record(h.string().min(1,"Type name cannot be empty."),h.array(VY,{required_error:"Type definition is required. Please provide an array of field definitions.",invalid_type_error:"Type definition must be an array of TypedDataField objects."}).min(1,"Type definition cannot be empty. Please provide at least one field.")).refine(e=>Object.keys(e).length>0,"Types object cannot be empty. Please provide at least one type definition."),primaryType:h.string({required_error:"Primary type is required. Please provide the primary type name.",invalid_type_error:"Primary type must be a string."}).min(1,"Primary type cannot be empty."),message:h.record(h.unknown(),{required_error:"Message is required. Please provide the message object.",invalid_type_error:"Message must be an object."})}).refine(e=>e.primaryType in e.types,e=>({message:`Primary type "${e.primaryType}" must exist in the types definition. Available types: ${Object.keys(e.types).join(", ")}.`,path:["primaryType"]})),NTe=h.object({domain:ITe,types:h.record(h.string().min(1,"Type name cannot be empty."),h.array(VY,{required_error:"Type definition is required. Please provide an array of field definitions.",invalid_type_error:"Type definition must be an array of TypedDataField objects."}).min(1,"Type definition cannot be empty. Please provide at least one field.")).refine(e=>Object.keys(e).length>0,"Types object cannot be empty. Please provide at least one type definition."),primaryType:h.string({required_error:"Primary type is required. Please provide the primary type name.",invalid_type_error:"Primary type must be a string."}).min(1,"Primary type cannot be empty."),message:h.record(h.unknown(),{required_error:"Message is required. Please provide the message object.",invalid_type_error:"Message must be an object."})}).refine(e=>e.primaryType in e.types,e=>({message:`Primary type "${e.primaryType}" must exist in the types definition. Available types: ${Object.keys(e.types).join(", ")}.`,path:["primaryType"]})),ON=h.object({name:h.string(),type:h.string().min(1,"Parameter type cannot be empty"),internalType:h.string().optional(),components:h.lazy(()=>h.array(ON)).optional()}),OTe=h.object({type:h.enum(["function","constructor","event","fallback","receive","error"]),name:h.string().optional(),inputs:h.array(ON).default([]),outputs:h.array(ON).optional(),stateMutability:h.enum(["pure","view","nonpayable","payable"]).optional(),constant:h.boolean().optional(),payable:h.boolean().optional(),anonymous:h.boolean().optional()}),kTe=h.array(OTe).min(1,"ABI must contain at least one entry");oTe.extend({chainType:h.union([h.literal("evm"),h.literal("hybrid")]),actionRegistry:h.object({registerHandlers:h.function().returns(h.any()),actionHandlers:h.map(h.string(),h.function().returns(h.any()))})});var DTe=h.object({type:h.literal("evm").optional(),abi:kTe,address:hs,functionName:h.string({required_error:"Function name is required",invalid_type_error:"Function name must be a string"}).min(1,"Function name cannot be empty").refine(e=>/^[a-zA-Z_$][a-zA-Z0-9_$]*$/.test(e),"Function name must be a valid identifier (letters, numbers, underscore, dollar sign, cannot start with number)"),args:h.array(h.unknown(),{required_error:"Arguments array is required",invalid_type_error:"Arguments must be an array"})}),BTe=h.object({address:hs,value:h.bigint({required_error:"Value is required for native transfers",invalid_type_error:"Value must be a bigint"}).refine(e=>e>BigInt(0),{message:"Value must be greater than 0"})}),PTe=h.string({required_error:"Transaction hash is required and must be a string. Please provide a valid transaction hash.",invalid_type_error:"Transaction hash is required and must be a string. Please provide a valid transaction hash."}).min(1,{message:"Transaction hash cannot be empty. Please provide a valid transaction hash."}).refine(e=>e.startsWith("0x")&&e.length===66,e=>({message:`Transaction hash "${e}" is not a valid format. Expected a 32-byte hex string prefixed with '0x' (66 characters total).`})).refine(e=>/^0x[0-9a-fA-F]{64}$/.test(e),e=>({message:`Transaction hash "${e}" contains invalid characters. Only hexadecimal characters (0-9, a-f, A-F) are allowed after '0x'.`})),LTe=h.string({required_error:"Private key is required. Please provide a valid private key.",invalid_type_error:"Private key must be a string. Please provide a valid private key."}).transform(e=>e.startsWith("0x")?e:`0x${e}`).pipe(h.string().regex(/^0x[0-9a-fA-F]{64}$/,{message:'Private key must be a valid 64-character hex string. Please provide a valid private key with or without "0x" prefix.'}));function MTe(e){YN(e,CTe,"Invalid typed data")}function FTe(e){YN(e,NTe,"Invalid Gateway typed data")}var UTe=(e,t,n)=>{zo(e,n),FTe(e.typedData);let r=e.typedData;return{type:"evm",estimate:async()=>await Promise.resolve({gas:0n,gasPrice:0n,fee:"0"}),execute:async()=>await t.signTypedData(r,n)}},HTe=65,JN=2,$ot=HTe*JN,zot=32*JN,Vot=32*JN;var $Te=Symbol("assertEvmPreparedChainRequestParams");function pY(e){LY(e,DTe,"Request params",$Te)}function zTe(e){Cg(e,PTe,"Transaction hash")}var VTe=Symbol("assertNativeTransferParams");function jTe(e){LY(e,BTe,"Native transfer params",VTe)}var jY="0x0000000000000000000000000000000000000000",mY="0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE",QN="0x0000000000000000000000000000000000000000000000000000000000000000";function GTe(e,t,n){let r=e.find(o=>o.type==="function"&&o.name===t);return r?r.stateMutability==="view"||r.stateMutability==="pure":n}var WTe=66;function C2(e,t){if(!ch.safeParse(t).success)throw tt(e,t,"Must be a valid hex string starting with 0x")}function hY(e,t){if(C2(e,t),t.length!==WTe)throw tt(e,t,"Must be a 32-byte hex string (0x followed by exactly 64 hex characters)")}function gN(e,t){if(C2(e,t),(t.length-2)%2!==0)throw tt(e,t,"Must cover whole bytes (0x followed by an even number of hex characters)")}var GY=async(e,t,n)=>{if(e.fromChain.type!=="evm")throw _r(e.fromChain.name,`Expected EVM chain but received chain type: ${e.fromChain.type}`);let r="hookData"in e?e.hookData:void 0,o=[e.amount,e.toChain.cctp.domain,Rg(e.mintRecipient,"bytes32"),e.fromChain.usdcAddress,e.destinationCaller??QN,e.maxFee,e.minFinalityThreshold],s=r!==void 0&&r!=="";s&&(C2("hookData",r),o.push(r));let i=s?"depositForBurnWithHook":"depositForBurn";return t.prepare({type:"evm",abi:uTe,address:KN(e.fromChain,"tokenMessenger"),functionName:i,args:o},n)},qTe=async(e,t,n)=>GY(e,t,n),KTe=async(e,t,n)=>GY(e,t,n),YTe=e=>e.toLowerCase()===jY.toLowerCase(),ZTe=async(e,t,n)=>{if(e.fromChain.type!=="evm")throw _r(e.fromChain.name,`Expected EVM chain but received chain type: ${e.fromChain.type}`);if(e.destinationCaller===void 0||e.destinationCaller==="")throw tt("destinationCaller",e.destinationCaller,"destinationCaller is required for depositForBurnWithFees");let r=e.claim,o=r?.signedQuote,s=r?.refundAddress;if(!ch.safeParse(o).success)throw tt("claim.signedQuote",o,"Must be a valid hex string starting with 0x");if(!hs.safeParse(s).success)throw tt("claim.refundAddress",s,"Must be a valid EVM address");if(!hs.safeParse(e.feeToken).success)throw tt("feeToken",e.feeToken,"Must be a valid EVM address (use the zero address for a native fee)");if(typeof e.feeTotalAmount!="bigint"||e.feeTotalAmount<0n)throw tt("feeTotalAmount",e.feeTotalAmount,"Must be a non-negative bigint");let i=e.hookData!==void 0&&e.hookData!=="";if(i&&!ch.safeParse(e.hookData).success)throw tt("hookData",e.hookData,"Must be a valid hex string starting with 0x");let a={signedQuote:o,refundAddress:s},c=[e.amount,e.toChain.cctp.domain,Rg(e.mintRecipient,"bytes32"),e.fromChain.usdcAddress,Rg(e.destinationCaller,"bytes32")],u=KN(e.fromChain,"tokenMessengerWithFees"),d=YTe(e.feeToken)?e.feeTotalAmount:0n;return i?t.prepare({type:"evm",abi:fY,address:u,functionName:"depositForBurnWithHookAndFees",args:[...c,e.hookData,a],...d>0n&&{value:d}},n):t.prepare({type:"evm",abi:fY,address:u,functionName:"depositForBurnWithFees",args:[...c,a],...d>0n&&{value:d}},n)},XTe=async(e,t,n)=>ZTe(e,t,n),JTe=async(e,t,n)=>{if(e.toChain.type!=="evm")throw new Error(`Expected toChain to be EVM chain definition, but received chain type: ${e.toChain.type}`);return t.prepare({type:"evm",abi:cTe,address:KN(e.toChain,"messageTransmitter"),functionName:"receiveMessage",args:[e.message,e.attestation]},n)};function QTe(e){if(e.fromChain.type!=="evm")throw _r(e.fromChain.name,`Expected EVM chain but received chain type: ${e.fromChain.type}`);if(!A2(e.fromChain,"bridge"))throw _r(e.fromChain.name,"Chain does not support custom bridge contracts. Use 'cctp.v2.depositForBurn' instead.")}function eSe(e,t){if(e<0n)throw tt("protocolFee",e,"Must be non-negative");if(e>0n&&t===void 0)throw tt("protocolFee",e,"Requires feeRecipient. Specify where the fee should be sent");if(t!==void 0&&e===0n)throw tt("feeRecipient",t,"Requires non-zero protocolFee. Specify the fee amount to send");t!==void 0&&$o(t)}function tSe(e){if(!e)return;let t=BigInt(Math.floor(Date.now()/1e3));if(e.deadline<=t)throw tt("permitParams.deadline",e.deadline,"Permit deadline has expired");if(![27,28].includes(e.v))throw tt("permitParams.v",e.v,"Invalid ECDSA recovery parameter. Must be 27 or 28")}function nSe(e){let t=e.kitContracts?.bridge;if(t===void 0)throw _r(e.name,"No bridge contract address found in chain configuration");return $o(t),t}function rSe(e,t,n){let r=e.fromChain;return{amount:e.amount,maxFee:e.maxFee,fee:t,mintRecipient:Rg(e.mintRecipient,"bytes32"),destinationCaller:Rg(e.destinationCaller??QN,"bytes32"),burnToken:r.usdcAddress,feeRecipient:e.feeRecipient??n,destinationDomain:e.toChain.cctp.domain,minFinalityThreshold:BigInt(e.minFinalityThreshold)}}function oSe(e,t){return e?t?"bridgeWithPermitAndHook":"bridgeWithPermit":t?"bridgeWithPreapprovalAndHook":"bridgeWithPreapproval"}function sSe(e,t,n){let r=[e];return t&&r.push({deadline:t.deadline,v:t.v,r:t.r,s:t.s}),n!==void 0&&n!==""&&(C2("hookData",n),r.push(n)),r}var WY=async(e,t,n)=>{QTe(e);let r=e.protocolFee??0n;eSe(r,e.feeRecipient),tSe(e.permitParams);let o=e.fromChain,s=nSe(o),i=rSe(e,r,s),a="hookData"in e?e.hookData:void 0,c=a!==void 0&&a!=="",u=oSe(!!e.permitParams,c),d=sSe(i,e.permitParams,a);return t.prepare({type:"evm",abi:dTe,address:s,functionName:u,args:d},n)},iSe=async(e,t,n)=>WY(e,t,n),aSe=async(e,t,n)=>WY(e,t,n),cSe=async(e,t,n)=>{if(e.fromChain.type!=="evm")throw _r(e.fromChain.name,`Expected EVM chain but received chain type: ${e.fromChain.type}`);let r=e.destinationCaller??QN;hY("tokenId",e.tokenId),hY("destinationCaller",r),gN("destinationAddress",e.destinationAddress),gN("claim.signedQuote",e.claim.signedQuote),e.hookData!=="0x"&&gN("hookData",e.hookData),$o(e.serviceAddress);let o=e.claim.refundAddress??jY;return e.claim.refundAddress!==void 0&&$o(e.claim.refundAddress),t.prepare({type:"evm",abi:lTe,address:e.serviceAddress,functionName:"crossChainTransfer",args:[e.tokenId,e.amount,e.destinationDomain,e.destinationAddress,r,e.minFinalityThreshold,[e.claim.signedQuote,o],e.autoExecuteHookData,e.hookData],value:e.nativeFeeAmount},n)},uSe=async(e,t,n)=>cSe(e,t,n),dSe=async(e,t,n)=>{let r=n.chain;if(r.type!=="evm")throw _r(r.name,`Expected EVM chain definition, but received chain type: ${r.type}`);let{to:o,amount:s}=e;if(typeof s!="bigint"||s<=0n)throw $N(String(s),"Transfer amount must be a positive bigint");return $o(o),t.prepare({type:"evm",address:o,value:s},n)},lSe=async(e,t,n)=>{let r=n.chain;if(r.type!=="evm")throw _r(r.name,`Expected EVM chain definition, but received chain type: ${r.type}`);let o=e.walletAddress??n.address;return $o(o),{type:"evm",estimate:(await HY()).estimate,execute:async()=>(await t.readNativeBalance(o,r)).toString()}},fSe=h.string().regex(/^0x([0-9a-fA-F]{2})*$/,{message:"value must be a 0x-prefixed even-length hex string"}).transform(e=>e),pSe=h.object({executeParams:h.object({}).passthrough(),signature:FY,tokenInputs:h.array(h.object({permitType:h.nativeEnum(CN),token:hs,amount:h.bigint().refine(e=>e>=0n,{message:"amount must be a non-negative bigint"}),permitCalldata:fSe}))}).passthrough();function mSe(e,t){let n=hs.safeParse(t);if(!n.success)throw tt("chain.kitContracts.adapter",t,`Adapter contract for chain ${e} must be a 0x-prefixed 20-byte hex address.`);return n.data}function hSe(e){let t=pSe.safeParse(e);if(!t.success)throw v2(t.error,"earn execute params");return{executeParams:t.data.executeParams,signature:t.data.signature,tokenInputs:t.data.tokenInputs,__isActionParams:!0}}var _N=async(e,t,n)=>{let{chain:r}=n;if(r.type!=="evm")throw _r(r.name,`Expected EVM chain, but received chain type: ${String(r.type)}`);let o=r.kitContracts?.adapter;if(o===void 0)throw Mxe("execute",r.name);let s=mSe(r.name,o),i=hSe(e);return t.prepare({type:"evm",abi:ZN,address:s,functionName:"execute",args:[i.executeParams,i.tokenInputs,i.signature]},n)},kN=h.string().regex(/^0x([0-9a-fA-F]{2})*$/,{message:"value must be a 0x-prefixed even-length hex string"}).transform(e=>e);function ySe(e){try{return BigInt(e)>=0n}catch{return!1}}var xg=h.union([h.string(),h.bigint()]).refine(ySe,{message:"value must be a non-negative bigint-compatible string or bigint"}),bSe=h.object({instructions:h.array(h.object({target:hs,data:kN,value:xg,tokenIn:hs,amountToApprove:xg,tokenOut:hs,minTokenOut:xg}).passthrough()).min(1),tokens:h.array(h.object({token:hs,beneficiary:hs}).passthrough()),execId:xg,deadline:xg,metadata:kN}).passthrough(),gSe=h.object({executeParams:bSe,signature:FY,tokenInputs:h.array(h.object({permitType:h.nativeEnum(NN),token:hs,amount:h.bigint().refine(e=>e>=0n,{message:"amount must be a non-negative bigint"}),permitCalldata:kN}))}).passthrough();function _Se(e,t){let n=hs.safeParse(t);if(!n.success)throw tt("chain.kitContracts.adapter",t,`Adapter contract for chain ${e} must be a 0x-prefixed 20-byte hex address.`);return n.data}function ASe(e){let t=gSe.safeParse(e);if(!t.success)throw v2(t.error,"borrow repay params");return{executeParams:t.data.executeParams,signature:t.data.signature,tokenInputs:t.data.tokenInputs,__isActionParams:!0}}async function yY(e,t,n){let{chain:r}=n;if(r.type!=="evm")throw _r(r.name,`Expected EVM chain, but received chain type: ${String(r.type)}`);let o=r.kitContracts?.adapter;if(o===void 0)throw new De({..._t.UNSUPPORTED_ROUTE,recoverability:"FATAL",message:`Chain "${r.name}" does not have an Adapter Contract configured. Borrow repayment requires kitContracts.adapter to be set.`});let s=_Se(r.name,o),i=ASe(e);return await t.prepare({type:"evm",abi:ZN,address:s,functionName:"execute",args:[i.executeParams,i.tokenInputs,i.signature]},n)}var ESe=e=>"executeParams"in e&&e.executeParams!==void 0&&"tokenInputs"in e&&e.tokenInputs!==void 0&&"inputAmount"in e&&e.inputAmount!==void 0&&"tokenInAddress"in e&&e.tokenInAddress!==void 0,xSe=async(e,t,n)=>{let{chain:r}=n;if(r.type!=="evm")throw _r(r.name,`Expected EVM chain, but received chain type: ${String(r.type)}`);let o=r.kitContracts?.adapter;if(o===void 0)throw _r(r.name,`Swap action is not supported on this chain: ${r.name}`);if(!ESe(e))throw tt("params","Invalid or incomplete EVM swap parameters","This action handler only supports EVM swap parameters (must have executeParams and tokenInputs)");if(typeof e.executeParams!="object")throw tt("executeParams",e.executeParams,"ExecuteParams is required from service response");if(e.signature==="0x")throw tt("signature",e.signature,"Signature is required from service response");if(!Array.isArray(e.tokenInputs))throw tt("tokenInputs",e.tokenInputs,"TokenInputs must be an array");let s=e.tokenInAddress.toLowerCase()===mY.toLowerCase(),a=e.executeParams.instructions.reduce((c,u)=>c+u.value,0n);if(s&&e.inputAmount>a&&(a=e.inputAmount),a>0n&&!e.executeParams.tokens.some(({token:u,beneficiary:d})=>u.toLowerCase()===mY.toLowerCase()&&d.toLowerCase()===n.address.toLowerCase()))throw tt("executeParams.tokens",e.executeParams.tokens,"Native-funded swaps must include a NATIVE_TOKEN residual recipient for the sender");return t.prepare({type:"evm",abi:ZN,address:o,functionName:"execute",args:[e.executeParams,e.tokenInputs,e.signature],...a>0n&&{value:a}},n)},qY=async(e,t,n)=>{let r=n.chain;if(r.type!=="evm")throw new Error(`Expected EVM chain definition, but received chain type: ${r.type}`);let{tokenAddress:o,walletAddress:s}=e,i=s??n.address;$o(i),$o(o);try{return await t.prepare({type:"evm",address:o,abi:Ng,functionName:"balanceOf",args:[i]},n)}catch(a){let c=a instanceof Error?a.message:String(a);throw new Error(`Failed to get token balance for ${i} from ${o}: ${c}`)}},KY=async(e,t,n)=>{let r=n.chain;if(r.type!=="evm")throw new Error(`Expected EVM chain definition, but received chain type: ${r.type}`);let{tokenAddress:o,walletAddress:s,delegate:i}=e,a=s??n.address;$o(a),$o(o),$o(i);try{return await t.prepare({type:"evm",address:o,abi:Ng,functionName:"allowance",args:[a,i]},n)}catch(c){let u=c instanceof Error?c.message:String(c);throw new Error(`Failed to get token allowance for ${a} from ${o}: ${u}`)}},YY=async(e,t,n)=>{let r=n.chain;if(r.type!=="evm")throw _r(r.name,`Expected EVM chain definition, but received chain type: ${r.type}`);let{tokenAddress:o,delegate:s,amount:i}=e;if($o(o),$o(s),typeof i!="bigint"||i<0n)throw $N(String(i),"Approval amount must be a non-negative bigint");return t.prepare({type:"evm",abi:Ng,address:o,functionName:"approve",args:[s,i]},n)},eO=async(e,t,n)=>{let r=n.chain;if(r.type!=="evm")throw _r(r.name,`Expected EVM chain definition, but received chain type: ${r.type}`);if(typeof e.amount!="bigint"||e.amount<=0n)throw $N(String(e.amount),"Transfer amount must be a positive bigint");return t.prepare({type:"evm",abi:Ng,address:e.tokenAddress,functionName:"transfer",args:[e.to,e.amount]},n)},wSe=async(e,t,n)=>{let{delegate:r,amount:o}=e,s=n.chain,i=s.usdcAddress;if(i==null)throw tt("chain",s.name,`USDC address not configured for chain ${s.name}`);return YY({tokenAddress:i,delegate:r,amount:o},t,n)},TSe=async(e,t,n)=>{let{delegate:r,amount:o}=e,s=e.chain??n.chain;if(s.type!=="evm")throw new Error(`Expected EVM chain definition, but received chain type: ${s.type}`);return t.prepare({type:"evm",abi:$Y,address:s.usdcAddress,functionName:"increaseAllowance",args:[r,o]},n)},SSe=async(e,t,n)=>{let r=n.chain,o=r.usdcAddress;if(o==null)throw new Error(`USDC address not found for chain ${r.name}`);return await qY({tokenAddress:o,walletAddress:e.walletAddress},t,n)},RSe=async(e,t,n)=>{let{walletAddress:r,delegate:o}=e,s=n.chain,i=s.usdcAddress;if(i==null)throw new Error(`USDC address not found for chain ${s.name}`);return await KY({tokenAddress:i,walletAddress:r,delegate:o},t,n)},vSe=async(e,t,n)=>{let r=zo(e,n),o=r.usdcAddress;if(o==null)throw _r(r.name,"has no USDC address configured");return t.prepare({type:"evm",abi:$Y,address:o,functionName:"name",args:[]},n)},ISe=async(e,t,n)=>{let r=n.chain;if(r.type!=="evm")throw _r(r.name,`Expected EVM chain definition, but received chain type: ${r.type}`);let o=r.usdcAddress;if(o==null)throw TY("USDC",r.name);return $o(o),eO({tokenAddress:o,to:e.to,amount:e.amount},t,n)},CSe=async(e,t,n)=>{let r=n.chain;if(r.type!=="evm")throw _r(r.name,`Expected EVM chain, but received chain type: ${r.type}`);let o=r.usdtAddress;if(o==null)throw TY("USDT",r.name);return $o(o),eO({tokenAddress:o,to:e.to,amount:e.amount},t,n)},NSe=e=>({"token.allowance":async(t,n)=>KY(t,e,n),"token.balanceOf":async(t,n)=>qY(t,e,n),"token.approve":async(t,n)=>YY(t,e,n),"usdc.allowance":async(t,n)=>RSe(t,e,n),"usdc.balanceOf":async(t,n)=>SSe(t,e,n),"usdc.approve":async(t,n)=>wSe(t,e,n),"usdc.increaseAllowance":async(t,n)=>TSe(t,e,n),"usdc.name":async(t,n)=>vSe(t,e,n),"cctp.v2.depositForBurn":async(t,n)=>qTe(t,e,n),"cctp.v2.depositForBurnWithHook":async(t,n)=>KTe(t,e,n),"cctp.v2.depositForBurnWithFees":async(t,n)=>XTe(t,e,n),"cctp.v2.receiveMessage":async(t,n)=>JTe(t,e,n),"cctp.v2.customBurn":async(t,n)=>iSe(t,e,n),"cctpx.crossChainTransfer":async(t,n)=>uSe(t,e,n),"token.transfer":async(t,n)=>eO(t,e,n),"native.transfer":async(t,n)=>dSe(t,e,n),"usdc.transfer":async(t,n)=>ISe(t,e,n),"usdt.transfer":async(t,n)=>CSe(t,e,n),"swap.execute":async(t,n)=>xSe(t,e,n),"earn.deposit":async(t,n)=>_N(t,e,n),"earn.withdraw":async(t,n)=>_N(t,e,n),"earn.claimRewards":async(t,n)=>_N(t,e,n),"borrow.repay":async(t,n)=>{if(!A2(n.chain,"adapter"))throw new De({..._t.UNSUPPORTED_ROUTE,recoverability:"FATAL",message:`Chain "${n.chain.name}" does not have an Adapter Contract configured. Borrow repayment requires kitContracts.adapter to be set.`});return yY(t,e,n)},"borrow.execute":async(t,n)=>{if(!A2(n.chain,"adapter"))throw new De({..._t.UNSUPPORTED_ROUTE,recoverability:"FATAL",message:`Chain "${n.chain.name}" does not have an Adapter Contract configured. Borrowing requires kitContracts.adapter to be set.`});return yY(t,e,n)},"cctp.v2.customBurnWithHook":async(t,n)=>aSe(t,e,n),"native.balanceOf":async(t,n)=>lSe(t,e,n),"gateway.v1.deposit":async(t,n)=>mTe(t,e,n),"gateway.v1.depositFor":async(t,n)=>hTe(t,e,n),"gateway.v1.depositWithPermit":async(t,n)=>yTe(t,e,n),"gateway.v1.depositWithAuthorization":async(t,n)=>bTe(t,e,n),"gateway.v1.addDelegate":async(t,n)=>gTe(t,e,n),"gateway.v1.removeDelegate":async(t,n)=>_Te(t,e,n),"gateway.v1.isDelegate":async(t,n)=>ATe(t,e,n),"gateway.v1.initiateWithdrawal":async(t,n)=>ETe(t,e,n),"gateway.v1.withdraw":async(t,n)=>xTe(t,e,n),"gateway.v1.withdrawingBalance":async(t,n)=>wTe(t,e,n),"gateway.v1.withdrawalBlock":async(t,n)=>TTe(t,e,n),"gateway.v1.gatewayBurn":async(t,n)=>STe(t,e,n),"gateway.v1.gatewayMint":async(t,n)=>RTe(t,e,n),"gateway.v1.signBurnIntents":async(t,n)=>await Promise.resolve(UTe(t,e,n))}),OSe=[{name:"nonces",type:"function",stateMutability:"view",inputs:[{name:"owner",type:"address"}],outputs:[{name:"",type:"uint256"}]}],DN=class extends IN{chainType="evm";cachedGasPrice;constructor(){super(),this.actionRegistry.registerHandlers(NSe(this))}async fetchEIP2612Nonce(t,n,r){try{let s=await(await this.prepare({abi:OSe,address:t,functionName:"nonces",args:[n],type:"evm"},r)).execute();return BigInt(String(s))}catch(o){throw new Error(`Failed to fetch EIP-2612 nonce for token ${t} and owner ${n}: ${o instanceof Error?o.message:String(o)}`)}}async calculateTransactionFee(t,n=sTe,r){let o=await this.fetchGasPrice(r),s=t*o;return{gas:t,gasPrice:o,fee:String(s+s*n/10000n)}}};function ZY(){return typeof crypto<"u"&&typeof crypto.getRandomValues=="function"}function kSe(e){if(!/^[\w-]+$/.test(e))throw tt("prefix",e,"must be non-empty and contain only alphanumeric characters, hyphens, or underscores");let t=Date.now().toString(36),n;if(ZY()){let r=new Uint32Array(1);crypto.getRandomValues(r),n=r[0].toString(36).padStart(6,"0").slice(0,6)}else n=Math.random().toString(36).slice(2,8).padStart(6,"0");return`${e}-${t}-${n}`}function DSe(){return kSe("op")}function BSe(){let e=new Uint8Array(16);if(ZY())crypto.getRandomValues(e);else for(let t=0;t<16;t++)e[t]=Math.floor(Math.random()*256);return Array.from(e,t=>t.toString(16).padStart(2,"0")).join("")}function uh(e){return e==null?{}:Object.fromEntries(Object.entries(e).filter(([,t])=>t!==void 0))}var PSe=h.custom(e=>{if(e===null||typeof e!="object")return!1;let t=e;return typeof t.debug=="function"&&typeof t.info=="function"&&typeof t.warn=="function"&&typeof t.error=="function"&&typeof t.child=="function"},{message:"Invalid logger"}),LSe=h.custom(e=>{if(e===null||typeof e!="object")return!1;let t=e;return typeof t.counter=="function"&&typeof t.histogram=="function"&&typeof t.timer=="function"&&typeof t.child=="function"},{message:"Invalid metrics"});h.object({logger:PSe.optional(),metrics:LSe.optional()}).passthrough();var AN={STARTED:"op.phase.started",SUCCEEDED:"op.phase.succeeded",FAILED:"op.phase.failed"},MSe=h.object({type:h.string(),name:h.string(),version:h.string().optional()}),FSe=h.object({traceId:h.string().optional(),runtime:h.object({}).passthrough().optional(),tokens:h.object({}).passthrough().optional(),callers:h.array(MSe).optional(),signal:h.instanceof(AbortSignal).optional()}).strict();function USe(e,t){if(e!==void 0){let i=FSe.safeParse(e);if(!i.success)throw tt("invocationMeta",e,i.error.errors.map(a=>a.message).join(", "))}let n=e?.traceId??BSe(),r=e?.runtime??t.runtime,o=e?.tokens??t.tokens,s=e?.callers??[];return Object.freeze({traceId:n,runtime:r,tokens:o,callers:s,...e?.signal===void 0?{}:{signal:e.signal}})}function XY(e){let{name:t,description:n,invocation:r,tags:o,meta:s}=e;return Object.freeze({opId:DSe(),name:t,...n===void 0?{}:{description:n},traceId:r.traceId,runtime:r.runtime,...o===void 0?{}:{tags:o},...s===void 0?{}:{meta:s}})}var BN=Symbol.for("@core/runtime/unified-middleware");function JY(e){return typeof e=="object"&&e!==null&&BN in e&&e[BN]===!0}function tO(e){return{middleware:e,[BN]:!0}}function HSe(e={}){return tO(async({ctx:t,name:n,next:r,state:o})=>{try{return await r(o)}catch(s){throw g2(s)?s:(e.createNormalizer?.(t)?.(s,{name:n,tags:t.tags,meta:t.meta}),t.runtime.logger.warn("Wrapping unhandled error as UNKNOWN",{tags:{traceId:t.traceId,name:n},error:ep(s)}),Vxe({message:"An unexpected error occurred",cause:s}))}})}function $Se(){return tO(async({ctx:e,name:t,next:n,state:r})=>{let{runtime:o}=e,s=t===e.name?void 0:t,i=uh({traceId:e.traceId,name:e.name,...e.description!==void 0&&{description:e.description},...s!==void 0&&{phase:s},...e.tags}),a=e.tags,c=uh({name:e.name,...s!==void 0&&{phase:s},chain:a?.chain,chainId:a?.chainId});o.logger.debug(`${t} started`,{tags:i}),o.events.emit({name:AN.STARTED,level:"debug",at:o.clock.now(),tags:i,data:{status:"started",meta:e.meta}});let u=o.clock.now();try{let d=await n(r),l=o.clock.since(u);return o.logger.debug(`${t} succeeded`,{tags:i,durationMs:l}),o.events.emit({name:AN.SUCCEEDED,level:"debug",at:o.clock.now(),tags:i,data:{status:"succeeded",meta:e.meta,durationMs:l}}),o.metrics.counter("operation.succeeded").inc(c),o.metrics.histogram("operation.duration").observe({...c,status:"success"},l),d}catch(d){let l=o.clock.since(u);throw o.logger.error(`${t} failed`,{tags:i,durationMs:l,error:ep(d)}),o.events.emit({name:AN.FAILED,level:"error",at:o.clock.now(),tags:i,data:{status:"failed",meta:e.meta,durationMs:l,error:ep(d)}}),o.metrics.counter("operation.failed").inc(c),o.metrics.histogram("operation.duration").observe({...c,status:"failed"},l),d}})}var Kf={maxAttempts:3,baseDelayMs:200,maxDelayMs:1e4,backoff:"exponential",jitter:!0,isRetryable:Qxe},nO={ATTEMPT:"retry.attempt",EXHAUSTED:"retry.exhausted",RECOVERED:"retry.recovered"},vg={ATTEMPTS:"retry.attempts",RECOVERED:"retry.recovered",EXHAUSTED:"retry.exhausted",DURATION:"retry.duration"};function zSe(e){return e===void 0?Kf:{maxAttempts:e.maxAttempts??Kf.maxAttempts,baseDelayMs:e.baseDelayMs??Kf.baseDelayMs,maxDelayMs:e.maxDelayMs??Kf.maxDelayMs,backoff:e.backoff??Kf.backoff,jitter:e.jitter??Kf.jitter,isRetryable:e.isRetryable??Kf.isRetryable}}function VSe(e,t){let{ctx:n,runtime:r,metricTags:o,startTime:s}=e,{logger:i,events:a,metrics:c,clock:u}=r,d=n.tags??{},l=u.since(s);i.info(`${n.name} recovered after ${String(t)} ${t===1?"retry":"retries"}`,{tags:{traceId:n.traceId,...d},durationMs:l}),a.emit({name:nO.RECOVERED,level:"info",at:u.now(),tags:uh({traceId:n.traceId,name:n.name,...d,attempt:t,durationMs:l})}),c.counter(vg.RECOVERED).inc(o),c.histogram(vg.DURATION).observe({...o,outcome:"recovered"},l)}function jSe(e,t,n){let{ctx:r,runtime:o,metricTags:s,startTime:i}=e,{logger:a,events:c,metrics:u,clock:d}=o,l=r.tags??{},m=d.since(i);a.warn(`${r.name} failed after exhausting ${String(t)} ${t===1?"retry":"retries"}`,{tags:{traceId:r.traceId,...l},durationMs:m,error:ep(n)}),c.emit({name:nO.EXHAUSTED,level:"warn",at:d.now(),tags:uh({traceId:r.traceId,name:r.name,...l,totalAttempts:t+1,durationMs:m}),data:{error:ep(n)}}),u.counter(vg.EXHAUSTED).inc(s),u.histogram(vg.DURATION).observe({...s,outcome:"exhausted"},m)}function GSe(e,t,n,r,o){let{ctx:s,runtime:i,metricTags:a}=e,{logger:c,events:u,metrics:d,clock:l}=i,m=s.tags??{};c.debug(`Retrying ${s.name} (attempt ${String(t)}/${String(n)}) in ${String(r)}ms`,{tags:{traceId:s.traceId,...m},error:ep(o)}),u.emit({name:nO.ATTEMPT,level:"debug",at:l.now(),tags:uh({traceId:s.traceId,name:s.name,...m,attempt:t,maxAttempts:n,delayMs:r}),data:{error:ep(o)}}),d.counter(vg.ATTEMPTS).inc(a)}function WSe(e,t){let{baseDelayMs:n,maxDelayMs:r,backoff:o,jitter:s}=t,i;switch(o){case"constant":i=n;break;case"linear":i=n*e;break;case"exponential":i=n*Math.pow(2,e-1);break}if(i=Math.min(i,r),s){let a=.75+Math.random()*.5;i=Math.round(i*a)}return i}function qSe(e){let t=zSe(e);return tO(async({ctx:n,next:r,state:o})=>{let{runtime:s,tags:i={}}=n,a=s.clock.now(),c,u={ctx:n,runtime:s,metricTags:uh({name:n.name,...i}),startTime:a};for(let d=0;d<=t.maxAttempts;d++)try{let l=await r(o);return d>0&&VSe(u,d),l}catch(l){if(c=l,!(d0&&jSe(u,d,l),l;let p=d+1,g=WSe(p,t);GSe(u,p,t.maxAttempts,g,l),await new Promise(E=>setTimeout(E,g))}throw c})}function QY(e){let{config:t,normalizeError:n,retryable:r=!0}=e??{},o=[$Se()];if(r&&t?.retry!==!1){let s=typeof t?.retry=="object"?t.retry:void 0;o.push(qSe(s))}return o.push(HSe(n?{createNormalizer:()=>n}:void 0)),o}var eZ=Symbol.for("@core/runtime/composed");function KSe(e){return eZ in e}function YSe(e){return async(t,n)=>{let r={ctx:t,name:t.name,state:void 0,next:n};return e.middleware(r)}}function ZSe(e){return JY(e)?YSe(e):e}function XSe(e){let t=Array.isArray(e)?e:[e];if(t.length===1){let o=t[0];if(o!==void 0&&!JY(o)){let s=o;if(KSe(s))return s}}let n=t.map(ZSe);return Object.assign(async(o,s)=>n.reduceRight((a,c)=>async()=>c(o,a),s)(),{[eZ]:!0})}async function tZ(e,t,n){return XSe(t)(e,n)}h.custom(e=>e!==null&&typeof e=="object"&&"now"in e&&typeof e.now=="function");h.custom(e=>e!==null&&typeof e=="object"&&"emit"in e&&typeof e.emit=="function");h.object({logger:h.any().optional(),events:h.any().optional(),metrics:h.any().optional(),clock:h.any().optional()}).passthrough();function JSe(e){if(e===null||typeof e!="object")throw tt("operationMeta",e,"Expected an object with chain property");if(!("chain"in e)||e.chain===void 0)throw tt("operationMeta.chain",void 0,"Chain is required");if("address"in e){let t=e.address;if(t!==void 0&&typeof t!="string")throw tt("operationMeta.address",t,"Address must be a string")}}async function QSe(e,t){JSe(e);let{capabilities:n,getAddress:r,requireAddress:o}=t,s=E2(e.chain),i=o??n.addressContext==="developer-controlled",a;if(e.address!==void 0&&e.address!=="")a=e.address;else if(n.addressContext==="user-controlled"&&r)try{a=await r(s)}catch(c){let u=c instanceof Error?c.message:String(c);throw tt("address",void 0,`Failed to resolve address from adapter: ${u}`)}if(i&&a===void 0)throw tt("address",e.address,"Address is required. Provide an address in the operation metadata, or use resolveReadOnlyOperationContext() for read-only operations.");if(a===void 0)throw tt("address",void 0,"Address could not be resolved. This operation requires an address.");return Object.freeze({chain:s,address:a})}function nZ(e,t,n,r){return{chain:e.name,..."chainId"in e?{chainId:e.chainId}:{},...t!==void 0&&t!==""?{address:t}:{},...r===void 0?{}:{layer:"adapter",adapter:r.name,adapterVersion:r.version},...n}}function eRe(e,t){let n=USe(e===void 0?void 0:{traceId:e.traceId,runtime:e.runtime,tokens:e.tokens,callers:e.callers,signal:e.signal},t);return Object.freeze({...n,...e?.authorization===void 0?{}:{authorization:e.authorization}})}function Ho(e,t,n,r){let o={reason:e};return n!==void 0&&(o.context=n),new De({..._t.INVALID_AMOUNT,recoverability:"FATAL",message:t,cause:{trace:o}})}var x2=77,bY=new Map;function PN(e){if(e<0||e>x2)throw Ho("INVALID_DECIMALS",`Decimals must be between 0 and ${String(x2)}, got ${String(e)}`,{decimals:e});let t=bY.get(e);return t===void 0&&(t=10n**BigInt(e),bY.set(e,t)),t}function rO(e,t){if(!Number.isInteger(e)||e<0||e>x2)throw Ho("INVALID_DECIMALS",`${t}: decimals must be an integer between 0 and ${String(x2)}, got ${String(e)}`,{decimals:e,context:t})}function oO(e,t,n){if(e.decimals!==t.decimals)throw Ho("DECIMAL_MISMATCH",`${n}: cannot operate on amounts with different decimals (${String(e.decimals)} vs ${String(t.decimals)})`,{aDecimals:e.decimals,bDecimals:t.decimals,operation:n})}function gY(e,t,n){if(t!==void 0&&t!==e)throw Ho("DECIMAL_MISMATCH",`${n}: Amount has ${String(e)} decimals but config specifies ${String(t)}`,{inputDecimals:e,configDecimals:t})}function tRe(e,t,n){rO(t.decimals,n);let{decimals:r,allowNegative:o=!1}=t,s=typeof e=="number"?e.toString():e;if(typeof s!="string"||s.trim()==="")throw Ho("PARSE_ERROR",`${n}: input must be a non-empty string or number`,{input:e});let i=s.trim(),a=i.startsWith("-");if(a){if(!o)throw Ho("NEGATIVE_NOT_ALLOWED",`${n}: negative values not allowed`,{input:e});i=i.slice(1)}i.length>1&&i.startsWith("0")&&i[1]!=="."&&(i=i.replace(/^0+/,"")||"0");let c=i.split(".");if(c.length>2)throw Ho("PARSE_ERROR",`${n}: invalid number format (multiple decimal points)`,{input:e});let u=c[0]??"",d=c[1]??"";if(u===""&&d!==""&&(u="0"),!/^\d+$/.test(u)||d&&!/^\d+$/.test(d))throw Ho("PARSE_ERROR",`${n}: input contains non-numeric characters`,{input:e});let l=d.slice(0,r).padEnd(r,"0"),m=u+l,p=BigInt(m);return a&&(p=-p),{raw:p,decimals:r}}function dh(e,t,n){return oO(e,t,n),e.rawt.raw?1:0}function nRe(e,t,n){return dh(e,t,n)===0}function rRe(e,t,n){return dh(e,t,n)===-1}function oRe(e,t,n){return dh(e,t,n)<=0}function sRe(e,t,n){return dh(e,t,n)===1}function iRe(e,t,n){return dh(e,t,n)>=0}var w2=10n**18n;function aRe(e,t,n){return oO(e,t,n),{raw:e.raw+t.raw,decimals:e.decimals}}function cRe(e,t,n){return oO(e,t,n),{raw:e.raw-t.raw,decimals:e.decimals}}function uRe(e,t){let n;if(typeof t=="bigint")n=e.raw*t;else{let r=BigInt(Math.round(t*Number(w2)));n=e.raw*r/w2}return{raw:n,decimals:e.decimals}}function dRe(e,t,n){let r;if(typeof t=="bigint"){if(t===0n)throw Ho("INVALID_INPUT",`${n}: division by zero`);r=e.raw/t}else{if(t===0)throw Ho("INVALID_INPUT",`${n}: division by zero`);let o=BigInt(Math.round(t*Number(w2)));r=e.raw*w2/o}return{raw:r,decimals:e.decimals}}function lRe(e){return{raw:e.raw<0n?-e.raw:e.raw,decimals:e.decimals}}function fRe(e){return{raw:-e.raw,decimals:e.decimals}}function pRe(e,t){let n=e.length;for(;n>t&&e[n-1]==="0";)n--;return e.slice(0,n)}function sO(e,t={}){let{locale:n="en-US",minimumFractionDigits:r=0,maximumFractionDigits:o=e.decimals,useGrouping:s=!0}=t;if(r>o)throw new RangeError(`minimumFractionDigits (${String(r)}) cannot be greater than maximumFractionDigits (${String(o)})`);let i=PN(e.decimals),a=e.raw<0n,c=a?-e.raw:e.raw,u=c/i,d=c%i,l=s?u.toLocaleString(n):u.toString(),m="";if(o>0){let g=d.toString().padStart(e.decimals,"0").slice(0,o);r0&&(m="."+g)}return(a?"-":"")+l+m}function mRe(e){return sO(e)}function hRe(e){return{raw:e.raw.toString(),decimals:e.decimals,formatted:sO(e)}}function yRe(e,t,n){if(rO(t,n),e.decimals===t)return{raw:e.raw,decimals:e.decimals};let r;if(t>e.decimals){let o=PN(t-e.decimals);r=e.raw*o}else{let o=PN(e.decimals-t);r=e.raw/o}return{raw:r,decimals:t}}var T2=class e{raw;decimals;constructor(t,n){this.raw=t,this.decimals=n,Object.freeze(this)}static of(t,n){if(rO(n.decimals,"Amount.of"),typeof t!="bigint")throw Ho("INVALID_INPUT",`Amount.of: expected bigint, got ${typeof t}`,{input:t});return new e(t,n.decimals)}static parse(t,n){let r=tRe(t,n,"Amount.parse");return new e(r.raw,r.decimals)}static from(t,n){if(t instanceof e)return gY(t.decimals,n?.decimals,"Amount.from"),t;if(e.isAmount(t))return gY(t.decimals,n?.decimals,"Amount.from"),new e(t.raw,t.decimals);if(n===void 0)throw Ho("INVALID_INPUT","Amount.from: config with decimals is required for non-Amount inputs",{input:t});return typeof t=="bigint"?e.of(t,n):e.parse(t,n)}static zero(t){return e.of(0n,t)}static isAmount(t){return typeof t=="object"&&t!==null&&"raw"in t&&typeof t.raw=="bigint"&&"decimals"in t&&typeof t.decimals=="number"}static sum(t){let n=t[0];if(n===void 0)throw Ho("INVALID_INPUT","Amount.sum: cannot sum an empty array");if(t.length===1)return n;let r=t.slice(1).reduce((o,s,i)=>{if(s.decimals!==n.decimals)throw Ho("DECIMAL_MISMATCH",`Amount.sum: all amounts must have the same decimals (expected ${String(n.decimals)}, got ${String(s.decimals)} at index ${String(i+1)})`,{expectedDecimals:n.decimals,actualDecimals:s.decimals});return o+s.raw},n.raw);return new e(r,n.decimals)}static fromJSON(t){if(typeof t!="object"||t===null||!("raw"in t)||typeof t.raw!="string"||!("decimals"in t)||typeof t.decimals!="number")throw Ho("INVALID_INPUT","Amount.fromJSON: invalid JSON structure",{json:t});let{raw:n,decimals:r}=t;return e.of(BigInt(n),{decimals:r})}compare(t){return dh(this,t,"Amount.compare")}eq(t){return nRe(this,t,"Amount.eq")}lt(t){return rRe(this,t,"Amount.lt")}lte(t){return oRe(this,t,"Amount.lte")}gt(t){return sRe(this,t,"Amount.gt")}gte(t){return iRe(this,t,"Amount.gte")}min(t){return this.lt(t)?this:t}max(t){return this.gt(t)?this:t}add(t){let n=aRe(this,t,"Amount.add");return new e(n.raw,n.decimals)}sub(t){let n=cRe(this,t,"Amount.sub");return new e(n.raw,n.decimals)}mul(t){let n=uRe(this,t);return new e(n.raw,n.decimals)}div(t){let n=dRe(this,t,"Amount.div");return new e(n.raw,n.decimals)}abs(){let t=lRe(this);return new e(t.raw,t.decimals)}neg(){let t=fRe(this);return new e(t.raw,t.decimals)}isZero(){return this.raw===0n}isPositive(){return this.raw>0n}isNegative(){return this.raw<0n}toDecimals(t){if(this.decimals===t)return this;let n=yRe(this,t,"Amount.toDecimals");return new e(n.raw,n.decimals)}formatted(t={}){return sO(this,t)}toString(){return mRe(this)}toJSON(){return hRe(this)}};async function rZ(e,t,n){let r=eRe(n,{runtime:t.runtime,tokens:t.tokens}),o=await QSe(e,{capabilities:t.capabilities,getAddress:t.getAddress}),s={chain:o.chain,address:o.address,traceId:r.traceId};return Object.freeze({invocation:r,operation:o,actionContext:s})}var bRe=Object.freeze({success:!0,txId:"",blockId:"",costUsed:T2.zero({decimals:0}),raw:void 0}),gRe=Object.freeze({txId:"",txIds:[],wait:()=>Promise.resolve(bRe)});function _Re(e,t){return{transactions:[],name:e,meta:{},single:()=>{throw new De({..._t.VALIDATION_FAILED,recoverability:"FATAL",message:`${e}: no-op action has no transactions`})},estimateTotal:()=>Promise.resolve({totalFee:T2.zero({decimals:0}),count:0,estimates:[]}),execute:()=>Promise.resolve({success:!0,results:[],failedIndex:void 0}),output:t}}function Tt(e){let{name:t,inputSchema:n,description:r}=e;if(!t||typeof t!="string")throw tt("name",t,"Action name must be a non-empty string");return{name:t,inputSchema:n,description:r,bind(o){return"execute"in o?ARe(t,n,o,r):ERe(t,n,o,r)}}}function oZ(e,t,n){let r=t.safeParse(n);if(r.success)return r.data;throw new De({..._t.VALIDATION_FAILED,recoverability:"FATAL",message:`Input validation failed for ${e}.`,cause:{trace:{rawError:Pxe(r.error)}}})}function sZ(e,t){let n=t?.authorization;return{...t,authorization:{...n,intent:n?.intent??{action:e}}}}function ARe(e,t,n,r){let{adapter:o,execute:s}=n,i=o.ctx,a=async(c,u,d)=>{let l=oZ(e,t,c),m=sZ(e,d),p=await rZ(u,i,m),g=XY({name:e,description:r,invocation:p.invocation,tags:nZ(p.operation.chain,p.operation.address,d?.tags,i.identity),meta:d?.meta}),E=QY({config:i.config,normalizeError:i.normalizeError});return tZ(g,E,async()=>{let x={...p.actionContext,chain:p.actionContext.chain,adapter:o,tokens:p.invocation.tokens,invocation:p.invocation,read:async S=>o.read(S,u,p.invocation)};return s(l,x)})};return Object.defineProperty(a,"name",{value:e}),Object.defineProperty(a,"type",{value:"read"}),Object.defineProperty(a,"description",{value:r}),a}function ERe(e,t,n,r){let{adapter:o,build:s}=n,i=o.ctx;async function a(d,l,m){let p=oZ(e,t,d),g=sZ(e,m),E=await rZ(l,i,g),x=[],S=!1,N=XY({name:`${e}.prepare`,description:r,invocation:E.invocation,tags:nZ(E.operation.chain,E.operation.address,m?.tags,i.identity),meta:m?.meta}),C=QY({config:i.config,normalizeError:i.normalizeError});return{...await tZ(N,C,async()=>{let D={...E.actionContext,chain:E.actionContext.chain,adapter:o,tokens:E.invocation.tokens,invocation:E.invocation,noop:()=>{S=!0},write:U=>{x.push(U)},read:async U=>o.read(U,l,E.invocation)};return{output:await s(p,D),writeInputs:[...x]}}),isNoop:S,ctx:E}}let c=async(d,l,m)=>{let{output:p,writeInputs:g,isNoop:E,ctx:x}=await a(d,l,m);if(E&&g.length===0)return _Re(e,p);if(g.length===0)throw new De({..._t.VALIDATION_FAILED,recoverability:"FATAL",message:`${e}: no transactions to execute; build must call ctx.write() at least once`});let S;if(g.length===1){let C=g[0];if(C===void 0)throw new De({..._t.VALIDATION_FAILED,recoverability:"FATAL",message:`${e}: writeInputs must not contain undefined when length is 1`});S=C}else S=g;let N=await o.prepare(S,l,x.invocation);return Object.assign(N,{output:p})},u=async(d,l,m)=>{let p=await c(d,l,m);m?.skipEstimate!==!0&&await p.estimateTotal();let g=[],E=p.transactions;if(E.length===0)return gRe;for(let C=0;Cawait Promise.resolve(U)}}let x=E.at(-1);if(x===void 0)throw new De({..._t.VALIDATION_FAILED,recoverability:"FATAL",message:`${e}: transactions array contains undefined; adapter must not return sparse arrays`});let{txId:S,wait:N}=await x.execute();return g.push(S),{txId:S,txIds:g,wait:N}};return Object.defineProperty(u,"name",{value:e}),Object.defineProperty(u,"type",{value:"write"}),Object.defineProperty(u,"description",{value:r}),Object.assign(u,{prepare:c}),u}var Kt=h.string().trim().min(1,"Address is required"),eu=h.bigint().nonnegative("Amount must be non-negative"),xRe=h.object({locator:h.string().min(1,"Token locator is required"),decimals:h.number().int().nonnegative().optional()}),wRe=h.union([h.string().trim().min(1,"Token symbol or address is required"),xRe]).transform(e=>e),Og=h.object({token:wRe}),iO=h.object({walletAddress:Kt.optional()}),iZ=h.object({delegate:Kt}),TRe=h.object({to:Kt}),aZ=h.object({amount:eu}),SRe=iO,RRe=Og.merge(iO),vRe=Og,IRe=Og.merge(iO).merge(iZ),CRe=iZ.merge(aZ),cZ=Og.merge(CRe),uZ=TRe.merge(aZ),NRe=Og.merge(uZ);Tt({name:"token.balanceOf",description:"Get the balance of a token for a wallet address",inputSchema:RRe});Tt({name:"token.allowance",description:"Get the allowance a spender has for an owner's tokens",inputSchema:IRe});Tt({name:"token.approve",description:"Approve a spender to spend tokens",inputSchema:cZ});Tt({name:"token.transfer",description:"Transfer tokens to a recipient",inputSchema:NRe});Tt({name:"token.increaseAllowance",description:"Safely increase a spender allowance (ERC20 extension)",inputSchema:cZ});Tt({name:"token.name",description:"Read the on-chain name of a token contract",inputSchema:vRe});Tt({name:"native.balanceOf",description:"Get the native token balance for a wallet address",inputSchema:SRe});Tt({name:"native.transfer",description:"Transfer native tokens to a recipient",inputSchema:uZ});var dZ=v2e.transform(e=>e),aO=h.object({amount:eu,mintRecipient:Kt,destinationCaller:Kt.optional(),maxFee:eu,minFinalityThreshold:h.number().int().nonnegative(),toChain:dZ}),ORe=h.object({eventNonce:h.string().min(1,"Event nonce is required"),attestation:h.string().min(1),message:h.string().min(1),fromChain:dZ,destinationAddress:Kt.optional(),mintRecipient:Kt.optional()}),_Y=/^0x[0-9a-fA-F]{64}$/,kRe=h.object({deadline:h.bigint().positive("Permit deadline must be a positive timestamp"),v:h.number().int(),r:h.string().regex(_Y,"r must be a 0x-prefixed 32-byte hex string"),s:h.string().regex(_Y,"s must be a 0x-prefixed 32-byte hex string")}),lZ=aO.extend({protocolFee:eu.optional(),feeRecipient:Kt.optional(),permitParams:kRe.optional()});function fZ(e,t){let n=e.protocolFee??0n;n>0n&&e.feeRecipient===void 0&&t.addIssue({code:"custom",path:["feeRecipient"],message:"protocolFee requires feeRecipient. Specify where the fee should be sent."}),e.feeRecipient!==void 0&&n===0n&&t.addIssue({code:"custom",path:["protocolFee"],message:"feeRecipient requires non-zero protocolFee. Specify the fee amount to send."}),e.protocolFee!==void 0&&e.protocolFee===0n&&t.addIssue({code:"custom",path:["protocolFee"],message:"protocolFee is explicitly set to 0. Omit the field if no fee is intended."})}var DRe=lZ.superRefine(fZ),pZ=h.string().min(4,'hookData must contain at least one full byte (e.g. "0xAB")').regex(/^0x[0-9a-fA-F]+$/,"hookData must be a 0x-prefixed hex string").refine(e=>(e.length-2)%2===0,"hookData hex payload must be an even number of characters (whole bytes)"),BRe=aO.extend({hookData:pZ}),PRe=lZ.extend({hookData:pZ}).superRefine(fZ);Tt({name:"cctp.v2.depositForBurn",description:"Burn USDC to initiate a CCTP v2 cross-chain transfer",inputSchema:aO});Tt({name:"cctp.v2.receiveMessage",description:"Submit CCTP message and attestation to mint USDC on destination chain",inputSchema:ORe});Tt({name:"cctp.v2.customBurn",description:"Burn USDC via custom bridge contract with protocol fee support",inputSchema:DRe});Tt({name:"cctp.v2.depositForBurnWithHook",description:"Burn USDC with hook data for automatic relay via Orbit relayer",inputSchema:BRe});Tt({name:"cctp.v2.customBurnWithHook",description:"Burn USDC via custom bridge contract with hook data for Orbit relayer",inputSchema:PRe});var cO=/^0x[0-9a-fA-F]{64}$/,LRe=/^0x[0-9a-fA-F]{130}$/,MRe=cO,FRe=new Set([0,1,27,28]),mZ=h.string().regex(LRe,"signature must be a 0x-prefixed 65-byte hex string"),hZ=h.string().regex(cO,"r must be a 0x-prefixed 32-byte hex string"),yZ=h.string().regex(cO,"s must be a 0x-prefixed 32-byte hex string"),bZ=h.number().int().refine(e=>FRe.has(e),"v must be a valid ECDSA recovery id (0, 1, 27, or 28)");function gZ(e,t){let n=e.signature!==void 0,r=[e.v,e.r,e.s],o=r.filter(a=>a!==void 0),s=o.length>0,i=o.length===r.length;n&&s&&t.addIssue({code:h.ZodIssueCode.custom,message:"Provide either `signature` or the `v`/`r`/`s` triple, not both.",path:["signature"]}),!n&&!s&&t.addIssue({code:h.ZodIssueCode.custom,message:"Missing signature: provide either `signature` or the `v`/`r`/`s` triple.",path:["signature"]}),!n&&s&&!i&&t.addIssue({code:h.ZodIssueCode.custom,message:"Incomplete signature: `v`, `r`, and `s` must all be provided together.",path:["v"]})}var URe=h.object({token:Kt,value:eu}),HRe=h.object({token:Kt,depositor:Kt,value:eu}),$Re=h.object({token:Kt,owner:Kt,value:eu,deadline:h.bigint(),signature:mZ.optional(),v:bZ.optional(),r:hZ.optional(),s:yZ.optional()}).superRefine(gZ),zRe=h.object({token:Kt,from:Kt,value:eu,validAfter:h.bigint().nonnegative("validAfter must be a non-negative Unix timestamp"),validBefore:h.bigint().nonnegative("validBefore must be a non-negative Unix timestamp"),nonce:h.string().regex(MRe,"nonce must be a 0x-prefixed 32-byte hex string"),signature:mZ.optional(),v:bZ.optional(),r:hZ.optional(),s:yZ.optional()}).superRefine((e,t)=>{gZ(e,t),e.validBefore<=e.validAfter&&t.addIssue({code:h.ZodIssueCode.custom,message:"validBefore must be strictly greater than validAfter.",path:["validBefore"]})}),VRe=h.object({token:Kt,delegate:Kt}),jRe=h.object({token:Kt,delegate:Kt}),GRe=h.object({token:Kt,depositor:Kt,delegate:Kt}),WRe=h.object({token:Kt,value:eu}),qRe=h.object({token:Kt}),KRe=h.object({token:Kt,depositor:Kt}),YRe=h.object({token:Kt,depositor:Kt}),S2=h.string().regex(/^0x[0-9a-fA-F]*$/,"Expected a 0x-prefixed hex string"),ZRe=h.object({calldataBytes:S2,signature:S2}),XRe=h.object({attestation:S2,signature:S2}),JRe=h.object({typedData:h.unknown()});Tt({name:"gateway.v1.deposit",description:"Deposit tokens into a Gateway Wallet account",inputSchema:URe});Tt({name:"gateway.v1.depositFor",description:"Deposit tokens on behalf of another address",inputSchema:HRe});Tt({name:"gateway.v1.depositWithPermit",description:"Deposit with EIP-2612 permit signature",inputSchema:$Re});Tt({name:"gateway.v1.depositWithAuthorization",description:"Deposit with EIP-3009 transferWithAuthorization",inputSchema:zRe});Tt({name:"gateway.v1.addDelegate",description:"Grant spending rights to a delegate",inputSchema:VRe});Tt({name:"gateway.v1.removeDelegate",description:"Revoke spending rights from a delegate",inputSchema:jRe});Tt({name:"gateway.v1.isDelegate",description:"Check delegate authorization status",inputSchema:GRe});Tt({name:"gateway.v1.initiateWithdrawal",description:"Start a delayed fund removal from a Gateway account",inputSchema:WRe});Tt({name:"gateway.v1.withdraw",description:"Complete a fund removal after the withdrawal delay",inputSchema:qRe});Tt({name:"gateway.v1.withdrawingBalance",description:"Query pending withdrawal balance",inputSchema:KRe});Tt({name:"gateway.v1.withdrawalBlock",description:"Query withdrawal block number",inputSchema:YRe});Tt({name:"gateway.v1.gatewayBurn",description:"Burn tokens for a cross-chain spend",inputSchema:ZRe});Tt({name:"gateway.v1.gatewayMint",description:"Mint tokens on destination chain",inputSchema:XRe});Tt({name:"gateway.v1.signBurnIntents",description:"Sign burn intents for Gateway transfer",inputSchema:JRe});var LN;(function(e){e[e.NONE=0]="NONE",e[e.EIP2612=1]="EIP2612"})(LN||(LN={}));var QRe=h.string().regex(/^0x[0-9a-fA-F]{130}$/,"Expected a 0x-prefixed 65-byte EIP-712 signature (130 hex chars)"),eve=h.string().regex(/^0x[0-9a-fA-F]{40}$/,"Expected a 0x-prefixed 20-byte EVM address (40 hex chars)"),tve=h.string().regex(/^0x([0-9a-fA-F]{2})*$/,"Expected a 0x-prefixed even-length hex string"),nve=h.bigint().nonnegative(),rve=h.object({permitType:h.nativeEnum(LN),token:eve,amount:nve,permitCalldata:tve}).strict(),ove=h.object({}).passthrough(),uO=h.object({executeParams:ove,tokenInputs:h.array(rve),signature:QRe}).strict();Tt({name:"earn.deposit",description:"Deposit tokens into an earn vault",inputSchema:uO});Tt({name:"earn.withdraw",description:"Withdraw tokens from an earn vault",inputSchema:uO});Tt({name:"earn.claimRewards",description:"Claim accrued rewards from an earn vault",inputSchema:uO});var MN;(function(e){e[e.NONE=0]="NONE",e[e.EIP2612=1]="EIP2612"})(MN||(MN={}));var sve=h.string().regex(/^0x[0-9a-fA-F]{130}$/,"Expected a 0x-prefixed 65-byte EIP-712 signature (130 hex chars)"),ih=h.string().regex(/^0x[0-9a-fA-F]{40}$/,"Expected a 0x-prefixed 20-byte EVM address (40 hex chars)"),FN=h.string().regex(/^0x([0-9a-fA-F]{2})*$/,"Expected a 0x-prefixed even-length hex string"),ive=h.object({permitType:h.nativeEnum(MN),token:ih,amount:h.bigint().nonnegative(),permitCalldata:FN}).strict();function ave(e){try{return BigInt(e)>=0n}catch{return!1}}var wg=h.union([h.string(),h.bigint()]).refine(ave,{message:"value must be a non-negative bigint-compatible string or bigint"}),cve=h.object({instructions:h.array(h.object({target:ih,data:FN,value:wg,tokenIn:ih,amountToApprove:wg,tokenOut:ih,minTokenOut:wg}).passthrough()).min(1),tokens:h.array(h.object({token:ih,beneficiary:ih}).passthrough()),execId:wg,deadline:wg,metadata:FN}).passthrough(),_Z=h.object({executeParams:cve,tokenInputs:h.array(ive),signature:sve}).strict();Tt({name:"borrow.repay",description:"Repay part of a Borrow Kit loan",inputSchema:_Z});var uve=_Z;Tt({name:"borrow.execute",description:"Borrow against a Borrow Kit market",inputSchema:uve});var UN;(function(e){e[e.NONE=0]="NONE",e[e.EIP2612=1]="EIP2612"})(UN||(UN={}));var dO=h.string().regex(/^0x[0-9a-fA-F]*$/,"Expected a 0x-prefixed hex string"),Jf=h.string().regex(/^0x[0-9a-fA-F]{40}$/,"Expected a 0x-prefixed 20-byte hex address"),dve=h.string().regex(/^0x[0-9a-fA-F]{130}$/,"Expected a 0x-prefixed 65-byte EIP-712 signature (130 hex chars)"),lve=h.string().regex(/^(?:[A-Za-z0-9+/]{4})+(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/,"Expected a non-empty base64-encoded string (length multiple of 4, optional `=` padding)"),Qf=h.bigint().nonnegative(),fve=h.object({target:Jf,data:dO,value:Qf,tokenIn:Jf,amountToApprove:Qf,tokenOut:Jf,minTokenOut:Qf}).strict(),pve=h.object({token:Jf,beneficiary:Jf}).strict(),mve=64,hve=h.object({instructions:h.array(fve).min(1).max(mve),tokens:h.array(pve),execId:Qf,deadline:Qf,metadata:dO}).strict(),yve=h.object({permitType:h.nativeEnum(UN),token:Jf,amount:Qf,permitCalldata:dO}).strict(),bve=h.object({executeParams:hve,tokenInputs:h.array(yve),signature:dve,inputAmount:Qf,tokenInAddress:Jf}).strict(),gve=h.object({serializedTransaction:lve}).strict(),_ve=h.unknown().superRefine((e,t)=>{if(typeof e!="object"||e===null){t.addIssue({code:h.ZodIssueCode.custom,message:"swap.execute input must be an object containing either EVM (executeParams, tokenInputs, signature, inputAmount, tokenInAddress) or Solana (serializedTransaction) fields."});return}let n=e,r="serializedTransaction"in n,o="executeParams"in n;if(r&&o){t.addIssue({code:h.ZodIssueCode.custom,message:"swap.execute input is ambiguous: it carries both Solana (`serializedTransaction`) and EVM (`executeParams`) fields. Provide exactly one ecosystem payload."});return}if(r){let s=gve.safeParse(e);if(!s.success)for(let i of s.error.issues)t.addIssue(i);return}if(o){let s=bve.safeParse(e);if(!s.success)for(let i of s.error.issues)t.addIssue(i);return}t.addIssue({code:h.ZodIssueCode.custom,message:"swap.execute input is neither an EVM nor a Solana payload. Expected either `serializedTransaction` (Solana) or `executeParams` plus `tokenInputs`, `signature`, `inputAmount`, `tokenInAddress` (EVM)."})}).transform(e=>e);Tt({name:"swap.execute",description:"Execute a pre-built swap transaction",inputSchema:_ve});function Ave(e){if(e.type!=="evm")throw new De({..._t.INVALID_CHAIN,recoverability:"FATAL",message:`Expected an EVM chain but received "${e.name}" (type: "${e.type}"). EVM actions can only be used with EVM-compatible chains.`})}function Eve(e){let t=new TextEncoder().encode(e),n=vm(t),r="";for(let o=0;o="0"&&s<="9")r+=s;else{let i=n[o>>1]??0,a=o&1?i&15:i>>4;r+=a>=8?s.toUpperCase():s}}return r}function xve(e){if(!/^0x[0-9a-fA-F]{40}$/.test(e))throw new De({..._t.INVALID_ADDRESS,recoverability:"FATAL",message:`Expected a 0x-prefixed 20-byte EVM address (40 hex characters), got: "${e}"`});let t=e.slice(2),n=/[A-F]/.test(t),r=/[a-f]/.test(t);if(n&&r){let o=`0x${Eve(t.toLowerCase())}`;if(o!==e)throw new De({..._t.INVALID_ADDRESS,recoverability:"FATAL",message:`EVM address failed EIP-55 checksum: "${e}". Expected "${o}" (or pass the address in pure lowercase).`})}return e}var wve=1024,ah=new Map;function Tve(e,t){if(ah.size>=wve&&!ah.has(e)){let n=ah.keys().next().value;n!==void 0&&ah.delete(n)}ah.set(e,t)}function Sve(e){return tt("decimals",e,"Token decimals must be an integer between 0 and 255")}function Rve(e,t,n){return tt("tokenAddress",e,`Failed to fetch decimals for token on ${t.name}: ${n}`)}async function vve(e,t,n,r){Ave(n);let o=xve(t),s=`${n.chain}:${o.toLowerCase()}`,i=ah.get(s);if(i!==void 0)return i;let a;try{a=await e({address:o,abi:Ng,functionName:"decimals",args:[]})}catch(u){throw u instanceof De?u:Rve(t,n,b2(zN(u)))}let c=typeof a=="number"||typeof a=="bigint"?Number(a):Number.NaN;if(!Number.isInteger(c)||c<0||c>255)throw Sve(a);return Tve(s,c),c}var Ive=h.custom(e=>typeof e=="string"&&/^0x([0-9a-fA-F]{2})*$/.test(e),{message:"Must be a byte-aligned hex-prefixed string (0x followed by an even number of hex characters)"}),R2=h.custom(e=>typeof e=="string"&&/^0x[a-fA-F0-9]{40}$/.test(e),{message:"Invalid EVM address format (expected 0x + 40 hex characters)"}),Cve=h.custom(e=>typeof e=="string"&&/^0x[a-fA-F0-9]{64}$/.test(e),{message:"Invalid bytes32 format (expected 0x + 64 hex characters)"}),lO=h.object({to:R2,from:R2,data:Ive,value:h.bigint().nonnegative()}),Nve=h.object({gas:h.bigint().positive().optional(),maxFeePerGas:h.bigint().positive().optional(),maxPriorityFeePerGas:h.bigint().nonnegative().optional(),gasPrice:h.bigint().positive().optional(),nonce:h.number().int().nonnegative().optional()}).refine(e=>!(e.gasPrice!==void 0&&(e.maxFeePerGas!==void 0||e.maxPriorityFeePerGas!==void 0)),{message:"Cannot combine legacy gasPrice with EIP-1559 fields (maxFeePerGas / maxPriorityFeePerGas). Use one pricing model."});h.object({raw:lO,overrides:Nve.optional()});var Ove=h.string().regex(/^0x[0-9a-fA-F]{40}$/,"Expected a 0x-prefixed 20-byte EVM address (40 hex chars)"),kve=h.object({to:Ove,amount:h.bigint().nonnegative()}).strict();Tt({name:"usdt.transfer",description:"Transfer USDT to a recipient (address resolved from chain)",inputSchema:kve});var AZ={address:R2,abi:h.array(h.unknown()).min(1,"ABI must not be empty"),functionName:h.string().min(1,"Function name is required"),args:h.array(h.unknown()).optional(),value:h.bigint().optional()};h.object({type:h.literal("contract").optional(),...AZ});h.object({type:h.literal("raw"),raw:lO});var Dve=h.object({type:h.literal("native"),address:R2,value:h.bigint()}),Bve=h.object({type:h.literal("contract"),...AZ}),Pve=h.object({type:h.literal("raw"),raw:lO});h.preprocess(e=>{if(typeof e=="object"&&e!==null&&!Array.isArray(e)){let t=e;return t.type==="evm"?{...t,type:"contract"}:"type"in t?e:Array.isArray(t.abi)&&t.abi.length===0&&t.functionName===""?{type:"native",address:t.address,value:t.value??0n}:{...t,type:"contract"}}return e},h.discriminatedUnion("type",[Pve,Bve,Dve]));h.object({txId:Cve,finality:h.union([h.number().int().positive(),h.string()]).optional(),timeout:h.number().positive().optional()});var EN={retryCount:0,retryDelay:0};function Lve(e,t){if(e&&e.rpcEndpoints.length>0){let n=e.rpcEndpoints;if(n.length===1){let o=O2e(e);return mg(o,EN)}let r=n.map(o=>mg(o,EN));return $C(r)}return mg(void 0,EN)}var Mve=(e,t)=>({chain:n})=>{let r=e.get(n.id);if(r)return r;try{let o=t;if(!o)try{o=N2e(n.id)}catch{o=void 0}let s=Lve(o),a=HC({transport:s,chain:n});return e.set(n.id,a),a}catch(o){let s=o instanceof Error?o.message:String(o);throw new Error(`Failed to create PublicClient for chain ${n.name} (ID: ${String(n.id)}): ${s}. Please ensure the chain configuration is valid and the RPC endpoint is accessible.`)}},xN=e=>{let t=BY(e);switch(t.chain){case B.Arbitrum:return GC;case B.Arbitrum_Sepolia:return WC;case B.Avalanche:return qC;case B.Avalanche_Fuji:return KC;case B.Base:return i2;case B.Base_Sepolia:return a2;case B.Celo:return ZC;case B.Celo_Alfajores_Testnet:return XC;case B.Cronos:return JC;case B.Cronos_Testnet:return QC;case B.Ethereum:return nN;case B.Ethereum_Sepolia:return uN;case B.Linea:return eN;case B.Linea_Sepolia:return tN;case B.Optimism:return rN;case B.Optimism_Sepolia:return oN;case B.Plasma:return sN;case B.Plasma_Testnet:return iN;case B.Sei:return aN;case B.Sei_Testnet:return cN;case B.Sonic:return dN;case B.Unichain:return lN;case B.Unichain_Sepolia:return fN;case B.World_Chain:return pN;case B.World_Chain_Sepolia:return mN;case B.XDC:return hN;case B.XDC_Apothem:return yN;case B.ZKSync_Era:return p2;case B.ZKSync_Sepolia:return m2;case B.Arc:case B.Arc_Testnet:case B.Codex:case B.Codex_Testnet:case B.Edge:case B.Edge_Testnet:case B.HyperEVM:case B.HyperEVM_Testnet:case B.Injective:case B.Injective_Testnet:case B.Ink:case B.Ink_Testnet:case B.Monad:case B.Monad_Testnet:case B.Morph:case B.Morph_Testnet:case B.Pharos:case B.Pharos_Testnet:case B.Plume:case B.Plume_Testnet:case B.Polygon:case B.Polygon_Amoy_Testnet:case B.Sonic_Testnet:case B.X_Layer:case B.X_Layer_Testnet:return{id:t.chainId,name:t.name,nativeCurrency:t.nativeCurrency,rpcUrls:{default:{http:t.rpcEndpoints}},blockExplorers:{default:{name:`${t.name} Explorer`,url:t.explorerUrl}}};default:throw new Error(`Unsupported blockchain: ${String(e)}. Please ensure the blockchain is supported in the getViemChainByEnum mapping or add a custom definition.`)}},Fve=h.object({getPublicClient:h.function().args(h.object({chain:h.unknown()})).returns(h.unknown()),getWalletClient:h.function().returns(h.union([h.unknown(),h.promise(h.unknown())])).refine(e=>typeof e=="function",{message:"getWalletClient must be a function that returns WalletClient or Promise"})}),jot=h.object({privateKey:LTe,getPublicClient:h.function().args(h.object({chain:h.unknown()})).returns(h.unknown()).optional(),getWalletClient:h.function().args(h.object({chain:h.unknown(),account:h.unknown()})).returns(h.union([h.unknown(),h.promise(h.unknown())])).optional(),capabilities:XN.partial().optional()}),Uve=h.object({provider:h.object({request:h.function()}).passthrough(),getPublicClient:h.function().args(h.object({chain:h.unknown()})).returns(h.unknown()).optional(),capabilities:XN.partial().optional()});function Hve(e){Cg(e,Fve,"ViemAdapterOptions")}function $ve(e){Cg(e,Uve,"CreateViemAdapterFromProviderParams")}function zve(e){Cg(e,XN,"AdapterCapabilities")}var HN=class extends DN{options;cachedWalletClients=new Map;walletClientInitPromises=new Map;cachedPublicClients=new Map;cachedCapabilities=new Map;constructor(t,n){super(),Hve(t),zve(n),this.options=t,this.capabilities=n}resetState(){this.cachedPublicClients.clear(),this.cachedWalletClients.clear(),this.walletClientInitPromises.clear(),this.cachedCapabilities.clear()}transformOverridesForViem(t){if(!t)return{};let{gasLimit:n,...r}=t;return{...r,...n!==void 0&&{gas:BigInt(n)}}}async switchToChain(t){if(t.type!=="evm")throw new Error(`ViemAdapter can only switch to EVM chains. Received: ${String(t.type)} (${t.name})`);try{typeof window>"u"?await this.initializeWalletClient(t):await(await this.initializeWalletClient(t)).switchChain({id:t.chainId})}catch(n){let r=n instanceof Error?n.message:String(n);throw new Error(`Failed to switch to chain ${t.name} (ID: ${String(t.chainId)}): ${r}. Ensure the chain is supported by your wallet or provider.`)}}parseAndValidateAbi(t,n){let r;try{r=Array.isArray(t)&&typeof t[0]=="string"?yf(t):t}catch(s){let i=s instanceof Error?s.message:"Unknown error";throw new Error(`Invalid contract ABI: ${i}`)}if(!r.some(s=>s.type==="function"&&s.name===n)){let s=r.filter(i=>i.type==="function").map(i=>i.name);throw new Error(`Function '${n}' not found in ABI. Available functions: ${s.join(", ")}`)}return r}prepareStateChangingFunction(t,n,r,o){let{address:s,abi:i,functionName:a,args:c,value:u}=n,l=Ft({abi:i,functionName:a,args:c});return{type:"evm",getCallData:()=>({to:s,data:l,value:u}),estimate:async(m,p)=>{let g,E=await this.getPublicClient(r);try{g=await E.estimateGas({account:o,to:s,data:l,value:u,...this.transformOverridesForViem(m)})}catch(N){let C=N instanceof Error?N.message:"Unknown error";if(p&&C.toLowerCase().includes("execution reverted"))return p;throw qf(N,{chain:r.name,operation:"estimateGas"})}let x;try{x=await this.fetchGasPrice(r)}catch(N){throw qf(N,{chain:r.name,operation:"getGasPrice"})}let S=(g*x).toString();return{gas:g,fee:S,gasPrice:x}},execute:async m=>{for(let E=1;E<=5;E++)try{await t.call({account:o,to:s,data:l,value:u,...this.transformOverridesForViem(m)});break}catch(x){let N=(x instanceof Error?x.message:String(x)).toLowerCase();if((N.includes("exceeds allowance")||N.includes("insufficient allowance"))&&E<5){await new Promise(v=>setTimeout(v,1e3*E));continue}throw qf(x,{chain:r.name,operation:"simulation"})}return await this.sendTransaction({to:s,data:l,...u!==void 0&&{value:u}},r,o,m)}}}async prepare(t,n){let{address:r,abi:o,functionName:s,args:i,value:a}=t,c=!o&&!s&&!i&&a!==void 0;c?jTe({address:r,value:a}):pY(t);let u=E2(n.chain);if(u.type!=="evm")throw new Error(`Invalid chain type '${String(u.type)}' for ViemAdapter. Expected 'evm' chain type.`);if(c){let E=await Tg(this,n);if(!E)throw new De({..._t.VALIDATION_FAILED,recoverability:"FATAL",message:"OperationContext resolution failed. Ensure the adapter has capabilities configured.",cause:{trace:{operation:"prepare",context:"native-transfer"}}});return this.prepareNativeTransfer(r,a,u,E.address)}let d=this.parseAndValidateAbi(o,s),l=GTe(d,s,!1),m=await this.getPublicClient(u);if(l)return this.handleReadOnlyFunction(m,r,d,s,i,t.blockNumber);let p=await Tg(this,n);if(!p)throw new Error("OperationContext resolution failed. Ensure the adapter has capabilities configured.");let g={address:r,abi:d,functionName:s,args:i,...a!==void 0&&{value:a}};return this.prepareStateChangingFunction(m,g,u,p.address)}async handleReadOnlyFunction(t,n,r,o,s,i){return{type:"evm",estimate:(await HY()).estimate,execute:async()=>{try{let c=t.readContract,u=await c({address:n,abi:r,functionName:o,args:s,...i!==void 0&&{blockNumber:i}});return typeof u=="bigint"?u.toString():typeof u=="string"||typeof u=="number"||typeof u=="boolean"?String(u):JSON.stringify(u)}catch(c){let u=c instanceof Error?c.message:"Unknown error";throw new Error(`Read contract failed: ${u}`)}}}}resolveEffectiveAccount(t,n){if(this.capabilities?.addressContext==="developer-controlled")return{address:n,type:"json-rpc"};let o=t.account;if(!o)throw tt("wallet","disconnected","No wallet is connected. Please connect a wallet to sign and execute transactions.");return o}async sendTransaction(t,n,r,o){await this.ensureChain(n);let s=await this.initializeWalletClient(n),i=this.resolveEffectiveAccount(s,r);try{return await s.sendTransaction({...t,account:i,chain:await this.getViemChain(n),kzg:void 0,...this.transformOverridesForViem(o)})}catch(a){throw qf(a,{chain:n.name,operation:"sendTransaction"})}}prepareNativeTransfer(t,n,r,o){return{type:"evm",estimate:async(s,i)=>{let a=await this.getPublicClient(r),c;try{c=await a.estimateGas({account:o,to:t,value:n,...this.transformOverridesForViem(s)})}catch(d){let l=d instanceof Error?d.message:"Unknown error";if(i&&l.toLowerCase().includes("execution reverted"))return i;throw qf(d,{chain:r.name,operation:"estimateGas"})}let u;try{u=await this.fetchGasPrice(r)}catch(d){throw qf(d,{chain:r.name,operation:"getGasPrice"})}return{gas:c,gasPrice:u,fee:(c*u).toString()}},execute:async s=>await this.sendTransaction({to:t,value:n},r,o,s)}}async getAddress(t){if(this.capabilities?.addressContext==="developer-controlled")throw tt("adapter","invalid-operation","Cannot call getAddress() on developer-controlled adapters. Address must be provided explicitly in the operation context.");if(!t)throw tt("chain","required","Chain parameter is required for address resolution. This should be provided by the OperationContext pattern.");let n=await this.initializeWalletClient(t),r=n.account?.address??(await n.getAddresses())[0];if(!r)throw tt("wallet","no-addresses","No addresses available in wallet");return r}async getViemChain(t){return await Promise.resolve(xN(t.chain))}async getPublicClient(t){let n=this.cachedPublicClients.get(t.chainId);if(n)return await Promise.resolve(n);let r=xN(t.chain),o=this.options.getPublicClient({chain:r});return this.cachedPublicClients.set(t.chainId,o),await Promise.resolve(o)}async initializeWalletClient(t){let n=t.chainId,r=this.cachedWalletClients.get(n);if(r)return r;let o=this.walletClientInitPromises.get(n);if(o)return o;let s=(async()=>{try{let i=xN(t.chain),a=this.options.getWalletClient,c=await a({chain:i});return this.cachedWalletClients.set(n,c),this.walletClientInitPromises.delete(n),c}catch(i){throw this.walletClientInitPromises.delete(n),new Error(`Failed to initialize wallet client for chain ${t.name}: ${i instanceof Error?i.message:String(i)}`)}})();return this.walletClientInitPromises.set(n,s),s}async waitForTransaction(t,n,r){zTe(t);let s=await(await this.getPublicClient(r)).waitForTransactionReceipt({hash:t,confirmations:n?.confirmations,timeout:n?.timeout});return{txHash:s.transactionHash,status:s.status,cumulativeGasUsed:s.cumulativeGasUsed,gasUsed:s.gasUsed,blockNumber:s.blockNumber,blockHash:s.blockHash,transactionIndex:s.transactionIndex,effectiveGasPrice:s.effectiveGasPrice}}async fetchGasPrice(t){return await(await this.getPublicClient(t)).getGasPrice()}async readNativeBalance(t,n){let r=await this.getPublicClient(n);try{return await r.getBalance({address:t})}catch(o){let s=o instanceof Error?o.message:String(o);throw new De({...y2.ENDPOINT_ERROR,recoverability:"RETRYABLE",message:`Failed to get native balance for ${t}: ${s}`,cause:{trace:{operation:"readNativeBalance",address:t,chain:n.name}}})}}async readBytecode(t,n){let r=await this.getPublicClient(n);try{return await r.getCode({address:t})??"0x"}catch(o){let s=o instanceof Error?o.message:String(o);throw new De({...y2.ENDPOINT_ERROR,recoverability:"RETRYABLE",message:`Failed to read bytecode for ${t}: ${s}`,cause:{trace:{operation:"readBytecode",address:t,chain:n.name}}})}}async signTypedData(t,n){MTe(t);let r=await Tg(this,n);if(!r)throw tt("context","resolution-failed","OperationContext resolution failed. Ensure the adapter has capabilities configured.");let o=r.chain;if(o.type!=="evm")throw _r(o.name,`Invalid chain type '${String(o.type)}' for ViemAdapter. Expected 'evm' chain type.`);let s=await this.initializeWalletClient(o),i=s.account,a=this.capabilities?.addressContext==="developer-controlled"?{address:r.address,type:"json-rpc"}:i;if(!a)throw tt("wallet","disconnected","No wallet is connected. Please connect a wallet to sign typed data.");let{domain:c,types:u,primaryType:d,message:l}=t,m={account:a,domain:c,types:u,primaryType:d,message:l};return s.signTypedData(m)}async readContract(t,n){let o=(await this.getPublicClient(n)).readContract;return await o(t)}async read(t,n){pY(t);let r=E2(n.chain);if(r.type!=="evm")throw new Error(`Invalid chain type '${String(r.type)}' for ViemAdapter. Expected 'evm' chain type.`);let o=this.parseAndValidateAbi(t.abi,t.functionName),i=(await this.getPublicClient(r)).readContract;return i({address:t.address,abi:o,functionName:t.functionName,args:t.args,...t.blockNumber!==void 0&&{blockNumber:t.blockNumber}})}async getTokenDecimals(t,n){return vve(async r=>{try{return await this.readContract(r,n)}catch(o){if(o instanceof De)throw o;let s="getTokenDecimals";throw qf({message:b2(zN(o)),operation:s,token:t},{chain:n.name,operation:s,token:t})}},t,n)}async supportsAtomicBatch(t){let n=this.cachedCapabilities.get(t.chainId);if(n!==void 0)return n.atomic;try{let o=(await this.initializeWalletClient(t)).getCapabilities;if(typeof o!="function")return this.cachedCapabilities.set(t.chainId,{atomic:!1}),!1;let s=await o(),a=(s[t.chainId]??s[`0x${t.chainId.toString(16)}`])?.atomic,c=a?.status==="supported"||a?.status==="ready"||a?.supported===!0;return this.cachedCapabilities.set(t.chainId,{atomic:c}),c}catch{return this.cachedCapabilities.set(t.chainId,{atomic:!1}),!1}}async batchExecute(t,n,r){if(!Array.isArray(t)||t.length===0)throw new De({..._t.VALIDATION_FAILED,recoverability:"FATAL",message:`batchExecute requires a non-empty array of calls. Received: ${Array.isArray(t)?"[]":typeof t}.`});let o=r?.timeout??12e4,s=r?.pollingInterval??2e3;await this.ensureChain(n);let i=await this.initializeWalletClient(n),a=i.account;if(!a)throw tt("wallet","disconnected","No wallet is connected. Please connect a wallet to execute batched calls.");let c=await this.getViemChain(n),u=i.sendCalls;if(typeof u!="function")throw new De({..._t.UNSUPPORTED_ACTION,recoverability:"FATAL",message:"Wallet client does not support sendCalls (EIP-5792). Ensure the wallet supports batched transactions."});let d=t.map(p=>{let g={to:p.to,data:p.data};return p.value!==void 0&&(g.value=p.value),g}),{id:l}=await u({account:a,chain:c,calls:d,forceAtomic:r?.atomicRequired!==!1});if(typeof l!="string"||!l)throw new De({...y2.INVALID_RESPONSE,recoverability:"FATAL",message:"wallet_sendCalls returned an invalid or missing batch identifier."});let m=i.getCallsStatus;if(typeof m!="function")return{batchId:l,receipts:[]};try{return await this.pollBatchStatus(m,l,t.length,o,s)}catch(p){return{batchId:l,receipts:[],error:p}}}async pollBatchStatus(t,n,r,o,s){let i=Date.now(),a=Math.ceil(o/s)+1;for(let c=0;co);c++){let d=await t({id:n}),l=d.status,m=d.statusCode;if(l==="success"||l==="failure"||l==="error"||m===200||m===400||m===500||m===600)return this.parseBatchReceipts(d,n,r);await new Promise(g=>setTimeout(g,s))}throw new De({...xY.TIMEOUT,recoverability:"RETRYABLE",message:`Batched call timeout: wallet_getCallsStatus did not return a terminal status within ${String(o)}ms (batchId: ${n}).`})}parseBatchReceipts(t,n,r){let o=Array.isArray(t.receipts)?t.receipts:[],s=t.statusCode,i=typeof s=="number"?s:void 0,a=o.map(u=>({txHash:typeof u.transactionHash=="string"?u.transactionHash:"",status:u.status==="success"||u.status==="0x1"?"success":"error"})),c=a[0];if(c&&a.length===1&&r>1)for(;a.length{if(!n){let i=Yw({transport:Zw(e.provider)}),a;try{a=await i.getAddresses()}catch{a=[]}if(a.length===0)try{a=await i.requestAddresses()}catch(u){throw new Error(`Failed to request addresses from provider: ${u instanceof Error?u.message:String(u)}. Please ensure the provider is connected and the user has granted access to accounts.`)}let[c]=a;if(!c)throw new Error("No address found in provider response. Please ensure the wallet is connected and has at least one account available.");n={address:c,type:"json-rpc"}}return Yw({account:n,chain:o.chain,transport:Zw(e.provider)})}},t);return await Promise.resolve(r)}export{M6 as UnifiedBalanceKit,Vve as createViemAdapterFromProvider,gt as resolveChainIdentifier}; diff --git a/dashboard/vendor/unified-balance-kit-1.8.0/index.js.LEGAL.txt b/dashboard/vendor/unified-balance-kit-1.8.0/index.js.LEGAL.txt new file mode 100644 index 0000000..b60f42d --- /dev/null +++ b/dashboard/vendor/unified-balance-kit-1.8.0/index.js.LEGAL.txt @@ -0,0 +1,269 @@ +Bundled license information: + +js-sha3/src/sha3.js: + /** + * [js-sha3]{@link https://github.com/emn178/js-sha3} + * + * @version 0.8.0 + * @author Chen, Yi-Cyuan [emn178@gmail.com] + * @copyright Chen, Yi-Cyuan 2015-2018 + * @license MIT + */ + +ieee754/index.js: + /*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */ + +buffer/index.js: + /*! + * The buffer module from node.js, for the browser. + * + * @author Feross Aboukhadijeh + * @license MIT + */ + +@noble/hashes/utils.js: +@noble/hashes/esm/utils.js: + /*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */ + +@noble/curves/utils.js: +@noble/curves/abstract/modular.js: +@noble/curves/abstract/curve.js: +@noble/curves/abstract/edwards.js: +@noble/curves/abstract/montgomery.js: +@noble/curves/ed25519.js: +@noble/curves/abstract/weierstrass.js: +@noble/curves/_shortw_utils.js: +@noble/curves/secp256k1.js: +@noble/curves/esm/abstract/utils.js: +@noble/curves/esm/abstract/modular.js: +@noble/curves/esm/abstract/curve.js: +@noble/curves/esm/abstract/weierstrass.js: +@noble/curves/esm/_shortw_utils.js: +@noble/curves/esm/secp256k1.js: + /*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */ + +safe-buffer/index.js: + /*! safe-buffer. MIT License. Feross Aboukhadijeh */ + +@solana/buffer-layout/lib/Layout.js: + /** + * Support for translating between Uint8Array instances and JavaScript + * native types. + * + * {@link module:Layout~Layout|Layout} is the basis of a class + * hierarchy that associates property names with sequences of encoded + * bytes. + * + * Layouts are supported for these scalar (numeric) types: + * * {@link module:Layout~UInt|Unsigned integers in little-endian + * format} with {@link module:Layout.u8|8-bit}, {@link + * module:Layout.u16|16-bit}, {@link module:Layout.u24|24-bit}, + * {@link module:Layout.u32|32-bit}, {@link + * module:Layout.u40|40-bit}, and {@link module:Layout.u48|48-bit} + * representation ranges; + * * {@link module:Layout~UIntBE|Unsigned integers in big-endian + * format} with {@link module:Layout.u16be|16-bit}, {@link + * module:Layout.u24be|24-bit}, {@link module:Layout.u32be|32-bit}, + * {@link module:Layout.u40be|40-bit}, and {@link + * module:Layout.u48be|48-bit} representation ranges; + * * {@link module:Layout~Int|Signed integers in little-endian + * format} with {@link module:Layout.s8|8-bit}, {@link + * module:Layout.s16|16-bit}, {@link module:Layout.s24|24-bit}, + * {@link module:Layout.s32|32-bit}, {@link + * module:Layout.s40|40-bit}, and {@link module:Layout.s48|48-bit} + * representation ranges; + * * {@link module:Layout~IntBE|Signed integers in big-endian format} + * with {@link module:Layout.s16be|16-bit}, {@link + * module:Layout.s24be|24-bit}, {@link module:Layout.s32be|32-bit}, + * {@link module:Layout.s40be|40-bit}, and {@link + * module:Layout.s48be|48-bit} representation ranges; + * * 64-bit integral values that decode to an exact (if magnitude is + * less than 2^53) or nearby integral Number in {@link + * module:Layout.nu64|unsigned little-endian}, {@link + * module:Layout.nu64be|unsigned big-endian}, {@link + * module:Layout.ns64|signed little-endian}, and {@link + * module:Layout.ns64be|unsigned big-endian} encodings; + * * 32-bit floating point values with {@link + * module:Layout.f32|little-endian} and {@link + * module:Layout.f32be|big-endian} representations; + * * 64-bit floating point values with {@link + * module:Layout.f64|little-endian} and {@link + * module:Layout.f64be|big-endian} representations; + * * {@link module:Layout.const|Constants} that take no space in the + * encoded expression. + * + * and for these aggregate types: + * * {@link module:Layout.seq|Sequence}s of instances of a {@link + * module:Layout~Layout|Layout}, with JavaScript representation as + * an Array and constant or data-dependent {@link + * module:Layout~Sequence#count|length}; + * * {@link module:Layout.struct|Structure}s that aggregate a + * heterogeneous sequence of {@link module:Layout~Layout|Layout} + * instances, with JavaScript representation as an Object; + * * {@link module:Layout.union|Union}s that support multiple {@link + * module:Layout~VariantLayout|variant layouts} over a fixed + * (padded) or variable (not padded) span of bytes, using an + * unsigned integer at the start of the data or a separate {@link + * module:Layout.unionLayoutDiscriminator|layout element} to + * determine which layout to use when interpreting the buffer + * contents; + * * {@link module:Layout.bits|BitStructure}s that contain a sequence + * of individual {@link + * module:Layout~BitStructure#addField|BitField}s packed into an 8, + * 16, 24, or 32-bit unsigned integer starting at the least- or + * most-significant bit; + * * {@link module:Layout.cstr|C strings} of varying length; + * * {@link module:Layout.blob|Blobs} of fixed- or variable-{@link + * module:Layout~Blob#length|length} raw data. + * + * All {@link module:Layout~Layout|Layout} instances are immutable + * after construction, to prevent internal state from becoming + * inconsistent. + * + * @local Layout + * @local ExternalLayout + * @local GreedyCount + * @local OffsetLayout + * @local UInt + * @local UIntBE + * @local Int + * @local IntBE + * @local NearUInt64 + * @local NearUInt64BE + * @local NearInt64 + * @local NearInt64BE + * @local Float + * @local FloatBE + * @local Double + * @local DoubleBE + * @local Sequence + * @local Structure + * @local UnionDiscriminator + * @local UnionLayoutDiscriminator + * @local Union + * @local VariantLayout + * @local BitStructure + * @local BitField + * @local Boolean + * @local Blob + * @local CString + * @local Constant + * @local bindConstructorLayout + * @module Layout + * @license MIT + * @author Peter A. Bigot + * @see {@link https://github.com/pabigot/buffer-layout|buffer-layout on GitHub} + */ + +buffer-layout/lib/Layout.js: + /** + * Support for translating between Buffer instances and JavaScript + * native types. + * + * {@link module:Layout~Layout|Layout} is the basis of a class + * hierarchy that associates property names with sequences of encoded + * bytes. + * + * Layouts are supported for these scalar (numeric) types: + * * {@link module:Layout~UInt|Unsigned integers in little-endian + * format} with {@link module:Layout.u8|8-bit}, {@link + * module:Layout.u16|16-bit}, {@link module:Layout.u24|24-bit}, + * {@link module:Layout.u32|32-bit}, {@link + * module:Layout.u40|40-bit}, and {@link module:Layout.u48|48-bit} + * representation ranges; + * * {@link module:Layout~UIntBE|Unsigned integers in big-endian + * format} with {@link module:Layout.u16be|16-bit}, {@link + * module:Layout.u24be|24-bit}, {@link module:Layout.u32be|32-bit}, + * {@link module:Layout.u40be|40-bit}, and {@link + * module:Layout.u48be|48-bit} representation ranges; + * * {@link module:Layout~Int|Signed integers in little-endian + * format} with {@link module:Layout.s8|8-bit}, {@link + * module:Layout.s16|16-bit}, {@link module:Layout.s24|24-bit}, + * {@link module:Layout.s32|32-bit}, {@link + * module:Layout.s40|40-bit}, and {@link module:Layout.s48|48-bit} + * representation ranges; + * * {@link module:Layout~IntBE|Signed integers in big-endian format} + * with {@link module:Layout.s16be|16-bit}, {@link + * module:Layout.s24be|24-bit}, {@link module:Layout.s32be|32-bit}, + * {@link module:Layout.s40be|40-bit}, and {@link + * module:Layout.s48be|48-bit} representation ranges; + * * 64-bit integral values that decode to an exact (if magnitude is + * less than 2^53) or nearby integral Number in {@link + * module:Layout.nu64|unsigned little-endian}, {@link + * module:Layout.nu64be|unsigned big-endian}, {@link + * module:Layout.ns64|signed little-endian}, and {@link + * module:Layout.ns64be|unsigned big-endian} encodings; + * * 32-bit floating point values with {@link + * module:Layout.f32|little-endian} and {@link + * module:Layout.f32be|big-endian} representations; + * * 64-bit floating point values with {@link + * module:Layout.f64|little-endian} and {@link + * module:Layout.f64be|big-endian} representations; + * * {@link module:Layout.const|Constants} that take no space in the + * encoded expression. + * + * and for these aggregate types: + * * {@link module:Layout.seq|Sequence}s of instances of a {@link + * module:Layout~Layout|Layout}, with JavaScript representation as + * an Array and constant or data-dependent {@link + * module:Layout~Sequence#count|length}; + * * {@link module:Layout.struct|Structure}s that aggregate a + * heterogeneous sequence of {@link module:Layout~Layout|Layout} + * instances, with JavaScript representation as an Object; + * * {@link module:Layout.union|Union}s that support multiple {@link + * module:Layout~VariantLayout|variant layouts} over a fixed + * (padded) or variable (not padded) span of bytes, using an + * unsigned integer at the start of the data or a separate {@link + * module:Layout.unionLayoutDiscriminator|layout element} to + * determine which layout to use when interpreting the buffer + * contents; + * * {@link module:Layout.bits|BitStructure}s that contain a sequence + * of individual {@link + * module:Layout~BitStructure#addField|BitField}s packed into an 8, + * 16, 24, or 32-bit unsigned integer starting at the least- or + * most-significant bit; + * * {@link module:Layout.cstr|C strings} of varying length; + * * {@link module:Layout.blob|Blobs} of fixed- or variable-{@link + * module:Layout~Blob#length|length} raw data. + * + * All {@link module:Layout~Layout|Layout} instances are immutable + * after construction, to prevent internal state from becoming + * inconsistent. + * + * @local Layout + * @local ExternalLayout + * @local GreedyCount + * @local OffsetLayout + * @local UInt + * @local UIntBE + * @local Int + * @local IntBE + * @local NearUInt64 + * @local NearUInt64BE + * @local NearInt64 + * @local NearInt64BE + * @local Float + * @local FloatBE + * @local Double + * @local DoubleBE + * @local Sequence + * @local Structure + * @local UnionDiscriminator + * @local UnionLayoutDiscriminator + * @local Union + * @local VariantLayout + * @local BitStructure + * @local BitField + * @local Boolean + * @local Blob + * @local CString + * @local Constant + * @local bindConstructorLayout + * @module Layout + * @license MIT + * @author Peter A. Bigot + * @see {@link https://github.com/pabigot/buffer-layout|buffer-layout on GitHub} + */ + +pako/dist/pako.esm.mjs: + /*! pako 2.2.0 https://github.com/nodeca/pako @license (MIT AND Zlib) */ diff --git a/dashboard/vendor/unified-balance-kit-1.8.0/package.json b/dashboard/vendor/unified-balance-kit-1.8.0/package.json new file mode 100644 index 0000000..a615166 --- /dev/null +++ b/dashboard/vendor/unified-balance-kit-1.8.0/package.json @@ -0,0 +1,16 @@ +{ + "name": "embco-vendor-unified-balance-kit", + "private": true, + "type": "module", + "description": "Circle's Unified Balance Kit and its viem adapter, bundled once into index.js for the static dashboard. Rebuild: pnpm install && pnpm build.", + "scripts": { + "build": "esbuild entry.mjs --bundle --format=esm --platform=browser --minify --legal-comments=external --outfile=index.js" + }, + "devDependencies": { + "@circle-fin/adapter-viem-v2": "1.19.0", + "@circle-fin/unified-balance-kit": "1.8.0", + "esbuild": "0.28.2", + "viem": "2.57.1" + }, + "packageManager": "pnpm@11.2.2" +} diff --git a/dashboard/vendor/unified-balance-kit-1.8.0/pnpm-lock.yaml b/dashboard/vendor/unified-balance-kit-1.8.0/pnpm-lock.yaml new file mode 100644 index 0000000..f45a412 --- /dev/null +++ b/dashboard/vendor/unified-balance-kit-1.8.0/pnpm-lock.yaml @@ -0,0 +1,1461 @@ +lockfileVersion: '9.0' + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false + +importers: + + .: + devDependencies: + '@circle-fin/adapter-viem-v2': + specifier: 1.19.0 + version: 1.19.0(bufferutil@4.1.0)(utf-8-validate@6.0.6)(viem@2.57.1(bufferutil@4.1.0)(utf-8-validate@6.0.6)(zod@3.25.67)) + '@circle-fin/unified-balance-kit': + specifier: 1.8.0 + version: 1.8.0(bufferutil@4.1.0)(utf-8-validate@6.0.6) + esbuild: + specifier: 0.28.2 + version: 0.28.2 + viem: + specifier: 2.57.1 + version: 2.57.1(bufferutil@4.1.0)(utf-8-validate@6.0.6)(zod@3.25.67) + +packages: + + '@adraffy/ens-normalize@1.11.1': + resolution: {integrity: sha512-nhCBV3quEgesuf7c7KYfperqSS14T8bYuvJ8PcLJp6znkZpFc0AuW4qBtr8eKVyPPe/8RSr7sglCWPU5eaxwKQ==} + + '@babel/runtime@7.29.10': + resolution: {integrity: sha512-NpugTzbKgGrNe45Ui32cN8vCFFMxVtP/9rtfwv0nP5FRDAjvYBxJcLVpYA9mr1jxP6cnIT7x9LUzuDTbWYYNRA==} + engines: {node: '>=6.9.0'} + + '@circle-fin/adapter-viem-v2@1.19.0': + resolution: {integrity: sha512-3TyIobA9ufmNFiGc0H/OG3+XjLfB8TseHTX1l8tZy5E50HKdSyLIO9wEpHROGVExhnJMu3eqLHyS57IBI53ggA==} + engines: {node: '>=20.0.0'} + peerDependencies: + viem: ^2.30.0 + + '@circle-fin/provider-cctp-v2@1.14.1': + resolution: {integrity: sha512-cPOpKEZ/Dm59d2Y3qerxXMSVHOBlr2xJm59Nq9U11WG9dwJ8VNTMWWE1nX8AutXA0Qgh3BJL73P3AFALASK0Zg==} + engines: {node: '>=20.0.0'} + peerDependencies: + '@solana/web3.js': ^1.98.2 + peerDependenciesMeta: + '@solana/web3.js': + optional: true + + '@circle-fin/provider-fee-v1@0.3.2': + resolution: {integrity: sha512-X0WVKb0JC2dthkD+EZyAsF6MY7qZoMs6tWDfNuZ2VtavdQsM1kfrd5KMIlTGhmtDmxAF/wputfkTI1ILeT6Lmg==} + engines: {node: '>=20.0.0'} + + '@circle-fin/provider-gateway-v1@1.5.1': + resolution: {integrity: sha512-Zvn5mGfqbHxCmiK0jQbSU9cXdYoKZnQH0xtv56M7ezXgcp0Ri7WbVGepL03pU2Ov+KlQ1VjdPeVzLrIuOgRPZg==} + engines: {node: '>=20.0.0'} + + '@circle-fin/unified-balance-kit@1.8.0': + resolution: {integrity: sha512-R66r7l9IcMIh2LbQb/qEtW9fzQcMgk5PiiXkbXbfUvy/XMWWAnZAPMMyvAHxlQI8eStdqBoft8GPc3e9klvJJw==} + engines: {node: '>=20.0.0'} + + '@coral-xyz/anchor-errors@0.31.1': + resolution: {integrity: sha512-NhNEku4F3zzUSBtrYz84FzYWm48+9OvmT1Hhnwr6GnPQry2dsEqH/ti/7ASjjpoFTWRnPXrjAIT1qM6Isop+LQ==} + engines: {node: '>=10'} + + '@coral-xyz/anchor@0.31.1': + resolution: {integrity: sha512-QUqpoEK+gi2S6nlYc2atgT2r41TT3caWr/cPUEL8n8Md9437trZ68STknq897b82p5mW0XrTBNOzRbmIRJtfsA==} + engines: {node: '>=17'} + + '@coral-xyz/borsh@0.31.1': + resolution: {integrity: sha512-9N8AU9F0ubriKfNE3g1WF0/4dtlGXoBN/hd1PvbNBamBNwRgHxH4P+o3Zt7rSEloW1HUs6LfZEchlx9fW7POYw==} + engines: {node: '>=10'} + peerDependencies: + '@solana/web3.js': ^1.69.0 + + '@esbuild/aix-ppc64@0.28.2': + resolution: {integrity: sha512-XExcO+dvLKvVtNTibSTBej1NCAbaGhWn9Ww1ZPx80qsahhPFe/8jgWP0IchNe0F3HwkU7n8ejhH8bjonqht8mQ==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [aix] + + '@esbuild/android-arm64@0.28.2': + resolution: {integrity: sha512-5YfKeeI8qWfBZIX+u2xZC3Zlb3Os/gLS2sbEKM+I4ZOcsWmHS2WLysCcQZDAFRslDUU5Oiq44gf6PYN1vGwG5A==} + engines: {node: '>=18'} + cpu: [arm64] + os: [android] + + '@esbuild/android-arm@0.28.2': + resolution: {integrity: sha512-kXXoiPVVGQcnIYGOeaovwOURpniDBpSq4A03qkQ+BMQqtGG6HYap3xne9C1O1yo4TR3qxlCX5IqqmX6fFo2Lqg==} + engines: {node: '>=18'} + cpu: [arm] + os: [android] + + '@esbuild/android-x64@0.28.2': + resolution: {integrity: sha512-O387ite7SzUyCcy3JQX4P4bLtEA7bLLkx+esve5JHnyYfNTxcVpXZo9jhdB0lTKN44gztELTdU7nS8Nr16Fs1Q==} + engines: {node: '>=18'} + cpu: [x64] + os: [android] + + '@esbuild/darwin-arm64@0.28.2': + resolution: {integrity: sha512-n4KqkOQrraxHJcgjM1RvwbigfQKIKJVpM7xp+KsxiyUSrRdIXnt73VhrPAx0fV44hgfmIVKjxMN9J1t5jySVkw==} + engines: {node: '>=18'} + cpu: [arm64] + os: [darwin] + + '@esbuild/darwin-x64@0.28.2': + resolution: {integrity: sha512-uq6suIWYP37qzGddBKPw5QEQPi6HiLGsO7UmkpfyaYNQ3D+rN6w6WfwH+nuqcGXWvawGwxOEroO4YGnFh95azw==} + engines: {node: '>=18'} + cpu: [x64] + os: [darwin] + + '@esbuild/freebsd-arm64@0.28.2': + resolution: {integrity: sha512-n+I0BTSRIoy+d6RPKnEVwql5UwBJolytvY4mAOIEJorKlqgPII8ix6slVVrfZ5Tnj7glIZvloylbB/EJPMWEXw==} + engines: {node: '>=18'} + cpu: [arm64] + os: [freebsd] + + '@esbuild/freebsd-x64@0.28.2': + resolution: {integrity: sha512-78XJTJkvPs0kz2w61301PJjXl4g7q3JqiYMZ/M/yVI73EHBrCRTgkhu9oqG7vPqq+a/yadEW8aD+agKlk5xrmg==} + engines: {node: '>=18'} + cpu: [x64] + os: [freebsd] + + '@esbuild/linux-arm64@0.28.2': + resolution: {integrity: sha512-pW4AC0P3it8c7do9MVM4p51FzHzdM/TZrerurgRcHJ2WTa1VQ1CIq18xncfpBJw4ojkiZZrKW2yIBWBP92j6Ug==} + engines: {node: '>=18'} + cpu: [arm64] + os: [linux] + + '@esbuild/linux-arm@0.28.2': + resolution: {integrity: sha512-XlDnu2q5yoqems+xay6wSAcg9DDD7K9RLKZEBOMZm3ckNpJBvOX20tSfby8KfrrhINDyv9V2YVZKY/SpoGJI8w==} + engines: {node: '>=18'} + cpu: [arm] + os: [linux] + + '@esbuild/linux-ia32@0.28.2': + resolution: {integrity: sha512-CYbnj78HsIeA+DhgUKgFCfvNsTHFhMMrinUrMZpDXJXKN8T3XViTZ/+wtHeVxEWY8ewSzTFN+nRmSwO2tZaLUQ==} + engines: {node: '>=18'} + cpu: [ia32] + os: [linux] + + '@esbuild/linux-loong64@0.28.2': + resolution: {integrity: sha512-buwkd8nsph4R+ajRvw0qM5Hja/TXQow3ptzWO2EbG/cqcIkHloRrdlBtQlshyYGTNFvfkfJ5tpPLVkY4DtsPfQ==} + engines: {node: '>=18'} + cpu: [loong64] + os: [linux] + + '@esbuild/linux-mips64el@0.28.2': + resolution: {integrity: sha512-ZVykbDyk7519VwiNb9Lcj9m8XM6v5V9uKPvrEMkkEedVewf+0itkhahp4HDpgERXhwLRpWFypsGbG/J8s0QjJA==} + engines: {node: '>=18'} + cpu: [mips64el] + os: [linux] + + '@esbuild/linux-ppc64@0.28.2': + resolution: {integrity: sha512-CAXl+Dtd9UUuJd8pKKdwh6MLm3MUMiqMPmhZ3tTSXPqfyQ3vDl6R5hZdZ/kYojK4ofXtdfSv1tFq8XzWx3heNQ==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [linux] + + '@esbuild/linux-riscv64@0.28.2': + resolution: {integrity: sha512-GeXCej4IQtU1B+QlDV8W/RRvbzI3O/Stss+/bCXv4lZls5WGRtu2a+3JkA3i4qIUlMXpcHebWpF8AkJhATowuA==} + engines: {node: '>=18'} + cpu: [riscv64] + os: [linux] + + '@esbuild/linux-s390x@0.28.2': + resolution: {integrity: sha512-3H1weTYZPxt/WOhByszQZybS9w5lKzUn1FDMsgEChbHWQwHYQQRfBxgCcZvPhjHfKyJjIievvMmEUawJrdY9Dg==} + engines: {node: '>=18'} + cpu: [s390x] + os: [linux] + + '@esbuild/linux-x64@0.28.2': + resolution: {integrity: sha512-4xTZr1FUmSoQW4XIWmit3tzQrUTZM+N3P0XV8xROKYF50XfI7xeO90+1bZvNwxIufQ9hDQVRJH5YhgPVF8A/HQ==} + engines: {node: '>=18'} + cpu: [x64] + os: [linux] + + '@esbuild/netbsd-arm64@0.28.2': + resolution: {integrity: sha512-sSATRjPeDBg3pdgHoQfoYBob11Kk1FGa9lui5RIHZCoCkJa9QKlvl3/vKz2usCmYYjs7ymJR/2Nnsqe+Hjt5nw==} + engines: {node: '>=18'} + cpu: [arm64] + os: [netbsd] + + '@esbuild/netbsd-x64@0.28.2': + resolution: {integrity: sha512-lqnzCV+mM0gIADaKihiCg6ifgfU2L3h5E33rNQBN1Y4MaVGnzryzmvvf7UHxprpQdE8hpqLolJ9Rl+SkIRDpyw==} + engines: {node: '>=18'} + cpu: [x64] + os: [netbsd] + + '@esbuild/openbsd-arm64@0.28.2': + resolution: {integrity: sha512-AL2qJILH7lNjrDmCQDvdxMfAUIv8KMNZOvrwAQ8i8//ntL9FflhOyMJ8OZSMBb8/AWXe3/5v5S20y3zCoZWKoQ==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openbsd] + + '@esbuild/openbsd-x64@0.28.2': + resolution: {integrity: sha512-QtiuPytchRyC4rwUKhexJdQKvDuZ6hWloi3igqPQNUJCS1/v9EiO3UTOXR6A3FoMo4fnAKbWJdqaIwhOzh8qEw==} + engines: {node: '>=18'} + cpu: [x64] + os: [openbsd] + + '@esbuild/openharmony-arm64@0.28.2': + resolution: {integrity: sha512-WkhYDmpTjLvGlScA1rwjRUmhl4k8oXR3cIbtqWmELgU/dFeHHlEllxDvdWcNJV9rbzCexB5vz8gtNewWLgCT7Q==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openharmony] + + '@esbuild/sunos-x64@0.28.2': + resolution: {integrity: sha512-GPMSkTOtMnv2U2F8gxe4Io6qmVs+YKyp832Etqqxr0hFngmXQ3rzwytelm3GIn7T4VviRUlf3sOgBOiTdvaf7g==} + engines: {node: '>=18'} + cpu: [x64] + os: [sunos] + + '@esbuild/win32-arm64@0.28.2': + resolution: {integrity: sha512-PIhhEkE9uPBleRBrQEJpUn7MBnibZzbGzYWPmY3x+YoVg/95zbjB4CxPPOQ8l5tYYM4mMaCthF8/1DIfBQQyWQ==} + engines: {node: '>=18'} + cpu: [arm64] + os: [win32] + + '@esbuild/win32-ia32@0.28.2': + resolution: {integrity: sha512-YmJbfTlvU7Sdn9BB+4PRES4oB6pxgS37MAONj+hBr/cpXS1aBPKXxNnDbu+QCWPj0o9dgyxeq79g6c5P8KeuYA==} + engines: {node: '>=18'} + cpu: [ia32] + os: [win32] + + '@esbuild/win32-x64@0.28.2': + resolution: {integrity: sha512-5ebpxr3nWMzrL/rnUI755Jkuee0bHL/Gq0WTF9lvcpv73wAp5eu8MfBUgWK9bhWvZjj7yX8etf/8tI8Ney695g==} + engines: {node: '>=18'} + cpu: [x64] + os: [win32] + + '@ethersproject/abi@5.8.0': + resolution: {integrity: sha512-b9YS/43ObplgyV6SlyQsG53/vkSal0MNA1fskSC4mbnCMi8R+NkcH8K9FPYNESf6jUefBUniE4SOKms0E/KK1Q==} + + '@ethersproject/abstract-provider@5.8.0': + resolution: {integrity: sha512-wC9SFcmh4UK0oKuLJQItoQdzS/qZ51EJegK6EmAWlh+OptpQ/npECOR3QqECd8iGHC0RJb4WKbVdSfif4ammrg==} + + '@ethersproject/abstract-signer@5.8.0': + resolution: {integrity: sha512-N0XhZTswXcmIZQdYtUnd79VJzvEwXQw6PK0dTl9VoYrEBxxCPXqS0Eod7q5TNKRxe1/5WUMuR0u0nqTF/avdCA==} + + '@ethersproject/address@5.8.0': + resolution: {integrity: sha512-GhH/abcC46LJwshoN+uBNoKVFPxUuZm6dA257z0vZkKmU1+t8xTn8oK7B9qrj8W2rFRMch4gbJl6PmVxjxBEBA==} + + '@ethersproject/base64@5.8.0': + resolution: {integrity: sha512-lN0oIwfkYj9LbPx4xEkie6rAMJtySbpOAFXSDVQaBnAzYfB4X2Qr+FXJGxMoc3Bxp2Sm8OwvzMrywxyw0gLjIQ==} + + '@ethersproject/bignumber@5.8.0': + resolution: {integrity: sha512-ZyaT24bHaSeJon2tGPKIiHszWjD/54Sz8t57Toch475lCLljC6MgPmxk7Gtzz+ddNN5LuHea9qhAe0x3D+uYPA==} + + '@ethersproject/bytes@5.8.0': + resolution: {integrity: sha512-vTkeohgJVCPVHu5c25XWaWQOZ4v+DkGoC42/TS2ond+PARCxTJvgTFUNDZovyQ/uAQ4EcpqqowKydcdmRKjg7A==} + + '@ethersproject/constants@5.8.0': + resolution: {integrity: sha512-wigX4lrf5Vu+axVTIvNsuL6YrV4O5AXl5ubcURKMEME5TnWBouUh0CDTWxZ2GpnRn1kcCgE7l8O5+VbV9QTTcg==} + + '@ethersproject/hash@5.8.0': + resolution: {integrity: sha512-ac/lBcTbEWW/VGJij0CNSw/wPcw9bSRgCB0AIBz8CvED/jfvDoV9hsIIiWfvWmFEi8RcXtlNwp2jv6ozWOsooA==} + + '@ethersproject/keccak256@5.8.0': + resolution: {integrity: sha512-A1pkKLZSz8pDaQ1ftutZoaN46I6+jvuqugx5KYNeQOPqq+JZ0Txm7dlWesCHB5cndJSu5vP2VKptKf7cksERng==} + + '@ethersproject/logger@5.8.0': + resolution: {integrity: sha512-Qe6knGmY+zPPWTC+wQrpitodgBfH7XoceCGL5bJVejmH+yCS3R8jJm8iiWuvWbG76RUmyEG53oqv6GMVWqunjA==} + + '@ethersproject/networks@5.8.0': + resolution: {integrity: sha512-egPJh3aPVAzbHwq8DD7Po53J4OUSsA1MjQp8Vf/OZPav5rlmWUaFLiq8cvQiGK0Z5K6LYzm29+VA/p4RL1FzNg==} + + '@ethersproject/properties@5.8.0': + resolution: {integrity: sha512-PYuiEoQ+FMaZZNGrStmN7+lWjlsoufGIHdww7454FIaGdbe/p5rnaCXTr5MtBYl3NkeoVhHZuyzChPeGeKIpQw==} + + '@ethersproject/rlp@5.8.0': + resolution: {integrity: sha512-LqZgAznqDbiEunaUvykH2JAoXTT9NV0Atqk8rQN9nx9SEgThA/WMx5DnW8a9FOufo//6FZOCHZ+XiClzgbqV9Q==} + + '@ethersproject/signing-key@5.8.0': + resolution: {integrity: sha512-LrPW2ZxoigFi6U6aVkFN/fa9Yx/+4AtIUe4/HACTvKJdhm0eeb107EVCIQcrLZkxaSIgc/eCrX8Q1GtbH+9n3w==} + + '@ethersproject/strings@5.8.0': + resolution: {integrity: sha512-qWEAk0MAvl0LszjdfnZ2uC8xbR2wdv4cDabyHiBh3Cldq/T8dPH3V4BbBsAYJUeonwD+8afVXld274Ls+Y1xXg==} + + '@ethersproject/transactions@5.8.0': + resolution: {integrity: sha512-UglxSDjByHG0TuU17bDfCemZ3AnKO2vYrL5/2n2oXvKzvb7Cz+W9gOWXKARjp2URVwcWlQlPOEQyAviKwT4AHg==} + + '@ethersproject/units@5.8.0': + resolution: {integrity: sha512-lxq0CAnc5kMGIiWW4Mr041VT8IhNM+Pn5T3haO74XZWFulk7wH1Gv64HqE96hT4a7iiNMdOCFEBgaxWuk8ETKQ==} + + '@ethersproject/web@5.8.0': + resolution: {integrity: sha512-j7+Ksi/9KfGviws6Qtf9Q7KCqRhpwrYKQPs+JBA/rKVFF/yaWLHJEH3zfVP2plVu+eys0d2DlFmhoQJayFewcw==} + + '@noble/ciphers@1.3.0': + resolution: {integrity: sha512-2I0gnIVPtfnMw9ee9h1dJG7tp81+8Ob3OJb3Mv37rx5L40/b0i7djjCVvGOVqc9AEIQyvyu1i6ypKdFw8R8gQw==} + engines: {node: ^14.21.3 || >=16} + + '@noble/curves@1.4.2': + resolution: {integrity: sha512-TavHr8qycMChk8UwMld0ZDRvatedkzWfH8IiaeGCfymOP5i0hSCozz9vHOL0nkwk7HRMlFnAiKpS2jrUmSybcw==} + + '@noble/curves@1.9.1': + resolution: {integrity: sha512-k11yZxZg+t+gWvBbIswW0yoJlu8cHOC7dhunwOzoWH/mXGBiYyR4YY6hAEK/3EUs4UpB8la1RfdRpeGsFHkWsA==} + engines: {node: ^14.21.3 || >=16} + + '@noble/curves@1.9.7': + resolution: {integrity: sha512-gbKGcRUYIjA3/zCCNaWDciTMFI0dCkvou3TL8Zmy5Nc7sJ47a0jtOeZoTaMxkuqRo9cRhjOdZJXegxYE5FN/xw==} + engines: {node: ^14.21.3 || >=16} + + '@noble/hashes@1.4.0': + resolution: {integrity: sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg==} + engines: {node: '>= 16'} + + '@noble/hashes@1.8.0': + resolution: {integrity: sha512-jCs9ldd7NwzpgXDIf6P3+NrHh9/sD6CQdxHyjQI+h/6rDNo88ypBxxz45UDuZHz9r3tNz7N/VInSVoVdtXEI4A==} + engines: {node: ^14.21.3 || >=16} + + '@pinojs/redact@0.4.0': + resolution: {integrity: sha512-k2ENnmBugE/rzQfEcdWHcCY+/FM3VLzH9cYEsbdsoqrvzAKRhUZeRNhAZvB8OitQJ1TBed3yqWtdjzS6wJKBwg==} + + '@scure/base@1.2.6': + resolution: {integrity: sha512-g/nm5FgUa//MCj1gV09zTJTaM6KBAHqLN907YVQqf7zC49+DcO4B1so4ZX07Ef10Twr6nuqYEH9GEggFXA4Fmg==} + + '@scure/bip32@1.7.0': + resolution: {integrity: sha512-E4FFX/N3f4B80AKWp5dP6ow+flD1LQZo/w8UnLGYZO674jS6YnYeepycOOksv+vLPSpgN35wgKgy+ybfTb2SMw==} + + '@scure/bip39@1.6.0': + resolution: {integrity: sha512-+lF0BbLiJNwVlev4eKelw1WWLaiKXw7sSl8T6FvBlWkdX+94aGJ4o8XjUdlyhTCjd8c+B3KT3JfS8P0bLRNU6A==} + + '@solana/buffer-layout@4.0.1': + resolution: {integrity: sha512-E1ImOIAD1tBZFRdjeM4/pzTiTApC0AOBGwyAMS4fwIodCWArzJ3DWdoh8cKxeFM2fElkxBh2Aqts1BPC373rHA==} + engines: {node: '>=5.10'} + + '@solana/codecs-core@5.5.1': + resolution: {integrity: sha512-TgBt//bbKBct0t6/MpA8ElaOA3sa8eYVvR7LGslCZ84WiAwwjCY0lW/lOYsFHJQzwREMdUyuEyy5YWBKtdh8Rw==} + engines: {node: '>=20.18.0'} + peerDependencies: + typescript: ^5.0.0 + peerDependenciesMeta: + typescript: + optional: true + + '@solana/codecs-numbers@5.5.1': + resolution: {integrity: sha512-rllMIZAHqmtvC0HO/dc/21wDuWaD0B8Ryv8o+YtsICQBuiL/0U4AGwH7Pi5GNFySYk0/crSuwfIqQFtmxNSPFw==} + engines: {node: '>=20.18.0'} + peerDependencies: + typescript: ^5.0.0 + peerDependenciesMeta: + typescript: + optional: true + + '@solana/errors@5.5.1': + resolution: {integrity: sha512-vFO3p+S7HoyyrcAectnXbdsMfwUzY2zYFUc2DEe5BwpiE9J1IAxPBGjOWO6hL1bbYdBrlmjNx8DXCslqS+Kcmg==} + engines: {node: '>=20.18.0'} + hasBin: true + peerDependencies: + typescript: ^5.0.0 + peerDependenciesMeta: + typescript: + optional: true + + '@solana/web3.js@1.99.0': + resolution: {integrity: sha512-QZYQ2T1z6xWisoyALPq25i/QZTsRlM02BABtAsfaQ1p8wX4SdTfxrKTRue/ZZqrhNVh5oL7T/DUFiTS9DRgxow==} + + '@swc/helpers@0.5.23': + resolution: {integrity: sha512-5lSsMOTXURePglDfvuAQUqkGek9Hg2kksOYay2m0+XR++b2NWYL/4sWyuvVBIs8oKnJaxkdi9whaL/sqN13afw==} + + '@types/connect@3.4.38': + resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==} + + '@types/node@12.20.55': + resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==} + + '@types/node@26.6.5': + resolution: {integrity: sha512-uMzsv9stDdofIZBx4UGh4Z9ZgXnGC9seRDscilBcTHAeOFk67MZg/k9bWVfO+bk4qZmG+l52hRnLwUiH2LnJTg==} + + '@types/uuid@10.0.0': + resolution: {integrity: sha512-7gqG38EyHgyP1S+7+xomFtL+ZNHcKv6DwNaCZmJmo1vgMugyF3TCnXVg4t1uk89mLNwnLtnY3TpOpCOyp1/xHQ==} + + '@types/ws@7.4.7': + resolution: {integrity: sha512-JQbbmxZTZehdc2iszGKs5oC3NFnjeay7mtAWrdt7qNtAVK0g19muApzAy4bm9byz79xa2ZnO/BOBC2R8RC5Lww==} + + '@types/ws@8.18.2': + resolution: {integrity: sha512-67MQl+fpWKVTT1NYdnmo3U4sc/xPo/zQBncVnI74qmQa0z/b+1g6iYqNmGCPbxO+zz2aklb08a0oHfegiVd0/w==} + + abitype@1.2.3: + resolution: {integrity: sha512-Ofer5QUnuUdTFsBRwARMoWKOH1ND5ehwYhJ3OJ/BQO+StkwQjHw0XyVh4vDttzHB7QOFhPHa/o413PJ82gU/Tg==} + peerDependencies: + typescript: '>=5.0.4' + zod: ^3.22.0 || ^4.0.0 + peerDependenciesMeta: + typescript: + optional: true + zod: + optional: true + + abitype@1.3.0: + resolution: {integrity: sha512-fk6Te+bojIFrMvMZrnOO+SxCB+RUksTGOzq/60ZRvs1L+BVzvi2bqt9L3W/17ZLdZsyM1FuYf65P5nlmoiH1Bg==} + peerDependencies: + typescript: '>=5.0.4' + zod: ^3.22.0 || ^4.0.0 + peerDependenciesMeta: + typescript: + optional: true + zod: + optional: true + + agentkeepalive@4.6.0: + resolution: {integrity: sha512-kja8j7PjmncONqaTsB8fQ+wE2mSU2DJ9D4XKoJ5PFWIdRMa6SLSN1ff4mOr4jCbfRSsxR4keIiySJU0N9T5hIQ==} + engines: {node: '>= 8.0.0'} + + atomic-sleep@1.0.0: + resolution: {integrity: sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==} + engines: {node: '>=8.0.0'} + + base-x@3.0.11: + resolution: {integrity: sha512-xz7wQ8xDhdyP7tQxwdteLYeFfS68tSMNCZ/Y37WJ4bhGfKPpqEIlmIyueQHqOyoPhE6xNUqjzRr8ra0eF9VRvA==} + + base-x@5.0.1: + resolution: {integrity: sha512-M7uio8Zt++eg3jPj+rHMfCC+IuygQHHCOU+IYsVtik6FWjuYpVt/+MRKcgsAMHh8mMFAwnB+Bs+mTrFiXjMzKg==} + + base64-js@1.5.1: + resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} + + bn.js@4.12.5: + resolution: {integrity: sha512-3aRg6/JxfffFD+OlOjOFR3Vo79l39ooBTFucxx+MT3dhCtzn3EmiUPQo+6/OZuI2jbXi3YKgmiTFBgChQMwIRQ==} + + bn.js@5.2.5: + resolution: {integrity: sha512-Vq886eXykuP5E6HcKSSStP3bJgrE6In5WKxVUvJ8XGpWWYs2xZHWqUwzCtGgEtBcxyd57KBFDPFoUfNzdaHCNg==} + + borsh@0.7.0: + resolution: {integrity: sha512-CLCsZGIBCFnPtkNnieW/a8wmreDmfUtjU2m9yHrzPXIlNbqVs0AQrSatSG6vdNYUqdc83tkQi2eHfF98ubzQLA==} + + brorand@1.1.0: + resolution: {integrity: sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==} + + bs58@4.0.1: + resolution: {integrity: sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw==} + + bs58@6.0.0: + resolution: {integrity: sha512-PD0wEnEYg6ijszw/u8s+iI3H17cTymlrwkKhDhPZq+Sokl3AU4htyBFTjAeNAlCCmg0f53g6ih3jATyCKftTfw==} + + buffer-layout@1.2.2: + resolution: {integrity: sha512-kWSuLN694+KTk8SrYvCqwP2WcgQjoRCiF5b4QDvkkz8EmgD+aWAIceGFKMIAdmF/pH+vpgNV3d3kAKorcdAmWA==} + engines: {node: '>=4.5'} + + buffer@6.0.3: + resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} + + bufferutil@4.1.0: + resolution: {integrity: sha512-ZMANVnAixE6AWWnPzlW2KpUrxhm9woycYvPOo67jWHyFowASTEd9s+QN1EIMsSDtwhIxN4sWE1jotpuDUIgyIw==} + engines: {node: '>=6.14.2'} + + camelcase@6.3.0: + resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} + engines: {node: '>=10'} + + chalk@5.6.2: + resolution: {integrity: sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==} + engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} + + commander@14.0.2: + resolution: {integrity: sha512-TywoWNNRbhoD0BXs1P3ZEScW8W5iKrnbithIl0YH+uCmBd0QpPOA8yc82DS3BIE5Ma6FnBVUsJ7wVUDz4dvOWQ==} + engines: {node: '>=20'} + + commander@2.20.3: + resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} + + cross-fetch@3.2.0: + resolution: {integrity: sha512-Q+xVJLoGOeIMXZmbUK4HYk+69cQH6LudR0Vu/pRm2YlU/hDV9CiS0gKUMaWY5f2NeUH9C1nV3bsTlCo0FsTV1Q==} + + delay@5.0.0: + resolution: {integrity: sha512-ReEBKkIfe4ya47wlPYf/gu5ib6yUG0/Aez0JQZQz94kiWtRQvZIQbTiehsnwHvLSWJnQdhVeqYue7Id1dKr0qw==} + engines: {node: '>=10'} + + elliptic@6.6.1: + resolution: {integrity: sha512-RaddvvMatK2LJHqFJ+YA4WysVN5Ita9E35botqIYspQ4TkRAlCicdzKOjlyv/1Za5RyTNn7di//eEV0uTAfe3g==} + + es6-promise@4.2.8: + resolution: {integrity: sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==} + + es6-promisify@5.0.0: + resolution: {integrity: sha512-C+d6UdsYDk0lMebHNR4S2NybQMMngAOnOwYBQjTOiv0MkoJMP0Myw2mgpDLBcpfCmRLxyFqYhS/CfOENq4SJhQ==} + + esbuild@0.28.2: + resolution: {integrity: sha512-HKVLS8dvII+xoKW9kmqxbRKrnWEXfJJr/FZhhJmiqIB0e053QNYFqOBouTMO/k5sID4MvCiUCvv8b9M4h32wIA==} + engines: {node: '>=18'} + hasBin: true + + eventemitter3@4.0.7: + resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==} + + eventemitter3@5.0.1: + resolution: {integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==} + + eventemitter3@5.0.4: + resolution: {integrity: sha512-mlsTRyGaPBjPedk6Bvw+aqbsXDtoAyAzm5MO7JgU+yVRyMQ5O8bD4Kcci7BS85f93veegeCPkL8R4GLClnjLFw==} + + eyes@0.1.8: + resolution: {integrity: sha512-GipyPsXO1anza0AOZdy69Im7hGFCNB7Y/NGjDlZGJ3GJJLtwNSb2vrzYrTYJRrRloVx7pl+bhUaTB8yiccPvFQ==} + engines: {node: '> 0.1.90'} + + fast-stable-stringify@1.0.0: + resolution: {integrity: sha512-wpYMUmFu5f00Sm0cj2pfivpmawLZ0NKdviQ4w9zJeR8JVtOpOxHmLaJuj0vxvGqMJQWyP/COUkF75/57OKyRag==} + + hash.js@1.1.7: + resolution: {integrity: sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==} + + hmac-drbg@1.0.1: + resolution: {integrity: sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==} + + humanize-ms@1.2.1: + resolution: {integrity: sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==} + + ieee754@1.2.1: + resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} + + inherits@2.0.4: + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + + isomorphic-ws@4.0.1: + resolution: {integrity: sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w==} + peerDependencies: + ws: '*' + + isows@1.0.7: + resolution: {integrity: sha512-I1fSfDCZL5P0v33sVqeTDSpcstAg/N+wF5HS033mogOVIp4B+oHC7oOCsA3axAbBSGTJ8QubbNmnIRN/h8U7hg==} + peerDependencies: + ws: '*' + + jayson@4.3.0: + resolution: {integrity: sha512-AauzHcUcqs8OBnCHOkJY280VaTiCm57AbuO7lqzcw7JapGj50BisE3xhksye4zlTSR1+1tAz67wLTl8tEH1obQ==} + engines: {node: '>=8'} + hasBin: true + + js-sha3@0.8.0: + resolution: {integrity: sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==} + + json-stringify-safe@5.0.1: + resolution: {integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==} + + minimalistic-assert@1.0.1: + resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==} + + minimalistic-crypto-utils@1.0.1: + resolution: {integrity: sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==} + + ms@2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + + node-fetch@2.7.0: + resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} + engines: {node: 4.x || >=6.0.0} + peerDependencies: + encoding: ^0.1.0 + peerDependenciesMeta: + encoding: + optional: true + + node-gyp-build@4.8.4: + resolution: {integrity: sha512-LA4ZjwlnUblHVgq0oBF3Jl/6h/Nvs5fzBLwdEF4nuxnFdsfajde4WfxtJr3CaiH+F6ewcIB/q4jQ4UzPyid+CQ==} + hasBin: true + + on-exit-leak-free@2.1.2: + resolution: {integrity: sha512-0eJJY6hXLGf1udHwfNftBqH+g73EU4B504nZeKpz1sYRKafAghwxEJunB2O7rDZkL4PGfsMVnTXZ2EjibbqcsA==} + engines: {node: '>=14.0.0'} + + ox@0.14.45: + resolution: {integrity: sha512-jpsQ+p0JZh9mKCxxzxz0d5qFHZZg2/O9xW18IpEC/dNXXPVqmDJ0c//9RMz0CILkbSGPA42+cbU0fC/ghwJ03w==} + peerDependencies: + typescript: '>=5.4.0' + peerDependenciesMeta: + typescript: + optional: true + + pako@2.2.0: + resolution: {integrity: sha512-zJq6RP/5q+TO2OpFV3FHzlPnFjmkb7Nc99a5SNjJE+uu/PkpChs+NIZSSzbBoD+6kjiISXjfYdwj1ZRQ81dz/w==} + + pino-abstract-transport@2.0.0: + resolution: {integrity: sha512-F63x5tizV6WCh4R6RHyi2Ml+M70DNRXt/+HANowMflpgGFMAym/VKm6G7ZOQRjqN7XbGxK1Lg9t6ZrtzOaivMw==} + + pino-std-serializers@7.1.0: + resolution: {integrity: sha512-BndPH67/JxGExRgiX1dX0w1FvZck5Wa4aal9198SrRhZjH3GxKQUKIBnYJTdj2HDN3UQAS06HlfcSbQj2OHmaw==} + + pino@10.1.0: + resolution: {integrity: sha512-0zZC2ygfdqvqK8zJIr1e+wT1T/L+LF6qvqvbzEQ6tiMAoTqEVK9a1K3YRu8HEUvGEvNqZyPJTtb2sNIoTkB83w==} + hasBin: true + + process-warning@5.1.1: + resolution: {integrity: sha512-oCkNVj4OKnKEcocVBcDfiIugN1/cE6rgfT3nCtzeqZPA8+rIxMaQ0xXzIkGP8Gj2qUaP1UR7uhJ1VD8lUCpzCg==} + + quick-format-unescaped@4.0.4: + resolution: {integrity: sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==} + + real-require@0.2.0: + resolution: {integrity: sha512-57frrGM/OCTLqLOAh0mhVA9VBMHd+9U7Zb2THMGdBUoZVOtGbJzjxsYGDJ3A9AYYCP4hn6y1TVbaOfzWtm5GFg==} + engines: {node: '>= 12.13.0'} + + rpc-websockets@9.3.9: + resolution: {integrity: sha512-2iQDaTB4g5fDB2ihrTFSJSibCEuxaRi1q7qTW7ZO9/M5/TC+ToHA4D9/ffNLEbAoHNNrcdeP05oATNk44SKZXA==} + + safe-buffer@5.2.1: + resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} + + safe-stable-stringify@2.5.0: + resolution: {integrity: sha512-b3rppTKm9T+PsVCBEOUR46GWI7fdOs00VKZ1+9c1EWDaDMvjQc6tUwuFyIprgGgTcWoVHSKrU8H31ZHA2e0RHA==} + engines: {node: '>=10'} + + sonic-boom@4.2.1: + resolution: {integrity: sha512-w6AxtubXa2wTXAUsZMMWERrsIRAdrK0Sc+FUytWvYAhBJLyuI4llrMIC1DtlNSdI99EI86KZum2MMq3EAZlF9Q==} + + split2@4.2.0: + resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==} + engines: {node: '>= 10.x'} + + stream-chain@2.2.5: + resolution: {integrity: sha512-1TJmBx6aSWqZ4tx7aTpBDXK0/e2hhcNSTV8+CbFJtDjbb+I1mZ8lHit0Grw9GRT+6JbIrrDd8esncgBi8aBXGA==} + + stream-json@1.9.1: + resolution: {integrity: sha512-uWkjJ+2Nt/LO9Z/JyKZbMusL8Dkh97uUBTv3AJQ74y07lVahLY4eEFsPsE97pxYBwr8nnjMAIch5eqI0gPShyw==} + + superstruct@0.15.5: + resolution: {integrity: sha512-4AOeU+P5UuE/4nOUkmcQdW5y7i9ndt1cQd/3iUe+LTz3RxESf/W/5lg4B74HbDMMv8PHnPnGCQFH45kBcrQYoQ==} + + superstruct@2.0.2: + resolution: {integrity: sha512-uV+TFRZdXsqXTL2pRvujROjdZQ4RAlBUS5BTh9IGm+jTqQntYThciG/qu57Gs69yjnVUSqdxF9YLmSnpupBW9A==} + engines: {node: '>=14.0.0'} + + text-encoding-utf-8@1.0.2: + resolution: {integrity: sha512-8bw4MY9WjdsD2aMtO0OzOCY3pXGYNx2d2FfHRVUKkiCPDWjKuOlhLVASS+pD7VkLTVjW268LYJHwsnPFlBpbAg==} + + thread-stream@3.2.0: + resolution: {integrity: sha512-zLBvqpwr4Esa0kRjcrzGU6zL25lePWaCLMx0RQFrmteozIfeNdaMLpG5U7PeHzvlFkAWaRKA9/KVW4F60iB+qw==} + + toml@3.0.0: + resolution: {integrity: sha512-y/mWCZinnvxjTKYhJ+pYxwD0mRLVvOtdS2Awbgxln6iEnt4rk0yBxeSBHkGJcPucRiG0e55mwWp+g/05rsrd6w==} + + tr46@0.0.3: + resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} + + tslib@2.8.1: + resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} + + undici-types@8.9.0: + resolution: {integrity: sha512-KTDyRTYX8sWmKXAikPHHSyc63CRPETMctyjKFupcC6OBLXT3xsN0e9aF7m+mIXutFWpUXuedtowG7iLOzp0kQg==} + + utf-8-validate@6.0.6: + resolution: {integrity: sha512-q3l3P9UtEEiAHcsgsqTgf9PPjctrDWoIXW3NpOHFdRDbLvu4DLIcxHangJ4RLrWkBcKjmcs/6NkerI8T/rE4LA==} + engines: {node: '>=6.14.2'} + + uuid@14.0.3: + resolution: {integrity: sha512-Sc5u1VVln93y1Xnz4R+CunOZc7R9LUcTmhj7Rc7Eg3HVcf7rVn2FOoa812fe0W8p3jD7xeoGSYbfqCGGH2B6xw==} + hasBin: true + + uuid@8.3.2: + resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} + deprecated: uuid@10 and below is no longer supported. For ESM codebases, update to uuid@latest. For CommonJS codebases, use uuid@11 (but be aware this version will likely be deprecated in 2028). + hasBin: true + + viem@2.57.1: + resolution: {integrity: sha512-eOV3fHnaMzkIFRefZg1icWztAKvBHg7RMKEH89ywY7hnyq1VxI4s/osXnTBViOsEZ7/LbbxU3w+JaIrbeIXRPQ==} + peerDependencies: + typescript: '>=5.0.4' + peerDependenciesMeta: + typescript: + optional: true + + webidl-conversions@3.0.1: + resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} + + whatwg-url@5.0.0: + resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} + + ws@7.5.13: + resolution: {integrity: sha512-rsKI6xDBFVf4r/x8XyChGK04QR/XHroxs/jUcoWvtEZM8TPU/X/uIY9B1CsSzYws9ZJb/6bbBu7dPhFW00CAoA==} + engines: {node: '>=8.3.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ^5.0.2 + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + + ws@8.21.0: + resolution: {integrity: sha512-Vsp28b7DRcimFQvrqu2Wek3z1iYxDCWqHYB8Qsnk/S4RfaCQzPGPyBNuVjJV3cd6UiKtUtp6sNM77gWvzcCH+g==} + engines: {node: '>=10.0.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: '>=5.0.2' + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + + ws@8.22.0: + resolution: {integrity: sha512-Ydggc987+RO0AnWtZ/7Wq9FtNvcrL1b/RO0ud9mWjUPgDrsAAwQSF51sm2hm1XofbU/4jkpGEsLFsZZxU+1DOg==} + engines: {node: '>=10.0.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: '>=5.0.2' + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + + zod@3.25.67: + resolution: {integrity: sha512-idA2YXwpCdqUSKRCACDE6ItZD9TZzy3OZMtpfLoh6oPR47lipysRrJfjzMqFxQ3uJuUPyUeWe1r9vLH33xO/Qw==} + +snapshots: + + '@adraffy/ens-normalize@1.11.1': {} + + '@babel/runtime@7.29.10': {} + + '@circle-fin/adapter-viem-v2@1.19.0(bufferutil@4.1.0)(utf-8-validate@6.0.6)(viem@2.57.1(bufferutil@4.1.0)(utf-8-validate@6.0.6)(zod@3.25.67))': + dependencies: + '@ethersproject/abi': 5.8.0 + '@ethersproject/address': 5.8.0 + '@ethersproject/bytes': 5.8.0 + '@ethersproject/units': 5.8.0 + '@noble/hashes': 1.8.0 + '@solana/web3.js': 1.99.0(bufferutil@4.1.0)(utf-8-validate@6.0.6) + abitype: 1.3.0(zod@3.25.67) + bs58: 6.0.0 + pino: 10.1.0 + viem: 2.57.1(bufferutil@4.1.0)(utf-8-validate@6.0.6)(zod@3.25.67) + zod: 3.25.67 + transitivePeerDependencies: + - bufferutil + - encoding + - typescript + - utf-8-validate + + '@circle-fin/provider-cctp-v2@1.14.1(@solana/web3.js@1.99.0(bufferutil@4.1.0)(utf-8-validate@6.0.6))(bufferutil@4.1.0)(utf-8-validate@6.0.6)': + dependencies: + '@coral-xyz/anchor': 0.31.1(bufferutil@4.1.0)(utf-8-validate@6.0.6) + '@ethersproject/abi': 5.8.0 + '@ethersproject/address': 5.8.0 + '@ethersproject/bytes': 5.8.0 + '@ethersproject/units': 5.8.0 + '@noble/curves': 1.4.2 + abitype: 1.3.0(zod@3.25.67) + bs58: 6.0.0 + buffer: 6.0.3 + pino: 10.1.0 + zod: 3.25.67 + optionalDependencies: + '@solana/web3.js': 1.99.0(bufferutil@4.1.0)(utf-8-validate@6.0.6) + transitivePeerDependencies: + - bufferutil + - encoding + - typescript + - utf-8-validate + + '@circle-fin/provider-fee-v1@0.3.2': + dependencies: + '@ethersproject/abi': 5.8.0 + '@ethersproject/address': 5.8.0 + '@ethersproject/bytes': 5.8.0 + '@ethersproject/units': 5.8.0 + bs58: 6.0.0 + zod: 3.25.67 + + '@circle-fin/provider-gateway-v1@1.5.1(bufferutil@4.1.0)(utf-8-validate@6.0.6)': + dependencies: + '@coral-xyz/anchor': 0.31.1(bufferutil@4.1.0)(utf-8-validate@6.0.6) + '@ethersproject/abi': 5.8.0 + '@ethersproject/address': 5.8.0 + '@ethersproject/bytes': 5.8.0 + '@ethersproject/units': 5.8.0 + '@noble/curves': 1.4.2 + '@solana/web3.js': 1.99.0(bufferutil@4.1.0)(utf-8-validate@6.0.6) + abitype: 1.3.0(zod@3.25.67) + bn.js: 5.2.5 + bs58: 6.0.0 + buffer: 6.0.3 + pino: 10.1.0 + zod: 3.25.67 + transitivePeerDependencies: + - bufferutil + - encoding + - typescript + - utf-8-validate + + '@circle-fin/unified-balance-kit@1.8.0(bufferutil@4.1.0)(utf-8-validate@6.0.6)': + dependencies: + '@circle-fin/provider-cctp-v2': 1.14.1(@solana/web3.js@1.99.0(bufferutil@4.1.0)(utf-8-validate@6.0.6))(bufferutil@4.1.0)(utf-8-validate@6.0.6) + '@circle-fin/provider-fee-v1': 0.3.2 + '@circle-fin/provider-gateway-v1': 1.5.1(bufferutil@4.1.0)(utf-8-validate@6.0.6) + '@coral-xyz/anchor': 0.31.1(bufferutil@4.1.0)(utf-8-validate@6.0.6) + '@ethersproject/abi': 5.8.0 + '@ethersproject/address': 5.8.0 + '@ethersproject/bytes': 5.8.0 + '@ethersproject/units': 5.8.0 + '@noble/curves': 1.4.2 + '@solana/web3.js': 1.99.0(bufferutil@4.1.0)(utf-8-validate@6.0.6) + abitype: 1.3.0(zod@3.25.67) + bn.js: 5.2.5 + bs58: 6.0.0 + uuid: 14.0.3 + zod: 3.25.67 + transitivePeerDependencies: + - bufferutil + - encoding + - typescript + - utf-8-validate + + '@coral-xyz/anchor-errors@0.31.1': {} + + '@coral-xyz/anchor@0.31.1(bufferutil@4.1.0)(utf-8-validate@6.0.6)': + dependencies: + '@coral-xyz/anchor-errors': 0.31.1 + '@coral-xyz/borsh': 0.31.1(@solana/web3.js@1.99.0(bufferutil@4.1.0)(utf-8-validate@6.0.6)) + '@noble/hashes': 1.8.0 + '@solana/web3.js': 1.99.0(bufferutil@4.1.0)(utf-8-validate@6.0.6) + bn.js: 5.2.5 + bs58: 4.0.1 + buffer-layout: 1.2.2 + camelcase: 6.3.0 + cross-fetch: 3.2.0 + eventemitter3: 4.0.7 + pako: 2.2.0 + superstruct: 0.15.5 + toml: 3.0.0 + transitivePeerDependencies: + - bufferutil + - encoding + - typescript + - utf-8-validate + + '@coral-xyz/borsh@0.31.1(@solana/web3.js@1.99.0(bufferutil@4.1.0)(utf-8-validate@6.0.6))': + dependencies: + '@solana/web3.js': 1.99.0(bufferutil@4.1.0)(utf-8-validate@6.0.6) + bn.js: 5.2.5 + buffer-layout: 1.2.2 + + '@esbuild/aix-ppc64@0.28.2': + optional: true + + '@esbuild/android-arm64@0.28.2': + optional: true + + '@esbuild/android-arm@0.28.2': + optional: true + + '@esbuild/android-x64@0.28.2': + optional: true + + '@esbuild/darwin-arm64@0.28.2': + optional: true + + '@esbuild/darwin-x64@0.28.2': + optional: true + + '@esbuild/freebsd-arm64@0.28.2': + optional: true + + '@esbuild/freebsd-x64@0.28.2': + optional: true + + '@esbuild/linux-arm64@0.28.2': + optional: true + + '@esbuild/linux-arm@0.28.2': + optional: true + + '@esbuild/linux-ia32@0.28.2': + optional: true + + '@esbuild/linux-loong64@0.28.2': + optional: true + + '@esbuild/linux-mips64el@0.28.2': + optional: true + + '@esbuild/linux-ppc64@0.28.2': + optional: true + + '@esbuild/linux-riscv64@0.28.2': + optional: true + + '@esbuild/linux-s390x@0.28.2': + optional: true + + '@esbuild/linux-x64@0.28.2': + optional: true + + '@esbuild/netbsd-arm64@0.28.2': + optional: true + + '@esbuild/netbsd-x64@0.28.2': + optional: true + + '@esbuild/openbsd-arm64@0.28.2': + optional: true + + '@esbuild/openbsd-x64@0.28.2': + optional: true + + '@esbuild/openharmony-arm64@0.28.2': + optional: true + + '@esbuild/sunos-x64@0.28.2': + optional: true + + '@esbuild/win32-arm64@0.28.2': + optional: true + + '@esbuild/win32-ia32@0.28.2': + optional: true + + '@esbuild/win32-x64@0.28.2': + optional: true + + '@ethersproject/abi@5.8.0': + dependencies: + '@ethersproject/address': 5.8.0 + '@ethersproject/bignumber': 5.8.0 + '@ethersproject/bytes': 5.8.0 + '@ethersproject/constants': 5.8.0 + '@ethersproject/hash': 5.8.0 + '@ethersproject/keccak256': 5.8.0 + '@ethersproject/logger': 5.8.0 + '@ethersproject/properties': 5.8.0 + '@ethersproject/strings': 5.8.0 + + '@ethersproject/abstract-provider@5.8.0': + dependencies: + '@ethersproject/bignumber': 5.8.0 + '@ethersproject/bytes': 5.8.0 + '@ethersproject/logger': 5.8.0 + '@ethersproject/networks': 5.8.0 + '@ethersproject/properties': 5.8.0 + '@ethersproject/transactions': 5.8.0 + '@ethersproject/web': 5.8.0 + + '@ethersproject/abstract-signer@5.8.0': + dependencies: + '@ethersproject/abstract-provider': 5.8.0 + '@ethersproject/bignumber': 5.8.0 + '@ethersproject/bytes': 5.8.0 + '@ethersproject/logger': 5.8.0 + '@ethersproject/properties': 5.8.0 + + '@ethersproject/address@5.8.0': + dependencies: + '@ethersproject/bignumber': 5.8.0 + '@ethersproject/bytes': 5.8.0 + '@ethersproject/keccak256': 5.8.0 + '@ethersproject/logger': 5.8.0 + '@ethersproject/rlp': 5.8.0 + + '@ethersproject/base64@5.8.0': + dependencies: + '@ethersproject/bytes': 5.8.0 + + '@ethersproject/bignumber@5.8.0': + dependencies: + '@ethersproject/bytes': 5.8.0 + '@ethersproject/logger': 5.8.0 + bn.js: 5.2.5 + + '@ethersproject/bytes@5.8.0': + dependencies: + '@ethersproject/logger': 5.8.0 + + '@ethersproject/constants@5.8.0': + dependencies: + '@ethersproject/bignumber': 5.8.0 + + '@ethersproject/hash@5.8.0': + dependencies: + '@ethersproject/abstract-signer': 5.8.0 + '@ethersproject/address': 5.8.0 + '@ethersproject/base64': 5.8.0 + '@ethersproject/bignumber': 5.8.0 + '@ethersproject/bytes': 5.8.0 + '@ethersproject/keccak256': 5.8.0 + '@ethersproject/logger': 5.8.0 + '@ethersproject/properties': 5.8.0 + '@ethersproject/strings': 5.8.0 + + '@ethersproject/keccak256@5.8.0': + dependencies: + '@ethersproject/bytes': 5.8.0 + js-sha3: 0.8.0 + + '@ethersproject/logger@5.8.0': {} + + '@ethersproject/networks@5.8.0': + dependencies: + '@ethersproject/logger': 5.8.0 + + '@ethersproject/properties@5.8.0': + dependencies: + '@ethersproject/logger': 5.8.0 + + '@ethersproject/rlp@5.8.0': + dependencies: + '@ethersproject/bytes': 5.8.0 + '@ethersproject/logger': 5.8.0 + + '@ethersproject/signing-key@5.8.0': + dependencies: + '@ethersproject/bytes': 5.8.0 + '@ethersproject/logger': 5.8.0 + '@ethersproject/properties': 5.8.0 + bn.js: 5.2.5 + elliptic: 6.6.1 + hash.js: 1.1.7 + + '@ethersproject/strings@5.8.0': + dependencies: + '@ethersproject/bytes': 5.8.0 + '@ethersproject/constants': 5.8.0 + '@ethersproject/logger': 5.8.0 + + '@ethersproject/transactions@5.8.0': + dependencies: + '@ethersproject/address': 5.8.0 + '@ethersproject/bignumber': 5.8.0 + '@ethersproject/bytes': 5.8.0 + '@ethersproject/constants': 5.8.0 + '@ethersproject/keccak256': 5.8.0 + '@ethersproject/logger': 5.8.0 + '@ethersproject/properties': 5.8.0 + '@ethersproject/rlp': 5.8.0 + '@ethersproject/signing-key': 5.8.0 + + '@ethersproject/units@5.8.0': + dependencies: + '@ethersproject/bignumber': 5.8.0 + '@ethersproject/constants': 5.8.0 + '@ethersproject/logger': 5.8.0 + + '@ethersproject/web@5.8.0': + dependencies: + '@ethersproject/base64': 5.8.0 + '@ethersproject/bytes': 5.8.0 + '@ethersproject/logger': 5.8.0 + '@ethersproject/properties': 5.8.0 + '@ethersproject/strings': 5.8.0 + + '@noble/ciphers@1.3.0': {} + + '@noble/curves@1.4.2': + dependencies: + '@noble/hashes': 1.4.0 + + '@noble/curves@1.9.1': + dependencies: + '@noble/hashes': 1.8.0 + + '@noble/curves@1.9.7': + dependencies: + '@noble/hashes': 1.8.0 + + '@noble/hashes@1.4.0': {} + + '@noble/hashes@1.8.0': {} + + '@pinojs/redact@0.4.0': {} + + '@scure/base@1.2.6': {} + + '@scure/bip32@1.7.0': + dependencies: + '@noble/curves': 1.9.1 + '@noble/hashes': 1.8.0 + '@scure/base': 1.2.6 + + '@scure/bip39@1.6.0': + dependencies: + '@noble/hashes': 1.8.0 + '@scure/base': 1.2.6 + + '@solana/buffer-layout@4.0.1': + dependencies: + buffer: 6.0.3 + + '@solana/codecs-core@5.5.1': + dependencies: + '@solana/errors': 5.5.1 + + '@solana/codecs-numbers@5.5.1': + dependencies: + '@solana/codecs-core': 5.5.1 + '@solana/errors': 5.5.1 + + '@solana/errors@5.5.1': + dependencies: + chalk: 5.6.2 + commander: 14.0.2 + + '@solana/web3.js@1.99.0(bufferutil@4.1.0)(utf-8-validate@6.0.6)': + dependencies: + '@babel/runtime': 7.29.10 + '@noble/curves': 1.9.7 + '@noble/hashes': 1.8.0 + '@solana/buffer-layout': 4.0.1 + '@solana/codecs-numbers': 5.5.1 + agentkeepalive: 4.6.0 + bn.js: 5.2.5 + borsh: 0.7.0 + bs58: 4.0.1 + buffer: 6.0.3 + fast-stable-stringify: 1.0.0 + jayson: 4.3.0(bufferutil@4.1.0)(utf-8-validate@6.0.6) + node-fetch: 2.7.0 + rpc-websockets: 9.3.9 + superstruct: 2.0.2 + transitivePeerDependencies: + - bufferutil + - encoding + - typescript + - utf-8-validate + + '@swc/helpers@0.5.23': + dependencies: + tslib: 2.8.1 + + '@types/connect@3.4.38': + dependencies: + '@types/node': 12.20.55 + + '@types/node@12.20.55': {} + + '@types/node@26.6.5': + dependencies: + undici-types: 8.9.0 + + '@types/uuid@10.0.0': {} + + '@types/ws@7.4.7': + dependencies: + '@types/node': 12.20.55 + + '@types/ws@8.18.2': + dependencies: + '@types/node': 26.6.5 + + abitype@1.2.3(zod@3.25.67): + optionalDependencies: + zod: 3.25.67 + + abitype@1.3.0(zod@3.25.67): + optionalDependencies: + zod: 3.25.67 + + agentkeepalive@4.6.0: + dependencies: + humanize-ms: 1.2.1 + + atomic-sleep@1.0.0: {} + + base-x@3.0.11: + dependencies: + safe-buffer: 5.2.1 + + base-x@5.0.1: {} + + base64-js@1.5.1: {} + + bn.js@4.12.5: {} + + bn.js@5.2.5: {} + + borsh@0.7.0: + dependencies: + bn.js: 5.2.5 + bs58: 4.0.1 + text-encoding-utf-8: 1.0.2 + + brorand@1.1.0: {} + + bs58@4.0.1: + dependencies: + base-x: 3.0.11 + + bs58@6.0.0: + dependencies: + base-x: 5.0.1 + + buffer-layout@1.2.2: {} + + buffer@6.0.3: + dependencies: + base64-js: 1.5.1 + ieee754: 1.2.1 + + bufferutil@4.1.0: + dependencies: + node-gyp-build: 4.8.4 + optional: true + + camelcase@6.3.0: {} + + chalk@5.6.2: {} + + commander@14.0.2: {} + + commander@2.20.3: {} + + cross-fetch@3.2.0: + dependencies: + node-fetch: 2.7.0 + transitivePeerDependencies: + - encoding + + delay@5.0.0: {} + + elliptic@6.6.1: + dependencies: + bn.js: 4.12.5 + brorand: 1.1.0 + hash.js: 1.1.7 + hmac-drbg: 1.0.1 + inherits: 2.0.4 + minimalistic-assert: 1.0.1 + minimalistic-crypto-utils: 1.0.1 + + es6-promise@4.2.8: {} + + es6-promisify@5.0.0: + dependencies: + es6-promise: 4.2.8 + + esbuild@0.28.2: + optionalDependencies: + '@esbuild/aix-ppc64': 0.28.2 + '@esbuild/android-arm': 0.28.2 + '@esbuild/android-arm64': 0.28.2 + '@esbuild/android-x64': 0.28.2 + '@esbuild/darwin-arm64': 0.28.2 + '@esbuild/darwin-x64': 0.28.2 + '@esbuild/freebsd-arm64': 0.28.2 + '@esbuild/freebsd-x64': 0.28.2 + '@esbuild/linux-arm': 0.28.2 + '@esbuild/linux-arm64': 0.28.2 + '@esbuild/linux-ia32': 0.28.2 + '@esbuild/linux-loong64': 0.28.2 + '@esbuild/linux-mips64el': 0.28.2 + '@esbuild/linux-ppc64': 0.28.2 + '@esbuild/linux-riscv64': 0.28.2 + '@esbuild/linux-s390x': 0.28.2 + '@esbuild/linux-x64': 0.28.2 + '@esbuild/netbsd-arm64': 0.28.2 + '@esbuild/netbsd-x64': 0.28.2 + '@esbuild/openbsd-arm64': 0.28.2 + '@esbuild/openbsd-x64': 0.28.2 + '@esbuild/openharmony-arm64': 0.28.2 + '@esbuild/sunos-x64': 0.28.2 + '@esbuild/win32-arm64': 0.28.2 + '@esbuild/win32-ia32': 0.28.2 + '@esbuild/win32-x64': 0.28.2 + + eventemitter3@4.0.7: {} + + eventemitter3@5.0.1: {} + + eventemitter3@5.0.4: {} + + eyes@0.1.8: {} + + fast-stable-stringify@1.0.0: {} + + hash.js@1.1.7: + dependencies: + inherits: 2.0.4 + minimalistic-assert: 1.0.1 + + hmac-drbg@1.0.1: + dependencies: + hash.js: 1.1.7 + minimalistic-assert: 1.0.1 + minimalistic-crypto-utils: 1.0.1 + + humanize-ms@1.2.1: + dependencies: + ms: 2.1.3 + + ieee754@1.2.1: {} + + inherits@2.0.4: {} + + isomorphic-ws@4.0.1(ws@7.5.13(bufferutil@4.1.0)(utf-8-validate@6.0.6)): + dependencies: + ws: 7.5.13(bufferutil@4.1.0)(utf-8-validate@6.0.6) + + isows@1.0.7(ws@8.21.0(bufferutil@4.1.0)(utf-8-validate@6.0.6)): + dependencies: + ws: 8.21.0(bufferutil@4.1.0)(utf-8-validate@6.0.6) + + jayson@4.3.0(bufferutil@4.1.0)(utf-8-validate@6.0.6): + dependencies: + '@types/connect': 3.4.38 + '@types/node': 12.20.55 + '@types/ws': 7.4.7 + commander: 2.20.3 + delay: 5.0.0 + es6-promisify: 5.0.0 + eyes: 0.1.8 + isomorphic-ws: 4.0.1(ws@7.5.13(bufferutil@4.1.0)(utf-8-validate@6.0.6)) + json-stringify-safe: 5.0.1 + stream-json: 1.9.1 + uuid: 8.3.2 + ws: 7.5.13(bufferutil@4.1.0)(utf-8-validate@6.0.6) + transitivePeerDependencies: + - bufferutil + - utf-8-validate + + js-sha3@0.8.0: {} + + json-stringify-safe@5.0.1: {} + + minimalistic-assert@1.0.1: {} + + minimalistic-crypto-utils@1.0.1: {} + + ms@2.1.3: {} + + node-fetch@2.7.0: + dependencies: + whatwg-url: 5.0.0 + + node-gyp-build@4.8.4: + optional: true + + on-exit-leak-free@2.1.2: {} + + ox@0.14.45(zod@3.25.67): + dependencies: + '@adraffy/ens-normalize': 1.11.1 + '@noble/ciphers': 1.3.0 + '@noble/curves': 1.9.1 + '@noble/hashes': 1.8.0 + '@scure/bip32': 1.7.0 + '@scure/bip39': 1.6.0 + abitype: 1.2.3(zod@3.25.67) + eventemitter3: 5.0.1 + transitivePeerDependencies: + - zod + + pako@2.2.0: {} + + pino-abstract-transport@2.0.0: + dependencies: + split2: 4.2.0 + + pino-std-serializers@7.1.0: {} + + pino@10.1.0: + dependencies: + '@pinojs/redact': 0.4.0 + atomic-sleep: 1.0.0 + on-exit-leak-free: 2.1.2 + pino-abstract-transport: 2.0.0 + pino-std-serializers: 7.1.0 + process-warning: 5.1.1 + quick-format-unescaped: 4.0.4 + real-require: 0.2.0 + safe-stable-stringify: 2.5.0 + sonic-boom: 4.2.1 + thread-stream: 3.2.0 + + process-warning@5.1.1: {} + + quick-format-unescaped@4.0.4: {} + + real-require@0.2.0: {} + + rpc-websockets@9.3.9: + dependencies: + '@swc/helpers': 0.5.23 + '@types/uuid': 10.0.0 + '@types/ws': 8.18.2 + buffer: 6.0.3 + eventemitter3: 5.0.4 + uuid: 14.0.3 + ws: 8.22.0(bufferutil@4.1.0)(utf-8-validate@6.0.6) + optionalDependencies: + bufferutil: 4.1.0 + utf-8-validate: 6.0.6 + + safe-buffer@5.2.1: {} + + safe-stable-stringify@2.5.0: {} + + sonic-boom@4.2.1: + dependencies: + atomic-sleep: 1.0.0 + + split2@4.2.0: {} + + stream-chain@2.2.5: {} + + stream-json@1.9.1: + dependencies: + stream-chain: 2.2.5 + + superstruct@0.15.5: {} + + superstruct@2.0.2: {} + + text-encoding-utf-8@1.0.2: {} + + thread-stream@3.2.0: + dependencies: + real-require: 0.2.0 + + toml@3.0.0: {} + + tr46@0.0.3: {} + + tslib@2.8.1: {} + + undici-types@8.9.0: {} + + utf-8-validate@6.0.6: + dependencies: + node-gyp-build: 4.8.4 + optional: true + + uuid@14.0.3: {} + + uuid@8.3.2: {} + + viem@2.57.1(bufferutil@4.1.0)(utf-8-validate@6.0.6)(zod@3.25.67): + dependencies: + '@noble/curves': 1.9.1 + '@noble/hashes': 1.8.0 + '@scure/bip32': 1.7.0 + '@scure/bip39': 1.6.0 + abitype: 1.2.3(zod@3.25.67) + isows: 1.0.7(ws@8.21.0(bufferutil@4.1.0)(utf-8-validate@6.0.6)) + ox: 0.14.45(zod@3.25.67) + ws: 8.21.0(bufferutil@4.1.0)(utf-8-validate@6.0.6) + transitivePeerDependencies: + - bufferutil + - utf-8-validate + - zod + + webidl-conversions@3.0.1: {} + + whatwg-url@5.0.0: + dependencies: + tr46: 0.0.3 + webidl-conversions: 3.0.1 + + ws@7.5.13(bufferutil@4.1.0)(utf-8-validate@6.0.6): + optionalDependencies: + bufferutil: 4.1.0 + utf-8-validate: 6.0.6 + + ws@8.21.0(bufferutil@4.1.0)(utf-8-validate@6.0.6): + optionalDependencies: + bufferutil: 4.1.0 + utf-8-validate: 6.0.6 + + ws@8.22.0(bufferutil@4.1.0)(utf-8-validate@6.0.6): + optionalDependencies: + bufferutil: 4.1.0 + utf-8-validate: 6.0.6 + + zod@3.25.67: {} diff --git a/dashboard/vendor/unified-balance-kit-1.8.0/pnpm-workspace.yaml b/dashboard/vendor/unified-balance-kit-1.8.0/pnpm-workspace.yaml new file mode 100644 index 0000000..3553a61 --- /dev/null +++ b/dashboard/vendor/unified-balance-kit-1.8.0/pnpm-workspace.yaml @@ -0,0 +1,5 @@ +# esbuild builds the bundle; the others are optional native speedups of the ws library. +allowBuilds: + bufferutil: false + esbuild: true + utf-8-validate: false diff --git a/dashboard/wallet.js b/dashboard/wallet.js index 63a471f..78ea1fc 100644 --- a/dashboard/wallet.js +++ b/dashboard/wallet.js @@ -88,6 +88,12 @@ export async function disconnect() { .catch(() => null); } +/** The connected wallet's own EIP-1193 provider, for kits that bring their own client. */ +export function eip1193() { + if (!chosen) throw new Error("Connect your wallet first."); + return chosen.provider; +} + export function provider() { if (!chosen) throw new Error("Connect your wallet first."); return new ethers.BrowserProvider(chosen.provider); diff --git a/deploy/Caddyfile b/deploy/Caddyfile index 41a9756..6a22fd3 100644 --- a/deploy/Caddyfile +++ b/deploy/Caddyfile @@ -23,7 +23,9 @@ header { # No HTTP/3 offer: QUIC over UDP breaks on some networks and antivirus, and the page gains nothing -Alt-Svc - Content-Security-Policy "default-src 'self'; script-src 'self'; style-src 'self'; img-src 'self' data:; connect-src 'self' https://explorer.testnet.arc.io; manifest-src 'self'; frame-ancestors 'none'; base-uri 'none'; form-action 'self'; object-src 'none'" + # connect-src: Circle Gateway and the public nodes Circle's Unified Balance Kit uses for the + # chains where the owner deposits (from the kit's own chain definitions) + Content-Security-Policy "default-src 'self'; script-src 'self'; style-src 'self'; img-src 'self' data:; connect-src 'self' https://explorer.testnet.arc.io https://gateway-api-testnet.circle.com https://sepolia.base.org https://sepolia-rollup.arbitrum.io https://ethereum-sepolia-rpc.publicnode.com https://api.avax-test.network https://sepolia.optimism.io https://polygon-amoy-bor-rpc.publicnode.com https://polygon-amoy.drpc.org https://sepolia.unichain.org; manifest-src 'self'; frame-ancestors 'none'; base-uri 'none'; form-action 'self'; object-src 'none'" X-Content-Type-Options nosniff Referrer-Policy no-referrer Permissions-Policy "camera=(), microphone=(), geolocation=()" diff --git a/deploy/install.sh b/deploy/install.sh index 14b896a..7e72618 100755 --- a/deploy/install.sh +++ b/deploy/install.sh @@ -70,6 +70,14 @@ apt-get update -qq DEBIAN_FRONTEND=noninteractive apt-get install -y -qq git curl caddy polkitd python3 >/dev/null command -v uv >/dev/null || curl -LsSf https://astral.sh/uv/install.sh | env UV_INSTALL_DIR=/usr/local/bin sh >/dev/null +# Node 22 runs Circle's Unified Balance Kit for the agent; the distribution's own package is +# older, so it comes from NodeSource, as nodejs.org lists. pnpm comes through corepack. +node_major=$( (node -v 2>/dev/null || echo v0) | sed -E 's/^v([0-9]+).*/\1/') +if [ "$node_major" -lt 22 ]; then + curl -fsSL https://deb.nodesource.com/setup_22.x | bash - >/dev/null + DEBIAN_FRONTEND=noninteractive apt-get install -y -qq nodejs >/dev/null +fi +corepack enable rpc=$(get "$FROM" ARC_TESTNET_RPC_URL) chain=$(curl -s -m 15 -X POST -H 'content-type: application/json' \ @@ -90,6 +98,8 @@ fi sudo -u embco git -C "$APP" fetch -q origin sudo -u embco git -C "$APP" checkout -q -B "$branch" "origin/$branch" (cd "$APP" && sudo -u embco -H uv sync -q --frozen --no-dev) +(cd "$APP/services/unified_balance/kit" && + sudo -u embco -H env COREPACK_ENABLE_DOWNLOAD_PROMPT=0 pnpm install -s --frozen-lockfile --prod) install -d -m 700 -o embco -g embco "$DATA/shops" chown -R embco:embco "$DATA/shops" # shops restored from a backup belong to the agent too diff --git a/docs/architecture.md b/docs/architecture.md index 2c3ad40..2b153fd 100644 --- a/docs/architecture.md +++ b/docs/architecture.md @@ -15,7 +15,7 @@ releases money. The money moves only when the shop contract accepts the call. | Actor | Can do | Cannot do | |---|---|---| | Owner (MetaMask wallet) | Create the shop contract, set limits, approve supplier wallets, pause or resume, change the agent's address | No limit applies to the owner, and every change the owner makes is public on chain | -| Agent (Circle EOA wallet) | Pay an approved supplier, within the per-payment and weekly cap, once per invoice; pause | Raise a limit, approve a payee, pay an unapproved wallet, pay twice, resume after a pause | +| Agent (Circle EOA wallet) | Pay an approved supplier, within the per-payment and weekly cap, once per invoice; pause; as the owner's delegate on a chain, bring USDC from the owner's Unified Balance to the owner's own wallet on Arc | Raise a limit, approve a payee, pay an unapproved wallet, pay twice, resume after a pause, send the owner's Unified Balance anywhere but the owner's wallet on Arc | | Supplier | Sign a challenge with its wallet to prove the address is theirs | Change a payee on its own: the owner still approves it | | AI model | Decide what to pay and when, send the payment itself and act on what happened, and talk to the owner | Override HOLD, pay what the checks do not allow, or bypass the contract | @@ -37,7 +37,7 @@ The contracts live in `contracts/`. |---|---| | `agent/agent.py`, `prompt.py`, `think.py`, `plan.py` | The brain. When a reflex wakes it, the model (today Claude Haiku 5.5, at high effort for its rounds and medium when it answers the owner) reads a short briefing and calls tools until every open invoice has its decision: pay now, pay on a date, hold, or ask the owner, each with a reason, plus alarms and notes for later and a summary for the owner. It pays during the session and reads what happened (paid with its transaction, refused by the contract, or Circle's own error), then acts on it: looks up why, holds, or tells the owner what only they can fix. Capped per session (turns, tokens, 10 payments) and per day (USD 1 of model use by default, estimated from the tokens and the public prices; past it the agent is not woken until the next day, and the owner is told once). A payment it sent stands even if the session is cut off; its other choices count once the session finishes. The rules still decide what may be paid; the agent decides what is paid and when, and pays it. On by default, and nothing is paid without it; `EMBCO_AUTONOMY=observe` decides and explains without paying | | `services/telegram` | The agent on Telegram, a process of its own (`embco telegram`). A chat is linked with a one-time code from the dashboard (hashed, 10 minutes, once); any other chat can do nothing. `/stop` turns the whole agent off and pauses the contract from the agent's wallet, `/pause` pauses payments while the agent keeps watching and answering, `/status` tells its state: none of them go through the model, and only the dashboard turns it on again. Any other text is a message to the agent, whose answers come back to the chat. The agent's questions about invoices arrive once: with two buttons (yes, pay it / no, hold it) when only the owner's yes is missing, where a press from the linked chat, while the question is still open, is only a message to the agent; as a reminder to use the dashboard, followed by the agent's question, when the owner's wallet is needed (approve a wallet, raise a limit, add money, authorize or resume payments). What the agent writes to the owner is one topic, short and without full hashes: a longer text goes back to the model to be rewritten. The bot token never reaches a log or an error | -| `agent/tools` | What the agent can call. To read: the open invoices (with the last state of each payment), a search over them (supplier, due date, what the checks say), one invoice in full, a supplier's profile, an item's price history, the cash position, the state of a payment, and its own wallet (balance for network fees, whether the contract has it as its agent, whether the contract is paused). To act: pay now (sent at once, with the result back to the agent), schedule (on that day the agent is woken to pay), hold, ask the owner, set an alarm, keep a note, finish. To talk: reply to the owner's message, notify the owner of something to act on (at most 3 per session), and email a supplier from the shop's ERPNext, only after the owner agreed | +| `agent/tools` | What the agent can call. To read: the open invoices (with the last state of each payment), a search over them (supplier, due date, what the checks say), one invoice in full, a supplier's profile, an item's price history, the cash position (with the owner's USDC on other chains), the state of a payment, and its own wallet (balance for network fees, whether the contract has it as its agent, whether the contract is paused). To act: pay now (sent at once, with the result back to the agent), estimate and bring funds from the owner's Unified Balance to their wallet on Arc (the split by chain is the agent's choice), schedule (on that day the agent is woken to pay), hold, ask the owner, set an alarm, keep a note, finish. To talk: reply to the owner's message, notify the owner of something to act on (at most 3 per session), and email a supplier from the shop's ERPNext, only after the owner agreed | | `agent/guardrails/gate.py` | Refuses a payment the rules do not allow (HOLD, ASK, already paid, over this week's room in the contract) before anything is sent, and the refusal goes back to the agent | | `agent/reflexes/wake.py` | When to wake the agent: an invoice new, changed or without its decision, a payment failed or blocked (not again for a result it already saw), the day it planned to pay something, a due date close with nothing planned, an owner answer or supplier signature, a limit change, an alarm it set, the daily round. What the agent did itself is not a reason: an invoice it paid does not wake it when it changes, an alarm about it does not ring, its own payments are not a change of money, and a hold it chose that only lost reasons since still holds. No reason, no model call | | `services/erp` | Domain models, `LedgerAdapter` protocol, `erpnext/` adapter (client, mappers, adapter). Reads, plus one write through `PaymentWriter`: a payment final on chain becomes a submitted Payment Entry (on testnet, a draft marked TESTNET, so test USDC never closes a real invoice), drafted by ERPNext from the invoice and checked against what was paid (party, amount, invoice) before it is written, with the transaction hash and payee wallet in its custom fields. The same transaction is never written twice | @@ -50,7 +50,8 @@ The contracts live in `contracts/`. | `agent/explain` | A plain-language summary and next step for each HOLD or ASK decision, through the model with structured output (today Claude Haiku 5.5, at low effort; with Claude Opus and Sonnet 5.x it also gets the server-side refusal fallback). Explained once per decision and stored; a failure is logged and retried next cycle; never changes a decision. Off unless `EMBCO_EXPLAIN=on` | | `services/circle` | Circle developer-controlled wallets over REST: a fresh entity secret ciphertext (RSA-OAEP, SHA-256) on every write, idempotency keys, wallet creation, contract execution and transaction state. Reads are retried when the connection drops; errors never carry credentials | | `services/payments` | Pays one invoice when the agent calls pay now, and gives back what happened, refusals and Circle errors word for word: re-reads the invoice and supplier from the ERP (same amount, USD, valid wallet), skips what the contract already marks paid or what does not fit under its weekly cap, lists for the dashboard any wallet the owner has not approved in the contract yet, including invoices asked about only because their wallet is new (approving the wallet there then counts as the owner's answer, saved in the journal like any other; a wallet approved before the question answers nothing) (`EMBCO_APPROVALS_FILE`: wallet, invoice and amount only, no supplier names), simulates the exact `Memo.memo` -> `ShopPayables.pay` call through the Arc node and names the contract's error if it would fail, sends the same bytes through Circle with an idempotency key per invoice and attempt, follows it to a final state, records every step, then writes it into the ERP. At most 3 failed transactions per invoice. Amounts become exact 6-decimal integers or are refused | -| `dashboard/` | Static owner page (ethers 6.17.0 vendored, no build). Connects MetaMask, adds Arc Testnet, creates the shop from the factory, and lets the owner set the allowance and limits, approve suppliers (with one click for the wallets the agent is waiting to pay, from the agent's file), pause or resume the agent, and read suppliers and payments from the contract's events. Money is parsed and shown as exact 6-decimal integers. Chain reads go through the site's own `/rpc` proxy, which adds the node credential on the server, so the page never holds one. Served with a strict Content Security Policy | +| `services/unified_balance` | The owner's Unified Balance (Circle Gateway) through Circle's Unified Balance Kit 1.8.0 and its Circle Wallets adapter, in a small Node script (`kit/`, pnpm, Node 22) the agent runs once per call, with Circle's credentials only in its environment. At start it gives the agent's Circle wallet the same address on each source chain (`deriveWalletByAddress`); then it reads the owner's balance per chain and whether the agent is a delegate there, estimates fees, and spends with the split the model chose, always minted to the contract owner's wallet on Arc through Circle's Forwarding Service. The dashboard gets the same per-chain view after each check | +| `dashboard/` | Static owner page (ethers 6.17.0 vendored, no build). Connects MetaMask, adds Arc Testnet, creates the shop from the factory, and lets the owner set the allowance and limits, approve suppliers (with one click for the wallets the agent is waiting to pay, from the agent's file), deposit USDC on another chain into their Unified Balance and authorize the agent there (Circle's Unified Balance Kit 1.8.0 with its viem adapter, bundled once into `vendor/`), pause or resume the agent, and read suppliers and payments from the contract's events. Money is parsed and shown as exact 6-decimal integers. Chain reads go through the site's own `/rpc` proxy, which adds the node credential on the server, so the page never holds one. Served with a strict Content Security Policy | | `contracts/` (Solidity) | `ShopPayables`, one per shop, created by its owner from `ShopPayablesFactory`. The money stays in the owner's wallet; the agent can only pay approved suppliers, once per invoice, within a per-payment and a weekly cap; owner or agent can pause, only the owner resumes or changes limits. Unit and fuzz tests, plus a fork test against Arc Testnet's real USDC | ## ERP independence diff --git a/docs/connect.md b/docs/connect.md index 7b92048..0f092a2 100644 --- a/docs/connect.md +++ b/docs/connect.md @@ -103,6 +103,12 @@ then you approve it in the dashboard (see [What happens next](#what-happens-next expect. - **When the agent pays**, it records a Payment Entry in ERPNext for that invoice. The transaction hash is in **Reference No**, and the wallet paid is in the remarks. +- **USDC on other chains (optional):** in **Settings > USDC on other chains**, deposit USDC you + hold on another chain (Base Sepolia, Arbitrum Sepolia and the other testnets listed there) into + your Unified Balance (Circle Gateway), then **Authorize the agent on this chain**. When an + invoice needs more than your wallet on Arc holds, the agent can bring it to your wallet on Arc, + choosing which chains it comes from. It never sends it anywhere else, and your contract's limits + still apply. Each chain asks for its own gas token (for example test ETH on Base Sepolia). - **Telegram (optional):** in the dashboard, **Connect Telegram** gives a code to send to the embco bot. Then `/status` says how the agent is, `/pause` pauses payments while the agent keeps watching, and `/stop` turns the agent off and pauses the shop contract. Only the dashboard diff --git a/docs/how-it-works.md b/docs/how-it-works.md index 32c160e..0bd5c0d 100644 --- a/docs/how-it-works.md +++ b/docs/how-it-works.md @@ -37,6 +37,7 @@ finding with its evidence, so the reason on screen is the reason the rule used. | Does what was billed make sense? | The AI model | It weighs the notes (receipt, quantities, price history, limits) and pays, holds or asks the owner, with its reason | | Is this supplier's wallet safe? | The wallet control, then the owner | A new wallet waits for the supplier's signature and the owner's approval | | What is paid now, and what waits for a date? | The AI model | It pays itself and reads the result; the gate refuses anything the rules forbid before it is sent | +| The owner's wallet on Arc is short: bring money from which chains? | The AI model | It reads the owner's Unified Balance on other chains and the fees of each split, and brings what it chooses. It only ever lands in the owner's own wallet on Arc, from chains where the owner authorized it | | A payment did not go out: why, and who fixes it? | The AI model | It looks up the reason with its tools and tells the owner what only they can fix | | Is the payment allowed on chain? | The shop contract | Limits, approved payee, once per invoice, pause | diff --git a/services/payments/chain.py b/services/payments/chain.py index b3a4932..2d0888a 100644 --- a/services/payments/chain.py +++ b/services/payments/chain.py @@ -172,6 +172,10 @@ def owner_funds(self, shop: str) -> tuple[int, int]: [owner, to_checksum_address(shop)])) return balance, allowed + def owner_of(self, shop: str) -> str: + (owner,) = decode(["address"], self._view(shop, "owner()", [], [])) + return to_checksum_address(owner) + def agent_of(self, shop: str) -> str: (agent,) = decode(["address"], self._view(shop, "agent()", [], [])) return to_checksum_address(agent) diff --git a/services/shops/activity.py b/services/shops/activity.py index 83aff73..5f9842e 100644 --- a/services/shops/activity.py +++ b/services/shops/activity.py @@ -150,6 +150,7 @@ def session_events(session) -> list[dict[str, Any]]: pay_on=d.pay_on.isoformat() if d.pay_on else None)) events.extend(_event(at, AGENT, f"Will look again on {a.at:%Y-%m-%d %H:%M}: {a.why}") for a in session.alarms) + events.extend(_event(at, AGENT, _brought(m), tx=m.get("tx")) for m in session.funds_moved) events.extend(_event(at, AGENT, f"Emailed {supplier} from your ERPNext.") for supplier in session.emails) events.extend(_event(at, AGENT, f"Sent {supplier} the notice to confirm its wallet.") @@ -161,6 +162,13 @@ def session_events(session) -> list[dict[str, Any]]: return events +def _brought(moved: Mapping[str, Any]) -> str: + """A move from the owner's Unified Balance, in the owner's words.""" + sources = ", ".join(f"{s['chain'].replace('_', ' ')} {s['amount']}" for s in moved["from"]) + return (f"Brought {moved['arrives_on_arc']} USDC to your wallet on Arc from your Unified " + f"Balance ({sources}).") + + def payment_events(at: datetime, payments) -> list[dict[str, Any]]: """What payments did: one line per invoice for how far its payment got (sent, paid with its transaction, booked in ERPNext), and a line for each one not paid.""" diff --git a/services/shops/agent.py b/services/shops/agent.py index 15e2f4f..afc0c19 100644 --- a/services/shops/agent.py +++ b/services/shops/agent.py @@ -21,12 +21,19 @@ from agent.reflexes.report import format_report from agent.reflexes.watch import watch from agent.think import BUDGET_USED, converse -from agent.wiring import brain_setup, funds_of, room_of -from services.circle import CircleClient +from agent.wiring import brain_setup, funds_of, owner_funds_of, room_of +from services.circle import CircleClient, CircleError from services.erp import ErpnextAdapter, LedgerError from services.erp.erpnext.cache import CachedLedger from services.hub.chain import DEFAULT_FACTORY, ShopChain, ShopLimits -from services.payments import ArcRpc, ChainError, Payer, PaymentEvent, PaymentStatus +from services.payments import ( + ArcRpc, + ChainError, + Payer, + PaymentEvent, + PaymentSetupError, + PaymentStatus, +) from services.payments.encoding import ref_scope from services.settings import Settings from services.shops import activity, chat @@ -36,6 +43,7 @@ from services.shops.store import ShopStore from services.shops.supplier_view import supplier_view from services.telegram import links +from services.unified_balance import OwnerFunds, UnifiedBalanceError log = logging.getLogger("embco") @@ -208,6 +216,20 @@ def summarize( } +def unified_view(owner_funds: OwnerFunds | None) -> dict[str, Any] | None: + """The owner's Unified Balance for the dashboard: each chain, the USDC there and whether + the owner authorized the agent to spend it. None when it is not connected.""" + if owner_funds is None: + return None + try: + chains = owner_funds.chains() + except (UnifiedBalanceError, ChainError, CircleError, PaymentSetupError) as error: + return {"error": str(error)} + return {"chains": [{"chain": c.chain, "available": str(c.confirmed), + "arriving": str(c.pending), "agent_authorized": c.agent_can_spend} + for c in chains]} + + def run_shop( store: ShopStore, shop: str, @@ -233,9 +255,17 @@ def run_shop( policy = {"now": settings.policy} notice = getattr(live, "email_wallet_notice", None) room, funds = room_of(payments), funds_of(payments) + unified = owner_funds_of(settings, payments) + if unified: + try: + log.info("shop %s: agent wallet ready for the Unified Balance on %s", shop, + ", ".join(unified.prepare())) + except (UnifiedBalanceError, ChainError, CircleError, PaymentSetupError) as error: + log.warning("shop %s: Unified Balance not ready: %s", shop, error) brain = brain_setup(settings, room, funds, getattr(live, "email_supplier", None), - (lambda s: notice(s, settings.supplier_site)) if notice else None) + (lambda s: notice(s, settings.supplier_site)) if notice else None, + unified) if brain: log.info("shop %s: agent brain on (%s, %s)", shop, brain.brain.model, brain.autonomy.value) @@ -341,7 +371,8 @@ def cycle() -> None: at=time.monotonic()) latest = {p.invoice: p for p in journal.latest_payments()} today = claude_today(journal.sessions(), brain.zone, report.at) if brain else None - store.write_last_run(shop, summarize(report, latest, answers, policy["now"], today)) + store.write_last_run(shop, {**summarize(report, latest, answers, policy["now"], today), + "unified_balance": unified_view(unified)}) store.write_supplier_view(shop, supplier_view(report, journal, settings.company, signatures, wallet_of=wallet_of)) log.info("shop %s: %s", shop, format_report(report)) diff --git a/services/unified_balance/__init__.py b/services/unified_balance/__init__.py new file mode 100644 index 0000000..50d47e8 --- /dev/null +++ b/services/unified_balance/__init__.py @@ -0,0 +1,13 @@ +"""The shop owner's Unified Balance (Circle Gateway): USDC the owner keeps on other chains, which +the agent can bring to the owner's wallet on Arc when an invoice needs it. Circle's Unified +Balance Kit does the work; the shop contract still pays every supplier.""" + +from services.unified_balance.client import ( + Allocation, + ChainFunds, + UnifiedBalance, + UnifiedBalanceError, +) +from services.unified_balance.owner import OwnerFunds + +__all__ = ["Allocation", "ChainFunds", "OwnerFunds", "UnifiedBalance", "UnifiedBalanceError"] diff --git a/services/unified_balance/client.py b/services/unified_balance/client.py new file mode 100644 index 0000000..bedafb1 --- /dev/null +++ b/services/unified_balance/client.py @@ -0,0 +1,107 @@ +"""Run Circle's Unified Balance Kit (kit/, Node) and read its answers. + +Each call runs `node kit/cli.mjs ` with the input as JSON on stdin. Circle's key and +entity secret go in the child's environment, never in its arguments, and never come back in an +error: a message that carries either is cut before it leaves this module. +""" + +import json +import os +import subprocess +from collections.abc import Callable, Sequence +from dataclasses import dataclass +from decimal import Decimal, InvalidOperation +from pathlib import Path +from typing import Any + +KIT = Path(__file__).parent / "kit" +TIMEOUT = 300 # seconds: a spend waits for Gateway's attestation and the mint on Arc +USDC_PLACES = Decimal("0.000001") + + +class UnifiedBalanceError(Exception): + pass + + +@dataclass(frozen=True) +class ChainFunds: + """What the owner holds on one chain, and whether the agent may spend it there.""" + + chain: str + confirmed: Decimal + pending: Decimal + delegate: str # "ready" once the owner authorized the agent there; "pending" or "none" + + @property + def agent_can_spend(self) -> bool: + return self.delegate == "ready" + + +@dataclass(frozen=True) +class Allocation: + chain: str + amount: Decimal + + +def usdc(amount: Decimal) -> str: + return str(amount.quantize(USDC_PLACES)) + + +class UnifiedBalance: + def __init__(self, api_key: str, entity_secret: str, *, node: str = "node", + run: Callable[..., subprocess.CompletedProcess] = subprocess.run) -> None: + self._secrets = (api_key, entity_secret) + self._node = node + self._run = run + + def __repr__(self) -> str: + return "UnifiedBalance()" + + def _call(self, command: str, payload: dict[str, Any]) -> Any: + api_key, entity_secret = self._secrets + env = {**os.environ, "CIRCLE_API_KEY": api_key, "CIRCLE_ENTITY_SECRET": entity_secret} + try: + done = self._run([self._node, str(KIT / "cli.mjs"), command], input=json.dumps(payload), + capture_output=True, text=True, env=env, timeout=TIMEOUT, cwd=KIT) + except (OSError, subprocess.TimeoutExpired) as error: + raise UnifiedBalanceError(f"the Unified Balance Kit did not run: {error}") from None + try: + answer = json.loads(done.stdout.strip().splitlines()[-1], parse_float=Decimal) + except (IndexError, ValueError): + raise UnifiedBalanceError(self._clean( + f"the Unified Balance Kit gave no answer (exit {done.returncode}): " + f"{done.stderr.strip()[-300:]}")) from None + if "error" in answer: + raise UnifiedBalanceError(self._clean(str(answer["error"]))) + return answer["ok"] + + def _clean(self, message: str) -> str: + for secret in self._secrets: + if secret: + message = message.replace(secret, "[hidden]") + return message + + def balances(self, owner: str, agent: str) -> list[ChainFunds]: + rows = self._call("balances", {"owner": owner, "agent": agent})["chains"] + try: + return [ChainFunds(r["chain"], Decimal(r["confirmed"]), Decimal(r["pending"]), + r["delegate"]) for r in rows] + except (KeyError, InvalidOperation): + raise UnifiedBalanceError( + "the Unified Balance Kit answered in an unknown form") from None + + def prepare(self, agent: str) -> list[str]: + """Give the agent's Circle wallet the same address on every source chain.""" + return self._call("prepare", {"agent": agent})["chains"] + + def estimate(self, owner: str, agent: str, allocations: Sequence[Allocation]) -> Any: + return self._call("estimate", _spend(owner, agent, allocations)) + + def spend(self, owner: str, agent: str, allocations: Sequence[Allocation]) -> Any: + return self._call("spend", _spend(owner, agent, allocations)) + + +def _spend(owner: str, agent: str, allocations: Sequence[Allocation]) -> dict[str, Any]: + total = sum((a.amount for a in allocations), Decimal(0)) + return {"owner": owner, "agent": agent, "amount": usdc(total), + "allocations": [{"chain": a.chain, "amount": usdc(a.amount)} for a in allocations]} diff --git a/services/unified_balance/kit/cli.mjs b/services/unified_balance/kit/cli.mjs new file mode 100644 index 0000000..7849b7d --- /dev/null +++ b/services/unified_balance/kit/cli.mjs @@ -0,0 +1,12 @@ +// One command per run, for the Python agent: `node cli.mjs ` with the input as JSON +// on stdin and the answer as one JSON line on stdout. Circle's key and entity secret come from +// the environment, never from the arguments. + +import { run } from "./unified.mjs"; + +const chunks = []; +for await (const chunk of process.stdin) chunks.push(chunk); +const text = Buffer.concat(chunks).toString("utf8"); +const answer = await run(process.argv[2], text ? JSON.parse(text) : {}, process.env); +process.stdout.write(`${JSON.stringify(answer, (_, v) => (typeof v === "bigint" ? v.toString() : v))}\n`); +process.exitCode = answer.error ? 1 : 0; diff --git a/services/unified_balance/kit/package.json b/services/unified_balance/kit/package.json new file mode 100644 index 0000000..d00f772 --- /dev/null +++ b/services/unified_balance/kit/package.json @@ -0,0 +1,18 @@ +{ + "name": "embco-unified-balance", + "private": true, + "type": "module", + "description": "The shop owner's Unified Balance through Circle's Unified Balance Kit, run by the Python agent.", + "engines": { + "node": ">=22" + }, + "scripts": { + "test": "node --test" + }, + "dependencies": { + "@circle-fin/adapter-circle-wallets": "1.8.1", + "@circle-fin/developer-controlled-wallets": "10.8.1", + "@circle-fin/unified-balance-kit": "1.8.0" + }, + "packageManager": "pnpm@11.2.2" +} diff --git a/services/unified_balance/kit/pnpm-lock.yaml b/services/unified_balance/kit/pnpm-lock.yaml new file mode 100644 index 0000000..0cd7a88 --- /dev/null +++ b/services/unified_balance/kit/pnpm-lock.yaml @@ -0,0 +1,2186 @@ +lockfileVersion: '9.0' + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false + +importers: + + .: + dependencies: + '@circle-fin/adapter-circle-wallets': + specifier: 1.8.1 + version: 1.8.1(bufferutil@4.1.0)(utf-8-validate@6.0.6) + '@circle-fin/developer-controlled-wallets': + specifier: 10.8.1 + version: 10.8.1(@solana/kit@5.5.1(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@solana/web3.js@1.99.0(bufferutil@4.1.0)(utf-8-validate@6.0.6)) + '@circle-fin/unified-balance-kit': + specifier: 1.8.0 + version: 1.8.0(bufferutil@4.1.0)(utf-8-validate@6.0.6) + +packages: + + '@adraffy/ens-normalize@1.11.1': + resolution: {integrity: sha512-nhCBV3quEgesuf7c7KYfperqSS14T8bYuvJ8PcLJp6znkZpFc0AuW4qBtr8eKVyPPe/8RSr7sglCWPU5eaxwKQ==} + + '@babel/runtime@7.29.10': + resolution: {integrity: sha512-NpugTzbKgGrNe45Ui32cN8vCFFMxVtP/9rtfwv0nP5FRDAjvYBxJcLVpYA9mr1jxP6cnIT7x9LUzuDTbWYYNRA==} + engines: {node: '>=6.9.0'} + + '@circle-fin/adapter-circle-wallets@1.8.1': + resolution: {integrity: sha512-bgdxs8YN2BcU7kFQ5mgYw0cAEFkESLYAph5jv7FcV/N++DMAXNEJ2AX6p/7QveAC+P9aZXHoMqms4hTtc57htQ==} + engines: {node: '>=20.0.0'} + + '@circle-fin/adapter-solana-kit@1.6.4': + resolution: {integrity: sha512-QaSQCytKYyiPxd9le6+TuP56rN0jNB+pKYooDOB53ma1xV2HLjIusbuqijMBhYYVlmyM4KEqxm1twcmYmptWYA==} + engines: {node: '>=20.0.0'} + peerDependencies: + '@solana/kit': ^5.0.0 + '@solana/web3.js': ^1.98.2 + + '@circle-fin/adapter-viem-v2@1.19.0': + resolution: {integrity: sha512-3TyIobA9ufmNFiGc0H/OG3+XjLfB8TseHTX1l8tZy5E50HKdSyLIO9wEpHROGVExhnJMu3eqLHyS57IBI53ggA==} + engines: {node: '>=20.0.0'} + peerDependencies: + viem: ^2.30.0 + + '@circle-fin/developer-controlled-wallets@10.8.1': + resolution: {integrity: sha512-gmyczJiPFLipENvLVJgXHRcUlqsyQdw7G0zCWb26jaAQ80TQTDi1E55T6GRzzzIACwRbQUqlyGtmvHIs+PTMCg==} + engines: {node: '>=22'} + peerDependencies: + '@solana/codecs-strings': ^2.0.0 + '@solana/kit': ^2.1.0 || ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 + '@solana/web3.js': ^1.63.0 + peerDependenciesMeta: + '@solana/codecs-strings': + optional: true + '@solana/kit': + optional: true + '@solana/web3.js': + optional: true + + '@circle-fin/provider-cctp-v2@1.14.1': + resolution: {integrity: sha512-cPOpKEZ/Dm59d2Y3qerxXMSVHOBlr2xJm59Nq9U11WG9dwJ8VNTMWWE1nX8AutXA0Qgh3BJL73P3AFALASK0Zg==} + engines: {node: '>=20.0.0'} + peerDependencies: + '@solana/web3.js': ^1.98.2 + peerDependenciesMeta: + '@solana/web3.js': + optional: true + + '@circle-fin/provider-fee-v1@0.3.2': + resolution: {integrity: sha512-X0WVKb0JC2dthkD+EZyAsF6MY7qZoMs6tWDfNuZ2VtavdQsM1kfrd5KMIlTGhmtDmxAF/wputfkTI1ILeT6Lmg==} + engines: {node: '>=20.0.0'} + + '@circle-fin/provider-gateway-v1@1.5.1': + resolution: {integrity: sha512-Zvn5mGfqbHxCmiK0jQbSU9cXdYoKZnQH0xtv56M7ezXgcp0Ri7WbVGepL03pU2Ov+KlQ1VjdPeVzLrIuOgRPZg==} + engines: {node: '>=20.0.0'} + + '@circle-fin/smart-contract-platform@10.8.1': + resolution: {integrity: sha512-Yep0jCkDGEZ+xyYzMVwrg2q0GA1BRD83+lH9oWAlXuNDD59R0lqWyv4OVUzWdeZoNnwk31njTsAWyjBrhHs77w==} + engines: {node: '>=22'} + + '@circle-fin/unified-balance-kit@1.8.0': + resolution: {integrity: sha512-R66r7l9IcMIh2LbQb/qEtW9fzQcMgk5PiiXkbXbfUvy/XMWWAnZAPMMyvAHxlQI8eStdqBoft8GPc3e9klvJJw==} + engines: {node: '>=20.0.0'} + + '@circle-fin/user-controlled-wallets@10.8.1': + resolution: {integrity: sha512-5qwPULFmhXOBehVIfLSvxKYH6g8F3InVpmN1L3QhXDhS2uC/KjZ3lkmPmBw76vnjbQFFZINyVbCKzZKMngWSSA==} + engines: {node: '>=22'} + + '@coral-xyz/anchor-errors@0.31.1': + resolution: {integrity: sha512-NhNEku4F3zzUSBtrYz84FzYWm48+9OvmT1Hhnwr6GnPQry2dsEqH/ti/7ASjjpoFTWRnPXrjAIT1qM6Isop+LQ==} + engines: {node: '>=10'} + + '@coral-xyz/anchor@0.31.1': + resolution: {integrity: sha512-QUqpoEK+gi2S6nlYc2atgT2r41TT3caWr/cPUEL8n8Md9437trZ68STknq897b82p5mW0XrTBNOzRbmIRJtfsA==} + engines: {node: '>=17'} + + '@coral-xyz/borsh@0.31.1': + resolution: {integrity: sha512-9N8AU9F0ubriKfNE3g1WF0/4dtlGXoBN/hd1PvbNBamBNwRgHxH4P+o3Zt7rSEloW1HUs6LfZEchlx9fW7POYw==} + engines: {node: '>=10'} + peerDependencies: + '@solana/web3.js': ^1.69.0 + + '@ethersproject/abi@5.8.0': + resolution: {integrity: sha512-b9YS/43ObplgyV6SlyQsG53/vkSal0MNA1fskSC4mbnCMi8R+NkcH8K9FPYNESf6jUefBUniE4SOKms0E/KK1Q==} + + '@ethersproject/abstract-provider@5.8.0': + resolution: {integrity: sha512-wC9SFcmh4UK0oKuLJQItoQdzS/qZ51EJegK6EmAWlh+OptpQ/npECOR3QqECd8iGHC0RJb4WKbVdSfif4ammrg==} + + '@ethersproject/abstract-signer@5.8.0': + resolution: {integrity: sha512-N0XhZTswXcmIZQdYtUnd79VJzvEwXQw6PK0dTl9VoYrEBxxCPXqS0Eod7q5TNKRxe1/5WUMuR0u0nqTF/avdCA==} + + '@ethersproject/address@5.8.0': + resolution: {integrity: sha512-GhH/abcC46LJwshoN+uBNoKVFPxUuZm6dA257z0vZkKmU1+t8xTn8oK7B9qrj8W2rFRMch4gbJl6PmVxjxBEBA==} + + '@ethersproject/base64@5.8.0': + resolution: {integrity: sha512-lN0oIwfkYj9LbPx4xEkie6rAMJtySbpOAFXSDVQaBnAzYfB4X2Qr+FXJGxMoc3Bxp2Sm8OwvzMrywxyw0gLjIQ==} + + '@ethersproject/bignumber@5.8.0': + resolution: {integrity: sha512-ZyaT24bHaSeJon2tGPKIiHszWjD/54Sz8t57Toch475lCLljC6MgPmxk7Gtzz+ddNN5LuHea9qhAe0x3D+uYPA==} + + '@ethersproject/bytes@5.8.0': + resolution: {integrity: sha512-vTkeohgJVCPVHu5c25XWaWQOZ4v+DkGoC42/TS2ond+PARCxTJvgTFUNDZovyQ/uAQ4EcpqqowKydcdmRKjg7A==} + + '@ethersproject/constants@5.8.0': + resolution: {integrity: sha512-wigX4lrf5Vu+axVTIvNsuL6YrV4O5AXl5ubcURKMEME5TnWBouUh0CDTWxZ2GpnRn1kcCgE7l8O5+VbV9QTTcg==} + + '@ethersproject/hash@5.8.0': + resolution: {integrity: sha512-ac/lBcTbEWW/VGJij0CNSw/wPcw9bSRgCB0AIBz8CvED/jfvDoV9hsIIiWfvWmFEi8RcXtlNwp2jv6ozWOsooA==} + + '@ethersproject/keccak256@5.8.0': + resolution: {integrity: sha512-A1pkKLZSz8pDaQ1ftutZoaN46I6+jvuqugx5KYNeQOPqq+JZ0Txm7dlWesCHB5cndJSu5vP2VKptKf7cksERng==} + + '@ethersproject/logger@5.8.0': + resolution: {integrity: sha512-Qe6knGmY+zPPWTC+wQrpitodgBfH7XoceCGL5bJVejmH+yCS3R8jJm8iiWuvWbG76RUmyEG53oqv6GMVWqunjA==} + + '@ethersproject/networks@5.8.0': + resolution: {integrity: sha512-egPJh3aPVAzbHwq8DD7Po53J4OUSsA1MjQp8Vf/OZPav5rlmWUaFLiq8cvQiGK0Z5K6LYzm29+VA/p4RL1FzNg==} + + '@ethersproject/properties@5.8.0': + resolution: {integrity: sha512-PYuiEoQ+FMaZZNGrStmN7+lWjlsoufGIHdww7454FIaGdbe/p5rnaCXTr5MtBYl3NkeoVhHZuyzChPeGeKIpQw==} + + '@ethersproject/rlp@5.8.0': + resolution: {integrity: sha512-LqZgAznqDbiEunaUvykH2JAoXTT9NV0Atqk8rQN9nx9SEgThA/WMx5DnW8a9FOufo//6FZOCHZ+XiClzgbqV9Q==} + + '@ethersproject/signing-key@5.8.0': + resolution: {integrity: sha512-LrPW2ZxoigFi6U6aVkFN/fa9Yx/+4AtIUe4/HACTvKJdhm0eeb107EVCIQcrLZkxaSIgc/eCrX8Q1GtbH+9n3w==} + + '@ethersproject/strings@5.8.0': + resolution: {integrity: sha512-qWEAk0MAvl0LszjdfnZ2uC8xbR2wdv4cDabyHiBh3Cldq/T8dPH3V4BbBsAYJUeonwD+8afVXld274Ls+Y1xXg==} + + '@ethersproject/transactions@5.8.0': + resolution: {integrity: sha512-UglxSDjByHG0TuU17bDfCemZ3AnKO2vYrL5/2n2oXvKzvb7Cz+W9gOWXKARjp2URVwcWlQlPOEQyAviKwT4AHg==} + + '@ethersproject/units@5.8.0': + resolution: {integrity: sha512-lxq0CAnc5kMGIiWW4Mr041VT8IhNM+Pn5T3haO74XZWFulk7wH1Gv64HqE96hT4a7iiNMdOCFEBgaxWuk8ETKQ==} + + '@ethersproject/web@5.8.0': + resolution: {integrity: sha512-j7+Ksi/9KfGviws6Qtf9Q7KCqRhpwrYKQPs+JBA/rKVFF/yaWLHJEH3zfVP2plVu+eys0d2DlFmhoQJayFewcw==} + + '@noble/ciphers@1.3.0': + resolution: {integrity: sha512-2I0gnIVPtfnMw9ee9h1dJG7tp81+8Ob3OJb3Mv37rx5L40/b0i7djjCVvGOVqc9AEIQyvyu1i6ypKdFw8R8gQw==} + engines: {node: ^14.21.3 || >=16} + + '@noble/curves@1.4.2': + resolution: {integrity: sha512-TavHr8qycMChk8UwMld0ZDRvatedkzWfH8IiaeGCfymOP5i0hSCozz9vHOL0nkwk7HRMlFnAiKpS2jrUmSybcw==} + + '@noble/curves@1.9.1': + resolution: {integrity: sha512-k11yZxZg+t+gWvBbIswW0yoJlu8cHOC7dhunwOzoWH/mXGBiYyR4YY6hAEK/3EUs4UpB8la1RfdRpeGsFHkWsA==} + engines: {node: ^14.21.3 || >=16} + + '@noble/curves@1.9.7': + resolution: {integrity: sha512-gbKGcRUYIjA3/zCCNaWDciTMFI0dCkvou3TL8Zmy5Nc7sJ47a0jtOeZoTaMxkuqRo9cRhjOdZJXegxYE5FN/xw==} + engines: {node: ^14.21.3 || >=16} + + '@noble/hashes@1.4.0': + resolution: {integrity: sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg==} + engines: {node: '>= 16'} + + '@noble/hashes@1.8.0': + resolution: {integrity: sha512-jCs9ldd7NwzpgXDIf6P3+NrHh9/sD6CQdxHyjQI+h/6rDNo88ypBxxz45UDuZHz9r3tNz7N/VInSVoVdtXEI4A==} + engines: {node: ^14.21.3 || >=16} + + '@pinojs/redact@0.4.0': + resolution: {integrity: sha512-k2ENnmBugE/rzQfEcdWHcCY+/FM3VLzH9cYEsbdsoqrvzAKRhUZeRNhAZvB8OitQJ1TBed3yqWtdjzS6wJKBwg==} + + '@scure/base@1.2.6': + resolution: {integrity: sha512-g/nm5FgUa//MCj1gV09zTJTaM6KBAHqLN907YVQqf7zC49+DcO4B1so4ZX07Ef10Twr6nuqYEH9GEggFXA4Fmg==} + + '@scure/bip32@1.7.0': + resolution: {integrity: sha512-E4FFX/N3f4B80AKWp5dP6ow+flD1LQZo/w8UnLGYZO674jS6YnYeepycOOksv+vLPSpgN35wgKgy+ybfTb2SMw==} + + '@scure/bip39@1.6.0': + resolution: {integrity: sha512-+lF0BbLiJNwVlev4eKelw1WWLaiKXw7sSl8T6FvBlWkdX+94aGJ4o8XjUdlyhTCjd8c+B3KT3JfS8P0bLRNU6A==} + + '@solana/accounts@5.5.1': + resolution: {integrity: sha512-TfOY9xixg5rizABuLVuZ9XI2x2tmWUC/OoN556xwfDlhBHBjKfszicYYOyD6nbFmwTGYarCmyGIdteXxTXIdhQ==} + engines: {node: '>=20.18.0'} + peerDependencies: + typescript: ^5.0.0 + peerDependenciesMeta: + typescript: + optional: true + + '@solana/addresses@5.5.1': + resolution: {integrity: sha512-5xoah3Q9G30HQghu/9BiHLb5pzlPKRC3zydQDmE3O9H//WfayxTFppsUDCL6FjYUHqj/wzK6CWHySglc2RkpdA==} + engines: {node: '>=20.18.0'} + peerDependencies: + typescript: ^5.0.0 + peerDependenciesMeta: + typescript: + optional: true + + '@solana/assertions@5.5.1': + resolution: {integrity: sha512-YTCSWAlGwSlVPnWtWLm3ukz81wH4j2YaCveK+TjpvUU88hTy6fmUqxi0+hvAMAe4zKXpJyj3Az7BrLJRxbIm4Q==} + engines: {node: '>=20.18.0'} + peerDependencies: + typescript: ^5.0.0 + peerDependenciesMeta: + typescript: + optional: true + + '@solana/buffer-layout@4.0.1': + resolution: {integrity: sha512-E1ImOIAD1tBZFRdjeM4/pzTiTApC0AOBGwyAMS4fwIodCWArzJ3DWdoh8cKxeFM2fElkxBh2Aqts1BPC373rHA==} + engines: {node: '>=5.10'} + + '@solana/codecs-core@5.5.1': + resolution: {integrity: sha512-TgBt//bbKBct0t6/MpA8ElaOA3sa8eYVvR7LGslCZ84WiAwwjCY0lW/lOYsFHJQzwREMdUyuEyy5YWBKtdh8Rw==} + engines: {node: '>=20.18.0'} + peerDependencies: + typescript: ^5.0.0 + peerDependenciesMeta: + typescript: + optional: true + + '@solana/codecs-data-structures@5.5.1': + resolution: {integrity: sha512-97bJWGyUY9WvBz3mX1UV3YPWGDTez6btCfD0ip3UVEXJbItVuUiOkzcO5iFDUtQT5riKT6xC+Mzl+0nO76gd0w==} + engines: {node: '>=20.18.0'} + peerDependencies: + typescript: ^5.0.0 + peerDependenciesMeta: + typescript: + optional: true + + '@solana/codecs-numbers@5.5.1': + resolution: {integrity: sha512-rllMIZAHqmtvC0HO/dc/21wDuWaD0B8Ryv8o+YtsICQBuiL/0U4AGwH7Pi5GNFySYk0/crSuwfIqQFtmxNSPFw==} + engines: {node: '>=20.18.0'} + peerDependencies: + typescript: ^5.0.0 + peerDependenciesMeta: + typescript: + optional: true + + '@solana/codecs-strings@5.5.1': + resolution: {integrity: sha512-7klX4AhfHYA+uKKC/nxRGP2MntbYQCR3N6+v7bk1W/rSxYuhNmt+FN8aoThSZtWIKwN6BEyR1167ka8Co1+E7A==} + engines: {node: '>=20.18.0'} + peerDependencies: + fastestsmallesttextencoderdecoder: ^1.0.22 + typescript: ^5.0.0 + peerDependenciesMeta: + fastestsmallesttextencoderdecoder: + optional: true + typescript: + optional: true + + '@solana/codecs@5.5.1': + resolution: {integrity: sha512-Vea29nJub/bXjfzEV7ZZQ/PWr1pYLZo3z0qW0LQL37uKKVzVFRQlwetd7INk3YtTD3xm9WUYr7bCvYUk3uKy2g==} + engines: {node: '>=20.18.0'} + peerDependencies: + typescript: ^5.0.0 + peerDependenciesMeta: + typescript: + optional: true + + '@solana/errors@5.5.1': + resolution: {integrity: sha512-vFO3p+S7HoyyrcAectnXbdsMfwUzY2zYFUc2DEe5BwpiE9J1IAxPBGjOWO6hL1bbYdBrlmjNx8DXCslqS+Kcmg==} + engines: {node: '>=20.18.0'} + hasBin: true + peerDependencies: + typescript: ^5.0.0 + peerDependenciesMeta: + typescript: + optional: true + + '@solana/fast-stable-stringify@5.5.1': + resolution: {integrity: sha512-Ni7s2FN33zTzhTFgRjEbOVFO+UAmK8qi3Iu0/GRFYK4jN696OjKHnboSQH/EacQ+yGqS54bfxf409wU5dsLLCw==} + engines: {node: '>=20.18.0'} + peerDependencies: + typescript: ^5.0.0 + peerDependenciesMeta: + typescript: + optional: true + + '@solana/functional@5.5.1': + resolution: {integrity: sha512-tTHoJcEQq3gQx5qsdsDJ0LEJeFzwNpXD80xApW9o/PPoCNimI3SALkZl+zNW8VnxRrV3l3yYvfHWBKe/X3WG3w==} + engines: {node: '>=20.18.0'} + peerDependencies: + typescript: ^5.0.0 + peerDependenciesMeta: + typescript: + optional: true + + '@solana/instruction-plans@5.5.1': + resolution: {integrity: sha512-7z3CB7YMcFKuVvgcnNY8bY6IsZ8LG61Iytbz7HpNVGX2u1RthOs1tRW8luTzSG1MPL0Ox7afyAVMYeFqSPHnaQ==} + engines: {node: '>=20.18.0'} + peerDependencies: + typescript: ^5.0.0 + peerDependenciesMeta: + typescript: + optional: true + + '@solana/instructions@5.5.1': + resolution: {integrity: sha512-h0G1CG6S+gUUSt0eo6rOtsaXRBwCq1+Js2a+Ps9Bzk9q7YHNFA75/X0NWugWLgC92waRp66hrjMTiYYnLBoWOQ==} + engines: {node: '>=20.18.0'} + peerDependencies: + typescript: ^5.0.0 + peerDependenciesMeta: + typescript: + optional: true + + '@solana/keys@5.5.1': + resolution: {integrity: sha512-KRD61cL7CRL+b4r/eB9dEoVxIf/2EJ1Pm1DmRYhtSUAJD2dJ5Xw8QFuehobOGm9URqQ7gaQl+Fkc1qvDlsWqKg==} + engines: {node: '>=20.18.0'} + peerDependencies: + typescript: ^5.0.0 + peerDependenciesMeta: + typescript: + optional: true + + '@solana/kit@5.5.1': + resolution: {integrity: sha512-irKUGiV2yRoyf+4eGQ/ZeCRxa43yjFEL1DUI5B0DkcfZw3cr0VJtVJnrG8OtVF01vT0OUfYOcUn6zJW5TROHvQ==} + engines: {node: '>=20.18.0'} + peerDependencies: + typescript: ^5.0.0 + peerDependenciesMeta: + typescript: + optional: true + + '@solana/nominal-types@5.5.1': + resolution: {integrity: sha512-I1ImR+kfrLFxN5z22UDiTWLdRZeKtU0J/pkWkO8qm/8WxveiwdIv4hooi8pb6JnlR4mSrWhq0pCIOxDYrL9GIQ==} + engines: {node: '>=20.18.0'} + peerDependencies: + typescript: ^5.0.0 + peerDependenciesMeta: + typescript: + optional: true + + '@solana/offchain-messages@5.5.1': + resolution: {integrity: sha512-g+xHH95prTU+KujtbOzj8wn+C7ZNoiLhf3hj6nYq3MTyxOXtBEysguc97jJveUZG0K97aIKG6xVUlMutg5yxhw==} + engines: {node: '>=20.18.0'} + peerDependencies: + typescript: ^5.0.0 + peerDependenciesMeta: + typescript: + optional: true + + '@solana/options@5.5.1': + resolution: {integrity: sha512-eo971c9iLNLmk+yOFyo7yKIJzJ/zou6uKpy6mBuyb/thKtS/haiKIc3VLhyTXty3OH2PW8yOlORJnv4DexJB8A==} + engines: {node: '>=20.18.0'} + peerDependencies: + typescript: ^5.0.0 + peerDependenciesMeta: + typescript: + optional: true + + '@solana/plugin-core@5.5.1': + resolution: {integrity: sha512-VUZl30lDQFJeiSyNfzU1EjYt2QZvoBFKEwjn1lilUJw7KgqD5z7mbV7diJhT+dLFs36i0OsjXvq5kSygn8YJ3A==} + engines: {node: '>=20.18.0'} + peerDependencies: + typescript: ^5.0.0 + peerDependenciesMeta: + typescript: + optional: true + + '@solana/programs@5.5.1': + resolution: {integrity: sha512-7U9kn0Jsx1NuBLn5HRTFYh78MV4XN145Yc3WP/q5BlqAVNlMoU9coG5IUTJIG847TUqC1lRto3Dnpwm6T4YRpA==} + engines: {node: '>=20.18.0'} + peerDependencies: + typescript: ^5.0.0 + peerDependenciesMeta: + typescript: + optional: true + + '@solana/promises@5.5.1': + resolution: {integrity: sha512-T9lfuUYkGykJmppEcssNiCf6yiYQxJkhiLPP+pyAc2z84/7r3UVIb2tNJk4A9sucS66pzJnVHZKcZVGUUp6wzA==} + engines: {node: '>=20.18.0'} + peerDependencies: + typescript: ^5.0.0 + peerDependenciesMeta: + typescript: + optional: true + + '@solana/rpc-api@5.5.1': + resolution: {integrity: sha512-XWOQQPhKl06Vj0xi3RYHAc6oEQd8B82okYJ04K7N0Vvy3J4PN2cxeK7klwkjgavdcN9EVkYCChm2ADAtnztKnA==} + engines: {node: '>=20.18.0'} + peerDependencies: + typescript: ^5.0.0 + peerDependenciesMeta: + typescript: + optional: true + + '@solana/rpc-parsed-types@5.5.1': + resolution: {integrity: sha512-HEi3G2nZqGEsa3vX6U0FrXLaqnUCg4SKIUrOe8CezD+cSFbRTOn3rCLrUmJrhVyXlHoQVaRO9mmeovk31jWxJg==} + engines: {node: '>=20.18.0'} + peerDependencies: + typescript: ^5.0.0 + peerDependenciesMeta: + typescript: + optional: true + + '@solana/rpc-spec-types@5.5.1': + resolution: {integrity: sha512-6OFKtRpIEJQs8Jb2C4OO8KyP2h2Hy1MFhatMAoXA+0Ik8S3H+CicIuMZvGZ91mIu/tXicuOOsNNLu3HAkrakrw==} + engines: {node: '>=20.18.0'} + peerDependencies: + typescript: ^5.0.0 + peerDependenciesMeta: + typescript: + optional: true + + '@solana/rpc-spec@5.5.1': + resolution: {integrity: sha512-m3LX2bChm3E3by4mQrH4YwCAFY57QBzuUSWqlUw7ChuZ+oLLOq7b2czi4i6L4Vna67j3eCmB3e+4tqy1j5wy7Q==} + engines: {node: '>=20.18.0'} + peerDependencies: + typescript: ^5.0.0 + peerDependenciesMeta: + typescript: + optional: true + + '@solana/rpc-subscriptions-api@5.5.1': + resolution: {integrity: sha512-5Oi7k+GdeS8xR2ly1iuSFkAv6CZqwG0Z6b1QZKbEgxadE1XGSDrhM2cn59l+bqCozUWCqh4c/A2znU/qQjROlw==} + engines: {node: '>=20.18.0'} + peerDependencies: + typescript: ^5.0.0 + peerDependenciesMeta: + typescript: + optional: true + + '@solana/rpc-subscriptions-channel-websocket@5.5.1': + resolution: {integrity: sha512-7tGfBBrYY8TrngOyxSHoCU5shy86iA9SRMRrPSyBhEaZRAk6dnbdpmUTez7gtdVo0BCvh9nzQtUycKWSS7PnFQ==} + engines: {node: '>=20.18.0'} + peerDependencies: + typescript: ^5.0.0 + peerDependenciesMeta: + typescript: + optional: true + + '@solana/rpc-subscriptions-spec@5.5.1': + resolution: {integrity: sha512-iq+rGq5fMKP3/mKHPNB6MC8IbVW41KGZg83Us/+LE3AWOTWV1WT20KT2iH1F1ik9roi42COv/TpoZZvhKj45XQ==} + engines: {node: '>=20.18.0'} + peerDependencies: + typescript: ^5.0.0 + peerDependenciesMeta: + typescript: + optional: true + + '@solana/rpc-subscriptions@5.5.1': + resolution: {integrity: sha512-CTMy5bt/6mDh4tc6vUJms9EcuZj3xvK0/xq8IQ90rhkpYvate91RjBP+egvjgSayUg9yucU9vNuUpEjz4spM7w==} + engines: {node: '>=20.18.0'} + peerDependencies: + typescript: ^5.0.0 + peerDependenciesMeta: + typescript: + optional: true + + '@solana/rpc-transformers@5.5.1': + resolution: {integrity: sha512-OsWqLCQdcrRJKvHiMmwFhp9noNZ4FARuMkHT5us3ustDLXaxOjF0gfqZLnMkulSLcKt7TGXqMhBV+HCo7z5M8Q==} + engines: {node: '>=20.18.0'} + peerDependencies: + typescript: ^5.0.0 + peerDependenciesMeta: + typescript: + optional: true + + '@solana/rpc-transport-http@5.5.1': + resolution: {integrity: sha512-yv8GoVSHqEV0kUJEIhkdOVkR2SvJ6yoWC51cJn2rSV7plr6huLGe0JgujCmB7uZhhaLbcbP3zxXxu9sOjsi7Fg==} + engines: {node: '>=20.18.0'} + peerDependencies: + typescript: ^5.0.0 + peerDependenciesMeta: + typescript: + optional: true + + '@solana/rpc-types@5.5.1': + resolution: {integrity: sha512-bibTFQ7PbHJJjGJPmfYC2I+/5CRFS4O2p9WwbFraX1Keeel+nRrt/NBXIy8veP5AEn2sVJIyJPpWBRpCx1oATA==} + engines: {node: '>=20.18.0'} + peerDependencies: + typescript: ^5.0.0 + peerDependenciesMeta: + typescript: + optional: true + + '@solana/rpc@5.5.1': + resolution: {integrity: sha512-ku8zTUMrkCWci66PRIBC+1mXepEnZH/q1f3ck0kJZ95a06bOTl5KU7HeXWtskkyefzARJ5zvCs54AD5nxjQJ+A==} + engines: {node: '>=20.18.0'} + peerDependencies: + typescript: ^5.0.0 + peerDependenciesMeta: + typescript: + optional: true + + '@solana/signers@5.5.1': + resolution: {integrity: sha512-FY0IVaBT2kCAze55vEieR6hag4coqcuJ31Aw3hqRH7mv6sV8oqwuJmUrx+uFwOp1gwd5OEAzlv6N4hOOple4sQ==} + engines: {node: '>=20.18.0'} + peerDependencies: + typescript: ^5.0.0 + peerDependenciesMeta: + typescript: + optional: true + + '@solana/subscribable@5.5.1': + resolution: {integrity: sha512-9K0PsynFq0CsmK1CDi5Y2vUIJpCqkgSS5yfDN0eKPgHqEptLEaia09Kaxc90cSZDZU5mKY/zv1NBmB6Aro9zQQ==} + engines: {node: '>=20.18.0'} + peerDependencies: + typescript: ^5.0.0 + peerDependenciesMeta: + typescript: + optional: true + + '@solana/sysvars@5.5.1': + resolution: {integrity: sha512-k3Quq87Mm+geGUu1GWv6knPk0ALsfY6EKSJGw9xUJDHzY/RkYSBnh0RiOrUhtFm2TDNjOailg8/m0VHmi3reFA==} + engines: {node: '>=20.18.0'} + peerDependencies: + typescript: ^5.0.0 + peerDependenciesMeta: + typescript: + optional: true + + '@solana/transaction-confirmation@5.5.1': + resolution: {integrity: sha512-j4mKlYPHEyu+OD7MBt3jRoX4ScFgkhZC6H65on4Fux6LMScgivPJlwnKoZMnsgxFgWds0pl+BYzSiALDsXlYtw==} + engines: {node: '>=20.18.0'} + peerDependencies: + typescript: ^5.0.0 + peerDependenciesMeta: + typescript: + optional: true + + '@solana/transaction-messages@5.5.1': + resolution: {integrity: sha512-aXyhMCEaAp3M/4fP0akwBBQkFPr4pfwoC5CLDq999r/FUwDax2RE/h4Ic7h2Xk+JdcUwsb+rLq85Y52hq84XvQ==} + engines: {node: '>=20.18.0'} + peerDependencies: + typescript: ^5.0.0 + peerDependenciesMeta: + typescript: + optional: true + + '@solana/transactions@5.5.1': + resolution: {integrity: sha512-8hHtDxtqalZ157pnx6p8k10D7J/KY/biLzfgh9R09VNLLY3Fqi7kJvJCr7M2ik3oRll56pxhraAGCC9yIT6eOA==} + engines: {node: '>=20.18.0'} + peerDependencies: + typescript: ^5.0.0 + peerDependenciesMeta: + typescript: + optional: true + + '@solana/web3.js@1.99.0': + resolution: {integrity: sha512-QZYQ2T1z6xWisoyALPq25i/QZTsRlM02BABtAsfaQ1p8wX4SdTfxrKTRue/ZZqrhNVh5oL7T/DUFiTS9DRgxow==} + + '@swc/helpers@0.5.23': + resolution: {integrity: sha512-5lSsMOTXURePglDfvuAQUqkGek9Hg2kksOYay2m0+XR++b2NWYL/4sWyuvVBIs8oKnJaxkdi9whaL/sqN13afw==} + + '@types/connect@3.4.38': + resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==} + + '@types/node@12.20.55': + resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==} + + '@types/node@26.6.5': + resolution: {integrity: sha512-uMzsv9stDdofIZBx4UGh4Z9ZgXnGC9seRDscilBcTHAeOFk67MZg/k9bWVfO+bk4qZmG+l52hRnLwUiH2LnJTg==} + + '@types/uuid@10.0.0': + resolution: {integrity: sha512-7gqG38EyHgyP1S+7+xomFtL+ZNHcKv6DwNaCZmJmo1vgMugyF3TCnXVg4t1uk89mLNwnLtnY3TpOpCOyp1/xHQ==} + + '@types/ws@7.4.7': + resolution: {integrity: sha512-JQbbmxZTZehdc2iszGKs5oC3NFnjeay7mtAWrdt7qNtAVK0g19muApzAy4bm9byz79xa2ZnO/BOBC2R8RC5Lww==} + + '@types/ws@8.18.2': + resolution: {integrity: sha512-67MQl+fpWKVTT1NYdnmo3U4sc/xPo/zQBncVnI74qmQa0z/b+1g6iYqNmGCPbxO+zz2aklb08a0oHfegiVd0/w==} + + abitype@1.2.3: + resolution: {integrity: sha512-Ofer5QUnuUdTFsBRwARMoWKOH1ND5ehwYhJ3OJ/BQO+StkwQjHw0XyVh4vDttzHB7QOFhPHa/o413PJ82gU/Tg==} + peerDependencies: + typescript: '>=5.0.4' + zod: ^3.22.0 || ^4.0.0 + peerDependenciesMeta: + typescript: + optional: true + zod: + optional: true + + abitype@1.3.0: + resolution: {integrity: sha512-fk6Te+bojIFrMvMZrnOO+SxCB+RUksTGOzq/60ZRvs1L+BVzvi2bqt9L3W/17ZLdZsyM1FuYf65P5nlmoiH1Bg==} + peerDependencies: + typescript: '>=5.0.4' + zod: ^3.22.0 || ^4.0.0 + peerDependenciesMeta: + typescript: + optional: true + zod: + optional: true + + agent-base@6.0.2: + resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} + engines: {node: '>= 6.0.0'} + + agentkeepalive@4.6.0: + resolution: {integrity: sha512-kja8j7PjmncONqaTsB8fQ+wE2mSU2DJ9D4XKoJ5PFWIdRMa6SLSN1ff4mOr4jCbfRSsxR4keIiySJU0N9T5hIQ==} + engines: {node: '>= 8.0.0'} + + asynckit@0.4.0: + resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} + + atomic-sleep@1.0.0: + resolution: {integrity: sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==} + engines: {node: '>=8.0.0'} + + axios@1.20.0: + resolution: {integrity: sha512-r8aOh8j9cGKpgQAqpzrUHnSIc6a59Y3Xf/cv8sy1DrHCkZHzQGEuoq1tARk6qSyDdtQGSDgpb9kFlruzPvrgwg==} + + base-x@3.0.11: + resolution: {integrity: sha512-xz7wQ8xDhdyP7tQxwdteLYeFfS68tSMNCZ/Y37WJ4bhGfKPpqEIlmIyueQHqOyoPhE6xNUqjzRr8ra0eF9VRvA==} + + base-x@5.0.1: + resolution: {integrity: sha512-M7uio8Zt++eg3jPj+rHMfCC+IuygQHHCOU+IYsVtik6FWjuYpVt/+MRKcgsAMHh8mMFAwnB+Bs+mTrFiXjMzKg==} + + base64-js@1.5.1: + resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} + + bn.js@4.12.5: + resolution: {integrity: sha512-3aRg6/JxfffFD+OlOjOFR3Vo79l39ooBTFucxx+MT3dhCtzn3EmiUPQo+6/OZuI2jbXi3YKgmiTFBgChQMwIRQ==} + + bn.js@5.2.5: + resolution: {integrity: sha512-Vq886eXykuP5E6HcKSSStP3bJgrE6In5WKxVUvJ8XGpWWYs2xZHWqUwzCtGgEtBcxyd57KBFDPFoUfNzdaHCNg==} + + borsh@0.7.0: + resolution: {integrity: sha512-CLCsZGIBCFnPtkNnieW/a8wmreDmfUtjU2m9yHrzPXIlNbqVs0AQrSatSG6vdNYUqdc83tkQi2eHfF98ubzQLA==} + + brorand@1.1.0: + resolution: {integrity: sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==} + + bs58@4.0.1: + resolution: {integrity: sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw==} + + bs58@6.0.0: + resolution: {integrity: sha512-PD0wEnEYg6ijszw/u8s+iI3H17cTymlrwkKhDhPZq+Sokl3AU4htyBFTjAeNAlCCmg0f53g6ih3jATyCKftTfw==} + + buffer-layout@1.2.2: + resolution: {integrity: sha512-kWSuLN694+KTk8SrYvCqwP2WcgQjoRCiF5b4QDvkkz8EmgD+aWAIceGFKMIAdmF/pH+vpgNV3d3kAKorcdAmWA==} + engines: {node: '>=4.5'} + + buffer@6.0.3: + resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} + + bufferutil@4.1.0: + resolution: {integrity: sha512-ZMANVnAixE6AWWnPzlW2KpUrxhm9woycYvPOo67jWHyFowASTEd9s+QN1EIMsSDtwhIxN4sWE1jotpuDUIgyIw==} + engines: {node: '>=6.14.2'} + + call-bind-apply-helpers@1.0.2: + resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==} + engines: {node: '>= 0.4'} + + camelcase@6.3.0: + resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} + engines: {node: '>=10'} + + chalk@5.6.2: + resolution: {integrity: sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==} + engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} + + combined-stream@1.0.8: + resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} + engines: {node: '>= 0.8'} + + commander@14.0.2: + resolution: {integrity: sha512-TywoWNNRbhoD0BXs1P3ZEScW8W5iKrnbithIl0YH+uCmBd0QpPOA8yc82DS3BIE5Ma6FnBVUsJ7wVUDz4dvOWQ==} + engines: {node: '>=20'} + + commander@2.20.3: + resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} + + cross-fetch@3.2.0: + resolution: {integrity: sha512-Q+xVJLoGOeIMXZmbUK4HYk+69cQH6LudR0Vu/pRm2YlU/hDV9CiS0gKUMaWY5f2NeUH9C1nV3bsTlCo0FsTV1Q==} + + debug@4.4.3: + resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + delay@5.0.0: + resolution: {integrity: sha512-ReEBKkIfe4ya47wlPYf/gu5ib6yUG0/Aez0JQZQz94kiWtRQvZIQbTiehsnwHvLSWJnQdhVeqYue7Id1dKr0qw==} + engines: {node: '>=10'} + + delayed-stream@1.0.0: + resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} + engines: {node: '>=0.4.0'} + + dunder-proto@1.0.1: + resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} + engines: {node: '>= 0.4'} + + elliptic@6.6.1: + resolution: {integrity: sha512-RaddvvMatK2LJHqFJ+YA4WysVN5Ita9E35botqIYspQ4TkRAlCicdzKOjlyv/1Za5RyTNn7di//eEV0uTAfe3g==} + + es-define-property@1.0.1: + resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==} + engines: {node: '>= 0.4'} + + es-errors@1.3.0: + resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} + engines: {node: '>= 0.4'} + + es-object-atoms@1.1.2: + resolution: {integrity: sha512-HWcBoN6NileqtSydK2FqHbS/LoDd2pqrnQHLyJzBj4kOp/ky2MWMN694xOfkK8/SnUsW2DH7EfyVlydKCsm1Zw==} + engines: {node: '>= 0.4'} + + es-set-tostringtag@2.1.0: + resolution: {integrity: sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==} + engines: {node: '>= 0.4'} + + es6-promise@4.2.8: + resolution: {integrity: sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==} + + es6-promisify@5.0.0: + resolution: {integrity: sha512-C+d6UdsYDk0lMebHNR4S2NybQMMngAOnOwYBQjTOiv0MkoJMP0Myw2mgpDLBcpfCmRLxyFqYhS/CfOENq4SJhQ==} + + eventemitter3@4.0.7: + resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==} + + eventemitter3@5.0.1: + resolution: {integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==} + + eventemitter3@5.0.4: + resolution: {integrity: sha512-mlsTRyGaPBjPedk6Bvw+aqbsXDtoAyAzm5MO7JgU+yVRyMQ5O8bD4Kcci7BS85f93veegeCPkL8R4GLClnjLFw==} + + eyes@0.1.8: + resolution: {integrity: sha512-GipyPsXO1anza0AOZdy69Im7hGFCNB7Y/NGjDlZGJ3GJJLtwNSb2vrzYrTYJRrRloVx7pl+bhUaTB8yiccPvFQ==} + engines: {node: '> 0.1.90'} + + fast-stable-stringify@1.0.0: + resolution: {integrity: sha512-wpYMUmFu5f00Sm0cj2pfivpmawLZ0NKdviQ4w9zJeR8JVtOpOxHmLaJuj0vxvGqMJQWyP/COUkF75/57OKyRag==} + + follow-redirects@1.16.1: + resolution: {integrity: sha512-FNvFGzoMLWmE6Yj9spb/zjd7yiNCHiAW9/Tg9CXrQ8wuu32HtlJOwWO11OJafl5FfY3DxTdQ0vj42zU1kvv5jg==} + engines: {node: '>=4.0'} + peerDependencies: + debug: '*' + peerDependenciesMeta: + debug: + optional: true + + form-data@4.0.6: + resolution: {integrity: sha512-vKatAh4SlVfgbv+YtmhiRjhEMJsYpsG1Y2rMQtR+SVSbytsSD1YGzDIcrAJmdFec88u/+VoGmxnl+80gL1tRCQ==} + engines: {node: '>= 6'} + + function-bind@1.1.2: + resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + + get-intrinsic@1.3.0: + resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==} + engines: {node: '>= 0.4'} + + get-proto@1.0.1: + resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==} + engines: {node: '>= 0.4'} + + gopd@1.2.0: + resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==} + engines: {node: '>= 0.4'} + + has-symbols@1.1.0: + resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==} + engines: {node: '>= 0.4'} + + has-tostringtag@1.0.2: + resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} + engines: {node: '>= 0.4'} + + hash.js@1.1.7: + resolution: {integrity: sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==} + + hasown@2.0.4: + resolution: {integrity: sha512-T2UbfbBEF32wiepXIsMlTW9+dDYC6wMh/t/vYA4tuOMKqWz/n3vr1NFSxQiyP+zk2mXsoMA/i/7qV6LKut1t1A==} + engines: {node: '>= 0.4'} + + hmac-drbg@1.0.1: + resolution: {integrity: sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==} + + https-proxy-agent@5.0.1: + resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} + engines: {node: '>= 6'} + + humanize-ms@1.2.1: + resolution: {integrity: sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==} + + ieee754@1.2.1: + resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} + + inherits@2.0.4: + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + + isomorphic-ws@4.0.1: + resolution: {integrity: sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w==} + peerDependencies: + ws: '*' + + isows@1.0.7: + resolution: {integrity: sha512-I1fSfDCZL5P0v33sVqeTDSpcstAg/N+wF5HS033mogOVIp4B+oHC7oOCsA3axAbBSGTJ8QubbNmnIRN/h8U7hg==} + peerDependencies: + ws: '*' + + jayson@4.3.0: + resolution: {integrity: sha512-AauzHcUcqs8OBnCHOkJY280VaTiCm57AbuO7lqzcw7JapGj50BisE3xhksye4zlTSR1+1tAz67wLTl8tEH1obQ==} + engines: {node: '>=8'} + hasBin: true + + js-sha3@0.8.0: + resolution: {integrity: sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==} + + json-stringify-safe@5.0.1: + resolution: {integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==} + + math-intrinsics@1.1.0: + resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} + engines: {node: '>= 0.4'} + + mime-db@1.52.0: + resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} + engines: {node: '>= 0.6'} + + mime-types@2.1.35: + resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} + engines: {node: '>= 0.6'} + + minimalistic-assert@1.0.1: + resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==} + + minimalistic-crypto-utils@1.0.1: + resolution: {integrity: sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==} + + ms@2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + + node-fetch@2.7.0: + resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} + engines: {node: 4.x || >=6.0.0} + peerDependencies: + encoding: ^0.1.0 + peerDependenciesMeta: + encoding: + optional: true + + node-gyp-build@4.8.4: + resolution: {integrity: sha512-LA4ZjwlnUblHVgq0oBF3Jl/6h/Nvs5fzBLwdEF4nuxnFdsfajde4WfxtJr3CaiH+F6ewcIB/q4jQ4UzPyid+CQ==} + hasBin: true + + on-exit-leak-free@2.1.2: + resolution: {integrity: sha512-0eJJY6hXLGf1udHwfNftBqH+g73EU4B504nZeKpz1sYRKafAghwxEJunB2O7rDZkL4PGfsMVnTXZ2EjibbqcsA==} + engines: {node: '>=14.0.0'} + + ox@0.14.56: + resolution: {integrity: sha512-Feinlj+deWEam6RIwurRE+eHZ2N3hoUb3AAjQ10BmxRCYIymfqNkv0eZ+4ln4GkgDmSGLD2rGtTMqsFYSVDC6w==} + peerDependencies: + typescript: '>=5.4.0' + peerDependenciesMeta: + typescript: + optional: true + + pako@2.2.0: + resolution: {integrity: sha512-zJq6RP/5q+TO2OpFV3FHzlPnFjmkb7Nc99a5SNjJE+uu/PkpChs+NIZSSzbBoD+6kjiISXjfYdwj1ZRQ81dz/w==} + + pino-abstract-transport@2.0.0: + resolution: {integrity: sha512-F63x5tizV6WCh4R6RHyi2Ml+M70DNRXt/+HANowMflpgGFMAym/VKm6G7ZOQRjqN7XbGxK1Lg9t6ZrtzOaivMw==} + + pino-std-serializers@7.1.0: + resolution: {integrity: sha512-BndPH67/JxGExRgiX1dX0w1FvZck5Wa4aal9198SrRhZjH3GxKQUKIBnYJTdj2HDN3UQAS06HlfcSbQj2OHmaw==} + + pino@10.1.0: + resolution: {integrity: sha512-0zZC2ygfdqvqK8zJIr1e+wT1T/L+LF6qvqvbzEQ6tiMAoTqEVK9a1K3YRu8HEUvGEvNqZyPJTtb2sNIoTkB83w==} + hasBin: true + + process-warning@5.1.1: + resolution: {integrity: sha512-oCkNVj4OKnKEcocVBcDfiIugN1/cE6rgfT3nCtzeqZPA8+rIxMaQ0xXzIkGP8Gj2qUaP1UR7uhJ1VD8lUCpzCg==} + + proxy-from-env@2.1.0: + resolution: {integrity: sha512-cJ+oHTW1VAEa8cJslgmUZrc+sjRKgAKl3Zyse6+PV38hZe/V6Z14TbCuXcan9F9ghlz4QrFr2c92TNF82UkYHA==} + engines: {node: '>=10'} + + quick-format-unescaped@4.0.4: + resolution: {integrity: sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==} + + real-require@0.2.0: + resolution: {integrity: sha512-57frrGM/OCTLqLOAh0mhVA9VBMHd+9U7Zb2THMGdBUoZVOtGbJzjxsYGDJ3A9AYYCP4hn6y1TVbaOfzWtm5GFg==} + engines: {node: '>= 12.13.0'} + + rpc-websockets@9.3.9: + resolution: {integrity: sha512-2iQDaTB4g5fDB2ihrTFSJSibCEuxaRi1q7qTW7ZO9/M5/TC+ToHA4D9/ffNLEbAoHNNrcdeP05oATNk44SKZXA==} + + safe-buffer@5.2.1: + resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} + + safe-stable-stringify@2.5.0: + resolution: {integrity: sha512-b3rppTKm9T+PsVCBEOUR46GWI7fdOs00VKZ1+9c1EWDaDMvjQc6tUwuFyIprgGgTcWoVHSKrU8H31ZHA2e0RHA==} + engines: {node: '>=10'} + + sonic-boom@4.2.1: + resolution: {integrity: sha512-w6AxtubXa2wTXAUsZMMWERrsIRAdrK0Sc+FUytWvYAhBJLyuI4llrMIC1DtlNSdI99EI86KZum2MMq3EAZlF9Q==} + + split2@4.2.0: + resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==} + engines: {node: '>= 10.x'} + + stream-chain@2.2.5: + resolution: {integrity: sha512-1TJmBx6aSWqZ4tx7aTpBDXK0/e2hhcNSTV8+CbFJtDjbb+I1mZ8lHit0Grw9GRT+6JbIrrDd8esncgBi8aBXGA==} + + stream-json@1.9.1: + resolution: {integrity: sha512-uWkjJ+2Nt/LO9Z/JyKZbMusL8Dkh97uUBTv3AJQ74y07lVahLY4eEFsPsE97pxYBwr8nnjMAIch5eqI0gPShyw==} + + superstruct@0.15.5: + resolution: {integrity: sha512-4AOeU+P5UuE/4nOUkmcQdW5y7i9ndt1cQd/3iUe+LTz3RxESf/W/5lg4B74HbDMMv8PHnPnGCQFH45kBcrQYoQ==} + + superstruct@2.0.2: + resolution: {integrity: sha512-uV+TFRZdXsqXTL2pRvujROjdZQ4RAlBUS5BTh9IGm+jTqQntYThciG/qu57Gs69yjnVUSqdxF9YLmSnpupBW9A==} + engines: {node: '>=14.0.0'} + + text-encoding-utf-8@1.0.2: + resolution: {integrity: sha512-8bw4MY9WjdsD2aMtO0OzOCY3pXGYNx2d2FfHRVUKkiCPDWjKuOlhLVASS+pD7VkLTVjW268LYJHwsnPFlBpbAg==} + + thread-stream@3.2.0: + resolution: {integrity: sha512-zLBvqpwr4Esa0kRjcrzGU6zL25lePWaCLMx0RQFrmteozIfeNdaMLpG5U7PeHzvlFkAWaRKA9/KVW4F60iB+qw==} + + toml@3.0.0: + resolution: {integrity: sha512-y/mWCZinnvxjTKYhJ+pYxwD0mRLVvOtdS2Awbgxln6iEnt4rk0yBxeSBHkGJcPucRiG0e55mwWp+g/05rsrd6w==} + + tr46@0.0.3: + resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} + + tslib@2.8.1: + resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} + + undici-types@7.30.0: + resolution: {integrity: sha512-7QjA5O+GhM27do7Id6hQZpnYEd7WzHbs7/XIS9A1k+Gat/ZVF7Jmpzt68zL/205f65FYwDNLSjQemHPS8ReM/A==} + + undici-types@8.9.0: + resolution: {integrity: sha512-KTDyRTYX8sWmKXAikPHHSyc63CRPETMctyjKFupcC6OBLXT3xsN0e9aF7m+mIXutFWpUXuedtowG7iLOzp0kQg==} + + utf-8-validate@6.0.6: + resolution: {integrity: sha512-q3l3P9UtEEiAHcsgsqTgf9PPjctrDWoIXW3NpOHFdRDbLvu4DLIcxHangJ4RLrWkBcKjmcs/6NkerI8T/rE4LA==} + engines: {node: '>=6.14.2'} + + uuid@14.0.3: + resolution: {integrity: sha512-Sc5u1VVln93y1Xnz4R+CunOZc7R9LUcTmhj7Rc7Eg3HVcf7rVn2FOoa812fe0W8p3jD7xeoGSYbfqCGGH2B6xw==} + hasBin: true + + uuid@8.3.2: + resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} + deprecated: uuid@10 and below is no longer supported. For ESM codebases, update to uuid@latest. For CommonJS codebases, use uuid@11 (but be aware this version will likely be deprecated in 2028). + hasBin: true + + viem@2.57.5: + resolution: {integrity: sha512-BaUdS5lJJTxr6hJX17K0AjHbgUhsolsqH8CCbTq1WMunW/I/Siwc9VrTwccCcNPppgqa/gY4TqK8Zl8LLmlTlw==} + peerDependencies: + typescript: '>=5.0.4' + peerDependenciesMeta: + typescript: + optional: true + + webidl-conversions@3.0.1: + resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} + + whatwg-url@5.0.0: + resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} + + ws@7.5.13: + resolution: {integrity: sha512-rsKI6xDBFVf4r/x8XyChGK04QR/XHroxs/jUcoWvtEZM8TPU/X/uIY9B1CsSzYws9ZJb/6bbBu7dPhFW00CAoA==} + engines: {node: '>=8.3.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ^5.0.2 + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + + ws@8.21.0: + resolution: {integrity: sha512-Vsp28b7DRcimFQvrqu2Wek3z1iYxDCWqHYB8Qsnk/S4RfaCQzPGPyBNuVjJV3cd6UiKtUtp6sNM77gWvzcCH+g==} + engines: {node: '>=10.0.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: '>=5.0.2' + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + + ws@8.22.0: + resolution: {integrity: sha512-Ydggc987+RO0AnWtZ/7Wq9FtNvcrL1b/RO0ud9mWjUPgDrsAAwQSF51sm2hm1XofbU/4jkpGEsLFsZZxU+1DOg==} + engines: {node: '>=10.0.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: '>=5.0.2' + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + + zod@3.25.67: + resolution: {integrity: sha512-idA2YXwpCdqUSKRCACDE6ItZD9TZzy3OZMtpfLoh6oPR47lipysRrJfjzMqFxQ3uJuUPyUeWe1r9vLH33xO/Qw==} + +snapshots: + + '@adraffy/ens-normalize@1.11.1': {} + + '@babel/runtime@7.29.10': {} + + '@circle-fin/adapter-circle-wallets@1.8.1(bufferutil@4.1.0)(utf-8-validate@6.0.6)': + dependencies: + '@circle-fin/adapter-solana-kit': 1.6.4(@solana/kit@5.5.1(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@solana/web3.js@1.99.0(bufferutil@4.1.0)(utf-8-validate@6.0.6))(bufferutil@4.1.0)(utf-8-validate@6.0.6) + '@circle-fin/adapter-viem-v2': 1.19.0(bufferutil@4.1.0)(utf-8-validate@6.0.6)(viem@2.57.5(bufferutil@4.1.0)(utf-8-validate@6.0.6)(zod@3.25.67)) + '@circle-fin/developer-controlled-wallets': 10.8.1(@solana/kit@5.5.1(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@solana/web3.js@1.99.0(bufferutil@4.1.0)(utf-8-validate@6.0.6)) + '@circle-fin/smart-contract-platform': 10.8.1 + '@circle-fin/user-controlled-wallets': 10.8.1 + '@ethersproject/abi': 5.8.0 + '@ethersproject/address': 5.8.0 + '@ethersproject/bytes': 5.8.0 + '@ethersproject/units': 5.8.0 + '@noble/hashes': 1.8.0 + '@solana/kit': 5.5.1(bufferutil@4.1.0)(utf-8-validate@6.0.6) + '@solana/web3.js': 1.99.0(bufferutil@4.1.0)(utf-8-validate@6.0.6) + abitype: 1.3.0(zod@3.25.67) + bs58: 6.0.0 + viem: 2.57.5(bufferutil@4.1.0)(utf-8-validate@6.0.6)(zod@3.25.67) + zod: 3.25.67 + transitivePeerDependencies: + - '@solana/codecs-strings' + - bufferutil + - debug + - encoding + - fastestsmallesttextencoderdecoder + - supports-color + - typescript + - utf-8-validate + + '@circle-fin/adapter-solana-kit@1.6.4(@solana/kit@5.5.1(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@solana/web3.js@1.99.0(bufferutil@4.1.0)(utf-8-validate@6.0.6))(bufferutil@4.1.0)(utf-8-validate@6.0.6)': + dependencies: + '@coral-xyz/anchor': 0.31.1(bufferutil@4.1.0)(utf-8-validate@6.0.6) + '@ethersproject/abi': 5.8.0 + '@ethersproject/address': 5.8.0 + '@ethersproject/bytes': 5.8.0 + '@ethersproject/units': 5.8.0 + '@noble/curves': 1.4.2 + '@solana/kit': 5.5.1(bufferutil@4.1.0)(utf-8-validate@6.0.6) + '@solana/web3.js': 1.99.0(bufferutil@4.1.0)(utf-8-validate@6.0.6) + abitype: 1.3.0(zod@3.25.67) + bn.js: 5.2.5 + bs58: 6.0.0 + buffer: 6.0.3 + pino: 10.1.0 + zod: 3.25.67 + transitivePeerDependencies: + - bufferutil + - encoding + - typescript + - utf-8-validate + + '@circle-fin/adapter-viem-v2@1.19.0(bufferutil@4.1.0)(utf-8-validate@6.0.6)(viem@2.57.5(bufferutil@4.1.0)(utf-8-validate@6.0.6)(zod@3.25.67))': + dependencies: + '@ethersproject/abi': 5.8.0 + '@ethersproject/address': 5.8.0 + '@ethersproject/bytes': 5.8.0 + '@ethersproject/units': 5.8.0 + '@noble/hashes': 1.8.0 + '@solana/web3.js': 1.99.0(bufferutil@4.1.0)(utf-8-validate@6.0.6) + abitype: 1.3.0(zod@3.25.67) + bs58: 6.0.0 + pino: 10.1.0 + viem: 2.57.5(bufferutil@4.1.0)(utf-8-validate@6.0.6)(zod@3.25.67) + zod: 3.25.67 + transitivePeerDependencies: + - bufferutil + - encoding + - typescript + - utf-8-validate + + '@circle-fin/developer-controlled-wallets@10.8.1(@solana/kit@5.5.1(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@solana/web3.js@1.99.0(bufferutil@4.1.0)(utf-8-validate@6.0.6))': + dependencies: + axios: 1.20.0 + optionalDependencies: + '@solana/kit': 5.5.1(bufferutil@4.1.0)(utf-8-validate@6.0.6) + '@solana/web3.js': 1.99.0(bufferutil@4.1.0)(utf-8-validate@6.0.6) + transitivePeerDependencies: + - debug + - supports-color + + '@circle-fin/provider-cctp-v2@1.14.1(@solana/web3.js@1.99.0(bufferutil@4.1.0)(utf-8-validate@6.0.6))(bufferutil@4.1.0)(utf-8-validate@6.0.6)': + dependencies: + '@coral-xyz/anchor': 0.31.1(bufferutil@4.1.0)(utf-8-validate@6.0.6) + '@ethersproject/abi': 5.8.0 + '@ethersproject/address': 5.8.0 + '@ethersproject/bytes': 5.8.0 + '@ethersproject/units': 5.8.0 + '@noble/curves': 1.4.2 + abitype: 1.3.0(zod@3.25.67) + bs58: 6.0.0 + buffer: 6.0.3 + pino: 10.1.0 + zod: 3.25.67 + optionalDependencies: + '@solana/web3.js': 1.99.0(bufferutil@4.1.0)(utf-8-validate@6.0.6) + transitivePeerDependencies: + - bufferutil + - encoding + - typescript + - utf-8-validate + + '@circle-fin/provider-fee-v1@0.3.2': + dependencies: + '@ethersproject/abi': 5.8.0 + '@ethersproject/address': 5.8.0 + '@ethersproject/bytes': 5.8.0 + '@ethersproject/units': 5.8.0 + bs58: 6.0.0 + zod: 3.25.67 + + '@circle-fin/provider-gateway-v1@1.5.1(bufferutil@4.1.0)(utf-8-validate@6.0.6)': + dependencies: + '@coral-xyz/anchor': 0.31.1(bufferutil@4.1.0)(utf-8-validate@6.0.6) + '@ethersproject/abi': 5.8.0 + '@ethersproject/address': 5.8.0 + '@ethersproject/bytes': 5.8.0 + '@ethersproject/units': 5.8.0 + '@noble/curves': 1.4.2 + '@solana/web3.js': 1.99.0(bufferutil@4.1.0)(utf-8-validate@6.0.6) + abitype: 1.3.0(zod@3.25.67) + bn.js: 5.2.5 + bs58: 6.0.0 + buffer: 6.0.3 + pino: 10.1.0 + zod: 3.25.67 + transitivePeerDependencies: + - bufferutil + - encoding + - typescript + - utf-8-validate + + '@circle-fin/smart-contract-platform@10.8.1': + dependencies: + axios: 1.20.0 + transitivePeerDependencies: + - debug + - supports-color + + '@circle-fin/unified-balance-kit@1.8.0(bufferutil@4.1.0)(utf-8-validate@6.0.6)': + dependencies: + '@circle-fin/provider-cctp-v2': 1.14.1(@solana/web3.js@1.99.0(bufferutil@4.1.0)(utf-8-validate@6.0.6))(bufferutil@4.1.0)(utf-8-validate@6.0.6) + '@circle-fin/provider-fee-v1': 0.3.2 + '@circle-fin/provider-gateway-v1': 1.5.1(bufferutil@4.1.0)(utf-8-validate@6.0.6) + '@coral-xyz/anchor': 0.31.1(bufferutil@4.1.0)(utf-8-validate@6.0.6) + '@ethersproject/abi': 5.8.0 + '@ethersproject/address': 5.8.0 + '@ethersproject/bytes': 5.8.0 + '@ethersproject/units': 5.8.0 + '@noble/curves': 1.4.2 + '@solana/web3.js': 1.99.0(bufferutil@4.1.0)(utf-8-validate@6.0.6) + abitype: 1.3.0(zod@3.25.67) + bn.js: 5.2.5 + bs58: 6.0.0 + uuid: 14.0.3 + zod: 3.25.67 + transitivePeerDependencies: + - bufferutil + - encoding + - typescript + - utf-8-validate + + '@circle-fin/user-controlled-wallets@10.8.1': + dependencies: + axios: 1.20.0 + transitivePeerDependencies: + - debug + - supports-color + + '@coral-xyz/anchor-errors@0.31.1': {} + + '@coral-xyz/anchor@0.31.1(bufferutil@4.1.0)(utf-8-validate@6.0.6)': + dependencies: + '@coral-xyz/anchor-errors': 0.31.1 + '@coral-xyz/borsh': 0.31.1(@solana/web3.js@1.99.0(bufferutil@4.1.0)(utf-8-validate@6.0.6)) + '@noble/hashes': 1.8.0 + '@solana/web3.js': 1.99.0(bufferutil@4.1.0)(utf-8-validate@6.0.6) + bn.js: 5.2.5 + bs58: 4.0.1 + buffer-layout: 1.2.2 + camelcase: 6.3.0 + cross-fetch: 3.2.0 + eventemitter3: 4.0.7 + pako: 2.2.0 + superstruct: 0.15.5 + toml: 3.0.0 + transitivePeerDependencies: + - bufferutil + - encoding + - typescript + - utf-8-validate + + '@coral-xyz/borsh@0.31.1(@solana/web3.js@1.99.0(bufferutil@4.1.0)(utf-8-validate@6.0.6))': + dependencies: + '@solana/web3.js': 1.99.0(bufferutil@4.1.0)(utf-8-validate@6.0.6) + bn.js: 5.2.5 + buffer-layout: 1.2.2 + + '@ethersproject/abi@5.8.0': + dependencies: + '@ethersproject/address': 5.8.0 + '@ethersproject/bignumber': 5.8.0 + '@ethersproject/bytes': 5.8.0 + '@ethersproject/constants': 5.8.0 + '@ethersproject/hash': 5.8.0 + '@ethersproject/keccak256': 5.8.0 + '@ethersproject/logger': 5.8.0 + '@ethersproject/properties': 5.8.0 + '@ethersproject/strings': 5.8.0 + + '@ethersproject/abstract-provider@5.8.0': + dependencies: + '@ethersproject/bignumber': 5.8.0 + '@ethersproject/bytes': 5.8.0 + '@ethersproject/logger': 5.8.0 + '@ethersproject/networks': 5.8.0 + '@ethersproject/properties': 5.8.0 + '@ethersproject/transactions': 5.8.0 + '@ethersproject/web': 5.8.0 + + '@ethersproject/abstract-signer@5.8.0': + dependencies: + '@ethersproject/abstract-provider': 5.8.0 + '@ethersproject/bignumber': 5.8.0 + '@ethersproject/bytes': 5.8.0 + '@ethersproject/logger': 5.8.0 + '@ethersproject/properties': 5.8.0 + + '@ethersproject/address@5.8.0': + dependencies: + '@ethersproject/bignumber': 5.8.0 + '@ethersproject/bytes': 5.8.0 + '@ethersproject/keccak256': 5.8.0 + '@ethersproject/logger': 5.8.0 + '@ethersproject/rlp': 5.8.0 + + '@ethersproject/base64@5.8.0': + dependencies: + '@ethersproject/bytes': 5.8.0 + + '@ethersproject/bignumber@5.8.0': + dependencies: + '@ethersproject/bytes': 5.8.0 + '@ethersproject/logger': 5.8.0 + bn.js: 5.2.5 + + '@ethersproject/bytes@5.8.0': + dependencies: + '@ethersproject/logger': 5.8.0 + + '@ethersproject/constants@5.8.0': + dependencies: + '@ethersproject/bignumber': 5.8.0 + + '@ethersproject/hash@5.8.0': + dependencies: + '@ethersproject/abstract-signer': 5.8.0 + '@ethersproject/address': 5.8.0 + '@ethersproject/base64': 5.8.0 + '@ethersproject/bignumber': 5.8.0 + '@ethersproject/bytes': 5.8.0 + '@ethersproject/keccak256': 5.8.0 + '@ethersproject/logger': 5.8.0 + '@ethersproject/properties': 5.8.0 + '@ethersproject/strings': 5.8.0 + + '@ethersproject/keccak256@5.8.0': + dependencies: + '@ethersproject/bytes': 5.8.0 + js-sha3: 0.8.0 + + '@ethersproject/logger@5.8.0': {} + + '@ethersproject/networks@5.8.0': + dependencies: + '@ethersproject/logger': 5.8.0 + + '@ethersproject/properties@5.8.0': + dependencies: + '@ethersproject/logger': 5.8.0 + + '@ethersproject/rlp@5.8.0': + dependencies: + '@ethersproject/bytes': 5.8.0 + '@ethersproject/logger': 5.8.0 + + '@ethersproject/signing-key@5.8.0': + dependencies: + '@ethersproject/bytes': 5.8.0 + '@ethersproject/logger': 5.8.0 + '@ethersproject/properties': 5.8.0 + bn.js: 5.2.5 + elliptic: 6.6.1 + hash.js: 1.1.7 + + '@ethersproject/strings@5.8.0': + dependencies: + '@ethersproject/bytes': 5.8.0 + '@ethersproject/constants': 5.8.0 + '@ethersproject/logger': 5.8.0 + + '@ethersproject/transactions@5.8.0': + dependencies: + '@ethersproject/address': 5.8.0 + '@ethersproject/bignumber': 5.8.0 + '@ethersproject/bytes': 5.8.0 + '@ethersproject/constants': 5.8.0 + '@ethersproject/keccak256': 5.8.0 + '@ethersproject/logger': 5.8.0 + '@ethersproject/properties': 5.8.0 + '@ethersproject/rlp': 5.8.0 + '@ethersproject/signing-key': 5.8.0 + + '@ethersproject/units@5.8.0': + dependencies: + '@ethersproject/bignumber': 5.8.0 + '@ethersproject/constants': 5.8.0 + '@ethersproject/logger': 5.8.0 + + '@ethersproject/web@5.8.0': + dependencies: + '@ethersproject/base64': 5.8.0 + '@ethersproject/bytes': 5.8.0 + '@ethersproject/logger': 5.8.0 + '@ethersproject/properties': 5.8.0 + '@ethersproject/strings': 5.8.0 + + '@noble/ciphers@1.3.0': {} + + '@noble/curves@1.4.2': + dependencies: + '@noble/hashes': 1.4.0 + + '@noble/curves@1.9.1': + dependencies: + '@noble/hashes': 1.8.0 + + '@noble/curves@1.9.7': + dependencies: + '@noble/hashes': 1.8.0 + + '@noble/hashes@1.4.0': {} + + '@noble/hashes@1.8.0': {} + + '@pinojs/redact@0.4.0': {} + + '@scure/base@1.2.6': {} + + '@scure/bip32@1.7.0': + dependencies: + '@noble/curves': 1.9.1 + '@noble/hashes': 1.8.0 + '@scure/base': 1.2.6 + + '@scure/bip39@1.6.0': + dependencies: + '@noble/hashes': 1.8.0 + '@scure/base': 1.2.6 + + '@solana/accounts@5.5.1': + dependencies: + '@solana/addresses': 5.5.1 + '@solana/codecs-core': 5.5.1 + '@solana/codecs-strings': 5.5.1 + '@solana/errors': 5.5.1 + '@solana/rpc-spec': 5.5.1 + '@solana/rpc-types': 5.5.1 + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + + '@solana/addresses@5.5.1': + dependencies: + '@solana/assertions': 5.5.1 + '@solana/codecs-core': 5.5.1 + '@solana/codecs-strings': 5.5.1 + '@solana/errors': 5.5.1 + '@solana/nominal-types': 5.5.1 + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + + '@solana/assertions@5.5.1': + dependencies: + '@solana/errors': 5.5.1 + + '@solana/buffer-layout@4.0.1': + dependencies: + buffer: 6.0.3 + + '@solana/codecs-core@5.5.1': + dependencies: + '@solana/errors': 5.5.1 + + '@solana/codecs-data-structures@5.5.1': + dependencies: + '@solana/codecs-core': 5.5.1 + '@solana/codecs-numbers': 5.5.1 + '@solana/errors': 5.5.1 + + '@solana/codecs-numbers@5.5.1': + dependencies: + '@solana/codecs-core': 5.5.1 + '@solana/errors': 5.5.1 + + '@solana/codecs-strings@5.5.1': + dependencies: + '@solana/codecs-core': 5.5.1 + '@solana/codecs-numbers': 5.5.1 + '@solana/errors': 5.5.1 + + '@solana/codecs@5.5.1': + dependencies: + '@solana/codecs-core': 5.5.1 + '@solana/codecs-data-structures': 5.5.1 + '@solana/codecs-numbers': 5.5.1 + '@solana/codecs-strings': 5.5.1 + '@solana/options': 5.5.1 + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + + '@solana/errors@5.5.1': + dependencies: + chalk: 5.6.2 + commander: 14.0.2 + + '@solana/fast-stable-stringify@5.5.1': {} + + '@solana/functional@5.5.1': {} + + '@solana/instruction-plans@5.5.1': + dependencies: + '@solana/errors': 5.5.1 + '@solana/instructions': 5.5.1 + '@solana/keys': 5.5.1 + '@solana/promises': 5.5.1 + '@solana/transaction-messages': 5.5.1 + '@solana/transactions': 5.5.1 + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + + '@solana/instructions@5.5.1': + dependencies: + '@solana/codecs-core': 5.5.1 + '@solana/errors': 5.5.1 + + '@solana/keys@5.5.1': + dependencies: + '@solana/assertions': 5.5.1 + '@solana/codecs-core': 5.5.1 + '@solana/codecs-strings': 5.5.1 + '@solana/errors': 5.5.1 + '@solana/nominal-types': 5.5.1 + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + + '@solana/kit@5.5.1(bufferutil@4.1.0)(utf-8-validate@6.0.6)': + dependencies: + '@solana/accounts': 5.5.1 + '@solana/addresses': 5.5.1 + '@solana/codecs': 5.5.1 + '@solana/errors': 5.5.1 + '@solana/functional': 5.5.1 + '@solana/instruction-plans': 5.5.1 + '@solana/instructions': 5.5.1 + '@solana/keys': 5.5.1 + '@solana/offchain-messages': 5.5.1 + '@solana/plugin-core': 5.5.1 + '@solana/programs': 5.5.1 + '@solana/rpc': 5.5.1 + '@solana/rpc-api': 5.5.1 + '@solana/rpc-parsed-types': 5.5.1 + '@solana/rpc-spec-types': 5.5.1 + '@solana/rpc-subscriptions': 5.5.1(bufferutil@4.1.0)(utf-8-validate@6.0.6) + '@solana/rpc-types': 5.5.1 + '@solana/signers': 5.5.1 + '@solana/sysvars': 5.5.1 + '@solana/transaction-confirmation': 5.5.1(bufferutil@4.1.0)(utf-8-validate@6.0.6) + '@solana/transaction-messages': 5.5.1 + '@solana/transactions': 5.5.1 + transitivePeerDependencies: + - bufferutil + - fastestsmallesttextencoderdecoder + - utf-8-validate + + '@solana/nominal-types@5.5.1': {} + + '@solana/offchain-messages@5.5.1': + dependencies: + '@solana/addresses': 5.5.1 + '@solana/codecs-core': 5.5.1 + '@solana/codecs-data-structures': 5.5.1 + '@solana/codecs-numbers': 5.5.1 + '@solana/codecs-strings': 5.5.1 + '@solana/errors': 5.5.1 + '@solana/keys': 5.5.1 + '@solana/nominal-types': 5.5.1 + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + + '@solana/options@5.5.1': + dependencies: + '@solana/codecs-core': 5.5.1 + '@solana/codecs-data-structures': 5.5.1 + '@solana/codecs-numbers': 5.5.1 + '@solana/codecs-strings': 5.5.1 + '@solana/errors': 5.5.1 + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + + '@solana/plugin-core@5.5.1': {} + + '@solana/programs@5.5.1': + dependencies: + '@solana/addresses': 5.5.1 + '@solana/errors': 5.5.1 + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + + '@solana/promises@5.5.1': {} + + '@solana/rpc-api@5.5.1': + dependencies: + '@solana/addresses': 5.5.1 + '@solana/codecs-core': 5.5.1 + '@solana/codecs-strings': 5.5.1 + '@solana/errors': 5.5.1 + '@solana/keys': 5.5.1 + '@solana/rpc-parsed-types': 5.5.1 + '@solana/rpc-spec': 5.5.1 + '@solana/rpc-transformers': 5.5.1 + '@solana/rpc-types': 5.5.1 + '@solana/transaction-messages': 5.5.1 + '@solana/transactions': 5.5.1 + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + + '@solana/rpc-parsed-types@5.5.1': {} + + '@solana/rpc-spec-types@5.5.1': {} + + '@solana/rpc-spec@5.5.1': + dependencies: + '@solana/errors': 5.5.1 + '@solana/rpc-spec-types': 5.5.1 + + '@solana/rpc-subscriptions-api@5.5.1': + dependencies: + '@solana/addresses': 5.5.1 + '@solana/keys': 5.5.1 + '@solana/rpc-subscriptions-spec': 5.5.1 + '@solana/rpc-transformers': 5.5.1 + '@solana/rpc-types': 5.5.1 + '@solana/transaction-messages': 5.5.1 + '@solana/transactions': 5.5.1 + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + + '@solana/rpc-subscriptions-channel-websocket@5.5.1(bufferutil@4.1.0)(utf-8-validate@6.0.6)': + dependencies: + '@solana/errors': 5.5.1 + '@solana/functional': 5.5.1 + '@solana/rpc-subscriptions-spec': 5.5.1 + '@solana/subscribable': 5.5.1 + ws: 8.22.0(bufferutil@4.1.0)(utf-8-validate@6.0.6) + transitivePeerDependencies: + - bufferutil + - utf-8-validate + + '@solana/rpc-subscriptions-spec@5.5.1': + dependencies: + '@solana/errors': 5.5.1 + '@solana/promises': 5.5.1 + '@solana/rpc-spec-types': 5.5.1 + '@solana/subscribable': 5.5.1 + + '@solana/rpc-subscriptions@5.5.1(bufferutil@4.1.0)(utf-8-validate@6.0.6)': + dependencies: + '@solana/errors': 5.5.1 + '@solana/fast-stable-stringify': 5.5.1 + '@solana/functional': 5.5.1 + '@solana/promises': 5.5.1 + '@solana/rpc-spec-types': 5.5.1 + '@solana/rpc-subscriptions-api': 5.5.1 + '@solana/rpc-subscriptions-channel-websocket': 5.5.1(bufferutil@4.1.0)(utf-8-validate@6.0.6) + '@solana/rpc-subscriptions-spec': 5.5.1 + '@solana/rpc-transformers': 5.5.1 + '@solana/rpc-types': 5.5.1 + '@solana/subscribable': 5.5.1 + transitivePeerDependencies: + - bufferutil + - fastestsmallesttextencoderdecoder + - utf-8-validate + + '@solana/rpc-transformers@5.5.1': + dependencies: + '@solana/errors': 5.5.1 + '@solana/functional': 5.5.1 + '@solana/nominal-types': 5.5.1 + '@solana/rpc-spec-types': 5.5.1 + '@solana/rpc-types': 5.5.1 + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + + '@solana/rpc-transport-http@5.5.1': + dependencies: + '@solana/errors': 5.5.1 + '@solana/rpc-spec': 5.5.1 + '@solana/rpc-spec-types': 5.5.1 + undici-types: 7.30.0 + + '@solana/rpc-types@5.5.1': + dependencies: + '@solana/addresses': 5.5.1 + '@solana/codecs-core': 5.5.1 + '@solana/codecs-numbers': 5.5.1 + '@solana/codecs-strings': 5.5.1 + '@solana/errors': 5.5.1 + '@solana/nominal-types': 5.5.1 + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + + '@solana/rpc@5.5.1': + dependencies: + '@solana/errors': 5.5.1 + '@solana/fast-stable-stringify': 5.5.1 + '@solana/functional': 5.5.1 + '@solana/rpc-api': 5.5.1 + '@solana/rpc-spec': 5.5.1 + '@solana/rpc-spec-types': 5.5.1 + '@solana/rpc-transformers': 5.5.1 + '@solana/rpc-transport-http': 5.5.1 + '@solana/rpc-types': 5.5.1 + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + + '@solana/signers@5.5.1': + dependencies: + '@solana/addresses': 5.5.1 + '@solana/codecs-core': 5.5.1 + '@solana/errors': 5.5.1 + '@solana/instructions': 5.5.1 + '@solana/keys': 5.5.1 + '@solana/nominal-types': 5.5.1 + '@solana/offchain-messages': 5.5.1 + '@solana/transaction-messages': 5.5.1 + '@solana/transactions': 5.5.1 + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + + '@solana/subscribable@5.5.1': + dependencies: + '@solana/errors': 5.5.1 + + '@solana/sysvars@5.5.1': + dependencies: + '@solana/accounts': 5.5.1 + '@solana/codecs': 5.5.1 + '@solana/errors': 5.5.1 + '@solana/rpc-types': 5.5.1 + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + + '@solana/transaction-confirmation@5.5.1(bufferutil@4.1.0)(utf-8-validate@6.0.6)': + dependencies: + '@solana/addresses': 5.5.1 + '@solana/codecs-strings': 5.5.1 + '@solana/errors': 5.5.1 + '@solana/keys': 5.5.1 + '@solana/promises': 5.5.1 + '@solana/rpc': 5.5.1 + '@solana/rpc-subscriptions': 5.5.1(bufferutil@4.1.0)(utf-8-validate@6.0.6) + '@solana/rpc-types': 5.5.1 + '@solana/transaction-messages': 5.5.1 + '@solana/transactions': 5.5.1 + transitivePeerDependencies: + - bufferutil + - fastestsmallesttextencoderdecoder + - utf-8-validate + + '@solana/transaction-messages@5.5.1': + dependencies: + '@solana/addresses': 5.5.1 + '@solana/codecs-core': 5.5.1 + '@solana/codecs-data-structures': 5.5.1 + '@solana/codecs-numbers': 5.5.1 + '@solana/errors': 5.5.1 + '@solana/functional': 5.5.1 + '@solana/instructions': 5.5.1 + '@solana/nominal-types': 5.5.1 + '@solana/rpc-types': 5.5.1 + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + + '@solana/transactions@5.5.1': + dependencies: + '@solana/addresses': 5.5.1 + '@solana/codecs-core': 5.5.1 + '@solana/codecs-data-structures': 5.5.1 + '@solana/codecs-numbers': 5.5.1 + '@solana/codecs-strings': 5.5.1 + '@solana/errors': 5.5.1 + '@solana/functional': 5.5.1 + '@solana/instructions': 5.5.1 + '@solana/keys': 5.5.1 + '@solana/nominal-types': 5.5.1 + '@solana/rpc-types': 5.5.1 + '@solana/transaction-messages': 5.5.1 + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + + '@solana/web3.js@1.99.0(bufferutil@4.1.0)(utf-8-validate@6.0.6)': + dependencies: + '@babel/runtime': 7.29.10 + '@noble/curves': 1.9.7 + '@noble/hashes': 1.8.0 + '@solana/buffer-layout': 4.0.1 + '@solana/codecs-numbers': 5.5.1 + agentkeepalive: 4.6.0 + bn.js: 5.2.5 + borsh: 0.7.0 + bs58: 4.0.1 + buffer: 6.0.3 + fast-stable-stringify: 1.0.0 + jayson: 4.3.0(bufferutil@4.1.0)(utf-8-validate@6.0.6) + node-fetch: 2.7.0 + rpc-websockets: 9.3.9 + superstruct: 2.0.2 + transitivePeerDependencies: + - bufferutil + - encoding + - typescript + - utf-8-validate + + '@swc/helpers@0.5.23': + dependencies: + tslib: 2.8.1 + + '@types/connect@3.4.38': + dependencies: + '@types/node': 12.20.55 + + '@types/node@12.20.55': {} + + '@types/node@26.6.5': + dependencies: + undici-types: 8.9.0 + + '@types/uuid@10.0.0': {} + + '@types/ws@7.4.7': + dependencies: + '@types/node': 12.20.55 + + '@types/ws@8.18.2': + dependencies: + '@types/node': 26.6.5 + + abitype@1.2.3(zod@3.25.67): + optionalDependencies: + zod: 3.25.67 + + abitype@1.3.0(zod@3.25.67): + optionalDependencies: + zod: 3.25.67 + + agent-base@6.0.2: + dependencies: + debug: 4.4.3 + transitivePeerDependencies: + - supports-color + + agentkeepalive@4.6.0: + dependencies: + humanize-ms: 1.2.1 + + asynckit@0.4.0: {} + + atomic-sleep@1.0.0: {} + + axios@1.20.0: + dependencies: + follow-redirects: 1.16.1 + form-data: 4.0.6 + https-proxy-agent: 5.0.1 + proxy-from-env: 2.1.0 + transitivePeerDependencies: + - debug + - supports-color + + base-x@3.0.11: + dependencies: + safe-buffer: 5.2.1 + + base-x@5.0.1: {} + + base64-js@1.5.1: {} + + bn.js@4.12.5: {} + + bn.js@5.2.5: {} + + borsh@0.7.0: + dependencies: + bn.js: 5.2.5 + bs58: 4.0.1 + text-encoding-utf-8: 1.0.2 + + brorand@1.1.0: {} + + bs58@4.0.1: + dependencies: + base-x: 3.0.11 + + bs58@6.0.0: + dependencies: + base-x: 5.0.1 + + buffer-layout@1.2.2: {} + + buffer@6.0.3: + dependencies: + base64-js: 1.5.1 + ieee754: 1.2.1 + + bufferutil@4.1.0: + dependencies: + node-gyp-build: 4.8.4 + optional: true + + call-bind-apply-helpers@1.0.2: + dependencies: + es-errors: 1.3.0 + function-bind: 1.1.2 + + camelcase@6.3.0: {} + + chalk@5.6.2: {} + + combined-stream@1.0.8: + dependencies: + delayed-stream: 1.0.0 + + commander@14.0.2: {} + + commander@2.20.3: {} + + cross-fetch@3.2.0: + dependencies: + node-fetch: 2.7.0 + transitivePeerDependencies: + - encoding + + debug@4.4.3: + dependencies: + ms: 2.1.3 + + delay@5.0.0: {} + + delayed-stream@1.0.0: {} + + dunder-proto@1.0.1: + dependencies: + call-bind-apply-helpers: 1.0.2 + es-errors: 1.3.0 + gopd: 1.2.0 + + elliptic@6.6.1: + dependencies: + bn.js: 4.12.5 + brorand: 1.1.0 + hash.js: 1.1.7 + hmac-drbg: 1.0.1 + inherits: 2.0.4 + minimalistic-assert: 1.0.1 + minimalistic-crypto-utils: 1.0.1 + + es-define-property@1.0.1: {} + + es-errors@1.3.0: {} + + es-object-atoms@1.1.2: + dependencies: + es-errors: 1.3.0 + + es-set-tostringtag@2.1.0: + dependencies: + es-errors: 1.3.0 + get-intrinsic: 1.3.0 + has-tostringtag: 1.0.2 + hasown: 2.0.4 + + es6-promise@4.2.8: {} + + es6-promisify@5.0.0: + dependencies: + es6-promise: 4.2.8 + + eventemitter3@4.0.7: {} + + eventemitter3@5.0.1: {} + + eventemitter3@5.0.4: {} + + eyes@0.1.8: {} + + fast-stable-stringify@1.0.0: {} + + follow-redirects@1.16.1: {} + + form-data@4.0.6: + dependencies: + asynckit: 0.4.0 + combined-stream: 1.0.8 + es-set-tostringtag: 2.1.0 + hasown: 2.0.4 + mime-types: 2.1.35 + + function-bind@1.1.2: {} + + get-intrinsic@1.3.0: + dependencies: + call-bind-apply-helpers: 1.0.2 + es-define-property: 1.0.1 + es-errors: 1.3.0 + es-object-atoms: 1.1.2 + function-bind: 1.1.2 + get-proto: 1.0.1 + gopd: 1.2.0 + has-symbols: 1.1.0 + hasown: 2.0.4 + math-intrinsics: 1.1.0 + + get-proto@1.0.1: + dependencies: + dunder-proto: 1.0.1 + es-object-atoms: 1.1.2 + + gopd@1.2.0: {} + + has-symbols@1.1.0: {} + + has-tostringtag@1.0.2: + dependencies: + has-symbols: 1.1.0 + + hash.js@1.1.7: + dependencies: + inherits: 2.0.4 + minimalistic-assert: 1.0.1 + + hasown@2.0.4: + dependencies: + function-bind: 1.1.2 + + hmac-drbg@1.0.1: + dependencies: + hash.js: 1.1.7 + minimalistic-assert: 1.0.1 + minimalistic-crypto-utils: 1.0.1 + + https-proxy-agent@5.0.1: + dependencies: + agent-base: 6.0.2 + debug: 4.4.3 + transitivePeerDependencies: + - supports-color + + humanize-ms@1.2.1: + dependencies: + ms: 2.1.3 + + ieee754@1.2.1: {} + + inherits@2.0.4: {} + + isomorphic-ws@4.0.1(ws@7.5.13(bufferutil@4.1.0)(utf-8-validate@6.0.6)): + dependencies: + ws: 7.5.13(bufferutil@4.1.0)(utf-8-validate@6.0.6) + + isows@1.0.7(ws@8.21.0(bufferutil@4.1.0)(utf-8-validate@6.0.6)): + dependencies: + ws: 8.21.0(bufferutil@4.1.0)(utf-8-validate@6.0.6) + + jayson@4.3.0(bufferutil@4.1.0)(utf-8-validate@6.0.6): + dependencies: + '@types/connect': 3.4.38 + '@types/node': 12.20.55 + '@types/ws': 7.4.7 + commander: 2.20.3 + delay: 5.0.0 + es6-promisify: 5.0.0 + eyes: 0.1.8 + isomorphic-ws: 4.0.1(ws@7.5.13(bufferutil@4.1.0)(utf-8-validate@6.0.6)) + json-stringify-safe: 5.0.1 + stream-json: 1.9.1 + uuid: 8.3.2 + ws: 7.5.13(bufferutil@4.1.0)(utf-8-validate@6.0.6) + transitivePeerDependencies: + - bufferutil + - utf-8-validate + + js-sha3@0.8.0: {} + + json-stringify-safe@5.0.1: {} + + math-intrinsics@1.1.0: {} + + mime-db@1.52.0: {} + + mime-types@2.1.35: + dependencies: + mime-db: 1.52.0 + + minimalistic-assert@1.0.1: {} + + minimalistic-crypto-utils@1.0.1: {} + + ms@2.1.3: {} + + node-fetch@2.7.0: + dependencies: + whatwg-url: 5.0.0 + + node-gyp-build@4.8.4: + optional: true + + on-exit-leak-free@2.1.2: {} + + ox@0.14.56(zod@3.25.67): + dependencies: + '@adraffy/ens-normalize': 1.11.1 + '@noble/ciphers': 1.3.0 + '@noble/curves': 1.9.1 + '@noble/hashes': 1.8.0 + '@scure/bip32': 1.7.0 + '@scure/bip39': 1.6.0 + abitype: 1.3.0(zod@3.25.67) + eventemitter3: 5.0.1 + transitivePeerDependencies: + - zod + + pako@2.2.0: {} + + pino-abstract-transport@2.0.0: + dependencies: + split2: 4.2.0 + + pino-std-serializers@7.1.0: {} + + pino@10.1.0: + dependencies: + '@pinojs/redact': 0.4.0 + atomic-sleep: 1.0.0 + on-exit-leak-free: 2.1.2 + pino-abstract-transport: 2.0.0 + pino-std-serializers: 7.1.0 + process-warning: 5.1.1 + quick-format-unescaped: 4.0.4 + real-require: 0.2.0 + safe-stable-stringify: 2.5.0 + sonic-boom: 4.2.1 + thread-stream: 3.2.0 + + process-warning@5.1.1: {} + + proxy-from-env@2.1.0: {} + + quick-format-unescaped@4.0.4: {} + + real-require@0.2.0: {} + + rpc-websockets@9.3.9: + dependencies: + '@swc/helpers': 0.5.23 + '@types/uuid': 10.0.0 + '@types/ws': 8.18.2 + buffer: 6.0.3 + eventemitter3: 5.0.4 + uuid: 14.0.3 + ws: 8.22.0(bufferutil@4.1.0)(utf-8-validate@6.0.6) + optionalDependencies: + bufferutil: 4.1.0 + utf-8-validate: 6.0.6 + + safe-buffer@5.2.1: {} + + safe-stable-stringify@2.5.0: {} + + sonic-boom@4.2.1: + dependencies: + atomic-sleep: 1.0.0 + + split2@4.2.0: {} + + stream-chain@2.2.5: {} + + stream-json@1.9.1: + dependencies: + stream-chain: 2.2.5 + + superstruct@0.15.5: {} + + superstruct@2.0.2: {} + + text-encoding-utf-8@1.0.2: {} + + thread-stream@3.2.0: + dependencies: + real-require: 0.2.0 + + toml@3.0.0: {} + + tr46@0.0.3: {} + + tslib@2.8.1: {} + + undici-types@7.30.0: {} + + undici-types@8.9.0: {} + + utf-8-validate@6.0.6: + dependencies: + node-gyp-build: 4.8.4 + optional: true + + uuid@14.0.3: {} + + uuid@8.3.2: {} + + viem@2.57.5(bufferutil@4.1.0)(utf-8-validate@6.0.6)(zod@3.25.67): + dependencies: + '@noble/curves': 1.9.1 + '@noble/hashes': 1.8.0 + '@scure/bip32': 1.7.0 + '@scure/bip39': 1.6.0 + abitype: 1.2.3(zod@3.25.67) + isows: 1.0.7(ws@8.21.0(bufferutil@4.1.0)(utf-8-validate@6.0.6)) + ox: 0.14.56(zod@3.25.67) + ws: 8.21.0(bufferutil@4.1.0)(utf-8-validate@6.0.6) + transitivePeerDependencies: + - bufferutil + - utf-8-validate + - zod + + webidl-conversions@3.0.1: {} + + whatwg-url@5.0.0: + dependencies: + tr46: 0.0.3 + webidl-conversions: 3.0.1 + + ws@7.5.13(bufferutil@4.1.0)(utf-8-validate@6.0.6): + optionalDependencies: + bufferutil: 4.1.0 + utf-8-validate: 6.0.6 + + ws@8.21.0(bufferutil@4.1.0)(utf-8-validate@6.0.6): + optionalDependencies: + bufferutil: 4.1.0 + utf-8-validate: 6.0.6 + + ws@8.22.0(bufferutil@4.1.0)(utf-8-validate@6.0.6): + optionalDependencies: + bufferutil: 4.1.0 + utf-8-validate: 6.0.6 + + zod@3.25.67: {} diff --git a/services/unified_balance/kit/pnpm-workspace.yaml b/services/unified_balance/kit/pnpm-workspace.yaml new file mode 100644 index 0000000..a5f9956 --- /dev/null +++ b/services/unified_balance/kit/pnpm-workspace.yaml @@ -0,0 +1,4 @@ +# Optional native speedups of the ws library; it works without them. +allowBuilds: + bufferutil: false + utf-8-validate: false diff --git a/services/unified_balance/kit/test/unified.test.mjs b/services/unified_balance/kit/test/unified.test.mjs new file mode 100644 index 0000000..a2354a2 --- /dev/null +++ b/services/unified_balance/kit/test/unified.test.mjs @@ -0,0 +1,27 @@ +import { test } from "node:test"; +import assert from "node:assert/strict"; +import { DESTINATION, run, sourceChains, spendParams } from "../unified.mjs"; + +const OWNER = "0x2471658CD7A7B10d4C92113B0777dA59317e839a"; +const AGENT = "0xeAc91C9491F0D391c80f17C4267A3329Ad7Ba862"; + +test("a spend is signed by the agent from the owner's balance and minted to the owner on Arc", () => { + const allocations = [{ chain: "Base_Sepolia", amount: "300.000000" }]; + const params = spendParams({ adapter: "adapter", owner: OWNER, agent: AGENT, amount: "300.000000", allocations }); + assert.deepEqual(params.from, [{ adapter: "adapter", address: AGENT, sourceAccount: OWNER, allocations }]); + assert.deepEqual(params.to, { chain: "Arc_Testnet", recipientAddress: OWNER, useForwarder: true }); + assert.equal(params.amount, "300.000000"); +}); + +test("the source chains are EVM testnets the agent's Circle wallet signs on, never Arc", () => { + const chains = sourceChains(); + assert.ok(chains.includes("Base_Sepolia")); + assert.ok(chains.includes("Arbitrum_Sepolia")); + assert.ok(!chains.includes(DESTINATION)); + assert.ok(!chains.includes("Solana_Devnet")); + assert.ok(!chains.some((c) => !c.includes("Sepolia") && !c.includes("Testnet") && !c.includes("Fuji"))); +}); + +test("an unknown command is an answer, not a crash", async () => { + assert.deepEqual(await run("send_anywhere", {}, {}), { error: "unknown command send_anywhere" }); +}); diff --git a/services/unified_balance/kit/unified.mjs b/services/unified_balance/kit/unified.mjs new file mode 100644 index 0000000..02f1973 --- /dev/null +++ b/services/unified_balance/kit/unified.mjs @@ -0,0 +1,117 @@ +// The shop owner's Unified Balance (Circle Gateway), read and spent with Circle's Unified +// Balance Kit. The agent's Circle wallet signs spends as the owner's delegate, which the owner +// authorizes once per chain from the dashboard. A spend only ever mints to the owner's own +// wallet on Arc: the shop contract pays suppliers from there, within its limits. + +import { + UnifiedBalanceChain, + UnifiedBalanceKit, + getErrorMessage, + resolveChainIdentifier, +} from "@circle-fin/unified-balance-kit"; +import { createCircleWalletsAdapter, toCircleBlockchain } from "@circle-fin/adapter-circle-wallets"; +import { initiateDeveloperControlledWalletsClient } from "@circle-fin/developer-controlled-wallets"; + +export const DESTINATION = "Arc_Testnet"; + +/** Chains the owner can hold a Unified Balance on and the agent's Circle wallet can sign on: + * the kit's EVM testnets that Circle wallets support, Arc aside (it is where the money goes). */ +export function sourceChains() { + return Object.values(UnifiedBalanceChain).filter((name) => { + if (name === DESTINATION) return false; + const chain = resolveChainIdentifier(name); + if (!chain.isTestnet || chain.type !== "evm") return false; + try { + toCircleBlockchain(name); + return true; + } catch { + return false; + } + }); +} + +/** A spend from the owner's balance, signed by the agent, minted to the owner on Arc. */ +export function spendParams({ adapter, owner, agent, amount, allocations }) { + return { + amount, + token: "USDC", + from: [{ adapter, address: agent, sourceAccount: owner, allocations }], + to: { chain: DESTINATION, recipientAddress: owner, useForwarder: true }, + }; +} + +function circle(env) { + return { apiKey: env.CIRCLE_API_KEY, entitySecret: env.CIRCLE_ENTITY_SECRET }; +} + +/** What the owner holds on each chain, and whether the agent may spend it there yet. */ +async function balances({ owner, agent }, env) { + const kit = new UnifiedBalanceKit(); + const adapter = createCircleWalletsAdapter(circle(env)); + const chains = sourceChains(); + const read = await kit.getBalances({ + sources: { address: owner, chains }, + networkType: "testnet", + includePending: true, + }); + const held = new Map(); + for (const depositor of read.breakdown ?? []) { + for (const entry of depositor.breakdown ?? []) held.set(entry.chain, entry); + } + const rows = []; + for (const chain of chains) { + const entry = held.get(chain) ?? {}; + const delegate = await kit.getDelegateStatus({ + from: { adapter, chain, address: owner }, + delegateAddress: agent, + }); + rows.push({ + chain, + confirmed: entry.confirmedBalance ?? "0", + pending: entry.pendingBalance ?? "0", + delegate, + }); + } + return { chains: rows }; +} + +/** The agent's Circle wallet on every source chain, at the same address as on Arc: the + * Circle wallets adapter signs with the wallet it finds for that address and chain. */ +async function prepare({ agent }, env) { + const client = initiateDeveloperControlledWalletsClient(circle(env)); + const ready = []; + for (const chain of sourceChains()) { + await client.deriveWalletByAddress({ + sourceBlockchain: toCircleBlockchain(DESTINATION), + walletAddress: agent, + targetBlockchain: toCircleBlockchain(chain), + }); + ready.push(chain); + } + return { chains: ready }; +} + +async function estimate(input, env) { + const kit = new UnifiedBalanceKit(); + const adapter = createCircleWalletsAdapter(circle(env)); + return kit.estimateSpend(spendParams({ adapter, ...input })); +} + +async function spend(input, env) { + const kit = new UnifiedBalanceKit(); + const adapter = createCircleWalletsAdapter(circle(env)); + return kit.spend(spendParams({ adapter, ...input })); +} + +export const COMMANDS = { balances, prepare, estimate, spend, chains: async () => ({ chains: sourceChains() }) }; + +/** Run one command; the answer is plain data, or the kit's own error message. */ +export async function run(command, input, env) { + const handler = COMMANDS[command]; + if (!handler) return { error: `unknown command ${command}` }; + try { + return { ok: await handler(input, env) }; + } catch (error) { + return { error: getErrorMessage(error) }; + } +} diff --git a/services/unified_balance/owner.py b/services/unified_balance/owner.py new file mode 100644 index 0000000..275c7a2 --- /dev/null +++ b/services/unified_balance/owner.py @@ -0,0 +1,32 @@ +"""The owner's Unified Balance as the agent uses it. The agent chooses how much to bring and from +which chains; where the money goes is not its choice: always the owner's own wallet on Arc, the +one the shop contract pays from.""" + +from collections.abc import Sequence +from dataclasses import dataclass +from typing import Any + +from services.payments import Payer +from services.unified_balance.client import Allocation, ChainFunds, UnifiedBalance + + +@dataclass +class OwnerFunds: + kit: UnifiedBalance + payer: Payer # knows the shop contract (whose owner receives) and the agent's wallet + + def _owner(self) -> str: + return self.payer.chain.owner_of(self.payer.shop) + + def prepare(self) -> list[str]: + """The agent's Circle wallet on every source chain, so it can sign spends there.""" + return self.kit.prepare(self.payer.agent_address()) + + def chains(self) -> list[ChainFunds]: + return self.kit.balances(self._owner(), self.payer.agent_address()) + + def estimate(self, allocations: Sequence[Allocation]) -> Any: + return self.kit.estimate(self._owner(), self.payer.agent_address(), allocations) + + def bring(self, allocations: Sequence[Allocation]) -> Any: + return self.kit.spend(self._owner(), self.payer.agent_address(), allocations) diff --git a/tests/test_unified_balance.py b/tests/test_unified_balance.py new file mode 100644 index 0000000..29f5c93 --- /dev/null +++ b/tests/test_unified_balance.py @@ -0,0 +1,250 @@ +"""The owner's Unified Balance: the agent sees the USDC the owner keeps on other chains, chooses +how much to bring from each one, and the money always lands in the owner's own wallet on Arc. +Built on the pilot's 00017 (Adeyemi, 476 USDC) when the owner's wallet on Arc held 165.95.""" + +import json +import subprocess +from datetime import UTC, datetime +from decimal import Decimal +from types import SimpleNamespace + +import pytest + +from agent.guardrails.rules import Action, Decision, PolicyConfig +from agent.memory import SqliteJournal +from agent.models import Session, Wake +from agent.think import BrainSetup, money_after +from agent.tools import Toolbox, ToolError +from services.shops import activity +from services.shops.agent import unified_view +from services.unified_balance import ( + Allocation, + ChainFunds, + OwnerFunds, + UnifiedBalance, + UnifiedBalanceError, +) + +NOW = datetime(2026, 10, 14, 9, 0, tzinfo=UTC) +OWNER = "0x2471658CD7A7B10d4C92113B0777dA59317e839a" +AGENT = "0xeAc91C9491F0D391c80f17C4267A3329Ad7Ba862" +KEY, SECRET = "fake-circle-key", "fake-entity-secret" +INVOICE = "ACC-PINV-2026-00017" +FEES = [{"type": "provider", "token": "USDC", "amount": "0.0155"}, + {"type": "gasFee", "token": "USDC", "amount": "0.048274"}, + {"type": "forwarder", "token": "USDC", "amount": "0.014162"}] + + +def kit_answers(*answers): + """Stands in for `node kit/cli.mjs`: records each call, answers the next JSON line.""" + calls, queue = [], list(answers) + + def run(args, *, input, env, **_): + calls.append((args[-1], json.loads(input), env)) + return subprocess.CompletedProcess(args, 0, stdout=json.dumps(queue.pop(0)) + "\n", + stderr="") + return calls, run + + +# ---- the kit, run from Python + + +def test_balances_come_from_the_kit_with_the_secrets_only_in_its_environment(): + calls, run = kit_answers({"ok": {"chains": [ + {"chain": "Base_Sepolia", "confirmed": "320.000000", "pending": "0.000000", + "delegate": "ready"}, + {"chain": "Arbitrum_Sepolia", "confirmed": "50.000000", "pending": "10.000000", + "delegate": "none"}]}}) + kit = UnifiedBalance(KEY, SECRET, run=run) + chains = kit.balances(OWNER, AGENT) + assert chains == [ChainFunds("Base_Sepolia", Decimal(320), Decimal(0), "ready"), + ChainFunds("Arbitrum_Sepolia", Decimal(50), Decimal(10), "none")] + assert [c.agent_can_spend for c in chains] == [True, False] + command, payload, env = calls[0] + assert (command, payload) == ("balances", {"owner": OWNER, "agent": AGENT}) + assert env["CIRCLE_API_KEY"] == KEY and env["CIRCLE_ENTITY_SECRET"] == SECRET + assert KEY not in repr(kit) and SECRET not in repr(kit) + + +def test_a_spend_sends_the_split_and_its_exact_total(): + calls, run = kit_answers({"ok": {"txHash": "0x" + "1" * 64, "fees": FEES}}) + UnifiedBalance(KEY, SECRET, run=run).spend(OWNER, AGENT, [ + Allocation("Base_Sepolia", Decimal("300")), + Allocation("Arbitrum_Sepolia", Decimal("10.05"))]) + command, payload, _ = calls[0] + assert command == "spend" + assert payload == {"owner": OWNER, "agent": AGENT, "amount": "310.050000", + "allocations": [{"chain": "Base_Sepolia", "amount": "300.000000"}, + {"chain": "Arbitrum_Sepolia", "amount": "10.050000"}]} + + +def test_the_kits_error_comes_back_without_the_secrets(): + _, run = kit_answers({"error": f"Circle rejected the request with key {KEY}"}) + with pytest.raises(UnifiedBalanceError) as raised: + UnifiedBalance(KEY, SECRET, run=run).balances(OWNER, AGENT) + assert KEY not in str(raised.value) and "[hidden]" in str(raised.value) + + +def test_no_node_is_a_plain_error(): + def missing(*_, **__): + raise FileNotFoundError("node") + with pytest.raises(UnifiedBalanceError, match="did not run"): + UnifiedBalance(KEY, SECRET, run=missing).balances(OWNER, AGENT) + + +def test_the_money_always_goes_to_the_contracts_owner(): + seen = [] + + class Kit: + def spend(self, owner, agent, allocations): + seen.append((owner, agent)) + return {} + + payer = SimpleNamespace(shop="0x" + "5c" * 20, agent_address=lambda: AGENT, + chain=SimpleNamespace(owner_of=lambda shop: OWNER)) + OwnerFunds(Kit(), payer).bring([Allocation("Base_Sepolia", Decimal(1))]) + assert seen == [(OWNER, AGENT)] + + +# ---- the agent's tools + + +class Funds: + """The owner's Unified Balance as the pilot would have it: 320 on Base Sepolia (agent + authorized), 50 on Arbitrum Sepolia (not yet).""" + + def __init__(self): + self.brought = [] + + def chains(self): + return [ChainFunds("Base_Sepolia", Decimal(320), Decimal(0), "ready"), + ChainFunds("Arbitrum_Sepolia", Decimal(50), Decimal(0), "none"), + ChainFunds("Unichain_Sepolia", Decimal(0), Decimal(0), "none")] + + def estimate(self, allocations): + return {"fees": FEES} + + def bring(self, allocations): + self.brought.append(allocations) + return {"txHash": "0x" + "2" * 64, "fees": FEES} + + +def box(journal, owner_funds, *, can_pay=True, money=None): + d = Decision(invoice=INVOICE, supplier="Adeyemi Foods Distribution Ltd", + amount=Decimal(476), due_date=None, action=Action.PAY, reasons=("r",), + findings=()) + return Toolbox(decisions=[d], ledger=None, journal=journal, + policy=PolicyConfig(max_per_payment=Decimal(500), weekly_budget=Decimal(2000)), + now=NOW, zone=UTC, owner_funds=owner_funds, can_pay=can_pay, + funds=lambda: money) + + +def test_cash_position_shows_the_owners_other_chains_and_where_the_agent_may_spend(tmp_path): + with SqliteJournal(tmp_path / "j.sqlite3") as journal: + seen = json.loads(box(journal, Funds()).call("cash_position", {})) + assert seen["usdc_on_other_chains"] == [ + {"chain": "Base_Sepolia", "available": "320", "arriving": "0", "you_may_spend_it": "yes"}, + {"chain": "Arbitrum_Sepolia", "available": "50", "arriving": "0", + "you_may_spend_it": "no: the owner authorizes you on this chain in the dashboard"}] + + +def test_without_a_unified_balance_the_agent_is_told_so(tmp_path): + with SqliteJournal(tmp_path / "j.sqlite3") as journal: + seen = json.loads(box(journal, None).call("cash_position", {})) + with pytest.raises(ToolError, match="not connected"): + box(journal, None).call("bring_funds", {"allocations": "Base_Sepolia:1", + "reason": "r"}) + assert seen["usdc_on_other_chains"] == "not connected for this shop" + + +def test_the_agent_brings_what_it_chose_and_sees_fees_and_what_arrived(tmp_path): + funds = Funds() + with SqliteJournal(tmp_path / "j.sqlite3") as journal: + tools = box(journal, funds) + estimate = json.loads(tools.call("estimate_bring_funds", + {"allocations": "Base_Sepolia: 310.05"})) + moved = json.loads(tools.call("bring_funds", { + "allocations": "Base_Sepolia:310.05", + "reason": "00017 needs 476 and the wallet on Arc holds 165.95."})) + assert funds.brought == [[Allocation("Base_Sepolia", Decimal("310.05"))]] + assert estimate["arrives_on_arc"] == "310.035838" # the forwarder's fee comes off the mint + assert moved["from"] == [{"chain": "Base_Sepolia", "amount": "310.05"}] + assert moved["fees"] == {"provider": "0.0155", "gasFee": "0.048274", "forwarder": "0.014162"} + assert moved["tx"] == "0x" + "2" * 64 + assert tools.funds_moved == [moved] + + +@pytest.mark.parametrize("allocations", [ + "", "Base_Sepolia", "Base_Sepolia:0", "Base_Sepolia:-5", "Base_Sepolia:ten", + "Base_Sepolia:1, Base_Sepolia:2"]) +def test_a_split_must_be_chain_amount_pairs(tmp_path, allocations): + with SqliteJournal(tmp_path / "j.sqlite3") as journal: + with pytest.raises(ToolError): + box(journal, Funds()).call("bring_funds", {"allocations": allocations, "reason": "r"}) + + +def test_nothing_moves_while_the_owner_paused_payments(tmp_path): + funds = Funds() + with SqliteJournal(tmp_path / "j.sqlite3") as journal: + with pytest.raises(ToolError, match="paused"): + box(journal, funds, can_pay=False).call( + "bring_funds", {"allocations": "Base_Sepolia:10", "reason": "r"}) + assert funds.brought == [] + + +def test_the_kits_refusal_reaches_the_agent_word_for_word(tmp_path): + class Refuses(Funds): + def bring(self, allocations): + raise UnifiedBalanceError("Insufficient balance on Arbitrum_Sepolia") + + with SqliteJournal(tmp_path / "j.sqlite3") as journal: + with pytest.raises(ToolError, match="nothing was brought: Insufficient balance"): + box(journal, Refuses()).call("bring_funds", {"allocations": "Arbitrum_Sepolia:50", + "reason": "r"}) + + +# ---- what it did is told, and does not wake it + + +def test_after_bringing_funds_the_money_is_read_again_so_it_does_not_wake_the_agent(tmp_path): + money = {"owner_balance": "165.945618", "available_to_pay": "165.945618"} + with SqliteJournal(tmp_path / "j.sqlite3") as journal: + tools = box(journal, Funds(), money=money) + tools.call("bring_funds", {"allocations": "Base_Sepolia:310.05", "reason": "r"}) + after = {"owner_balance": "475.981456", "available_to_pay": "475.981456"} + setup = BrainSetup(brain=None, zone=UTC, funds=lambda: after) + assert money_after(setup, tools, money) == after + + +def test_the_activity_says_what_reached_the_owners_wallet_and_from_where(): + moved = {"from": [{"chain": "Base_Sepolia", "amount": "300"}, + {"chain": "Arbitrum_Sepolia", "amount": "10.05"}], + "total": "310.05", "fees": {}, "arrives_on_arc": "310.035838", "reason": "r", + "tx": "0x" + "2" * 64} + session = Session(at=NOW, wakes=(Wake("round", "r"),), finished=True, funds_moved=(moved,)) + [line] = [e for e in activity.session_events(session) if e.get("tx")] + assert line["text"] == ("Brought 310.035838 USDC to your wallet on Arc from your Unified " + "Balance (Base Sepolia 300, Arbitrum Sepolia 10.05).") + + +def test_a_session_keeps_what_it_moved_across_a_restart(tmp_path): + moved = {"from": [{"chain": "Base_Sepolia", "amount": "1"}], "total": "1", "fees": {}, + "arrives_on_arc": "0.98", "reason": "r", "tx": "0xabc"} + with SqliteJournal(tmp_path / "j.sqlite3") as journal: + journal.record_session(Session(at=NOW, wakes=(Wake("round", "r"),), finished=True, + funds_moved=(moved,))) + with SqliteJournal(tmp_path / "j.sqlite3") as journal: + assert journal.sessions()[-1].funds_moved == (moved,) + + +def test_the_dashboard_gets_each_chain_or_the_reason_it_could_not_read_them(): + assert unified_view(None) is None + view = unified_view(Funds()) + assert view["chains"][0] == {"chain": "Base_Sepolia", "available": "320", + "arriving": "0", "agent_authorized": True} + + class Down(Funds): + def chains(self): + raise UnifiedBalanceError("the Unified Balance Kit did not run") + + assert unified_view(Down()) == {"error": "the Unified Balance Kit did not run"}