import { PromiEvent, TransactionReceipt } from "web3-core"; export interface IGuardiansService { setFromAccount: (address: string) => void; isRegisteredGuardian: (address: string) => Promise; readGuardianInfo: (address: string) => Promise; readMetaDataKeys: () => Promise; readGuardianDetailsPageUrl: (address: string) => Promise; setGuardianDetailsPageUrl: (detailsPageUrl: string) => Promise>; registerGuardian: ( guardianRegistrationPayload: TGuardianRegistrationPayload ) => PromiEvent; updateGuardianInfo: ( guardianUpdatePayload: TGuardianUpdatePayload ) => PromiEvent; unregisterGuardian: () => PromiEvent; } export type TGuardiansRegistrationContractMetadataKeys = { detailsPageUrl: string; } export type TGuardianInfoPayload = { ip: string; orbsAddr: string; name: string; website: string; // contact: string; }; export type TGuardianRegistrationPayload = TGuardianInfoPayload; export type TGuardianUpdatePayload = TGuardianInfoPayload; export type TGuardianInfoResponse = { ip: string; orbsAddr: string; name: string; website: string; // contact: string; /** * Unix timestamp */ registrationTime: number; /** * Unix timestamp */ lastUpdateTime: number; };