@oakagentkit/core 0.2.6 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/dist/api/abort-scope.d.ts +2 -0
- package/build/dist/api/abort-scope.js +1 -0
- package/build/dist/api/addresses.d.ts +9 -0
- package/build/dist/api/addresses.js +1 -1
- package/build/dist/api/chain.d.ts +4 -0
- package/build/dist/api/chain.js +1 -1
- package/build/dist/api/history.js +1 -1
- package/build/dist/api/http.js +1 -1
- package/build/dist/api/identity-link.js +1 -1
- package/build/dist/api/metadata.js +1 -1
- package/build/dist/api/modules/beefy/boosts.js +1 -1
- package/build/dist/api/modules/beefy/clm.js +1 -1
- package/build/dist/api/modules/beefy/guard.js +1 -1
- package/build/dist/api/modules/beefy/index.js +1 -1
- package/build/dist/api/modules/beefy/liquidity.js +1 -1
- package/build/dist/api/modules/beefy/management.js +1 -1
- package/build/dist/api/modules/beefy/vaults.js +1 -1
- package/build/dist/api/modules/borro/abi.d.ts +54 -0
- package/build/dist/api/modules/borro/abi.js +1 -1
- package/build/dist/api/modules/borro/actions.d.ts +14 -1
- package/build/dist/api/modules/borro/actions.js +1 -1
- package/build/dist/api/modules/borro/checks.js +1 -1
- package/build/dist/api/modules/borro/copy.d.ts +23 -10
- package/build/dist/api/modules/borro/copy.js +1 -1
- package/build/dist/api/modules/borro/index.js +1 -1
- package/build/dist/api/modules/borro/liquidity.js +1 -1
- package/build/dist/api/modules/borro/pins.d.ts +30 -14
- package/build/dist/api/modules/borro/pins.js +1 -1
- package/build/dist/api/modules/borro/positions.js +1 -1
- package/build/dist/api/modules/borro/reader.js +1 -1
- package/build/dist/api/modules/borro/types.d.ts +1 -0
- package/build/dist/api/modules/chop/abi.d.ts +31 -0
- package/build/dist/api/modules/chop/abi.js +1 -1
- package/build/dist/api/modules/chop/actions.js +1 -1
- package/build/dist/api/modules/chop/checks.d.ts +13 -5
- package/build/dist/api/modules/chop/checks.js +1 -1
- package/build/dist/api/modules/chop/copy.d.ts +11 -1
- package/build/dist/api/modules/chop/copy.js +1 -1
- package/build/dist/api/modules/chop/guard.js +1 -1
- package/build/dist/api/modules/chop/index.js +1 -1
- package/build/dist/api/modules/chop/positions.js +1 -1
- package/build/dist/api/modules/chop/reader.d.ts +132 -7
- package/build/dist/api/modules/chop/reader.js +1 -1
- package/build/dist/api/modules/chop/types.d.ts +12 -0
- package/build/dist/api/modules/clanker/extensions.d.ts +9 -0
- package/build/dist/api/modules/clanker/extensions.js +1 -1
- package/build/dist/api/modules/clanker/index.js +1 -1
- package/build/dist/api/modules/clanker/manage.js +1 -1
- package/build/dist/api/modules/clanker/pool-config.d.ts +15 -0
- package/build/dist/api/modules/clanker/pool-config.js +1 -1
- package/build/dist/api/modules/clanker/protocol.js +1 -1
- package/build/dist/api/modules/clanker/state.js +1 -1
- package/build/dist/api/modules/earn/copy.d.ts +36 -14
- package/build/dist/api/modules/earn/copy.js +1 -1
- package/build/dist/api/modules/earn/cost.d.ts +11 -1
- package/build/dist/api/modules/earn/cost.js +1 -1
- package/build/dist/api/modules/earn/index.js +1 -1
- package/build/dist/api/modules/earn/lp.d.ts +14 -1
- package/build/dist/api/modules/earn/lp.js +1 -1
- package/build/dist/api/modules/earn/options.d.ts +6 -4
- package/build/dist/api/modules/earn/options.js +1 -1
- package/build/dist/api/modules/erc8004/common.d.ts +1 -1
- package/build/dist/api/modules/erc8004/common.js +1 -1
- package/build/dist/api/modules/erc8004/domain.js +1 -1
- package/build/dist/api/modules/erc8004/index.js +1 -1
- package/build/dist/api/modules/erc8004/management.js +1 -1
- package/build/dist/api/modules/erc8004/reputation.js +1 -1
- package/build/dist/api/modules/erc8004/services.js +1 -1
- package/build/dist/api/modules/erc8004/thesis.d.ts +61 -0
- package/build/dist/api/modules/erc8004/thesis.js +1 -0
- package/build/dist/api/modules/erc8004/validation.js +1 -1
- package/build/dist/api/modules/factor/abi.d.ts +642 -0
- package/build/dist/api/modules/factor/abi.js +1 -0
- package/build/dist/api/modules/factor/actions.d.ts +15 -0
- package/build/dist/api/modules/factor/actions.js +1 -0
- package/build/dist/api/modules/factor/api.d.ts +7 -0
- package/build/dist/api/modules/factor/api.js +1 -0
- package/build/dist/api/modules/factor/checks.d.ts +11 -0
- package/build/dist/api/modules/factor/checks.js +1 -0
- package/build/dist/api/modules/factor/copy.d.ts +33 -0
- package/build/dist/api/modules/factor/copy.js +1 -0
- package/build/dist/api/modules/factor/guard.d.ts +12 -0
- package/build/dist/api/modules/factor/guard.js +1 -0
- package/build/dist/api/modules/factor/index.d.ts +16 -0
- package/build/dist/api/modules/factor/index.js +8 -0
- package/build/dist/api/modules/factor/messages.d.ts +46 -0
- package/build/dist/api/modules/factor/messages.js +1 -0
- package/build/dist/api/modules/factor/pins.d.ts +64 -0
- package/build/dist/api/modules/factor/pins.js +1 -0
- package/build/dist/api/modules/factor/reader.d.ts +17 -0
- package/build/dist/api/modules/factor/reader.js +1 -0
- package/build/dist/api/modules/factor/types.d.ts +18 -0
- package/build/dist/api/modules/factor/types.js +0 -0
- package/build/dist/api/modules/gloam/copy.d.ts +4 -3
- package/build/dist/api/modules/gloam/copy.js +2 -2
- package/build/dist/api/modules/gloam/index.js +1 -1
- package/build/dist/api/modules/grove/index.js +1 -1
- package/build/dist/api/modules/heyresearch/builder-feed.js +1 -1
- package/build/dist/api/modules/heyresearch/index.js +1 -1
- package/build/dist/api/modules/heyresearch/public-reads.d.ts +29 -1
- package/build/dist/api/modules/heyresearch/public-reads.js +1 -1
- package/build/dist/api/modules/heyresearch/scan.js +1 -1
- package/build/dist/api/modules/heyresearch/status-labels.d.ts +2 -0
- package/build/dist/api/modules/heyresearch/status-labels.js +1 -1
- package/build/dist/api/modules/heyresearch/token-facts.js +1 -1
- package/build/dist/api/modules/hoodag/chain-reads.js +1 -1
- package/build/dist/api/modules/hoodag/index.d.ts +12 -1
- package/build/dist/api/modules/hoodag/index.js +1 -1
- package/build/dist/api/modules/hoodag/management.js +1 -1
- package/build/dist/api/modules/hoodag/public-reads.js +1 -1
- package/build/dist/api/modules/hoodag/reconstruct.d.ts +14 -0
- package/build/dist/api/modules/hoodag/reconstruct.js +1 -1
- package/build/dist/api/modules/hoodlock/airdrop.js +1 -1
- package/build/dist/api/modules/hoodlock/buyback.js +1 -1
- package/build/dist/api/modules/hoodlock/commerce.js +1 -1
- package/build/dist/api/modules/hoodlock/fee.js +1 -1
- package/build/dist/api/modules/hoodlock/guard.js +1 -1
- package/build/dist/api/modules/hoodlock/index.js +1 -1
- package/build/dist/api/modules/hoodlock/lifecycle.js +1 -1
- package/build/dist/api/modules/hoodlock/locks-burn.js +1 -1
- package/build/dist/api/modules/hoodlock/public.js +1 -1
- package/build/dist/api/modules/hookr/actions.js +1 -1
- package/build/dist/api/modules/hookr/addons.js +1 -1
- package/build/dist/api/modules/hookr/agent-gate.js +1 -1
- package/build/dist/api/modules/hookr/contracts.d.ts +2 -1
- package/build/dist/api/modules/hookr/contracts.js +1 -1
- package/build/dist/api/modules/hookr/create-cancel.js +1 -1
- package/build/dist/api/modules/hookr/discovery.js +1 -1
- package/build/dist/api/modules/hookr/fill-bounty.js +1 -1
- package/build/dist/api/modules/hookr/index.js +1 -1
- package/build/dist/api/modules/hookr/launch-options.js +1 -1
- package/build/dist/api/modules/hookr/launch-receipt.js +1 -1
- package/build/dist/api/modules/hookr/launch.js +1 -1
- package/build/dist/api/modules/hookr/liquidity.js +1 -1
- package/build/dist/api/modules/hookr/lp-positions.js +1 -1
- package/build/dist/api/modules/hookr/lp-reads.d.ts +2 -0
- package/build/dist/api/modules/hookr/lp-reads.js +1 -1
- package/build/dist/api/modules/hookr/lp-receipt.js +1 -1
- package/build/dist/api/modules/hookr/lp-state.js +1 -1
- package/build/dist/api/modules/hookr/public-reads.js +1 -1
- package/build/dist/api/modules/hookr/read-utils.js +1 -1
- package/build/dist/api/modules/hookr/relay.js +1 -1
- package/build/dist/api/modules/hookr/revenue.js +1 -1
- package/build/dist/api/modules/kyberswap/index.d.ts +2 -1
- package/build/dist/api/modules/kyberswap/index.js +1 -1
- package/build/dist/api/modules/kyberswap/source-pools.js +1 -1
- package/build/dist/api/modules/layerbank/abi.js +1 -1
- package/build/dist/api/modules/layerbank/actions.js +1 -1
- package/build/dist/api/modules/layerbank/checks.js +1 -1
- package/build/dist/api/modules/layerbank/index.js +1 -1
- package/build/dist/api/modules/layerbank/merkl.js +1 -1
- package/build/dist/api/modules/layerbank/reader.js +1 -1
- package/build/dist/api/modules/layerbank/reserve.js +1 -1
- package/build/dist/api/modules/lighter/index.js +1 -1
- package/build/dist/api/modules/longbow/administration.js +1 -1
- package/build/dist/api/modules/longbow/analytics.js +1 -1
- package/build/dist/api/modules/longbow/fixed.js +1 -1
- package/build/dist/api/modules/longbow/index.js +1 -1
- package/build/dist/api/modules/longbow/nft.js +1 -1
- package/build/dist/api/modules/longbow/rebates.js +1 -1
- package/build/dist/api/modules/longbow/staking.js +1 -1
- package/build/dist/api/modules/meridian/index.js +1 -1
- package/build/dist/api/modules/meridian/markets.js +1 -1
- package/build/dist/api/modules/meridian/perps-batch.js +1 -1
- package/build/dist/api/modules/meridian/perps-stream.js +1 -1
- package/build/dist/api/modules/meridian/perps.js +1 -1
- package/build/dist/api/modules/meridian/predict-read.js +1 -1
- package/build/dist/api/modules/meridian/rfq.js +1 -1
- package/build/dist/api/modules/merkl/discovery.js +1 -1
- package/build/dist/api/modules/merkl/index.js +1 -1
- package/build/dist/api/modules/merkl/manage.js +1 -1
- package/build/dist/api/modules/merkl/protocol.js +1 -1
- package/build/dist/api/modules/morpho/allocator.js +1 -1
- package/build/dist/api/modules/morpho/bundles.js +1 -1
- package/build/dist/api/modules/morpho/in-kind.js +1 -1
- package/build/dist/api/modules/morpho/index.js +1 -1
- package/build/dist/api/modules/morpho/local-guard.js +1 -1
- package/build/dist/api/modules/morpho/midnight.js +1 -1
- package/build/dist/api/modules/morpho/protocol.js +1 -1
- package/build/dist/api/modules/morpho/vault-management.js +1 -1
- package/build/dist/api/modules/morpho/vault-tools.js +1 -1
- package/build/dist/api/modules/morpho/vault-v2.d.ts +2 -0
- package/build/dist/api/modules/morpho/vault-v2.js +1 -1
- package/build/dist/api/modules/netnet/card-plan.js +1 -1
- package/build/dist/api/modules/netnet/card-policy.d.ts +1 -0
- package/build/dist/api/modules/netnet/card-policy.js +1 -1
- package/build/dist/api/modules/netnet/card-read.js +1 -1
- package/build/dist/api/modules/netnet/card-recovery.js +1 -1
- package/build/dist/api/modules/netnet/desk-action.js +1 -1
- package/build/dist/api/modules/netnet/desk-read.js +1 -1
- package/build/dist/api/modules/netnet/financial.js +1 -1
- package/build/dist/api/modules/netnet/index.js +1 -1
- package/build/dist/api/modules/netnet/staking.js +1 -1
- package/build/dist/api/modules/orbio/gateway.js +1 -1
- package/build/dist/api/modules/orbio/index.d.ts +6 -0
- package/build/dist/api/modules/orbio/index.js +1 -1
- package/build/dist/api/modules/orbio/positions.js +1 -1
- package/build/dist/api/modules/pendle/convert.js +1 -1
- package/build/dist/api/modules/pendle/costs.js +1 -1
- package/build/dist/api/modules/pendle/index.js +1 -1
- package/build/dist/api/modules/pendle/markets.js +1 -1
- package/build/dist/api/modules/pendle/positions.js +1 -1
- package/build/dist/api/modules/pendle/pricecheck.js +1 -1
- package/build/dist/api/modules/pendle/reader.js +1 -1
- package/build/dist/api/modules/pendle/redeem.js +1 -1
- package/build/dist/api/modules/pendle/trade.js +1 -1
- package/build/dist/api/modules/pendle/validate.js +1 -1
- package/build/dist/api/modules/pendle/verify.js +1 -1
- package/build/dist/api/modules/pons/claim.js +1 -1
- package/build/dist/api/modules/pons/holder-directory.js +1 -1
- package/build/dist/api/modules/pons/index.js +1 -1
- package/build/dist/api/modules/pons/launch-status.js +1 -1
- package/build/dist/api/modules/pons/prices.js +1 -1
- package/build/dist/api/modules/pons/reads.js +1 -1
- package/build/dist/api/modules/pons/swap-terms.js +1 -1
- package/build/dist/api/modules/pons/trade.d.ts +3 -2
- package/build/dist/api/modules/pons/trade.js +1 -1
- package/build/dist/api/modules/poolstrade/index.js +1 -1
- package/build/dist/api/modules/priors/coverage.js +1 -1
- package/build/dist/api/modules/priors/discovery.js +1 -1
- package/build/dist/api/modules/priors/features.js +1 -1
- package/build/dist/api/modules/priors/holdings.js +1 -1
- package/build/dist/api/modules/priors/index.js +1 -1
- package/build/dist/api/modules/priors/integration.d.ts +1 -0
- package/build/dist/api/modules/priors/integration.js +1 -1
- package/build/dist/api/modules/priors/market.js +1 -1
- package/build/dist/api/modules/priors/pt.js +1 -1
- package/build/dist/api/modules/priors/savings-exit.js +1 -1
- package/build/dist/api/modules/priors/starter-line.js +1 -1
- package/build/dist/api/modules/priors/stock-swap.js +1 -1
- package/build/dist/api/modules/raeto/authorization.d.ts +30 -0
- package/build/dist/api/modules/raeto/authorization.js +1 -0
- package/build/dist/api/modules/raeto/copy.d.ts +46 -0
- package/build/dist/api/modules/raeto/copy.js +1 -0
- package/build/dist/api/modules/raeto/errors.d.ts +4 -0
- package/build/dist/api/modules/raeto/errors.js +1 -0
- package/build/dist/api/modules/raeto/estimate.d.ts +2 -0
- package/build/dist/api/modules/raeto/estimate.js +1 -0
- package/build/dist/api/modules/raeto/index.d.ts +16 -0
- package/build/dist/api/modules/raeto/index.js +1 -0
- package/build/dist/api/modules/raeto/pairing.d.ts +40 -0
- package/build/dist/api/modules/raeto/pairing.js +1 -0
- package/build/dist/api/modules/raeto/pins.d.ts +24 -0
- package/build/dist/api/modules/raeto/pins.js +1 -0
- package/build/dist/api/modules/raeto/templates.d.ts +22 -0
- package/build/dist/api/modules/raeto/templates.js +1 -0
- package/build/dist/api/modules/raeto/terms.d.ts +8 -0
- package/build/dist/api/modules/raeto/terms.js +1 -0
- package/build/dist/api/modules/raeto/types.d.ts +64 -0
- package/build/dist/api/modules/raeto/types.js +0 -0
- package/build/dist/api/modules/relay/api.d.ts +16 -0
- package/build/dist/api/modules/relay/api.js +1 -1
- package/build/dist/api/modules/relay/bootstrap.js +1 -1
- package/build/dist/api/modules/relay/discovery.js +1 -1
- package/build/dist/api/modules/relay/inbound.js +1 -1
- package/build/dist/api/modules/relay/index.d.ts +1 -0
- package/build/dist/api/modules/relay/index.js +1 -1
- package/build/dist/api/modules/relay/order.js +1 -1
- package/build/dist/api/modules/relay/outbound-status.js +1 -1
- package/build/dist/api/modules/relay/readiness.d.ts +1 -0
- package/build/dist/api/modules/relay/readiness.js +1 -1
- package/build/dist/api/modules/relay/reads.js +1 -1
- package/build/dist/api/modules/relay/vaults.js +1 -1
- package/build/dist/api/modules/spark/actions.js +1 -1
- package/build/dist/api/modules/spark/details.js +1 -1
- package/build/dist/api/modules/spark/index.js +1 -1
- package/build/dist/api/modules/spark/management.js +1 -1
- package/build/dist/api/modules/steakhouse/analytics.js +1 -1
- package/build/dist/api/modules/steakhouse/erc4626.js +1 -1
- package/build/dist/api/modules/steakhouse/index.js +1 -1
- package/build/dist/api/modules/steakhouse/local-guard.js +1 -1
- package/build/dist/api/modules/steakhouse/management.js +1 -1
- package/build/dist/api/modules/steakhouse/v2-exit.js +1 -1
- package/build/dist/api/modules/tickerspring/basket-routes.js +1 -1
- package/build/dist/api/modules/tickerspring/contract-reads.js +1 -1
- package/build/dist/api/modules/tickerspring/discovery.js +1 -1
- package/build/dist/api/modules/tickerspring/exit-preview.js +1 -1
- package/build/dist/api/modules/tickerspring/guards.js +1 -1
- package/build/dist/api/modules/tickerspring/index.js +1 -1
- package/build/dist/api/modules/tickerspring/journeys.d.ts +1 -0
- package/build/dist/api/modules/tickerspring/journeys.js +1 -1
- package/build/dist/api/modules/tickerspring/ladder.js +1 -1
- package/build/dist/api/modules/tickerspring/maker.js +1 -1
- package/build/dist/api/modules/tickerspring/order-accounting.js +1 -1
- package/build/dist/api/modules/tickerspring/research.js +1 -1
- package/build/dist/api/modules/tickerspring/strategies.js +1 -1
- package/build/dist/api/modules/uniswap/auction-create.js +1 -1
- package/build/dist/api/modules/uniswap/auction.js +1 -1
- package/build/dist/api/modules/uniswap/batch.js +1 -1
- package/build/dist/api/modules/uniswap/common.js +1 -1
- package/build/dist/api/modules/uniswap/fee-percent.d.ts +4 -0
- package/build/dist/api/modules/uniswap/fee-percent.js +1 -0
- package/build/dist/api/modules/uniswap/fees.js +1 -1
- package/build/dist/api/modules/uniswap/index.js +1 -1
- package/build/dist/api/modules/uniswap/local-guard.d.ts +2 -0
- package/build/dist/api/modules/uniswap/local-guard.js +1 -1
- package/build/dist/api/modules/uniswap/oracle.js +1 -1
- package/build/dist/api/modules/uniswap/pool-math.js +1 -1
- package/build/dist/api/modules/uniswap/pools.d.ts +2 -0
- package/build/dist/api/modules/uniswap/pools.js +1 -1
- package/build/dist/api/modules/uniswap/position.js +1 -1
- package/build/dist/api/modules/uniswap/protocol.js +1 -1
- package/build/dist/api/modules/uniswap/quote-guard.d.ts +38 -0
- package/build/dist/api/modules/uniswap/quote-guard.js +1 -0
- package/build/dist/api/modules/uniswap/token-jar.js +1 -1
- package/build/dist/api/modules/uniswap/trade-batch.js +1 -1
- package/build/dist/api/modules/uniswap/trade.d.ts +10 -3
- package/build/dist/api/modules/uniswap/trade.js +1 -1
- package/build/dist/api/modules/uniswap/v2.js +1 -1
- package/build/dist/api/modules/uniswap/v3.js +1 -1
- package/build/dist/api/modules/uniswap/v4.d.ts +6 -0
- package/build/dist/api/modules/uniswap/v4.js +1 -1
- package/build/dist/api/modules/uniswap/wrap.js +1 -1
- package/build/dist/api/modules/upoch/copy.d.ts +5 -0
- package/build/dist/api/modules/upoch/copy.js +1 -0
- package/build/dist/api/modules/upoch/index.d.ts +8 -0
- package/build/dist/api/modules/upoch/index.js +1 -0
- package/build/dist/api/modules/upoch/pins.d.ts +8 -0
- package/build/dist/api/modules/upoch/pins.js +1 -0
- package/build/dist/api/modules/upoch/reads.d.ts +509 -0
- package/build/dist/api/modules/upoch/reads.js +1 -0
- package/build/dist/api/modules/velora/claims.js +1 -1
- package/build/dist/api/modules/velora/delta-reads.js +1 -1
- package/build/dist/api/modules/velora/index.js +1 -1
- package/build/dist/api/modules/wormhole/index.js +1 -1
- package/build/dist/api/modules/wormhole/scan-text.js +1 -1
- package/build/dist/api/modules/wormhole/swap-token-verdict.js +1 -1
- package/build/dist/api/modules/wormhole/third-party-text.d.ts +14 -3
- package/build/dist/api/modules/wormhole/third-party-text.js +1 -1
- package/build/dist/api/modules/wormhole/token-check.js +1 -1
- package/build/dist/api/modules/wormhole/x402-client.d.ts +17 -1
- package/build/dist/api/modules/wormhole/x402-client.js +1 -1
- package/build/dist/api/oak-fee.d.ts +12 -0
- package/build/dist/api/oak-fee.js +1 -0
- package/build/dist/api/param-text.d.ts +22 -0
- package/build/dist/api/param-text.js +1 -0
- package/build/dist/api/position-economics.d.ts +70 -0
- package/build/dist/api/position-economics.js +1 -0
- package/build/dist/api/positions.d.ts +8 -5
- package/build/dist/api/positions.js +1 -1
- package/build/dist/api/pricenote.js +1 -1
- package/build/dist/api/prices.d.ts +3 -0
- package/build/dist/api/prices.js +1 -1
- package/build/dist/api/pricing.js +1 -1
- package/build/dist/api/progress.d.ts +7 -0
- package/build/dist/api/progress.js +1 -0
- package/build/dist/api/read-budgets.d.ts +4 -0
- package/build/dist/api/read-budgets.js +1 -0
- package/build/dist/api/read-shape.d.ts +45 -0
- package/build/dist/api/read-shape.js +1 -0
- package/build/dist/api/revert.d.ts +23 -0
- package/build/dist/api/revert.js +1 -0
- package/build/dist/api/routes.js +1 -1
- package/build/dist/api/rpc.d.ts +1 -0
- package/build/dist/api/rpc.js +1 -1
- package/build/dist/api/secret-fields.d.ts +2 -0
- package/build/dist/api/secret-fields.js +1 -1
- package/build/dist/api/send.js +1 -1
- package/build/dist/api/signing-registry.d.ts +8 -0
- package/build/dist/api/signing-registry.js +1 -1
- package/build/dist/api/signing.js +1 -1
- package/build/dist/api/simulate.js +1 -1
- package/build/dist/api/swap.d.ts +4 -0
- package/build/dist/api/swap.js +1 -1
- package/build/dist/api/tokens.d.ts +1 -0
- package/build/dist/api/tokens.js +1 -1
- package/build/dist/api/tool-policy.d.ts +1 -0
- package/build/dist/api/tool-policy.js +1 -1
- package/build/dist/api/types.d.ts +3 -0
- package/build/dist/api/untrusted-unwrap.d.ts +1 -0
- package/build/dist/api/untrusted-unwrap.js +1 -0
- package/build/dist/api/usd-estimate.d.ts +23 -0
- package/build/dist/api/usd-estimate.js +1 -0
- package/build/dist/api/vendor-limits.js +1 -1
- package/build/dist/chunks/23HNDJ76.js +2 -0
- package/build/dist/chunks/24Q3FNGX.js +1 -0
- package/build/dist/chunks/25C4DTVA.js +1 -0
- package/build/dist/chunks/2GXHYI23.js +1 -0
- package/build/dist/chunks/2HN3U6OG.js +1 -0
- package/build/dist/chunks/{QU5XKRGK.js → 2OVJ2BTJ.js} +1 -1
- package/build/dist/chunks/{FUDAXV5X.js → 2QGLPY2D.js} +1 -1
- package/build/dist/chunks/2WRXH6BL.js +1 -0
- package/build/dist/chunks/2ZBSE2LD.js +2 -0
- package/build/dist/chunks/2ZQ7X223.js +1 -0
- package/build/dist/chunks/2ZWKIBJT.js +1 -0
- package/build/dist/chunks/3A2IKFTV.js +1 -0
- package/build/dist/chunks/3CH2IPQL.js +1 -0
- package/build/dist/chunks/3PU2SD3U.js +2 -0
- package/build/dist/chunks/{ER47KGRM.js → 3ZH5SOC2.js} +1 -1
- package/build/dist/chunks/4NBXBKOX.js +2 -0
- package/build/dist/chunks/{WV3A3OUU.js → 4PLLS6CT.js} +1 -1
- package/build/dist/chunks/4R3G3H42.js +1 -0
- package/build/dist/chunks/4TTDAF4B.js +1 -0
- package/build/dist/chunks/4Z3IGMU6.js +1 -0
- package/build/dist/chunks/5DPJQCKJ.js +68 -0
- package/build/dist/chunks/{SJJR4ZBZ.js → 5GQJVKVY.js} +1 -1
- package/build/dist/chunks/5R576SDB.js +1 -0
- package/build/dist/chunks/5RXALTDT.js +1 -0
- package/build/dist/chunks/5TUXSOMI.js +1 -0
- package/build/dist/chunks/5UAXLWJ2.js +1 -0
- package/build/dist/chunks/{QQECG3WP.js → 5W74Z4WZ.js} +1 -1
- package/build/dist/chunks/5XAXJEWM.js +5 -0
- package/build/dist/chunks/65356YKW.js +1 -0
- package/build/dist/chunks/65OITTDL.js +1 -0
- package/build/dist/chunks/6F527FLN.js +1 -0
- package/build/dist/chunks/6MDYKE2O.js +1 -0
- package/build/dist/chunks/6OCLWSMZ.js +1 -0
- package/build/dist/chunks/75SULXNT.js +1 -0
- package/build/dist/chunks/{WU7XIAXB.js → 7EACRKFV.js} +1 -1
- package/build/dist/chunks/7U62MMUQ.js +1 -0
- package/build/dist/chunks/{DW4V5PUY.js → 7VH6JQ2H.js} +1 -1
- package/build/dist/chunks/A2V4NFVA.js +1 -0
- package/build/dist/chunks/A3BJSQ23.js +1 -0
- package/build/dist/chunks/ACH4BSME.js +3 -0
- package/build/dist/chunks/ADIPEGNN.js +1 -0
- package/build/dist/chunks/AHUCYDBC.js +1 -0
- package/build/dist/chunks/ANIF3JMV.js +4 -0
- package/build/dist/chunks/{ALLLYOUG.js → ATEVAJ5Y.js} +1 -1
- package/build/dist/chunks/B2HSLY5F.js +1 -0
- package/build/dist/chunks/{WTXC3XKW.js → B7BNDW35.js} +1 -1
- package/build/dist/chunks/BE3A7677.js +1 -0
- package/build/dist/chunks/{PAY5PD4H.js → BX46C5ZP.js} +1 -1
- package/build/dist/chunks/C3WBHFLX.js +1 -0
- package/build/dist/chunks/C6VJAL5B.js +1 -0
- package/build/dist/chunks/C76D54YG.js +1 -0
- package/build/dist/chunks/CD2JQ32C.js +1 -0
- package/build/dist/chunks/CI5ENLYA.js +1 -0
- package/build/dist/chunks/CNLL4NCR.js +1 -0
- package/build/dist/chunks/{P5PYFK7L.js → CQ5WRWV4.js} +1 -1
- package/build/dist/chunks/CSOO4SW7.js +1 -0
- package/build/dist/chunks/CZL6T2ZQ.js +1 -0
- package/build/dist/chunks/CZQ2CGYV.js +1 -0
- package/build/dist/chunks/D2IYA4LP.js +1 -0
- package/build/dist/chunks/D7QXZM3S.js +1 -0
- package/build/dist/chunks/{GNC6RXLT.js → DBOGRUPS.js} +1 -1
- package/build/dist/chunks/DGCJZ3HO.js +1 -0
- package/build/dist/chunks/DGDMRATN.js +1 -0
- package/build/dist/chunks/DMB64UIN.js +1 -0
- package/build/dist/chunks/DMDOSHV7.js +1 -0
- package/build/dist/chunks/DRLBTB4E.js +1 -0
- package/build/dist/chunks/E76Z2TT4.js +1 -0
- package/build/dist/chunks/EFESPGA2.js +1 -0
- package/build/dist/chunks/EHK7CDTU.js +1 -0
- package/build/dist/chunks/ELHRXA5U.js +1 -0
- package/build/dist/chunks/F7MGYRPU.js +1 -0
- package/build/dist/chunks/{MRMR4QHA.js → FAH7FKUT.js} +1 -1
- package/build/dist/chunks/{QBIY6FQN.js → FGEGJOAA.js} +1 -1
- package/build/dist/chunks/FHTNMGFR.js +1 -0
- package/build/dist/chunks/FN6GNTPR.js +1 -0
- package/build/dist/chunks/{EGYVRQUR.js → FTMA24EC.js} +1 -1
- package/build/dist/chunks/FXOFR432.js +1 -0
- package/build/dist/chunks/{VHV6WQ5F.js → G2AA73ZE.js} +1 -1
- package/build/dist/chunks/G2LAO23N.js +1 -0
- package/build/dist/chunks/{WIRBCS4W.js → GBIBRYOV.js} +1 -1
- package/build/dist/chunks/GDOHHXNH.js +1 -0
- package/build/dist/chunks/{GSBIERZD.js → GP6YO24Z.js} +1 -1
- package/build/dist/chunks/GQ3XZFRL.js +1 -0
- package/build/dist/chunks/{4HG6FRVH.js → GQITAJVF.js} +1 -1
- package/build/dist/chunks/H3E7UD2X.js +1 -0
- package/build/dist/chunks/HFVXNKA5.js +1 -0
- package/build/dist/chunks/HHYE42JG.js +21 -0
- package/build/dist/chunks/HRAHGYNK.js +1 -0
- package/build/dist/chunks/HS5HWBMU.js +1 -0
- package/build/dist/chunks/{BND2UFVW.js → HVFMIURK.js} +1 -1
- package/build/dist/chunks/IBL6TL2Q.js +1 -0
- package/build/dist/chunks/IT2JLILU.js +1 -0
- package/build/dist/chunks/IV4K7FMD.js +1 -0
- package/build/dist/chunks/{PNA6UIE5.js → JDSSYT6R.js} +1 -1
- package/build/dist/chunks/JFWJBZ7M.js +1 -0
- package/build/dist/chunks/JI5DXDMY.js +1 -0
- package/build/dist/chunks/JJGZ7W3V.js +1 -0
- package/build/dist/chunks/JPPQDELB.js +18 -0
- package/build/dist/chunks/{OLSP46ZD.js → K4P5VYDP.js} +1 -1
- package/build/dist/chunks/{JFYBH3DX.js → K6D6SDIG.js} +1 -1
- package/build/dist/chunks/K7HTDKAT.js +1 -0
- package/build/dist/chunks/KBU3PYP7.js +1 -0
- package/build/dist/chunks/KH4QFN72.js +3 -0
- package/build/dist/chunks/KMSAUFYV.js +1 -0
- package/build/dist/chunks/{RTAHNWHN.js → KOTGFD2V.js} +1 -1
- package/build/dist/chunks/KZA5GYZR.js +1 -0
- package/build/dist/chunks/LCH6F5HT.js +1 -0
- package/build/dist/chunks/LDJI2JAL.js +1 -0
- package/build/dist/chunks/LEV5SNNC.js +3 -0
- package/build/dist/chunks/{SPRVVJXI.js → LFSJDFMY.js} +1 -1
- package/build/dist/chunks/{PIIHOXWF.js → LJJYYUEG.js} +1 -1
- package/build/dist/chunks/LKX5WDOQ.js +1 -0
- package/build/dist/chunks/LVFI74ST.js +1 -0
- package/build/dist/chunks/M7BUKZW2.js +1 -0
- package/build/dist/chunks/{C5ZZAYXD.js → MI5HZDMH.js} +1 -1
- package/build/dist/chunks/MMCM3GSM.js +1 -0
- package/build/dist/chunks/MQ5F2VOK.js +1 -0
- package/build/dist/chunks/MSMHS456.js +1 -0
- package/build/dist/chunks/{JKD2B6OX.js → MSRCJ2BS.js} +1 -1
- package/build/dist/chunks/{XSKFKBDR.js → N64JJN37.js} +1 -1
- package/build/dist/chunks/NAO7VWZF.js +1 -0
- package/build/dist/chunks/ND32LJWI.js +1 -0
- package/build/dist/chunks/{Q42YI3EP.js → NMJVQX5M.js} +1 -1
- package/build/dist/chunks/NMQBOBWJ.js +1 -0
- package/build/dist/chunks/NQ4MTIU3.js +1 -0
- package/build/dist/chunks/NWPAQER2.js +1 -0
- package/build/dist/chunks/O2J5I4VA.js +1 -0
- package/build/dist/chunks/O4S6XAYV.js +1 -0
- package/build/dist/chunks/{TAEZTP4L.js → O5QTITN6.js} +1 -1
- package/build/dist/chunks/{RUC7KH7A.js → OB7BFDOV.js} +1 -1
- package/build/dist/chunks/OEZ7FCLF.js +1 -0
- package/build/dist/chunks/{GW5IXLKU.js → OI3N4EW4.js} +1 -1
- package/build/dist/chunks/{WP6RHXGN.js → OIQTZOBN.js} +1 -1
- package/build/dist/chunks/OODSXDIH.js +1 -0
- package/build/dist/chunks/OOPMZIG7.js +1 -0
- package/build/dist/chunks/OQFNUDMQ.js +1 -0
- package/build/dist/chunks/ORG6LVKJ.js +1 -0
- package/build/dist/chunks/{CBLMQ5UU.js → OSMOBKRQ.js} +1 -1
- package/build/dist/chunks/OTLUQWLF.js +1 -0
- package/build/dist/chunks/{2MT3G7YZ.js → OTYB6BHK.js} +1 -1
- package/build/dist/chunks/{H43RNCX2.js → OUROA7XR.js} +1 -1
- package/build/dist/chunks/{SMYWWIE6.js → OVM4QIET.js} +1 -1
- package/build/dist/chunks/OYDKAIS2.js +1 -0
- package/build/dist/chunks/P6OB2AFW.js +1 -0
- package/build/dist/chunks/PDPTJMTJ.js +1 -0
- package/build/dist/chunks/PEHXHQVA.js +1 -0
- package/build/dist/chunks/PMFR47H3.js +1 -0
- package/build/dist/chunks/PQXYTOV5.js +1 -0
- package/build/dist/chunks/PSGRZWES.js +1 -0
- package/build/dist/chunks/PZEF5LBL.js +2 -0
- package/build/dist/chunks/Q7L3BX6U.js +1 -0
- package/build/dist/chunks/QBYV7NXH.js +1 -0
- package/build/dist/chunks/QIB6OMQV.js +1 -0
- package/build/dist/chunks/QLAOBULN.js +1 -0
- package/build/dist/chunks/QLFPAN6S.js +1 -0
- package/build/dist/chunks/QMEGAKLI.js +1 -0
- package/build/dist/chunks/QMNUB2GM.js +2 -0
- package/build/dist/chunks/QMZEGT5B.js +1 -0
- package/build/dist/chunks/R73R4KN3.js +1 -0
- package/build/dist/chunks/RN3WUJIO.js +1 -0
- package/build/dist/chunks/RNCMXKKS.js +1 -0
- package/build/dist/chunks/ROQQ62LP.js +1 -0
- package/build/dist/chunks/RUTSEGGD.js +1 -0
- package/build/dist/chunks/{TFDPEAVZ.js → S4JUFCT4.js} +1 -1
- package/build/dist/chunks/{2VXLVXIB.js → S4UJDZGN.js} +1 -1
- package/build/dist/chunks/SCG5HWMN.js +1 -0
- package/build/dist/chunks/{XQA5LCL6.js → SENOU5JR.js} +1 -1
- package/build/dist/chunks/SMSXZ3FN.js +1 -0
- package/build/dist/chunks/SUNTJ6IU.js +1 -0
- package/build/dist/chunks/SZ466I5X.js +1 -0
- package/build/dist/chunks/TGFQQCRY.js +1 -0
- package/build/dist/chunks/{K4DHHQBI.js → THL4TMQW.js} +2 -2
- package/build/dist/chunks/TI727O2H.js +1 -0
- package/build/dist/chunks/{UD2XMNIT.js → TMRAF2L2.js} +1 -1
- package/build/dist/chunks/TNJTET4G.js +1 -0
- package/build/dist/chunks/TVIMP5CK.js +1 -0
- package/build/dist/chunks/{PV5FDT6O.js → TXGZ6NWN.js} +1 -1
- package/build/dist/chunks/U243AWCH.js +1 -0
- package/build/dist/chunks/U762746N.js +1 -0
- package/build/dist/chunks/U7UPLF4F.js +1 -0
- package/build/dist/chunks/{7QIO77VE.js → UPKVD7WG.js} +1 -1
- package/build/dist/chunks/{ZQAFFWDK.js → URBEK2VV.js} +1 -1
- package/build/dist/chunks/USEF3QKG.js +1 -0
- package/build/dist/chunks/UVAR6BHU.js +1 -0
- package/build/dist/chunks/V5YSJKRH.js +70 -0
- package/build/dist/chunks/VB36EHIR.js +1 -0
- package/build/dist/chunks/VMZYFO6I.js +1 -0
- package/build/dist/chunks/{TX2EOIRS.js → VST6LFUB.js} +1 -1
- package/build/dist/chunks/{U4JGEMKT.js → VVAM3EAK.js} +1 -1
- package/build/dist/chunks/VVJO6OYK.js +1 -0
- package/build/dist/chunks/VVWFB53Q.js +1 -0
- package/build/dist/chunks/VXCGMALF.js +1 -0
- package/build/dist/chunks/VZVW5J7J.js +1 -0
- package/build/dist/chunks/W32UECOL.js +1 -0
- package/build/dist/chunks/{XD6X3KTC.js → W4RYRLL5.js} +1 -1
- package/build/dist/chunks/{2MZXTOZU.js → WAKZWSHB.js} +1 -1
- package/build/dist/chunks/WBNFRPAT.js +1 -0
- package/build/dist/chunks/{AFBEZXNV.js → WNWRF4HE.js} +1 -1
- package/build/dist/chunks/{4DP2VPXR.js → WOGWLFAL.js} +1 -1
- package/build/dist/chunks/{HM72DH4V.js → WRUTW6CG.js} +1 -1
- package/build/dist/chunks/{VYYSL557.js → WSILNJS2.js} +1 -1
- package/build/dist/chunks/X24YTJST.js +1 -0
- package/build/dist/chunks/{IPN6Z4JM.js → X5AL3DUK.js} +1 -1
- package/build/dist/chunks/XBNZ7GTY.js +1 -0
- package/build/dist/chunks/{XL3LLGIR.js → XEBMS5KU.js} +1 -1
- package/build/dist/chunks/XEPCDGN2.js +1 -0
- package/build/dist/chunks/{KIFZ5ZSK.js → XL3W7DAQ.js} +1 -1
- package/build/dist/chunks/{DL6AEWEM.js → XPWGPZ2C.js} +1 -1
- package/build/dist/chunks/{T7TFUH5K.js → XRDLMTBJ.js} +1 -1
- package/build/dist/chunks/XTFRPI4G.js +1 -0
- package/build/dist/chunks/XV3YJ4P6.js +1 -0
- package/build/dist/chunks/XW3VGWXK.js +1 -0
- package/build/dist/chunks/{6WD4HHID.js → Y2QADJOB.js} +1 -1
- package/build/dist/chunks/Y64GFBTA.js +1 -0
- package/build/dist/chunks/YARZE7SJ.js +1 -0
- package/build/dist/chunks/YBLJ75U5.js +1 -0
- package/build/dist/chunks/YEIM6BZQ.js +1 -0
- package/build/dist/chunks/YRSAZTTC.js +7 -0
- package/build/dist/chunks/YXXK6EPI.js +1 -0
- package/build/dist/chunks/Z3IBPCY4.js +2 -0
- package/build/dist/chunks/{QHBS3PVU.js → Z7FGEWO2.js} +1 -1
- package/build/dist/chunks/ZNPVBNC5.js +1 -0
- package/build/dist/chunks/ZQ6AF3VX.js +1 -0
- package/build/dist/chunks/ZTKT3ZQK.js +1 -0
- package/build/dist/chunks/{4BVP652W.js → ZZ6FZGHF.js} +1 -1
- package/package.json +1 -1
- package/build/dist/chunks/2THSW4QN.js +0 -1
- package/build/dist/chunks/2TK3ETUO.js +0 -1
- package/build/dist/chunks/35KR3VSS.js +0 -1
- package/build/dist/chunks/3GQ7A3VB.js +0 -1
- package/build/dist/chunks/3XNZUIRU.js +0 -1
- package/build/dist/chunks/46547QT3.js +0 -1
- package/build/dist/chunks/4EN6MQEI.js +0 -1
- package/build/dist/chunks/4I3OU56B.js +0 -1
- package/build/dist/chunks/52ELWNXJ.js +0 -2
- package/build/dist/chunks/5AXWBSPG.js +0 -1
- package/build/dist/chunks/5N3O42X6.js +0 -1
- package/build/dist/chunks/5SMVQCAP.js +0 -1
- package/build/dist/chunks/5SZPNZG4.js +0 -1
- package/build/dist/chunks/64GOINYS.js +0 -1
- package/build/dist/chunks/6I4NTKB2.js +0 -1
- package/build/dist/chunks/6JAXZNZ3.js +0 -1
- package/build/dist/chunks/6O3Q5B6M.js +0 -1
- package/build/dist/chunks/6OGDTEGH.js +0 -1
- package/build/dist/chunks/6WZX7C4T.js +0 -2
- package/build/dist/chunks/6YB3VOUL.js +0 -1
- package/build/dist/chunks/7GJ6SLEV.js +0 -1
- package/build/dist/chunks/7KWZ5QJU.js +0 -1
- package/build/dist/chunks/7QZOTRSA.js +0 -2
- package/build/dist/chunks/7WSHW7KW.js +0 -1
- package/build/dist/chunks/A7I4IWUB.js +0 -1
- package/build/dist/chunks/ABPL3ZZI.js +0 -1
- package/build/dist/chunks/ACW63WIL.js +0 -20
- package/build/dist/chunks/AEL62KCG.js +0 -1
- package/build/dist/chunks/AKYF5264.js +0 -7
- package/build/dist/chunks/AW7AXQCZ.js +0 -1
- package/build/dist/chunks/AXRL3REN.js +0 -1
- package/build/dist/chunks/BBTPRZ6T.js +0 -1
- package/build/dist/chunks/BOVMED7R.js +0 -1
- package/build/dist/chunks/BTPXJAUX.js +0 -1
- package/build/dist/chunks/C7AXJHBT.js +0 -1
- package/build/dist/chunks/CBG5HARQ.js +0 -2
- package/build/dist/chunks/CDPSMI3Z.js +0 -1
- package/build/dist/chunks/CHXBOXOD.js +0 -1
- package/build/dist/chunks/CQEJSCFQ.js +0 -1
- package/build/dist/chunks/DBNTZEAJ.js +0 -1
- package/build/dist/chunks/DHUDSOGR.js +0 -18
- package/build/dist/chunks/DJN3JAWB.js +0 -1
- package/build/dist/chunks/E3RACZUY.js +0 -1
- package/build/dist/chunks/FEYAY6OZ.js +0 -1
- package/build/dist/chunks/FJ4S4GHY.js +0 -1
- package/build/dist/chunks/FWD4L3CJ.js +0 -1
- package/build/dist/chunks/GG6Y4OCJ.js +0 -1
- package/build/dist/chunks/GGHBFLRC.js +0 -1
- package/build/dist/chunks/GGSAKCND.js +0 -1
- package/build/dist/chunks/GRQYTVNT.js +0 -1
- package/build/dist/chunks/H6T5FXEX.js +0 -1
- package/build/dist/chunks/HHXBUYHO.js +0 -1
- package/build/dist/chunks/HKEMQBFA.js +0 -1
- package/build/dist/chunks/HQUVB7Z5.js +0 -3
- package/build/dist/chunks/HU7IMNBI.js +0 -1
- package/build/dist/chunks/HWX36XJI.js +0 -1
- package/build/dist/chunks/I26DMNJG.js +0 -1
- package/build/dist/chunks/I55MURSJ.js +0 -1
- package/build/dist/chunks/IMO3GDA5.js +0 -1
- package/build/dist/chunks/IPRVIKYC.js +0 -1
- package/build/dist/chunks/IVX4R5OL.js +0 -1
- package/build/dist/chunks/JQOQMFWD.js +0 -3
- package/build/dist/chunks/JUZ5JU6D.js +0 -70
- package/build/dist/chunks/JZS3E66E.js +0 -1
- package/build/dist/chunks/K3RDPI5J.js +0 -1
- package/build/dist/chunks/KBKK7UNY.js +0 -1
- package/build/dist/chunks/KVFZKPJT.js +0 -1
- package/build/dist/chunks/L5BLHY34.js +0 -1
- package/build/dist/chunks/LKXO2BQS.js +0 -1
- package/build/dist/chunks/LKZX4CAA.js +0 -1
- package/build/dist/chunks/LYMNHO5T.js +0 -1
- package/build/dist/chunks/M2UXYCKH.js +0 -1
- package/build/dist/chunks/M37654RL.js +0 -1
- package/build/dist/chunks/M6LC6DRE.js +0 -1
- package/build/dist/chunks/MOE3EVAL.js +0 -1
- package/build/dist/chunks/N4Q6GN65.js +0 -1
- package/build/dist/chunks/NAZPDRIF.js +0 -1
- package/build/dist/chunks/NKX3FE34.js +0 -1
- package/build/dist/chunks/NKZKKCK2.js +0 -1
- package/build/dist/chunks/NOFUKKP5.js +0 -1
- package/build/dist/chunks/O6ROOKY2.js +0 -1
- package/build/dist/chunks/OJ4WJUPP.js +0 -1
- package/build/dist/chunks/OOZSE2R7.js +0 -1
- package/build/dist/chunks/OTXSKFUD.js +0 -1
- package/build/dist/chunks/P5AJSLZ7.js +0 -1
- package/build/dist/chunks/PACN53TR.js +0 -1
- package/build/dist/chunks/PAHXBLCS.js +0 -1
- package/build/dist/chunks/PK66GCDT.js +0 -1
- package/build/dist/chunks/PSBQWDYI.js +0 -1
- package/build/dist/chunks/PXT5YTWU.js +0 -1
- package/build/dist/chunks/PZGGE5D3.js +0 -1
- package/build/dist/chunks/QA2RRIES.js +0 -1
- package/build/dist/chunks/QA3UHEO3.js +0 -1
- package/build/dist/chunks/QFNT73OF.js +0 -1
- package/build/dist/chunks/QW2OPEYJ.js +0 -1
- package/build/dist/chunks/QYVREJYC.js +0 -1
- package/build/dist/chunks/ROFPXEQ5.js +0 -2
- package/build/dist/chunks/RTGS7RIO.js +0 -1
- package/build/dist/chunks/RUX3RY7Y.js +0 -1
- package/build/dist/chunks/RVDUSNWW.js +0 -1
- package/build/dist/chunks/S5CBVFHY.js +0 -1
- package/build/dist/chunks/SIYUNOLI.js +0 -1
- package/build/dist/chunks/TEJ7W534.js +0 -1
- package/build/dist/chunks/TPBAFS7K.js +0 -1
- package/build/dist/chunks/TVWMTMEF.js +0 -1
- package/build/dist/chunks/U2RMUVVY.js +0 -1
- package/build/dist/chunks/U5PMVP56.js +0 -1
- package/build/dist/chunks/V5JWGWXC.js +0 -1
- package/build/dist/chunks/VCOTCVKN.js +0 -1
- package/build/dist/chunks/VEQBHI6O.js +0 -1
- package/build/dist/chunks/VNV6ZISN.js +0 -1
- package/build/dist/chunks/VYAJXLND.js +0 -1
- package/build/dist/chunks/WCNHZYQQ.js +0 -1
- package/build/dist/chunks/WLMWWEP7.js +0 -2
- package/build/dist/chunks/X2P55AC3.js +0 -1
- package/build/dist/chunks/XBE3B6Y2.js +0 -1
- package/build/dist/chunks/XKSVTN5X.js +0 -1
- package/build/dist/chunks/XSRIJUFU.js +0 -1
- package/build/dist/chunks/YCZPSMZ5.js +0 -1
- package/build/dist/chunks/YDNTY67T.js +0 -1
- package/build/dist/chunks/YN56C7PN.js +0 -1
- package/build/dist/chunks/YRNXGQJC.js +0 -1
- package/build/dist/chunks/YWRLY5EA.js +0 -1
- package/build/dist/chunks/YWSX6IE6.js +0 -1
- package/build/dist/chunks/YXTSWRV5.js +0 -1
- package/build/dist/chunks/Z6LZGCVW.js +0 -1
- package/build/dist/chunks/ZQWZGH7V.js +0 -1
- package/build/dist/chunks/ZSN4IRI5.js +0 -1
- package/build/dist/chunks/ZV5HIQXC.js +0 -1
- package/build/dist/chunks/ZXJ24B4L.js +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a}from"./XSD5NL7J.js";var p="0x856bb126188bDB5e425D3ac9D59E9ffBD12e6ECf",d=4663,r=46630,u=18,h=6,A=30,v="recipient",P="direct",x="totalSupply",o={4663:{layerbank:{pool:{address:"0x433e21dC2BF027910B1635653c2Eb630bC7dAD43",source:"https://docs.layerbank.finance/",pointer:"/robinhood/pool",block:null,blockKind:"read"},aToken:{address:"0xAd9b5C0ea95Cf998C1A31Aaa8aC7a24de94BeE69",source:"https://docs.layerbank.finance/",pointer:"/robinhood/USDG/aToken",block:null,blockKind:"read"}},pendle:{router:{address:"0x888888888889758F76e7103c6CbF23ABbF58F946",source:"https://docs.pendle.finance/",pointer:"/4663/router",block:null,blockKind:"read"},marketFactory:{address:"0x544BF81c855AE84c1e8b65d5E38770898D01EeE2",source:"https://docs.pendle.finance/",pointer:"/4663/marketFactory",block:null,blockKind:"read"}},pons:{factory:{address:"0x7eD598BcEf8bd9Edd8C97A195C6d13f40801EC7e",source:"Recorded chain and API observations",pointer:"/pons/factory",block:"100307770",blockKind:"read",blockPointer:"/pinnedBlocks/ponsReads"},launchAndBuyRouter:{address:"0xe33E9E479dF8802cb0866d5d05258bEc4cF62948",source:"Recorded chain and API observations",pointer:"/pons/launchAndBuyRouter",block:"100307770",blockKind:"read",blockPointer:"/pinnedBlocks/ponsReads"},memeHook:{address:"0xE5e702641Ea86F4ae6cC3cDaeD2B886f976Be044",source:"Recorded chain and API observations",pointer:"/pons/memeHook",block:"100307770",blockKind:"read",blockPointer:"/pinnedBlocks/ponsReads"},feeEscrow:{address:"0xd3AFEB2a57f70eF218Aa82451c51B2fb0416Ac9e",source:"Recorded chain and API observations",pointer:"/pons/feeEscrow",block:"100307770",blockKind:"read",blockPointer:"/pinnedBlocks/ponsReads"},buybackVault:{address:"0x42df2a798f82289E177311362e8f5ccC45c1219c",source:"Recorded chain and API observations",pointer:"/pons/buybackVault",block:"100307770",blockKind:"read",blockPointer:"/pinnedBlocks/ponsReads"},locker:{address:"0x267444D099b10fB5Ed7c3Cc7B7c767AdcA574952",source:"Recorded chain and API observations",pointer:"/pons/locker",block:"100307770",blockKind:"read",blockPointer:"/pinnedBlocks/ponsReads"},launchDeployer:{address:"0x3711ceA4feaDE896C913C68F01Eda97Cb06D1A42",source:"Recorded chain and API observations",pointer:"/pons/launchDeployer",block:"100307770",blockKind:"read",blockPointer:"/pinnedBlocks/ponsReads"},graduationExecutor:{address:"0xC7819B64A1dAECD7eC19856d026cb14EfBd89046",source:"Recorded chain and API observations",pointer:"/pons/graduationExecutor",block:"100307770",blockKind:"read",blockPointer:"/pinnedBlocks/ponsReads"},graduationGuard:{address:"0xf5695117b99B6f6401e67d4195BD653628176C6C",source:"Recorded chain and API observations",pointer:"/pons/graduationGuard",block:"100307770",blockKind:"read",blockPointer:"/pinnedBlocks/ponsReads"},poolManager:{address:"0x8366a39CC670B4001A1121B8F6A443A643e40951",source:"Recorded chain and API observations",pointer:"/pons/poolManager",block:"100307770",blockKind:"read",blockPointer:"/pinnedBlocks/ponsReads"},positionManager:{address:"0x58daec3116aae6D93017bAAea7749052E8a04fA7",source:"Recorded chain and API observations",pointer:"/pons/positionManager",block:"100307770",blockKind:"read",blockPointer:"/pinnedBlocks/ponsReads"}},oracle:{ethUsdgPool:{address:"0x52e65B17fB6E5BA00Ed806f37Afcd2DaA50271Ca",source:"Recorded chain and API observations",pointer:"/ethUsdgPool/address",block:"100307735",blockKind:"read",blockPointer:"/ethUsdgPool/rawReading/block"}},tokens:{USDG:{address:"0x5fc5360d0400a0fd4f2af552add042d716f1d168",source:"Recorded chain and API observations",pointer:"/usdg/address",block:null,blockKind:"latest",caveat:"Token reads around head 100305826; not individually pinned (Part B section 1.2)."},WETH:{address:"0x0bd7d308f8e1639fab988df18a8011f41eacad73",source:"Recorded chain and API observations",pointer:"/routers/wrappedNative",block:null,blockKind:"latest"}},routes:{kyberswap:{address:"0x6131B5fae19EA4f9D964eAc0408E4408b66337b5",source:"Recorded chain and API observations",pointer:"/routers/kyberswap/router",block:null,blockKind:"latest",caveat:"Historical API target; validate each fresh quote/build chain and target."},velora:{address:"0x6a000f20005980200259b80c5102003040001068",source:"Recorded chain and API observations",pointer:"/routers/velora/router",block:null,blockKind:"latest",caveat:"Historical API target; validate each fresh quote/build chain and target."}},ponsClaims:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",source:"Recorded chain and API observations",pointer:"/addresses/multicall3/address",block:null,blockKind:"unanchored",caveat:"Code present in the source snapshot; exact code-read block not recorded."}},ponsTrade:{universal_router:{address:"0x204faca1764b154221e35c0d20abb3c525710498",source:"Recorded chain and API observations",pointer:"/contracts/universal_router/address",block:"100372649",blockKind:"read",blockPointer:"/limitations/0"},pool_manager:{address:"0x8366a39cc670b4001a1121b8f6a443a643e40951",source:"Recorded chain and API observations",pointer:"/contracts/pool_manager/address",block:"100372649",blockKind:"read",blockPointer:"/limitations/0"},state_view:{address:"0xf3334192d15450cdd385c8b70e03f9a6bd9e673b",source:"Recorded chain and API observations",pointer:"/contracts/state_view/address",block:"100372649",blockKind:"read",blockPointer:"/limitations/0"},quoter:{address:"0x8dc178efb8111bb0973dd9d722ebeff267c98f94",source:"Recorded chain and API observations",pointer:"/contracts/quoter/address",block:"100372649",blockKind:"read",blockPointer:"/limitations/0"},permit2:{address:"0x000000000022d473030f116ddee9f6b43ac78ba3",source:"Recorded chain and API observations",pointer:"/contracts/permit2/address",block:"100372649",blockKind:"read",blockPointer:"/limitations/0"}},uniswap:{v3_factory:{address:"0x1f7d7550b1b028f7571e69a784071f0205fd2efa",source:"Recorded chain and API observations",pointer:"/addresses/v3_factory/address",block:"100361663",blockKind:"snapshot",blockPointer:"/snapshots/v3_block/number"},v3_position_manager:{address:"0x73991a25c818bf1f1128deaab1492d45638de0d3",source:"Recorded chain and API observations",pointer:"/addresses/v3_position_manager/address",block:"100361663",blockKind:"snapshot",blockPointer:"/snapshots/v3_block/number"},v4_pool_manager:{address:"0x8366a39cc670b4001a1121b8f6a443a643e40951",source:"Recorded chain and API observations",pointer:"/addresses/v4_pool_manager/address",block:"100363029",blockKind:"snapshot",blockPointer:"/snapshots/v4_block"},v4_position_manager:{address:"0x58daec3116aae6d93017baaea7749052e8a04fa7",source:"Recorded chain and API observations",pointer:"/addresses/v4_position_manager/address",block:"100363029",blockKind:"snapshot",blockPointer:"/snapshots/v4_block"},v4_state_view:{address:"0xf3334192d15450cdd385c8b70e03f9a6bd9e673b",source:"Recorded chain and API observations",pointer:"/addresses/v4_state_view/address",block:"100363029",blockKind:"snapshot",blockPointer:"/snapshots/v4_block"},swap_router02:{address:"0xcaf681a66d020601342297493863e78c959e5cb2",source:"Recorded chain and API observations",pointer:"/addresses/swap_router02/address",block:"100361663",blockKind:"snapshot",blockPointer:"/snapshots/v3_block/number"},permit2:{address:"0x000000000022d473030f116ddee9f6b43ac78ba3",source:"Recorded chain and API observations",pointer:"/addresses/permit2/address",block:"100361663",blockKind:"snapshot",blockPointer:"/snapshots/v3_block/number"},WETH:{address:"0x0bd7d308f8e1639fab988df18a8011f41eacad73",source:"Recorded chain and API observations",pointer:"/addresses/WETH/address",block:"100361663",blockKind:"snapshot",blockPointer:"/snapshots/v3_block/number"},USDG:{address:"0x5fc5360d0400a0fd4f2af552add042d716f1d168",source:"Recorded chain and API observations",pointer:"/addresses/USDG/address",block:"100361663",blockKind:"snapshot",blockPointer:"/snapshots/v3_block/number"}},clanker:{factory:{address:"0xD3f2cC1731b7Fd17f28798835C2E02f0a1839A94",source:"Recorded chain and API observations",pointer:"/contracts/factory/address",block:"100375756",blockKind:"fork",blockPointer:"/chain/fork_block_number"},locker:{address:"0xE4910b09709423aFafD995dD76D8A81CF9134A09",source:"Recorded chain and API observations",pointer:"/contracts/locker/address",block:"100375756",blockKind:"fork",blockPointer:"/chain/fork_block_number"},legacy_locker_v1:{address:"0x290f735f63824bb5836cde24a35f5103a5b5bc99",source:"Recorded chain and API observations",pointer:"/contracts/legacy_locker_v1/address",block:"100375756",blockKind:"fork",blockPointer:"/chain/fork_block_number"},fee_locker:{address:"0x88db2340bE5991B2b5Fca2Baee39B5CE048Cd70c",source:"Recorded chain and API observations",pointer:"/contracts/fee_locker/address",block:"100375756",blockKind:"fork",blockPointer:"/chain/fork_block_number"},fee_static_hook_v2:{address:"0x48B8F6AD3A1b4aA477314c9a23035b8F84dDe8cc",source:"Recorded chain and API observations",pointer:"/contracts/fee_static_hook_v2/address",block:"100375756",blockKind:"fork",blockPointer:"/chain/fork_block_number"},fee_dynamic_hook_v2:{address:"0x65efDF8Cce99b53C925DF878Df275Df21cB6E8Cc",source:"Recorded chain and API observations",pointer:"/contracts/fee_dynamic_hook_v2/address",block:"100375756",blockKind:"fork",blockPointer:"/chain/fork_block_number"},mev_module:{address:"0xEA1Fe197dF140e5d88fC6B49f2d21Ea05092299e",source:"Recorded chain and API observations",pointer:"/contracts/mev_module/address",block:"100375756",blockKind:"fork",blockPointer:"/chain/fork_block_number"},devbuy:{address:"0xa27b1986e5c7e5371Cb6507f87918fBD0302fF5a",source:"Recorded chain and API observations",pointer:"/contracts/devbuy/address",block:"100375756",blockKind:"fork",blockPointer:"/chain/fork_block_number"},vault:{address:"0x99B2a80ed21c7af1F5cc1A97383DADeEC7DD1427",source:"Recorded chain and API observations",pointer:"/contracts/vault/address",block:"100375756",blockKind:"fork",blockPointer:"/chain/fork_block_number"},airdrop:{address:"0x6f27372FF493A3855E6746b9a4fe6Ed2Cc3034B5",source:"Recorded chain and API observations",pointer:"/contracts/airdrop/address",block:"100375756",blockKind:"fork",blockPointer:"/chain/fork_block_number"},paired_weth:{address:"0x0Bd7D308f8E1639FAb988df18A8011f41EAcAD73",source:"Recorded chain and API observations",pointer:"/contracts/paired_weth/address",block:"100375756",blockKind:"fork",blockPointer:"/chain/fork_block_number"}},clankerDependencies:{pool_manager:{address:"0x8366a39CC670B4001A1121B8F6A443A643e40951",source:"Recorded chain and API observations",pointer:"/contracts/uniswap_v4_dependencies/pool_manager/address",block:"100375756",blockKind:"fork",blockPointer:"/chain/fork_block_number"},position_manager:{address:"0x58daec3116aae6D93017bAAea7749052E8a04fA7",source:"Recorded chain and API observations",pointer:"/contracts/uniswap_v4_dependencies/position_manager/address",block:"100375756",blockKind:"fork",blockPointer:"/chain/fork_block_number"},universal_router:{address:"0x53BF6B0684Ec7eF91e1387Da3D1a1769bC5A6F77",source:"Recorded chain and API observations",pointer:"/contracts/uniswap_v4_dependencies/universal_router/address",block:"100375756",blockKind:"fork",blockPointer:"/chain/fork_block_number"},permit2:{address:"0x000000000022D473030F116dDEE9F6B43aC78BA3",source:"Recorded chain and API observations",pointer:"/contracts/uniswap_v4_dependencies/permit2/address",block:"100375756",blockKind:"fork",blockPointer:"/chain/fork_block_number"}},hoodag:{market:{address:"0xd37C9f7D1a59bceB2BDa47325f14f5789f1176a1",source:"packages/core/test/modules/hoodag/fixtures.json (U5a read-only SIM)",pointer:"/referralRateProbe/market/address",blockPointer:"/referralRateProbe/blockNumber",block:"108260235",blockKind:"read"},registry:{address:"0x3E717dc89AAF4605b607324329EEeB0a8B3C8A1c",source:"Recorded chain and API observations",pointer:"/contracts/registry/address",block:null,blockKind:"range",blockPointer:"/measuredBlockRange"},universalResolver:{address:"0xa9ed3C73F522875F18DAa631429125da893D8E53",source:"Recorded chain and API observations",pointer:"/contracts/universalResolver/address",block:null,blockKind:"range",blockPointer:"/measuredBlockRange"},registrar:{address:"0x9a122C54e15B6287c164b90833bcDA6E16520D50",source:"Recorded chain and API observations",pointer:"/contracts/registrar/address",block:null,blockKind:"range",blockPointer:"/measuredBlockRange"},publicResolver:{address:"0x072C7a66a6D52B23274470b86096AFCBF816CA0B",source:"Recorded chain and API observations",pointer:"/contracts/publicResolver/address",block:null,blockKind:"range",blockPointer:"/measuredBlockRange"},registrarController:{address:"0x7900b2B8Cc3f0616B18C68AdA7E115A9022Ca04a",source:"Recorded chain and API observations",pointer:"/contracts/registrarController/address",block:null,blockKind:"range",blockPointer:"/measuredBlockRange"},reverseRegistrar:{address:"0x4be6D0379f56404B563afAe17c6b095b1dfcf479",source:"Recorded chain and API observations",pointer:"/contracts/reverseRegistrar/address",block:null,blockKind:"range",blockPointer:"/measuredBlockRange"}},hoodlock:{locker:{address:"0xd0f7d8c6e9f6d80c297bebe4f7fd1b9c8125c32f",source:"Recorded chain and API observations",pointer:"/contracts/locker/address",block:"100356379",blockKind:"read",blockPointer:"/chain/liveStateBlock"},burner:{address:"0x6bf43ca706faa8ea46803299c191484e82280652",source:"Recorded chain and API observations",pointer:"/contracts/burner/address",block:"100356379",blockKind:"read",blockPointer:"/chain/liveStateBlock"},airdrop:{address:"0x6B1fE7b821001144Ee74EEA258b0AafdE20102E8",source:"Recorded chain and API observations",pointer:"/contracts/airdrop/address",block:"100356379",blockKind:"read",blockPointer:"/chain/liveStateBlock"},liquidityLocker:{address:"0x91Aa2dA1956C77F8448E18DCaf53383bCc658e67",source:"Recorded chain and API observations",pointer:"/contracts/liquidityLocker/address",block:"100356379",blockKind:"read",blockPointer:"/chain/liveStateBlock"}},hookrLauncherV1:{launcherV1:{address:"0x70a66ADF39B5c9FfEE4A9F081C182edfbb7DBD0C",source:"Hookr verified sources and named-block runtime reads",pointer:"ops/growth/hookr-launch-lp-2026-11/DESIGN.md#deployments-and-release-boundaries/launcherV1",block:"104346779",blockKind:"read"},rootV1:{address:"0x89c9FB50d1f03192230FFB1c279BB6E7d3Fe6aCc",source:"Hookr verified sources and named-block runtime reads",pointer:"ops/growth/hookr-launch-lp-2026-11/DESIGN.md#deployments-and-release-boundaries/rootV1",block:"104346779",blockKind:"read"},rulesV1:{address:"0x342bAA22e202954593b04B7eD1663621E0565d46",source:"Hookr verified sources and named-block runtime reads",pointer:"ops/growth/hookr-launch-lp-2026-11/DESIGN.md#deployments-and-release-boundaries/rulesV1",block:"104346779",blockKind:"read"},agentGateV1:{address:"0x3b1aC66a6Fd9e9d8F063d145003cf29eac4Fb0C9",source:"Hookr verified sources and named-block runtime reads",pointer:"ops/growth/hookr-launch-lp-2026-11/DESIGN.md#deployments-and-release-boundaries/agentGateV1",block:"104346779",blockKind:"read"},familyRouterV1:{address:"0xbc56F48f873841d26a5a02575263d82f68e12864",source:"Hookr verified sources and named-block runtime reads",pointer:"ops/growth/hookr-launch-lp-2026-11/DESIGN.md#deployments-and-release-boundaries/familyRouterV1",block:"104346779",blockKind:"read"},familyLockV1:{address:"0x5248AF9139DaDEf0C5296342b7BE441deDf0adC2",source:"Hookr verified sources and named-block runtime reads",pointer:"ops/growth/hookr-launch-lp-2026-11/DESIGN.md#deployments-and-release-boundaries/familyLockV1",block:"104346779",blockKind:"read"},poolManager:{address:"0x8366a39CC670B4001A1121B8F6A443A643e40951",source:"Hookr verified sources and named-block runtime reads",pointer:"ops/growth/hookr-launch-lp-2026-11/DESIGN.md#deployments-and-release-boundaries/poolManager",block:"104346779",blockKind:"read"},positionManager:{address:"0x58daec3116aae6D93017bAAea7749052E8a04fA7",source:"Hookr verified sources and named-block runtime reads",pointer:"ops/growth/hookr-launch-lp-2026-11/DESIGN.md#deployments-and-release-boundaries/positionManager",block:"104346779",blockKind:"read"},permit2:{address:"0x000000000022D473030F116dDEE9F6B43aC78BA3",source:"Hookr verified sources and named-block runtime reads",pointer:"ops/growth/hookr-launch-lp-2026-11/DESIGN.md#deployments-and-release-boundaries/permit2",block:"104346779",blockKind:"read"},registry:{address:"0x463c82beA1a52F4Cc05ca0741a24F0AD24bA4602",source:"Hookr verified sources and named-block runtime reads",pointer:"ops/growth/hookr-launch-lp-2026-11/DESIGN.md#deployments-and-release-boundaries/registry",block:"104346779",blockKind:"read"},router:{address:"0xC2Bc9a3fe6c4Ce8C2F7EB4655b0869b01D8c93C9",source:"Hookr verified sources and named-block runtime reads",pointer:"ops/growth/hookr-launch-lp-2026-11/DESIGN.md#deployments-and-release-boundaries/router",block:"104346779",blockKind:"read"},identity:{address:"0x8004A169FB4a3325136EB29fA0ceB6D2e539a432",source:"Hookr verified sources and named-block runtime reads",pointer:"ops/growth/hookr-launch-lp-2026-11/DESIGN.md#deployments-and-release-boundaries/identity",block:"104346779",blockKind:"read"},reputation:{address:"0x8004BAa17C55a88189AE136b182e5fdA19dE9b63",source:"Hookr verified sources and named-block runtime reads",pointer:"ops/growth/hookr-launch-lp-2026-11/DESIGN.md#deployments-and-release-boundaries/reputation",block:"104346779",blockKind:"read"}},hookr:{HookrLimitOrders:{address:"0x0c376cc30b1AC98b8ef80a4F516212D3B99402fA",source:"Recorded chain and API observations",pointer:"/q1_liveness/contracts/HookrLimitOrders/address",block:"100371423",blockKind:"fork",blockPointer:"/fork_block_number"},HookrRoot:{address:"0x89c9FB50d1f03192230FFB1c279BB6E7d3Fe6aCc",source:"Recorded chain and API observations",pointer:"/q1_liveness/contracts/HookrRoot/address",block:"100371423",blockKind:"fork",blockPointer:"/fork_block_number"},HookrRouter:{address:"0xC2Bc9a3fe6c4Ce8C2F7EB4655b0869b01D8c93C9",source:"Recorded chain and API observations",pointer:"/q1_liveness/contracts/HookrRouter/address",block:"100371423",blockKind:"fork",blockPointer:"/fork_block_number"},HookrQuoter:{address:"0x445D7891381Aa7F91F5048EdBC6a611ccBDe7865",source:"Recorded chain and API observations",pointer:"/q1_liveness/contracts/HookrQuoter/address",block:"100371423",blockKind:"fork",blockPointer:"/fork_block_number"},HookrLauncher:{address:"0x1cf2748A6670572425eAbf9Ab9e5BC4eb2eB8Ef4",source:"Recorded chain and API observations",pointer:"/q1_liveness/contracts/HookrLauncher/address",block:"100371423",blockKind:"fork",blockPointer:"/fork_block_number"},HookrRules:{address:"0x4a71c270b1520F94064268102AebD744b0DE7942",source:"Recorded chain and API observations",pointer:"/q1_liveness/contracts/HookrRules/address",block:"100371423",blockKind:"fork",blockPointer:"/fork_block_number"},HookrRegistry:{address:"0x463c82beA1a52F4Cc05ca0741a24F0AD24bA4602",source:"Recorded chain and API observations",pointer:"/q1_liveness/contracts/HookrRegistry/address",block:"100371423",blockKind:"fork",blockPointer:"/fork_block_number"},HookrTreasury:{address:"0x2242F7FC75606500503075f29ea8cDA684EfB4a9",source:"Recorded chain and API observations",pointer:"/q1_liveness/contracts/HookrTreasury/address",block:"100371423",blockKind:"fork",blockPointer:"/fork_block_number"},HookrForwarder:{address:"0xe7863CC0E2Fb783b44c279aB159bcD812c2ceA1c",source:"Recorded chain and API observations",pointer:"/q1_liveness/contracts/HookrForwarder/address",block:"100371423",blockKind:"fork",blockPointer:"/fork_block_number"},HookrOwnedRootFactory:{address:"0xA6c2a401597301dFf57A59bC8F70a9622499f3ec",source:"Recorded chain and API observations",pointer:"/q1_liveness/contracts/HookrOwnedRootFactory/address",block:"100371423",blockKind:"fork",blockPointer:"/fork_block_number"},HookrRootFactory:{address:"0x21E438FaBE10770afb4407cF6b09d32369CBdCE4",source:"Recorded chain and API observations",pointer:"/q1_liveness/contracts/HookrRootFactory/address",block:"100371423",blockKind:"fork",blockPointer:"/fork_block_number"},HookrFamilyRouter:{address:"0x854f3Fa7AC342B244DF0d9A8c8F597b051aAE559",source:"Recorded chain and API observations",pointer:"/q1_liveness/contracts/HookrFamilyRouter/address",block:"100371423",blockKind:"fork",blockPointer:"/fork_block_number"},HookrFamilyLock:{address:"0xfAFEcE64099C1E791C4B46189c277f00c0c7e00b",source:"Recorded chain and API observations",pointer:"/q1_liveness/contracts/HookrFamilyLock/address",block:"100371423",blockKind:"fork",blockPointer:"/fork_block_number"},PoolManager:{address:"0x8366a39CC670B4001A1121B8F6A443A643e40951",source:"Recorded chain and API observations",pointer:"/q1_liveness/contracts/PoolManager/address",block:"100371423",blockKind:"fork",blockPointer:"/fork_block_number"},HOOKR_Token:{address:"0x18E674231A58c239Dc7DaeDcffE15Ec3A24cff5c",source:"Recorded chain and API observations",pointer:"/q1_liveness/contracts/HOOKR_Token/address",block:"100371423",blockKind:"fork",blockPointer:"/fork_block_number"}},merkl:{distributor:{address:"0x3Ef3D8bA38EBe18DB133cEc108f4D14CE00Dd9Ae",source:"Recorded chain and API observations",pointer:"/contracts/distributor/address",block:null,blockKind:"latest"},distributionCreator:{address:"0x8BB4C975Ff3c250e0ceEA271728547f3802B36Fd",source:"Recorded chain and API observations",pointer:"/contracts/distributionCreator/address",block:null,blockKind:"latest"},accessControlManager:{address:"0x5D36e13F076f34eE2Bf69fEAEa784887754465f8",source:"Recorded chain and API observations",pointer:"/contracts/accessControlManager/address",block:null,blockKind:"latest"}},poolsTrade:{liquidityLauncher:{address:"0x0000FffFBE8efE702c8703aE3477FF5dE3d319C0",source:"Recorded chain and API observations",pointer:"/contracts/liquidityLauncher/address",block:"100369897",blockKind:"census",blockPointer:"/chain/headAtFirstCensus"},instantLaunchStrategyFeesOn:{address:"0x7c48DDe3B447381F4d986334679b3Afc7F2D35C2",source:"Recorded chain and API observations",pointer:"/contracts/instantLaunchStrategyFeesOn/address",block:"100369897",blockKind:"census",blockPointer:"/chain/headAtFirstCensus"},instantLaunchStrategyFeesOff:{address:"0xC9566675b1Ea42861546f3c5B74Ace2c79c49572",source:"Recorded chain and API observations",pointer:"/contracts/instantLaunchStrategyFeesOff/address",block:"100369897",blockKind:"census",blockPointer:"/chain/headAtFirstCensus"},feeSplitterFeesOn:{address:"0x9411fa7F956f64aa7981AA27cB3bC6eC0415449C",source:"Recorded chain and API observations",pointer:"/contracts/feeSplitterFeesOn/address",block:"100369897",blockKind:"census",blockPointer:"/chain/headAtFirstCensus"},feeSplitterFeesOff:{address:"0x882Ae5e2095435A62Fd1BBDEfcb637f5CeAFc0ee",source:"Recorded chain and API observations",pointer:"/contracts/feeSplitterFeesOff/address",block:"100369897",blockKind:"census",blockPointer:"/chain/headAtFirstCensus"},uerc20BeneficiaryVault:{address:"0x26d2F7AcB07707034406a0dC458351Bb63C02553",source:"Recorded chain and API observations",pointer:"/contracts/uerc20BeneficiaryVault/address",block:"100369897",blockKind:"census",blockPointer:"/chain/headAtFirstCensus"},compoundingClaimRecipient:{address:"0xf585b5D728A8fdE743027307BF5F3556E3B9C58D",source:"Recorded chain and API observations",pointer:"/contracts/compoundingClaimRecipient/address",block:"100369897",blockKind:"census",blockPointer:"/chain/headAtFirstCensus"},universalRouterStrategyApp:{address:"0x1242c9439d589cAE85E121B1f79f2aF51e91DCEE",source:"Recorded chain and API observations",pointer:"/contracts/universalRouterStrategyApp/address",block:"100369897",blockKind:"census",blockPointer:"/chain/headAtFirstCensus"},uerc20Factory:{address:"0x000000e200088D55C39a11F609E5F667729ad49b",source:"Recorded chain and API observations",pointer:"/contracts/uerc20Factory/address",block:"100369897",blockKind:"census",blockPointer:"/chain/headAtFirstCensus"},universalRouter:{address:"0x8876789976dEcBfCbBbe364623C63652db8C0904",source:"Recorded chain and API observations",pointer:"/contracts/universalRouter/address",block:"100369897",blockKind:"census",blockPointer:"/chain/headAtFirstCensus"},v4PoolManager:{address:"0x8366a39CC670B4001A1121B8F6A443A643e40951",source:"Recorded chain and API observations",pointer:"/contracts/v4PoolManager/address",block:"100369897",blockKind:"census",blockPointer:"/chain/headAtFirstCensus"},v4PositionManager:{address:"0x58daec3116aae6D93017bAAea7749052E8a04fA7",source:"Recorded chain and API observations",pointer:"/contracts/v4PositionManager/address",block:"100369897",blockKind:"census",blockPointer:"/chain/headAtFirstCensus"},permit2:{address:"0x000000000022D473030F116dDEE9F6B43aC78BA3",source:"Recorded chain and API observations",pointer:"/contracts/permit2/address",block:"100369897",blockKind:"census",blockPointer:"/chain/headAtFirstCensus"},v4Quoter:{address:"0x8Dc178eFB8111BB0973Dd9d722ebeFF267c98F94",source:"Recorded chain and API observations",pointer:"/contracts/v4Quoter/address",block:"100369897",blockKind:"census",blockPointer:"/chain/headAtFirstCensus"},protocolFeeController:{address:"0x6d0009504D129CF5002Dba61D9Ae8575AA79314c",source:"Recorded chain and API observations",pointer:"/contracts/protocolFeeController/address",block:"100369897",blockKind:"census",blockPointer:"/chain/headAtFirstCensus"}},priors:{pool:{address:"0x281210097f0de7A8FB6F87310AF0f089c9C8DE21",source:"Recorded chain and API observations",pointer:"/contracts/pool/address",block:null,blockKind:"latest",blockPointer:"/recorded-calls/8"},lens:{address:"0x9d7035722bd42C551f82FEB9FDDd17453AEF3D9B",source:"Recorded chain and API observations",pointer:"/contracts/lens/address",block:null,blockKind:"latest",blockPointer:"/recorded-calls/8"},usdg:{address:"0x5fc5360D0400a0Fd4f2af552ADD042D716F1d168",source:"Recorded chain and API observations",pointer:"/contracts/usdg/address",block:null,blockKind:"latest",blockPointer:"/recorded-calls/8"},registry:{address:"0x8004A169FB4a3325136EB29fA0ceB6D2e539a432",source:"Recorded chain and API observations",pointer:"/contracts/registry/address",block:null,blockKind:"latest",blockPointer:"/recorded-calls/8"},stockVault:{address:"0xbEcd07EC689988e16b870C121756C4c2C8cb02B6",source:"Recorded chain and API observations",pointer:"/contracts/stockVault/address",block:null,blockKind:"latest",blockPointer:"/recorded-calls/8"}},morpho:{morpho_blue:{address:"0x9D53d5E3bd5E8d4Cbfa6DB1ca238AEA02E651010",source:"Recorded chain and API observations",pointer:"/addresses/morpho_blue/address",block:"100362239",blockKind:"read",blockPointer:"/chain/read_block"},adaptive_curve_irm:{address:"0x2BD3d5965B26B51814AC95127B2b80dD6CcC0fa1",source:"Recorded chain and API observations",pointer:"/addresses/adaptive_curve_irm/address",block:"100362239",blockKind:"read",blockPointer:"/chain/read_block"},USDG:{address:"0x5fc5360d0400a0fd4f2af552add042d716f1d168",source:"Recorded chain and API observations",pointer:"/addresses/USDG/address",block:"100362239",blockKind:"read",blockPointer:"/chain/read_block"},WETH:{address:"0x0Bd7D308f8E1639FAb988df18A8011f41EAcAD73",source:"Recorded chain and API observations",pointer:"/addresses/WETH/address",block:"100362239",blockKind:"read",blockPointer:"/chain/read_block"}},tickerSpring:{limitOrderHook:{address:"0xa31729621a2280C0Ff9Aaff5B3F357cFF1bEC040",source:"Recorded chain and API observations",pointer:"/liveness/contracts/limitOrderHook/address",block:null,blockKind:"range",blockPointer:"/chain/verifiedAtBlockRange"},gridStrategy:{address:"0xd597785134307B5324f469A9506066fAd4827730",source:"Recorded chain and API observations",pointer:"/liveness/contracts/gridStrategy/address",block:null,blockKind:"range",blockPointer:"/chain/verifiedAtBlockRange"},ladderStrategy:{address:"0x23c7906D8fa3ede698A00AbE66D28605A41b4177",source:"Recorded chain and API observations",pointer:"/liveness/contracts/ladderStrategy/address",block:null,blockKind:"range",blockPointer:"/chain/verifiedAtBlockRange"},basketZap:{address:"0xFca65c50325b83F8f1E07cD103c00De0cEa4Fb39",source:"Recorded chain and API observations",pointer:"/liveness/contracts/basketZap/address",block:null,blockKind:"range",blockPointer:"/chain/verifiedAtBlockRange"},usdg:{address:"0x5fc5360D0400a0Fd4f2af552ADD042D716F1d168",source:"Recorded chain and API observations",pointer:"/liveness/contracts/usdg/address",block:null,blockKind:"range",blockPointer:"/chain/verifiedAtBlockRange"}},orbio:{credit:{address:"0xe33322da1380e61e5ae5dfb21e7f62924c73004c",source:"Recorded chain and API observations",pointer:"/orbio/credit/address",block:"100313751",blockKind:"fork",caveat:"Fork anchor block recorded from chain observations; individual code reads were latest."},exchange:{address:"0x6951ffd32630b05e06f50062aea801625a58ebc0",source:"Recorded chain and API observations",pointer:"/orbio/exchange/address",block:"100313751",blockKind:"fork",caveat:"Fork anchor block recorded from chain observations; individual code reads were latest."}},vaults:{steakhouse:{address:"0xBeEff033F34C046626B8D0A041844C5d1A5409dd",source:"Recorded chain and API observations",pointer:"/vaults/eligible/0/address",block:"100320900",blockKind:"read",blockPointer:"/vaults/verifiedAtBlock",caveat:"Historical eligibility only; recheck asset and >=1e12 USDG totalAssets on every listing."},spark:{address:"0xde770c84fe66e063336b31737cfe9790f18c4087",source:"Recorded chain and API observations",pointer:"/vaults/eligible/1/address",block:"100320900",blockKind:"read",blockPointer:"/vaults/verifiedAtBlock",caveat:"Historical eligibility only; recheck asset and >=1e12 USDG totalAssets on every listing."},netnet:{address:"0x99347d5F70D3838763f6Bddcf80304C8aa953B57",source:"Recorded chain and API observations",pointer:"/vaults/eligible/2/address",block:"100320900",blockKind:"read",blockPointer:"/vaults/verifiedAtBlock",caveat:"Historical eligibility only; recheck asset and >=1e12 USDG totalAssets on every listing."},morphoV2Factory:{address:"0x0fbad98595b0186da120e41f77c102beb49f803c",source:"Recorded chain and API observations",pointer:"/vaults/morphoVaultV2Factory",block:null,blockKind:"latest"},longbowCore:{address:"0x026df18fbd2A7639089D0a16293383ec687A5Ca1",source:"Recorded chain and API observations",pointer:"/projects/0/deployments/0/address",block:"100355967",blockKind:"read",blockPointer:"/projects/0/deployments/0/read_block",caveat:"Below USDG threshold or wrong asset at measurement; deployment context only."},longbowFrontier:{address:"0x65dC90cd3a0BCDE967c8AE6019d6790b616E78F7",source:"Recorded chain and API observations",pointer:"/projects/0/deployments/1/address",block:"100355967",blockKind:"read",blockPointer:"/projects/0/deployments/1/read_block",caveat:"Below USDG threshold or wrong asset at measurement; deployment context only."},longbowEth:{address:"0xe129D4Cb2d454C4ACFAc909d1576453A9b835f61",source:"Recorded chain and API observations",pointer:"/projects/0/deployments/2/address",block:"100355967",blockKind:"read",blockPointer:"/projects/0/deployments/2/read_block",caveat:"Below USDG threshold or wrong asset at measurement; deployment context only."},beefyTestedLpVault:{address:"0xC447184BF75a84Ace3087515CCFFb54937838FC8",source:"Recorded chain and API observations",pointer:"/projects/1/tested_lp_vault",block:"100357163",blockKind:"fork",blockPointer:"/fork_environment/fork_block",caveat:"LP adapter only; not an eligible USDG ERC-4626 vault. Other per-vault/strategy addresses remain dynamic."},groveAlm:{address:"0xBEEff039907422219Fb367e525954DDC092854d9",source:"Recorded chain and API observations",pointer:"/projects/2/address",block:"100355967",blockKind:"read",blockPointer:"/raw_reads/longbow_grove_control/4/block",caveat:"Public Grove x Steakhouse USDG ERC-4626 vault; below $1M USDG threshold at measurement."}},identity:{identityRegistry:{address:"0x8004A169FB4a3325136EB29fA0ceB6D2e539a432",source:"Recorded chain and API observations",pointer:"/erc8004/identityRegistry",block:null,blockKind:"latest"},reputationRegistry:{address:"0x8004BAa17C55a88189AE136b182e5fdA19dE9b63",source:"Recorded chain and API observations",pointer:"/erc8004/reputationRegistry",block:null,blockKind:"latest"},validationRegistry:{address:"0x8004Cc8439f36fd5F9F049D9fF86523Df6dAAB58",source:"Recorded chain and API observations",pointer:"/erc8004/validationRegistry",block:null,blockKind:"latest"}},meridian:{PredictionMarketEscrow:{address:"0xE4cea507b19796362A5a28Fa7cb705A3F1866213",source:"Recorded chain and API observations",pointer:"/addresses/PredictionMarketEscrow/address",block:null,blockKind:"latest",caveat:"Code census not individually block-pinned; fork execution at 100370553 is separate."},SecondaryMarketEscrow:{address:"0x7E318ef37c3bC3d0cBA205Af2D1Fc9F9CeFEB5df",source:"Recorded chain and API observations",pointer:"/addresses/SecondaryMarketEscrow/address",block:null,blockKind:"latest",caveat:"Code census not individually block-pinned; fork execution at 100370553 is separate."},MeridianRobinhoodVault:{address:"0x79cB914f3F336426E89FaB55A9488AB25770552D",source:"Recorded chain and API observations",pointer:"/addresses/MeridianRobinhoodVault/address",block:null,blockKind:"latest",caveat:"Code census not individually block-pinned; fork execution at 100370553 is separate."},CollateralToken_USDe:{address:"0x5d3a1Ff2b6BAb83b63cd9AD0787074081a52ef34",source:"Recorded chain and API observations",pointer:"/addresses/CollateralToken_USDe/address",block:null,blockKind:"latest",caveat:"Code census not individually block-pinned; fork execution at 100370553 is separate."}},relay:{depository:{address:"0x4cd00e387622c35bddb9b4c962c136462338bc31",source:"Recorded chain and API observations",pointer:"/addresses/depository_4663",block:"100355691",blockKind:"fork",blockPointer:"/fork/fork_block",caveat:"Only quoted depositNative path fork-tested; bridge settlement is external and unmeasured."}},lighter:{settlement:{address:"0x94bAB9693Ba2f6358507eFfcbd372b0660AFfF9d",source:"Recorded chain and API observations",pointer:"/contracts_on_4663/lighter_rh_settlement_proxy/address",block:"100355574",blockKind:"read",blockPointer:"/block_number",caveat:"Settlement/custody metadata only; funding tool uses HTTP, not this contract."}},heyResearch:{heyToken:{address:"0xB33eb16782776b4D738c0Fd643577cb0284Db610",source:"Recorded chain and API observations",pointer:"/addresses/heyToken/address",block:null,blockKind:"unanchored",caveat:"API-only tools; source has time range but no block anchor."}}},46630:{deployments:{test_USDG:{address:"0x7E955252E15c84f5768B83c41a71F9eba181802F",source:"Recorded chain and API observations",pointer:"/code_probes/0/address",block:"144387817",blockKind:"read",blockPointer:"/code_probes/0/block",caveat:"Code presence alone does not establish a complete testnet integration."},test_WETH:{address:"0x7943e237c7F95DA44E0301572D358911207852Fa",source:"Recorded chain and API observations",pointer:"/code_probes/1/address",block:"144387817",blockKind:"read",blockPointer:"/code_probes/1/block",caveat:"Code presence alone does not establish a complete testnet integration."},test_gateway:{address:"0x77bF00A6A90c600f214b34BAFBB7918c0cF113A8",source:"Recorded chain and API observations",pointer:"/code_probes/2/address",block:"144387817",blockKind:"read",blockPointer:"/code_probes/2/block",caveat:"Code presence alone does not establish a complete testnet integration."},test_identity:{address:"0x8004A818BFB912233c491871b3d84c89A494BD9e",source:"Recorded chain and API observations",pointer:"/code_probes/3/address",block:"144387817",blockKind:"read",blockPointer:"/code_probes/3/block",caveat:"Code presence alone does not establish a complete testnet integration."},test_USDG_implementation:{address:"0xf0863d7a29a55d0c4263c11bfac754312ff078df",source:"Recorded chain and API observations",pointer:"/code_probes/15/address",block:"latest",blockKind:"latest",blockPointer:"/code_probes/15/block",caveat:"Code presence alone does not establish a complete testnet integration."},facet_0xef55bec6:{address:"0x08f560a85db40a7d4ac49b4F44f1D38e5B8aB811",source:"Recorded chain and API observations",pointer:"/code_probes/17/address",block:"latest",blockKind:"latest",blockPointer:"/code_probes/17/block",caveat:"Code presence alone does not establish a complete testnet integration."},Uniswap_v4_production_poolmanager:{address:"0x8366a39CC670B4001A1121B8F6A443A643e40951",source:"Recorded chain and API observations",pointer:"/code_probes/22/address",block:"144389821",blockKind:"read",blockPointer:"/code_probes/22/block",caveat:"Code presence alone does not establish a complete testnet integration."},Uniswap_v3_community_test_candidate:{address:"0xFECCB63CD759d768538458Ea56F47eA8004323c1",source:"Recorded chain and API observations",pointer:"/code_probes/50/address",block:"144389821",blockKind:"read",blockPointer:"/code_probes/50/block",caveat:"Community v3 is not canonically endorsed; v4 native stack is incomplete."},Uniswap_v4_PositionManager:{address:"0x58daec3116aae6D93017bAAea7749052E8a04fA7",source:"Recorded chain and API observations",pointer:"/code_probes/52/address",block:"144390120",blockKind:"read",blockPointer:"/code_probes/52/block",caveat:"Code presence alone does not establish a complete testnet integration."},Uniswap_v4_Quoter:{address:"0x8Dc178eFB8111BB0973Dd9d722ebeFF267c98F94",source:"Recorded chain and API observations",pointer:"/code_probes/54/address",block:"144390120",blockKind:"read",blockPointer:"/code_probes/54/block",caveat:"Code presence alone does not establish a complete testnet integration."},Uniswap_v4_StateView:{address:"0xF3334192D15450CdD385c8B70e03f9A6bD9E673b",source:"Recorded chain and API observations",pointer:"/code_probes/56/address",block:"144390120",blockKind:"read",blockPointer:"/code_probes/56/block",caveat:"Code presence alone does not establish a complete testnet integration."},test_Permit2:{address:"0x000000000022D473030F116dDEE9F6B43aC78BA3",source:"Recorded chain and API observations",pointer:"/code_probes/77/address",block:"latest",blockKind:"latest",blockPointer:"/code_probes/77/block",caveat:"Code presence alone does not establish a complete testnet integration."},v3_test_WETH9:{address:"0x37E402B8081eFcE1D82A09a066512278006e4691",source:"Recorded chain and API observations",pointer:"/code_probes/78/address",block:"latest",blockKind:"latest",blockPointer:"/code_probes/78/block",caveat:"Community v3 is not canonically endorsed; v4 native stack is incomplete."}}}},t=o[4663].tokens.USDG.address,i=o[46630].deployments.test_USDG.address,m=o[4663].pons.factory.address,_=o[4663].pons.memeHook.address,R=o[4663].pons.poolManager.address,C=o[4663].pons.feeEscrow.address,E=o[4663].oracle.ethUsdgPool.address,b={name:"Global Dollar",version:"1",chainId:d,verifyingContract:t},l={name:"Global Dollar",version:"1",chainId:r,verifyingContract:i},c={mainnet:{chainId:d,usdg:t,usdgDomain:b,weth:o[d].tokens.WETH.address,identityRegistry:o[d].identity.identityRegistry.address},testnet:{chainId:r,usdg:i,usdgDomain:l,weth:o[r].deployments.test_WETH.address,identityRegistry:o[r].deployments.test_identity.address}};function F(e="mainnet"){if(e!=="mainnet"&&e!=="testnet")throw new a("Set OAK_NETWORK to mainnet or testnet.");return e}function B(e,s){if(s.toLowerCase()!==c[e].usdg.toLowerCase())throw new a(`USDG does not match the pinned ${e} deployment on chain ${c[e].chainId}.`)}async function D(e,s){let n=await s.getChainId();if(n!==c[e].chainId)throw new a(`RPC chain ${n} does not match OAK_NETWORK ${e} (chain ${c[e].chainId}).`)}var y={4663:{kyberswap:"0xe21fd0e9",velora:"0xe3ead59e"}},k={4663:{kyberswap:{address:"0x8F10B468b06c6FD214B65F87778827F7D113f996",source:"https://raw.githubusercontent.com/KyberNetwork/kyberswap-documentation/main/developer-guide/aggregator-api/contracts.md",pointer:"Robinhood / AggregationExecutorProxy",block:"100861304",blockKind:"read",caveat:"Corroborated by successful transaction 0x4a2474960f846f412d4d1cbdebb86727c81f92a0859ad743425fdc544d8973e8; approveTarget is zero."},velora:{address:"0x006d0e0d006109f0020f3050000a713780b7b000",source:"https://rpc.mainnet.chain.robinhood.com",pointer:"eth_getTransactionByHash / 0x70bc411f8427d622798ff82e6088d6cf3c011ae04b063c731664215f982ecfba / input / executor",block:"100861280",blockKind:"read",caveat:"Observed v6.2 executor, corroborated by six fresh Velora builds on 2026-10-29; no vendor executor list for 4663. Inner route targets vary; this pin does not authenticate them."}}},g=BigInt("0x45a6e007c874ffc6321d6fb90eac272dd6864bfa")<<96n|1n<<92n|1n,I=[k[4663].velora.address,"0x082738d007001080a00099a000004f3006152085"],K=[{chainId:4663,proxy:"0x888888888889758f76e7103c6cbf23abbf58f946",proxyCodeHash:"0xbd969810d4bcf7417666e8692b6c73077a44516db4c4f62c35f70c83ff3c205f",implementation:"0x1266261289d815650a6bcdb308766be36efa8149",codeHash:"0xa38c335d383c1ac060df1f3f4687917a6da673bbf6e37a3b5241b49760194d6d"},{chainId:4663,proxy:"0x888888888889758f76e7103c6cbf23abbf58f946",proxyCodeHash:"0xbd969810d4bcf7417666e8692b6c73077a44516db4c4f62c35f70c83ff3c205f",implementation:"0x3e2db9ed1693964d599dfeba87181a36fffc8ed8",codeHash:"0xbc971642d398135438c4d2cf9f2229ffe5f8c321584673c4a2535b6df47c01ef"},{chainId:4663,proxy:"0x888888888889758f76e7103c6cbf23abbf58f946",proxyCodeHash:"0xbd969810d4bcf7417666e8692b6c73077a44516db4c4f62c35f70c83ff3c205f",implementation:"0x664aafe2bd40e581aa4f8c5a594c9ee168b92d4f",codeHash:"0xda9b31df9b098e520e7f6a5b94356920d32a66c736c8788cf2af3035781babc9"},{chainId:4663,proxy:"0x888888888889758f76e7103c6cbf23abbf58f946",proxyCodeHash:"0xbd969810d4bcf7417666e8692b6c73077a44516db4c4f62c35f70c83ff3c205f",implementation:"0x9d215290f43366bbceff40a79fbac9dd23325379",codeHash:"0x8d15c4f2b99c6b24daa0f2383c0cfd998879b89b36e9359b18345fc9e7686333"},{chainId:4663,proxy:"0x888888888889758f76e7103c6cbf23abbf58f946",proxyCodeHash:"0xbd969810d4bcf7417666e8692b6c73077a44516db4c4f62c35f70c83ff3c205f",implementation:"0xa685fc7cef9eb4c1e8337f11019aeba111e48c31",codeHash:"0xd5cb6ac468476cda0e4069cb53097412c45dc4fcc23d61db05426e8047aa7a9b"},{chainId:4663,proxy:"0x888888888889758f76e7103c6cbf23abbf58f946",proxyCodeHash:"0xbd969810d4bcf7417666e8692b6c73077a44516db4c4f62c35f70c83ff3c205f",implementation:"0xf475964cb5235641f23e99c8d7828996c4289ac4",codeHash:"0x399cd0fb5f0a36db2d3221fab8d04c78c88239a128c9463f6c27aa2120a1f6ff"}],H=[{chainId:4663,entry:"0x433e21dc2bf027910b1635653c2eb630bc7dad43",proxy:"0x0a48ea27489881d84288776d1e0588d633945ad6",proxyCodeHash:"0xd460046af3bffad2aa81503173711d1b70a88a56155b8d0cd0ca53a3fee23078",implementation:"0xcf319d0021dfde8c676a54f8a36ead8fd2e48984",codeHash:"0x503caa96fd60bb34d6c4e290019d4f931bc36340b8e07b669f0e99059055d092"},{chainId:4663,entry:"0x433e21dc2bf027910b1635653c2eb630bc7dad43",proxy:"0x433e21dc2bf027910b1635653c2eb630bc7dad43",proxyCodeHash:"0xd460046af3bffad2aa81503173711d1b70a88a56155b8d0cd0ca53a3fee23078",implementation:"0x50fa4b08d75586603d678fadbeabf1f4d8d2113b",codeHash:"0xa157bf9c94b218a72d8ebe2c4321817d5d53a58e81553928c2a8cbfaf9edb628"},{chainId:4663,entry:"0x433e21dc2bf027910b1635653c2eb630bc7dad43",proxy:"0x433e21dc2bf027910b1635653c2eb630bc7dad43",proxyCodeHash:"0xd460046af3bffad2aa81503173711d1b70a88a56155b8d0cd0ca53a3fee23078",implementation:"0xb8ea4704fe518c5ccbf429fc6db1b2c4c4ca7193",codeHash:"0x5577c0b6a060fce1ceffb8ef0c80305bf8391d7af789742c8d1f2d00457aa955"},{chainId:4663,entry:"0x433e21dc2bf027910b1635653c2eb630bc7dad43",proxy:"0x5685f0b21126d87f60810780ce23c43ea45cb61e",proxyCodeHash:"0xd8500e5bf9af5e118e73c61f9c78ad630740b50d86cf38aaa26543a239cb1db2",implementation:"0xb20e7d58987b2b606d242f220cdb8cd9c676b526",codeHash:"0xbccc9c0d786a46f9d9810fb887905cc89ba453c5d2a1d9846e2267f71bfa877d"},{chainId:4663,entry:"0x433e21dc2bf027910b1635653c2eb630bc7dad43",proxy:"0xad9b5c0ea95cf998c1a31aaa8ac7a24de94bee69",proxyCodeHash:"0xd8500e5bf9af5e118e73c61f9c78ad630740b50d86cf38aaa26543a239cb1db2",implementation:"0x0a75d1a1800e98fb0df13cdb4ecee3e4ea1685ca",codeHash:"0xaac5c7ab1c270883872ca5817bc80aca7cdce1ad8500acbe02e2943465fe9d36"},{chainId:4663,entry:"0x433e21dc2bf027910b1635653c2eb630bc7dad43",proxy:"0x5fc5360d0400a0fd4f2af552add042d716f1d168",proxyCodeHash:"0x864cc9ad53b338b82da1f7cab85ab0b3d5c8861acb422b6fec63cf36234f36a6",implementation:"0x68184c449e1a8f34fa18d289737129fd27b66f8f",codeHash:"0x3a551ac5c744af57e68a1d1431ac403c0f516ffd7d224a75746aee11fc4f3baf"}];export{p as a,d as b,r as c,u as d,h as e,A as f,v as g,P as h,x as i,o as j,t as k,i as l,m,_ as n,R as o,C as p,E as q,b as r,l as s,c as t,F as u,B as v,D as w,y as x,k as y,g as z,I as A,K as B,H as C};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as
|
|
1
|
+
import{a as k}from"./6OCLWSMZ.js";import{a as E}from"./QMEGAKLI.js";import{c as C}from"./DMDOSHV7.js";import{b as I}from"./Q7L3BX6U.js";import{c as $}from"./XBNZ7GTY.js";import{g as w}from"./RUTSEGGD.js";import{a as b}from"./25C4DTVA.js";import{b as U}from"./SPJCSEKP.js";import{a as h}from"./43LI5NKJ.js";import{a as G}from"./66F5ZH34.js";import{g as P,n as y}from"./NWNYJ26T.js";import{b as s,e as T,j as S}from"./TI727O2H.js";import{a as m}from"./XSD5NL7J.js";import{encodeFunctionData as v,parseAbi as j}from"viem";var a=S[s].vaults.netnet.address,d={address:S[s].tokens.USDG.address,chainId:s,decimals:T,symbol:"USDG"},N={address:a,chainId:s,decimals:18,symbol:"nnUSDG"},o=j(["function asset() view returns (address)","function decimals() view returns (uint8)","function totalAssets() view returns (uint256)","function balanceOf(address owner) view returns (uint256)","function convertToAssets(uint256 shares) view returns (uint256)","function deposit(uint256 assets,address receiver) returns (uint256 shares)","function withdraw(uint256 assets,address receiver,address owner) returns (uint256 shares)","function redeem(uint256 shares,address receiver,address owner) returns (uint256 assets)"]),_=G("Positive USDG amount in integer base units (6 decimals)."),O="Preview amounts are estimates; these ERC-4626 calls have no on-chain minimum output argument. No transaction was sent.";function M(e){return y(e,"Amount must be positive and fit in uint256.",{notString:"Provide an integer amount string in base units.",positive:!0})}function g(e,f){if(Object.keys(e).some(l=>!f.includes(l)))throw new m("Unsupported NetNet argument.")}var q=e=>{async function f(t){try{return await t()}catch(n){throw new m(e.plainError(n))}}async function l(){let t=e.clientFor(s);if(await t.getChainId()!==s)throw new m("NetNet requires chain 4663.");let[n,r]=await Promise.all([t.readContract({address:a,abi:o,functionName:"asset"}),t.readContract({address:a,abi:o,functionName:"decimals"})]);if(!P(n,d.address))throw new m("NetNet does not report the pinned USDG asset.");if(r!==N.decimals)throw new m("NetNet share decimals do not match the pinned metadata.");return t}async function D(t,n,r){let i=await e.preview(t,n),p=i.changes.map(({token:c,amount:u})=>{let A=u.startsWith("-");return`${A?"-":"+"}${e.formatAmount(A?u.slice(1):u,c.decimals)} ${c.symbol}`}).join(", ");return{txs:t,preview:i,summary:`${r} ${i.summary} ${p?`Estimated changes: ${p}. `:""}${O}`}}async function R(t){return f(async()=>{h(t);let n=await l(),r=await n.readContract({address:a,abi:o,functionName:"balanceOf",args:[t]});if(r===0n)return[];let i=await n.readContract({address:a,abi:o,functionName:"convertToAssets",args:[r]});return[{module:"netnet",id:`${s}:${a}`,chainId:s,assets:[{token:{...d},amount:i.toString()}],description:`${e.formatAmount(r.toString(),N.decimals)} nnUSDG shares in NetNet Credit (${a}); underlying USDG is an estimate, not a liquidity guarantee.`}]})}return{positions:R,tools:[{name:"netnet_list",inputSchema:{type:"object",properties:{},additionalProperties:!1},execute:t=>f(async()=>{g(t,[]);let r=await(await l()).readContract({address:a,abi:o,functionName:"totalAssets"});return[{address:a,name:"NetNet Credit",chainId:s,asset:{...d},shares:{...N},totalAssets:{token:{...d},amount:r.toString()}}]})},{name:"netnet_deposit",inputSchema:{type:"object",description:"Deposit USDG in base units (1 USDG = 1000000) for nnUSDG vault shares. Exit with netnet_withdraw; check positions after confirmation.",properties:{amount:_},required:["amount"],additionalProperties:!1},execute:(t,n)=>f(async()=>{g(t,["amount"]),h(n);let r=M(t.amount);await l();let i=[e.approval(d.address,a,r.toString(),s),e.unsignedTx({to:a,data:v({abi:o,functionName:"deposit",args:[r,n]}),value:"0",chainId:s,description:`Deposit ${e.formatAmount(r.toString(),d.decimals)} USDG into NetNet Credit.`})];return D(i,n,"Approve the exact USDG amount, then deposit into NetNet Credit.")})},{name:"netnet_withdraw",inputSchema:{type:"object",description:"Withdraw USDG in 6-decimal base units, or amount max to redeem every nnUSDG share for USDG. Check positions after confirmation.",properties:{amount:{description:'USDG to withdraw in base units (USDG has 6 decimals; "1000000" = 1 USDG), or "max" to redeem every nnUSDG share.',anyOf:[_,{const:"max",description:"Redeem the fresh full nnUSDG share balance."}]}},required:["amount"],additionalProperties:!1},execute:(t,n)=>f(async()=>{g(t,["amount"]),h(n);let r=t.amount==="max"?void 0:M(t.amount),i=await l(),p,c;if(r===void 0){let u=await i.readContract({address:a,abi:o,functionName:"balanceOf",args:[n]});if(u===0n)throw new m("This wallet has no NetNet shares to redeem.");p=v({abi:o,functionName:"redeem",args:[u,n,n]}),c=`Redeem all ${e.formatAmount(u.toString(),N.decimals)} nnUSDG shares for USDG.`}else p=v({abi:o,functionName:"withdraw",args:[r,n,n]}),c=`Withdraw ${e.formatAmount(r.toString(),d.decimals)} USDG from NetNet Credit (unmeasured on the recorded fork; full exit uses amount "max" redeem).`;return D([e.unsignedTx({to:a,data:p,value:"0",chainId:s,description:c})],n,c)})}]}};function ie(e){return U("netnet",[q(e),w(e),$(e),C(e),k(e),E(e),I(e),{tools:b(e,"netnet",[{vault:a,asset:d}])}])}export{q as a,ie as b};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{b as ne}from"./SZ466I5X.js";import{a as ee,b as re,d as ie,e as R,f as X,g as te}from"./O7HCEPQY.js";import{a as z,c as f,d as L,f as t,g,h as N,i as S,j as G,k as w,l as U,m as k,n as Z,p as A,q as O,s as W,t as V}from"./46KWRAYK.js";import{b as M}from"./66F5ZH34.js";import{c as C,h as I}from"./NWNYJ26T.js";import{a as Y}from"./XSD5NL7J.js";import{randomInt as le,randomUUID as he}from"node:crypto";import{isDeepStrictEqual as K}from"node:util";import{encodeFunctionData as ae,erc20Abi as se,pad as qe,recoverTypedDataAddress as fe,zeroHash as ge}from"viem";var B={funding:{path:"/v1/funding",parameters:[{name:"order",in:"query",required:!1,schema:{type:"string",enum:["asc","desc"]}},{name:"limit",in:"query",required:!1,schema:{type:"integer"}},{name:"cursor",in:"query",required:!1,schema:{type:"string"}},{name:"productId",in:"query",required:!0,schema:{type:"string",format:"uuid"}},{name:"startTime",in:"query",required:!0,schema:{type:"number"}},{name:"endTime",in:"query",required:!0,schema:{type:"number"}},{name:"orderBy",in:"query",required:!1,schema:{type:"string",enum:["chargedAt"]}}]},"funding/projected-rate":{path:"/v1/funding/projected-rate",parameters:[{name:"productIds",in:"query",required:!0,schema:{type:"array",items:{type:"string",format:"uuid"},maxItems:50,minItems:1,uniqueItems:!0}}]},"linked-signer":{path:"/v1/linked-signer",parameters:[{name:"order",in:"query",required:!1,schema:{type:"string",enum:["asc","desc"]}},{name:"limit",in:"query",required:!1,schema:{type:"integer"}},{name:"cursor",in:"query",required:!1,schema:{type:"string"}},{name:"subaccountId",in:"query",required:!0,schema:{type:"string",format:"uuid"}},{name:"statuses",in:"query",required:!1,schema:{type:"array",items:{type:"string",enum:["PENDING","ACTIVE","PENDING_REVOKE","REVOKED","REJECTED"]}}},{name:"orderBy",in:"query",required:!1,schema:{type:"string",enum:["createdAt","expiresAt"]}}]},"linked-signer/address/{address}":{path:"/v1/linked-signer/address/{address}",parameters:[{name:"address",in:"path",required:!0,schema:{type:"string",format:"hex"}}]},"linked-signer/quota":{path:"/v1/linked-signer/quota",parameters:[{name:"subaccountId",in:"query",required:!0,schema:{type:"string",format:"uuid"}}]},"linked-signer/{id}":{path:"/v1/linked-signer/{id}",parameters:[{name:"id",in:"path",required:!0,schema:{type:"string"}}]},maintenance:{path:"/v1/maintenance",parameters:[]},order:{path:"/v1/order",parameters:[{name:"order",in:"query",required:!1,schema:{type:"string",enum:["asc","desc"]}},{name:"limit",in:"query",required:!1,schema:{type:"integer"}},{name:"cursor",in:"query",required:!1,schema:{type:"string"}},{name:"subaccountId",in:"query",required:!0,schema:{type:"string",format:"uuid"}},{name:"clientOrderId",in:"query",required:!1,schema:{type:"string"}},{name:"productIds",in:"query",required:!1,schema:{type:"array",items:{type:"string",format:"uuid"},minItems:1,uniqueItems:!0}},{name:"createdAfter",in:"query",required:!1,schema:{type:"integer"}},{name:"createdBefore",in:"query",required:!1,schema:{type:"integer"}},{name:"side",in:"query",required:!1,schema:{type:"integer",enum:[0,1],"x-enum-varnames":["BUY","SELL"]}},{name:"close",in:"query",required:!1,schema:{type:"boolean"}},{name:"stopTypes",in:"query",required:!1,schema:{type:"array",items:{type:"integer",enum:[0,1],"x-enum-varnames":["GAIN","LOSS"]}}},{name:"isWorking",in:"query",required:!1,schema:{type:"boolean",enum:[!0]}},{name:"isPending",in:"query",required:!1,schema:{type:"boolean",enum:[!0]}},{name:"orderBy",in:"query",required:!1,schema:{type:"string",enum:["createdAt"]}}]},"order/fill":{path:"/v1/order/fill",parameters:[{name:"order",in:"query",required:!1,schema:{type:"string",enum:["asc","desc"]}},{name:"limit",in:"query",required:!1,schema:{type:"integer"}},{name:"cursor",in:"query",required:!1,schema:{type:"string"}},{name:"subaccountId",in:"query",required:!0,schema:{type:"string",format:"uuid"}},{name:"productIds",in:"query",required:!1,schema:{type:"array",items:{type:"string",format:"uuid"},minItems:1,uniqueItems:!0}},{name:"createdAfter",in:"query",required:!1,schema:{type:"integer"}},{name:"createdBefore",in:"query",required:!1,schema:{type:"integer"}},{name:"side",in:"query",required:!1,schema:{type:"integer",enum:[0,1],"x-enum-varnames":["BUY","SELL"]}},{name:"orderBy",in:"query",required:!1,schema:{type:"string",enum:["productId","filled","price","createdAt"]}},{name:"includeSelfTrades",in:"query",required:!1,schema:{type:"boolean"}},{name:"expandSelfTrades",in:"query",required:!1,schema:{type:"boolean"}}]},"order/trade":{path:"/v1/order/trade",parameters:[{name:"order",in:"query",required:!1,schema:{type:"string",enum:["asc","desc"]}},{name:"limit",in:"query",required:!1,schema:{type:"integer"}},{name:"cursor",in:"query",required:!1,schema:{type:"string"}},{name:"productId",in:"query",required:!0,schema:{type:"string",format:"uuid"}},{name:"orderBy",in:"query",required:!1,schema:{type:"string",enum:["createdAt"]}}]},"order/{id}":{path:"/v1/order/{id}",parameters:[{name:"id",in:"path",required:!0,schema:{type:"string"}}]},"order/{id}/group":{path:"/v1/order/{id}/group",parameters:[{name:"id",in:"path",required:!0,schema:{type:"string"}},{name:"order",in:"query",required:!1,schema:{type:"string",enum:["asc","desc"]}},{name:"limit",in:"query",required:!1,schema:{type:"integer"}},{name:"cursor",in:"query",required:!1,schema:{type:"string"}},{name:"orderBy",in:"query",required:!1,schema:{type:"string",enum:["createdAt"]}}]},points:{path:"/v1/points",parameters:[{name:"address",in:"query",required:!0,schema:{type:"string",format:"hex"}},{name:"season",in:"query",required:!0,schema:{type:"integer",maximum:10,minimum:0}},{name:"epoch",in:"query",required:!0,schema:{type:"integer",maximum:256,minimum:1}}]},"points/summary":{path:"/v1/points/summary",parameters:[{name:"address",in:"query",required:!0,schema:{type:"string",format:"hex"}}]},"points/total":{path:"/v1/points/total",parameters:[{name:"season",in:"query",required:!1,schema:{type:"integer",maximum:10,minimum:0}},{name:"epoch",in:"query",required:!1,schema:{type:"integer",maximum:256,minimum:1}}]},position:{path:"/v1/position",parameters:[{name:"order",in:"query",required:!1,schema:{type:"string",enum:["asc","desc"]}},{name:"limit",in:"query",required:!1,schema:{type:"integer"}},{name:"cursor",in:"query",required:!1,schema:{type:"string"}},{name:"subaccountId",in:"query",required:!0,schema:{type:"string",format:"uuid"}},{name:"productIds",in:"query",required:!1,schema:{type:"array",items:{type:"string",format:"uuid"},minItems:1,uniqueItems:!0}},{name:"open",in:"query",required:!1,schema:{type:"boolean"}},{name:"orderBy",in:"query",required:!1,schema:{type:"string",enum:["size","createdAt","updatedAt","realizedPnl"]}},{name:"createdAfter",in:"query",required:!1,schema:{type:"integer"}},{name:"createdBefore",in:"query",required:!1,schema:{type:"integer"}},{name:"side",in:"query",required:!1,schema:{type:"integer",enum:[0,1],"x-enum-varnames":["BUY","SELL"]}},{name:"isLiquidated",in:"query",required:!1,schema:{type:"boolean"}}]},"position-fee":{path:"/v1/position-fee",parameters:[{name:"order",in:"query",required:!1,schema:{type:"string",enum:["asc","desc"]}},{name:"limit",in:"query",required:!1,schema:{type:"integer"}},{name:"cursor",in:"query",required:!1,schema:{type:"string"}},{name:"productId",in:"query",required:!0,schema:{type:"string",format:"uuid"}},{name:"startTime",in:"query",required:!0,schema:{type:"number"}},{name:"endTime",in:"query",required:!0,schema:{type:"number"}},{name:"orderBy",in:"query",required:!1,schema:{type:"string",enum:["chargedAt"]}}]},"position-fee/projected-rate":{path:"/v1/position-fee/projected-rate",parameters:[{name:"productIds",in:"query",required:!0,schema:{type:"array",items:{type:"string",format:"uuid"},maxItems:50,minItems:1,uniqueItems:!0}}]},"position/active":{path:"/v1/position/active",parameters:[{name:"subaccountId",in:"query",required:!0,schema:{type:"string",format:"uuid"}},{name:"productId",in:"query",required:!0,schema:{type:"string",format:"uuid"}}]},"position/fill":{path:"/v1/position/fill",parameters:[{name:"order",in:"query",required:!1,schema:{type:"string",enum:["asc","desc"]}},{name:"limit",in:"query",required:!1,schema:{type:"integer"}},{name:"cursor",in:"query",required:!1,schema:{type:"string"}},{name:"positionId",in:"query",required:!0,schema:{type:"string",format:"uuid"}},{name:"orderBy",in:"query",required:!1,schema:{type:"string",enum:["price","filled","createdAt"]}}]},"position/liquidation":{path:"/v1/position/liquidation",parameters:[{name:"order",in:"query",required:!1,schema:{type:"string",enum:["desc"]}},{name:"limit",in:"query",required:!1,schema:{type:"integer"}},{name:"cursor",in:"query",required:!1,schema:{type:"string"}},{name:"orderBy",in:"query",required:!1,schema:{type:"string",enum:["createdAt"]}}]},"position/{id}":{path:"/v1/position/{id}",parameters:[{name:"id",in:"path",required:!0,schema:{type:"string"}}]},product:{path:"/v1/product",parameters:[{name:"order",in:"query",required:!1,schema:{type:"string",enum:["asc","desc"]}},{name:"limit",in:"query",required:!1,schema:{type:"integer"}},{name:"cursor",in:"query",required:!1,schema:{type:"string"}},{name:"orderBy",in:"query",required:!1,schema:{type:"string",enum:["createdAt","openInterest","baseTokenName","quoteTokenName"]}},{name:"ticker",in:"query",required:!1,schema:{type:"string",pattern:"^[a-zA-Z0-9]{1,32}$"}}]},"product/mark-price-gap":{path:"/v1/product/mark-price-gap",parameters:[{name:"order",in:"query",required:!1,schema:{type:"string",enum:["asc","desc"]}},{name:"limit",in:"query",required:!1,schema:{type:"integer"}},{name:"cursor",in:"query",required:!1,schema:{type:"string"}},{name:"productIds",in:"query",required:!0,schema:{type:"array",items:{type:"string",format:"uuid"},maxItems:50,minItems:1,uniqueItems:!0}},{name:"startTime",in:"query",required:!0,schema:{type:"number"}},{name:"endTime",in:"query",required:!0,schema:{type:"number"}},{name:"orderBy",in:"query",required:!1,schema:{type:"string",enum:["startTime"]}}]},"product/market-liquidity":{path:"/v1/product/market-liquidity",parameters:[{name:"productId",in:"query",required:!0,schema:{type:"string",format:"uuid"}}]},"product/market-price":{path:"/v1/product/market-price",parameters:[{name:"productIds",in:"query",required:!0,schema:{type:"array",items:{type:"string",format:"uuid"},maxItems:50,minItems:1,uniqueItems:!0}}]},"product/{id}":{path:"/v1/product/{id}",parameters:[{name:"id",in:"path",required:!0,schema:{type:"string"}}]},"rate-limit/config":{path:"/v1/rate-limit/config",parameters:[]},"rpc/config":{path:"/v1/rpc/config",parameters:[]},subaccount:{path:"/v1/subaccount",parameters:[{name:"order",in:"query",required:!1,schema:{type:"string",enum:["asc","desc"]}},{name:"limit",in:"query",required:!1,schema:{type:"integer"}},{name:"cursor",in:"query",required:!1,schema:{type:"string"}},{name:"name",in:"query",required:!1,schema:{type:"string",format:"hex"}},{name:"sender",in:"query",required:!0,schema:{type:"string",format:"hex"}},{name:"orderBy",in:"query",required:!1,schema:{type:"string",enum:["createdAt","name"]}}]},"subaccount/all":{path:"/v1/subaccount/all",parameters:[{name:"order",in:"query",required:!1,schema:{type:"string",enum:["desc"]}},{name:"limit",in:"query",required:!1,schema:{type:"integer"}},{name:"cursor",in:"query",required:!1,schema:{type:"string"}},{name:"orderBy",in:"query",required:!1,schema:{type:"string",enum:["createdAt"]}}]},"subaccount/balance":{path:"/v1/subaccount/balance",parameters:[{name:"order",in:"query",required:!1,schema:{type:"string",enum:["asc","desc"]}},{name:"limit",in:"query",required:!1,schema:{type:"integer"}},{name:"cursor",in:"query",required:!1,schema:{type:"string"}},{name:"subaccountId",in:"query",required:!0,schema:{type:"string",format:"uuid"}},{name:"orderBy",in:"query",required:!1,schema:{type:"string",enum:["tokenName","updatedAt","amount"]}}]},"subaccount/{id}":{path:"/v1/subaccount/{id}",parameters:[{name:"id",in:"path",required:!0,schema:{type:"string"}}]},time:{path:"/v1/time",parameters:[]},token:{path:"/v1/token",parameters:[{name:"order",in:"query",required:!1,schema:{type:"string",enum:["asc","desc"]}},{name:"limit",in:"query",required:!1,schema:{type:"integer"}},{name:"cursor",in:"query",required:!1,schema:{type:"string"}},{name:"depositEnabled",in:"query",required:!1,schema:{type:"boolean"}},{name:"withdrawEnabled",in:"query",required:!1,schema:{type:"boolean"}},{name:"orderBy",in:"query",required:!1,schema:{type:"string",enum:["createdAt"]}}]},"token/transfer":{path:"/v1/token/transfer",parameters:[{name:"order",in:"query",required:!1,schema:{type:"string",enum:["asc","desc"]}},{name:"limit",in:"query",required:!1,schema:{type:"integer"}},{name:"cursor",in:"query",required:!1,schema:{type:"string"}},{name:"subaccountId",in:"query",required:!0,schema:{type:"string",format:"uuid"}},{name:"statuses",in:"query",required:!1,schema:{type:"array",items:{type:"string",enum:["SUBMITTED","PENDING","COMPLETED","REJECTED"]},uniqueItems:!0}},{name:"types",in:"query",required:!1,schema:{type:"array",items:{type:"string",enum:["DEPOSIT","WITHDRAW","CONVERT"]}}},{name:"orderBy",in:"query",required:!1,schema:{type:"string",enum:["createdAt"]}},{name:"createdAfter",in:"query",required:!1,schema:{type:"integer"}},{name:"createdBefore",in:"query",required:!1,schema:{type:"integer"}}]},"token/withdraw":{path:"/v1/token/withdraw",parameters:[{name:"order",in:"query",required:!1,schema:{type:"string",enum:["asc","desc"]}},{name:"limit",in:"query",required:!1,schema:{type:"integer"}},{name:"cursor",in:"query",required:!1,schema:{type:"string"}},{name:"subaccountId",in:"query",required:!0,schema:{type:"string",format:"uuid"}},{name:"isActive",in:"query",required:!1,schema:{type:"boolean"}},{name:"orderBy",in:"query",required:!1,schema:{type:"string",enum:["createdAt"]}}]},"token/{id}":{path:"/v1/token/{id}",parameters:[{name:"id",in:"path",required:!0,schema:{type:"string"}}]},"usde/transfer":{path:"/v1/usde/transfer",parameters:[{name:"order",in:"query",required:!1,schema:{type:"string",enum:["asc","desc"]}},{name:"limit",in:"query",required:!1,schema:{type:"integer"}},{name:"cursor",in:"query",required:!1,schema:{type:"string"}},{name:"address",in:"query",required:!0,schema:{type:"string",format:"hex"}},{name:"excludeTransferAddresses",in:"query",required:!1,schema:{type:"array",items:{type:"string",format:"hex"},maxItems:10,uniqueItems:!0}},{name:"statuses",in:"query",required:!1,schema:{type:"array",items:{type:"string",enum:["PENDING","COMPLETED"]},uniqueItems:!0}},{name:"types",in:"query",required:!1,schema:{type:"array",items:{type:"string",enum:["DEPOSIT","WITHDRAW","TRANSFER"]},uniqueItems:!0}},{name:"orderBy",in:"query",required:!1,schema:{type:"string",enum:["initiatedAt"]}},{name:"initiatedAfter",in:"query",required:!1,schema:{type:"integer"}},{name:"initiatedBefore",in:"query",required:!1,schema:{type:"integer"}}]},"archive/subaccount/balance":{path:"/v1/subaccount/balance",host:"archive",parameters:[{name:"order",in:"query",required:!1,schema:{type:"string",enum:["asc","desc"]}},{name:"limit",in:"query",required:!1,schema:{type:"integer"}},{name:"cursor",in:"query",required:!1,schema:{type:"string"}},{name:"startTime",in:"query",required:!0,schema:{type:"number"}},{name:"endTime",in:"query",required:!1,schema:{type:"number"}},{name:"resolution",in:"query",required:!0,schema:{type:"string",enum:["hour1","hour2","hour4","hour8","hour12","day1","week1","month1"]}},{name:"orderBy",in:"query",required:!1,schema:{type:"string",enum:["time"]}},{name:"subaccountId",in:"query",required:!0,schema:{format:"uuid",type:"string"}},{name:"tokenIds",in:"query",required:!1,schema:{minItems:1,uniqueItems:!0,type:"array",items:{type:"string",format:"uuid"}}}]},"archive/subaccount/funding":{path:"/v1/subaccount/funding",host:"archive",parameters:[{name:"order",in:"query",required:!1,schema:{type:"string",enum:["asc","desc"]}},{name:"limit",in:"query",required:!1,schema:{type:"integer"}},{name:"cursor",in:"query",required:!1,schema:{type:"string"}},{name:"startTime",in:"query",required:!0,schema:{type:"number"}},{name:"endTime",in:"query",required:!1,schema:{type:"number"}},{name:"orderBy",in:"query",required:!1,schema:{type:"string",enum:["time"]}},{name:"subaccountId",in:"query",required:!0,schema:{format:"uuid",type:"string"}},{name:"positionIds",in:"query",required:!1,schema:{minItems:1,maxItems:128,uniqueItems:!0,type:"array",items:{type:"string",format:"uuid"}}},{name:"productIds",in:"query",required:!1,schema:{minItems:1,uniqueItems:!0,type:"array",items:{type:"string",format:"uuid"}}}]},"archive/subaccount/position-fee":{path:"/v1/subaccount/position-fee",host:"archive",parameters:[{name:"order",in:"query",required:!1,schema:{type:"string",enum:["asc","desc"]}},{name:"limit",in:"query",required:!1,schema:{type:"integer"}},{name:"cursor",in:"query",required:!1,schema:{type:"string"}},{name:"startTime",in:"query",required:!0,schema:{type:"number"}},{name:"endTime",in:"query",required:!1,schema:{type:"number"}},{name:"orderBy",in:"query",required:!1,schema:{type:"string",enum:["time"]}},{name:"subaccountId",in:"query",required:!0,schema:{format:"uuid",type:"string"}},{name:"positionIds",in:"query",required:!1,schema:{minItems:1,maxItems:128,uniqueItems:!0,type:"array",items:{type:"string",format:"uuid"}}},{name:"productIds",in:"query",required:!1,schema:{minItems:1,uniqueItems:!0,type:"array",items:{type:"string",format:"uuid"}}}]},"archive/subaccount/unrealized-pnl":{path:"/v1/subaccount/unrealized-pnl",host:"archive",parameters:[{name:"order",in:"query",required:!1,schema:{type:"string",enum:["asc","desc"]}},{name:"limit",in:"query",required:!1,schema:{type:"integer"}},{name:"cursor",in:"query",required:!1,schema:{type:"string"}},{name:"startTime",in:"query",required:!0,schema:{type:"number"}},{name:"endTime",in:"query",required:!1,schema:{type:"number"}},{name:"resolution",in:"query",required:!0,schema:{type:"string",enum:["hour1","hour2","hour4","hour8","hour12","day1","week1","month1"]}},{name:"orderBy",in:"query",required:!1,schema:{type:"string",enum:["time"]}},{name:"subaccountId",in:"query",required:!0,schema:{format:"uuid",type:"string"}},{name:"productIds",in:"query",required:!1,schema:{minItems:1,uniqueItems:!0,type:"array",items:{type:"string",format:"uuid"}}}]},"archive/subaccount/volume":{path:"/v1/subaccount/volume",host:"archive",parameters:[{name:"order",in:"query",required:!1,schema:{type:"string",enum:["asc","desc"]}},{name:"limit",in:"query",required:!1,schema:{type:"integer"}},{name:"cursor",in:"query",required:!1,schema:{type:"string"}},{name:"startTime",in:"query",required:!0,schema:{type:"number"}},{name:"endTime",in:"query",required:!1,schema:{type:"number"}},{name:"resolution",in:"query",required:!0,schema:{type:"string",enum:["hour1","hour2","hour4","hour8","hour12","day1","week1","month1"]}},{name:"orderBy",in:"query",required:!1,schema:{type:"string",enum:["time"]}},{name:"subaccountId",in:"query",required:!0,schema:{format:"uuid",type:"string"}}]},"archive/subaccount/total-volume":{path:"/v1/subaccount/total-volume",host:"archive",parameters:[{name:"subaccountId",in:"query",required:!0,schema:{format:"uuid",type:"string"}}]},"candles/last-price/config":{path:"/v1/last-price/config",host:"candles",parameters:[]},"candles/last-price/time":{path:"/v1/last-price/time",host:"candles",parameters:[]},"candles/last-price/symbols":{path:"/v1/last-price/symbols",host:"candles",parameters:[{name:"symbol",in:"query",required:!0,schema:{type:"string"}}]},"candles/last-price/search":{path:"/v1/last-price/search",host:"candles",parameters:[{name:"query",in:"query",schema:{type:"string"}},{name:"type",in:"query",schema:{type:"string"}},{name:"exchange",in:"query",schema:{type:"string"}},{name:"limit",in:"query",schema:{type:"integer",minimum:1,maximum:100}}]},"candles/last-price/history":{path:"/v1/last-price/history",host:"candles",parameters:[{name:"symbol",in:"query",required:!0,schema:{type:"string"}},{name:"resolution",in:"query",required:!0,schema:{type:"string",enum:["1","3","5","15","30","60","120","240","480","720","1D","3D","1W","1M"]}},{name:"from",in:"query",required:!0,schema:{type:"integer",minimum:0}},{name:"to",in:"query",required:!0,schema:{type:"integer",minimum:0}},{name:"countback",in:"query",required:!1,schema:{type:"integer",minimum:0}}]},"candles/oracle-price/config":{path:"/v1/oracle-price/config",host:"candles",parameters:[]},"candles/oracle-price/time":{path:"/v1/oracle-price/time",host:"candles",parameters:[]},"candles/oracle-price/symbols":{path:"/v1/oracle-price/symbols",host:"candles",parameters:[{name:"symbol",in:"query",required:!0,schema:{type:"string"}}]},"candles/oracle-price/search":{path:"/v1/oracle-price/search",host:"candles",parameters:[{name:"query",in:"query",schema:{type:"string"}},{name:"type",in:"query",schema:{type:"string"}},{name:"exchange",in:"query",schema:{type:"string"}},{name:"limit",in:"query",schema:{type:"integer",minimum:1,maximum:100}}]},"candles/oracle-price/history":{path:"/v1/oracle-price/history",host:"candles",parameters:[{name:"symbol",in:"query",required:!0,schema:{type:"string"}},{name:"resolution",in:"query",required:!0,schema:{type:"string",enum:["1","3","5","15","30","60","120","240","480","720","1D","3D","1W","1M"]}},{name:"from",in:"query",required:!0,schema:{type:"integer",minimum:0}},{name:"to",in:"query",required:!0,schema:{type:"integer",minimum:0}},{name:"countback",in:"query",required:!1,schema:{type:"integer",minimum:0}}]}};var $={type:"string",format:"uuid"},me={type:"string",description:"ASCII subaccount name (default primary) or bytes32. Query IDs are UUIDs."},ue={subaccount:me,subaccountId:{...$,description:"Subaccount identifier as a UUID."}};function ce(i,a){return a.type==="array"?((!Array.isArray(i)||i.length<Number(a.minItems??1)||i.length>Number(a.maxItems??200)||a.uniqueItems&&new Set(i).size!==i.length)&&t("Invalid Meridian perps query array."),i.flatMap(s=>ce(s,g(a.items)))):(a.type==="integer"||a.type==="number"?(typeof i!="number"||!Number.isSafeInteger(i)||i<Number(a.minimum??0)||i>Number(a.maximum??Number.MAX_SAFE_INTEGER))&&t("Invalid Meridian perps query integer."):a.type==="boolean"?typeof i!="boolean"&&t("Invalid Meridian perps query flag."):((typeof i!="string"||i.length<1||i.length>4096)&&t("Invalid Meridian perps query string."),a.format==="uuid"&&w(i),a.format==="hex"&&!/^0x(?:[0-9a-fA-F]{2})+$/.test(i)&&t("Invalid Meridian perps hexadecimal query.")),Array.isArray(a.enum)&&!a.enum.includes(i)&&t("Invalid Meridian perps query option."),[String(i)])}async function be(i,a,s){if(i.network==="testnet"&&t("Meridian perps extended reads require mainnet."),Object.keys(a).some(r=>!["resource","params"].includes(r))&&t("Use resource and params for Meridian perps reads."),a.resource===void 0&&a.params===void 0)return{chainId:f,resources:B,scope:"Fixed official public read routes and their exact query/path parameter schemas."};(typeof a.resource!="string"||!Object.hasOwn(B,a.resource))&&t("Choose a Meridian perps resource from the tool schema.");let b=B[a.resource],l=a.params===void 0?{}:{...g(a.params)};a.resource==="subaccount"&&l.sender===void 0&&(l.sender=s),Object.keys(l).some(r=>!b.parameters.some(e=>e.name===r))&&t("Unsupported Meridian perps query parameter.");let h=new URLSearchParams,o=b.path;for(let r of b.parameters){let e=l[r.name];if(e===void 0){r.required&&t(`Meridian perps ${a.resource} needs ${r.name}.`);continue}r.name==="limit"&&(typeof e!="number"||e<1||e>100)&&t("Choose a page limit from 1 to 100.");let n=ce(e,r.schema);if(r.in==="path")r.name==="id"&&w(e),r.name==="address"&&S(e),o=o.replace(`{${r.name}}`,encodeURIComponent(n[0]));else for(let p of n)h.append(r.name,p)}let u=await A(i,`${o}${h.size?`?${h}`:""}`,void 0,b.host);if(u&&typeof u=="object"&&"hasNext"in u){let r=g(u);(typeof r.hasNext!="boolean"||!Array.isArray(r.data)||r.hasNext&&(typeof r.nextCursor!="string"||!r.nextCursor))&&t("Meridian perps returned invalid pagination metadata.")}return{chainId:f,resource:a.resource,data:u,scope:"One API response. Follow hasNext/nextCursor using the same filters; an accepted action or API balance is not proof of final on-chain delivery."}}async function D(i,a){let s=[],b=new Set,l;for(let h=0;h<100;h++){let o=g(await A(i,`${a}${a.includes("?")?"&":"?"}limit=100${l?`&cursor=${encodeURIComponent(l)}`:""}`));if((!Array.isArray(o.data)||typeof o.hasNext!="boolean")&&t("Meridian perps listing is incomplete."),s.push(...o.data.map(g)),!o.hasNext)return s;(typeof o.nextCursor!="string"||!o.nextCursor||b.has(o.nextCursor))&&t("Meridian perps pagination did not advance."),l=o.nextCursor,b.add(l)}return t("Meridian perps listing exceeded the safety bound; retry after indexing stabilizes.")}async function oe(i,a,s,b,l){let h={};if(a!=="referral"&&!(a==="signer"&&s.mode==="extend")&&await W(i,s.subaccountId,b,U(s.subaccount)),a==="order"){let o=(await D(i,"/v1/product?order=asc")).filter(d=>d.onchainId===s.onchainId&&d.engineType===0);o.length!==1&&t("No unique Meridian perps product matches this onchainId.");let u=o[0];u.status!=="ACTIVE"&&t("The Meridian perps product is not active.");let r=BigInt(N(s.quantity,"the D9 quantity")),e=k(u.lotSize),n=k(u.tickSize);(!e||!n||r%e||r>k(u.maxQuantity)||!s.close&&r<k(u.minQuantity))&&t("Meridian perps quantity violates the current product limits or lot size.");for(let d of["price","stopPrice"])if(s[d]!==void 0){let m=BigInt(N(s[d],`the D9 ${d}`));(m%n||m<k(u.minPrice)||m>k(u.maxPrice))&&t("Meridian perps price violates current bounds or tick size.")}let p=g(await A(i,"/v1/order/dry-run",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({data:l})}));p.code!=="Ok"&&t("Meridian perps dry run did not accept this order. Inspect balances, isolated-pool conversions and current risk limits."),h={marginMode:u.marginMode,quoteTokenAddress:u.quoteTokenAddress,currentApiFeeFractions:{maker:u.makerFee,taker:u.takerFee},dryRun:p}}if(a==="withdraw"){let o=await V(i,s.tokenId);(!I(o.address,s.token)||o.withdrawEnabled!==!0)&&t("The chosen Meridian perps token is not enabled for withdrawal.");let u=(await D(i,`/v1/subaccount/balance?subaccountId=${w(s.subaccountId)}`)).find(r=>r.tokenId===s.tokenId);(!u||k(u.available)<BigInt(N(s.amount,"the D9 withdrawal amount")))&&t("Not enough available Meridian perps collateral. Unrealized trading profit is not withdrawable."),h={availableD9:k(u.available).toString(),withdrawFeeD9:k(o.withdrawFee).toString(),tokenSymbol:o.erc20Symbol,tokenNativeDecimals:o.erc20Decimals}}if(a==="convert"){let o=await D(i,"/v1/token?order=asc"),u=o.find(e=>I(e.address,s.fromToken)),r=o.find(e=>I(e.address,s.toToken));(!u||!r||(u.backingTokenId??u.id)!==(r.backingTokenId??r.id))&&t("The Meridian perps quote-token pools do not share a backing token."),h={fromTokenId:u.id,toTokenId:r.id,conversionFeeD9:"0",conversionRate:"1:1 in D9 accounting units"}}if(a==="signer"){let o=S(s.mode==="extend"?b:s.signer),r=(s.mode==="extend"?[g(await A(i,`/v1/linked-signer/address/${o}`))]:await D(i,`/v1/linked-signer?subaccountId=${w(s.subaccountId)}`)).filter(e=>I(e.signer,o));if(r.length!==1&&t("The Meridian linked signer does not match the requested subaccount."),s.mode==="extend"&&(r[0].status!=="ACTIVE"||typeof r[0].expiresAt!="number"||r[0].expiresAt<=Date.now())&&t("Only an active unexpired local Meridian signer can extend itself."),h={currentSignerStatus:r[0].status,expiresAtMilliseconds:r[0].expiresAt},s.mode==="revoke"){let e=g(await A(i,`/v1/order?subaccountId=${w(s.subaccountId)}&statuses=NEW&statuses=PENDING&statuses=FILLED_PARTIAL&limit=1`));(!Array.isArray(e.data)||e.data.length||e.hasNext!==!1)&&t("Cancel every working order and confirm cancellation before revoking a Meridian signer.")}}return h}var de="Oak cannot place Meridian perps orders or initiate withdrawals; use Meridian's supported interface for those. Oak can only finalize a withdrawal that was already initiated there.",Ce=i=>{let a=new Map;async function s(){(i.network==="testnet"||await i.clientFor(f).getChainId()!==f)&&t("Meridian perps requires the mainnet RPC on chain 4663.")}async function b(r,e,n){if(ie(r,e),R(r,e,n,"0",Math.floor(Date.now()/1e3)),e.continuation!==void 0){let v=g(e.continuation),E=typeof v.requestId=="string"?a.get(v.requestId):void 0;(!E||!I(E.round.wallet,n)||!K(E.round,v)||!K(E.args,Object.fromEntries(Object.entries(e).filter(([x])=>!["continuation","signature"].includes(x)))))&&t("Meridian perps continuation is lost, expired or belongs to different arguments. Check history before starting again.");let _=g(v.request);te(`meridian_perps_${r}`,e,n,[{kind:"typedData",request:_}],v,void 0,Math.floor(Date.now()/1e3)),(typeof e.signature!="string"||!/^0x[0-9a-fA-F]{130}$/.test(e.signature))&&t("The local Meridian perps signature is missing."),clearTimeout(E.timer),a.delete(v.requestId),I(await fe({..._,signature:e.signature}),n)||t("The Meridian perps signature does not match this wallet."),await s();let pe=await O(i);K(X(R(r,e,n,String(v.nonce),Number(v.signedAt)),pe),_)||t("Meridian perps signing configuration changed; start again after checking history.");let P=R(r,e,n,String(v.nonce),Number(v.signedAt)),Q=P.path,j={};if(P.method==="GET"){Object.assign(j,{"X-Meridian-Auth":"EIP712Auth","X-Meridian-Sender":n,"X-Meridian-Signature":e.signature,"X-Meridian-Intent":"2","X-Meridian-SignedAt":String(v.signedAt)});let x=new URLSearchParams;e.cursor!==void 0&&((typeof e.cursor!="string"||!e.cursor||e.cursor.length>4096)&&t("Provide the returned Meridian referral cursor."),x.set("cursor",e.cursor)),e.limit!==void 0&&((typeof e.limit!="number"||!Number.isInteger(e.limit)||e.limit<1||e.limit>100)&&t("Choose a referral page limit from 1 to 100."),x.set("limit",String(e.limit))),x.size&&(Q+=`?${x}`)}else j["content-type"]="application/json";return{result:await A(i,Q,{method:P.method,headers:j,...P.method==="GET"?{}:{body:JSON.stringify({data:P.data,signature:e.signature})}}),chainId:f,summary:"Meridian API responded. This is not a fill or final withdrawal receipt. Check order, position and transfer status before a dependent action or retry."}}e.signature!==void 0&&t("A Meridian perps signature requires an active local signing round."),a.size>=1e3&&t("Too many pending Meridian perps signing rounds. Try again shortly."),await s();let p=await O(i),d=g(await A(i,"/v1/time")).time;(typeof d!="number"||!Number.isSafeInteger(d)||Math.abs(d-Date.now())>3e4)&&t("Meridian perps server time differs from the local clock; synchronize the clock before signing.");let m=Math.floor(d/1e3),y=(BigInt(d)*1000000n+BigInt(le(1e6))).toString(),c=R(r,e,n,y,m),q=await oe(i,r,e,n,c.data),T=X(c,p),F=he(),H={stage:"perps_sign",requestId:F,chainId:f,wallet:n,expiresAt:m+90,signedAt:m,nonce:y,request:T,signatureTypes:{[c.primaryType]:p[c.primaryType]},data:c.data,path:c.path,method:c.method,review:q},J=setTimeout(()=>a.delete(F),9e4);return J.unref?.(),a.set(F,{args:structuredClone(e),round:structuredClone(H),timer:J}),{steps:[{kind:"typedData",request:T}],continuation:H,summary:"Review every Meridian perps field and sign locally. Amounts and prices in the typed message use D9 base units (9 decimals). An API acceptance is not an executed trade. No gasless signature simulates future sequencer execution."}}function l(r,e,n,p,d){return{name:r,inputSchema:{type:"object",properties:e,required:n,additionalProperties:!1,description:p},execute:async(m,y)=>{try{return g(m),S(y),(Object.keys(m).some(c=>!Object.hasOwn(e,c))||n.some(c=>m[c]===void 0))&&t("Provide the required Meridian perps tool inputs only."),await d(m,y)}catch(c){throw new Y(i.plainError(c))}}}}let h={...ue,continuation:{type:"object",description:"Internal continuation returned by the previous local signing round."},signature:{type:"string",description:"Internal hexadecimal signature supplied by local signing; never enter manually."},type:{type:"string",enum:["LIMIT","MARKET"],description:"LIMIT places a limit order; MARKET places a market order."},side:{type:"integer",enum:[0,1],description:"Order side: 0 is buy/long, 1 is sell/short."},onchainId:{type:"integer",minimum:1,maximum:4294967295,description:"Product on-chain identifier as a positive integer."},quantity:M('Product base-asset quantity in D9 base units (9 decimals): "1000000000" = 1 base asset; "0" only for a full close.'),price:M('Limit price in quote-token D9 base units per base asset (9 decimals): "1000000000" = 1 quote token per base asset.'),stopPrice:M('Trigger price in quote-token D9 base units per base asset (9 decimals): "1000000000" = 1 quote token per base asset.'),amount:M('Withdrawal token or conversion input token amount in D9 base units (9 decimals): "1000000000" = 1 token.'),timeInForce:{type:"string",enum:["GTD","IOC","FOK"],description:"GTD is good till date; IOC is immediate or cancel; FOK is fill or kill."},postOnly:{type:"boolean",description:"Place only as a maker order; requires GTD."},reduceOnly:{type:"boolean",description:"Only reduce an existing position."},close:{type:"boolean",description:'Close the full position; requires MARKET, reduceOnly and quantity "0".'},clientOrderId:{type:"string",description:"Client order identifier: up to 32 alphanumeric characters or a UUID."},stopType:{type:"integer",enum:[0,1],description:"Product trigger type code, 0 or 1."},expiresAt:M("Order expiry in Unix seconds, as a decimal string."),groupId:{...$,description:"Order group identifier as a UUID."},groupContingencyType:{type:"integer",enum:[0,1],description:"Order group contingency code, 0 or 1."},all:{type:"boolean",description:"Cancel all orders in the subaccount."},orderIds:{type:"array",items:$,maxItems:200,description:"UUID identifiers of orders to cancel."},clientOrderIds:{type:"array",items:{type:"string"},maxItems:200,description:"Client order identifiers to cancel."},token:{...C,description:"Withdrawal token contract address."},tokenId:{...$,description:"Token identifier as a UUID."},fromToken:{...C,description:"Conversion input token contract address."},toToken:{...C,description:"Conversion output token contract address."},mode:{type:"string",description:"Signer: revoke removes, refresh renews, extend adds duration. Referral: activate enables, claim uses a code, summary shows totals, history lists entries."},signer:{...C,description:"Linked signer address to revoke or refresh."},code:{type:"string",description:"Referral claim code: 12 uppercase alphanumeric characters."},cursor:{type:"string",description:"Opaque next cursor for referral history."},limit:{type:"integer",minimum:1,maximum:100,description:"Maximum referral history entries, from 1 to 100."}},o={order:["subaccountId","type","side","onchainId","quantity"],cancel:["subaccountId"],withdraw:["subaccountId","token","tokenId","amount"],convert:["subaccountId","fromToken","toToken","amount"],signer:["mode"],referral:["mode"]},u=ee.map(r=>l(`meridian_perps_${r}`,Object.fromEntries([...re[r],"subaccount","subaccountId","continuation","signature"].map(e=>[e,h[e]])),o[r],`Prepare and locally sign a Meridian perps ${r}. Internal continuation only; never supply a signature manually. Requires the perps bridge integration.`,(e,n)=>b(r,e,n)));return u.unshift(l("meridian_perps_read",{resource:{type:"string",enum:Object.keys(B),description:"Official mainnet public GET route. Includes products, accounts, balances, orders, fills, risk, transfers, signers, points and configuration."},params:{type:"object",description:"Exact documented query/path parameters; API decimals are returned verbatim, while Oak action inputs use base-unit strings."}},[],"Omit resource to discover every parameter schema locally. Otherwise read one official Meridian perps API page. Use nextCursor while hasNext is true.",(r,e)=>be(i,r,e))),u.push(ne(i,(r,e,n,p)=>oe(i,r,e,n,p))),u.push(l("meridian_perps_deposit",{subaccount:me,tokenId:{...$,description:"Token identifier as a UUID."},amount:M('Deposit token amount in base units using erc20Decimals from token metadata (USDG has 6 decimals: "1000000" = 1 USDG).'),referralCode:{type:"string",pattern:"^0x[0-9a-fA-F]{64}$",description:"Referral code as a 0x-prefixed 32-byte hex string."}},["tokenId","amount"],`Preview an exact ERC-20 approval and exchange deposit. First deposit registers the subaccount. ${de}`,async(r,e)=>{await s(),await O(i);let n=await V(i,r.tokenId),p=S(n.address);(n.depositEnabled!==!0||typeof n.erc20Decimals!="number"||!Number.isInteger(n.erc20Decimals)||n.erc20Decimals<0||n.erc20Decimals>36||typeof n.erc20Symbol!="string")&&t("The Meridian perps token is not enabled for ERC-20 deposits.");let d=N(r.amount,"the deposit amount",!0);Z(d,n.erc20Decimals)<k(n.minDeposit)&&t(`Meridian perps deposit is below the current minimum ${n.minDeposit} ${n.erc20Symbol}.`);let m=i.clientFor(f),[y,c]=await Promise.all([m.readContract({address:p,abi:se,functionName:"balanceOf",args:[e]}),m.readContract({address:p,abi:se,functionName:"decimals"})]);(c!==n.erc20Decimals||y<BigInt(d))&&t("Meridian perps deposit token decimals or wallet balance do not match the requested deposit.");let q=[i.approval(p,z,d,f),i.unsignedTx({to:z,chainId:f,value:"0",data:ae({abi:L,functionName:"deposit",args:[U(r.subaccount),p,BigInt(d),r.referralCode===void 0?ge:G(r.referralCode)]}),description:`Deposit ${d} ${n.erc20Symbol} base units (${c} decimals) into Meridian perps.`})],T=await i.preview(q,e);return{txs:q,preview:T,token:{address:p,decimals:c,symbol:n.erc20Symbol,chainId:f},depositFee:n.depositFee,summary:`${T.summary} Approve exactly ${d} token base units and deposit. Sequencer registration and available margin must be checked separately. ${de}`}})),u.push(l("meridian_perps_finalize",{...ue,withdrawDigest:{type:"string",pattern:"^0x[0-9a-fA-F]{64}$",description:"Withdrawal digest as a 0x-prefixed 32-byte hex string."}},["subaccountId","withdrawDigest"],"Preview same-chain withdrawal finalization for this owner after on-chain initiation. API acceptance alone does not permit finalization.",async(r,e)=>{await s(),await O(i);let n=await W(i,r.subaccountId,e,U(r.subaccount)),p=G(r.withdrawDigest),d=(await D(i,`/v1/token/withdraw?subaccountId=${w(n.id)}&order=desc`)).filter(q=>I(q.withdrawDigest,p));d.length!==1&&t("The withdrawal digest is not uniquely present in this subaccount history. Reconcile the request before retrying.");let m=d[0];(!I(m.subaccount,n.name)||m.finalizedBlockNumber!==void 0||typeof m.initiatedBlockNumber!="string"||m.lzDestinationEid!==0||!I(m.lzDestinationAddress,qe(e)))&&t("The withdrawal is not an initiated, unfinalized same-chain withdrawal to this wallet.");let y=[i.unsignedTx({to:z,chainId:f,value:"0",data:ae({abi:L,functionName:"finalizeWithdraw",args:[e,p]}),description:"Finalize the pending Meridian perps withdrawal to this wallet."})],c=await i.preview(y,e);return c.changes.some(q=>I(q.token.address,m.token)&&q.token.chainId===f&&BigInt(q.amount)>0n)||t("Meridian perps finalization preview did not show the token payout to this wallet."),{txs:y,preview:c,summary:`${c.summary} Finalize the same-chain withdrawal. Check the mined receipt and wallet balance; do not submit a digest twice.`}})),{tools:u,positions:async r=>{i.network==="testnet"&&t("Meridian perps positions require mainnet."),S(r);let e=await D(i,`/v1/subaccount?sender=${r}&order=asc`),n=[],p=new Set;for(let d of e){I(d.account,r)||t("Meridian perps returned another owner in the subaccount listing.");let m=w(d.id);for(let y of await D(i,`/v1/position?subaccountId=${m}&open=true`)){let c=k(y.size);if(c===0n)continue;let q=`perps:${m}:${w(y.id)}`,T=w(y.productId);(p.has(q)||y.side!==0&&y.side!==1)&&t("Meridian perps returned a repeated or invalid position."),p.add(q),n.push({module:"meridian",id:q,chainId:f,assets:[],economics:{principal:[],debt:[],rewards:[],backing:[],coverage:{complete:!1,reason:"Oak reads open size only; no margin, PnL or funding read."}},description:`Meridian perps ${y.side===0?"long":"short"} product ${T}: ${c} D9 quantity base units (9 decimals), subaccount ${m}. Derivatives exposure; inspect perps account balances, funding and position fees separately.`})}}return n}}};export{be as a,de as b,Ce as c};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function e(n){if(!(typeof n!="string"||!n.startsWith('untrusted "')||!n.endsWith('"')))try{let t=JSON.parse(n.slice(10));return typeof t=="string"?t:void 0}catch{return}}export{e as a};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{e as y,g as a,i as l,l as h,m as A,n as g}from"./NWNYJ26T.js";import{
|
|
1
|
+
import{e as y,g as a,i as l,l as h,m as A,n as g}from"./NWNYJ26T.js";import{b as f,j as k}from"./TI727O2H.js";import{a as s}from"./XSD5NL7J.js";import{encodeAbiParameters as S,keccak256 as I,parseAbi as _,parseAbiParameters as P}from"viem";var u=k[f].clanker,O={type:"string",pattern:"^\\d+$"},$={type:"string",pattern:"^0x[0-9a-fA-F]{64}$"},R=_(["function tokenDeploymentInfo(address) view returns ((address,address,address,address[]))","function tokenRewards(address) view returns ((address token,(address currency0,address currency1,uint24 fee,int24 tickSpacing,address hooks) poolKey,uint256 positionId,uint256 numPositions,uint16[] rewardBps,address[] rewardAdmins,address[] rewardRecipients))","function feePreferences(address,uint256) view returns (uint8)","function updateRewardRecipient(address,uint256,address)","function updateRewardAdmin(address,uint256,address)","function updateFeePreference(address,uint256,uint8)"]),x="Provide a valid nonzero address.";function c(e,o=!1){let r=l(e,x);return o?r:h(r,x)}function F(e){return g(e,"Amount exceeds uint256.")}function w(e,o,r){if(typeof e!="number"||!Number.isSafeInteger(e)||e<o||e>r)throw new s(`Choose an integer from ${o} to ${r}.`);return e}function H(e,o){let r=Object.keys(e).find(n=>!o.includes(n));if(r)throw new s(`Unsupported Clanker input: ${r}.`)}function T(e){if(typeof e!="string"||!/^0x[0-9a-fA-F]{64}$/.test(e))throw new s("Provide bytes32 hexadecimal data.");return e}function b(e){return A(e,"Clanker returned an invalid amount.").toString()}async function v(e,o){let r=await e.clientFor(f).readContract({address:u.factory.address,abi:R,functionName:"tokenDeploymentInfo",args:[o]});if(!Array.isArray(r)||r.length!==4||typeof r[0]!="string"||!a(r[0],o)||!Array.isArray(r[3]))throw new s("The pinned factory did not identify this Clanker token.");let n=c(r[1]),d=c(r[2]);if(![u.locker.address,u.legacy_locker_v1.address].some(t=>a(t,d))||![u.fee_static_hook_v2.address,u.fee_dynamic_hook_v2.address].some(t=>a(t,n)))throw new s("This Clanker locker or hook has not been verified by Oak.");return{hook:n,locker:d,extensions:r[3].map(t=>c(t))}}async function K(e,o){let r=await v(e,o),n=await e.clientFor(f).readContract({address:r.locker,abi:R,functionName:"tokenRewards",args:[o]});if(!y(n)||typeof n.token!="string"||!a(n.token,o)||!y(n.poolKey)||!Array.isArray(n.rewardBps)||!Array.isArray(n.rewardAdmins)||!Array.isArray(n.rewardRecipients))throw new s("Clanker returned invalid reward configuration.");let d=n.poolKey,t={currency0:c(d.currency0),currency1:c(d.currency1),fee:w(d.fee,0,16777215),tickSpacing:w(d.tickSpacing,1,32767),hooks:c(d.hooks)};if(BigInt(t.currency0)>=BigInt(t.currency1)||!a(t.hooks,r.hook)||![t.currency0,t.currency1].some(i=>a(i,o)))throw new s("Clanker returned a mismatched pool key.");let p=n.rewardBps.length;if(!p||p>7||p!==n.rewardAdmins.length||p!==n.rewardRecipients.length)throw new s("Clanker returned mismatched rewards.");let m=n.rewardBps.map(i=>w(i,1,1e4));if(m.reduce((i,C)=>i+C,0)!==1e4)throw new s("Clanker returned invalid reward splits.");return{...r,poolKey:t,poolId:I(S(P("address,address,uint24,int24,address"),[t.currency0,t.currency1,t.fee,t.tickSpacing,t.hooks])),positionId:b(n.positionId),numPositions:b(n.numPositions),rewardBps:m,rewardAdmins:n.rewardAdmins.map(i=>c(i)),rewardRecipients:n.rewardRecipients.map(i=>c(i)),pairedToken:a(t.currency0,o)?t.currency1:t.currency0}}export{u as a,O as b,$ as c,R as d,x as e,c as f,F as g,w as h,H as i,T as j,b as k,v as l,K as m};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as Be,b as he,g as Z,h as be,i as Oe,m as ee,n as D,y as ke,z as Ee}from"./LKX5WDOQ.js";import{b as y,c as qe}from"./URBEK2VV.js";import{a as fe,b as H}from"./Z7FGEWO2.js";import{a as Q}from"./43LI5NKJ.js";import{a as Ie}from"./IOYRL6AY.js";import{a as $e}from"./66F5ZH34.js";import{c as le,g as P}from"./NWNYJ26T.js";import{b as Se}from"./IX3GZMTM.js";import{b,j as me}from"./TI727O2H.js";import{a as d}from"./XSD5NL7J.js";import{a as pe}from"./JXOEJPJ4.js";import{randomUUID as ze}from"node:crypto";import{encodeAbiParameters as ne,encodeFunctionData as we,erc20Abi as ge,getAddress as F,parseAbi as X,parseAbiParameters as oe,zeroAddress as K}from"viem";var Re=me[b].pons,C=me[b].ponsTrade,_e=X(["function getLaunchedToken(address) view returns ((address token,address curve,address deployer,address creatorFeeRecipient,address pairToken,uint256 graduationThreshold,uint24 poolFee,int24 tickSpacing,uint16 creatorTaxBps,bool buybackEnabled,uint8 phase,uint256 sweptQuote,uint256 sweptTokens,uint256 sweptAt,bool exists))"]),te=X(["function getReserves() view returns (uint256 quoteReserve,uint256 tokenReserve)","function feeBps() view returns (uint256)","function creatorTaxBps() view returns (uint256)","function currentSnipeTaxBps(address) view returns (uint256)","function sellableTokens() view returns (uint256)","function buy(uint256 quoteIn,uint256 minTokensOut,address recipient) payable returns (uint256)","function sell(uint256 tokensIn,uint256 minQuoteOut,address recipient) returns (uint256)"]),He=X(["function quoteExactInputSingle(((address currency0,address currency1,uint24 fee,int24 tickSpacing,address hooks) poolKey,bool zeroForOne,uint128 exactAmount,bytes hookData) params) returns (uint256 amountOut,uint256 gasEstimate)"]),Ke=X(["function execute(bytes commands,bytes[] inputs,uint256 deadline) payable"]),Xe=X(["function approve(address token,address spender,uint160 amount,uint48 expiration)"]),je=oe("((address currency0,address currency1,uint24 fee,int24 tickSpacing,address hooks) poolKey,bool zeroForOne,uint128 amountIn,uint128 amountOutMinimum,uint256 minHopPriceX36,bytes hookData)"),Ge={address:fe,chainId:b,decimals:18,symbol:"ETH"},Qe="There is no on-chain expiry. The signed transaction is protected by its minimum output.",Ve="This trade must be sent within 5 minutes of its quote. If you approve later, Oak shows you fresh terms first.",We=`Quote expiry is enforced by Oak before signing only. ${Qe}`,$=10000n,Te=(1n<<256n)-1n,Ne=(1n<<128n)-1n,I=(n,t)=>({token:n,amount:t.toString()}),Ce=(n,t)=>(n+t-1n)/t,Me="Reuse existing exact allowance";async function Je(n,t,r,o,c){try{let e=await n.readContract({address:t,abi:ge,functionName:"allowance",args:[r,o],blockNumber:c});return typeof e=="bigint"?e:void 0}catch{return}}var Ye={type:"object",additionalProperties:!1,required:["token","amountIn"],properties:{token:{...le,description:"Pons launch token address on chain 4663."},amountIn:$e('Input in base units: pair token for buys (use its decimals), launch token for sells (18 decimals). Examples: "1000000" = 1 pair token at 6 decimals; "1000000000000000000" = 1 launch token.'),pairToken:{...le,description:"The launch pair from pons_status. Required to buy a custom-pair launch, so amountIn is never read in the wrong units; omit or use the zero address for native ETH."},slippageBps:{description:"Slippage tolerance in basis points (50 = 0.5%).",type:"integer",minimum:0,maximum:9999,default:he}}};function De(n,t,r,o){if(n===void 0){if(r&&y(t)!==K)throw new d(`This Pons launch is paired with ${o}; amountIn is in that token's base units. Repeat with pairToken "${t}" to confirm the input asset.`);return}if(typeof n!="string")throw new d("pairToken must be a token address.");if(Q(n),!P(y(n),y(t)))throw new Z(`This Pons launch trades only against ${o}.`)}async function Fe(n,t,r,o,{quoteOnly:c=!1,curveOnly:e=!1,blockNumber:p}={}){if(Q(r),Object.keys(t).some(f=>!["token","amountIn","slippageBps","pairToken"].includes(f)))throw new d("Provide only token, amountIn, optional pairToken and optional slippageBps.");if(typeof t.token!="string")throw new d("Provide a launch token address.");Q(t.token);let s=F(t.token),i=Se(t.amountIn);if(i===0n||i>Te)throw new d("Trade amount must be positive and within the uint256 range.");let m=t.slippageBps??he;if(typeof m!="number"||!Number.isInteger(m)||m<0||m>=1e4)throw new d("Slippage must be an integer from 0 to 9999 basis points.");let x=f=>f*($-BigInt(m))/$,a=n.clientFor(b),l=p===void 0?await a.getBlock():await a.getBlock({blockNumber:p});if(p!==void 0&&l.number!==p)throw new d("Pons quote snapshot is unavailable.");let u=await a.readContract({address:Re.factory.address,abi:_e,functionName:"getLaunchedToken",args:[s],blockNumber:l.number});if(!u.exists||!P(u.token,s))throw new d("This address is not a Pons launch token.");if(e&&u.phase!==0)throw new Z("Pons curve quotes are only available before graduation.");if(u.phase===1)throw new d("Pons graduation is pending; the curve is closed and the pool is not ready.");if(u.phase===3)throw new d("This Pons launch was rescued and has no active trade route.");if(u.phase!==0&&u.phase!==2)throw new d("This Pons launch has an unknown trade phase.");let g=y(u.pairToken)===K,M=F(u.pairToken);if(P(M,s))throw new d("This Pons launch has an invalid pair.");let j=f=>Promise.all([a.readContract({address:f,abi:ge,functionName:"symbol",blockNumber:l.number}),a.readContract({address:f,abi:ge,functionName:"decimals",blockNumber:l.number})]),[[B,U],L]=await Promise.all([j(s),g?void 0:j(M)]),w=L?{address:M,chainId:b,symbol:pe(L[0]),decimals:L[1]}:Ge,G=g?"native ETH":`${w.symbol} (${w.address})`;De(t.pairToken,M,o,`${G}, ${w.decimals} decimals`);let V={address:s,chainId:b,symbol:pe(B),decimals:U},se=o?w:V,ie=o?V:w,q=[],re=(f,h,S,A)=>n.unsignedTx({to:f,data:h,value:S.toString(),chainId:b,description:A}),T,k,W,O=i,ve=null,ae,ye="",ue;if(u.phase===0){let f=v=>a.readContract({address:u.curve,abi:te,functionName:v,blockNumber:l.number}),[[h,S],A,R,E,_]=await Promise.all([a.readContract({address:u.curve,abi:te,functionName:"getReserves",blockNumber:l.number}),f("feeBps"),f("creatorTaxBps"),o?a.readContract({address:u.curve,abi:te,functionName:"currentSnipeTaxBps",args:[r],blockNumber:l.number}):Promise.resolve(0n),o?f("sellableTokens"):Promise.resolve(0n)]);if(h<=0n||S<=0n||A+R>$-100n)throw new d("Pons curve reserves or fee settings are unavailable.");let J=$-A-R-100n,N=E<J?E:J,Ae=v=>({base:v*A/$,creator:v*R/$,snipe:v*N/$}),Pe=v=>{let z=Ae(v);return v-z.base-z.creator-z.snipe},Y;if(o){if(_<=0n||_>=S)throw new d("The curve has no available sellable tokens.");let v=Pe(i);if(T=v*S/(h+v),T>=_){T=_;let z=T*h/(S-T)+1n;O=Ce(z*$,$-A-R-N),O>i&&(O=i)}Y=O,k=x(T),W=Ce(k*i,O),g||q.push(n.approval(w.address,u.curve,i.toString(),b))}else Y=i*h/(S+i),T=Pe(Y),k=x(T),q.push(n.approval(s,u.curve,i.toString(),b));let ce=Ae(Y);ve={base:I(w,ce.base),creator:I(w,ce.creator),snipe:I(w,ce.snipe)},ae=`Curve fees included: ${A} base, ${R} creator and ${N} opening-tax basis points, each rounded separately.`,q.push(re(u.curve,we({abi:te,functionName:o?"buy":"sell",args:[i,W??k,r]}),o&&g?i:0n,o?`Buy Pons curve tokens with ${G}.`:`Sell Pons curve tokens for ${G}.`))}else{if(i>Ne)throw new d("Trade amount exceeds the router uint128 range.");let f=qe(u.pairToken,s,u.poolFee,u.tickSpacing),h=o?y(u.pairToken):s,S=o?s:y(u.pairToken),A=P(h,f.currency0);if(T=(await a.simulateContract({address:C.quoter.address,abi:He,functionName:"quoteExactInputSingle",args:[{poolKey:f,zeroForOne:A,exactAmount:i,hookData:"0x"}],account:r,gas:Ie,blockNumber:l.number})).result[0],k=x(T),k>Ne)throw new d("Minimum output exceeds the router uint128 range.");let E=l.timestamp+300n;if(ue=E.toString(),E>=1n<<48n)throw new d("Permit2 expiry exceeds its timestamp range.");if(h!==K){let N=!c&&await Je(a,h,r,C.permit2.address,l.number)===i;N||q.push(n.approval(h,C.permit2.address,i.toString(),b)),ye=N?`${Me}: ${i} input base units already approved to Permit2. `:"",q.push(re(C.permit2.address,we({abi:Xe,functionName:"approve",args:[h,C.universal_router.address,i,Number(E)]}),0n,`${N?`${Me}. `:""}Approve the exact token amount to the Pons router through Permit2 for five minutes.`))}let _=[ne(je,[{poolKey:f,zeroForOne:A,amountIn:i,amountOutMinimum:k,minHopPriceX36:0n,hookData:"0x"}]),ne(oe("address,uint256"),[h,i]),ne(oe("address,uint256"),[S,k])],J=ne(oe("bytes,bytes[]"),["0x060c0f",_]);q.push(re(C.universal_router.address,we({abi:Ke,functionName:"execute",args:["0x10",[J],E]}),h===K?i:0n,"Trade through Pons Universal Router v2.1.2.")),ae="Quoter output is net of Pons hook fees; no additional fee is subtracted."}if(T<=0n||k<=0n||k>Te||(W??k)>Te)throw new d("Trade output or minimum is outside the supported positive range.");let xe=c?{changes:[],summary:"Quote only; preview is required before sending."}:await n.preview(q,r),de=i-O;return{txs:q,changes:xe.changes,...ue===void 0?{}:{expiresAt:ue},summary:`${o?"Buy":"Sell"} ${V.symbol} (${V.address}) on chain ${b}${g?"":` ${o?"with":"for"} ${G}`}. ${ae} ${ye}${u.phase===0?`${Qe} `:`${Ve} `}${de>0n?`Expected ${g?"native refund":"refund"}: ${n.formatAmount(de.toString(),w.decimals)} ${w.symbol}; minimum output uses the expected spend after refund. `:""}${xe.summary}`,pairToken:w,quote:{phase:u.phase,amountIn:I(se,i),amountOut:I(ie,T),minAmountOut:I(ie,k),minimumKind:"absolute",calldataMinAmountOut:I(ie,W??k),expectedSpend:I(se,O),expectedRefund:I(se,de),fees:ve,blockNumber:l.number.toString(),blockTimestamp:l.timestamp.toString()}}}function hn(n){return Ue(n,!0)}function Ue(n,t=!1,r){let o=new Map,c=e=>{if(BigInt(ee())>=BigInt(e.expiresAt))throw new be};return{name:"pons",async quote(e,p){if(e={...e,from:H(e.from),to:H(e.to)},D(e.from)&&D(e.to))throw new Z("Pons quotes require a launch token and its pair token.");let s=D(e.from)||!D(e.to)&&await Ze(n,e.from,e.to,r),i=ee(),m=await Fe(n,{token:s?e.to:e.from,amountIn:e.amountIn,slippageBps:e.slippageBps,pairToken:y(s?e.from:e.to)},p,s,{quoteOnly:!0,curveOnly:t,blockNumber:r}),x=m.txs.at(-1),a=m.quote,l=String(BigInt(r===void 0?i:a.blockTimestamp)+BigInt(Be)),u=a.minAmountOut.amount,g=a.fees,M=D(m.pairToken.address)?"native ETH base units (18 decimals)":`${m.pairToken.symbol} (${m.pairToken.address}) base units (${m.pairToken.decimals} decimals)`,j=g?`Pons curve fees included in net output: ${g.base.amount} base, ${g.creator.amount} creator and ${g.snipe.amount} opening tax, in ${M}. Oak swap fee: 0 (venue fee is never Oak income). ${We}`:"Quoter output is net of Pons hook fees; no additional fee is subtracted. Oak swap fee: 0.",B=Ee({...e,quoteId:`pons:${ze()}`,provider:"pons",wallet:p,chainId:b,router:x.to,spender:a.phase===0?x.to:C.permit2.address,expiresAt:l,data:x.data,value:x.value,amountOut:a.amountOut.amount,minAmountOut:u,blockNumber:a.blockNumber,...a.phase===0?{ponsCurveToken:s?e.to:e.from,calldataMinAmountOut:a.calldataMinAmountOut.amount}:{ponsPoolToken:s?e.to:e.from},expectedSpend:a.expectedSpend.amount,expectedRefund:a.expectedRefund.amount,feeDisclosure:j,oakFee:"0"});ke(x,B),c(B);for(let[U,L]of o)BigInt(ee())>=BigInt(L.quote.expiresAt)&&o.delete(U);for(;o.size>=Oe;)o.delete(o.keys().next().value);return o.set(B.quoteId,{quote:{...B},txs:m.txs.map(U=>({...U})),summary:m.summary}),B},async build(e,p){let s=o.get(e);if(!s)throw new be;if(c(s.quote),Q(p),!P(p,s.quote.wallet))throw new d("Quote was issued for a different wallet.");let i=s.txs.map(a=>({...a}));ke(i.at(-1),s.quote);let m=await n.preview(i,p);if(c(s.quote),m.changes.filter(a=>P(H(a.token.address),H(s.quote.to))).reduce((a,l)=>a+BigInt(l.amount),0n)<BigInt(s.quote.minAmountOut))throw new d("Preview retained output is below the accepted minimum.");return{txs:i,summary:`${s.summary} ${m.summary} ${s.quote.feeDisclosure}`}}}}async function Le(n,t,r){return n.clientFor(b).readContract({address:Re.factory.address,abi:_e,functionName:"getLaunchedToken",args:[F(t)],...r===void 0?{}:{blockNumber:r}})}async function Ze(n,t,r,o){let c=await Le(n,r,o);return c.exists&&P(c.token,r)&&P(y(c.pairToken),y(t))}async function bn(n,t,r,o,c){if(typeof r.token!="string")throw new d("Provide a launch token address.");Q(r.token);let e=F(r.token),p=await Le(n,e,c);if(!p.exists||!P(p.token,e))throw new d("This address is not a Pons launch token.");let s=y(p.pairToken)===K?fe:F(p.pairToken);return De(r.pairToken,F(p.pairToken),t,s),{quote:await Ue(n,!1,c).quote({from:t?s:e,to:t?e:s,amountIn:String(r.amountIn),...r.slippageBps===void 0?{}:{slippageBps:r.slippageBps}},o),input:t?s:e}}var en=n=>({tools:[!0,!1].map(t=>({name:t?"pons_buy":"pons_sell",inputSchema:Ye,async execute(r,o){try{return await Fe(n,r,o,t)}catch(c){throw new d(n.plainError(c))}}}))}),kn=en;export{hn as a,Ue as b,bn as c,en as d,kn as e};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as Te}from"./JFWJBZ7M.js";import{c as Se}from"./VMZYFO6I.js";import{a as qe,b as me,c as De}from"./Z3IBPCY4.js";import{h as Re,i as t,j as A,k as d,l as Ce,m as J,n as k,o as ue,p as F,r as O,s as c,t as ce,u as le,v as pe,w as Ae,x as $e}from"./Y64GFBTA.js";import{a as ve,o as de}from"./LKX5WDOQ.js";import{a as ke}from"./66F5ZH34.js";import{c as re,e as z,g as M}from"./NWNYJ26T.js";import{b as l,j as be}from"./TI727O2H.js";import{a as m}from"./XSD5NL7J.js";import{decodeFunctionData as Ue,erc20Abi as Me}from"viem";var K="0x0000000000000000000000000000000000000000",_=be[l].relay.depository.address.toLowerCase(),xe=30;function Fe(y){return/HTTP (400|401|403)\b|API key|\bhosted\b|authenticated wallet session/i.test(y)}var Ke=y=>{let L=$e(y);async function he(i){let e;try{e=await L(`/intents/status/v3?requestId=${encodeURIComponent(i)}`)}catch(D){if(y.plainError(D)!=="The request timed out. Please try again.")throw D;return{requestId:i,status:"unknown",timedOut:!0,fulfilled:!1,settled:!1,pollAgain:!0,needsAttention:!1,inTxHashes:[],txHashes:[],originChainId:void 0,destinationChainId:void 0,summary:"The status request timed out. Bridge settlement is unknown; poll again."}}if(typeof e.status!="string")throw new m("Relay returned an invalid bridge status.");let n=ce(e.inTxHashes),h=ce(e.txHashes),r=e.originChainId===void 0?void 0:J(e.originChainId),u=e.destinationChainId===void 0?void 0:J(e.destinationChainId),o=le(e.failReason),I=le(e.refundFailReason),s=e.status==="success"&&h.length>0&&u!==void 0,p=e.status==="refund"&&h.length>0&&r!==void 0,$=e.status==="failure"&&I!==void 0,f=["waiting","depositing","pending","submitted","failure","refund","success"].includes(e.status)?e.status==="failure"&&/TIMEOUT|EXPIRED/.test(typeof e.failReason=="string"?e.failReason:"")?"timeout":e.status:"unknown",q=s?"Relay reports destination fulfillment.":p?"Relay reports a refund on the origin chain; the destination was not fulfilled.":$?"The bridge failed and automatic refund is unavailable. Review the request with Relay.":"Bridge settlement is not confirmed. Poll Relay again; an origin receipt alone does not prove destination fulfillment.";return{requestId:i,status:f,relayStatus:e.status,fulfilled:s,settled:s||p,pollAgain:!s&&!p&&!$,needsAttention:$,timedOut:!1,inTxHashes:n,txHashes:h,originChainId:r,destinationChainId:u,failReason:o,refundFailReason:I,...e.updatedAt===void 0?{}:{updatedAt:k(String(e.updatedAt))},summary:q}}async function Ee(i,e){let n=o=>({destinationVerified:!1,destinationCheck:o}),h;try{if(h=y.clientFor(i),await h.getChainId()!==i)return n(`The configured RPC does not serve chain ${i}; destination receipts were not checked.`)}catch{return n(`No RPC is available for chain ${i}; destination receipts were not checked.`)}let r=[];for(let o of e)try{let I=await h.getTransactionReceipt({hash:o});r.push({hash:o,status:I.status,blockNumber:I.blockNumber.toString()})}catch{return{...n(`Receipt ${o} is not available on chain ${i} yet; poll again.`),destinationReceipts:r}}let u=r.length>0&&r.every(o=>o.status==="success");return{destinationVerified:u,destinationReceipts:r,destinationCheck:u?`Every Relay destination transaction has a successful receipt on chain ${i}. Amounts are not decoded here; compare the recipient balance for the exact delivered amount.`:`A Relay destination transaction did not succeed on chain ${i}; do not treat this bridge as delivered.`}}async function Pe(i){let e=await y.clientFor(l).readContract({address:i,abi:Me,functionName:"decimals"}),n=typeof e=="bigint"?Number(e):e;if(typeof n!="number"||!Number.isInteger(n)||n<0||n>255)throw new m("Could not read valid ERC-20 decimals() on-chain.");return n}async function Oe(i,e){let n=d(e),h=d(i.recipient??n),r=J(i.destinationChainId);if(r===l)throw new m("Choose a destination chain other than 4663.");let u=Ce(i.originCurrency??K),o=u!==K,I=d(i.destinationCurrency??K),s=k(i.amount);if(s==="0")throw new m("Provide a positive bridge amount.");let p=i.minAmountOut===void 0?void 0:k(i.minAmountOut),$=i.slippageBps??me;if(typeof $!="number")throw new m("Slippage must be an integer from 0 to 9999 bps.");de("0",$);let v=A((await L("/chains")).chains).map(t),f=v.find(a=>a.id===l),q=v.find(a=>a.id===r);if(!f||!q||f.disabled!==!1||q.disabled!==!1||f.depositEnabled!==!0||f.vmType!=="evm"||q.vmType!=="evm")throw new m("Relay does not currently support this outbound chain route.");if(!Se(r))throw new m(`Relay has no supported Oak return path from chain ${r}. Choose a destination supported by relay_bridge_in before bridge-out.`);let D=await qe(y.clientFor,r,n,"server"),H=o?await Pe(u):18,b=Math.floor(Date.now()/1e3)+ve,R=await L("/quote/v2",{user:n,recipient:h,originChainId:l,destinationChainId:r,originCurrency:u,destinationCurrency:I,amount:s,tradeType:"EXACT_INPUT",...o?{explicitDeposit:!0}:{}}),C=F(R.requestId),x=t(R.details),N=O(x.currencyIn),g=O(x.currencyOut),S={token:g.token,amount:k(t(x.currencyOut).minimumAmount)};if(c(d(x.sender)===n&&d(x.recipient)===h&&N.token.chainId===l&&N.token.address===u&&N.token.decimals===H&&N.amount===s&&g.token.chainId===r&&g.token.address===I&&BigInt(S.amount)>0n&&BigInt(S.amount)<=BigInt(g.amount)),I===K&&c(g.token.decimals===t(q.currency).decimals),p!==void 0){if(S.amount!==p)throw new m("Relay order minimum must exactly match minAmountOut. Request a new quote.")}else if(BigInt(S.amount)<BigInt(de(g.amount,$)))throw De(g.amount,S.amount);let Z=t(t(R.protocol).v2),G=F(Z.orderId),j=t(Z.orderData),V=t(j.output),ee=ue(V.deadline),X=A(j.inputs).map(t);c(X.length>0);let te=X.flatMap(a=>{let w=A(a.refunds).map(t);return c(w.length>0),w.map(Ie=>{if(d(Ie.recipient)!==n)throw new m("Relay refund recipient does not match the agent wallet. Request a new quote.");return ue(Ie.deadline)})}),_e=te.reduce((a,w)=>Math.min(a,w),ee),ne=Math.min(b,_e-xe),fe=()=>{if(Date.now()/1e3>=ne)throw new m("The Relay quote expired or its order/refund deadline leaves too little time to sign and send. Request a fresh bridge quote.")};fe();let B=A(V.payments).map(t),ie=t(t(f.protocol).v2),He=t(t(q.protocol).v2),Y=t(Z.paymentDetails);c(V.chainId===He.chainId&&B.length===1&&A(V.calls).length===0&&d(B[0].recipient)===h&&d(B[0].currency)===I&&k(B[0].minimumAmount)===S.amount&&k(B[0].expectedAmount)===g.amount&&Y.chainId===ie.chainId&&d(Y.currency)===u&&k(Y.amount)===s),c(d(Y.depository)===_&&d(ie.depository)===_);let oe=t(X[0].payment);c(X.length===1&&oe.chainId===ie.chainId&&d(oe.currency)===u&&k(oe.amount)===s);let U=A(R.steps).map(t),P=o&&U.length===2?U[0]:void 0;c(U.length===(P?2:1));let Q=U[U.length-1];c(Q.kind==="transaction"&&Q.id==="deposit"&&Q.requestId===C);let W=A(Q.items).map(t);c(W.length===1&&W[0].status==="incomplete");let T=t(W[0].data),ye=t(W[0].check);if(c(ye.method==="GET"&&ye.endpoint===`/intents/status/v3?requestId=${C}`&&T.chainId===l&&d(T.from)===n&&d(T.to)===_&&k(T.value)===(o?"0":s)),typeof T.data!="string"||!(o?/^0x[0-9a-fA-F]{264}$/:/^0x[0-9a-fA-F]{136}$/).test(T.data))throw new m(`Relay returned unexpected ${o?"ERC-20":"native"} deposit calldata.`);let E=Ue({abi:Re,data:T.data});E.functionName==="depositErc20"?c(o&&d(E.args[0])===n&&d(E.args[1])===u&&E.args[2]===BigInt(s)&&M(E.args[3],G)):c(!o&&d(E.args[0])===n&&M(E.args[1],G));let Ne=v.filter(a=>a.vmType==="evm"&&z(a.protocol)&&z(a.protocol.v2)).map(a=>t(t(a.protocol).v2).chainId).filter(a=>typeof a=="string");if(!M(Te(j,Ne),G))throw new m("Relay order ID does not match the checked quote terms. Request a new quote.");let ae=o?y.approval(u,_,s,l):void 0;if(P&&ae){c(P.kind==="transaction"&&P.id==="approve"&&P.requestId===C);let a=A(P.items).map(t);c(a.length===1&&a[0].status==="incomplete");let w=t(a[0].data);c(w.chainId===l&&d(w.from)===n&&d(w.to)===u&&k(w.value)==="0"&&typeof w.data=="string"&&M(w.data,ae.data))}let ge=[...ae?await Ae(y,u,_,s,l,n):[],y.unsignedTx({to:_,data:T.data,value:o?"0":s,chainId:l,description:o?`Deposit ${s} base units of ${u} for Relay request ${C}.`:`Deposit native ETH for Relay request ${C}.`})],we=t(R.fees);for(let a of Object.values(we))O(a);let se=await y.preview(ge,n);fe();let Be=se.changes.map(a=>{let w=a.amount.startsWith("-");return`${w?"-":""}${y.formatAmount(w?a.amount.slice(1):a.amount,a.token.decimals)} ${a.token.symbol}`}).join(", ");return{txs:ge,requestId:C,orderId:G,orderData:structuredClone(j),recipient:h,originChainId:l,destinationChainId:r,expiresAt:String(ne),orderDeadline:String(ee),refundDeadlines:te.map(String),returnPath:D,amountIn:N,amountOut:g,minAmountOut:S,fees:we,expandedPriceImpact:x.expandedPriceImpact,timeEstimate:x.timeEstimate,preview:se,summary:`${D} Bridge to ${h} on chain ${r}; asset ${g.token.address} on chain ${g.token.chainId} (${pe(g.token.symbol)}); expected ${g.amount}, minimum ${S.amount} base units (${g.token.decimals} decimals). Order deadline ${ee} Unix seconds; refund deadlines ${te.join(", ")} Unix seconds; accept before ${ne} Unix seconds to reserve ${xe}s to sign and send. Origin preview: ${Be||se.summary}. Relay route fees are included in the quote; origin gas is separate. Poll relay_status with requestId ${C} after local submission; destination fulfillment is not yet confirmed.`}}return{tools:[{name:"relay_bridge_out",inputSchema:{type:"object",required:["destinationChainId","amount"],additionalProperties:!1,properties:{destinationChainId:{type:"integer",minimum:1,description:"Destination chain ID."},amount:{type:"string",pattern:"^[1-9][0-9]*$",description:'Origin token amount in base units using its decimals (USDG has 6: "1000000" = 1 USDG).'},recipient:{...re,description:"Destination recipient address; defaults to your wallet."},originCurrency:{...re,description:"Origin token address; defaults to native ETH."},slippageBps:{type:"integer",minimum:0,maximum:9999,default:me,description:"Slippage in basis points (50 = 0.5%)."},destinationCurrency:{type:"string",description:"Destination token address; defaults to the destination chain\u2019s native token."},minAmountOut:ke('Minimum destination token amount in base units using its decimals (USDG has 6: "1000000" = 1 USDG).')}},execute:async(i,e)=>{try{return await Oe(i,e)}catch(n){throw new m(y.plainError(n))}}},{name:"relay_status",inputSchema:{type:"object",required:["requestId"],additionalProperties:!1,properties:{requestId:{type:"string",pattern:"^0x[0-9a-fA-F]{64}$",description:"Relay request ID as a 0x-prefixed 32-byte hex string."},verifyDestination:{type:"boolean",description:"Check destination transactions on their chain when fulfilled."}}},execute:async i=>{let e=await he(F(i.requestId));return i.verifyDestination!==!0||!e.fulfilled||e.destinationChainId===void 0?e:{...e,...await Ee(e.destinationChainId,e.txHashes)}}}],positions:async i=>{let e=d(i),n=new Map,h={module:"relay",id:"relay-discovery-unavailable",chainId:l,assets:[],incomplete:!0,description:`Relay pending bridge discovery is unavailable: it needs the hosted Relay read (Oak's server-held Relay key), which is not available in this setup; no pending bridges were checked, which is not the same as none pending. Ask the operator to enable it, or check a known request with relay_status {"requestId":"<id>"}. Legacy vault shares on other chains can be checked with relay_vault_status {"chainId":1} or {"chainId":42161}.`};for(let r of["outbound","inbound"]){let u=new Set,o;do{let I=new URLSearchParams({user:e,[r==="outbound"?"originChainId":"destinationChainId"]:String(l),limit:"100",includePendingRequests:"true"});o&&I.set("continuation",o);let s;try{s=await L(`/requests/v3?${I}`)}catch(p){if(Fe(y.plainError(p)))return[...n.values(),h];throw p}for(let p of A(s.requests).map(t)){let $=z(p.depositAddress)?p.depositAddress.depositor:void 0;if(![p.user,p.sender,$].some(C=>typeof C=="string"&&C.toLowerCase()===e))throw new m("Relay returned a request for another wallet.");let v=F(p.id);if(n.has(v))continue;let f=await he(v);if(f.settled)continue;let q=t(p.data),D=t(t(q.route).quoted),H=O(t(D.origin).inputCurrency),b={...H,token:{...H.token,symbol:pe(H.token.symbol)??"unknown"}},R=O(t(D.destination).outputCurrency);c(r==="outbound"?b.token.chainId===l&&R.token.chainId!==l:b.token.chainId!==l&&R.token.chainId===l),f.originChainId!==void 0&&c(f.originChainId===b.token.chainId),f.destinationChainId!==void 0&&c(f.destinationChainId===R.token.chainId),n.set(v,{module:"relay",id:v,chainId:b.token.chainId,assets:[b],description:`Relay ${r} ${f.status}: ${b.amount} ${b.token.symbol} base units (${b.token.decimals} decimals) from chain ${b.token.chainId} toward ${d(p.recipient)} on chain ${R.token.chainId}. ${f.summary} Track with relay_status requestId ${v}.`})}if(s.continuation!==void 0&&s.continuation!==null&&typeof s.continuation!="string")throw new m("Relay returned invalid pagination.");if(o=typeof s.continuation=="string"&&s.continuation?s.continuation:void 0,o){if(u.has(o))throw new m("Relay repeated its pagination cursor. Pending positions are incomplete.");u.add(o)}}while(o)}return[...n.values()]}}};export{Ke as a};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as A}from"./JI5DXDMY.js";import{a as i,b as w,c as b,e as C,f as x,g as h}from"./LJJYYUEG.js";import{a as o}from"./66F5ZH34.js";import{c as y}from"./NWNYJ26T.js";import{b as f}from"./TI727O2H.js";import{a as s}from"./XSD5NL7J.js";import{encodeAbiParameters as S,encodeFunctionData as g,encodePacked as T,erc20Abi as I,getAddress as q,parseAbi as B,parseAbiParameters as D,zeroAddress as R}from"viem";var L=q("0x0000ffffbe8efe702c8703ae3477ff5de3d319c0"),N=D("(address currency,address tokensRecipient,address fundsRecipient,uint64 startBlock,uint64 endBlock,uint64 claimBlock,uint256 tickSpacing,address validationHook,uint256 floorPrice,uint128 requiredCurrencyRaised,bytes auctionStepsData)"),P=B(["function create(address token,uint256 amount,bytes configData,bytes32 salt) returns (address)","function getAddress(address token,uint256 amount,bytes configData,bytes32 salt,address sender) view returns (address)"]),O=B(["function distributeToken(address token,(address strategy,uint128 amount,bytes configData) distribution,bytes32 salt) payable"]),v={token:{...y,description:"Address of the ERC-20 sale token to distribute in this auction."},amount:o('Amount of sale token in base units; use sale token decimals. Example: "1000000" = 1 sale token at 6 decimals.'),currency:{...y,description:"Payment currency address; the zero address means native ETH."},startBlock:o("Future block number at which auction bidding starts, as a decimal string."),endBlock:o("Block number at which auction bidding ends, as a decimal string."),claimBlock:o("First block number at which auction tokens can be claimed, as a decimal string."),tickSpacing:o("Auction price tick spacing in Q96 payment-currency base units per sale-token base unit."),floorPrice:o("Auction floor price in Q96 payment-currency base units per sale-token base unit."),requiredCurrencyRaised:o('Minimum amount of payment currency in base units; use payment currency decimals. Example: "1000000" = 1 payment currency at 6 decimals.'),salt:{description:"Deployment salt as a 32-byte hex string; choose a fresh value for a new deployment.",type:"string",pattern:"^0x[0-9a-fA-F]{64}$"},steps:{description:"Auction issuance steps; durations must cover endBlock minus startBlock and mps times duration must total 10000000.",type:"array",minItems:1,maxItems:100,items:{type:"object",additionalProperties:!1,required:["mps","duration"],properties:{mps:o("Issuance rate per block in MPS units; sum of mps times duration across steps must equal 10000000."),duration:o("Duration of this issuance step in blocks, as a decimal string.")}}}};function $(e,t){let r=i(e.startBlock,"startBlock",64),n=i(e.endBlock,"endBlock",64),c=i(e.claimBlock,"claimBlock",64);if(n<=r||c<n)throw new s("Auction needs startBlock < endBlock <= claimBlock.");if(!Array.isArray(e.steps)||e.steps.length<1||e.steps.length>100)throw new s("Provide 1 to 100 issuance steps.");let u="0x",p=0n,l=0n;for(let d of e.steps){if(!d||typeof d!="object"||Array.isArray(d))throw new s("Each step requires mps and duration decimal strings.");h(d,["mps","duration"]);let a=d,k=i(a.mps,"mps",24,!0),m=i(a.duration,"duration",40);u=`${u}${T(["uint24","uint40"],[Number(k),Number(m)]).slice(2)}`,l+=k*m,p+=m}if(l!==10000000n||p!==n-r)throw new s("Issuance must total exactly 10000000 MPS and its durations must equal endBlock - startBlock.");return S(N,[{currency:b(e.currency),tokensRecipient:t,fundsRecipient:t,startBlock:r,endBlock:n,claimBlock:c,tickSpacing:i(e.tickSpacing,"tickSpacing"),validationHook:R,floorPrice:i(e.floorPrice,"floorPrice"),requiredCurrencyRaised:i(e.requiredCurrencyRaised??"0","requiredCurrencyRaised",128,!0),auctionStepsData:u}])}function z(e){return{tools:[{name:"uniswap_create_auction",inputSchema:{type:"object",additionalProperties:!1,required:["token","amount","currency","startBlock","endBlock","claimBlock","tickSpacing","floorPrice","steps","salt"],properties:v},async execute(t,r){h(t,Object.keys(v));let n=w(t.token),c=i(t.amount,"amount",128);if(n===R||n===b(t.currency))throw new s("Auction sale token must be an ERC-20 distinct from its payment currency.");let u=$(t,r);if(typeof t.salt!="string"||!/^0x[0-9a-fA-F]{64}$/.test(t.salt))throw new s("Provide a 32-byte deployment salt.");let p=t.salt,l=e.clientFor(f),d=await l.getBlockNumber();if(BigInt(String(t.startBlock))<=d)throw new s("Choose a future auction startBlock with time for confirmation and approvals.");let a=await l.readContract({address:A,abi:P,functionName:"getAddress",args:[n,c,u,p,r]});if((await l.getCode({address:a})??"0x")!=="0x")throw new s("This auction already exists; choose a fresh salt or configuration.");let k=await C(e,n),m=[e.unsignedTx({to:A,data:g({abi:P,functionName:"create",args:[n,c,u,p]}),value:"0",chainId:f,description:`Create CCA ${a}; proceeds and unsold tokens go to ${r}.`}),e.unsignedTx({to:n,data:g({abi:I,functionName:"transfer",args:[a,c]}),value:"0",chainId:f,description:`Fund the factory-predicted auction ${a} with exactly ${c} base units of ${n}.`}),e.unsignedTx({to:a,data:g({abi:B(["function onTokensReceived()"]),functionName:"onTokensReceived"}),value:"0",chainId:f,description:`Activate CCA ${a} after its sale tokens arrive.`})];return{...await x(e,m,r,"Create/fund/activate a standalone CCA in three separately confirmed transactions, not an LBP-managed liquidity launch. If interrupted, inspect the predicted address and journal before recovery; do not transfer tokens twice. Raw prices are payment-base-units per sale-token-base-unit in Q96. No validation hook or off-chain signature; all proceeds and unsold tokens go to the signing wallet."),auction:a,sale:{token:k,amount:c.toString()}}}}]}}export{L as a,N as b,P as c,O as d,$ as e,z as f};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{g as V,k as T}from"./
|
|
1
|
+
import{g as V,k as T}from"./OODSXDIH.js";import{t as R,y as A}from"./WBNFRPAT.js";import{e as O,h as D,i as M,j as S,m as U,o as _,p as q}from"./XRDLMTBJ.js";import{a as I,b as k,g as F,h as H,i as N}from"./MQK6OP7S.js";import{a as t}from"./XSD5NL7J.js";import{randomUUID as J}from"node:crypto";import{getAddress as g,parseAbiItem as E}from"viem";var Q=E("event FamilyLaunched(bytes32 indexed familyId,address indexed owner,address indexed subject,address root)"),Y=E("event FamilyTransferred(bytes32 indexed familyId,address indexed owner)"),j=100000n,Z=64,z=512,K=300*1e3;function ce(P){let l=new Map,h=[g(k.launcherLegacy),g(k.launcherV1)],L=I.launcherDeployments,W=h.reduce((r,d)=>BigInt(L[d].blockNumber)<r?BigInt(L[d].blockNumber):r,BigInt(I.blockNumber));return{name:"hookr_lp_positions",inputSchema:{type:"object",additionalProperties:!1,properties:{cursor:{type:"string",minLength:1,maxLength:64,description:"Opaque, wallet-bound cursor from the preceding page; expires after five minutes. Restart without it if expired."},limit:{type:"integer",minimum:1,maximum:20,description:"Position summaries per page; defaults to 10. A page scans at most 100000 blocks and 32 family checks."}}},execute:async(r,d)=>{if(O(r,["cursor","limit"]),P.network==="testnet")throw new t("Hookr LP reads are configured only on mainnet, chain 4663.");let u=r.limit??10;if(typeof u!="number"||!Number.isInteger(u)||u<1||u>20)throw new t("Provide a Hookr position page limit from 1 to 20.");for(let[o,s]of l)s.expires<=Date.now()&&l.delete(o);let f=P.clientFor(4663),e;if(r.cursor!==void 0){if(typeof r.cursor!="string"||!l.has(r.cursor))throw new t("Hookr position cursor is unknown or expired. Restart without cursor; completeness has not been established.");let o=l.get(r.cursor);if(o.wallet!==d)throw new t("Hookr position cursor belongs to a different wallet. Restart without cursor.");if((await H(f,o.block.number)).hash!==o.block.hash)throw new t("Hookr position snapshot changed. Restart without cursor.");e={...o,candidates:[...o.candidates],seen:new Set(o.seen)}}else{let o=await H(f);e={wallet:d,block:o,nextBlock:o.number,firstBlock:W,candidates:[],member:0,seen:new Set,expires:Date.now()+K}}await F(f,e.block.number,[...h,k.rootV1]);let b=[],y=[],w=!1;if(e.candidates.length===0&&e.nextBlock>=e.firstBlock){let o=e.nextBlock,s=o-j+1n>e.firstBlock?o-j+1n:e.firstBlock;try{let i=(await Promise.all(h.flatMap(n=>[Q,Y].map(c=>f.getLogs({address:n,event:c,args:{owner:d},fromBlock:s,toBlock:o,strict:!0}))))).flat();if(i.length>z*2)throw new t("Hookr event page exceeds the bounded discovery limit. A dedicated position index is required.");let m=new Map;for(let n of i){let c=g(n.address),p=D(n.args.familyId);if(n.removed||!n.blockNumber||n.blockNumber<s||n.blockNumber>o||!h.includes(c)||n.args.owner!==d)throw new t("Hookr event page is incomplete or inconsistent with the requested wallet and block range.");let a=`${c}:${p}`;e.seen.has(a)||m.set(a,{launcher:c,familyId:p})}if(e.seen.size+m.size>z)throw new t("Hookr wallet history exceeds the bounded discovery limit. Completeness requires a dedicated position index.");e.candidates=[...m.values()];for(let n of m.keys())e.seen.add(n);e.nextBlock=s-1n}catch(i){w=!0,b.push(i instanceof t?i.message:"Hookr event history is unavailable for this block range. Retry this cursor; an empty page does not establish no positions.")}}let X=0;for(;!w&&e.candidates.length&&y.length<u&&X++<32;){let o=e.candidates[0],s=(i,m)=>q(f,o.launcher,_(o.launcher===g(k.launcherV1)?"launcherV1":"launcher"),i,m,e.block.number);try{let[i,m]=await Promise.all([s("familyOwner",[o.familyId]),s("memberCount",[o.familyId])]),n=M(i);if(BigInt(n)===0n)throw new t("Hookr family owner is unavailable for an indexed family.");if(n!==d){e.candidates.shift(),e.member=0;continue}let c=Number(S(m,8));if(c<1||c>8)throw new t("Hookr family member count is invalid.");for(;e.member<c&&y.length<u;){let p=e.member,a=U(await s("position",[o.familyId,p])),v=T(a.key);if(typeof a.tickLower!="number"||typeof a.tickUpper!="number")throw new t("Hookr family range is incomplete.");A(a.tickLower,a.tickUpper,v.tickSpacing);let $=S(a.liquidity,128),C=R(v);if(await s("poolFamily",[C])!==o.familyId)throw new t("Hookr position does not belong to this family.");let G=V({kind:"family",...o,member:String(p)});y.push({position:G,poolId:C,owner:d,liquidity:$.toString(),range:{tickLower:a.tickLower,tickUpper:a.tickUpper},poolKey:v}),e.member++}e.member===c&&(e.candidates.shift(),e.member=0)}catch(i){w=!0,b.push(i instanceof t?i.message:"Hookr family state is unavailable. Retry this cursor; no zero position is inferred.")}}await N(f,e.block);let x=!w&&e.nextBlock<e.firstBlock&&e.candidates.length===0;x||b.push("Discovery is incomplete. Continue nextCursor, including after an empty page. Current ownership is checked at the fixed snapshot; history gaps are not evidence of no positions.");let B=null;if(!x){for(;l.size>=Z;)l.delete(l.keys().next().value);B=J(),e.expires=Date.now()+K,l.set(B,e)}return typeof r.cursor=="string"&&l.delete(r.cursor),{chainId:4663,blockNumber:e.block.number.toString(),blockHash:e.block.hash,positions:y,nextCursor:B,complete:x,warnings:b,coverage:{custody:"reviewed Launcher families only",historyStartBlock:e.firstBlock.toString(),scannedFromBlock:e.nextBlock<e.block.number?(e.nextBlock+1n).toString():null,scannedThroughBlock:e.nextBlock<e.block.number?e.block.number.toString():null,snapshotBlock:e.block.number.toString()}}}}}export{ce as a};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{g as r}from"./NWNYJ26T.js";import{
|
|
1
|
+
import{g as r}from"./NWNYJ26T.js";import{b as m,j as y}from"./TI727O2H.js";import{a}from"./XSD5NL7J.js";import{decodeAbiParameters as f,decodeFunctionData as K,encodeAbiParameters as w,encodeFunctionData as T,parseAbi as S,parseAbiParameters as k,zeroAddress as v}from"viem";var I=S(["function buy(uint256 quoteIn,uint256 minTokensOut,address recipient) payable returns (uint256)","function sell(uint256 tokensIn,uint256 minQuoteOut,address recipient) returns (uint256)"]),P=S(["function execute(bytes commands,bytes[] inputs,uint256 deadline) payable"]),b=k("((address currency0,address currency1,uint24 fee,int24 tickSpacing,address hooks) poolKey,bool zeroForOne,uint128 amountIn,uint128 amountOutMinimum,uint256 minHopPriceX36,bytes hookData)"),g=k("bytes,bytes[]"),h=k("address,uint256"),O="0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee";function A(c){return r(c,O)?v:c}function H(c,e,d,t){let i=A(c),p=A(e),[n,o]=BigInt(i)<BigInt(p)?[i,p]:[p,i];return{currency0:n,currency1:o,fee:d,tickSpacing:t,hooks:y[m].pons.memeHook.address}}function x(c){let e=K({abi:P,data:c}),[d,t,i]=e.args;if(d!=="0x10"||t.length!==1||!r(T({abi:P,...e}),c))throw new a("Pons router must contain one canonical v4 swap command.");let[p,n]=f(g,t[0]);if(p!=="0x060c0f"||n.length!==3||!r(w(g,[p,n]),t[0]))throw new a("Pons router actions must swap, settle the exact input and take all output to the sender.");let o=f(b,n[0])[0],u=f(h,n[1]),s=f(h,n[2]);if(!r(w(b,[o]),n[0])||!r(w(h,u),n[1])||!r(w(h,s),n[2])||o.hookData!=="0x"||o.minHopPriceX36!==0n||!r(u[0],o.zeroForOne?o.poolKey.currency0:o.poolKey.currency1)||u[1]!==o.amountIn||!r(s[0],o.zeroForOne?o.poolKey.currency1:o.poolKey.currency0)||s[1]!==o.amountOutMinimum)throw new a("Pons router settlement and receipt must match the single swap.");return{swap:o,deadline:i}}function B(c,e){let d=(o,u,s)=>{if(!r(o,u))throw new a(`Built swap ${s} does not match the accepted quote.`)},t=e.ponsPoolToken??e.ponsCurveToken;if(!t||e.ponsPoolToken&&e.ponsCurveToken)throw new a("Pons quote must name exactly one curve or pool token.");let i=r(e.to,t);if(!i&&!r(e.from,t))throw new a("Pons quote must trade its launch token.");let p=i?e.from:e.to;if(r(A(p),t))throw new a("Pons quote pair must differ from its launch token.");if(e.ponsPoolToken){if(d(e.router,y[m].ponsTrade.universal_router.address,"Pons router"),d(e.spender??e.router,y[m].ponsTrade.permit2.address,"Pons spender"),!e.data)throw new a("Pons pool quote must include locally reconstructed calldata.");let{swap:o,deadline:u}=x(c.data),s=x(e.data),l=H(p,t,s.swap.poolKey.fee,s.swap.poolKey.tickSpacing);if(d(o.poolKey.currency0,l.currency0,"pool currency0"),d(o.poolKey.currency1,l.currency1,"pool currency1"),d(o.poolKey.hooks,l.hooks,"pool hook"),o.zeroForOne!==r(A(e.from),l.currency0)||o.poolKey.fee!==s.swap.poolKey.fee||o.poolKey.tickSpacing!==s.swap.poolKey.tickSpacing||u!==s.deadline)throw new a("Pons pool direction, parameters or deadline differ from the accepted quote.");return{from:e.from,to:e.to,wallet:e.wallet,amount:o.amountIn}}let n=K({abi:I,data:c.data});if(n.functionName!==(i?"buy":"sell"))throw new a("Pons curve direction does not match the accepted quote.");return d(e.spender??e.router,e.router,"curve spender"),{from:e.from,to:e.to,wallet:n.args[2],amount:n.args[0]}}export{I as a,A as b,H as c,x as d,B as e};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{c as w,i as T,l as O,m as x,n as R}from"./NWNYJ26T.js";import{b as f,j as S}from"./TI727O2H.js";import{a as c}from"./XSD5NL7J.js";import{a as P}from"./JXOEJPJ4.js";import{encodeFunctionData as $,erc20Abi as E,parseAbi as z,zeroAddress as j}from"viem";var g=S[f].merkl.distributor.address,H=["function accessControlManager() view returns (address)","function isGovernor(address) view returns (bool)","function isGovernorOrGuardian(address) view returns (bool)","function canUpdateMerkleRoot(address) view returns (uint256)","function mainOperators(address,address) view returns (uint256)","function disputeToken() view returns (address)","function disputeAmount() view returns (uint256)","function disputer() view returns (address)","function endOfDisputePeriod() view returns (uint48)","function getMerkleRoot() view returns (bytes32)","function getEpochDuration() view returns (uint32)","function disputePeriod() view returns (uint48)","function upgradeabilityDeactivated() view returns (uint256)","function disputeTree(string)","function updateTree((bytes32 merkleRoot,bytes32 ipfsHash))","function toggleTrusted(address)","function toggleMainOperatorStatus(address,address)","function revokeUpgradeability()","function setEpochDuration(uint32)","function resolveDispute(bool)","function revokeTree()","function recoverERC20(address,address,uint256)","function setDisputePeriod(uint48)","function setDisputeToken(address)","function setDisputeAmount(uint256)"],y=z(H),F={type:"string",pattern:"^\\d+$"},C={type:"string",pattern:"^0x[0-9a-fA-F]{64}$"},G="Provide a valid address.";function m(o,l=!1){let n=T(o,G);return l?n:O(n,G)}function _(o,l=256){return R(o,`Value exceeds uint${l}.`,{bits:l})}function k(o){return x(o,"Merkl returned invalid protocol state.")}function I(o){return typeof o=="number"&&Number.isSafeInteger(o)&&o>=0?String(o):k(o).toString()}var D={updateTree:["merkleRoot","ipfsHash"],toggleTrusted:["target","enabled"],toggleMainOperatorStatus:["target","token","enabled"],revokeUpgradeability:[],setEpochDuration:["amount"],resolveDispute:["valid"],revokeTree:[],recoverERC20:["token","recipient","amount"],setDisputePeriod:["amount"],setDisputeToken:["token"],setDisputeAmount:["amount"]},W=o=>{let l=()=>o.clientFor(f),n=(r,i=[],e=g)=>l().readContract({address:e,abi:y,functionName:r,args:i}),b=(r,i,e,p)=>({name:`merkl_${r}`,inputSchema:{type:"object",properties:i,required:e,additionalProperties:!1},execute:async(u,s)=>{try{let a=Object.keys(u).find(d=>!Object.hasOwn(i,d));if(a)throw new c(`Unsupported Merkl input: ${a}.`);return await p(u,m(s))}catch(a){throw new c(o.plainError(a))}}}),U=async(r,i,e,p)=>{let u=[o.unsignedTx({to:g,data:$({abi:y,functionName:r,args:i}),value:"0",chainId:f,description:e})],s=await o.preview(u,p);return{txs:u,preview:s,summary:`Powered by Merkl \u2014 https://app.merkl.xyz. ${e} ${s.summary}`}};return{tools:[b("distributor_status",{},[],async(r,i)=>{let[e,p,u,s,a,d,t,h,N]=await Promise.all([n("getMerkleRoot"),n("disputeToken"),n("disputeAmount"),n("disputer"),n("endOfDisputePeriod"),n("getEpochDuration"),n("disputePeriod"),n("upgradeabilityDeactivated"),n("accessControlManager")]);if(typeof e!="string"||!/^0x[0-9a-fA-F]{64}$/.test(e)||typeof d!="number"||!Number.isInteger(d)||d<0||d>4294967295)throw new c("Merkl returned invalid Distributor state.");let v=m(N),[M,A]=await Promise.all([n("isGovernor",[i],v),n("isGovernorOrGuardian",[i],v)]);if(typeof M!="boolean"||typeof A!="boolean")throw new c("Merkl returned invalid governance roles.");return{chainId:f,distributor:g,root:e,disputeToken:m(p,!0),disputeAmount:k(u).toString(),disputer:m(s,!0),endOfDisputePeriod:I(a),epochDuration:String(d),disputePeriod:I(t),upgradeabilityDeactivated:k(h).toString(),accessControlManager:v,governor:M,governorOrGuardian:A,summary:"Powered by Merkl \u2014 https://app.merkl.xyz. Dispute amounts are token base units. Opening a dispute locks collateral until governor resolution; a rejected dispute forfeits it."}}),b("dispute",{reason:{type:"string",minLength:1,maxLength:2e3,description:"Public reason for disputing the Merkl tree, from 1 to 2000 characters."}},["reason"],async(r,i)=>{if(typeof r.reason!="string"||!r.reason.trim()||r.reason.length>2e3)throw new c("Provide a public dispute reason of 1 to 2000 characters.");let e=m(await n("disputeToken")),p=k(await n("disputeAmount")),[u,s]=await Promise.all([l().readContract({address:e,abi:E,functionName:"symbol"}),l().readContract({address:e,abi:E,functionName:"decimals"})]);if(typeof u!="string"||!u.trim()||typeof s!="number"||!Number.isInteger(s)||s<0||s>255)throw new c("Merkl dispute token metadata is invalid.");let a=`Dispute Merkl's tree: ${r.reason}. Lock ${p} ${P(u)} base units (token ${e}, decimals ${s}) until governor resolution; rejection forfeits the deposit. There is no unilateral withdrawal.`,d=[...p?[o.approval(e,g,p.toString(),f)]:[],o.unsignedTx({to:g,data:$({abi:y,functionName:"disputeTree",args:[r.reason]}),value:"0",chainId:f,description:a})],t=await o.preview(d,i);return{txs:d,preview:t,deposit:{token:{address:e,symbol:u,decimals:s,chainId:f},amount:p.toString()},summary:`Powered by Merkl \u2014 https://app.merkl.xyz. ${a} ${t.summary}`}}),b("distributor_admin",{operation:{enum:Object.keys(D),description:"Distributor admin operation: tree updates/revocation, trust/operator changes, epoch/dispute settings, resolution, token recovery or upgradeability revocation."},target:{...w,description:"Address whose trusted or operator status is changed."},token:{...w,description:"Reward or recovery token contract address."},recipient:{...w,description:"Address to receive recovered tokens."},amount:{...F,description:'Admin amount: Unix seconds for durations, otherwise token base units using recovery/dispute token decimals (USDG has 6: "1000000" = 1 USDG).'},enabled:{type:"boolean",description:"true enables the selected role; false disables it."},valid:{type:"boolean",description:"Whether the disputed tree is valid."},merkleRoot:{...C,description:"New reward tree root as a 0x-prefixed 32-byte hex string."},ipfsHash:{...C,description:"New tree IPFS content hash as a 0x-prefixed 32-byte hex string."}},["operation"],async(r,i)=>{let e=String(r.operation);if(!Object.hasOwn(D,e))throw new c("Choose a supported Distributor operation.");let p=D[e];for(let t of Object.keys(r))if(t!=="operation"&&!p.includes(t))throw new c(`Input ${t} does not match this Distributor operation.`);let u=m(await n("accessControlManager")),s=await n("isGovernor",[i],u);if(typeof s!="boolean")throw new c("Merkl returned invalid governor status.");if(!s&&!(e==="updateTree"?await n("canUpdateMerkleRoot",[i])===1n:e==="toggleMainOperatorStatus"&&r.token!==j?await n("isGovernorOrGuardian",[i],u)===!0:!1))throw new c("The connected wallet lacks the required Merkl governance role.");let a=p.map(t=>{if(t==="enabled"||t==="valid"){if(typeof r[t]!="boolean")throw new c(`Provide ${t} as boolean.`);return r[t]}if(t==="amount"){let h=_(r[t],e==="setEpochDuration"?32:e==="setDisputePeriod"?48:256);return e==="setEpochDuration"?Number(h):h}if(t==="merkleRoot"||t==="ipfsHash"){if(typeof r[t]!="string"||!/^0x[0-9a-fA-F]{64}$/.test(r[t]))throw new c("Provide a bytes32 root and IPFS hash.");return r[t]}return m(r[t],t==="token"&&e==="toggleMainOperatorStatus")}),d=a;if(e==="updateTree"&&(d=[{merkleRoot:a[0],ipfsHash:a[1]}]),e==="toggleTrusted"||e==="toggleMainOperatorStatus"){let t=await n(e==="toggleTrusted"?"canUpdateMerkleRoot":"mainOperators",e==="toggleTrusted"?[a[0]]:a.slice(0,2));if(t!==0n&&t!==1n)throw new c("Merkl returned invalid authorization state.");if(t===1n===r.enabled)return{txs:[],summary:"Powered by Merkl \u2014 https://app.merkl.xyz. Authorization already has the requested state."};d=a.slice(0,-1)}return U(e,d,`Merkl Distributor ${e} ${JSON.stringify(r)}. Governance affects every claimant. Upgradeability revocation is permanent; dispute resolution returns or forfeits collateral. Authorization operations toggle the observed state; re-preview if state changes.`,i)})]}};export{W as a};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{b as A,i as U,n as X,o as V,q as j}from"./7EACRKFV.js";import{m as v,n as F}from"./WSILNJS2.js";import{a as $}from"./Y2QADJOB.js";import{b as z,e as C,o as Y}from"./QLFPAN6S.js";import{a as w,b as S}from"./Z7FGEWO2.js";import{a as k}from"./LIUXNOLP.js";import{a as P}from"./VVAM3EAK.js";import{a as B}from"./SPJCSEKP.js";import{b as q}from"./SCG5HWMN.js";import{b as T}from"./IX3GZMTM.js";import{t as y}from"./MQ5F2VOK.js";import{b as m,c as f,d as H,e as N,j as g,k as W,l as R,q as K}from"./TI727O2H.js";import{a as o}from"./XSD5NL7J.js";import{a as D,b as L}from"./JXOEJPJ4.js";import{getAddress as b,isAddress as Q,parseAbi as oe}from"viem";var J=[{inputs:[],name:"available",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"ethUsdE18",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"liquidityUsdgE6",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"phase",outputs:[{internalType:"uint8",name:"",type:"uint8"}],stateMutability:"view",type:"function"},{inputs:[],name:"priceSigner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"signer",type:"address"}],name:"setPriceSigner",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"spotOakPerEthE18",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"supplyNet",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"syncPhase",outputs:[{internalType:"uint8",name:"",type:"uint8"}],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"address",name:"wallet",type:"address"},{internalType:"uint256",name:"oakPerEthE18",type:"uint256"},{internalType:"uint64",name:"timestamp",type:"uint64"},{internalType:"bytes32",name:"nonce",type:"bytes32"}],internalType:"struct PriceNote",name:"n",type:"tuple"},{internalType:"bytes",name:"sig",type:"bytes"},{internalType:"address",name:"boundWallet",type:"address"}],name:"verifyNote",outputs:[{internalType:"uint256",name:"oakPerEthE18",type:"uint256"}],stateMutability:"view",type:"function"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"signer",type:"address"}],name:"PriceSignerSet",type:"event"},{inputs:[],name:"NotReady",type:"error"},{inputs:[],name:"NoteBadSignature",type:"error"},{inputs:[],name:"NoteExpired",type:"error"},{inputs:[],name:"NoteNotYetValid",type:"error"},{inputs:[{internalType:"uint256",name:"spot",type:"uint256"},{internalType:"uint256",name:"note",type:"uint256"}],name:"NoteOutsideGuard",type:"error"},{inputs:[],name:"NoteWrongWallet",type:"error"},{inputs:[{internalType:"address",name:"source",type:"address"}],name:"OracleUnreadable",type:"error"}];var M=300,de="1000000000000000000",te=b(g[m].tokens.USDG.address),ne=b(g[f].deployments.test_USDG.address),O=b(g[m].tokens.WETH.address),_=b(g[f].deployments.test_WETH.address);function re(n){let e=n.address.toLowerCase();return n.chainId===m?e===te.toLowerCase():n.chainId===f?e===ne.toLowerCase():!1}function ie(n){return n.chainId!==m&&n.chainId!==f?!1:S(n.address)===w}function ae(n){let e=n.address.toLowerCase();return n.chainId===m?e===O.toLowerCase():n.chainId===f?e===_.toLowerCase():!1}function ce(n){return ie(n)||ae(n)}var ue=-887272,me=887272,fe=(1n<<256n)-1n,le=oe(["function observe(uint32[] secondsAgos) view returns (int56[] tickCumulatives, uint160[] secondsPerLiquidityCumulativeX128s)","function slot0() view returns (uint160 sqrtPriceX96, int24 tick, uint16 observationIndex, uint16 observationCardinality, uint16 observationCardinalityNext, uint8 feeProtocol, bool unlocked)"]);function I(n,e){if(typeof n=="bigint")return n;if(typeof n=="number"){if(!Number.isSafeInteger(n))throw new o(`Invalid ${e} timestamp.`);return BigInt(n)}if(typeof n=="string"&&/^-?\d+$/.test(n.trim()))return BigInt(n.trim());throw new o(`Invalid ${e} timestamp.`)}function _e(n,e=BigInt(Math.floor(Date.now()/1e3)),t=M){try{return l(n,e,t),!0}catch{return!1}}function l(n,e=BigInt(Math.floor(Date.now()/1e3)),t=M){if(!Number.isInteger(t)||t<0)throw new o("Maximum price age must be a non-negative integer.");let s=I(n,"price"),a=I(e,"current");if(s<=0n)throw new o("Price timestamp must be positive.");if(s>a)throw new o("Price timestamp is in the future.");let i=a-s;if(i>BigInt(t))throw new o(`Price is stale: age ${i}s exceeds ${t}s.`);return s.toString()}function be(n){if(!Number.isInteger(n)||n<ue||n>me)throw new o(`Tick ${n} is outside valid Uniswap bounds.`);let e=BigInt(n<0?-n:n),t=(e&0x1n)!==0n?0xfffcb933bd6fad37aa2d162d1a594001n:0x100000000000000000000000000000000n;return(e&0x2n)!==0n&&(t=t*0xfff97272373d413259a46990580e213an>>128n),(e&0x4n)!==0n&&(t=t*0xfff2e50f5f656932ef12357cf3c7fdccn>>128n),(e&0x8n)!==0n&&(t=t*0xffe5caca7e10e4e61c3624eaa0941cd0n>>128n),(e&0x10n)!==0n&&(t=t*0xffcb9843d60f6159c9db58835c926644n>>128n),(e&0x20n)!==0n&&(t=t*0xff973b41fa98c081472e6896dfb254c0n>>128n),(e&0x40n)!==0n&&(t=t*0xff2ea16466c96a3843ec78b326b52861n>>128n),(e&0x80n)!==0n&&(t=t*0xfe5dee046a99a2a811c461f1969c3053n>>128n),(e&0x100n)!==0n&&(t=t*0xfcbe86c7900a88aedcffc83b479aa3a4n>>128n),(e&0x200n)!==0n&&(t=t*0xf987a7253ac413176f2b074cf7815e54n>>128n),(e&0x400n)!==0n&&(t=t*0xf3392b0822b70005940c7a398e4b70f3n>>128n),(e&0x800n)!==0n&&(t=t*0xe7159475a2c29b7443b29c7fa6e889d9n>>128n),(e&0x1000n)!==0n&&(t=t*0xd097f3bdfd2022b8845ad8f792aa5825n>>128n),(e&0x2000n)!==0n&&(t=t*0xa9f746462d870fdf8a65dc1f90e061e5n>>128n),(e&0x4000n)!==0n&&(t=t*0x70d869a156d2a1b890bb3df62baf32f7n>>128n),(e&0x8000n)!==0n&&(t=t*0x31be135f97d08fd981231505542fcfa6n>>128n),(e&0x10000n)!==0n&&(t=t*0x9aa508b5b7a84e1c677de54f3e99bc9n>>128n),(e&0x20000n)!==0n&&(t=t*0x5d6af8dedb81196699c329225ee604n>>128n),(e&0x40000n)!==0n&&(t=t*0x2216e584f5fa1ea926041bedfe98n>>128n),(e&0x80000n)!==0n&&(t=t*0x48a170391f7dc42444e8fa2n>>128n),n>0&&(t=fe/t),(t>>32n)+(t%(1n<<32n)===0n?0n:1n)}async function Z(n,e,t,s){let a=async()=>{throw new o("Price identity resolution is read-only.")},i=B({network:e===f?"testnet":"mainnet",clientFor:r=>t.client??y(t.rpcUrl,r),http:t.http??q(),preview:a,quoteSwap:a,buildSwap:a}),c=await Y(n,{context:i,oakTokenAddress:t.oakTokenAddress??process.env.OAK_TOKEN_ADDRESS,officialStockTokens:t.officialStockTokens,tokenMetadata:s,blockNumber:t.blockNumber,readMetadata:async r=>{let d=t.client??y(t.rpcUrl,e),[u,p]=await Promise.all([P(d,e,r,"symbol",t.blockNumber),P(d,e,r,"decimals",t.blockNumber)]);return{address:r,symbol:u,decimals:p,chainId:e}}});return{address:c.address,symbol:c.kind==="erc20"&&s?s.symbol:c.symbol,decimals:c.decimals,chainId:c.chainId}}async function pe(n,e,t){if(typeof n=="object"&&n!==null){let r=n.chainId??e,d=S(n.address)===w?w:b(n.address),u={address:d,symbol:n.symbol,decimals:n.decimals,chainId:r};return re(u)?{address:d,symbol:"USDG",decimals:N,chainId:r}:ie(u)?{address:w,symbol:"ETH",decimals:18,chainId:r}:ae(u)?{address:d,symbol:"WETH",decimals:18,chainId:r}:Z(u.address,r,t,u)}let s=n.trim(),a=s.toUpperCase(),i=s.toLowerCase();if(a==="ETH"||Q(s,{strict:!1})&&S(s)===w)return{...z,chainId:e};if(a==="WETH"||e===m&&i===O.toLowerCase()||e===f&&i===_.toLowerCase()){if(e!==m&&e!==f)throw new o(`No canonical WETH address configured for chain ${e}.`);return{address:e===f?_:O,symbol:"WETH",decimals:18,chainId:e}}if(a==="USDG"||e===m&&i===W.toLowerCase()||e===f&&i===R.toLowerCase()){if(e!==m&&e!==f)throw new o(`No canonical USDG address configured for chain ${e}.`);return{address:e===f?ne:te,symbol:"USDG",decimals:N,chainId:e}}if(e===m&&(a==="USDE"||i===C.address.toLowerCase()))return{...C,chainId:e};let c=t.oakTokenAddress??process.env.OAK_TOKEN_ADDRESS;if(a==="OAK"||c&&s.toLowerCase()===c.toLowerCase()){if(!c&&!Q(s,{strict:!1}))throw new o("OAK token address is required to price OAK.");return{address:b(c??s),symbol:"OAK",decimals:H,chainId:e}}return Z(n,e,t)}async function h(n,e,t){if(e)return(await n.readContract({address:e,abi:J,functionName:"ethUsdE18",blockNumber:t})).toString();let a=(await n.readContract({address:b(K),abi:le,functionName:"observe",args:[[A,0]],blockNumber:t}))[0];if(!a||a.length<2)throw new o("ETH/USDG pool observation returned insufficient tick cumulatives.");let i=X(a[0],a[1],A),c=be(i);return V(c)}async function x(n,e,t,s){if(n.timestamp!==void 0)return l(n.timestamp,t(),s);if(e&&typeof e.getBlock=="function"){let i=await k(e,n.blockNumber);return l(i.timestamp,t(),s)}let a=t();return l(a,a,s)}function ee(n){if(n.startsWith("untrusted "))try{let e=JSON.parse(n.slice(10));if(typeof e=="string"&&D(e)===n)return n}catch{}return D(n)}async function Ie(n,e={}){let t=e.chainId??m,s=e.maxAgeSeconds??M,a=()=>e.now!==void 0?I(e.now,"current"):BigInt(Math.floor(Date.now()/1e3)),i=await pe(n,t,e);if((L(i.symbol)||i.symbol.length>256)&&(i.symbol=ee(i.symbol)),e.signedNote||e.priceNote){let r=e.signedNote?e.signedNote.note:e.priceNote,d=l(r.timestamp,a(),s);if(e.spotOakPerEthE18!==void 0&&!v(r.oakPerEthE18,e.spotOakPerEthE18))throw new o("Price note is outside the 50% spot guard band.");let u=e.signedNote?.signature??e.signature,p=e.signedNote?.consumer??e.consumer;if(u&&p){let G=await F({note:r,signature:u,consumer:p,signer:e.signer,now:a(),spotOakPerEthE18:e.spotOakPerEthE18,chainId:t});if(!G.valid)throw new o(G.error??"Price note verification failed.")}let E=e.ethUsdE18!==void 0?e.ethUsdE18.toString():await h(e.client??y(e.rpcUrl,t),e.oracleAddress);return{token:i,usdE18:U(E,r.oakPerEthE18),timestamp:d}}if(e.trades){let r=await x(e,e.client,a,s),d=j(e.trades,{now:a(),windowStart:e.windowStart,windowEnd:e.windowEnd});if(e.spotOakPerEthE18!==void 0&&!v(d,e.spotOakPerEthE18))throw new o("30-minute average is outside the 50% spot guard band.");let u=e.ethUsdE18!==void 0?e.ethUsdE18.toString():await h(e.client??y(e.rpcUrl,t),e.oracleAddress);return{token:i,usdE18:U(u,d),timestamp:r}}if(e.usdE18!==void 0){let r=await x(e,e.client,a,s),d=T(e.usdE18.toString());if(d<=0n)throw new o("USD price must be positive.");return{token:i,usdE18:d.toString(),timestamp:r}}if(e.resolver){let r=await e.resolver(i),d=l(r.timestamp,a(),s),u=T(r.usdE18);if(u<=0n)throw new o("USD price must be positive.");return{token:i,usdE18:u.toString(),timestamp:d}}let c=e.client??y(e.rpcUrl,t);if(re(i)){let r=await x(e,c,a,s);return{token:i,usdE18:de,timestamp:r}}if(ce(i)){let r=await x(e,c,a,s),d=await h(c,e.oracleAddress,e.blockNumber);return{token:i,usdE18:d,timestamp:r}}if(i.chainId===m)try{let r=await k(c,e.blockNumber),d=l(r.timestamp,a(),s);if(r.number===null)throw new o("Pons reference requires a mined block.");let[u,p]=await Promise.all([$(i,c,r.number),h(c,e.oracleAddress,r.number)]),E=T(p)*u.numerator/u.denominator;if(E<=0n)throw new o("Pons USD reference price must be positive.");return{token:i,usdE18:E.toString(),timestamp:d}}catch{}throw new o(`Oak has no fresh on-chain trade price for ${ee(i.symbol)}, so it shows no price. balances and positions show a labeled estimate where one exists; an estimate is not a quote.`)}export{M as a,de as b,re as c,ie as d,ae as e,ce as f,_e as g,l as h,be as i,h as j,Ie as k};
|