UNPKG

@lucoadam/zebec-wormhole-sdk

Version:

This sdk can be use to transfer assets across chains and to interact with the Zebec's xchain bridge smart contracts for passing message from EVM chain to solana specially to utilize the features of Zebec Streaming and Zebec Multisig Streaming protocol.

201 lines (200 loc) 8.17 kB
/// <reference types="node" /> import { ChainId } from "@certusone/wormhole-sdk"; export declare function parseVaaTyped(signedVAA: Uint8Array): Promise<ParsedVaa<Uint8Array>>; export declare type ParsedVaa<T> = { timestamp: number; nonce: number; emitterChain: ChainId; emitterAddress: Uint8Array; sequence: number; consistencyLevel: number; payload: T; }; export declare const sizeof: (d: "u8" | "boolean" | "u16" | "u64" | "u8[32]" | "evmAdr" | "u256") => number; export declare enum ZebecPayloadId { SolStream = 1, TokenStream = 2, SolWithdrawStream = 3, TokenWithdrawStream = 4, DepositSol = 5, DepositToken = 6, PauseSolStream = 7, PauseTokenStream = 8, WithdrawSol = 9, WithdrawToken = 10, InstantSol = 11, InstantToken = 12, SolStreamUpdate = 13, TokenStreamUpdate = 14, CancelSolStream = 15, CancelTokenStream = 16, DirectTokenTransfer = 17 } export declare type SolStreamPayload = { id: ZebecPayloadId; startTime: bigint; endTime: bigint; amount: bigint; targetChain: ChainId; sender: Uint8Array; recipient: Uint8Array; canCancel: bigint; canUpdate: bigint; }; export declare const parseSolStreamPayload: (arr: Buffer) => SolStreamPayload; export declare function IsSolStreamPayload(payload: any): payload is SolStreamPayload; export declare type TokenStreamPayload = { id: ZebecPayloadId; startTime: bigint; endTime: bigint; amount: bigint; targetChain: ChainId; sender: Uint8Array; recipient: Uint8Array; canCancel: bigint; canUpdate: bigint; tokenMint: Uint8Array; }; export declare const parseTokenStreamPayload: (arr: Buffer) => TokenStreamPayload; export declare function IsTokenStreamPayload(payload: any): payload is TokenStreamPayload; export declare type SolWithdrawStreamPayload = { id: ZebecPayloadId; targetChain: ChainId; withdrawer: Uint8Array; }; export declare const parseSolWithdrawStreamPayload: (arr: Buffer) => SolWithdrawStreamPayload; export declare function IsSolWithdrawStreamPayload(payload: any): payload is SolWithdrawStreamPayload; export declare type TokenWithdrawStreamPayload = { id: ZebecPayloadId; targetChain: ChainId; withdrawer: Uint8Array; tokenMint: Uint8Array; sender: Uint8Array; dataAccount: Uint8Array; }; export declare const parseTokenWithdrawStreamPayload: (arr: Buffer) => TokenWithdrawStreamPayload; export declare function IsTokenWithdrawStreamPayload(payload: any): payload is TokenWithdrawStreamPayload; export declare type SolDepositPayload = { id: ZebecPayloadId; amount: bigint; targetChain: ChainId; sender: Uint8Array; }; export declare const parseSolDepositPayload: (arr: Buffer) => SolDepositPayload; export declare function IsSolDepositPayload(payload: any): payload is SolDepositPayload; export declare type TokenDepositPayload = { id: ZebecPayloadId; amount: bigint; targetChain: ChainId; sender: Uint8Array; tokenMint: Uint8Array; }; export declare const parseTokenDepositPayload: (arr: Buffer) => TokenDepositPayload; export declare function IsTokenDepositPayload(payload: any): payload is TokenDepositPayload; export declare type PauseSolStreamPayload = { id: ZebecPayloadId; targetChain: ChainId; sender: Uint8Array; }; export declare const parsePauseSolStreamPayload: (arr: Buffer) => PauseSolStreamPayload; export declare function IsPauseSolStreamPayload(payload: any): payload is PauseSolStreamPayload; export declare type PauseTokenStreamPayload = { id: ZebecPayloadId; targetChain: ChainId; sender: Uint8Array; tokenMint: Uint8Array; recipient: Uint8Array; dataAccount: Uint8Array; }; export declare const parsePauseTokenStreamPayload: (arr: Buffer) => PauseTokenStreamPayload; export declare function IsPauseTokenStreamPayload(payload: any): payload is PauseTokenStreamPayload; export declare type SolWithdrawPayload = { id: ZebecPayloadId; amount: bigint; targetChain: ChainId; withdrawer: Uint8Array; }; export declare function IsSolWithdrawPayload(payload: any): payload is SolWithdrawPayload; export declare const parseSolWithdrawPayload: (arr: Buffer) => SolWithdrawPayload; export declare type TokenWithdrawPayload = { id: ZebecPayloadId; amount: bigint; targetChain: ChainId; withdrawer: Uint8Array; tokenMint: Uint8Array; }; export declare const parseTokenWithdrawPayload: (arr: Buffer) => TokenWithdrawPayload; export declare function IsTokenWithdrawPayload(payload: any): payload is TokenWithdrawPayload; export declare type InstantSolTransferPayload = { id: ZebecPayloadId; amount: bigint; targetChain: ChainId; sender: Uint8Array; recipient: Uint8Array; }; export declare const parseInstantSolPayload: (arr: Buffer) => InstantSolTransferPayload; export declare function IsInstantSolPayload(payload: any): payload is InstantSolTransferPayload; export declare type InstantTokenTransferPayload = { id: ZebecPayloadId; amount: bigint; targetChain: ChainId; sender: Uint8Array; tokenMint: Uint8Array; recipient: Uint8Array; }; export declare const parseInstantTokenPayload: (arr: Buffer) => InstantTokenTransferPayload; export declare function IsInstantTokenPayload(payload: any): payload is InstantTokenTransferPayload; export declare type SolStreamUpdatePayload = { id: ZebecPayloadId; startTime: bigint; endTime: bigint; amount: bigint; targetChain: ChainId; sender: Uint8Array; recipient: Uint8Array; }; export declare const parseSolStreamUpdatePayload: (arr: Buffer) => SolStreamUpdatePayload; export declare function IsSolStreamUpdatePayload(payload: any): payload is SolStreamUpdatePayload; export declare type TokenStreamUpdatePayload = { id: ZebecPayloadId; startTime: bigint; endTime: bigint; amount: bigint; targetChain: ChainId; sender: Uint8Array; recipient: Uint8Array; tokenMint: Uint8Array; dataAccount: Uint8Array; }; export declare const parseTokenStreamUpdatePayload: (arr: Buffer) => TokenStreamUpdatePayload; export declare function IsTokenStreamUpdatePayload(payload: any): payload is TokenStreamUpdatePayload; export declare type CancelSolStreamPayload = { id: ZebecPayloadId; targetChain: ChainId; sender: Uint8Array; }; export declare function IsCancelSolStreamPayload(payload: any): payload is CancelSolStreamPayload; export declare const parseCancelSolStreamPayload: (arr: Buffer) => CancelSolStreamPayload; export declare type CancelTokenStreamPayload = { id: ZebecPayloadId; targetChain: ChainId; sender: Uint8Array; tokenMint: Uint8Array; recipient: Uint8Array; dataAccount: Uint8Array; }; export declare const parseCancelTokenStreamPayload: (arr: Buffer) => CancelTokenStreamPayload; export declare function IsCancelTokenStreamPayload(payload: any): payload is CancelTokenStreamPayload; export declare type DirectTokenTransferPayload = { id: ZebecPayloadId; amount: bigint; targetChain: ChainId; sender: Uint8Array; tokenMint: Uint8Array; receiver: Uint8Array; }; export declare const parseDirectTokenTransferPayload: (arr: Buffer) => DirectTokenTransferPayload; export declare function IsDirectTokenTransferPayload(payload: any): payload is DirectTokenTransferPayload; export declare type ParsedZebecPayload = SolStreamPayload | TokenStreamPayload | SolWithdrawStreamPayload | TokenWithdrawStreamPayload | SolDepositPayload | TokenDepositPayload | PauseSolStreamPayload | PauseTokenStreamPayload | SolWithdrawPayload | TokenWithdrawPayload | InstantSolTransferPayload | InstantTokenTransferPayload | SolStreamUpdatePayload | TokenStreamUpdatePayload | CancelSolStreamPayload | CancelTokenStreamPayload | DirectTokenTransferPayload; /** Parse the VAA and return the typed payload */ export declare function parseZebecPayload(payloadBuf: Buffer): ParsedZebecPayload;