Beispiel #1
0
            public static OperationResultTr Decode(XdrDataInputStream stream)
            {
                OperationResultTr decodedOperationResultTr = new OperationResultTr();
                OperationType     discriminant             = OperationType.Decode(stream);

                decodedOperationResultTr.Discriminant = discriminant;

                switch (decodedOperationResultTr.Discriminant.InnerValue)
                {
                case OperationType.OperationTypeEnum.CREATE_ACCOUNT:
                    decodedOperationResultTr.CreateAccountResult = CreateAccountResult.Decode(stream);
                    break;

                case OperationType.OperationTypeEnum.PAYMENT:
                    decodedOperationResultTr.PaymentResult = PaymentResult.Decode(stream);
                    break;

                case OperationType.OperationTypeEnum.PATH_PAYMENT:
                    decodedOperationResultTr.PathPaymentResult = PathPaymentResult.Decode(stream);
                    break;

                case OperationType.OperationTypeEnum.MANAGE_OFFER:
                    decodedOperationResultTr.ManageOfferResult = ManageOfferResult.Decode(stream);
                    break;

                case OperationType.OperationTypeEnum.CREATE_PASSIVE_OFFER:
                    decodedOperationResultTr.CreatePassiveOfferResult = ManageOfferResult.Decode(stream);
                    break;

                case OperationType.OperationTypeEnum.SET_OPTIONS:
                    decodedOperationResultTr.SetOptionsResult = SetOptionsResult.Decode(stream);
                    break;

                case OperationType.OperationTypeEnum.CHANGE_TRUST:
                    decodedOperationResultTr.ChangeTrustResult = ChangeTrustResult.Decode(stream);
                    break;

                case OperationType.OperationTypeEnum.ALLOW_TRUST:
                    decodedOperationResultTr.AllowTrustResult = AllowTrustResult.Decode(stream);
                    break;

                case OperationType.OperationTypeEnum.ACCOUNT_MERGE:
                    decodedOperationResultTr.AccountMergeResult = AccountMergeResult.Decode(stream);
                    break;

                case OperationType.OperationTypeEnum.INFLATION:
                    decodedOperationResultTr.InflationResult = InflationResult.Decode(stream);
                    break;

                case OperationType.OperationTypeEnum.MANAGE_DATA:
                    decodedOperationResultTr.ManageDataResult = ManageDataResult.Decode(stream);
                    break;

                case OperationType.OperationTypeEnum.BUMP_SEQUENCE:
                    decodedOperationResultTr.BumpSeqResult = BumpSequenceResult.Decode(stream);
                    break;
                }

                return(decodedOperationResultTr);
            }
Beispiel #2
0
 public EzCreateResult(
     CreateAccountResult result
     )
 {
     if (result.item != null)
     {
         Item = new EzAccount(result.item);
     }
 }
 public static void Encode(IByteWriter stream, CreateAccountResult encodedCreateAccountResult) {
 XdrEncoding.EncodeInt32((int)encodedCreateAccountResult.Discriminant.InnerValue, stream);
 switch (encodedCreateAccountResult.Discriminant.InnerValue) {
 case CreateAccountResultCode.CreateAccountResultCodeEnum.CREATE_ACCOUNT_SUCCESS:
 break;
 default:
 break;
 }
 }
Beispiel #4
0
        public static void Encode(XdrDataOutputStream stream, CreateAccountResult encodedCreateAccountResult)
        {
            stream.WriteInt((int)encodedCreateAccountResult.Discriminant.InnerValue);

            switch (encodedCreateAccountResult.Discriminant.InnerValue)
            {
            case CreateAccountResultCode.CreateAccountResultCodeEnum.CREATE_ACCOUNT_SUCCESS:
                break;
            }
        }
Beispiel #5
0
            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;
                }
            }
Beispiel #6
0
 private async Task RefreshLevy(CreateAccountResult returnValue, string[] emprefs)
 {
     foreach (var empref in emprefs)
     {
         await _messagePublisher.PublishAsync(new EmployerRefreshLevyQueueMessage
         {
             AccountId = returnValue.AccountId,
             PayeRef   = empref
         });
     }
 }
 public static CreateAccountResult Decode(IByteReader stream) {
   CreateAccountResult decodedCreateAccountResult = new CreateAccountResult();
 decodedCreateAccountResult.Discriminant = CreateAccountResultCode.Decode(stream);
 switch (decodedCreateAccountResult.Discriminant.InnerValue) {
 case CreateAccountResultCode.CreateAccountResultCodeEnum.CREATE_ACCOUNT_SUCCESS:
 break;
 default:
 break;
 }
   return decodedCreateAccountResult;
 }
