import { ResponseError, ResponseSuccess } from "../misc"; import { ConnectUniversalDataReply, OKX_CONNECT_ERROR_CODES } from "../index"; import { DeviceALlInfo } from "./device-info"; import { ConnectItemReply } from "./ton"; export type ConnectResponse = ConnectResponseSuccess | ConnectResponseError; export interface ConnectResponseSuccess extends ResponseSuccess { requestId: string; method: 'connect'; payload: { responses: (ConnectItemReply | UniversalResponse)[]; wallet: DeviceALlInfo; }; } export interface ConnectResponseError extends ResponseError { requestId: string; method: 'connect_error'; payload: { code: OKX_CONNECT_ERROR_CODES; message?: string; }; } export type UniversalResponse = { name: "requestAccounts"; accounts: UniversalAccountItem[]; walletName?: string; connectRequestMethods?: ConnectMethodResponseItem[]; }; export type UniversalAccountItem = { namespace: string; addresses: string[]; methods: string[]; extra: { [key: string]: { [key: string]: string; }; }; data?: ConnectUniversalDataReply; }; export type ConnectMethodResponseItem = ConnectMethodResponseSuccessItem | ConnectMethodResponseError; export type ConnectMethodResponseSuccessItem = { method: string; chainId: string; result: unknown[] | Record | object | string | undefined; injectResult?: unknown[] | Record | object | string | undefined; }; export type ConnectMethodResponseError = { method: string; chainId: string; error: { code: number; message: string; }; }; export type AllAddress = { type: number; isEvm: number; walletName: string; deriveName: string; addresses: { coinId: number; address: string; }[]; };