@luffalab/luffa-evm-sdk
Version:
luffa evm ts sdk
65 lines (61 loc) • 2.64 kB
text/typescript
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 };