Skip to content
Snippets Groups Projects
types.d.ts 4.39 KiB
Newer Older
  • Learn to ignore specific revisions
  • import VerificationError from "./services/VerificationService/VerificationError";
    
    Igor Markin's avatar
    Igor Markin committed
    export interface Participant {
    
    Igor Markin's avatar
    Igor Markin committed
        name: string;
        email: string;
    
    Igor Markin's avatar
    Igor Markin committed
    }
    export interface Attachment {
    
    Igor Markin's avatar
    Igor Markin committed
        name: string;
        url?: string;
        size: number;
        hash: string;
    
    Igor Markin's avatar
    Igor Markin committed
        hashAlg: string;
    
        signature: string;
    
    Igor Markin's avatar
    Igor Markin committed
    }
    
    Alexey Lunin's avatar
    Alexey Lunin committed
    export interface IpfsContentData {
        cid: string;
        key: string;
        head: string;
    }
    export interface IpfsAttachmentData {
        cid: string;
        key: string;
        contentHash: string;
        head: string;
    
    Alexey Lunin's avatar
    Alexey Lunin committed
    }
    
    export declare type IpfsDataVersion = undefined | "v2";
    
    Alexey Lunin's avatar
    Alexey Lunin committed
    export interface IpfsData {
    
    Alexey Lunin's avatar
    Alexey Lunin committed
        plaintText: IpfsContentData;
        html: IpfsContentData;
        attachments: Array<IpfsAttachmentData>;
    }
    
    export interface MessageData {
    
    Igor Markin's avatar
    Igor Markin committed
        sender: Participant;
    
    Igor Markin's avatar
    Igor Markin committed
        subject: string;
    
        date: string;
    
    Igor Markin's avatar
    Igor Markin committed
        recipients: {
            to: Array<Participant>;
    
    Igor Markin's avatar
    Igor Markin committed
            cc?: Array<Participant>;
    
    Igor Markin's avatar
    Igor Markin committed
        };
        attachments: Array<Attachment>;
    
        senderPublicKeyUuid: string;
    
    Alexey Lunin's avatar
    Alexey Lunin committed
        ipfs?: IpfsData;
    
    Igor Markin's avatar
    Igor Markin committed
    }
    
    Igor Markin's avatar
    Igor Markin committed
    export interface StatusData {
    
        statusRaw: string;
    
        statusClassName?: string;
    
    Igor Markin's avatar
    Igor Markin committed
        batchId: string;
    
    Igor Markin's avatar
    Igor Markin committed
        transactionHash: string;
    
    Igor Markin's avatar
    Igor Markin committed
    }
    
    Igor Markin's avatar
    Igor Markin committed
    export interface BatchVerificationDetails {
    
    Igor Markin's avatar
    Igor Markin committed
        statusPosition: number;
    
    Igor Markin's avatar
    Igor Markin committed
        batchSize: number;
    
    Igor Markin's avatar
    Igor Markin committed
        verified: boolean;
    
    Igor Markin's avatar
    Igor Markin committed
        batchHash: string;
    
    Igor Markin's avatar
    Igor Markin committed
    }
    
    Igor Markin's avatar
    Igor Markin committed
    export interface StatusesBatchData {
        verificationMethod: string;
        hash: string;
        items: Array<string>;
    
    Igor Markin's avatar
    Igor Markin committed
    }
    export interface VerificationData {
    
    Igor Markin's avatar
    Igor Markin committed
        statusData?: StatusData;
        blockData?: BlockData;
    
    Igor Markin's avatar
    Igor Markin committed
        batchVerificationDetails?: BatchVerificationDetails;
    
    Igor Markin's avatar
    Igor Markin committed
    }
    export interface BlockData {
    
    Igor Markin's avatar
    Igor Markin committed
        blockHeight: number;
        timestamp: number;
        confirmationsAmount: number;
    
    Igor Markin's avatar
    Igor Markin committed
    }
    export interface TxData {
    
    Igor Markin's avatar
    Igor Markin committed
        hash: string;
        blockHeight: number;
    
    Igor Markin's avatar
    Igor Markin committed
        tx: {
            callData: string;
        };
    
    Igor Markin's avatar
    Igor Markin committed
    }
    
    Igor Markin's avatar
    Igor Markin committed
    export interface DecodedCallData {
        key: string;
        value: string;
    
    Igor Markin's avatar
    Igor Markin committed
    }
    
    Igor Markin's avatar
    Igor Markin committed
    export interface AttachmentSignature {
        value: string;
        preSignHashAlgorithm: string;
    }
    
    export interface SenderStatusObject {
    
    Igor Markin's avatar
    Igor Markin committed
        signatureTime: number;
    
    Igor Markin's avatar
    Igor Markin committed
        signatureTimeSignature: string;
    
        messageSignature?: string;
    
    Igor Markin's avatar
    Igor Markin committed
        attachmentsSignatures: {
            [key: string]: {
                list: AttachmentSignature[];
            };
    
    Igor Markin's avatar
    Igor Markin committed
        };
    
    Igor Markin's avatar
    Igor Markin committed
        messageSignatureHashingAlgorithm: string;
        senderSystem: string;
    
    Igor Markin's avatar
    Igor Markin committed
        sealHash?: string;
        sealSignature?: string;
    
    Igor Markin's avatar
    Igor Markin committed
        htmlPartsSignature?: string;
        plainPartsSignature?: string;
        pseudoPlainPartsSignature?: string;
    
    }
    export interface RecipientStatusObjectData {
    
    Igor Markin's avatar
    Igor Markin committed
        creationDate: number;
    
    Igor Markin's avatar
    Igor Markin committed
        gatewayDomainHash: string;
        randomToken: string;
    
    }
    export interface RecipientStatusObject {
    
    Igor Markin's avatar
    Igor Markin committed
        iv: string;
        encryptedContent: string;
    
    Igor Markin's avatar
    Igor Markin committed
        decryptors: {
    
    Igor Markin's avatar
    Igor Markin committed
            [key: string]: string;
    
    Igor Markin's avatar
    Igor Markin committed
        };
    
    }
    export interface WrapperData {
    
    Igor Markin's avatar
    Igor Markin committed
        data: string | ArrayBuffer;
    
    Igor Markin's avatar
    Igor Markin committed
        version: number;
        className: string;
    
    export interface QrCodeData {
        encryptedKey: Uint8Array;
        encryptedData: Uint8Array;
        nonce: Uint8Array;
    }
    
    export declare type StatusObject = SenderStatusObject | RecipientStatusObject;
    
    Igor Markin's avatar
    Igor Markin committed
    export interface KeyDataPair {
        key: string;
        data: string;
    }
    
    export interface ICert {
        clientCertificate: boolean;
        issuedBy: {
            countryName: string;
            organizationName: string;
            commonName: string;
        };
        issuedTo: {
            countryName: string;
            organizationalUnitName: string;
            organizationName: string;
            commonName: string;
        };
        validityPeriod: {
            notBefore: string;
            notAfter: string;
        };
        pemCertificate: string;
    }
    export interface ISignature {
        isExpired: boolean;
        meta: {
            certs: Array<ICert>;
            reason: string;
            contactInfo: string;
            location: string;
            signDate: string;
        };
    }
    
    Zdravko Iliev's avatar
    Zdravko Iliev committed
    export interface DocumentData {
        author: string;
        documentTitle: string;
        creationDate: string;
    
        lastModDate: string;
    
    Zdravko Iliev's avatar
    Zdravko Iliev committed
        documentPages: number;
    
        expired?: boolean;
        signatures?: Array<ISignature>;
        ipfs?: IpfsContentData;
    
    Zdravko Iliev's avatar
    Zdravko Iliev committed
    }
    export interface DocumentStatusObject {
        timestamp: number;
        sealHash: string;
    }
    
    Zdravko Iliev's avatar
    Zdravko Iliev committed
    export interface SealHeadData {
        key: string;
        data: string;
        ipfsIndexCid: string;
    }
    export interface SealIndexObject {
        sealKey: string;
        sealTailCid: string;
        chain: string;
        transactionId: string;
        hashBatchId: string;
    }