UNPKG

@luffalab/luffa-evm-sdk

Version:

luffa evm ts sdk

65 lines (61 loc) 2.64 kB
import { IInitData, UserResponse, AccountInfo, NetworkInfo } from './types.mjs'; export { UserResponseStatus } from './types.mjs'; import { IRequestData, EvmSDKEventType, EvmSDKEventPayload } from './message/types.mjs'; export { EvmSDKEvent } from './message/types.mjs'; export { isLuffa, isLuffaMiniProgram, isLuffaMiniProgramWebview } from './utils/index.mjs'; interface Metadata { title: string; url: string; origin: string; icon: string; gameId: string; userId: string; walletAddress: string; } declare enum MethodName { CONNECT = "connect", GETACCOUNT = "getAccount", DISCONNECT = "disconnect", CURRENT_CHAIN = "currentChain", NETWORK_CHANGE = "luffa_switchChain", SIGN_MESSAGE = "signMessage", SEND_TRANSACTION = "sendTransaction", SIGN_AND_SUBMIT_TRANSACTION = "signAndSubmitTransaction", SIGN_TRANSACTION = "signTransaction", SIGN_BUILD_TRANSACTION = "signBuildTransaction", EVM_APPROVE = "evmApprove", ACCOUNT_CHANGE = "accountChange" } declare class LuffaEvmSdk { static readonly version: string; private static _instance; private message; private _metadata; private _initData; private accountAddress; static getIninData: () => IInitData; static getAccountAddress: () => string | null; static setAccountAddress: (accountAddress: string | null) => void; constructor(initData: IInitData); private initConfig; sendTransaction(params: any): Promise<any>; private getMetadata; request: (data: IRequestData, callback?: (data: unknown) => void) => Promise<any>; luffa_switchChain: (data: IRequestData) => Promise<string | { status: string; }>; currentChain: () => Promise<string | { status: string; }>; getAccount: () => Promise<string[]>; connect: () => Promise<[string]>; disconnect: (callback?: (data: unknown) => void) => Promise<void>; on: <K extends EvmSDKEventType>(methodName: K, callback: (payload: EvmSDKEventPayload<K>) => void) => void; off: <K extends EvmSDKEventType>(methodName: K, callback?: (payload: EvmSDKEventPayload<K>) => void) => void; signAndSubmitTransaction: (data: IRequestData, methodName?: MethodName) => Promise<any>; signTransaction: (params: any, methodName?: MethodName) => Promise<any>; signMessage: (data: IRequestData, callback?: (data: unknown) => void) => Promise<UserResponse<any>>; onAccountChange: (callback: (data: AccountInfo) => void) => void; onNetworkChange: (callback: (data: NetworkInfo) => void) => void; } export { AccountInfo, LuffaEvmSdk, type Metadata, MethodName, UserResponse };