Beispiel #8
0
        public static void Encode(IByteWriter stream, CreateAccountResult encodedCreateAccountResult)
        {
            XdrEncoding.EncodeInt32((int)encodedCreateAccountResult.Discriminant.InnerValue, stream);
            switch (encodedCreateAccountResult.Discriminant.InnerValue)
            {
            case CreateAccountResultCode.CreateAccountResultCodeEnum.CREATE_ACCOUNT_SUCCESS:
                break;

            default:
                break;
            }
        }
Beispiel #9
0
        public static byte[] CreateAccountResultMessage(CreateAccountResult result)
        {
            FlatBufferBuilder bb = new FlatBufferBuilder(2);

            var messageOffset = MessagesInternal.CreateAccountResultMessage.CreateCreateAccountResultMessage(bb, (MessagesInternal.CreateAccountResult)result);

            var baseOffset = MessagesInternal.MessageBase.CreateMessageBase(bb, MessagesInternal.MessageContainer.CreateAccountResultMessage, messageOffset.Value);

            bb.Finish(baseOffset.Value);

            return(PrefixMessageLength(bb));
        }
Beispiel #10
0
        public static CreateAccountResult Decode(XdrDataInputStream stream)
        {
            CreateAccountResult     decodedCreateAccountResult = new CreateAccountResult();
            CreateAccountResultCode discriminant = CreateAccountResultCode.Decode(stream);

            decodedCreateAccountResult.Discriminant = discriminant;

            switch (decodedCreateAccountResult.Discriminant.InnerValue)
            {
            case CreateAccountResultCode.CreateAccountResultCodeEnum.CREATE_ACCOUNT_SUCCESS:
                break;
            }

            return(decodedCreateAccountResult);
        }
Beispiel #11
0
        public static CreateAccountResult Decode(IByteReader stream)
        {
            CreateAccountResult decodedCreateAccountResult = new CreateAccountResult();

            decodedCreateAccountResult.Discriminant = CreateAccountResultCode.Decode(stream);
            switch (decodedCreateAccountResult.Discriminant.InnerValue)
            {
            case CreateAccountResultCode.CreateAccountResultCodeEnum.CREATE_ACCOUNT_SUCCESS:
                break;

            default:
                break;
            }
            return(decodedCreateAccountResult);
        }
Beispiel #12
0
        void IRequest.Execute(Session session)
        {
            CreateAccountResult createAccountResult;

            if (!Security.IsStruckOut(session.GetIPAddress()))
            {
                // Check if the username is available
                if (!Database.DoesUsernameExist(Username))
                {
                    if (Security.IsUsernameWithinRules(Username))
                    {
                        createAccountResult = new CreateAccountResult(CreateAccountResult.ResultType.Success);

                        // Decrypt the password
                        string decryptedPassword = Security.DecryptPassword(Password);

                        // Hash it
                        string passwordHash = Security.CreatePasswordHash(Encoding.ASCII.GetBytes(decryptedPassword));

                        // Store user/password hash
                        Database.CreateAccount(Username, passwordHash);

                        Log.AccountCreationAttempted(session, Username);
                    }
                    else
                    {
                        Log.AccountCreationAttempted(session);

                        return;
                    }
                }
                else
                {
                    createAccountResult = new CreateAccountResult(CreateAccountResult.ResultType.AlreadyExists);

                    Log.AccountCreationAttempted(session);
                }

                Security.Strike(session.GetIPAddress());
            }
            else
            {
                createAccountResult = new CreateAccountResult(CreateAccountResult.ResultType.TooManyAttempts);
            }

            session.SendPost(createAccountResult);
        }
