// System
using System;
namespace GUPS.AntiCheat.Protected.Collection.Chain
{
///
/// Represents a generic block interface storing transactions of type T.
///
/// The type of content stored in the block transactions.
public interface IBlock
{
///
/// Gets the amount of max transactions this block can store.
///
Int32 Size { get; }
///
/// Gets an array containing the transactions of the block.
///
ITransaction[] Items { get; }
///
/// Gets the transaction at the specified index.
///
/// The index of the transaction to get.
/// The transaction at the specified index.
ITransaction this[Int32 _Index] { get; }
///
/// Gets the count of transactions in the block.
///
Int32 Count { get; }
///
/// Gets the last transaction appended to the block.
///
ITransaction Last { get; }
///
/// Gets the nonce value of the block, which is the hash of the previous block.
///
Int32 Nonce { get; }
///
/// Gets the hash value associated with the block.
///
Int32 Hash { get; }
}
}