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 RoutesProvider 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 route provider. */ export declare function stargate(options?: stargate.Options): RoutesProvider.Provider<"stargate">; export declare namespace stargate { /** Stargate provider options. */ type Options = { /** Fetch implementation override for chain RPC requests. */ fetch?: RoutesProvider.Fetch | undefined; /** Clock override for deterministic tests. */ now?: (() => Date) | undefined; /** Resolves preferred RPC endpoints for each route chain. */ resolveRpcUrls?: ((chain: Chain.Chain) => readonly string[]) | undefined; }; } /** Validates one direct Stargate action and returns its exact execution allowances. */ export declare function validateAction(options: validateAction.Options): validateAction.Result; export declare namespace validateAction { /** Provider-specific constraints established by Stargate action validation. */ type Result = { /** Exact native values independently validated against provider calldata. */ nativeValues?: readonly Action.NativeValue[] | undefined; /** Exact additional token approvals independently validated against provider calldata. */ tokenApprovals?: readonly Action.TokenApproval[] | undefined; }; /** 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; /** Minimum destination amount encoded in the send call. */ destinationAmountMin: string; /** Destination chain CAIP-2 id. */ destinationChainId: string; /** Curated destination token. */ destinationTokenAddress: string; /** Destination 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 = { /** Exact alternate fee quoted in the payment token's base units. */ alternateFeeAmount?: string | undefined; /** Stargate configuration for the selected route. */ configuration: unknown; /** Minimum destination amount committed by the provider action. */ destinationAmountMin: string; /** Destination chain and address format. */ destinationChain: Chain.Chain; /** Curated destination token. */ destinationTokenAddress: string; /** Fetch implementation override for chain RPC requests. */ fetch?: RoutesProvider.Fetch | undefined; /** Destination beneficiary encoded in the Stargate send. */ recipient: string; /** Preferred source-chain RPC endpoints. */ rpcUrls?: readonly string[] | undefined; /** 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: 'related'; } | { type: 'reorged'; } | { destinationAmount: string; guid: Hex.Hex; sourceBlock: Block; sourceEid: number; type: 'verified'; }; } /** Finds and verifies the included Stargate delivery directly on the destination chain. */ 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; /** Destination block captured before the source transaction was broadcast. */ destinationBlockNumber: string; /** Destination chain and RPC endpoints. */ destinationChain: Chain.Chain; /** Curated destination token. */ destinationTokenAddress: string; /** Fetch implementation override for destination RPC requests. */ fetch?: RoutesProvider.Fetch | undefined; /** GUID emitted by the verified source Stargate pool. */ guid: Hex.Hex; /** Destination beneficiary. */ recipient: string; /** Preferred destination-chain RPC endpoints. */ rpcUrls?: readonly string[] | undefined; /** Optional request cancellation signal. */ signal?: AbortSignal | undefined; /** 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