Beispiel #13
0
        public static Result CreateAccount(TcpClient tcpClient, string username, string password)
        {
            IRequest request = new CreateAccount(username, Encoding.ASCII.GetBytes(password));

            // Get Json from sending request
            string content = JsonRequestRoundtrip(tcpClient, request);

            // Get post
            CreateAccountResult post = JsonSerializer.Deserialize <CreateAccountResult>(content);

            if (post.Result == CreateAccountResult.ResultType.Success)
            {
                return(Result.Success);
            }
            else if (post.Result == CreateAccountResult.ResultType.TooManyAttempts)
            {
                return(Result.TooManyAttempts);
            }
            else
            {
                return(Result.Failure);
            }
        }
            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_STRICT_RECEIVE:
                    PathPaymentStrictReceiveResult.Encode(stream, encodedOperationResultTr.PathPaymentStrictReceiveResult);
                    break;

                case OperationType.OperationTypeEnum.MANAGE_SELL_OFFER:
                    ManageSellOfferResult.Encode(stream, encodedOperationResultTr.ManageSellOfferResult);
                    break;

                case OperationType.OperationTypeEnum.CREATE_PASSIVE_SELL_OFFER:
                    ManageSellOfferResult.Encode(stream, encodedOperationResultTr.CreatePassiveSellOfferResult);
                    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;

                case OperationType.OperationTypeEnum.MANAGE_BUY_OFFER:
                    ManageBuyOfferResult.Encode(stream, encodedOperationResultTr.ManageBuyOfferResult);
                    break;

                case OperationType.OperationTypeEnum.PATH_PAYMENT_STRICT_SEND:
                    PathPaymentStrictSendResult.Encode(stream, encodedOperationResultTr.PathPaymentStrictSendResult);
                    break;

                case OperationType.OperationTypeEnum.CREATE_CLAIMABLE_BALANCE:
                    CreateClaimableBalanceResult.Encode(stream, encodedOperationResultTr.CreateClaimableBalanceResult);
                    break;

                case OperationType.OperationTypeEnum.CLAIM_CLAIMABLE_BALANCE:
                    ClaimClaimableBalanceResult.Encode(stream, encodedOperationResultTr.ClaimClaimableBalanceResult);
                    break;

                case OperationType.OperationTypeEnum.BEGIN_SPONSORING_FUTURE_RESERVES:
                    BeginSponsoringFutureReservesResult.Encode(stream, encodedOperationResultTr.BeginSponsoringFutureReservesResult);
                    break;

                case OperationType.OperationTypeEnum.END_SPONSORING_FUTURE_RESERVES:
                    EndSponsoringFutureReservesResult.Encode(stream, encodedOperationResultTr.EndSponsoringFutureReservesResult);
                    break;

                case OperationType.OperationTypeEnum.REVOKE_SPONSORSHIP:
                    RevokeSponsorshipResult.Encode(stream, encodedOperationResultTr.RevokeSponsorshipResult);
                    break;
                }
            }
 public static Offset <CreateAccountResultMessage> CreateCreateAccountResultMessage(FlatBufferBuilder builder,
                                                                                    CreateAccountResult result = CreateAccountResult.Success)
 {
     builder.StartObject(1);
     CreateAccountResultMessage.AddResult(builder, result);
     return(CreateAccountResultMessage.EndCreateAccountResultMessage(builder));
 }
