public void Should_Deserialize_The_Transaction_With_A_Passphrase() { var fixture = TestHelper.ReadTransactionFixture("second_signature_registration", "second-passphrase"); var transaction = fixture["data"]; var actual = new Crypto.Transactions.Deserializer(fixture["serialized"]).Deserialize(); Assert.AreEqual(1, actual.Version); Assert.AreEqual(30, actual.Network); Assert.AreEqual((byte)transaction["type"], actual.Type); Assert.AreEqual((UInt32)transaction["timestamp"], actual.Timestamp); Assert.AreEqual((string)transaction["senderPublicKey"], actual.SenderPublicKey); Assert.AreEqual((UInt64)transaction["fee"], actual.Fee); Assert.AreEqual((UInt64)transaction["amount"], actual.Amount); Assert.AreEqual((string)transaction["signature"], actual.Signature); Assert.AreEqual((string)transaction["id"], actual.Id); Assert.AreEqual((string)transaction["asset"]["signature"]["publicKey"], actual.Asset["signature"]["publicKey"]); // special case as the type 1 transaction itself has no recipientId Assert.AreEqual(Address.FromPublicKey(PublicKey.FromHex(actual.SenderPublicKey)), actual.RecipientId); }