public void Should_Deserialize_The_Transaction_With_A_Passphrase() { var fixture = TestHelper.ReadTransactionFixture("delegate_registration", "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"]["delegate"]["username"], actual.Asset["delegate"]["username"]); Assert.IsTrue(actual.Verify()); }
public void Should_Deserialize_The_Transaction_With_A_Passphrase_And_A_Vendorfield() { var fixture = TestHelper.ReadTransactionFixture("transfer", "passphrase-with-vendor-field"); 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(UInt32.MinValue, actual.Expiration); Assert.AreEqual((string)transaction["recipientId"], actual.RecipientId); Assert.AreEqual((string)transaction["signature"], actual.Signature); Assert.AreEqual((string)transaction["vendorField"], actual.VendorField); Assert.AreEqual((string)transaction["id"], actual.Id); Assert.IsTrue(actual.Verify()); }
public void Should_Deserialize_The_Transaction_With_A_Passphrase() { var fixture = TestHelper.ReadTransactionFixture("multi_signature_registration", "passphrase"); var transaction = fixture["data"]; var actual = new Crypto.Transactions.Deserializer(fixture["serialized"]).Deserialize(); Assert.AreEqual(1, actual.Version); Assert.AreEqual(23, 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((byte)transaction["asset"]["multisignature"]["min"], actual.Asset["multisignature"]["min"]); Assert.AreEqual((byte)transaction["asset"]["multisignature"]["lifetime"], actual.Asset["multisignature"]["lifetime"]); Assert.IsTrue(actual.Verify()); CollectionAssert.AreEqual(transaction["asset"]["multisignature"]["keysgroup"].ToObject <List <string> >(), actual.Asset["multisignature"]["keysgroup"]); }
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"]); Assert.IsTrue(actual.Verify()); // special case as the type 1 transaction itself has no recipientId Assert.AreEqual(Address.FromPublicKey(PublicKey.FromHex(actual.SenderPublicKey)), actual.RecipientId); }
public void Should_Deserialize_The_Transaction_With_A_Passphrase() { var fixture = TestHelper.ReadTransactionFixture("vote", "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(UInt32.MinValue, actual.Expiration); Assert.AreEqual((string)transaction["recipientId"], actual.RecipientId); Assert.AreEqual((string)transaction["signature"], actual.Signature); Assert.AreEqual((string)transaction["id"], actual.Id); Assert.IsTrue(actual.Verify()); CollectionAssert.AreEqual(actual.Asset["votes"], transaction["asset"]["votes"].ToObject <List <string> >()); }