class Web3Wallet {
public abstract init(params: { core: CoreClient }): Promise<void>;
public abstract pair(params: { uri: string }): Promise<void>;
public abstract approveSession(params: {
id: number;
namespaces: Map<string, SessionNamespace>;
relayProtocol?: string;
}): Promise<Session>;
public abstract rejectSession(params: {
proposerPublicKey: string;
reason: Reason;
}): Promise<void>;
public abstract updateSession(params: {
topic: string;
namespaces: Map<string, SessionNamespace>;
}): Promise<void>;
public abstract extendSession(params: {
topic: string;
}): Promise<void>;
public abstract respondSessionRequest(params: {
topic: string;
response: JsonRpcResponse;
}): Promise<void>;
public abstract respondAuthRequest(params: RespondParams, iss: string): Promise<boolean>;
public abstract emitSessionEvent(params: {
topic: string;
event: SessionEvent;
chainId: string;
}): Promise<void>;
public abstract disconnectSession(params: {
topic: string;
reason: Reason;
}): Promise<void>;
public abstract getActiveSessions(): Promise<Record<string, Session>>;
public abstract formatMessage(payload: PayloadParams, iss: string): Promise<string>;
public abstract getPendingSessionProposals(): Promise<Record<number, SessionProposal>>;
public abstract getPendingSessionRequests(): Promise<Record<number, SessionRequest>>;
public abstract getPendingAuthRequests(): Promise<Record<number, PendingRequest>>;
public abstract registerDeviceToken(token: string): Promise<void>;
public abstract on("session_proposal", (sessionProposal: SessionProposal, verifyContext: VerifyContext) => {}): void;
public abstract on("session_request", (sessionRequest: SessionRequest, verifyContext: VerifyContext) => {}): void;
public abstract on("session_delete", (sessionDelete: { id: number, topic: string }) => {}): void;
public abstract on("auth_request", (id: number, pairingTopic: String, payload: PayloadParams, verifyContext: VerifyContext) => {}): void;
}