UNPKG

@luffalab/luffa-endless-sdk

Version:

luffa endless ts sdk

125 lines (111 loc) 2.98 kB
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; callbackWalletName?: string; miniprogram?: Boolean; windowWidth?: number; }; export type ChainData = { targetNet: 'endless' | 'eds' | 'eth' | 'bsc' } 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::Message'; signature: string; }; export type AnyNumber = number | bigint; export type InputGenerateTransactionOptions = { maxGasAmount?: number; gasUnitPrice?: number; expireTimestamp?: number; accountSequenceNumber?: AnyNumber; }; type MoveStructId = `${string}::${string}::${string}`; type MoveFunctionId = MoveStructId; type InputEntryFunctionData = { function: MoveFunctionId; typeArguments?: Array<string>; functionArguments: Array<string>; abi?: any; paymentChecksum?: string; }; export interface EndlessSignAndSubmitTransactionInput { payload: InputEntryFunctionData; // the transaction payload options?: InputGenerateTransactionOptions; } /* export interface EndlessSignAndSubmitTransactionInputMiniprogram { gasUnitPrice?: number; // defaults to estimated gas unit price maxGasAmount?: number; // defaults to estimated max gas amount payload: InputEntryFunctionData; // 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 { 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; } } }