import { SerializedSignature } from '@mysten/sui.js/cryptography'; import { IOwnerWithWeight, UserMSafeStatus } from '@/types'; export type ICreateMSafeReq = IMSafeConfigDtoInternal & { signature: SerializedSignature; }; export type IMSafeInfoResp = IMSafeConfigDtoInternal & { address: string; }; export interface IMSafeConfigDtoInternal { name: string; description?: string; owners: IOwnerWithWeightPKEncodedWithStatus[]; threshold: number; creationNonce: number; } export interface IUpdateMSafeStatusReq { msafeAddress: string; status: UserMSafeStatus; } export interface IUserInfoResp { address: string; publicKey: string; schema: string; creationNonce: number; } export type IOwnerWithWeightPKEncoded = IOwnerWithWeight & IPublicKeyEncoded; export type IOwnerWithWeightPKEncodedWithStatus = IOwnerWithWeightPKEncoded & { status: string; }; export interface IPublicKeyEncoded { publicKeyEncoded: string; schema: string; } export interface IGetMSafeQuery { msafeAddress: string; page?: string; limit?: string; } export interface IGetMSafesQuery { status?: UserMSafeStatus; page?: string; limit?: string; } export interface IGetPublicKeyBatchQuery { userAddressList: string[]; } export type IGetPublicKeyBatchResp = (IPublicKeyEncoded | undefined | null)[];