UNPKG

@luffalab/luffa-endless-sdk

Version:

luffa endless ts sdk

103 lines (89 loc) 2.35 kB
import type { Signature, InputGenerateTransactionPayloadData, InputGenerateTransactionOptions } from '@endlesslab/endless-ts-sdk'; export enum Network { MAINNET = "mainnet", TESTNET = "testnet", ETH = 'eth', BSC = 'bsc', } export type IInitData = { colorMode?: 'light' | 'dark'; network: Network | string; fullnode?: string; indexer?: string; walletUrl?: string; prover?: string; miniprogram?: Boolean; windowWidth?: number; }; export enum UserResponseStatus { APPROVED = 'Approved', REJECTED = 'Rejected' } export interface UserApproval<TResponseArgs> { status: UserResponseStatus.APPROVED; args: TResponseArgs; } export interface UserRejection { status: UserResponseStatus.REJECTED; message?: string; } export type UserResponse<TResponseArgs> = UserApproval<TResponseArgs> | UserRejection; export interface AccountInfo { account: string; address: string; authKey: string; ansName?: string; } export interface NetworkInfo { name: Network | string; chainId: number; url?: string; } export type EndlessSignMessageInput = { address?: boolean; application?: boolean; chainId?: boolean; message: string; nonce?: string; }; export type EndlessSignMessageOutput = { address?: string; application?: string; chainId?: number; fullMessage: string; publicKey: string; message: string; nonce: string; prefix: 'Endless'; signature: Signature; }; export interface EndlessSignAndSubmitTransactionInput { gasUnitPrice?: number; // defaults to estimated gas unit price maxGasAmount?: number; // defaults to estimated max gas amount payload: InputGenerateTransactionPayloadData; // the transaction payload options?: InputGenerateTransactionOptions; } export enum EndlessSendTransactionType { SIGNATURE_ONLY = 'signatureOnly', SIGN_AND_SUBMIT = 'signAndSubmit' } export enum EndlessWalletTransactionType { SIMPLE = 'simple', MULTI_AGENT = 'multiAgent' } declare global { interface Window { wx: any webkit: any WeixinJSBridge: { invoke(api: string, data: any, callback: (res: any) => void): void; on(api: string, callback: (res: any) => void): void; }, endlessWallet?: { sendResponse: (response: any) => void; }, _endlessWallet?: { sendMessage: (data: any) => void; } } }