import { Hex } from 'ox'; import * as z from 'zod/mini'; import * as Action from '../Action.js'; import type * as Catalog from '../Catalog.js'; import * as Chain from '../Chain.js'; import * as FundingProvider from '../Provider.js'; /** Stargate provider schemas. */ export declare namespace schema { /** Configuration captured from one selected Stargate route. */ const Configuration: z.ZodMiniObject<{ destinationPoolAddress: z.ZodMiniOptional>; poolAddress: z.ZodMiniString; sourceEid: z.ZodMiniOptional>; }, z.core.$strict>; } /** Creates a direct Stargate V2 OFT funding provider. */ export declare function stargate(options?: stargate.Options): FundingProvider.Provider<"stargate">; export declare namespace stargate { /** Stargate provider options. */ type Options = { /** Fetch implementation override for chain RPC requests. */ fetch?: FundingProvider.Fetch | undefined; /** Clock override for deterministic tests. */ now?: (() => Date) | undefined; }; } /** Validates one direct Stargate action and returns its exact native-value allowance. */ export declare function validateAction(options: validateAction.Options): readonly Action.NativeValue[]; export declare namespace validateAction { /** Expected route terms for one Stargate action. */ type Options = { /** Prepared Stargate action. */ action: Action.EvmCalls; /** Stargate configuration for the selected route. */ configuration?: Catalog.Configuration | undefined; /** Curated Tempo destination token. */ destinationTokenAddress: string; /** Tempo beneficiary. */ recipient: string; /** Source account and LayerZero refund recipient. */ sender: string; /** Exact source amount in base units. */ sourceAmount: string; /** Source chain CAIP-2 id. */ sourceChainId: string; /** Curated source token. */ sourceTokenAddress: string; }; } /** Verifies a submitted Stargate source transaction against stored transfer terms. */ export declare function verifySourceTransaction(options: verifySourceTransaction.Options): Promise; export declare namespace verifySourceTransaction { /** Canonical source block that originally contained the transaction. */ type Block = { /** Source block hash. */ hash: Hex.Hex; /** Source block number. */ number: bigint; }; /** Stored terms and chain access needed to verify one source transaction. */ type Options = { /** Stargate configuration for the selected route. */ configuration: unknown; /** Curated Tempo destination token. */ destinationTokenAddress: string; /** Fetch implementation override for chain RPC requests. */ fetch?: FundingProvider.Fetch | undefined; /** Tempo beneficiary encoded in the Stargate send. */ recipient: string; /** Source account and LayerZero refund recipient. */ sender: string; /** Optional request cancellation signal. */ signal?: AbortSignal | undefined; /** Exact source amount in base units. */ sourceAmount: string; /** Canonical block captured during initial verification. */ sourceBlock?: Block | undefined; /** Source chain and RPC endpoints. */ sourceChain: Chain.Chain; /** Curated source token. */ sourceTokenAddress: string; /** Submitted EVM transaction hash. */ transactionHash: string; /** Earliest accepted source block timestamp. */ validAfter: string; }; /** Source transaction verification outcome. */ type Result = { type: 'invalid'; } | { type: 'pending'; } | { type: 'reorged'; } | { guid: Hex.Hex; sourceBlock: Block; sourceEid: number; type: 'verified'; }; } /** Finds and verifies the finalized Stargate delivery directly on Tempo. */ export declare function verifyDestinationDelivery(options: verifyDestinationDelivery.Options): Promise; export declare namespace verifyDestinationDelivery { /** Stored terms and chain access needed to discover and verify one delivery. */ type Options = { /** Stargate configuration for the selected route. */ configuration: unknown; /** Exact destination amount in base units. */ destinationAmount: string; /** Tempo block captured before the source transaction was broadcast. */ destinationBlockNumber: string; /** Tempo chain and RPC endpoints. */ destinationChain: Chain.Chain; /** Curated Tempo destination token. */ destinationTokenAddress: string; /** Fetch implementation override for Tempo RPC requests. */ fetch?: FundingProvider.Fetch | undefined; /** GUID emitted by the verified source Stargate pool. */ guid: Hex.Hex; /** Tempo beneficiary. */ recipient: string; /** Source chain CAIP-2 id. */ sourceChainId: string; /** Curated source token. */ sourceTokenAddress: string; }; /** Destination delivery verification outcome. */ type Result = { type: 'invalid'; } | { type: 'pending'; } | { transactionHash: Hex.Hex; type: 'verified'; }; } //# sourceMappingURL=stargate.d.ts.map