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); } }