public static void Encode(XdrDataOutputStream stream, OperationResultTr encodedOperationResultTr) { stream.WriteInt((int)encodedOperationResultTr.Discriminant.InnerValue); switch (encodedOperationResultTr.Discriminant.InnerValue) { case OperationType.OperationTypeEnum.CREATE_ACCOUNT: CreateAccountResult.Encode(stream, encodedOperationResultTr.CreateAccountResult); break; case OperationType.OperationTypeEnum.PAYMENT: PaymentResult.Encode(stream, encodedOperationResultTr.PaymentResult); break; case OperationType.OperationTypeEnum.PATH_PAYMENT: PathPaymentResult.Encode(stream, encodedOperationResultTr.PathPaymentResult); break; case OperationType.OperationTypeEnum.MANAGE_OFFER: ManageOfferResult.Encode(stream, encodedOperationResultTr.ManageOfferResult); break; case OperationType.OperationTypeEnum.CREATE_PASSIVE_OFFER: ManageOfferResult.Encode(stream, encodedOperationResultTr.CreatePassiveOfferResult); break; case OperationType.OperationTypeEnum.SET_OPTIONS: SetOptionsResult.Encode(stream, encodedOperationResultTr.SetOptionsResult); break; case OperationType.OperationTypeEnum.CHANGE_TRUST: ChangeTrustResult.Encode(stream, encodedOperationResultTr.ChangeTrustResult); break; case OperationType.OperationTypeEnum.ALLOW_TRUST: AllowTrustResult.Encode(stream, encodedOperationResultTr.AllowTrustResult); break; case OperationType.OperationTypeEnum.ACCOUNT_MERGE: AccountMergeResult.Encode(stream, encodedOperationResultTr.AccountMergeResult); break; case OperationType.OperationTypeEnum.INFLATION: InflationResult.Encode(stream, encodedOperationResultTr.InflationResult); break; case OperationType.OperationTypeEnum.MANAGE_DATA: ManageDataResult.Encode(stream, encodedOperationResultTr.ManageDataResult); break; case OperationType.OperationTypeEnum.BUMP_SEQUENCE: BumpSequenceResult.Encode(stream, encodedOperationResultTr.BumpSeqResult); break; } }