public void TestHDNodeBySeed() { byte[] seed = "0x403d3e5f3646f517d3d6f51bd98f90493d502d259506abbfe46d5af2196960531edf6030aef3876fe3432f457c9cb9d6f312c538f19d3f30e731022d309683c2".ToBytes(); IHDNode node = new HDNode(seed); IHDNode sonNode = node.Derive(0); IHDNode grandNode = sonNode.Derive(1); Assert.True(node.PrivateKey.ToHexString() == "0x546498ba394789f18b5b4b62227572fe033f8f7f2597a747ada3d8ec8f20f650"); Assert.True(sonNode.PrivateKey.ToHexString() == "0x12ddf96bb7f2c031ee9b776e2b236f2fc46de6f90fb9cd48a82e0c849327d251"); Assert.True(grandNode.PrivateKey.ToHexString() == "0xa7af80364059211616e47394cf49240b40f7a87cea54ec99a6aa1815b586d74e"); }
public void TestHDNodeByMnemonic() { var works = new[] { "mouse", "brave", "fun", "viable", "utility", "veteran", "luggage", "area", "bike", "myself", "target", "thunder" }; IHDNode node = new HDNode(works); IHDNode sonNode = node.Derive(0); IHDNode grandNode = sonNode.Derive(1); Assert.True(node.PrivateKey.ToHexString() == "0x546498ba394789f18b5b4b62227572fe033f8f7f2597a747ada3d8ec8f20f650"); Assert.True(sonNode.PrivateKey.ToHexString() == "0x12ddf96bb7f2c031ee9b776e2b236f2fc46de6f90fb9cd48a82e0c849327d251"); Assert.True(grandNode.PrivateKey.ToHexString() == "0xa7af80364059211616e47394cf49240b40f7a87cea54ec99a6aa1815b586d74e"); }
public void TestHDNodeByPrivateKey() { byte[] privateKey = "0x546498ba394789f18b5b4b62227572fe033f8f7f2597a747ada3d8ec8f20f650".ToBytes(); byte[] chainCode = "0xc86826253a925f5958a838756e20ba33e71566da60b9e274f97342492c578c10".ToBytes(); IHDNode node = new HDNode(privateKey, chainCode); IHDNode sonNode = node.Derive(0); IHDNode grandNode = sonNode.Derive(1); Assert.True(node.PrivateKey.ToHexString() == "0x546498ba394789f18b5b4b62227572fe033f8f7f2597a747ada3d8ec8f20f650"); Assert.True(sonNode.PrivateKey.ToHexString() == "0x12ddf96bb7f2c031ee9b776e2b236f2fc46de6f90fb9cd48a82e0c849327d251"); Assert.True(grandNode.PrivateKey.ToHexString() == "0xa7af80364059211616e47394cf49240b40f7a87cea54ec99a6aa1815b586d74e"); }
public void UpdatePostHDValues() { { double sum = 0; EngineNet engineNet = _engineNet; for (int i = 0; i < engineNet.Nodes.Count; i++) { //if (NodesData[i] == null) continue; var engineNodeSewer = engineNet.Nodes[i] as EngineNodeVolume; if (engineNodeSewer == null) { continue; } IHDNode hdNode = _hdModule.GetNode(engineNodeSewer); if (hdNode == null) { continue; } double volume = engineNodeSewer.GetVolume(hdNode.WaterLevelNp1); _volPostHd.NodesData[i].Value = volume; sum += volume; } for (int i = 0; i < engineNet.Reaches.Count; i++) { IEngineDataReach <double> reachData = _volPostHd.ReachesData[i]; if (reachData == null) { continue; } IHDReach hdReach = _hdModule.GetReach(engineNet.Reaches[i]); if (hdReach == null) { continue; } for (int j = 0; j < reachData.IndexList.Length; j++) { int jgp = reachData.IndexList[j]; IHDHGridPoint hgp = hdReach.GridPoints[jgp] as IHDHGridPoint; if (hgp == null) { reachData[j] = 0; } else { reachData[j] = hgp.WaterVolumeNp1; sum += hgp.WaterLevelNp1; } } } // Store total GenericData[0] = sum; } }
/// <inheritdoc /> public override void UpdateValues() { // if pull version, values are extracted when requested, and no action is required here. // If not pull, this needs to update the data and store it. { double sum = 0; EngineNet engineNet = _engineNet; for (int i = 0; i < engineNet.Nodes.Count; i++) { //if (NodesData[i] == null) continue; var engineNodeSewer = engineNet.Nodes[i] as EngineNodeVolume; if (engineNodeSewer == null) { continue; } IHDNode hdNode = _hdModule.GetNode(engineNodeSewer); if (hdNode == null) { continue; } double volumeN = _volPostHd.NodesData[i].Value; double volumeNp1 = engineNodeSewer.GetVolume(hdNode.WaterLevelNp1); double volumechange = volumeNp1 - volumeN; sum += volumechange; NodesData[i] = volumechange; _volAccumulated.NodesData[i].Value += volumechange; } for (int i = 0; i < engineNet.Reaches.Count; i++) { IEngineDataReach <double> reachDataPostHD = _volPostHd.ReachesData[i]; IEngineDataReach <double> reachDataAcc = _volAccumulated.ReachesData[i]; IEngineDataReach <double> reachData = ReachesData[i]; if (reachData == null) { continue; } IHDReach hdReach = _hdModule.GetReach(engineNet.Reaches[i]); if (hdReach == null) { continue; } for (int j = 0; j < reachData.IndexList.Length; j++) { int jgp = reachData.IndexList[j]; IHDHGridPoint hgp = hdReach.GridPoints[jgp] as IHDHGridPoint; if (hgp == null) { reachData[j] = 0; } else { double volumeN = reachDataPostHD[j]; double volumeNp1 = hgp.WaterVolumeNp1; double volumeChange = volumeNp1 - volumeN; sum += volumeChange; reachData[j] = volumeChange; reachDataAcc[j] += volumeChange; } } } // Store total GenericData[0] = sum; _volAccumulated.GenericData[0] += sum; } }