public void EncodeTest() { var raw = Utils.ToByteArray("0d018eb20902000b020457494343000000000000000004575553440000000000000000829761"); var tx = new Wicc.Tx.UCoinBlockRewardTx() { TxUid = new RegId(0, 11), ValidHeight = 252297, InflatedBcoins = 52321, RewardFees = new Vector <RewardFee>() { new RewardFee() { Token = new TokenSymbol("WICC"), Amount = 0 }, new RewardFee() { Token = new TokenSymbol("WUSD"), Amount = 0 } } }; using (var ms = new MemoryStream()) { var bs = new Serialize(ms, true) { Type = SerializationType.Hash }; bs.ReadWrite(tx); Assert.IsTrue(raw.SequenceEqual(ms.ToArray())); } }
public void DecodeTest() { var raw = Utils.ToByteArray("0d018eb20902000b020457494343000000000000000004575553440000000000000000829761"); var decodedTx = new Wicc.Tx.UCoinBlockRewardTx(); var serialize = new NBitcoin.Wicc.Commons.Serialize(raw); serialize.ReadWrite(decodedTx); var tx = new Wicc.Tx.UCoinBlockRewardTx() { TxUid = new RegId(0, 11), ValidHeight = 252297, InflatedBcoins = 52321, RewardFees = new Vector <RewardFee>() { new RewardFee() { Token = new TokenSymbol("WICC"), Amount = 0 }, new RewardFee() { Token = new TokenSymbol("WUSD"), Amount = 0 } } }; Assert.IsTrue(decodedTx.ValidHeight == tx.ValidHeight); Assert.IsTrue(decodedTx.Version == tx.Version); Assert.IsTrue(decodedTx.TxType == tx.TxType); Assert.IsTrue(decodedTx.InflatedBcoins == tx.InflatedBcoins); Assert.IsTrue(decodedTx.TxUid == tx.TxUid); Assert.IsTrue(decodedTx.RewardFees.Count == tx.RewardFees.Count); Assert.IsTrue(decodedTx.RewardFees[0].Token == tx.RewardFees[0].Token); Assert.IsTrue(decodedTx.RewardFees[0].Amount == tx.RewardFees[0].Amount); Assert.IsTrue(decodedTx.RewardFees[1].Token == tx.RewardFees[1].Token); Assert.IsTrue(decodedTx.RewardFees[1].Amount == tx.RewardFees[1].Amount); }