public static RevokeSponsorshipOpSigner Decode(XdrDataInputStream stream)
            {
                RevokeSponsorshipOpSigner decodedRevokeSponsorshipOpSigner = new RevokeSponsorshipOpSigner();

                decodedRevokeSponsorshipOpSigner.AccountID = AccountID.Decode(stream);
                decodedRevokeSponsorshipOpSigner.SignerKey = SignerKey.Decode(stream);
                return(decodedRevokeSponsorshipOpSigner);
            }
        public static void Encode(XdrDataOutputStream stream, RevokeSponsorshipOp encodedRevokeSponsorshipOp)
        {
            stream.WriteInt((int)encodedRevokeSponsorshipOp.Discriminant.InnerValue);
            switch (encodedRevokeSponsorshipOp.Discriminant.InnerValue)
            {
            case RevokeSponsorshipType.RevokeSponsorshipTypeEnum.REVOKE_SPONSORSHIP_LEDGER_ENTRY:
                LedgerKey.Encode(stream, encodedRevokeSponsorshipOp.LedgerKey);
                break;

            case RevokeSponsorshipType.RevokeSponsorshipTypeEnum.REVOKE_SPONSORSHIP_SIGNER:
                RevokeSponsorshipOpSigner.Encode(stream, encodedRevokeSponsorshipOp.Signer);
                break;
            }
        }
        public static RevokeSponsorshipOp Decode(XdrDataInputStream stream)
        {
            RevokeSponsorshipOp   decodedRevokeSponsorshipOp = new RevokeSponsorshipOp();
            RevokeSponsorshipType discriminant = RevokeSponsorshipType.Decode(stream);

            decodedRevokeSponsorshipOp.Discriminant = discriminant;
            switch (decodedRevokeSponsorshipOp.Discriminant.InnerValue)
            {
            case RevokeSponsorshipType.RevokeSponsorshipTypeEnum.REVOKE_SPONSORSHIP_LEDGER_ENTRY:
                decodedRevokeSponsorshipOp.LedgerKey = LedgerKey.Decode(stream);
                break;

            case RevokeSponsorshipType.RevokeSponsorshipTypeEnum.REVOKE_SPONSORSHIP_SIGNER:
                decodedRevokeSponsorshipOp.Signer = RevokeSponsorshipOpSigner.Decode(stream);
                break;
            }
            return(decodedRevokeSponsorshipOp);
        }
 public static void Encode(XdrDataOutputStream stream, RevokeSponsorshipOpSigner encodedRevokeSponsorshipOpSigner)
 {
     AccountID.Encode(stream, encodedRevokeSponsorshipOpSigner.AccountID);
     SignerKey.Encode(stream, encodedRevokeSponsorshipOpSigner.SignerKey);
 }