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());
        }
예제 #2
0
        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);
        }
예제 #5
0
        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> >());
        }