예제 #1
0
        public void RecoverData(Block block)
        {
            if (block.Transactions.Length == 0 || block.Transactions[0].SenderAddress != null)
            {
                return;
            }

            for (int i = 0; i < block.Transactions.Length; i++)
            {
                _transactionPool.TryGetSender(block.Transactions[i].Hash, out Address sender);
                block.Transactions[i].SenderAddress = sender ?? _ecdsa.RecoverAddress(block.Transactions[i], block.Number);
            }
        }