Beispiel #16
0
        private async Task CreateAuditEntries(CreateAccountCommand message, CreateAccountResult returnValue, string hashedAccountId, User user)
        {
            //Account
            await _mediator.SendAsync(new CreateAuditCommand
            {
                EasAuditMessage = new EasAuditMessage
                {
                    Category          = "CREATED",
                    Description       = $"Account {message.OrganisationName} created with id {returnValue.AccountId}",
                    ChangedProperties = new List <PropertyUpdate>
                    {
                        PropertyUpdate.FromLong("AccountId", returnValue.AccountId),
                        PropertyUpdate.FromString("HashedId", hashedAccountId),
                        PropertyUpdate.FromString("Name", message.OrganisationName),
                        PropertyUpdate.FromDateTime("CreatedDate", DateTime.UtcNow),
                    },
                    AffectedEntity = new Entity {
                        Type = "Account", Id = returnValue.AccountId.ToString()
                    },
                    RelatedEntities = new List <Entity>()
                }
            });

            //LegalEntity
            var changedProperties = new List <PropertyUpdate>
            {
                PropertyUpdate.FromLong("Id", returnValue.LegalEntityId),
                PropertyUpdate.FromString("Name", message.OrganisationName),
                PropertyUpdate.FromString("Code", message.OrganisationReferenceNumber),
                PropertyUpdate.FromString("RegisteredAddress", message.OrganisationAddress),
                PropertyUpdate.FromString("OrganisationType", message.OrganisationType.ToString()),
                PropertyUpdate.FromString("PublicSectorDataSource", message.PublicSectorDataSource.ToString()),
                PropertyUpdate.FromString("Sector", message.Sector)
            };

            if (message.OrganisationDateOfInception != null)
            {
                changedProperties.Add(PropertyUpdate.FromDateTime("DateOfIncorporation", message.OrganisationDateOfInception.Value));
            }

            await _mediator.SendAsync(new CreateAuditCommand
            {
                EasAuditMessage = new EasAuditMessage
                {
                    Category          = "CREATED",
                    Description       = $"Legal Entity {message.OrganisationName} created of type {message.OrganisationType} with id {returnValue.LegalEntityId}",
                    ChangedProperties = changedProperties,
                    AffectedEntity    = new Entity {
                        Type = "LegalEntity", Id = returnValue.LegalEntityId.ToString()
                    },
                    RelatedEntities = new List <Entity>()
                }
            });

            //EmployerAgreement
            await _mediator.SendAsync(new CreateAuditCommand
            {
                EasAuditMessage = new EasAuditMessage
                {
                    Category          = "CREATED",
                    Description       = $"Employer Agreement Created for {message.OrganisationName} legal entity id {returnValue.LegalEntityId}",
                    ChangedProperties = new List <PropertyUpdate>
                    {
                        PropertyUpdate.FromLong("Id", returnValue.EmployerAgreementId),
                        PropertyUpdate.FromLong("LegalEntityId", returnValue.LegalEntityId),
                        PropertyUpdate.FromString("TemplateId", hashedAccountId),
                        PropertyUpdate.FromInt("StatusId", 2),
                    },
                    RelatedEntities = new List <Entity> {
                        new Entity {
                            Id = returnValue.EmployerAgreementId.ToString(), Type = "LegalEntity"
                        }
                    },
                    AffectedEntity = new Entity {
                        Type = "EmployerAgreement", Id = returnValue.EmployerAgreementId.ToString()
                    }
                }
            });

            //AccountEmployerAgreement Account Employer Agreement
            await _mediator.SendAsync(new CreateAuditCommand
            {
                EasAuditMessage = new EasAuditMessage
                {
                    Category          = "CREATED",
                    Description       = $"Employer Agreement Created for {message.OrganisationName} legal entity id {returnValue.LegalEntityId}",
                    ChangedProperties = new List <PropertyUpdate>
                    {
                        PropertyUpdate.FromLong("AccountId", returnValue.AccountId),
                        PropertyUpdate.FromLong("EmployerAgreementId", returnValue.EmployerAgreementId),
                    },
                    RelatedEntities = new List <Entity>
                    {
                        new Entity {
                            Id = returnValue.EmployerAgreementId.ToString(), Type = "LegalEntity"
                        },
                        new Entity {
                            Id = returnValue.AccountId.ToString(), Type = "Account"
                        }
                    },
                    AffectedEntity = new Entity {
                        Type = "AccountEmployerAgreement", Id = returnValue.EmployerAgreementId.ToString()
                    }
                }
            });

            //Paye
            await _mediator.SendAsync(new CreateAuditCommand
            {
                EasAuditMessage = new EasAuditMessage
                {
                    Category          = "CREATED",
                    Description       = $"Paye scheme {message.PayeReference} added to account {returnValue.AccountId}",
                    ChangedProperties = new List <PropertyUpdate>
                    {
                        PropertyUpdate.FromString("Ref", message.PayeReference),
                        PropertyUpdate.FromString("AccessToken", message.AccessToken),
                        PropertyUpdate.FromString("RefreshToken", message.RefreshToken),
                        PropertyUpdate.FromString("Name", message.EmployerRefName)
                    },
                    RelatedEntities = new List <Entity> {
                        new Entity {
                            Id = returnValue.AccountId.ToString(), Type = "Account"
                        }
                    },
                    AffectedEntity = new Entity {
                        Type = "Paye", Id = message.PayeReference
                    }
                }
            });

            //Membership Account
            await _mediator.SendAsync(new CreateAuditCommand
            {
                EasAuditMessage = new EasAuditMessage
                {
                    Category          = "CREATED",
                    Description       = $"User {message.ExternalUserId} added to account {returnValue.AccountId} as owner",
                    ChangedProperties = new List <PropertyUpdate>
                    {
                        PropertyUpdate.FromLong("AccountId", returnValue.AccountId),
                        PropertyUpdate.FromString("UserId", message.ExternalUserId),
                        PropertyUpdate.FromString("RoleId", Role.Owner.ToString()),
                        PropertyUpdate.FromDateTime("CreatedDate", DateTime.UtcNow)
                    },
                    RelatedEntities = new List <Entity>
                    {
                        new Entity {
                            Id = returnValue.AccountId.ToString(), Type = "Account"
                        },
                        new Entity {
                            Id = user.Id.ToString(), Type = "User"
                        }
                    },
                    AffectedEntity = new Entity {
                        Type = "Membership", Id = message.ExternalUserId
                    }
                }
            });
        }
 public static void AddResult(FlatBufferBuilder builder, CreateAccountResult result)
 {
     builder.AddSbyte(0, (sbyte)result, 0);
 }
