Beispiel #1
0
        /// <inheritdoc />
        public MaturedBlockDepositsModel ExtractBlockDeposits(ChainedHeaderBlock blockToExtractDepositsFrom, DepositRetrievalType depositRetrievalType)
        {
            Guard.NotNull(blockToExtractDepositsFrom, nameof(blockToExtractDepositsFrom));

            var maturedBlockModel = new MaturedBlockInfoModel()
            {
                BlockHash   = blockToExtractDepositsFrom.ChainedHeader.HashBlock,
                BlockHeight = blockToExtractDepositsFrom.ChainedHeader.Height,
                BlockTime   = blockToExtractDepositsFrom.ChainedHeader.Header.Time
            };

            IReadOnlyList <IDeposit> deposits = ExtractDepositsFromBlock(blockToExtractDepositsFrom.Block, blockToExtractDepositsFrom.ChainedHeader.Height, depositRetrievalType);

            return(new MaturedBlockDepositsModel(maturedBlockModel, deposits));
        }
        public MaturedBlockDepositsModel ExtractBlockDeposits(ChainedHeaderBlock newlyMaturedBlock)
        {
            Guard.NotNull(newlyMaturedBlock, nameof(newlyMaturedBlock));

            var maturedBlock = new MaturedBlockInfoModel()
            {
                BlockHash   = newlyMaturedBlock.ChainedHeader.HashBlock,
                BlockHeight = newlyMaturedBlock.ChainedHeader.Height,
                BlockTime   = newlyMaturedBlock.ChainedHeader.Header.Time
            };

            IReadOnlyList <IDeposit> deposits =
                this.ExtractDepositsFromBlock(newlyMaturedBlock.Block, newlyMaturedBlock.ChainedHeader.Height);

            var maturedBlockDeposits = new MaturedBlockDepositsModel(maturedBlock, deposits);

            return(maturedBlockDeposits);
        }