public async Task seal_can_recover_address() { _auRaStepCalculator.CurrentStep.Returns(11); _validSealerStrategy.IsValidSealer(Arg.Any <IList <Address> >(), _address, 11).Returns(true); var block = Build.A.Block.WithHeader(Build.A.BlockHeader.WithBeneficiary(_address).WithAura(11, null).TestObject).TestObject; block = await _auRaSealer.SealBlock(block, CancellationToken.None); var ecdsa = new EthereumEcdsa(ChainId.Morden, LimboLogs.Instance); var signature = new Signature(block.Header.AuRaSignature); signature.V += Signature.VOffset; var recoveredAddress = ecdsa.RecoverAddress(signature, block.Header.CalculateHash(RlpBehaviors.ForSealing)); recoveredAddress.Should().Be(_address); }
public async Task seal_can_recover_address() { _auRaStepCalculator.CurrentStep.Returns(11); _auRaValidator.IsValidSealer(_address, 11).Returns(true); var block = Build.A.Block.WithHeader(Build.A.BlockHeader.WithBeneficiary(_address).WithAura(11, null).TestObject).TestObject; block = await _auRaSealer.SealBlock(block, CancellationToken.None); var ecdsa = new EthereumEcdsa(new MordenSpecProvider(), NullLogManager.Instance); var signature = new Signature(block.Header.AuRaSignature); signature.V += Signature.VOffset; var recoveredAddress = ecdsa.RecoverAddress(signature, BlockHeader.CalculateHash(block.Header, RlpBehaviors.ForSealing)); recoveredAddress.Should().Be(_address); }