Beispiel #18
0
 private async Task AddPayeSchemes(CreateAccountCommand message, string[] emprefs, CreateAccountResult returnValue)
 {
     if (emprefs.Length > 1)
     {
         for (var i = 1; i < emprefs.Length; i++)
         {
             await _accountRepository.AddPayeToAccount(new Paye { AccountId = returnValue.AccountId, EmpRef = emprefs[i], AccessToken = message.AccessToken, RefreshToken = message.RefreshToken });
         }
     }
 }
            public static OperationResultTr Decode(XdrDataInputStream stream)
            {
                OperationResultTr decodedOperationResultTr = new OperationResultTr();
                OperationType     discriminant             = OperationType.Decode(stream);

                decodedOperationResultTr.Discriminant = discriminant;
                switch (decodedOperationResultTr.Discriminant.InnerValue)
                {
                case OperationType.OperationTypeEnum.CREATE_ACCOUNT:
                    decodedOperationResultTr.CreateAccountResult = CreateAccountResult.Decode(stream);
                    break;

                case OperationType.OperationTypeEnum.PAYMENT:
                    decodedOperationResultTr.PaymentResult = PaymentResult.Decode(stream);
                    break;

                case OperationType.OperationTypeEnum.PATH_PAYMENT_STRICT_RECEIVE:
                    decodedOperationResultTr.PathPaymentStrictReceiveResult = PathPaymentStrictReceiveResult.Decode(stream);
                    break;

                case OperationType.OperationTypeEnum.MANAGE_SELL_OFFER:
                    decodedOperationResultTr.ManageSellOfferResult = ManageSellOfferResult.Decode(stream);
                    break;

                case OperationType.OperationTypeEnum.CREATE_PASSIVE_SELL_OFFER:
                    decodedOperationResultTr.CreatePassiveSellOfferResult = ManageSellOfferResult.Decode(stream);
                    break;

                case OperationType.OperationTypeEnum.SET_OPTIONS:
                    decodedOperationResultTr.SetOptionsResult = SetOptionsResult.Decode(stream);
                    break;

                case OperationType.OperationTypeEnum.CHANGE_TRUST:
                    decodedOperationResultTr.ChangeTrustResult = ChangeTrustResult.Decode(stream);
                    break;

                case OperationType.OperationTypeEnum.ALLOW_TRUST:
                    decodedOperationResultTr.AllowTrustResult = AllowTrustResult.Decode(stream);
                    break;

                case OperationType.OperationTypeEnum.ACCOUNT_MERGE:
                    decodedOperationResultTr.AccountMergeResult = AccountMergeResult.Decode(stream);
                    break;

                case OperationType.OperationTypeEnum.INFLATION:
                    decodedOperationResultTr.InflationResult = InflationResult.Decode(stream);
                    break;

                case OperationType.OperationTypeEnum.MANAGE_DATA:
                    decodedOperationResultTr.ManageDataResult = ManageDataResult.Decode(stream);
                    break;

                case OperationType.OperationTypeEnum.BUMP_SEQUENCE:
                    decodedOperationResultTr.BumpSeqResult = BumpSequenceResult.Decode(stream);
                    break;

                case OperationType.OperationTypeEnum.MANAGE_BUY_OFFER:
                    decodedOperationResultTr.ManageBuyOfferResult = ManageBuyOfferResult.Decode(stream);
                    break;

                case OperationType.OperationTypeEnum.PATH_PAYMENT_STRICT_SEND:
                    decodedOperationResultTr.PathPaymentStrictSendResult = PathPaymentStrictSendResult.Decode(stream);
                    break;

                case OperationType.OperationTypeEnum.CREATE_CLAIMABLE_BALANCE:
                    decodedOperationResultTr.CreateClaimableBalanceResult = CreateClaimableBalanceResult.Decode(stream);
                    break;

                case OperationType.OperationTypeEnum.CLAIM_CLAIMABLE_BALANCE:
                    decodedOperationResultTr.ClaimClaimableBalanceResult = ClaimClaimableBalanceResult.Decode(stream);
                    break;

                case OperationType.OperationTypeEnum.BEGIN_SPONSORING_FUTURE_RESERVES:
                    decodedOperationResultTr.BeginSponsoringFutureReservesResult = BeginSponsoringFutureReservesResult.Decode(stream);
                    break;

                case OperationType.OperationTypeEnum.END_SPONSORING_FUTURE_RESERVES:
                    decodedOperationResultTr.EndSponsoringFutureReservesResult = EndSponsoringFutureReservesResult.Decode(stream);
                    break;

                case OperationType.OperationTypeEnum.REVOKE_SPONSORSHIP:
                    decodedOperationResultTr.RevokeSponsorshipResult = RevokeSponsorshipResult.Decode(stream);
                    break;
                }
                return(decodedOperationResultTr);
            }