/// <summary> /// Returns all the entries in a Chain. Type of entry has timestamp and entryhash value /// </summary> /// <param name="chainHead">ChainHeadData type</param> /// <returns>List of all chain entries</returns> public static List <DataStructs.EntryBlockData.EntryData> GetAllChainEntries(DataStructs.ChainHeadData chainHead) { var block = Entry.GetEntryBlockByKeyMR(chainHead); var blockPointer = block; var dataList = new List <DataStructs.EntryBlockData.EntryData>(); while (!Bytes.Equality(blockPointer.Header.PrevKeyMr, StaticValues.ZeroHash)) { dataList.AddRange(blockPointer.EntryList); // Add all entries in current MR blockPointer = Entry.GetEntryBlockByKeyMR(blockPointer.Header.PrevKeyMr); } dataList.AddRange(blockPointer.EntryList); return(dataList); }
/// <summary> /// Returns an EntryBlock /// </summary> /// <param name="hash">Chainhead</param> /// <returns>EntryBlockData</returns> public static DataStructs.EntryBlockData GetEntryBlockByKeyMR(DataStructs.ChainHeadData chainHead) { return(GetEntryBlockByKeyMR(chainHead.ChainHead)); }