//Ignore due to bug in geth 1.9.1 [Fact] public async void ShouldDecodeCliqueAuthor() { if (_ethereumClientIntegrationFixture.Geth) { var web3 = _ethereumClientIntegrationFixture.GetWeb3(); var block = await web3.Eth.Blocks.GetBlockWithTransactionsByNumber.SendRequestAsync(new HexBigInteger(1)); var blockHeader = BlockHeaderRPCFactory.FromRPC(block); var account = new CliqueBlockHeaderRecovery().RecoverCliqueSigner(blockHeader); Assert.True(AccountFactory.Address.IsTheSameAddress(account)); } }
public async void ShouldEncodeDecode() { var web3 = _ethereumClientIntegrationFixture.GetWeb3(); var block = await web3.Eth.Blocks.GetBlockWithTransactionsByNumber.SendRequestAsync(new HexBigInteger(1)); var blockHeader = BlockHeaderRPCFactory.FromRPC(block); var encoded = BlockHeaderEncoder.Current.Encode(blockHeader); var decoded = BlockHeaderEncoder.Current.Decode(encoded); Assert.Equal(blockHeader.StateRoot.ToHex(), decoded.StateRoot.ToHex()); Assert.Equal(blockHeader.LogsBloom.ToHex(), decoded.LogsBloom.ToHex()); Assert.Equal(blockHeader.MixHash.ToHex(), decoded.MixHash.ToHex()); Assert.Equal(blockHeader.ReceiptHash.ToHex(), decoded.ReceiptHash.ToHex()); Assert.Equal(blockHeader.Difficulty, decoded.Difficulty); }