import type { Chain } from "@wormhole-foundation/sdk-base"; import type { Attestation, AttestationId, ProtocolName, TokenId, TransactionId } from "@wormhole-foundation/sdk-definitions"; import type { QuoteWarning } from "./warnings.js"; export interface RelayExplorer { url: string; name: string; } export declare class RelayFailedError extends Error { readonly relayExplorer?: RelayExplorer; constructor(message: string, relayExplorer?: RelayExplorer); } export declare enum TransferState { Failed = -1, Created = 0,// The TokenTransfer object is created SourceInitiated = 1,// Source chain transactions are submitted SourceFinalized = 2,// Source chain transactions are finalized or whenever we have a message id InReview = 3,// Transfer is in review (e.g. held by governor) Attested = 4,// VAA or Circle Attestation is available Refunded = 5,// Transfer failed and was refunded on the source chain DestinationInitiated = 6,// Attestation is submitted to destination chain DestinationQueued = 7,// Transfer is queued on destination chain DestinationFinalized = 8 } export type AttestationReceipt = { id: AttestationId; attestation?: Attestation; }; interface BaseTransferReceipt { from: SC; to: DC; state: TransferState; } export interface CreatedTransferReceipt extends BaseTransferReceipt { state: TransferState.Created; } export interface SourceInitiatedTransferReceipt extends BaseTransferReceipt { state: TransferState.SourceInitiated; originTxs: TransactionId[]; } export interface SourceFinalizedTransferReceipt extends BaseTransferReceipt { state: TransferState.SourceFinalized; originTxs: TransactionId[]; attestation: AT; } export interface InReviewTransferReceipt extends BaseTransferReceipt { state: TransferState.InReview; originTxs: TransactionId[]; attestation: AT; } export interface AttestedTransferReceipt extends BaseTransferReceipt { state: TransferState.Attested; originTxs: TransactionId[]; attestation: Required; } export interface RefundedTransferReceipt extends BaseTransferReceipt { state: TransferState.Refunded; originTxs: TransactionId[]; refundTxs: TransactionId[]; attestation: AT; } export interface RedeemedTransferReceipt extends BaseTransferReceipt { state: TransferState.DestinationInitiated; originTxs: TransactionId[]; attestation: Required; destinationTxs?: TransactionId[]; } export interface DestinationQueuedTransferReceipt extends BaseTransferReceipt { state: TransferState.DestinationQueued; originTxs: TransactionId[]; attestation: Required; destinationTxs?: TransactionId[]; queueReleaseTime: Date; } export interface CompletedTransferReceipt extends BaseTransferReceipt { state: TransferState.DestinationFinalized; originTxs: TransactionId[]; attestation: AT; destinationTxs?: TransactionId[]; } export interface FailedTransferReceipt extends BaseTransferReceipt { state: TransferState.Failed; originTxs: TransactionId[]; destinationTxs?: TransactionId[]; attestation?: AT; error: string | Error; } export declare function isSourceInitiated(receipt: TransferReceipt): receipt is SourceInitiatedTransferReceipt; export declare function isSourceFinalized(receipt: TransferReceipt): receipt is SourceFinalizedTransferReceipt; export declare function isInReview(receipt: TransferReceipt): receipt is InReviewTransferReceipt; export declare function isAttested(receipt: TransferReceipt): receipt is AttestedTransferReceipt; export declare function isRefunded(receipt: TransferReceipt): receipt is RefundedTransferReceipt; export declare function isRedeemed(receipt: TransferReceipt): receipt is RedeemedTransferReceipt; export declare function isDestinationQueued(receipt: TransferReceipt): receipt is DestinationQueuedTransferReceipt; export declare function isCompleted(receipt: TransferReceipt): receipt is CompletedTransferReceipt; export declare function isFailed(receipt: TransferReceipt): receipt is FailedTransferReceipt; export declare function isRelayFailed(receipt: TransferReceipt): receipt is FailedTransferReceipt & { error: RelayFailedError; }; export type TransferReceipt = FailedTransferReceipt | CreatedTransferReceipt | SourceInitiatedTransferReceipt | SourceFinalizedTransferReceipt | InReviewTransferReceipt | AttestedTransferReceipt | RefundedTransferReceipt | RedeemedTransferReceipt | DestinationQueuedTransferReceipt | CompletedTransferReceipt; export interface TransferQuote { sourceToken: { token: TokenId; amount: bigint; }; destinationToken: { token: TokenId; amount: bigint; }; relayFee?: { token: TokenId; amount: bigint; }; destinationNativeGas?: bigint; warnings?: QuoteWarning[]; eta?: number; expires?: Date; details?: D; } export {}; //# sourceMappingURL=types.d.ts.map