public static void Encode(XdrDataOutputStream stream, TransactionSignaturePayloadTaggedTransaction encodedTransactionSignaturePayloadTaggedTransaction)
 {
     stream.WriteInt((int)encodedTransactionSignaturePayloadTaggedTransaction.Discriminant.InnerValue);
     switch (encodedTransactionSignaturePayloadTaggedTransaction.Discriminant.InnerValue)
     {
     case EnvelopeType.EnvelopeTypeEnum.ENVELOPE_TYPE_TX:
         Transaction.Encode(stream, encodedTransactionSignaturePayloadTaggedTransaction.Tx);
         break;
     }
 }
        public static void Encode(XdrDataOutputStream stream, TransactionV1Envelope encodedTransactionV1Envelope)
        {
            Transaction.Encode(stream, encodedTransactionV1Envelope.Tx);
            int signaturessize = encodedTransactionV1Envelope.Signatures.Length;

            stream.WriteInt(signaturessize);
            for (int i = 0; i < signaturessize; i++)
            {
                DecoratedSignature.Encode(stream, encodedTransactionV1Envelope.Signatures[i]);
            }
        }