UNPKG

@subasshrestha/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.

140 lines (139 loc) 5.83 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 { TokenStream = 2, TokenWithdrawStream = 4, DepositToken = 6, PauseResumeTokenStream = 8, WithdrawToken = 10, InstantToken = 12, TokenStreamUpdate = 14, CancelTokenStream = 16, DirectTokenTransfer = 17, InitializeProxyAccount = 18, InitializeTokenAccount = 19 } 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 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 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 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 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 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 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 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 InitializeProxyAccountPayload = { id: ZebecPayloadId; account: Uint8Array; targetChain: ChainId; }; export declare function parseInitializeProxyAccountPayload(arr: Buffer): InitializeProxyAccountPayload; export declare function IsInitializeProxyAccountPayload(payload: any): payload is InitializeProxyAccountPayload; export declare type InitializeTokenAccountPayload = { id: ZebecPayloadId; owner: Uint8Array; tokenMint: Uint8Array; targetChain: ChainId; }; export declare function parseInitializeTokenAccountPayload(arr: Buffer): InitializeTokenAccountPayload; export declare function IsInitializeTokenAccountPayload(payload: any): payload is InitializeTokenAccountPayload; export declare type ParsedZebecPayload = TokenStreamPayload | TokenWithdrawStreamPayload | TokenDepositPayload | PauseTokenStreamPayload | TokenWithdrawPayload | InstantTokenTransferPayload | TokenStreamUpdatePayload | CancelTokenStreamPayload | DirectTokenTransferPayload | InitializeProxyAccountPayload | InitializeTokenAccountPayload; /** Parse the VAA and return the typed payload */ export declare function parseZebecPayload(payloadBuf: Buffer): ParsedZebecPayload;