BitSharp.Core.Storage.CoreStorage.MarkBlockInvalid C# (CSharp) Метод

MarkBlockInvalid() публичный Метод

public MarkBlockInvalid ( UInt256 blockHash, BitSharp.Core.Domain.Chain targetChain ) : void
blockHash UInt256
targetChain BitSharp.Core.Domain.Chain
Результат void
        public void MarkBlockInvalid(UInt256 blockHash, Chain targetChain)
        {
            var invalidatedBlocks = new List<UInt256>();
            try
            {
                this.blockStorage.Value.MarkBlockInvalid(blockHash);
                invalidatedBlocks.Add(blockHash);

                // mark any blocks further in the target chain as invalid
                ChainedHeader invalidBlock;
                if (targetChain.BlocksByHash.TryGetValue(blockHash, out invalidBlock))
                {
                    for (var height = invalidBlock.Height; height <= targetChain.Height; height++)
                    {
                        invalidBlock = targetChain.Blocks[height];
                        this.blockStorage.Value.MarkBlockInvalid(invalidBlock.Hash);
                        invalidatedBlocks.Add(blockHash);
                    }
                }
            }
            finally
            {
                foreach (var invalidatedBlock in invalidatedBlocks)
                    BlockInvalidated?.Invoke(invalidatedBlock);
            }
        }