UNPKG

@wormhole-foundation/sdk-connect

Version:

The core package for the Connect SDK, used in conjunction with 1 or more of the chain packages

108 lines 5.63 kB
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 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<PN extends ProtocolName = ProtocolName> = { id: AttestationId<PN>; attestation?: Attestation<PN>; }; interface BaseTransferReceipt<SC extends Chain, DC extends Chain> { from: SC; to: DC; state: TransferState; } export interface CreatedTransferReceipt<SC extends Chain = Chain, DC extends Chain = Chain> extends BaseTransferReceipt<SC, DC> { state: TransferState.Created; } export interface SourceInitiatedTransferReceipt<SC extends Chain = Chain, DC extends Chain = Chain> extends BaseTransferReceipt<SC, DC> { state: TransferState.SourceInitiated; originTxs: TransactionId<SC>[]; } export interface SourceFinalizedTransferReceipt<AT, SC extends Chain = Chain, DC extends Chain = Chain> extends BaseTransferReceipt<SC, DC> { state: TransferState.SourceFinalized; originTxs: TransactionId<SC>[]; attestation: AT; } export interface InReviewTransferReceipt<AT, SC extends Chain = Chain, DC extends Chain = Chain> extends BaseTransferReceipt<SC, DC> { state: TransferState.InReview; originTxs: TransactionId<SC>[]; attestation: AT; } export interface AttestedTransferReceipt<AT, SC extends Chain = Chain, DC extends Chain = Chain> extends BaseTransferReceipt<SC, DC> { state: TransferState.Attested; originTxs: TransactionId<SC>[]; attestation: Required<AT>; } export interface RefundedTransferReceipt<AT, SC extends Chain = Chain, DC extends Chain = Chain> extends BaseTransferReceipt<SC, DC> { state: TransferState.Refunded; originTxs: TransactionId<SC>[]; refundTxs: TransactionId<SC>[]; attestation: AT; } export interface RedeemedTransferReceipt<AT, SC extends Chain = Chain, DC extends Chain = Chain> extends BaseTransferReceipt<SC, DC> { state: TransferState.DestinationInitiated; originTxs: TransactionId<SC>[]; attestation: Required<AT>; destinationTxs?: TransactionId<DC>[]; } export interface DestinationQueuedTransferReceipt<AT, SC extends Chain = Chain, DC extends Chain = Chain> extends BaseTransferReceipt<SC, DC> { state: TransferState.DestinationQueued; originTxs: TransactionId<SC>[]; attestation: Required<AT>; destinationTxs?: TransactionId<DC>[]; queueReleaseTime: Date; } export interface CompletedTransferReceipt<AT, SC extends Chain = Chain, DC extends Chain = Chain> extends BaseTransferReceipt<SC, DC> { state: TransferState.DestinationFinalized; originTxs: TransactionId<SC>[]; attestation: AT; destinationTxs?: TransactionId<DC>[]; } export interface FailedTransferReceipt<AT, SC extends Chain = Chain, DC extends Chain = Chain> extends BaseTransferReceipt<SC, DC> { state: TransferState.Failed; originTxs: TransactionId<SC>[]; destinationTxs?: TransactionId<DC>[]; attestation?: AT; error: string | Error; } export declare function isSourceInitiated<AT>(receipt: TransferReceipt<AT>): receipt is SourceInitiatedTransferReceipt; export declare function isSourceFinalized<AT>(receipt: TransferReceipt<AT>): receipt is SourceFinalizedTransferReceipt<AT>; export declare function isInReview<AT>(receipt: TransferReceipt<AT>): receipt is InReviewTransferReceipt<AT>; export declare function isAttested<AT>(receipt: TransferReceipt<AT>): receipt is AttestedTransferReceipt<AT>; export declare function isRefunded<AT>(receipt: TransferReceipt<AT>): receipt is RefundedTransferReceipt<AT>; export declare function isRedeemed<AT>(receipt: TransferReceipt<AT>): receipt is RedeemedTransferReceipt<AT>; export declare function isDestinationQueued<AT>(receipt: TransferReceipt<AT>): receipt is DestinationQueuedTransferReceipt<AT>; export declare function isCompleted<AT>(receipt: TransferReceipt<AT>): receipt is CompletedTransferReceipt<AT>; export declare function isFailed<AT>(receipt: TransferReceipt<AT>): receipt is FailedTransferReceipt<AT>; export type TransferReceipt<AT, SC extends Chain = Chain, DC extends Chain = Chain> = FailedTransferReceipt<AT, SC, DC> | CreatedTransferReceipt<SC, DC> | SourceInitiatedTransferReceipt<SC, DC> | SourceFinalizedTransferReceipt<AT, SC, DC> | InReviewTransferReceipt<AT, SC, DC> | AttestedTransferReceipt<AT, SC, DC> | RefundedTransferReceipt<AT, SC, DC> | RedeemedTransferReceipt<AT, SC, DC> | DestinationQueuedTransferReceipt<AT, SC, DC> | CompletedTransferReceipt<AT, SC, DC>; 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; } export {}; //# sourceMappingURL=types.d.ts.map