public static SimplePaymentResult Decode(XdrDataInputStream stream)
        {
            SimplePaymentResult decodedSimplePaymentResult = new SimplePaymentResult();

            decodedSimplePaymentResult.Destination = AccountID.Decode(stream);
            decodedSimplePaymentResult.Asset       = Asset.Decode(stream);
            decodedSimplePaymentResult.Amount      = Int64.Decode(stream);
            return(decodedSimplePaymentResult);
        }
            public static void Encode(XdrDataOutputStream stream, PathPaymentResultSuccess encodedPathPaymentResultSuccess)
            {
                int offerssize = encodedPathPaymentResultSuccess.Offers.Length;

                stream.WriteInt(offerssize);
                for (int i = 0; i < offerssize; i++)
                {
                    ClaimOfferAtom.Encode(stream, encodedPathPaymentResultSuccess.Offers[i]);
                }
                SimplePaymentResult.Encode(stream, encodedPathPaymentResultSuccess.Last);
            }
            public static PathPaymentResultSuccess Decode(XdrDataInputStream stream)
            {
                PathPaymentResultSuccess decodedPathPaymentResultSuccess = new PathPaymentResultSuccess();
                int offerssize = stream.ReadInt();

                decodedPathPaymentResultSuccess.Offers = new ClaimOfferAtom[offerssize];
                for (int i = 0; i < offerssize; i++)
                {
                    decodedPathPaymentResultSuccess.Offers[i] = ClaimOfferAtom.Decode(stream);
                }
                decodedPathPaymentResultSuccess.Last = SimplePaymentResult.Decode(stream);
                return(decodedPathPaymentResultSuccess);
            }
 public static void Encode(XdrDataOutputStream stream, SimplePaymentResult encodedSimplePaymentResult)
 {
     AccountID.Encode(stream, encodedSimplePaymentResult.Destination);
     Asset.Encode(stream, encodedSimplePaymentResult.Asset);
     Int64.Encode(stream, encodedSimplePaymentResult.Amount);
 }