public static NetworkChannel Create(ChannelAnnouncementMessage announcement, ChannelUpdateMessage update, NetworkNode node1, NetworkNode node2) { NetworkChannel networkChannel = new NetworkChannel(); networkChannel.CreatedEntity = DateTime.Now; networkChannel.Id = announcement.ShortChannelIdHex; networkChannel.Node1 = node1; networkChannel.Node2 = node2; networkChannel.Node1Id = node1.Id; networkChannel.Node2Id = node2.Id; networkChannel.ChannelShortId = announcement.ShortChannelId; networkChannel.Features = announcement.Features; networkChannel.ChainHash = announcement.ChainHash; networkChannel.NodeSignature1 = announcement.NodeSignature1; networkChannel.NodeSignature2 = announcement.NodeSignature2; networkChannel.BitcoinSignature1 = announcement.BitcoinSignature1; networkChannel.BitcoinSignature2 = announcement.BitcoinSignature2; networkChannel.BitcoinKey1 = announcement.BitcoinKey1.PublicKeyCompressed; networkChannel.BitcoinKey2 = announcement.BitcoinKey2.PublicKeyCompressed; if (update != null) { networkChannel.Update(update); } return(networkChannel); }
public void ChannelAnnouncementMessageTest() { var message = new ChannelAnnouncementMessage( "111e45454b0978a623f36a10626ef17b27d9ad44e2760f98cfa3efb37924f0220220bd8acd43ecaa916a80bd4f919c495a2c58982ce7c8625112456464451111".HexToByteArray(), "222e45454b0978a623f36a10626ef17b27d9ad44e2760f98cfa3efb37924f0220220bd8acd43ecaa916a80bd4f919c495a2c58982ce7c8625112456464452222".HexToByteArray(), "333e45454b0978a623f36a10626ef17b27d9ad44e2760f98cfa3efb37924f0220220bd8acd43ecaa916a80bd4f919c495a2c58982ce7c8625112456464453333".HexToByteArray(), "444e45454b0978a623f36a10626ef17b27d9ad44e2760f98cfa3efb37924f0220220bd8acd43ecaa916a80bd4f919c495a2c58982ce7c8625112456464454444".HexToByteArray(), "52".HexToByteArray(), "6fe28c0ab6f1b372c1a6a246ae63f74f931e8365e15a089c68d6190000000000".HexToByteArray(), "b34fafd163cf765b", "b34fafd163cf765b".HexToByteArray(), "023da092f6980e58d2c037173180e9a465476026ee50f96695963e8efe436f54eb", "0212a140cd0c6539d07cd08dfe09984dec3251ea808b892efeac3ede9402bf2b19", new ECKeyPair("034f355bdcb7cc0af728ef3cceb9615d90684bb5b2ca5f859ab0f0b704075871aa", false), new ECKeyPair("032c0b7cf95324a07d05398b240174dc0c2be444d96b159aa6c7f7b1e668680991", false) ); Assert.Equal(256, message.Definition.TypeId); Assert.Equal("111e45454b0978a623f36a10626ef17b27d9ad44e2760f98cfa3efb37924f0220220bd8acd43ecaa916a80bd4f919c495a2c58982ce7c8625112456464451111", message.NodeSignature1.ToHex()); Assert.Equal("222e45454b0978a623f36a10626ef17b27d9ad44e2760f98cfa3efb37924f0220220bd8acd43ecaa916a80bd4f919c495a2c58982ce7c8625112456464452222", message.NodeSignature2.ToHex()); Assert.Equal("333e45454b0978a623f36a10626ef17b27d9ad44e2760f98cfa3efb37924f0220220bd8acd43ecaa916a80bd4f919c495a2c58982ce7c8625112456464453333", message.BitcoinSignature1.ToHex()); Assert.Equal("444e45454b0978a623f36a10626ef17b27d9ad44e2760f98cfa3efb37924f0220220bd8acd43ecaa916a80bd4f919c495a2c58982ce7c8625112456464454444", message.BitcoinSignature2.ToHex()); Assert.Equal("52", message.Features.ToHex()); Assert.Equal("6fe28c0ab6f1b372c1a6a246ae63f74f931e8365e15a089c68d6190000000000", message.ChainHash.ToHex()); Assert.Equal("b34fafd163cf765b", message.ShortChannelId.ToHex()); Assert.Equal("b34fafd163cf765b", message.ShortChannelIdHex); Assert.Equal("023da092f6980e58d2c037173180e9a465476026ee50f96695963e8efe436f54eb", message.NodeId1Hex); Assert.Equal("0212a140cd0c6539d07cd08dfe09984dec3251ea808b892efeac3ede9402bf2b19", message.NodeId2Hex); Assert.Equal("023da092f6980e58d2c037173180e9a465476026ee50f96695963e8efe436f54eb", message.NodeId1.PublicKeyCompressed.ToHex()); Assert.Equal("0212a140cd0c6539d07cd08dfe09984dec3251ea808b892efeac3ede9402bf2b19", message.NodeId2.PublicKeyCompressed.ToHex()); Assert.Equal("034f355bdcb7cc0af728ef3cceb9615d90684bb5b2ca5f859ab0f0b704075871aa", message.BitcoinKey1.PublicKeyCompressed.ToHex()); Assert.Equal("032c0b7cf95324a07d05398b240174dc0c2be444d96b159aa6c7f7b1e668680991", message.BitcoinKey2.PublicKeyCompressed.ToHex()); var properties = message.GetProperties(); Assert.Equal("111e45454b0978a623f36a10626ef17b27d9ad44e2760f98cfa3efb37924f0220220bd8acd43ecaa916a80bd4f919c495a2c58982ce7c8625112456464451111", properties[0].ToHex()); Assert.Equal("222e45454b0978a623f36a10626ef17b27d9ad44e2760f98cfa3efb37924f0220220bd8acd43ecaa916a80bd4f919c495a2c58982ce7c8625112456464452222", properties[1].ToHex()); Assert.Equal("333e45454b0978a623f36a10626ef17b27d9ad44e2760f98cfa3efb37924f0220220bd8acd43ecaa916a80bd4f919c495a2c58982ce7c8625112456464453333", properties[2].ToHex()); Assert.Equal("444e45454b0978a623f36a10626ef17b27d9ad44e2760f98cfa3efb37924f0220220bd8acd43ecaa916a80bd4f919c495a2c58982ce7c8625112456464454444", properties[3].ToHex()); Assert.Equal("52", properties[4].ToHex()); Assert.Equal("6fe28c0ab6f1b372c1a6a246ae63f74f931e8365e15a089c68d6190000000000", properties[5].ToHex()); Assert.Equal("b34fafd163cf765b", properties[6].ToHex()); Assert.Equal("023da092f6980e58d2c037173180e9a465476026ee50f96695963e8efe436f54eb", properties[7].ToHex()); Assert.Equal("0212a140cd0c6539d07cd08dfe09984dec3251ea808b892efeac3ede9402bf2b19", properties[8].ToHex()); Assert.Equal("034f355bdcb7cc0af728ef3cceb9615d90684bb5b2ca5f859ab0f0b704075871aa", properties[9].ToHex()); Assert.Equal("032c0b7cf95324a07d05398b240174dc0c2be444d96b159aa6c7f7b1e668680991", properties[10].ToHex()); Assert.Equal("0100111e45454b0978a623f36a10626ef17b27d9ad44e2760f98cfa3efb37924f0220220bd8acd43ecaa916a80bd4f919c495a2c58982ce7c8625112456464451111" + "222e45454b0978a623f36a10626ef17b27d9ad44e2760f98cfa3efb37924f0220220bd8acd43ecaa916a80bd4f919c495a2c58982ce7c8625112456464452222" + "333e45454b0978a623f36a10626ef17b27d9ad44e2760f98cfa3efb37924f0220220bd8acd43ecaa916a80bd4f919c495a2c58982ce7c8625112456464453333" + "444e45454b0978a623f36a10626ef17b27d9ad44e2760f98cfa3efb37924f0220220bd8acd43ecaa916a80bd4f919c495a2c58982ce7c8625112456464454444" + "000152" + "6fe28c0ab6f1b372c1a6a246ae63f74f931e8365e15a089c68d6190000000000" + "b34fafd163cf765b" + "023da092f6980e58d2c037173180e9a465476026ee50f96695963e8efe436f54eb" + "0212a140cd0c6539d07cd08dfe09984dec3251ea808b892efeac3ede9402bf2b19" + "034f355bdcb7cc0af728ef3cceb9615d90684bb5b2ca5f859ab0f0b704075871aa" + "032c0b7cf95324a07d05398b240174dc0c2be444d96b159aa6c7f7b1e668680991", message.GetBytes().ToHex()); }