public static TransactionMeta Decode(XdrDataInputStream stream)
        {
            TransactionMeta decodedTransactionMeta = new TransactionMeta();
            int             discriminant           = stream.ReadInt();

            decodedTransactionMeta.Discriminant = discriminant;

            switch (decodedTransactionMeta.Discriminant)
            {
            case 0:
                int operationssize = stream.ReadInt();
                decodedTransactionMeta.Operations = new OperationMeta[operationssize];

                for (int i = 0; i < operationssize; i++)
                {
                    decodedTransactionMeta.Operations[i] = OperationMeta.Decode(stream);
                }

                break;

            case 1:
                decodedTransactionMeta.V1 = TransactionMetaV1.Decode(stream);
                break;
            }

            return(decodedTransactionMeta);
        }
        public static TransactionMetaV1 Decode(XdrDataInputStream stream)
        {
            TransactionMetaV1 decodedTransactionMetaV1 = new TransactionMetaV1();

            decodedTransactionMetaV1.TxChanges = LedgerEntryChanges.Decode(stream);
            int operationssize = stream.ReadInt();

            decodedTransactionMetaV1.Operations = new OperationMeta[operationssize];
            for (int i = 0; i < operationssize; i++)
            {
                decodedTransactionMetaV1.Operations[i] = OperationMeta.Decode(stream);
            }
            return(decodedTransactionMetaV1);
        }
        public static TransactionMetaV2 Decode(XdrDataInputStream stream)
        {
            TransactionMetaV2 decodedTransactionMetaV2 = new TransactionMetaV2();

            decodedTransactionMetaV2.TxChangesBefore = LedgerEntryChanges.Decode(stream);
            int operationssize = stream.ReadInt();

            decodedTransactionMetaV2.Operations = new OperationMeta[operationssize];
            for (int i = 0; i < operationssize; i++)
            {
                decodedTransactionMetaV2.Operations[i] = OperationMeta.Decode(stream);
            }
            decodedTransactionMetaV2.TxChangesAfter = LedgerEntryChanges.Decode(stream);
            return(decodedTransactionMetaV2);
        }
Example #4
0
        public static TransactionMeta Decode(IByteReader stream)
        {
            TransactionMeta decodedTransactionMeta = new TransactionMeta();

            decodedTransactionMeta.Discriminant = XdrEncoding.DecodeInt32(stream);
            switch (decodedTransactionMeta.Discriminant)
            {
            case 0:
                int operationssize = XdrEncoding.DecodeInt32(stream);
                decodedTransactionMeta.Operations = new OperationMeta[operationssize];
                for (int i = 0; i < operationssize; i++)
                {
                    decodedTransactionMeta.Operations[i] = OperationMeta.Decode(stream);
                }
                break;
            }
            return(decodedTransactionMeta);
        }
        public static TransactionMeta Decode(XdrDataInputStream stream)
        {
            var decodedTransactionMeta = new TransactionMeta();
            var discriminant           = stream.ReadInt();

            decodedTransactionMeta.Discriminant = discriminant;
            switch (decodedTransactionMeta.Discriminant)
            {
            case 0:
                var operationssize = stream.ReadInt();
                decodedTransactionMeta.Operations = new OperationMeta[operationssize];
                for (var i = 0; i < operationssize; i++)
                {
                    decodedTransactionMeta.Operations[i] = OperationMeta.Decode(stream);
                }
                break;
            }
            return(decodedTransactionMeta);
        }