UNPKG

@minima-global/mds

Version:

Official MDS Typescript Library for Minima. Used for creating minidapps that interact with the Minima Blockchain.

123 lines 4.14 kB
import type { MDSResponse } from '../../types.js'; import type { MaxContactsParams, MaxExtraParams, MaximaParams } from './params.js'; export type MaximaReturnType<A> = A extends MaximaParams ? A['action'] extends 'info' ? MDSResponse<MaximaInfo> : A['action'] extends 'setname' ? MDSResponse<MaximaSetname> : A['action'] extends 'refresh' ? MDSResponse<MaximaRefresh> : A['action'] extends 'send' ? MDSResponse<MaximaSend> : A['action'] extends 'sendall' ? MDSResponse<MaximaSendall> : A['action'] extends 'hosts' ? MDSResponse<MaximaHosts[]> : never : MDSResponse<MaximaInfo>; export type MaximaSetname = { name: string; }; export type MaximaRefresh = string; export type MaximaSendall = string; export type MaximaHosts = { host: string; public: string; lastseen: string; connected: boolean; }; export type MaximaInfo = { name: string; icon: string; publickey: string; staticmls: boolean; mls: string; localidentity: string; p2pidentity: string; contact: string; logs: boolean; poll: number; }; export type MaximaSend = { from: string; to: string; time: string; timemilli: number; random: string; application: string; data: string; msgid: string; poll: boolean; delay: number; delivered: boolean; creation: number; sending: number; }; export type MaxContactsExtraData = { name: string; icon: string; minimaaddress: string; topblock: string; checkblock: string; checkhash: string; mls: string; }; export type MaxContacts = { id: number; publickey: string; currentaddress: string; myaddress: string; lastseen: number; date: string; extradata: MaxContactsExtraData; chaintip: string; samechain: boolean; }; export type Add = { from: string; to: string; time: string; timemilli: number; random: string; application: string; data: string; msgid: string; delivered: boolean; }; export type MaxContactsExport = { contacts: number; contactlist: string; message: string; }; export type MaxContactImport = { size: number; contacts: MaxContactsAdd[]; }; export type MaxContactsReturnType<A> = A extends MaxContactsParams ? A['action'] extends 'add' ? MDSResponse<MaxContactsAdd> : A['action'] extends 'remove' ? string : A['action'] extends 'search' ? MDSResponse<MaxContactsSearch> : A['action'] extends 'import' ? MDSResponse<MaxContactImport> : A['action'] extends 'export' ? MDSResponse<MaxContactsExport> : A['action'] extends 'list' ? MDSResponse<MaxContacts> : never : MDSResponse<MaxContacts>; export type MaxContactsAdd = { maxima: Add; }; export type MaxContactsSearch = { contact: Omit<MaxContacts, 'chaintip' | 'samechain'>; }; export type MaxCreate = { publickey: string; privatekey: string; }; export type MaxSign = { signature: string; }; export type MaxExtraStaticMLS = { staticmls: boolean; mls: string; }; export type MaxExtraMLSInfo = { publickey: string; mlsallowed: { maximaidentity: string; valid: string[]; }; }; export type MaxExtraReturnType<A> = A extends MaxExtraParams ? A['action'] extends 'staticmls' ? MDSResponse<MaxExtraStaticMLS> : A['action'] extends 'addpermanent' ? MDSResponse<string> : A['action'] extends 'removepermanent' ? MDSResponse<string> : A['action'] extends 'listpermanent' ? MDSResponse<string[]> : A['action'] extends 'clearpermanent' ? MDSResponse<string> : A['action'] extends 'allowallcontacts' ? MDSResponse<string> : A['action'] extends 'clearallowed' ? MDSResponse<MaxClearAllowed> : A['action'] extends 'mlsinfo' ? MDSResponse<MaxExtraMLSInfo> : A['action'] extends 'getaddress' ? MDSResponse<MaxGetAddress> : A['action'] extends 'addallowed' ? MDSResponse<MaxAddAllowed> : never : never; export type MaxClearAllowed = { allowed: string[]; }; export type MaxGetAddress = { publickey: string; mls: string; success: boolean; mlsresponse: {}; }; export type MaxAddAllowed = { added: string; }; export type MaxVerify = { valid: boolean; }; //# sourceMappingURL=response.d.ts.map