UNPKG

@luffalab/luffa-endless-sdk

Version:

luffa endless ts sdk

108 lines (106 loc) 3.05 kB
declare enum Network { MAINNET = "mainnet", TESTNET = "testnet", ETH = "eth", BSC = "bsc" } type IInitData = { colorMode?: 'light' | 'dark'; network: Network | string; fullnode?: string; indexer?: string; walletUrl?: string; prover?: string; callbackWalletName?: string; miniprogram?: Boolean; windowWidth?: number; }; type ChainData = { targetNet: 'endless' | 'eds' | 'eth' | 'bsc'; }; declare enum UserResponseStatus { APPROVED = "Approved", REJECTED = "Rejected" } interface UserApproval<TResponseArgs> { status: UserResponseStatus.APPROVED; args: TResponseArgs; } interface UserRejection { status: UserResponseStatus.REJECTED; message?: string; } type UserResponse<TResponseArgs> = UserApproval<TResponseArgs> | UserRejection; interface AccountInfo { account: string; address: string; authKey: string; ansName?: string; } interface NetworkInfo { name: Network | string; chainId: number; url?: string; } type EndlessSignMessageInput = { address?: boolean; application?: boolean; chainId?: boolean; message: string; nonce: string; }; type EndlessSignMessageOutput = { address?: string; application?: string; chainId?: number; fullMessage: string; publicKey: string; message: string; nonce: string; prefix: 'Endless::Message'; signature: string; }; type AnyNumber = number | bigint; 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; }; interface EndlessSignAndSubmitTransactionInput { payload: InputEntryFunctionData; options?: InputGenerateTransactionOptions; } declare enum EndlessSendTransactionType { SIGNATURE_ONLY = "signatureOnly", SIGN_AND_SUBMIT = "signAndSubmit" } declare 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; }; } } export { type AccountInfo, type AnyNumber, type ChainData, EndlessSendTransactionType, type EndlessSignAndSubmitTransactionInput, type EndlessSignMessageInput, type EndlessSignMessageOutput, EndlessWalletTransactionType, type IInitData, type InputGenerateTransactionOptions, Network, type NetworkInfo, type UserApproval, type UserRejection, type UserResponse, UserResponseStatus };