Skip to content
Snippets Groups Projects
Commit 23277431 authored by Zdravko Iliev's avatar Zdravko Iliev
Browse files

fix

parent b2f7c923
No related branches found
No related tags found
1 merge request!85Resolve "[Document Sealing] Add document proto buffers"
import { KeyDataPair, MessageData, DocumentData } from "../types"; import { KeyDataPair, MessageData, DocumentData, SealHeadData, SealIndexObject } from "../types";
declare const _default: { declare const _default: {
encodeSealHead: (sealHeadData: SealHeadData) => string;
decodeSealHead: (binary: string | ArrayBuffer | Uint8Array) => SealHeadData;
encodeSealIndexObject: (indexObjectData: SealIndexObject) => string;
decodeSealIndexObject: (binary: string | ArrayBuffer | Uint8Array) => SealIndexObject;
encodeDocumentData: (documentData: DocumentData) => string; encodeDocumentData: (documentData: DocumentData) => string;
decodeDocumentData: (binary: string | ArrayBuffer | Uint8Array) => DocumentData; decodeDocumentData: (binary: string | ArrayBuffer | Uint8Array) => DocumentData;
encodeEmailData: (emailData: MessageData) => string; encodeEmailData: (emailData: MessageData) => string;
......
...@@ -16,6 +16,8 @@ const DocumentDataMessageV1 = qrcode_data_pb_1.vereign.protobuf.qrcode_data.Docu ...@@ -16,6 +16,8 @@ const DocumentDataMessageV1 = qrcode_data_pb_1.vereign.protobuf.qrcode_data.Docu
const EmailDataMessageV1 = qrcode_data_pb_1.vereign.protobuf.qrcode_data.EmailData_V1; const EmailDataMessageV1 = qrcode_data_pb_1.vereign.protobuf.qrcode_data.EmailData_V1;
const KeyDataMessageV1 = qrcode_data_pb_1.vereign.protobuf.qrcode_data.KeyData_V1; const KeyDataMessageV1 = qrcode_data_pb_1.vereign.protobuf.qrcode_data.KeyData_V1;
const WrapperDataMessage = qrcode_data_pb_1.vereign.protobuf.qrcode_data.WrapperData; const WrapperDataMessage = qrcode_data_pb_1.vereign.protobuf.qrcode_data.WrapperData;
const SealIndexObjectMessageV1 = qrcode_data_pb_1.vereign.protobuf.qrcode_data.SealIndexObject_V1;
const SealHeadMessageV1 = qrcode_data_pb_1.vereign.protobuf.qrcode_data.SealDocumentHeadData_V1;
const EMAIL_DATA_V1 = "EmailData_V1"; const EMAIL_DATA_V1 = "EmailData_V1";
const DOCUMENT_DATA_V1 = "DocumentData_V1"; const DOCUMENT_DATA_V1 = "DocumentData_V1";
const encodeEmailData = (emailData) => { const encodeEmailData = (emailData) => {
...@@ -111,7 +113,33 @@ const encodeDocumentData = (documentData) => { ...@@ -111,7 +113,33 @@ const encodeDocumentData = (documentData) => {
const wrappedDataBuffer = WrapperDataMessage.encode(wrappedDataMessage).finish(); const wrappedDataBuffer = WrapperDataMessage.encode(wrappedDataMessage).finish();
return (0, common_1.arrayBufferToBase64)(wrappedDataBuffer); return (0, common_1.arrayBufferToBase64)(wrappedDataBuffer);
}; };
const encodeSealHead = (sealHeadData) => {
const sealHeadDataMessage = SealHeadMessageV1.fromObject(sealHeadData);
const buffer = SealHeadMessageV1.encode(sealHeadDataMessage).finish();
return (0, common_1.arrayBufferToBase64)(buffer);
};
const decodeSealHead = (binary) => {
const sealHeadDataMessage = SealHeadMessageV1.decode((0, common_1.ensureUint8Array)(binary));
return SealHeadMessageV1.toObject(sealHeadDataMessage, {
bytes: String,
});
};
const encodeSealIndexObject = (indexObjectData) => {
const sealIndexDataMessage = SealIndexObjectMessageV1.fromObject(indexObjectData);
const buffer = SealIndexObjectMessageV1.encode(sealIndexDataMessage).finish();
return (0, common_1.arrayBufferToBase64)(buffer);
};
const decodeSealIndexObject = (binary) => {
const sealIndexDataMessage = SealIndexObjectMessageV1.decode((0, common_1.ensureUint8Array)(binary));
return SealIndexObjectMessageV1.toObject(sealIndexDataMessage, {
bytes: String,
});
};
exports.default = { exports.default = {
encodeSealHead,
decodeSealHead,
encodeSealIndexObject,
decodeSealIndexObject,
encodeDocumentData, encodeDocumentData,
decodeDocumentData, decodeDocumentData,
encodeEmailData, encodeEmailData,
......
...@@ -147,3 +147,16 @@ export interface DocumentStatusObject { ...@@ -147,3 +147,16 @@ export interface DocumentStatusObject {
timestamp: number; timestamp: number;
sealHash: string; sealHash: string;
} }
export interface SealHeadData {
key: string;
data: string;
ipfsIndexCid: string;
}
export interface SealIndexObject {
sealKey: string;
sealTailCid: string;
chain: string;
block: string;
transactionId: string;
hashBatchId: string;
}
import { KeyDataPair, MessageData, DocumentData } from "../types"; import {
KeyDataPair,
MessageData,
DocumentData,
SealHeadData,
SealIndexObject,
} from "../types";
import { vereign } from "../generated/qrcode_data_pb"; import { vereign } from "../generated/qrcode_data_pb";
import { import {
...@@ -13,6 +19,9 @@ const DocumentDataMessageV1 = vereign.protobuf.qrcode_data.DocumentData_V1; ...@@ -13,6 +19,9 @@ const DocumentDataMessageV1 = vereign.protobuf.qrcode_data.DocumentData_V1;
const EmailDataMessageV1 = vereign.protobuf.qrcode_data.EmailData_V1; const EmailDataMessageV1 = vereign.protobuf.qrcode_data.EmailData_V1;
const KeyDataMessageV1 = vereign.protobuf.qrcode_data.KeyData_V1; const KeyDataMessageV1 = vereign.protobuf.qrcode_data.KeyData_V1;
const WrapperDataMessage = vereign.protobuf.qrcode_data.WrapperData; const WrapperDataMessage = vereign.protobuf.qrcode_data.WrapperData;
const SealIndexObjectMessageV1 =
vereign.protobuf.qrcode_data.SealIndexObject_V1;
const SealHeadMessageV1 = vereign.protobuf.qrcode_data.SealDocumentHeadData_V1;
const EMAIL_DATA_V1 = "EmailData_V1"; const EMAIL_DATA_V1 = "EmailData_V1";
const DOCUMENT_DATA_V1 = "DocumentData_V1"; const DOCUMENT_DATA_V1 = "DocumentData_V1";
...@@ -179,7 +188,50 @@ const encodeDocumentData = (documentData: DocumentData): string => { ...@@ -179,7 +188,50 @@ const encodeDocumentData = (documentData: DocumentData): string => {
return arrayBufferToBase64(wrappedDataBuffer); return arrayBufferToBase64(wrappedDataBuffer);
}; };
const encodeSealHead = (sealHeadData: SealHeadData): string => {
const sealHeadDataMessage = SealHeadMessageV1.fromObject(sealHeadData);
const buffer = SealHeadMessageV1.encode(sealHeadDataMessage).finish();
return arrayBufferToBase64(buffer);
};
const decodeSealHead = (
binary: string | Uint8Array | ArrayBuffer
): SealHeadData => {
const sealHeadDataMessage = SealHeadMessageV1.decode(
ensureUint8Array(binary)
);
return SealHeadMessageV1.toObject(sealHeadDataMessage, {
bytes: String,
}) as SealHeadData;
};
const encodeSealIndexObject = (indexObjectData: SealIndexObject): string => {
const sealIndexDataMessage =
SealIndexObjectMessageV1.fromObject(indexObjectData);
const buffer = SealIndexObjectMessageV1.encode(sealIndexDataMessage).finish();
return arrayBufferToBase64(buffer);
};
const decodeSealIndexObject = (
binary: string | Uint8Array | ArrayBuffer
): SealIndexObject => {
const sealIndexDataMessage = SealIndexObjectMessageV1.decode(
ensureUint8Array(binary)
);
return SealIndexObjectMessageV1.toObject(sealIndexDataMessage, {
bytes: String,
}) as SealIndexObject;
};
export default { export default {
encodeSealHead,
decodeSealHead,
encodeSealIndexObject,
decodeSealIndexObject,
encodeDocumentData, encodeDocumentData,
decodeDocumentData, decodeDocumentData,
encodeEmailData, encodeEmailData,
......
...@@ -172,3 +172,18 @@ export interface DocumentStatusObject { ...@@ -172,3 +172,18 @@ export interface DocumentStatusObject {
timestamp: number; timestamp: number;
sealHash: string; sealHash: string;
} }
export interface SealHeadData {
key: string;
data: string;
ipfsIndexCid: string;
}
export interface SealIndexObject {
sealKey: string;
sealTailCid: string;
chain: string;
block: string;
transactionId: string;
hashBatchId: string;
}
...@@ -73,3 +73,23 @@ message DocumentData_V1 { ...@@ -73,3 +73,23 @@ message DocumentData_V1 {
int32 documentPages = 5; int32 documentPages = 5;
IpfsData_V1 ipfs = 6; IpfsData_V1 ipfs = 6;
} }
/**
* Reference
* https://community.vereign.com/t/seal-blockchain-status-storage-for-documents-and-beyond/371/6
* Step 14
*/
message SealDocumentHeadData_V1 {
bytes key = 1;
bytes data = 2;
string ipfsIndexCid = 3;
}
message SealIndexObject_V1 {
bytes sealKey = 1;
string sealTailCid = 2;
string chain = 3;
string block = 4;
string transactionId = 5;
string hashBatchId = 6;
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment